mirror of
https://github.com/null2264/yokai.git
synced 2025-06-21 10:44:42 +00:00
refactor: Rename AppState to SplashState
This commit is contained in:
parent
4f59fbae07
commit
6eedc18f8d
7 changed files with 14 additions and 19 deletions
|
@ -1,6 +1,6 @@
|
|||
package dev.yokai.domain
|
||||
|
||||
class AppState {
|
||||
var isSplashShown = false
|
||||
class SplashState {
|
||||
var shown = false
|
||||
var ready = false
|
||||
}
|
|
@ -2,7 +2,7 @@ package eu.kanade.tachiyomi.di
|
|||
|
||||
import android.app.Application
|
||||
import androidx.core.content.ContextCompat
|
||||
import dev.yokai.domain.AppState
|
||||
import dev.yokai.domain.SplashState
|
||||
import dev.yokai.domain.extension.TrustExtension
|
||||
import dev.yokai.domain.storage.StorageManager
|
||||
import eu.kanade.tachiyomi.core.storage.AndroidStorageFolderProvider
|
||||
|
@ -65,7 +65,7 @@ class AppModule(val app: Application) : InjektModule {
|
|||
addSingletonFactory { AndroidStorageFolderProvider(app) }
|
||||
addSingletonFactory { StorageManager(app, get()) }
|
||||
|
||||
addSingletonFactory { AppState() }
|
||||
addSingletonFactory { SplashState() }
|
||||
|
||||
// Asynchronously init expensive components for a faster cold start
|
||||
ContextCompat.getMainExecutor(app).execute {
|
||||
|
|
|
@ -12,7 +12,7 @@ import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
|
|||
import androidx.interpolator.view.animation.FastOutSlowInInterpolator
|
||||
import androidx.interpolator.view.animation.LinearOutSlowInInterpolator
|
||||
import androidx.viewbinding.ViewBinding
|
||||
import dev.yokai.domain.AppState
|
||||
import dev.yokai.domain.SplashState
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
||||
import eu.kanade.tachiyomi.ui.main.SearchActivity
|
||||
|
@ -30,7 +30,7 @@ abstract class BaseActivity<VB : ViewBinding> : AppCompatActivity() {
|
|||
val isBindingInitialized get() = this::binding.isInitialized
|
||||
|
||||
private var updatedTheme: Resources.Theme? = null
|
||||
internal val appState: AppState by injectLazy()
|
||||
internal val splashState: SplashState by injectLazy()
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
setLocaleByAppCompat()
|
||||
|
@ -41,12 +41,12 @@ abstract class BaseActivity<VB : ViewBinding> : AppCompatActivity() {
|
|||
}
|
||||
|
||||
fun maybeInstallSplashScreen(savedInstanceState: Bundle?): SplashScreen? {
|
||||
if (appState.isSplashShown || savedInstanceState != null) {
|
||||
if (splashState.shown || savedInstanceState != null) {
|
||||
setTheme(R.style.Theme_Tachiyomi)
|
||||
appState.ready = true
|
||||
splashState.ready = true
|
||||
return null
|
||||
} else {
|
||||
appState.isSplashShown = true
|
||||
splashState.shown = true
|
||||
}
|
||||
|
||||
return installSplashScreen()
|
||||
|
@ -56,7 +56,7 @@ abstract class BaseActivity<VB : ViewBinding> : AppCompatActivity() {
|
|||
val startTime = System.currentTimeMillis()
|
||||
this.setKeepOnScreenCondition {
|
||||
val elapsed = System.currentTimeMillis() - startTime
|
||||
elapsed <= SPLASH_MIN_DURATION || (!appState.ready && elapsed <= SPLASH_MAX_DURATION)
|
||||
elapsed <= SPLASH_MIN_DURATION || (!splashState.ready && elapsed <= SPLASH_MAX_DURATION)
|
||||
}
|
||||
this.setSplashScreenExitAnimation()
|
||||
}
|
||||
|
|
|
@ -1129,7 +1129,7 @@ open class LibraryController(
|
|||
emptyList()
|
||||
},
|
||||
)
|
||||
(activity as? MainActivity)?.appState?.ready = true
|
||||
(activity as? MainActivity)?.splashState?.ready = true
|
||||
}
|
||||
adapter.setItems(mangaMap)
|
||||
if (binding.libraryGridRecycler.recycler.translationX != 0f) {
|
||||
|
|
|
@ -43,8 +43,6 @@ import androidx.core.app.ActivityCompat
|
|||
import androidx.core.content.getSystemService
|
||||
import androidx.core.graphics.ColorUtils
|
||||
import androidx.core.net.toUri
|
||||
import androidx.core.splashscreen.SplashScreen
|
||||
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.core.view.WindowCompat
|
||||
import androidx.core.view.WindowInsetsCompat
|
||||
|
@ -54,8 +52,6 @@ import androidx.core.view.forEach
|
|||
import androidx.core.view.isVisible
|
||||
import androidx.core.view.updateLayoutParams
|
||||
import androidx.core.view.updatePadding
|
||||
import androidx.interpolator.view.animation.FastOutSlowInInterpolator
|
||||
import androidx.interpolator.view.animation.LinearOutSlowInInterpolator
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.lifecycle.repeatOnLifecycle
|
||||
|
@ -74,7 +70,6 @@ import com.google.android.material.transition.platform.MaterialContainerTransfor
|
|||
import com.google.common.primitives.Floats.max
|
||||
import com.google.common.primitives.Ints.max
|
||||
import dev.yokai.domain.base.BasePreferences
|
||||
import dev.yokai.domain.ui.settings.ReaderPreferences
|
||||
import dev.yokai.presentation.extension.repo.ExtensionRepoController
|
||||
import dev.yokai.presentation.onboarding.OnboardingController
|
||||
import eu.kanade.tachiyomi.BuildConfig
|
||||
|
@ -1104,7 +1099,7 @@ open class MainActivity : BaseActivity<MainActivityBinding>() {
|
|||
else -> return false
|
||||
}
|
||||
|
||||
appState.ready = true
|
||||
splashState.ready = true
|
||||
return true
|
||||
}
|
||||
|
||||
|
|
|
@ -171,7 +171,7 @@ class RecentsController(bundle: Bundle? = null) :
|
|||
binding.recycler.recycledViewPool.setMaxRecycledViews(0, 0)
|
||||
binding.recycler.addItemDecoration(RecentMangaDivider(view.context))
|
||||
binding.recycler.onAnimationsFinished {
|
||||
(activity as? MainActivity)?.appState?.ready = true
|
||||
(activity as? MainActivity)?.splashState?.ready = true
|
||||
}
|
||||
adapter.isSwipeEnabled = true
|
||||
adapter.itemTouchHelperCallback.setSwipeFlags(
|
||||
|
|
|
@ -142,7 +142,7 @@ class BrowseController :
|
|||
|
||||
binding.sourceRecycler.adapter = adapter
|
||||
binding.sourceRecycler.onAnimationsFinished {
|
||||
(activity as? MainActivity)?.appState?.ready = true
|
||||
(activity as? MainActivity)?.splashState?.ready = true
|
||||
}
|
||||
adapter?.isSwipeEnabled = true
|
||||
adapter?.stateRestorationPolicy = RecyclerView.Adapter.StateRestorationPolicy.PREVENT_WHEN_EMPTY
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue