Merge "Revert "Add setting for device docked screen timeout."" into tm-dev
This commit is contained in:
@@ -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.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
Reference in New Issue
Block a user