mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-04-23 19:32:16 +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.fragments.Source
|
||||||
import com.machiav3lli.fdroid.ui.viewmodels.MainActivityViewModelX
|
import com.machiav3lli.fdroid.ui.viewmodels.MainActivityViewModelX
|
||||||
import com.machiav3lli.fdroid.utility.extension.text.nullIfEmpty
|
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 com.machiav3lli.fdroid.utility.showBatteryOptimizationDialog
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import kotlin.properties.Delegates
|
import kotlin.properties.Delegates
|
||||||
@ -72,7 +72,7 @@ class MainActivityX : AppCompatActivity() {
|
|||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
currentTheme = Preferences[Preferences.Key.Theme].getResId(resources.configuration)
|
currentTheme = Preferences[Preferences.Key.Theme].getResId(resources.configuration)
|
||||||
currentTab = Preferences[Preferences.Key.DefaultTab].getResId(resources.configuration)
|
currentTab = Preferences[Preferences.Key.DefaultTab].getResId(resources.configuration)
|
||||||
if (!isDynamicColorsTheme) setTheme(currentTheme)
|
setCustomTheme()
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
binding = ActivityMainXBinding.inflate(layoutInflater)
|
binding = ActivityMainXBinding.inflate(layoutInflater)
|
||||||
|
|
||||||
|
@ -16,7 +16,6 @@ import com.machiav3lli.fdroid.BuildConfig
|
|||||||
import com.machiav3lli.fdroid.ContextWrapperX
|
import com.machiav3lli.fdroid.ContextWrapperX
|
||||||
import com.machiav3lli.fdroid.MainApplication
|
import com.machiav3lli.fdroid.MainApplication
|
||||||
import com.machiav3lli.fdroid.R
|
import com.machiav3lli.fdroid.R
|
||||||
import com.machiav3lli.fdroid.content.Preferences
|
|
||||||
import com.machiav3lli.fdroid.databinding.ActivityPrefsXBinding
|
import com.machiav3lli.fdroid.databinding.ActivityPrefsXBinding
|
||||||
import com.machiav3lli.fdroid.installer.AppInstaller
|
import com.machiav3lli.fdroid.installer.AppInstaller
|
||||||
import com.machiav3lli.fdroid.service.Connection
|
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.MainNavFragmentX
|
||||||
import com.machiav3lli.fdroid.ui.fragments.Source
|
import com.machiav3lli.fdroid.ui.fragments.Source
|
||||||
import com.machiav3lli.fdroid.utility.extension.text.nullIfEmpty
|
import com.machiav3lli.fdroid.utility.extension.text.nullIfEmpty
|
||||||
import com.machiav3lli.fdroid.utility.isDynamicColorsTheme
|
import com.machiav3lli.fdroid.utility.setCustomTheme
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
// TODO clean up the bloat
|
// TODO clean up the bloat
|
||||||
@ -61,7 +60,7 @@ class PrefsActivityX : AppCompatActivity() {
|
|||||||
get() = (application as MainApplication).db
|
get() = (application as MainApplication).db
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
if (!isDynamicColorsTheme) setTheme(Preferences[Preferences.Key.Theme].getResId(resources.configuration))
|
setCustomTheme()
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
binding = ActivityPrefsXBinding.inflate(layoutInflater)
|
binding = ActivityPrefsXBinding.inflate(layoutInflater)
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package com.machiav3lli.fdroid.utility
|
package com.machiav3lli.fdroid.utility
|
||||||
|
|
||||||
|
import android.app.Activity
|
||||||
import android.app.ActivityManager
|
import android.app.ActivityManager
|
||||||
import android.app.ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND
|
import android.app.ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND
|
||||||
import android.app.ActivityManager.RunningAppProcessInfo.IMPORTANCE_VISIBLE
|
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.compose.ui.text.style.TextDecoration
|
||||||
import androidx.core.text.HtmlCompat
|
import androidx.core.text.HtmlCompat
|
||||||
import androidx.core.text.util.LinkifyCompat
|
import androidx.core.text.util.LinkifyCompat
|
||||||
|
import androidx.core.view.WindowInsetsControllerCompat
|
||||||
import androidx.fragment.app.FragmentManager
|
import androidx.fragment.app.FragmentManager
|
||||||
import com.machiav3lli.fdroid.BuildConfig
|
import com.machiav3lli.fdroid.BuildConfig
|
||||||
import com.machiav3lli.fdroid.PREFS_LANGUAGE_DEFAULT
|
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