Horis 3 년 전
부모
커밋
0f1d644f02

+ 1 - 0
app/src/main/java/io/legado/app/constant/PreferKey.kt

@@ -135,6 +135,7 @@ object PreferKey {
     const val shrinkDatabase = "shrinkDatabase"
     const val batchChangeSourceDelay = "batchChangeSourceDelay"
     const val openBookInfoByClickTitle = "openBookInfoByClickTitle"
+    const val defaultHomePage = "defaultHomePage"
 
     const val cPrimary = "colorPrimary"
     const val cAccent = "colorAccent"

+ 2 - 0
app/src/main/java/io/legado/app/help/config/AppConfig.kt

@@ -429,6 +429,8 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
 
     val onlyLatestBackup get() = appCtx.getPrefBoolean(PreferKey.onlyLatestBackup, true)
 
+    val defaultHomePage get() = appCtx.getPrefString(PreferKey.defaultHomePage, "bookshelf")
+
     val doublePageHorizontal: String?
         get() = appCtx.getPrefString(PreferKey.doublePageHorizontal)
 

+ 16 - 0
app/src/main/java/io/legado/app/ui/main/MainActivity.kt

@@ -91,6 +91,7 @@ class MainActivity : VMBaseActivity<ActivityMainBinding, MainViewModel>(),
             bottomNavigationView.setOnNavigationItemSelectedListener(this@MainActivity)
             bottomNavigationView.setOnNavigationItemReselectedListener(this@MainActivity)
         }
+        upHomePage()
         onBackPressedDispatcher.addCallback(this) {
             if (pagePosition != 0) {
                 binding.viewPagerMain.currentItem = 0
@@ -369,6 +370,21 @@ class MainActivity : VMBaseActivity<ActivityMainBinding, MainViewModel>(),
         adapter.notifyDataSetChanged()
     }
 
+    private fun upHomePage() {
+        when (AppConfig.defaultHomePage) {
+            "bookshelf" -> {}
+            "explore" -> if (AppConfig.showDiscovery) {
+                binding.viewPagerMain.setCurrentItem(realPositions.indexOf(idExplore), false)
+            }
+
+            "rss" -> if (AppConfig.showRSS) {
+                binding.viewPagerMain.setCurrentItem(realPositions.indexOf(idRss), false)
+            }
+
+            "my" -> binding.viewPagerMain.setCurrentItem(realPositions.indexOf(idMy), false)
+        }
+    }
+
     private fun getFragmentId(position: Int): Int {
         val id = realPositions[position]
         if (id == idBookshelf) {

+ 1 - 0
app/src/main/res/values-es-rES/strings.xml

@@ -1128,4 +1128,5 @@
     <string name="change_source_delay">换源间隔</string>
     <string name="open_book_info_by_click_title">点击书名打开详情</string>
     <string name="export_wait">等待导出</string>
+    <string name="default_home_page">默认主页</string>
 </resources>

+ 1 - 0
app/src/main/res/values-ja-rJP/strings.xml

@@ -1131,4 +1131,5 @@
     <string name="change_source_delay">换源间隔</string>
     <string name="open_book_info_by_click_title">点击书名打开详情</string>
     <string name="export_wait">等待导出</string>
+    <string name="default_home_page">默认主页</string>
 </resources>

+ 1 - 0
app/src/main/res/values-pt-rBR/strings.xml

@@ -1131,4 +1131,5 @@
     <string name="change_source_delay">换源间隔</string>
     <string name="open_book_info_by_click_title">点击书名打开详情</string>
     <string name="export_wait">等待导出</string>
+    <string name="default_home_page">默认主页</string>
 </resources>

+ 15 - 1
app/src/main/res/values/arrays.xml

@@ -144,4 +144,18 @@
 		<item>ReplaceRule</item>
 	</string-array>
 
-</resources>
+	<string-array name="default_home_page">
+		<item>@string/bookshelf</item>
+		<item>@string/discovery</item>
+		<item>@string/rss</item>
+		<item>@string/my</item>
+	</string-array>
+
+	<string-array name="default_home_page_value">
+		<item>bookshelf</item>
+		<item>explore</item>
+		<item>rss</item>
+		<item>my</item>
+	</string-array>
+
+</resources>

+ 1 - 0
app/src/main/res/values/strings.xml

@@ -1131,4 +1131,5 @@
     <string name="change_source_delay">换源间隔</string>
     <string name="open_book_info_by_click_title">点击书名打开详情</string>
     <string name="export_wait">等待导出</string>
+    <string name="default_home_page">默认主页</string>
 </resources>

+ 1 - 1
app/src/main/res/xml/pref_config_backup.xml

@@ -90,7 +90,7 @@
 
         <io.legado.app.lib.prefs.SwitchPreference
             android:key="onlyLatestBackup"
-            android:defaultValue="false"
+            android:defaultValue="true"
             android:title="@string/only_latest_backup_t"
             android:summary="@string/only_latest_backup_s"
             app:allowDividerAbove="false"

+ 12 - 5
app/src/main/res/xml/pref_config_other.xml

@@ -40,9 +40,16 @@
             android:defaultValue="true"
             android:key="showRss"
             android:title="@string/show_rss"
+            app:iconSpaceReserved="false" />
+
+        <io.legado.app.lib.prefs.NameListPreference
+            android:defaultValue="bookshelf"
+            android:key="defaultHomePage"
+            android:title="@string/default_home_page"
             app:allowDividerAbove="false"
             app:allowDividerBelow="false"
-            app:iconSpaceReserved="false" />
+            app:entries="@array/default_home_page"
+            app:entryValues="@array/default_home_page_value" />
 
     </io.legado.app.lib.prefs.PreferenceCategory>
 
@@ -54,8 +61,8 @@
 
         <io.legado.app.lib.prefs.Preference
             android:key="localPassword"
-            android:title="@string/set_local_password"
-            android:summary="@string/set_local_password_summary" />
+            android:summary="@string/set_local_password_summary"
+            android:title="@string/set_local_password" />
 
         <io.legado.app.lib.prefs.Preference
             android:key="userAgent"
@@ -64,8 +71,8 @@
         <io.legado.app.lib.prefs.SwitchPreference
             android:defaultValue="false"
             android:key="webServiceWakeLock"
-            android:title="@string/web_service_wake_lock"
-            android:summary="@string/web_service_wake_lock_summary" />
+            android:summary="@string/web_service_wake_lock_summary"
+            android:title="@string/web_service_wake_lock" />
 
         <io.legado.app.lib.prefs.Preference
             android:key="defaultBookTreeUri"