This commit is contained in:
Horis
2023-09-06 21:41:47 +08:00
parent da9a4d8e28
commit 0f1d644f02
10 changed files with 51 additions and 7 deletions
@@ -135,6 +135,7 @@ object PreferKey {
const val shrinkDatabase = "shrinkDatabase" const val shrinkDatabase = "shrinkDatabase"
const val batchChangeSourceDelay = "batchChangeSourceDelay" const val batchChangeSourceDelay = "batchChangeSourceDelay"
const val openBookInfoByClickTitle = "openBookInfoByClickTitle" const val openBookInfoByClickTitle = "openBookInfoByClickTitle"
const val defaultHomePage = "defaultHomePage"
const val cPrimary = "colorPrimary" const val cPrimary = "colorPrimary"
const val cAccent = "colorAccent" const val cAccent = "colorAccent"
@@ -429,6 +429,8 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
val onlyLatestBackup get() = appCtx.getPrefBoolean(PreferKey.onlyLatestBackup, true) val onlyLatestBackup get() = appCtx.getPrefBoolean(PreferKey.onlyLatestBackup, true)
val defaultHomePage get() = appCtx.getPrefString(PreferKey.defaultHomePage, "bookshelf")
val doublePageHorizontal: String? val doublePageHorizontal: String?
get() = appCtx.getPrefString(PreferKey.doublePageHorizontal) get() = appCtx.getPrefString(PreferKey.doublePageHorizontal)
@@ -91,6 +91,7 @@ class MainActivity : VMBaseActivity<ActivityMainBinding, MainViewModel>(),
bottomNavigationView.setOnNavigationItemSelectedListener(this@MainActivity) bottomNavigationView.setOnNavigationItemSelectedListener(this@MainActivity)
bottomNavigationView.setOnNavigationItemReselectedListener(this@MainActivity) bottomNavigationView.setOnNavigationItemReselectedListener(this@MainActivity)
} }
upHomePage()
onBackPressedDispatcher.addCallback(this) { onBackPressedDispatcher.addCallback(this) {
if (pagePosition != 0) { if (pagePosition != 0) {
binding.viewPagerMain.currentItem = 0 binding.viewPagerMain.currentItem = 0
@@ -369,6 +370,21 @@ class MainActivity : VMBaseActivity<ActivityMainBinding, MainViewModel>(),
adapter.notifyDataSetChanged() 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 { private fun getFragmentId(position: Int): Int {
val id = realPositions[position] val id = realPositions[position]
if (id == idBookshelf) { if (id == idBookshelf) {
@@ -1128,4 +1128,5 @@
<string name="change_source_delay">换源间隔</string> <string name="change_source_delay">换源间隔</string>
<string name="open_book_info_by_click_title">点击书名打开详情</string> <string name="open_book_info_by_click_title">点击书名打开详情</string>
<string name="export_wait">等待导出</string> <string name="export_wait">等待导出</string>
<string name="default_home_page">默认主页</string>
</resources> </resources>
@@ -1131,4 +1131,5 @@
<string name="change_source_delay">换源间隔</string> <string name="change_source_delay">换源间隔</string>
<string name="open_book_info_by_click_title">点击书名打开详情</string> <string name="open_book_info_by_click_title">点击书名打开详情</string>
<string name="export_wait">等待导出</string> <string name="export_wait">等待导出</string>
<string name="default_home_page">默认主页</string>
</resources> </resources>
@@ -1131,4 +1131,5 @@
<string name="change_source_delay">换源间隔</string> <string name="change_source_delay">换源间隔</string>
<string name="open_book_info_by_click_title">点击书名打开详情</string> <string name="open_book_info_by_click_title">点击书名打开详情</string>
<string name="export_wait">等待导出</string> <string name="export_wait">等待导出</string>
<string name="default_home_page">默认主页</string>
</resources> </resources>
+14
View File
@@ -144,4 +144,18 @@
<item>ReplaceRule</item> <item>ReplaceRule</item>
</string-array> </string-array>
<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> </resources>
+1
View File
@@ -1131,4 +1131,5 @@
<string name="change_source_delay">换源间隔</string> <string name="change_source_delay">换源间隔</string>
<string name="open_book_info_by_click_title">点击书名打开详情</string> <string name="open_book_info_by_click_title">点击书名打开详情</string>
<string name="export_wait">等待导出</string> <string name="export_wait">等待导出</string>
<string name="default_home_page">默认主页</string>
</resources> </resources>
+1 -1
View File
@@ -90,7 +90,7 @@
<io.legado.app.lib.prefs.SwitchPreference <io.legado.app.lib.prefs.SwitchPreference
android:key="onlyLatestBackup" android:key="onlyLatestBackup"
android:defaultValue="false" android:defaultValue="true"
android:title="@string/only_latest_backup_t" android:title="@string/only_latest_backup_t"
android:summary="@string/only_latest_backup_s" android:summary="@string/only_latest_backup_s"
app:allowDividerAbove="false" app:allowDividerAbove="false"
+12 -5
View File
@@ -40,9 +40,16 @@
android:defaultValue="true" android:defaultValue="true"
android:key="showRss" android:key="showRss"
android:title="@string/show_rss" 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:allowDividerAbove="false"
app:allowDividerBelow="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> </io.legado.app.lib.prefs.PreferenceCategory>
@@ -54,8 +61,8 @@
<io.legado.app.lib.prefs.Preference <io.legado.app.lib.prefs.Preference
android:key="localPassword" 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 <io.legado.app.lib.prefs.Preference
android:key="userAgent" android:key="userAgent"
@@ -64,8 +71,8 @@
<io.legado.app.lib.prefs.SwitchPreference <io.legado.app.lib.prefs.SwitchPreference
android:defaultValue="false" android:defaultValue="false"
android:key="webServiceWakeLock" 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 <io.legado.app.lib.prefs.Preference
android:key="defaultBookTreeUri" android:key="defaultBookTreeUri"