From d5fcd7a113ec4401b37d05d98ce8aef03ff2e6c3 Mon Sep 17 00:00:00 2001 From: HapeLee <1321903405@qq.com> Date: Fri, 10 Oct 2025 19:18:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DHyperOS=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E4=B8=8A=E7=9A=84=E5=90=AF=E5=8A=A8=E9=97=AA=E5=B1=8F=E9=97=AE?= =?UTF-8?q?=E9=A2=98=20#78?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 30 +++++------ app/src/main/java/io/legato/kazusa/App.kt | 18 +++++++ .../io/legato/kazusa/help/LauncherIconHelp.kt | 2 +- .../io/legato/kazusa/ui/main/MainActivity.kt | 25 ++++++++++ .../kazusa/ui/welcome/SplashActivity.kt | 50 ------------------- app/src/main/res/layout/activity_splash.xml | 8 --- 6 files changed, 56 insertions(+), 77 deletions(-) delete mode 100644 app/src/main/java/io/legato/kazusa/ui/welcome/SplashActivity.kt delete mode 100644 app/src/main/res/layout/activity_splash.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 04519317f..0236a8ffc 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -39,7 +39,7 @@ android:enabled="false" android:exported="true" android:icon="@mipmap/launcher0" - android:targetActivity=".ui.welcome.SplashActivity"> + android:targetActivity=".ui.main.MainActivity"> @@ -51,7 +51,7 @@ android:enabled="false" android:exported="true" android:icon="@mipmap/launcher1" - android:targetActivity=".ui.welcome.SplashActivity"> + android:targetActivity=".ui.main.MainActivity"> @@ -64,7 +64,7 @@ android:enabled="false" android:exported="true" android:icon="@mipmap/launcher2" - android:targetActivity=".ui.welcome.SplashActivity"> + android:targetActivity=".ui.main.MainActivity"> @@ -77,7 +77,7 @@ android:enabled="false" android:exported="true" android:icon="@mipmap/launcher3" - android:targetActivity=".ui.welcome.SplashActivity"> + android:targetActivity=".ui.main.MainActivity"> @@ -90,7 +90,7 @@ android:enabled="false" android:exported="true" android:icon="@mipmap/launcher4" - android:targetActivity=".ui.welcome.SplashActivity"> + android:targetActivity=".ui.main.MainActivity"> @@ -103,7 +103,7 @@ android:enabled="false" android:exported="true" android:icon="@mipmap/launcher5" - android:targetActivity=".ui.welcome.SplashActivity"> + android:targetActivity=".ui.main.MainActivity"> @@ -116,29 +116,23 @@ android:enabled="false" android:exported="true" android:icon="@mipmap/launcher6" - android:targetActivity=".ui.welcome.SplashActivity"> + android:targetActivity=".ui.main.MainActivity"> - - - - - - + android:exported="true"> + + + + { + if (AppConfig.customMode == "accent") + setTheme(R.style.ThemeOverlay_WhiteBackground) + DynamicColors.applyToActivitiesIfAvailable(this, DynamicColorsOptions.Builder() + .setContentBasedSource(this.primaryColor) + .build()) + + } + } + + if (AppConfig.pureBlack) + setTheme(R.style.ThemeOverlay_PureBlack) super.onCreate() FirebaseManager.init(this) CrashHandler(this) diff --git a/app/src/main/java/io/legato/kazusa/help/LauncherIconHelp.kt b/app/src/main/java/io/legato/kazusa/help/LauncherIconHelp.kt index 06da54b19..f5e78da43 100644 --- a/app/src/main/java/io/legato/kazusa/help/LauncherIconHelp.kt +++ b/app/src/main/java/io/legato/kazusa/help/LauncherIconHelp.kt @@ -25,7 +25,7 @@ object LauncherIconHelp { // 主Activity的ComponentName private val mainActivity = ComponentName( appCtx.packageName, - "${appCtx.packageName}.ui.welcome.SplashActivity" + "${appCtx.packageName}.ui.main.MainActivity" ) fun changeIcon(icon: String?) { diff --git a/app/src/main/java/io/legato/kazusa/ui/main/MainActivity.kt b/app/src/main/java/io/legato/kazusa/ui/main/MainActivity.kt index 4b1bc2697..da0b8633d 100644 --- a/app/src/main/java/io/legato/kazusa/ui/main/MainActivity.kt +++ b/app/src/main/java/io/legato/kazusa/ui/main/MainActivity.kt @@ -2,6 +2,7 @@ package io.legato.kazusa.ui.main +import android.annotation.SuppressLint import android.content.res.Configuration import android.os.Bundle import android.text.format.DateUtils @@ -12,6 +13,7 @@ import android.widget.FrameLayout import android.widget.ImageView import androidx.activity.addCallback import androidx.activity.viewModels +import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen import androidx.core.view.get import androidx.core.view.postDelayed import androidx.fragment.app.Fragment @@ -40,6 +42,7 @@ import io.legato.kazusa.help.storage.Backup import io.legato.kazusa.lib.dialogs.alert import io.legato.kazusa.service.BaseReadAloudService import io.legato.kazusa.ui.about.CrashLogsDialog +import io.legato.kazusa.ui.book.read.ReadBookActivity import io.legato.kazusa.ui.book.search.SearchActivity import io.legato.kazusa.ui.main.bookshelf.BaseBookshelfFragment import io.legato.kazusa.ui.main.bookshelf.books.BookshelfFragment1 @@ -48,7 +51,9 @@ import io.legato.kazusa.ui.main.bookshelf.books.BookshelfFragment3 import io.legato.kazusa.ui.main.explore.ExploreFragment import io.legato.kazusa.ui.main.my.MyFragment import io.legato.kazusa.ui.main.rss.RssFragment +import io.legato.kazusa.ui.welcome.WelcomeActivity import io.legato.kazusa.ui.widget.dialog.TextDialog +import io.legato.kazusa.utils.getPrefBoolean import io.legato.kazusa.utils.gone import io.legato.kazusa.utils.hideSoftInput import io.legato.kazusa.utils.observeEvent @@ -103,8 +108,12 @@ class MainActivity : VMBaseActivity(), } override fun onCreate(savedInstanceState: Bundle?) { + installSplashScreen() super.onCreate(savedInstanceState) + + if (checkStartupRoute()) return setExitSharedElementCallback(MaterialContainerTransformSharedElementCallback()) + if (savedInstanceState != null) { pagePosition = savedInstanceState.getInt("currentPagePosition", 0) } @@ -206,6 +215,21 @@ class MainActivity : VMBaseActivity(), } } + private fun checkStartupRoute(): Boolean { + return when { + LocalConfig.isFirstOpenApp -> { + startActivity() + finish() + true + } + getPrefBoolean(PreferKey.defaultToRead) -> { + startActivity() + false + } + else -> false + } + } + private fun initView() = binding.run { viewPagerMain.offscreenPageLimit = 3 viewPagerMain.adapter = adapter @@ -343,6 +367,7 @@ class MainActivity : VMBaseActivity(), } + @SuppressLint("NotifyDataSetChanged") private fun upBottomMenu() { val navView = getNavigationBarView() val menu = navView.menu diff --git a/app/src/main/java/io/legato/kazusa/ui/welcome/SplashActivity.kt b/app/src/main/java/io/legato/kazusa/ui/welcome/SplashActivity.kt deleted file mode 100644 index 13d6459f4..000000000 --- a/app/src/main/java/io/legato/kazusa/ui/welcome/SplashActivity.kt +++ /dev/null @@ -1,50 +0,0 @@ -package io.legato.kazusa.ui.welcome - -import android.annotation.SuppressLint -import android.content.Intent -import android.os.Bundle -import androidx.core.app.ActivityOptionsCompat -import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen -import io.legato.kazusa.base.BaseActivity -import io.legato.kazusa.constant.PreferKey -import io.legato.kazusa.databinding.ActivitySplashBinding -import io.legato.kazusa.help.config.LocalConfig -import io.legato.kazusa.ui.book.read.ReadBookActivity -import io.legato.kazusa.ui.main.MainActivity -import io.legato.kazusa.utils.getPrefBoolean -import io.legato.kazusa.utils.viewbindingdelegate.viewBinding - -@SuppressLint("CustomSplashScreen") -class SplashActivity : BaseActivity() { - override val binding by viewBinding(ActivitySplashBinding::inflate) - - override fun onCreate(savedInstanceState: Bundle?) { - val splashScreen = installSplashScreen() - super.onCreate(savedInstanceState) - splashScreen.setKeepOnScreenCondition { true } - routeNext() - } - - private fun routeNext() { - when { - LocalConfig.isFirstOpenApp -> { - go(WelcomeActivity::class.java) - } - getPrefBoolean(PreferKey.defaultToRead) -> { - go(MainActivity::class.java) - go(ReadBookActivity::class.java) - } - else -> { - go(MainActivity::class.java) - } - } - finish() - } - - private fun go(target: Class<*>) { - startActivity( - Intent(this, target), - ActivityOptionsCompat.makeSceneTransitionAnimation(this).toBundle() - ) - } -} diff --git a/app/src/main/res/layout/activity_splash.xml b/app/src/main/res/layout/activity_splash.xml deleted file mode 100644 index c5c536cee..000000000 --- a/app/src/main/res/layout/activity_splash.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - \ No newline at end of file