Merge "Do not power off display on lockNow() on automotive builds." into rvc-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
cad8a4f55e
@@ -4263,6 +4263,9 @@ public class DevicePolicyManager {
|
||||
* This method can be called on the {@link DevicePolicyManager} instance returned by
|
||||
* {@link #getParentProfileInstance(ComponentName)} in order to lock the parent profile.
|
||||
* <p>
|
||||
* NOTE: on {@link android.content.pm.PackageManager#FEATURE_AUTOMOTIVE automotive builds}, this
|
||||
* method doesn't turn off the screen as it would be a driving safety distraction.
|
||||
* <p>
|
||||
* Equivalent to calling {@link #lockNow(int)} with no flags.
|
||||
*
|
||||
* @throws SecurityException if the calling application does not own an active administrator
|
||||
@@ -4306,6 +4309,9 @@ public class DevicePolicyManager {
|
||||
* Calling the method twice in this order ensures that all users are locked and does not
|
||||
* stop the device admin on the managed profile from issuing a second call to lock its own
|
||||
* profile.
|
||||
* <p>
|
||||
* NOTE: on {@link android.content.pm.PackageManager#FEATURE_AUTOMOTIVE automotive builds}, this
|
||||
* method doesn't turn off the screen as it would be a driving safety distraction.
|
||||
*
|
||||
* @param flags May be 0 or {@link #FLAG_EVICT_CREDENTIAL_ENCRYPTION_KEY}.
|
||||
* @throws SecurityException if the calling application does not own an active administrator
|
||||
|
||||
@@ -640,6 +640,11 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
|
||||
*/
|
||||
final boolean mIsWatch;
|
||||
|
||||
/**
|
||||
* Whether or not this device is an automotive.
|
||||
*/
|
||||
private final boolean mIsAutomotive;
|
||||
|
||||
/**
|
||||
* Whether this device has the telephony feature.
|
||||
*/
|
||||
@@ -2567,6 +2572,8 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
|
||||
.hasSystemFeature(PackageManager.FEATURE_WATCH);
|
||||
mHasTelephonyFeature = mInjector.getPackageManager()
|
||||
.hasSystemFeature(PackageManager.FEATURE_TELEPHONY);
|
||||
mIsAutomotive = mInjector.getPackageManager()
|
||||
.hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE);
|
||||
mBackgroundHandler = BackgroundThread.getHandler();
|
||||
|
||||
// Needed when mHasFeature == false, because it controls the certificate warning text.
|
||||
@@ -6080,9 +6087,16 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
|
||||
|
||||
// Require authentication for the device or profile
|
||||
if (userToLock == UserHandle.USER_ALL) {
|
||||
// Power off the display
|
||||
mInjector.powerManagerGoToSleep(SystemClock.uptimeMillis(),
|
||||
PowerManager.GO_TO_SLEEP_REASON_DEVICE_ADMIN, 0);
|
||||
if (mIsAutomotive) {
|
||||
if (VERBOSE_LOG) {
|
||||
Slog.v(LOG_TAG, "lockNow(): not powering off display on automotive"
|
||||
+ " build");
|
||||
}
|
||||
} else {
|
||||
// Power off the display
|
||||
mInjector.powerManagerGoToSleep(SystemClock.uptimeMillis(),
|
||||
PowerManager.GO_TO_SLEEP_REASON_DEVICE_ADMIN, 0);
|
||||
}
|
||||
mInjector.getIWindowManager().lockNow(null);
|
||||
} else {
|
||||
mInjector.getTrustManager().setDeviceLockedForUser(userToLock, true);
|
||||
|
||||
Reference in New Issue
Block a user