Check that the calling package is legitimate for both enabling and disabling car mode.

Bug:194402848
Change-Id: Ifb4b68db91bfd53c5b0ba26c17dc8f97a2365267
This commit is contained in:
Kurt Dresner
2022-02-11 22:34:50 +00:00
parent c16349a69d
commit cd4c26b1e2

View File

@@ -631,6 +631,8 @@ final class UiModeManagerService extends SystemService {
+ "permission ENTER_CAR_MODE_PRIORITIZED");
}
assertLegit(callingPackage);
final long ident = Binder.clearCallingIdentity();
try {
synchronized (mLock) {
@@ -671,6 +673,9 @@ final class UiModeManagerService extends SystemService {
// mode flag to be specified; this is so that the user can disable car mode at all
// priorities using the persistent notification.
boolean isSystemCaller = mInjector.getCallingUid() == Process.SYSTEM_UID;
if (!isSystemCaller) {
assertLegit(callingPackage);
}
final int carModeFlags =
isSystemCaller ? flags : flags & ~UiModeManager.DISABLE_CAR_MODE_ALL_PRIORITIES;