Loading services/core/java/com/android/server/compat/CompatConfig.java +3 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.server.compat; import static android.content.pm.PackageManager.MATCH_ANY_USER; import android.annotation.Nullable; import android.app.compat.ChangeIdStateCache; import android.app.compat.PackageOverride; Loading Loading @@ -693,7 +695,7 @@ final class CompatConfig { private Long getVersionCodeOrNull(String packageName) { try { ApplicationInfo applicationInfo = mContext.getPackageManager().getApplicationInfo( packageName, 0); packageName, MATCH_ANY_USER); return applicationInfo.longVersionCode; } catch (PackageManager.NameNotFoundException e) { return null; Loading services/core/java/com/android/server/compat/OverrideValidatorImpl.java +2 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.server.compat; import static android.Manifest.permission.OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD; import static android.content.pm.PackageManager.MATCH_ANY_USER; import static android.content.pm.PackageManager.PERMISSION_GRANTED; import static com.android.internal.compat.OverrideAllowedState.ALLOWED; Loading Loading @@ -116,7 +117,7 @@ public class OverrideValidatorImpl extends IOverrideValidator.Stub { } ApplicationInfo applicationInfo; try { applicationInfo = packageManager.getApplicationInfo(packageName, 0); applicationInfo = packageManager.getApplicationInfo(packageName, MATCH_ANY_USER); } catch (NameNotFoundException e) { return new OverrideAllowedState(DEFERRED_VERIFICATION, -1, -1); } Loading services/core/java/com/android/server/compat/PlatformCompat.java +6 −5 Original line number Diff line number Diff line Loading @@ -508,7 +508,8 @@ public class PlatformCompat extends IPlatformCompat.Stub { filter.addAction(Intent.ACTION_PACKAGE_REPLACED); filter.addAction(Intent.ACTION_PACKAGE_REMOVED); filter.addDataScheme("package"); context.registerReceiver(receiver, filter); context.registerReceiverForAllUsers(receiver, filter, /* broadcastPermission= */ null, /* scheduler= */ null); } /** Loading tests/PlatformCompatGating/src/com/android/tests/gating/PlatformCompatPermissionsTest.java +10 −3 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.tests.gating; import static android.Manifest.permission.INTERACT_ACROSS_USERS_FULL; import static android.Manifest.permission.LOG_COMPAT_CHANGE; import static android.Manifest.permission.OVERRIDE_COMPAT_CHANGE_CONFIG; import static android.Manifest.permission.READ_COMPAT_CHANGE_CONFIG; Loading Loading @@ -261,13 +262,15 @@ public final class PlatformCompatPermissionsTest { public void clearOverrides_noOverridesPermission_throwsSecurityException() throws Throwable { thrown.expect(SecurityException.class); mUiAutomation.adoptShellPermissionIdentity(INTERACT_ACROSS_USERS_FULL); mPlatformCompat.clearOverrides("foo.bar"); } @Test public void clearOverrides_overridesPermission_noThrow() throws Throwable { mUiAutomation.adoptShellPermissionIdentity(OVERRIDE_COMPAT_CHANGE_CONFIG); mUiAutomation.adoptShellPermissionIdentity(OVERRIDE_COMPAT_CHANGE_CONFIG, INTERACT_ACROSS_USERS_FULL); mPlatformCompat.clearOverrides("foo.bar"); } Loading @@ -276,13 +279,15 @@ public final class PlatformCompatPermissionsTest { public void clearOverridesForTest_noOverridesPermission_throwsSecurityException() throws Throwable { thrown.expect(SecurityException.class); mUiAutomation.adoptShellPermissionIdentity(INTERACT_ACROSS_USERS_FULL); mPlatformCompat.clearOverridesForTest("foo.bar"); } @Test public void clearOverridesForTest_overridesPermission_noThrow() throws Throwable { mUiAutomation.adoptShellPermissionIdentity(OVERRIDE_COMPAT_CHANGE_CONFIG); mUiAutomation.adoptShellPermissionIdentity(OVERRIDE_COMPAT_CHANGE_CONFIG, INTERACT_ACROSS_USERS_FULL); mPlatformCompat.clearOverridesForTest("foo.bar"); } Loading @@ -291,13 +296,15 @@ public final class PlatformCompatPermissionsTest { public void clearOverride_noOverridesPermission_throwsSecurityException() throws Throwable { thrown.expect(SecurityException.class); mUiAutomation.adoptShellPermissionIdentity(INTERACT_ACROSS_USERS_FULL); mPlatformCompat.clearOverride(1, "foo.bar"); } @Test public void clearOverride_overridesPermission_noThrow() throws Throwable { mUiAutomation.adoptShellPermissionIdentity(OVERRIDE_COMPAT_CHANGE_CONFIG); mUiAutomation.adoptShellPermissionIdentity(OVERRIDE_COMPAT_CHANGE_CONFIG, INTERACT_ACROSS_USERS_FULL); mPlatformCompat.clearOverride(1, "foo.bar"); } Loading Loading
services/core/java/com/android/server/compat/CompatConfig.java +3 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.server.compat; import static android.content.pm.PackageManager.MATCH_ANY_USER; import android.annotation.Nullable; import android.app.compat.ChangeIdStateCache; import android.app.compat.PackageOverride; Loading Loading @@ -693,7 +695,7 @@ final class CompatConfig { private Long getVersionCodeOrNull(String packageName) { try { ApplicationInfo applicationInfo = mContext.getPackageManager().getApplicationInfo( packageName, 0); packageName, MATCH_ANY_USER); return applicationInfo.longVersionCode; } catch (PackageManager.NameNotFoundException e) { return null; Loading
services/core/java/com/android/server/compat/OverrideValidatorImpl.java +2 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.server.compat; import static android.Manifest.permission.OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD; import static android.content.pm.PackageManager.MATCH_ANY_USER; import static android.content.pm.PackageManager.PERMISSION_GRANTED; import static com.android.internal.compat.OverrideAllowedState.ALLOWED; Loading Loading @@ -116,7 +117,7 @@ public class OverrideValidatorImpl extends IOverrideValidator.Stub { } ApplicationInfo applicationInfo; try { applicationInfo = packageManager.getApplicationInfo(packageName, 0); applicationInfo = packageManager.getApplicationInfo(packageName, MATCH_ANY_USER); } catch (NameNotFoundException e) { return new OverrideAllowedState(DEFERRED_VERIFICATION, -1, -1); } Loading
services/core/java/com/android/server/compat/PlatformCompat.java +6 −5 Original line number Diff line number Diff line Loading @@ -508,7 +508,8 @@ public class PlatformCompat extends IPlatformCompat.Stub { filter.addAction(Intent.ACTION_PACKAGE_REPLACED); filter.addAction(Intent.ACTION_PACKAGE_REMOVED); filter.addDataScheme("package"); context.registerReceiver(receiver, filter); context.registerReceiverForAllUsers(receiver, filter, /* broadcastPermission= */ null, /* scheduler= */ null); } /** Loading
tests/PlatformCompatGating/src/com/android/tests/gating/PlatformCompatPermissionsTest.java +10 −3 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.tests.gating; import static android.Manifest.permission.INTERACT_ACROSS_USERS_FULL; import static android.Manifest.permission.LOG_COMPAT_CHANGE; import static android.Manifest.permission.OVERRIDE_COMPAT_CHANGE_CONFIG; import static android.Manifest.permission.READ_COMPAT_CHANGE_CONFIG; Loading Loading @@ -261,13 +262,15 @@ public final class PlatformCompatPermissionsTest { public void clearOverrides_noOverridesPermission_throwsSecurityException() throws Throwable { thrown.expect(SecurityException.class); mUiAutomation.adoptShellPermissionIdentity(INTERACT_ACROSS_USERS_FULL); mPlatformCompat.clearOverrides("foo.bar"); } @Test public void clearOverrides_overridesPermission_noThrow() throws Throwable { mUiAutomation.adoptShellPermissionIdentity(OVERRIDE_COMPAT_CHANGE_CONFIG); mUiAutomation.adoptShellPermissionIdentity(OVERRIDE_COMPAT_CHANGE_CONFIG, INTERACT_ACROSS_USERS_FULL); mPlatformCompat.clearOverrides("foo.bar"); } Loading @@ -276,13 +279,15 @@ public final class PlatformCompatPermissionsTest { public void clearOverridesForTest_noOverridesPermission_throwsSecurityException() throws Throwable { thrown.expect(SecurityException.class); mUiAutomation.adoptShellPermissionIdentity(INTERACT_ACROSS_USERS_FULL); mPlatformCompat.clearOverridesForTest("foo.bar"); } @Test public void clearOverridesForTest_overridesPermission_noThrow() throws Throwable { mUiAutomation.adoptShellPermissionIdentity(OVERRIDE_COMPAT_CHANGE_CONFIG); mUiAutomation.adoptShellPermissionIdentity(OVERRIDE_COMPAT_CHANGE_CONFIG, INTERACT_ACROSS_USERS_FULL); mPlatformCompat.clearOverridesForTest("foo.bar"); } Loading @@ -291,13 +296,15 @@ public final class PlatformCompatPermissionsTest { public void clearOverride_noOverridesPermission_throwsSecurityException() throws Throwable { thrown.expect(SecurityException.class); mUiAutomation.adoptShellPermissionIdentity(INTERACT_ACROSS_USERS_FULL); mPlatformCompat.clearOverride(1, "foo.bar"); } @Test public void clearOverride_overridesPermission_noThrow() throws Throwable { mUiAutomation.adoptShellPermissionIdentity(OVERRIDE_COMPAT_CHANGE_CONFIG); mUiAutomation.adoptShellPermissionIdentity(OVERRIDE_COMPAT_CHANGE_CONFIG, INTERACT_ACROSS_USERS_FULL); mPlatformCompat.clearOverride(1, "foo.bar"); } Loading