Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 955a2f2a authored by Darrell Shi's avatar Darrell Shi Committed by Automerger Merge Worker
Browse files

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

parents c01da5ab 542644e8
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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"
+0 −2
Original line number Diff line number Diff line
@@ -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));
+11 −17
Original line number Diff line number Diff line
@@ -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());
    }

    @Override
    public String getPreferenceKey() {
        return KEY_SCREEN_SAVER;
        return (dreamsSupported && (!dreamsOnlyEnabledForDockUser || isSystemUser()))
                ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
    }

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

+3 −1
Original line number Diff line number Diff line
@@ -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);