mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-04-23 11:22:12 +00:00
Fix: StatusBar icons visibility on dynamic colors' theme (closes #259)
This commit is contained in:
parent
ee4e07ae8b
commit
193286b894
@ -27,7 +27,7 @@ import com.machiav3lli.fdroid.ui.fragments.MainNavFragmentX
|
||||
import com.machiav3lli.fdroid.ui.fragments.Source
|
||||
import com.machiav3lli.fdroid.ui.viewmodels.MainActivityViewModelX
|
||||
import com.machiav3lli.fdroid.utility.extension.text.nullIfEmpty
|
||||
import com.machiav3lli.fdroid.utility.isDynamicColorsTheme
|
||||
import com.machiav3lli.fdroid.utility.setCustomTheme
|
||||
import com.machiav3lli.fdroid.utility.showBatteryOptimizationDialog
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlin.properties.Delegates
|
||||
@ -72,7 +72,7 @@ class MainActivityX : AppCompatActivity() {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
currentTheme = Preferences[Preferences.Key.Theme].getResId(resources.configuration)
|
||||
currentTab = Preferences[Preferences.Key.DefaultTab].getResId(resources.configuration)
|
||||
if (!isDynamicColorsTheme) setTheme(currentTheme)
|
||||
setCustomTheme()
|
||||
super.onCreate(savedInstanceState)
|
||||
binding = ActivityMainXBinding.inflate(layoutInflater)
|
||||
|
||||
|
@ -16,7 +16,6 @@ import com.machiav3lli.fdroid.BuildConfig
|
||||
import com.machiav3lli.fdroid.ContextWrapperX
|
||||
import com.machiav3lli.fdroid.MainApplication
|
||||
import com.machiav3lli.fdroid.R
|
||||
import com.machiav3lli.fdroid.content.Preferences
|
||||
import com.machiav3lli.fdroid.databinding.ActivityPrefsXBinding
|
||||
import com.machiav3lli.fdroid.installer.AppInstaller
|
||||
import com.machiav3lli.fdroid.service.Connection
|
||||
@ -24,7 +23,7 @@ import com.machiav3lli.fdroid.service.SyncService
|
||||
import com.machiav3lli.fdroid.ui.fragments.MainNavFragmentX
|
||||
import com.machiav3lli.fdroid.ui.fragments.Source
|
||||
import com.machiav3lli.fdroid.utility.extension.text.nullIfEmpty
|
||||
import com.machiav3lli.fdroid.utility.isDynamicColorsTheme
|
||||
import com.machiav3lli.fdroid.utility.setCustomTheme
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
// TODO clean up the bloat
|
||||
@ -61,7 +60,7 @@ class PrefsActivityX : AppCompatActivity() {
|
||||
get() = (application as MainApplication).db
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
if (!isDynamicColorsTheme) setTheme(Preferences[Preferences.Key.Theme].getResId(resources.configuration))
|
||||
setCustomTheme()
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
binding = ActivityPrefsXBinding.inflate(layoutInflater)
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.machiav3lli.fdroid.utility
|
||||
|
||||
import android.app.Activity
|
||||
import android.app.ActivityManager
|
||||
import android.app.ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND
|
||||
import android.app.ActivityManager.RunningAppProcessInfo.IMPORTANCE_VISIBLE
|
||||
@ -39,6 +40,7 @@ import androidx.compose.ui.text.font.FontWeight
|
||||
import androidx.compose.ui.text.style.TextDecoration
|
||||
import androidx.core.text.HtmlCompat
|
||||
import androidx.core.text.util.LinkifyCompat
|
||||
import androidx.core.view.WindowInsetsControllerCompat
|
||||
import androidx.fragment.app.FragmentManager
|
||||
import com.machiav3lli.fdroid.BuildConfig
|
||||
import com.machiav3lli.fdroid.PREFS_LANGUAGE_DEFAULT
|
||||
@ -523,3 +525,12 @@ fun Spanned.toAnnotatedString(): AnnotatedString = buildAnnotatedString {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun Activity.setCustomTheme() {
|
||||
if (!isDynamicColorsTheme) setTheme(Preferences[Preferences.Key.Theme].getResId(resources.configuration))
|
||||
else {
|
||||
val currentNightMode = resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK
|
||||
WindowInsetsControllerCompat(window, window.decorView)
|
||||
.isAppearanceLightStatusBars = currentNightMode == Configuration.UI_MODE_NIGHT_NO
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user