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

Commit dec54533 authored by Lucas Silva's avatar Lucas Silva Committed by Android (Google) Code Review
Browse files

Merge "Revert "Add setting for device docked screen timeout."" into tm-dev

parents e30c53d9 384be43f
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -4518,13 +4518,6 @@ public final class Settings {
        @Readable
        public static final String SCREEN_OFF_TIMEOUT = "screen_off_timeout";
        /**
         * The amount of time in milliseconds before the device goes to sleep or begins to dream
         * after a period of inactivity while it is docked.
         * @hide
         */
        public static final String SCREEN_OFF_TIMEOUT_DOCKED = "screen_off_timeout_docked";
        /**
         * The screen backlight brightness between 0 and 255.
         */
+0 −1
Original line number Diff line number Diff line
@@ -43,7 +43,6 @@ public class SystemSettings {
        Settings.System.FONT_SCALE,
        Settings.System.DIM_SCREEN,
        Settings.System.SCREEN_OFF_TIMEOUT,
        Settings.System.SCREEN_OFF_TIMEOUT_DOCKED,
        Settings.System.SCREEN_BRIGHTNESS_MODE,
        Settings.System.SCREEN_AUTO_BRIGHTNESS_ADJ,
        Settings.System.SCREEN_BRIGHTNESS_FOR_VR,
+0 −1
Original line number Diff line number Diff line
@@ -111,7 +111,6 @@ public class SystemSettingsValidators {
                });
        VALIDATORS.put(System.DISPLAY_COLOR_MODE_VENDOR_HINT, ANY_STRING_VALIDATOR);
        VALIDATORS.put(System.SCREEN_OFF_TIMEOUT, NON_NEGATIVE_INTEGER_VALIDATOR);
        VALIDATORS.put(System.SCREEN_OFF_TIMEOUT_DOCKED, NON_NEGATIVE_INTEGER_VALIDATOR);
        VALIDATORS.put(System.SCREEN_BRIGHTNESS_FOR_VR, new InclusiveIntegerRangeValidator(0, 255));
        VALIDATORS.put(System.SCREEN_BRIGHTNESS_MODE, BOOLEAN_VALIDATOR);
        VALIDATORS.put(System.ADAPTIVE_SLEEP, BOOLEAN_VALIDATOR);
+2 −14
Original line number Diff line number Diff line
@@ -524,9 +524,6 @@ public final class PowerManagerService extends SystemService
    // The screen off timeout setting value in milliseconds.
    private long mScreenOffTimeoutSetting;

    // The screen off timeout setting value in milliseconds to apply while device is docked.
    private long mScreenOffTimeoutDockedSetting;

    // Default for attentive warning duration.
    private long mAttentiveWarningDurationConfig;

@@ -1289,9 +1286,6 @@ public final class PowerManagerService extends SystemService
        resolver.registerContentObserver(Settings.System.getUriFor(
                Settings.System.SCREEN_OFF_TIMEOUT),
                false, mSettingsObserver, UserHandle.USER_ALL);
        resolver.registerContentObserver(Settings.System.getUriFor(
                Settings.System.SCREEN_OFF_TIMEOUT_DOCKED),
                false, mSettingsObserver, UserHandle.USER_ALL);
        resolver.registerContentObserver(Settings.Secure.getUriFor(
                Settings.Secure.SLEEP_TIMEOUT),
                false, mSettingsObserver, UserHandle.USER_ALL);
@@ -1414,9 +1408,6 @@ public final class PowerManagerService extends SystemService
        mScreenOffTimeoutSetting = Settings.System.getIntForUser(resolver,
                Settings.System.SCREEN_OFF_TIMEOUT, DEFAULT_SCREEN_OFF_TIMEOUT,
                UserHandle.USER_CURRENT);
        mScreenOffTimeoutDockedSetting = Settings.System.getLongForUser(resolver,
                Settings.System.SCREEN_OFF_TIMEOUT_DOCKED, mScreenOffTimeoutSetting,
                UserHandle.USER_CURRENT);
        mSleepTimeoutSetting = Settings.Secure.getIntForUser(resolver,
                Settings.Secure.SLEEP_TIMEOUT, DEFAULT_SLEEP_TIMEOUT,
                UserHandle.USER_CURRENT);
@@ -2999,9 +2990,7 @@ public final class PowerManagerService extends SystemService

    @GuardedBy("mLock")
    private long getScreenOffTimeoutLocked(long sleepTimeout, long attentiveTimeout) {
        long timeout = mDockState == Intent.EXTRA_DOCK_STATE_UNDOCKED
                ? mScreenOffTimeoutSetting
                : mScreenOffTimeoutDockedSetting;
        long timeout = mScreenOffTimeoutSetting;
        if (isMaximumScreenOffTimeoutFromDeviceAdminEnforcedLocked()) {
            timeout = Math.min(timeout, mMaximumScreenOffTimeoutFromDeviceAdmin);
        }
@@ -4946,8 +4935,7 @@ public final class PowerManagerService extends SystemService
        }
    }

    @VisibleForTesting
    final class DockReceiver extends BroadcastReceiver {
    private final class DockReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            synchronized (mLock) {
+0 −85
Original line number Diff line number Diff line
@@ -87,7 +87,6 @@ import com.android.server.lights.LightsManager;
import com.android.server.policy.WindowManagerPolicy;
import com.android.server.power.PowerManagerService.BatteryReceiver;
import com.android.server.power.PowerManagerService.BinderService;
import com.android.server.power.PowerManagerService.DockReceiver;
import com.android.server.power.PowerManagerService.Injector;
import com.android.server.power.PowerManagerService.NativeWrapper;
import com.android.server.power.PowerManagerService.UserSwitchedReceiver;
@@ -151,7 +150,6 @@ public class PowerManagerServiceTest {
    private Resources mResourcesSpy;
    private OffsettableClock mClock;
    private TestLooper mTestLooper;
    private DockReceiver mDockReceiver;

    private static class IntentFilterMatcher implements ArgumentMatcher<IntentFilter> {
        private final IntentFilter mFilter;
@@ -338,14 +336,6 @@ public class PowerManagerServiceTest {
                argThat(new IntentFilterMatcher(usFilter)), isNull(), isA(Handler.class));
        mUserSwitchedReceiver = userSwitchedCaptor.getValue();

        // Grab the DockReceiver
        ArgumentCaptor<DockReceiver> dockReceiverCaptor =
                ArgumentCaptor.forClass(DockReceiver.class);
        IntentFilter dockFilter = new IntentFilter(Intent.ACTION_DOCK_EVENT);
        verify(mContextSpy).registerReceiver(dockReceiverCaptor.capture(),
                argThat(new IntentFilterMatcher(dockFilter)), isNull(), isA(Handler.class));
        mDockReceiver = dockReceiverCaptor.getValue();

        mService.onBootPhase(SystemService.PHASE_BOOT_COMPLETED);
    }

@@ -394,16 +384,6 @@ public class PowerManagerServiceTest {
                .thenReturn(minimumScreenOffTimeoutConfigMillis);
    }

    private void setScreenOffTimeout(int screenOffTimeoutMillis) {
        Settings.System.putInt(mContextSpy.getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT,
                screenOffTimeoutMillis);
    }

    private void setScreenOffTimeoutDocked(int screenOffTimeoutMillis) {
        Settings.System.putInt(mContextSpy.getContentResolver(),
                Settings.System.SCREEN_OFF_TIMEOUT_DOCKED, screenOffTimeoutMillis);
    }

    private void advanceTime(long timeMs) {
        mClock.fastForward(timeMs);
        mTestLooper.dispatchAll();
@@ -951,71 +931,6 @@ public class PowerManagerServiceTest {
                PowerManager.GO_TO_SLEEP_REASON_INATTENTIVE);
    }

    @Test
    public void testScreenOffTimeout_goesToSleepAfterTimeout() {
        final DisplayInfo info = new DisplayInfo();
        info.displayGroupId = Display.DEFAULT_DISPLAY_GROUP;
        when(mDisplayManagerInternalMock.getDisplayInfo(Display.DEFAULT_DISPLAY)).thenReturn(info);

        setMinimumScreenOffTimeoutConfig(10);
        setScreenOffTimeout(10);

        createService();
        startSystem();

        mService.getBinderServiceInstance().userActivity(Display.DEFAULT_DISPLAY, mClock.now(),
                PowerManager.USER_ACTIVITY_EVENT_TOUCH, 0);
        assertThat(mService.getGlobalWakefulnessLocked()).isEqualTo(WAKEFULNESS_AWAKE);
        advanceTime(15);
        assertThat(mService.getGlobalWakefulnessLocked()).isNotEqualTo(WAKEFULNESS_AWAKE);
    }

    @Test
    public void testScreenOffTimeout_usesRegularTimeoutWhenNotDocked() {
        final DisplayInfo info = new DisplayInfo();
        info.displayGroupId = Display.DEFAULT_DISPLAY_GROUP;
        when(mDisplayManagerInternalMock.getDisplayInfo(Display.DEFAULT_DISPLAY)).thenReturn(info);

        setMinimumScreenOffTimeoutConfig(10);
        setScreenOffTimeout(10);
        setScreenOffTimeoutDocked(30);

        createService();
        startSystem();

        mService.getBinderServiceInstance().userActivity(Display.DEFAULT_DISPLAY, mClock.now(),
                PowerManager.USER_ACTIVITY_EVENT_TOUCH, 0);
        assertThat(mService.getGlobalWakefulnessLocked()).isEqualTo(WAKEFULNESS_AWAKE);
        advanceTime(15);
        assertThat(mService.getGlobalWakefulnessLocked()).isNotEqualTo(WAKEFULNESS_AWAKE);
    }

    @Test
    public void testScreenOffTimeout_usesDockedTimeoutWhenDocked() {
        final DisplayInfo info = new DisplayInfo();
        info.displayGroupId = Display.DEFAULT_DISPLAY_GROUP;
        when(mDisplayManagerInternalMock.getDisplayInfo(Display.DEFAULT_DISPLAY)).thenReturn(info);

        setMinimumScreenOffTimeoutConfig(10);
        setScreenOffTimeout(10);
        setScreenOffTimeoutDocked(30);

        createService();
        startSystem();

        mService.getBinderServiceInstance().userActivity(Display.DEFAULT_DISPLAY, mClock.now(),
                PowerManager.USER_ACTIVITY_EVENT_TOUCH, 0);
        mDockReceiver.onReceive(mContextSpy,
                new Intent(Intent.ACTION_DOCK_EVENT).putExtra(Intent.EXTRA_DOCK_STATE,
                        Intent.EXTRA_DOCK_STATE_DESK));

        assertThat(mService.getGlobalWakefulnessLocked()).isEqualTo(WAKEFULNESS_AWAKE);
        advanceTime(15);
        assertThat(mService.getGlobalWakefulnessLocked()).isEqualTo(WAKEFULNESS_AWAKE);
        advanceTime(20);
        assertThat(mService.getGlobalWakefulnessLocked()).isNotEqualTo(WAKEFULNESS_AWAKE);
    }

    @Test
    public void testInattentiveSleep_goesToSleepWithWakeLock() {
        final String pkg = mContextSpy.getOpPackageName();