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 Original line Diff line number Diff line
@@ -4518,13 +4518,6 @@ public final class Settings {
        @Readable
        @Readable
        public static final String SCREEN_OFF_TIMEOUT = "screen_off_timeout";
        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.
         * The screen backlight brightness between 0 and 255.
         */
         */
+0 −1
Original line number Original line Diff line number Diff line
@@ -43,7 +43,6 @@ public class SystemSettings {
        Settings.System.FONT_SCALE,
        Settings.System.FONT_SCALE,
        Settings.System.DIM_SCREEN,
        Settings.System.DIM_SCREEN,
        Settings.System.SCREEN_OFF_TIMEOUT,
        Settings.System.SCREEN_OFF_TIMEOUT,
        Settings.System.SCREEN_OFF_TIMEOUT_DOCKED,
        Settings.System.SCREEN_BRIGHTNESS_MODE,
        Settings.System.SCREEN_BRIGHTNESS_MODE,
        Settings.System.SCREEN_AUTO_BRIGHTNESS_ADJ,
        Settings.System.SCREEN_AUTO_BRIGHTNESS_ADJ,
        Settings.System.SCREEN_BRIGHTNESS_FOR_VR,
        Settings.System.SCREEN_BRIGHTNESS_FOR_VR,
+0 −1
Original line number Original line 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.DISPLAY_COLOR_MODE_VENDOR_HINT, ANY_STRING_VALIDATOR);
        VALIDATORS.put(System.SCREEN_OFF_TIMEOUT, NON_NEGATIVE_INTEGER_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_FOR_VR, new InclusiveIntegerRangeValidator(0, 255));
        VALIDATORS.put(System.SCREEN_BRIGHTNESS_MODE, BOOLEAN_VALIDATOR);
        VALIDATORS.put(System.SCREEN_BRIGHTNESS_MODE, BOOLEAN_VALIDATOR);
        VALIDATORS.put(System.ADAPTIVE_SLEEP, BOOLEAN_VALIDATOR);
        VALIDATORS.put(System.ADAPTIVE_SLEEP, BOOLEAN_VALIDATOR);
+2 −14
Original line number Original line Diff line number Diff line
@@ -524,9 +524,6 @@ public final class PowerManagerService extends SystemService
    // The screen off timeout setting value in milliseconds.
    // The screen off timeout setting value in milliseconds.
    private long mScreenOffTimeoutSetting;
    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.
    // Default for attentive warning duration.
    private long mAttentiveWarningDurationConfig;
    private long mAttentiveWarningDurationConfig;


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


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


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


    private static class IntentFilterMatcher implements ArgumentMatcher<IntentFilter> {
    private static class IntentFilterMatcher implements ArgumentMatcher<IntentFilter> {
        private final IntentFilter mFilter;
        private final IntentFilter mFilter;
@@ -338,14 +336,6 @@ public class PowerManagerServiceTest {
                argThat(new IntentFilterMatcher(usFilter)), isNull(), isA(Handler.class));
                argThat(new IntentFilterMatcher(usFilter)), isNull(), isA(Handler.class));
        mUserSwitchedReceiver = userSwitchedCaptor.getValue();
        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);
        mService.onBootPhase(SystemService.PHASE_BOOT_COMPLETED);
    }
    }


@@ -394,16 +384,6 @@ public class PowerManagerServiceTest {
                .thenReturn(minimumScreenOffTimeoutConfigMillis);
                .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) {
    private void advanceTime(long timeMs) {
        mClock.fastForward(timeMs);
        mClock.fastForward(timeMs);
        mTestLooper.dispatchAll();
        mTestLooper.dispatchAll();
@@ -951,71 +931,6 @@ public class PowerManagerServiceTest {
                PowerManager.GO_TO_SLEEP_REASON_INATTENTIVE);
                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
    @Test
    public void testInattentiveSleep_goesToSleepWithWakeLock() {
    public void testInattentiveSleep_goesToSleepWithWakeLock() {
        final String pkg = mContextSpy.getOpPackageName();
        final String pkg = mContextSpy.getOpPackageName();