diff --git a/app/build.gradle b/app/build.gradle
index 43af141..2065a25 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,10 +11,6 @@ android {
versionCode computeVersionCode()
versionName computeVersionName()
- // Branch.io key from local.properties or environment variable
- manifestPlaceholders = [
- BRANCH_KEY: readRawSecretOrNull('BRANCH_KEY') ?: "key_test_placeholder"
- ]
}
signingConfigs {
dev {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index efd4320..d4c8443 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -127,17 +127,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/java/io/novafoundation/nova/app/App.kt b/app/src/main/java/io/novafoundation/nova/app/App.kt
index 48060ea..c3b177b 100644
--- a/app/src/main/java/io/novafoundation/nova/app/App.kt
+++ b/app/src/main/java/io/novafoundation/nova/app/App.kt
@@ -15,7 +15,6 @@ import io.novafoundation.nova.common.di.FeatureContainer
import io.novafoundation.nova.common.resources.ContextManager
import io.novafoundation.nova.common.resources.LanguagesHolder
import io.novafoundation.nova.common.utils.coroutines.RootScope
-import io.novafoundation.nova.feature_deep_linking.presentation.handling.branchIo.BranchIOLinkHandler
import io.novafoundation.nova.feature_wallet_connect_impl.BuildConfig
import javax.inject.Inject
@@ -57,8 +56,6 @@ open class App : Application(), FeatureContainer {
appComponent.inject(this)
- BranchIOLinkHandler.Initializer.init(this)
-
initializeWalletConnect()
}
diff --git a/app/src/main/java/io/novafoundation/nova/app/root/di/RootDependencies.kt b/app/src/main/java/io/novafoundation/nova/app/root/di/RootDependencies.kt
index ec5522e..0861f02 100644
--- a/app/src/main/java/io/novafoundation/nova/app/root/di/RootDependencies.kt
+++ b/app/src/main/java/io/novafoundation/nova/app/root/di/RootDependencies.kt
@@ -42,7 +42,6 @@ import io.novafoundation.nova.feature_dapp_api.data.repository.BrowserTabExterna
import io.novafoundation.nova.feature_dapp_api.data.repository.DAppMetadataRepository
import io.novafoundation.nova.feature_dapp_api.di.deeplinks.DAppDeepLinks
import io.novafoundation.nova.feature_deep_linking.presentation.handling.PendingDeepLinkProvider
-import io.novafoundation.nova.feature_deep_linking.presentation.handling.branchIo.BranchIoLinkConverter
import io.novafoundation.nova.feature_deep_linking.presentation.handling.common.DeepLinkingPreferences
import io.novafoundation.nova.feature_gift_api.di.GiftDeepLinks
import io.novafoundation.nova.feature_governance_api.data.MutableGovernanceState
@@ -122,8 +121,6 @@ interface RootDependencies {
val deepLinkingPreferences: DeepLinkingPreferences
- val branchIoLinkConverter: BranchIoLinkConverter
-
val pendingDeepLinkProvider: PendingDeepLinkProvider
val multisigExtrinsicValidationRequestBus: MultisigExtrinsicValidationRequestBus
diff --git a/app/src/main/java/io/novafoundation/nova/app/root/di/deeplink/DeepLinksModule.kt b/app/src/main/java/io/novafoundation/nova/app/root/di/deeplink/DeepLinksModule.kt
index 6ce2e98..786bb01 100644
--- a/app/src/main/java/io/novafoundation/nova/app/root/di/deeplink/DeepLinksModule.kt
+++ b/app/src/main/java/io/novafoundation/nova/app/root/di/deeplink/DeepLinksModule.kt
@@ -12,8 +12,6 @@ import io.novafoundation.nova.feature_dapp_api.di.deeplinks.DAppDeepLinks
import io.novafoundation.nova.feature_deep_linking.presentation.handling.DeepLinkHandler
import io.novafoundation.nova.feature_deep_linking.presentation.handling.PendingDeepLinkProvider
import io.novafoundation.nova.feature_deep_linking.presentation.handling.RootDeepLinkHandler
-import io.novafoundation.nova.feature_deep_linking.presentation.handling.branchIo.BranchIOLinkHandler
-import io.novafoundation.nova.feature_deep_linking.presentation.handling.branchIo.BranchIoLinkConverter
import io.novafoundation.nova.feature_gift_api.di.GiftDeepLinks
import io.novafoundation.nova.feature_governance_api.di.deeplinks.GovernanceDeepLinks
import io.novafoundation.nova.feature_multisig_operations.di.deeplink.MultisigDeepLinks
@@ -65,11 +63,4 @@ class DeepLinksModule {
)
}
- @Provides
- @FeatureScope
- fun provideBranchIOLinkHandler(
- branchIoLinkConverter: BranchIoLinkConverter
- ): BranchIOLinkHandler {
- return BranchIOLinkHandler(branchIoLinkConverter)
- }
}
diff --git a/app/src/main/java/io/novafoundation/nova/app/root/presentation/RootActivity.kt b/app/src/main/java/io/novafoundation/nova/app/root/presentation/RootActivity.kt
index 252ac95..4160cc7 100644
--- a/app/src/main/java/io/novafoundation/nova/app/root/presentation/RootActivity.kt
+++ b/app/src/main/java/io/novafoundation/nova/app/root/presentation/RootActivity.kt
@@ -19,7 +19,6 @@ import io.novafoundation.nova.common.utils.systemCall.SystemCallExecutor
import io.novafoundation.nova.common.utils.updatePadding
import io.novafoundation.nova.common.view.bottomSheet.action.observeActionBottomSheet
import io.novafoundation.nova.common.view.dialog.dialog
-import io.novafoundation.nova.feature_deep_linking.presentation.handling.branchIo.BranchIOLinkHandler
import io.novafoundation.nova.feature_push_notifications.presentation.multisigsWarning.observeEnableMultisigPushesAlert
import io.novafoundation.nova.splash.presentation.SplashBackgroundHolder
@@ -36,9 +35,6 @@ class RootActivity : BaseActivity(), SplashB
@Inject
lateinit var contextManager: ContextManager
- @Inject
- lateinit var branchIOLinkHandler: BranchIOLinkHandler
-
override fun createBinding(): ActivityRootBinding {
return ActivityRootBinding.inflate(LayoutInflater.from(this))
}
@@ -92,7 +88,6 @@ class RootActivity : BaseActivity(), SplashB
super.onNewIntent(intent)
setIntent(intent)
- branchIOLinkHandler.onActivityNewIntent(this, intent)
processIntent(intent)
}
@@ -108,8 +103,6 @@ class RootActivity : BaseActivity(), SplashB
override fun onStart() {
super.onStart()
- branchIOLinkHandler.onActivityStart(this, viewModel::handleDeepLink)
-
viewModel.noticeInForeground()
}
diff --git a/build.gradle b/build.gradle
index 2c85f40..1e78e0f 100644
--- a/build.gradle
+++ b/build.gradle
@@ -220,8 +220,6 @@ buildscript {
swipeRefershLayout = "androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-alpha01"
- branchIo = "io.branch.sdk.android:library:5.18.0"
-
playServiceIdentifier = "com.google.android.gms:play-services-ads-identifier:18.2.0"
androidxWebKit = "androidx.webkit:webkit:1.14.0"
diff --git a/common/src/main/res/values-ku/strings.xml b/common/src/main/res/values-ku/strings.xml
index afd5f1d..daf3938 100644
--- a/common/src/main/res/values-ku/strings.xml
+++ b/common/src/main/res/values-ku/strings.xml
@@ -302,8 +302,6 @@
%s://polkadot/migration-accepted?key=%s
access Bluetooth
- pezkuwi-wallet.app.link
- pezkuwi-wallet-alternate.app.link
Press both buttons on yê te %s to approve addresses
Press confirm button on yê te %s to approve addresses
diff --git a/common/src/main/res/values/strings.xml b/common/src/main/res/values/strings.xml
index c299a4f..f614b97 100644
--- a/common/src/main/res/values/strings.xml
+++ b/common/src/main/res/values/strings.xml
@@ -2759,8 +2759,6 @@
Scam alert
Transfer details
Yesterday
- pezkuwi-wallet.app.link
- pezkuwi-wallet-alternate.app.link
Pezkuwi
Trust Score
diff --git a/feature-deep-linking/build.gradle b/feature-deep-linking/build.gradle
index 91c5f7f..f105e17 100644
--- a/feature-deep-linking/build.gradle
+++ b/feature-deep-linking/build.gradle
@@ -24,7 +24,6 @@ dependencies {
implementation androidDep
implementation materialDep
- implementation branchIo
implementation playServiceIdentifier
implementation coroutinesDep
diff --git a/feature-deep-linking/src/main/java/io/novafoundation/nova/feature_deep_linking/di/DeepLinkingFeatureApi.kt b/feature-deep-linking/src/main/java/io/novafoundation/nova/feature_deep_linking/di/DeepLinkingFeatureApi.kt
index 0230390..7744844 100644
--- a/feature-deep-linking/src/main/java/io/novafoundation/nova/feature_deep_linking/di/DeepLinkingFeatureApi.kt
+++ b/feature-deep-linking/src/main/java/io/novafoundation/nova/feature_deep_linking/di/DeepLinkingFeatureApi.kt
@@ -2,7 +2,6 @@ package io.novafoundation.nova.feature_deep_linking.di
import io.novafoundation.nova.feature_deep_linking.presentation.configuring.LinkBuilderFactory
import io.novafoundation.nova.feature_deep_linking.presentation.handling.PendingDeepLinkProvider
-import io.novafoundation.nova.feature_deep_linking.presentation.handling.branchIo.BranchIoLinkConverter
import io.novafoundation.nova.feature_deep_linking.presentation.handling.common.DeepLinkingPreferences
interface DeepLinkingFeatureApi {
@@ -10,7 +9,5 @@ interface DeepLinkingFeatureApi {
val pendingDeepLinkProvider: PendingDeepLinkProvider
- val branchIoLinkConverter: BranchIoLinkConverter
-
val linkBuilderFactory: LinkBuilderFactory
}
diff --git a/feature-deep-linking/src/main/java/io/novafoundation/nova/feature_deep_linking/di/DeepLinkingFeatureModule.kt b/feature-deep-linking/src/main/java/io/novafoundation/nova/feature_deep_linking/di/DeepLinkingFeatureModule.kt
index 67bff2a..4b84dcb 100644
--- a/feature-deep-linking/src/main/java/io/novafoundation/nova/feature_deep_linking/di/DeepLinkingFeatureModule.kt
+++ b/feature-deep-linking/src/main/java/io/novafoundation/nova/feature_deep_linking/di/DeepLinkingFeatureModule.kt
@@ -8,7 +8,6 @@ import io.novafoundation.nova.common.resources.ResourceManager
import io.novafoundation.nova.feature_deep_linking.R
import io.novafoundation.nova.feature_deep_linking.presentation.configuring.LinkBuilderFactory
import io.novafoundation.nova.feature_deep_linking.presentation.handling.PendingDeepLinkProvider
-import io.novafoundation.nova.feature_deep_linking.presentation.handling.branchIo.BranchIoLinkConverter
import io.novafoundation.nova.feature_deep_linking.presentation.handling.common.DeepLinkingPreferences
@Module
@@ -21,11 +20,7 @@ class DeepLinkingFeatureModule {
) = DeepLinkingPreferences(
deepLinkScheme = resourceManager.getString(R.string.deep_linking_scheme),
deepLinkHost = resourceManager.getString(R.string.deep_linking_host),
- appLinkHost = resourceManager.getString(R.string.app_link_host),
- branchIoLinkHosts = listOf(
- resourceManager.getString(R.string.branch_io_link_host),
- resourceManager.getString(R.string.branch_io_link_host_alternate)
- )
+ appLinkHost = resourceManager.getString(R.string.app_link_host)
)
@Provides
@@ -38,9 +33,4 @@ class DeepLinkingFeatureModule {
return PendingDeepLinkProvider(preferences)
}
- @Provides
- @FeatureScope
- fun provideBranchIoLinkConverter(
- deepLinkingPreferences: DeepLinkingPreferences
- ) = BranchIoLinkConverter(deepLinkingPreferences)
}
diff --git a/feature-deep-linking/src/main/java/io/novafoundation/nova/feature_deep_linking/presentation/configuring/LinkBuilder.kt b/feature-deep-linking/src/main/java/io/novafoundation/nova/feature_deep_linking/presentation/configuring/LinkBuilder.kt
index 26f31da..5ab67ac 100644
--- a/feature-deep-linking/src/main/java/io/novafoundation/nova/feature_deep_linking/presentation/configuring/LinkBuilder.kt
+++ b/feature-deep-linking/src/main/java/io/novafoundation/nova/feature_deep_linking/presentation/configuring/LinkBuilder.kt
@@ -2,7 +2,6 @@ package io.novafoundation.nova.feature_deep_linking.presentation.configuring
import android.net.Uri
import io.novafoundation.nova.common.utils.appendPathOrSkip
-import io.novafoundation.nova.feature_deep_linking.presentation.handling.branchIo.BranchIOConstants
import io.novafoundation.nova.feature_deep_linking.presentation.handling.common.DeepLinkingPreferences
interface LinkBuilder {
@@ -76,22 +75,26 @@ class AppLinkBuilderType(
private val deepLinkingPreferences: DeepLinkingPreferences
) : LinkBuilder {
+ private var action: String? = null
+ private var entity: String? = null
+ private var screen: String? = null
+
private val urlBuilder = Uri.Builder()
.scheme("https")
- .authority(deepLinkingPreferences.branchIoLinkHosts.first())
+ .authority(deepLinkingPreferences.appLinkHost)
override fun setAction(action: String): LinkBuilder {
- urlBuilder.appendQueryParameter(BranchIOConstants.ACTION_QUERY, action)
+ this.action = action
return this
}
override fun setEntity(entity: String): LinkBuilder {
- urlBuilder.appendQueryParameter(BranchIOConstants.ENTITY_QUERY, entity)
+ this.entity = entity
return this
}
override fun setScreen(screen: String): LinkBuilder {
- urlBuilder.appendQueryParameter(BranchIOConstants.SCREEN_QUERY, screen)
+ this.screen = screen
return this
}
@@ -101,7 +104,14 @@ class AppLinkBuilderType(
}
override fun build(): Uri {
- return urlBuilder.build()
+ val finalPath = Uri.Builder()
+ .appendPathOrSkip(action)
+ .appendPathOrSkip(entity)
+ .appendPathOrSkip(screen)
+ .build()
+ .path
+
+ return urlBuilder.path(finalPath).build()
}
}
diff --git a/feature-deep-linking/src/main/java/io/novafoundation/nova/feature_deep_linking/presentation/handling/branchIo/BranchIOConstants.kt b/feature-deep-linking/src/main/java/io/novafoundation/nova/feature_deep_linking/presentation/handling/branchIo/BranchIOConstants.kt
deleted file mode 100644
index a4c5459..0000000
--- a/feature-deep-linking/src/main/java/io/novafoundation/nova/feature_deep_linking/presentation/handling/branchIo/BranchIOConstants.kt
+++ /dev/null
@@ -1,7 +0,0 @@
-package io.novafoundation.nova.feature_deep_linking.presentation.handling.branchIo
-
-object BranchIOConstants {
- const val ACTION_QUERY = "action"
- const val SCREEN_QUERY = "screen"
- const val ENTITY_QUERY = "entity"
-}
diff --git a/feature-deep-linking/src/main/java/io/novafoundation/nova/feature_deep_linking/presentation/handling/branchIo/BranchIOLinkHandler.kt b/feature-deep-linking/src/main/java/io/novafoundation/nova/feature_deep_linking/presentation/handling/branchIo/BranchIOLinkHandler.kt
deleted file mode 100644
index 77f7981..0000000
--- a/feature-deep-linking/src/main/java/io/novafoundation/nova/feature_deep_linking/presentation/handling/branchIo/BranchIOLinkHandler.kt
+++ /dev/null
@@ -1,56 +0,0 @@
-package io.novafoundation.nova.feature_deep_linking.presentation.handling.branchIo
-
-import android.app.Activity
-import android.content.Context
-import android.content.Intent
-import android.net.Uri
-import android.util.Log
-import io.branch.referral.Branch
-import io.branch.referral.Defines
-import io.novafoundation.nova.common.utils.LOG_TAG
-import io.novafoundation.nova.feature_deep_linking.BuildConfig
-
-class BranchIOLinkHandler(
- private val deepLinkFactory: BranchIoLinkConverter
-) {
-
- object Initializer {
- fun init(context: Context) {
- if (BuildConfig.DEBUG) {
- Branch.enableLogging()
- }
-
- val branchInstance = Branch.getAutoInstance(context)
- branchInstance.setConsumerProtectionAttributionLevel(Defines.BranchAttributionLevel.REDUCED)
- }
- }
-
- fun onActivityStart(activity: Activity, deepLinkCallback: (Uri) -> Unit) {
- Branch.sessionBuilder(activity)
- .withCallback { branchUniversalObject, _, error ->
- if (error != null) {
- Log.e(LOG_TAG, error.toString())
- }
-
- if (branchUniversalObject != null) {
- val deepLink = deepLinkFactory.formatToDeepLink(branchUniversalObject)
- deepLinkCallback(deepLink)
- }
- }
- .withData(activity.intent.data)
- .init()
- }
-
- fun onActivityNewIntent(activity: Activity, intent: Intent?) {
- if (intent != null && intent.getBooleanExtra("branch_force_new_session", false)) {
- Branch.sessionBuilder(activity)
- .withCallback { _, error ->
- if (error != null) {
- Log.e(LOG_TAG, error.toString())
- }
- }
- .withData(intent.data)
- .reInit()
- }
- }
-}
diff --git a/feature-deep-linking/src/main/java/io/novafoundation/nova/feature_deep_linking/presentation/handling/branchIo/BranchIoLinkConverter.kt b/feature-deep-linking/src/main/java/io/novafoundation/nova/feature_deep_linking/presentation/handling/branchIo/BranchIoLinkConverter.kt
deleted file mode 100644
index d0a8e51..0000000
--- a/feature-deep-linking/src/main/java/io/novafoundation/nova/feature_deep_linking/presentation/handling/branchIo/BranchIoLinkConverter.kt
+++ /dev/null
@@ -1,44 +0,0 @@
-package io.novafoundation.nova.feature_deep_linking.presentation.handling.branchIo
-
-import android.net.Uri
-import io.branch.indexing.BranchUniversalObject
-import io.novafoundation.nova.common.utils.appendPathOrSkip
-import io.novafoundation.nova.common.utils.appendQueries
-import io.novafoundation.nova.feature_deep_linking.presentation.handling.common.DeepLinkingPreferences
-
-private val BRANCH_PARAMS_PREFIX = listOf("~", "$", "+")
-
-class BranchIoLinkConverter(
- private val deepLinkingPreferences: DeepLinkingPreferences
-) {
-
- fun formatToDeepLink(data: BranchUniversalObject): Uri {
- val queries = data.contentMetadata.customMetadata
- .excludeInternalIOQueries()
- .toMutableMap()
-
- return Uri.Builder()
- .scheme(deepLinkingPreferences.deepLinkScheme)
- .authority(deepLinkingPreferences.deepLinkHost)
- .appendPathOrSkip(queries.extractAction())
- .appendPathOrSkip(queries.extractSubject())
- .appendQueries(queries)
- .build()
- }
-
- private fun Map.excludeInternalIOQueries(): Map {
- return filterKeys { key ->
- val isBranchIOQuery = BRANCH_PARAMS_PREFIX.any { prefix -> key.startsWith(prefix) }
- !isBranchIOQuery
- }
- }
-
- private fun MutableMap.extractAction(): String? {
- return remove(BranchIOConstants.ACTION_QUERY)
- }
-
- private fun MutableMap.extractSubject(): String? {
- return remove(BranchIOConstants.SCREEN_QUERY)
- ?: remove(BranchIOConstants.ENTITY_QUERY)
- }
-}
diff --git a/feature-deep-linking/src/main/java/io/novafoundation/nova/feature_deep_linking/presentation/handling/common/DeepLinkingPreferences.kt b/feature-deep-linking/src/main/java/io/novafoundation/nova/feature_deep_linking/presentation/handling/common/DeepLinkingPreferences.kt
index f443b8c..f3ee4ce 100644
--- a/feature-deep-linking/src/main/java/io/novafoundation/nova/feature_deep_linking/presentation/handling/common/DeepLinkingPreferences.kt
+++ b/feature-deep-linking/src/main/java/io/novafoundation/nova/feature_deep_linking/presentation/handling/common/DeepLinkingPreferences.kt
@@ -5,8 +5,7 @@ import android.net.Uri
class DeepLinkingPreferences(
val deepLinkScheme: String,
val deepLinkHost: String,
- val appLinkHost: String,
- val branchIoLinkHosts: List
+ val appLinkHost: String
)
fun Uri.isDeepLink(preferences: DeepLinkingPreferences): Boolean {