[Catalyst] Migrate "Lock screen" entry point
Bug: 372307567 Flag: com.android.settings.flags.catalyst_lockscreen_from_display_settings Test: manual Change-Id: I0c269c550c678362f345c9b5438a133c7a76fe10
This commit is contained in:
@@ -17,6 +17,7 @@
|
|||||||
<PreferenceScreen
|
<PreferenceScreen
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:settings="http://schemas.android.com/apk/res-auto"
|
xmlns:settings="http://schemas.android.com/apk/res-auto"
|
||||||
|
android:key="lockscreen_from_display_settings"
|
||||||
android:title="@string/lockscreen_settings_title">
|
android:title="@string/lockscreen_settings_title">
|
||||||
|
|
||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
|
@@ -427,6 +427,7 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
|
|||||||
private void removeControllersForHybridMode() {
|
private void removeControllersForHybridMode() {
|
||||||
Set<String> keys = getPreferenceKeysInHierarchy();
|
Set<String> keys = getPreferenceKeysInHierarchy();
|
||||||
Iterator<AbstractPreferenceController> iterator = mControllers.iterator();
|
Iterator<AbstractPreferenceController> iterator = mControllers.iterator();
|
||||||
|
Lifecycle lifecycle = getSettingsLifecycle();
|
||||||
while (iterator.hasNext()) {
|
while (iterator.hasNext()) {
|
||||||
AbstractPreferenceController controller = iterator.next();
|
AbstractPreferenceController controller = iterator.next();
|
||||||
String key = controller.getPreferenceKey();
|
String key = controller.getPreferenceKey();
|
||||||
@@ -438,6 +439,9 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
|
|||||||
if (controllers != null) {
|
if (controllers != null) {
|
||||||
controllers.remove(controller);
|
controllers.remove(controller);
|
||||||
}
|
}
|
||||||
|
if (controller instanceof LifecycleObserver) {
|
||||||
|
lifecycle.removeObserver((LifecycleObserver) controller);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -21,6 +21,7 @@ import com.android.settings.R
|
|||||||
import com.android.settings.Settings.DisplaySettingsActivity
|
import com.android.settings.Settings.DisplaySettingsActivity
|
||||||
import com.android.settings.display.darkmode.DarkModeScreen
|
import com.android.settings.display.darkmode.DarkModeScreen
|
||||||
import com.android.settings.flags.Flags
|
import com.android.settings.flags.Flags
|
||||||
|
import com.android.settings.security.LockScreenPreferenceScreen
|
||||||
import com.android.settings.utils.makeLaunchIntent
|
import com.android.settings.utils.makeLaunchIntent
|
||||||
import com.android.settingslib.metadata.PreferenceAvailabilityProvider
|
import com.android.settingslib.metadata.PreferenceAvailabilityProvider
|
||||||
import com.android.settingslib.metadata.PreferenceIconProvider
|
import com.android.settingslib.metadata.PreferenceIconProvider
|
||||||
@@ -50,12 +51,14 @@ open class DisplayScreen :
|
|||||||
|
|
||||||
override fun fragmentClass() = DisplaySettings::class.java
|
override fun fragmentClass() = DisplaySettings::class.java
|
||||||
|
|
||||||
override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {
|
override fun getPreferenceHierarchy(context: Context) =
|
||||||
+BrightnessLevelPreference()
|
preferenceHierarchy(this) {
|
||||||
+AutoBrightnessScreen.KEY
|
+BrightnessLevelPreference()
|
||||||
+DarkModeScreen.KEY
|
+AutoBrightnessScreen.KEY
|
||||||
+PeakRefreshRateSwitchPreference()
|
+LockScreenPreferenceScreen.KEY
|
||||||
}
|
+DarkModeScreen.KEY
|
||||||
|
+PeakRefreshRateSwitchPreference()
|
||||||
|
}
|
||||||
|
|
||||||
override fun getLaunchIntent(context: Context, metadata: PreferenceMetadata?) =
|
override fun getLaunchIntent(context: Context, metadata: PreferenceMetadata?) =
|
||||||
makeLaunchIntent(context, DisplaySettingsActivity::class.java, metadata?.key)
|
makeLaunchIntent(context, DisplaySettingsActivity::class.java, metadata?.key)
|
||||||
|
@@ -18,12 +18,14 @@ package com.android.settings.security
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import com.android.settings.R
|
import com.android.settings.R
|
||||||
import com.android.settings.flags.Flags
|
import com.android.settings.flags.Flags
|
||||||
|
import com.android.settings.notification.LockScreenNotificationPreferenceController
|
||||||
|
import com.android.settingslib.metadata.PreferenceSummaryProvider
|
||||||
import com.android.settingslib.metadata.ProvidePreferenceScreen
|
import com.android.settingslib.metadata.ProvidePreferenceScreen
|
||||||
import com.android.settingslib.metadata.preferenceHierarchy
|
import com.android.settingslib.metadata.preferenceHierarchy
|
||||||
import com.android.settingslib.preference.PreferenceScreenCreator
|
import com.android.settingslib.preference.PreferenceScreenCreator
|
||||||
|
|
||||||
@ProvidePreferenceScreen
|
@ProvidePreferenceScreen
|
||||||
open class LockScreenPreferenceScreen : PreferenceScreenCreator {
|
open class LockScreenPreferenceScreen : PreferenceScreenCreator, PreferenceSummaryProvider {
|
||||||
override val key: String
|
override val key: String
|
||||||
get() = KEY
|
get() = KEY
|
||||||
|
|
||||||
@@ -33,17 +35,21 @@ open class LockScreenPreferenceScreen : PreferenceScreenCreator {
|
|||||||
override val keywords: Int
|
override val keywords: Int
|
||||||
get() = R.string.keywords_ambient_display_screen
|
get() = R.string.keywords_ambient_display_screen
|
||||||
|
|
||||||
|
override fun getSummary(context: Context): CharSequence? =
|
||||||
|
context.getString(LockScreenNotificationPreferenceController.getSummaryResource(context))
|
||||||
|
|
||||||
override fun isFlagEnabled(context: Context) = Flags.catalystLockscreenFromDisplaySettings()
|
override fun isFlagEnabled(context: Context) = Flags.catalystLockscreenFromDisplaySettings()
|
||||||
|
|
||||||
override fun hasCompleteHierarchy() = false
|
override fun hasCompleteHierarchy() = false
|
||||||
|
|
||||||
override fun fragmentClass() = LockscreenDashboardFragment::class.java
|
override fun fragmentClass() = LockscreenDashboardFragment::class.java
|
||||||
|
|
||||||
override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {
|
override fun getPreferenceHierarchy(context: Context) =
|
||||||
// add hierarchy here
|
preferenceHierarchy(this) {
|
||||||
}
|
// add hierarchy here
|
||||||
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
const val KEY = "lockscreen_from_display_settings"
|
const val KEY = "lockscreen_from_display_settings"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user