Change screensaver ctrlr to base pref ctrlr.
This change makes it that the ScreenSaverPreferenceController extends BasePreferenceController so that it can be readily used and pointed to from an xml file. Bug: 261627295 Test: atest ScreenSaverPreferenceControllerTest Change-Id: I95487f2f49a23422fff46f30b0cfa287582a547b
This commit is contained in:
@@ -146,7 +146,8 @@
|
||||
android:key="screensaver"
|
||||
android:title="@string/screensaver_settings_title"
|
||||
android:fragment="com.android.settings.dream.DreamSettings"
|
||||
settings:keywords="@string/keywords_screensaver"/>
|
||||
settings:keywords="@string/keywords_screensaver"
|
||||
settings:controller="com.android.settings.display.ScreenSaverPreferenceController"/>
|
||||
|
||||
<SwitchPreference
|
||||
android:key="camera_gesture"
|
||||
|
@@ -24,7 +24,6 @@ import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settings.display.BrightnessLevelPreferenceController;
|
||||
import com.android.settings.display.CameraGesturePreferenceController;
|
||||
import com.android.settings.display.LiftToWakePreferenceController;
|
||||
import com.android.settings.display.ScreenSaverPreferenceController;
|
||||
import com.android.settings.display.ShowOperatorNamePreferenceController;
|
||||
import com.android.settings.display.TapToWakePreferenceController;
|
||||
import com.android.settings.display.ThemePreferenceController;
|
||||
@@ -76,7 +75,6 @@ public class DisplaySettings extends DashboardFragment {
|
||||
final List<AbstractPreferenceController> controllers = new ArrayList<>();
|
||||
controllers.add(new CameraGesturePreferenceController(context));
|
||||
controllers.add(new LiftToWakePreferenceController(context));
|
||||
controllers.add(new ScreenSaverPreferenceController(context));
|
||||
controllers.add(new TapToWakePreferenceController(context));
|
||||
controllers.add(new VrDisplayPreferenceController(context));
|
||||
controllers.add(new ShowOperatorNamePreferenceController(context));
|
||||
|
@@ -16,47 +16,41 @@ package com.android.settings.display;
|
||||
import android.content.Context;
|
||||
import android.os.UserManager;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settings.dream.DreamSettings;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
|
||||
public class ScreenSaverPreferenceController extends AbstractPreferenceController implements
|
||||
public class ScreenSaverPreferenceController extends BasePreferenceController implements
|
||||
PreferenceControllerMixin {
|
||||
|
||||
private static final String KEY_SCREEN_SAVER = "screensaver";
|
||||
private final boolean mDreamsDisabledByAmbientModeSuppression;
|
||||
|
||||
public ScreenSaverPreferenceController(Context context) {
|
||||
super(context);
|
||||
public ScreenSaverPreferenceController(Context context, String preferenceKey) {
|
||||
super(context, preferenceKey);
|
||||
|
||||
mDreamsDisabledByAmbientModeSuppression = context.getResources().getBoolean(
|
||||
com.android.internal.R.bool.config_dreamsDisabledByAmbientModeSuppressionConfig);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAvailable() {
|
||||
public int getAvailabilityStatus() {
|
||||
final boolean dreamsSupported = mContext.getResources().getBoolean(
|
||||
com.android.internal.R.bool.config_dreamsSupported);
|
||||
final boolean dreamsOnlyEnabledForDockUser = mContext.getResources().getBoolean(
|
||||
com.android.internal.R.bool.config_dreamsOnlyEnabledForDockUser);
|
||||
// TODO(b/257333623): Allow the Dock User to be non-SystemUser user in HSUM.
|
||||
return dreamsSupported && (!dreamsOnlyEnabledForDockUser || isSystemUser());
|
||||
return (dreamsSupported && (!dreamsOnlyEnabledForDockUser || isSystemUser()))
|
||||
? AVAILABLE : UNSUPPORTED_ON_DEVICE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPreferenceKey() {
|
||||
return KEY_SCREEN_SAVER;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateState(Preference preference) {
|
||||
public CharSequence getSummary() {
|
||||
if (mDreamsDisabledByAmbientModeSuppression
|
||||
&& AmbientDisplayAlwaysOnPreferenceController.isAodSuppressedByBedtime(mContext)) {
|
||||
preference.setSummary(R.string.screensaver_settings_when_to_dream_bedtime);
|
||||
return mContext.getString(R.string.screensaver_settings_when_to_dream_bedtime);
|
||||
} else {
|
||||
preference.setSummary(DreamSettings.getSummaryTextWithDreamName(mContext));
|
||||
return DreamSettings.getSummaryTextWithDreamName(mContext);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -45,11 +45,13 @@ public class ScreenSaverPreferenceControllerTest {
|
||||
|
||||
private ScreenSaverPreferenceController mController;
|
||||
|
||||
private final String mPrefKey = "test_screensaver";
|
||||
|
||||
@Before
|
||||
public void setup() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
|
||||
mController = new ScreenSaverPreferenceController(mContext);
|
||||
mController = new ScreenSaverPreferenceController(mContext, mPrefKey);
|
||||
|
||||
when(mContext.getResources()).thenReturn(mResources);
|
||||
when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
|
||||
|
Reference in New Issue
Block a user