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:key="screensaver"
|
||||||
android:title="@string/screensaver_settings_title"
|
android:title="@string/screensaver_settings_title"
|
||||||
android:fragment="com.android.settings.dream.DreamSettings"
|
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
|
<SwitchPreference
|
||||||
android:key="camera_gesture"
|
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.BrightnessLevelPreferenceController;
|
||||||
import com.android.settings.display.CameraGesturePreferenceController;
|
import com.android.settings.display.CameraGesturePreferenceController;
|
||||||
import com.android.settings.display.LiftToWakePreferenceController;
|
import com.android.settings.display.LiftToWakePreferenceController;
|
||||||
import com.android.settings.display.ScreenSaverPreferenceController;
|
|
||||||
import com.android.settings.display.ShowOperatorNamePreferenceController;
|
import com.android.settings.display.ShowOperatorNamePreferenceController;
|
||||||
import com.android.settings.display.TapToWakePreferenceController;
|
import com.android.settings.display.TapToWakePreferenceController;
|
||||||
import com.android.settings.display.ThemePreferenceController;
|
import com.android.settings.display.ThemePreferenceController;
|
||||||
@@ -76,7 +75,6 @@ public class DisplaySettings extends DashboardFragment {
|
|||||||
final List<AbstractPreferenceController> controllers = new ArrayList<>();
|
final List<AbstractPreferenceController> controllers = new ArrayList<>();
|
||||||
controllers.add(new CameraGesturePreferenceController(context));
|
controllers.add(new CameraGesturePreferenceController(context));
|
||||||
controllers.add(new LiftToWakePreferenceController(context));
|
controllers.add(new LiftToWakePreferenceController(context));
|
||||||
controllers.add(new ScreenSaverPreferenceController(context));
|
|
||||||
controllers.add(new TapToWakePreferenceController(context));
|
controllers.add(new TapToWakePreferenceController(context));
|
||||||
controllers.add(new VrDisplayPreferenceController(context));
|
controllers.add(new VrDisplayPreferenceController(context));
|
||||||
controllers.add(new ShowOperatorNamePreferenceController(context));
|
controllers.add(new ShowOperatorNamePreferenceController(context));
|
||||||
|
@@ -16,47 +16,41 @@ package com.android.settings.display;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.UserManager;
|
import android.os.UserManager;
|
||||||
|
|
||||||
import androidx.preference.Preference;
|
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.core.BasePreferenceController;
|
||||||
import com.android.settings.core.PreferenceControllerMixin;
|
import com.android.settings.core.PreferenceControllerMixin;
|
||||||
import com.android.settings.dream.DreamSettings;
|
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 {
|
PreferenceControllerMixin {
|
||||||
|
|
||||||
private static final String KEY_SCREEN_SAVER = "screensaver";
|
|
||||||
private final boolean mDreamsDisabledByAmbientModeSuppression;
|
private final boolean mDreamsDisabledByAmbientModeSuppression;
|
||||||
|
|
||||||
public ScreenSaverPreferenceController(Context context) {
|
public ScreenSaverPreferenceController(Context context, String preferenceKey) {
|
||||||
super(context);
|
super(context, preferenceKey);
|
||||||
|
|
||||||
mDreamsDisabledByAmbientModeSuppression = context.getResources().getBoolean(
|
mDreamsDisabledByAmbientModeSuppression = context.getResources().getBoolean(
|
||||||
com.android.internal.R.bool.config_dreamsDisabledByAmbientModeSuppressionConfig);
|
com.android.internal.R.bool.config_dreamsDisabledByAmbientModeSuppressionConfig);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isAvailable() {
|
public int getAvailabilityStatus() {
|
||||||
final boolean dreamsSupported = mContext.getResources().getBoolean(
|
final boolean dreamsSupported = mContext.getResources().getBoolean(
|
||||||
com.android.internal.R.bool.config_dreamsSupported);
|
com.android.internal.R.bool.config_dreamsSupported);
|
||||||
final boolean dreamsOnlyEnabledForDockUser = mContext.getResources().getBoolean(
|
final boolean dreamsOnlyEnabledForDockUser = mContext.getResources().getBoolean(
|
||||||
com.android.internal.R.bool.config_dreamsOnlyEnabledForDockUser);
|
com.android.internal.R.bool.config_dreamsOnlyEnabledForDockUser);
|
||||||
// TODO(b/257333623): Allow the Dock User to be non-SystemUser user in HSUM.
|
// 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
|
@Override
|
||||||
public String getPreferenceKey() {
|
public CharSequence getSummary() {
|
||||||
return KEY_SCREEN_SAVER;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void updateState(Preference preference) {
|
|
||||||
if (mDreamsDisabledByAmbientModeSuppression
|
if (mDreamsDisabledByAmbientModeSuppression
|
||||||
&& AmbientDisplayAlwaysOnPreferenceController.isAodSuppressedByBedtime(mContext)) {
|
&& 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 {
|
} else {
|
||||||
preference.setSummary(DreamSettings.getSummaryTextWithDreamName(mContext));
|
return DreamSettings.getSummaryTextWithDreamName(mContext);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -45,11 +45,13 @@ public class ScreenSaverPreferenceControllerTest {
|
|||||||
|
|
||||||
private ScreenSaverPreferenceController mController;
|
private ScreenSaverPreferenceController mController;
|
||||||
|
|
||||||
|
private final String mPrefKey = "test_screensaver";
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setup() {
|
public void setup() {
|
||||||
MockitoAnnotations.initMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
|
|
||||||
mController = new ScreenSaverPreferenceController(mContext);
|
mController = new ScreenSaverPreferenceController(mContext, mPrefKey);
|
||||||
|
|
||||||
when(mContext.getResources()).thenReturn(mResources);
|
when(mContext.getResources()).thenReturn(mResources);
|
||||||
when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
|
when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
|
||||||
|
Reference in New Issue
Block a user