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

Commit 35181f53 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "[Catalyst] Migrate the AdaptiveTimeoutPreference" into main

parents ef7d44fd a5eccaf2
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@ import com.android.settingslib.preference.PreferenceScreenCreator

// TODO(b/368359967): The entry point logic is not yet migrated
@ProvidePreferenceScreen(ScreenTimeoutScreen.KEY)
class ScreenTimeoutScreen : PreferenceScreenCreator {
open class ScreenTimeoutScreen : PreferenceScreenCreator {

    override val key: String
        get() = KEY
+24 −6
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.settings.display;

import static android.app.admin.DevicePolicyResources.Strings.Settings.OTHER_OPTIONS_DISABLED_BY_ADMIN;
import static android.hardware.SensorPrivacyManager.Sensors.CAMERA;
import static android.provider.Settings.Secure.CONTEXTUAL_SCREEN_TIMEOUT_ENABLED;
import static android.provider.Settings.System.SCREEN_OFF_TIMEOUT;

import static com.android.settings.display.UtilsKt.isAdaptiveSleepSupported;
@@ -69,6 +70,8 @@ public class ScreenTimeoutSettings extends RadioButtonPickerFragment
        implements HelpResourceProvider {
    private static final String TAG = "ScreenTimeout";

    private static final String KEY_ADAPTIVE_TIMEOUT = CONTEXTUAL_SCREEN_TIMEOUT_ENABLED;

    /** If there is no setting in the provider, use this. */
    public static final int FALLBACK_SCREEN_TIMEOUT_VALUE = 30000;

@@ -145,9 +148,11 @@ public class ScreenTimeoutSettings extends RadioButtonPickerFragment
            mPrivacyChangedListener =
                    (sensor, enabled) -> mAdaptiveSleepController.updatePreference();
        }
        if (!isCatalystScreenTimeoutQ3Enabled()) {
            mAdditionalTogglePreferenceController = FeatureFactory.getFeatureFactory()
                    .getDisplayFeatureProvider().createAdditionalPreference(context);
        }
    }

    @Override
    protected List<? extends CandidateInfo> getCandidates() {
@@ -184,9 +189,11 @@ public class ScreenTimeoutSettings extends RadioButtonPickerFragment
            mPrivacyManager.addSensorPrivacyListener(CAMERA, mPrivacyChangedListener);
        }
        mIsUserAuthenticated = false;
        if (!isCatalystScreenTimeoutQ3Enabled()) {
            FeatureFactory.getFeatureFactory().getDisplayFeatureProvider().updatePreference(
                    mAdditionalTogglePreferenceController);
        }
    }

    @Override
    public void onStop() {
@@ -203,6 +210,8 @@ public class ScreenTimeoutSettings extends RadioButtonPickerFragment
        final PreferenceScreen screen = getPreferenceScreen();
        // Adaptive sleep preference is added to the screen when catalyst is enabled
        Preference adaptiveSleepPreference = screen.findPreference(AdaptiveSleepPreference.KEY);
        Preference adaptiveTimeoutPreference = screen.findPreference(KEY_ADAPTIVE_TIMEOUT);

        screen.removeAll();

        final List<? extends CandidateInfo> candidateList = getCandidates();
@@ -241,8 +250,13 @@ public class ScreenTimeoutSettings extends RadioButtonPickerFragment
        mPrivacyPreference.setLayoutResource(
                com.android.settingslib.widget.preference.footer.R.layout.preference_footer);

        if (isCatalystScreenTimeoutQ3Enabled() && adaptiveTimeoutPreference  != null) {
            adaptiveTimeoutPreference.setOrder(Preference.DEFAULT_ORDER);
            screen.addPreference(adaptiveTimeoutPreference);
        } else {
            FeatureFactory.getFeatureFactory().getDisplayFeatureProvider()
                    .addToScreen(mAdditionalTogglePreferenceController, screen);
        }

        if (isAdaptiveSleepSupported(getContext())) {
            mAdaptiveSleepPermissionController.addToScreen(screen);
@@ -399,6 +413,10 @@ public class ScreenTimeoutSettings extends RadioButtonPickerFragment
        }
    }

    private boolean isCatalystScreenTimeoutQ3Enabled() {
        return isCatalystEnabled() && Flags.catalystScreenTimeout25q3();
    }

    private static long getTimeoutFromKey(String key) {
        return Long.parseLong(key);
    }