feat : add toggle for dynamic hide stat bar clock
This commit is contained in:
@@ -102,6 +102,7 @@
|
||||
<bool name="config_default_widget_unlimited_size">false</bool>
|
||||
<bool name="config_default_show_status_bar">true</bool>
|
||||
<bool name="config_default_remember_position">false</bool>
|
||||
<bool name="config_default_dynamic_hide_status_bar_clock">false</bool>
|
||||
<bool name="config_default_show_scrollbar">true</bool>
|
||||
<bool name="config_default_show_top_shadow">true</bool>
|
||||
<bool name="config_default_lock_home_screen">false</bool>
|
||||
|
||||
@@ -520,6 +520,8 @@
|
||||
<string name="status_bar_label">Status bar</string>
|
||||
<string name="show_status_bar">Show status bar</string>
|
||||
<string name="dark_status_bar_label">Dark status bar</string>
|
||||
<string name="status_bar_clock_label">Status bar clock</string>
|
||||
<string name="status_bar_clock_description">Dynamically hide status bar clock in first screen</string>
|
||||
|
||||
<string name="home_screen_text_color">Text color</string>
|
||||
<string name="color_light">Light</string>
|
||||
|
||||
@@ -176,10 +176,16 @@ class LawnchairLauncher : QuickstepLauncher() {
|
||||
}
|
||||
}.launchIn(scope = lifecycleScope)
|
||||
|
||||
if (LawnchairApp.isRecentsEnabled) {
|
||||
launcher.stateManager.addStateListener(statusBarClockListener)
|
||||
} else {
|
||||
launcher.stateManager.removeStateListener(statusBarClockListener)
|
||||
preferenceManager2.statusBarClock.get().distinctUntilChanged().onEach {
|
||||
with(launcher.stateManager) {
|
||||
if (it) {
|
||||
addStateListener(statusBarClockListener)
|
||||
} else {
|
||||
removeStateListener(statusBarClockListener)
|
||||
// Make sure status bar clock is restored when the preference is toggled off
|
||||
LawnchairApp.instance.restoreClockInStatusBar()
|
||||
}
|
||||
}
|
||||
}
|
||||
preferenceManager2.rememberPosition.get().onEach {
|
||||
with(launcher.stateManager) {
|
||||
|
||||
@@ -228,6 +228,12 @@ class PreferenceManager2 private constructor(private val context: Context) : Pre
|
||||
defaultValue = context.resources.getBoolean(R.bool.config_default_show_status_bar),
|
||||
)
|
||||
|
||||
val statusBarClock = preference(
|
||||
key = booleanPreferencesKey(name = "status_bar_clock"),
|
||||
defaultValue = context.resources.getBoolean(R.bool.config_default_dynamic_hide_status_bar_clock),
|
||||
onSet = { reloadHelper.reloadGrid() },
|
||||
)
|
||||
|
||||
val rememberPosition = preference(
|
||||
key = booleanPreferencesKey(name = "all_apps_remember_position"),
|
||||
defaultValue = context.resources.getBoolean(R.bool.config_default_remember_position),
|
||||
|
||||
@@ -23,6 +23,7 @@ import androidx.compose.runtime.rememberCoroutineScope
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import app.lawnchair.LawnchairApp
|
||||
import app.lawnchair.data.iconoverride.IconOverrideRepository
|
||||
import app.lawnchair.nexuslauncher.OverlayCallbackImpl
|
||||
import app.lawnchair.preferences.getAdapter
|
||||
@@ -160,6 +161,13 @@ fun HomeScreenPreferences(
|
||||
adapter = prefs2.darkStatusBar.getAdapter(),
|
||||
label = stringResource(id = R.string.dark_status_bar_label),
|
||||
)
|
||||
if (LawnchairApp.isRecentsEnabled) {
|
||||
SwitchPreference(
|
||||
adapter = prefs2.statusBarClock.getAdapter(),
|
||||
label = stringResource(id = R.string.status_bar_clock_label),
|
||||
description = stringResource(id = R.string.status_bar_clock_description),
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
PreferenceGroup(heading = stringResource(id = R.string.icons)) {
|
||||
|
||||
Reference in New Issue
Block a user