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

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

Merge changes from topic "presubmit-am-b160cfb654054cce833ec12a666fab6f" into tm-mainline-prod

* changes:
  [automerge] Revert "Add setting for device docked screen timeout." 2p: 384be43f
  Revert "Add setting for device docked screen timeout."
parents d0803a08 ad1f93ab
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();