Change screensaver ctrlr to base pref ctrlr. am: 542644e83f

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20736682

Change-Id: Ic6f282087660ede4a0b1fd38378c0c5adc58bc3f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Darrell Shi
2022-12-21 08:23:48 +00:00
committed by Automerger Merge Worker
4 changed files with 16 additions and 21 deletions

View File

@@ -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"

View File

@@ -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));

View File

@@ -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);
} }
} }

View File

@@ -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);