diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 06787e9cf..db386c9af 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -28,7 +28,7 @@ android:configChanges="orientation|keyboardHidden|screenSize" android:exported="true" android:label="@string/app_name" - android:launchMode="singleTop" + android:launchMode="singleInstance" android:theme="@style/KiwixTheme.Launcher" android:windowSoftInputMode="adjustPan"> diff --git a/app/src/main/java/org/kiwix/kiwixmobile/main/KiwixMainActivity.kt b/app/src/main/java/org/kiwix/kiwixmobile/main/KiwixMainActivity.kt index ff49bf4fc..758fea715 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/main/KiwixMainActivity.kt +++ b/app/src/main/java/org/kiwix/kiwixmobile/main/KiwixMainActivity.kt @@ -117,9 +117,6 @@ class KiwixMainActivity : CoreMainActivity() { super.onCreate(savedInstanceState) activityKiwixMainBinding = ActivityKiwixMainBinding.inflate(layoutInflater) setContentView(activityKiwixMainBinding.root) - if (intent.action == "GET_CONTENT") { - navigate(R.id.downloadsFragment) - } navController.addOnDestinationChangedListener(finishActionModeOnDestinationChange) activityKiwixMainBinding.drawerNavView.setupWithNavController(navController) @@ -130,6 +127,7 @@ class KiwixMainActivity : CoreMainActivity() { activityKiwixMainBinding.bottomNavView.setupWithNavController(navController) migrateInternalToPublicAppDirectory() handleZimFileIntent(intent) + handleGetContentIntent(intent) } private fun migrateInternalToPublicAppDirectory() { @@ -220,11 +218,18 @@ class KiwixMainActivity : CoreMainActivity() { super.onNewIntent(intent) handleNotificationIntent(intent) handleZimFileIntent(intent) + handleGetContentIntent(intent) supportFragmentManager.fragments.filterIsInstance().forEach { it.onNewIntent(intent, this) } } + private fun handleGetContentIntent(intent: Intent?) { + if (intent?.action == ACTION_GET_CONTENT) { + navigate(R.id.downloadsFragment) + } + } + private fun handleZimFileIntent(intent: Intent?) { intent?.data?.let { when (it.scheme) {