Browse Source

Use single task activity

inorichi 6 years ago
parent
commit
3533359fae

+ 1 - 1
app/src/main/AndroidManifest.xml

@@ -23,7 +23,7 @@
         android:theme="@style/Theme.Tachiyomi">
         <activity
             android:name=".ui.main.MainActivity"
-            android:launchMode="singleTop">
+            android:launchMode="singleTask">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.LAUNCHER" />

+ 6 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt

@@ -167,7 +167,9 @@ class MainActivity : BaseActivity() {
                 //Get the search query provided in extras, and if not null, perform a global search with it.
                 val query = intent.getStringExtra(SearchManager.QUERY)
                 if (query != null && !query.isEmpty()) {
-                    setSelectedDrawerItem(R.id.nav_drawer_catalogues)
+                    if (router.backstackSize > 1) {
+                        router.popToRoot()
+                    }
                     router.pushController(CatalogueSearchController(query).withFadeTransaction())
                 }
             }
@@ -175,7 +177,9 @@ class MainActivity : BaseActivity() {
                 val query = intent.getStringExtra(INTENT_SEARCH_QUERY)
                 val filter = intent.getStringExtra(INTENT_SEARCH_FILTER)
                 if (query != null && !query.isEmpty()) {
-                    setSelectedDrawerItem(R.id.nav_drawer_catalogues)
+                    if (router.backstackSize > 1) {
+                        router.popToRoot()
+                    }
                     router.pushController(CatalogueSearchController(query, filter).withFadeTransaction())
                 }
             }