Loading services/core/java/com/android/server/compat/PlatformCompat.java +7 −0 Original line number Diff line number Diff line Loading @@ -102,6 +102,13 @@ public class PlatformCompat extends IPlatformCompat.Stub { @Override public boolean isChangeEnabled(long changeId, ApplicationInfo appInfo) { checkCompatChangeReadAndLogPermission(); return isChangeEnabledInternal(changeId, appInfo); } /** * Internal version of the above method. Does not perform costly permission check. */ public boolean isChangeEnabledInternal(long changeId, ApplicationInfo appInfo) { if (mCompatConfig.isChangeEnabled(changeId, appInfo)) { reportChange(changeId, appInfo.uid, ChangeReporter.STATE_ENABLED); Loading services/core/java/com/android/server/pm/AppsFilter.java +7 −15 Original line number Diff line number Diff line Loading @@ -32,7 +32,6 @@ import android.content.pm.parsing.component.ParsedInstrumentation; import android.content.pm.parsing.component.ParsedIntentInfo; import android.content.pm.parsing.component.ParsedMainComponent; import android.content.pm.parsing.component.ParsedProvider; import android.os.Binder; import android.os.Process; import android.os.Trace; import android.os.UserHandle; Loading Loading @@ -239,21 +238,14 @@ public class AppsFilter { } private void updateEnabledState(AndroidPackage pkg) { final long token = Binder.clearCallingIdentity(); try { // TODO(b/135203078): Do not use toAppInfo final boolean enabled = mInjector.getCompatibility().isChangeEnabled( PackageManager.FILTER_APPLICATION_QUERY, pkg.toAppInfoWithoutState()); final boolean enabled = mInjector.getCompatibility().isChangeEnabledInternal( PackageManager.FILTER_APPLICATION_QUERY, pkg.toAppInfoWithoutState()); if (enabled) { mDisabledPackages.remove(pkg.getPackageName()); } else { mDisabledPackages.add(pkg.getPackageName()); } } finally { Binder.restoreCallingIdentity(token); } } @Override Loading services/core/java/com/android/server/pm/SELinuxMMAC.java +2 −1 Original line number Diff line number Diff line Loading @@ -349,7 +349,8 @@ public final class SELinuxMMAC { if ((sharedUserSetting != null) && (sharedUserSetting.packages.size() != 0)) { return sharedUserSetting.seInfoTargetSdkVersion; } if (compatibility.isChangeEnabled(SELINUX_LATEST_CHANGES, pkg.toAppInfoWithoutState())) { if (compatibility.isChangeEnabledInternal(SELINUX_LATEST_CHANGES, pkg.toAppInfoWithoutState())) { return android.os.Build.VERSION_CODES.R; } Loading services/tests/servicestests/src/com/android/server/pm/SELinuxMMACTest.java +3 −3 Original line number Diff line number Diff line Loading @@ -52,7 +52,7 @@ public class SELinuxMMACTest { @Test public void getSeInfoOptInToLatest() { AndroidPackage pkg = makePackage(Build.VERSION_CODES.P); when(mMockCompatibility.isChangeEnabled(eq(SELinuxMMAC.SELINUX_LATEST_CHANGES), when(mMockCompatibility.isChangeEnabledInternal(eq(SELinuxMMAC.SELINUX_LATEST_CHANGES), argThat(argument -> argument.packageName.equals(pkg.getPackageName())))) .thenReturn(true); assertThat(SELinuxMMAC.getSeInfo(pkg, null, mMockCompatibility), Loading @@ -62,7 +62,7 @@ public class SELinuxMMACTest { @Test public void getSeInfoNoOptIn() { AndroidPackage pkg = makePackage(Build.VERSION_CODES.P); when(mMockCompatibility.isChangeEnabled(eq(SELinuxMMAC.SELINUX_LATEST_CHANGES), when(mMockCompatibility.isChangeEnabledInternal(eq(SELinuxMMAC.SELINUX_LATEST_CHANGES), argThat(argument -> argument.packageName.equals(pkg.getPackageName())))) .thenReturn(false); assertThat(SELinuxMMAC.getSeInfo(pkg, null, mMockCompatibility), Loading @@ -72,7 +72,7 @@ public class SELinuxMMACTest { @Test public void getSeInfoNoOptInButAlreadyR() { AndroidPackage pkg = makePackage(OPT_IN_VERSION); when(mMockCompatibility.isChangeEnabled(eq(SELinuxMMAC.SELINUX_LATEST_CHANGES), when(mMockCompatibility.isChangeEnabledInternal(eq(SELinuxMMAC.SELINUX_LATEST_CHANGES), argThat(argument -> argument.packageName.equals(pkg.getPackageName())))) .thenReturn(false); assertThat(SELinuxMMAC.getSeInfo(pkg, null, mMockCompatibility), Loading Loading
services/core/java/com/android/server/compat/PlatformCompat.java +7 −0 Original line number Diff line number Diff line Loading @@ -102,6 +102,13 @@ public class PlatformCompat extends IPlatformCompat.Stub { @Override public boolean isChangeEnabled(long changeId, ApplicationInfo appInfo) { checkCompatChangeReadAndLogPermission(); return isChangeEnabledInternal(changeId, appInfo); } /** * Internal version of the above method. Does not perform costly permission check. */ public boolean isChangeEnabledInternal(long changeId, ApplicationInfo appInfo) { if (mCompatConfig.isChangeEnabled(changeId, appInfo)) { reportChange(changeId, appInfo.uid, ChangeReporter.STATE_ENABLED); Loading
services/core/java/com/android/server/pm/AppsFilter.java +7 −15 Original line number Diff line number Diff line Loading @@ -32,7 +32,6 @@ import android.content.pm.parsing.component.ParsedInstrumentation; import android.content.pm.parsing.component.ParsedIntentInfo; import android.content.pm.parsing.component.ParsedMainComponent; import android.content.pm.parsing.component.ParsedProvider; import android.os.Binder; import android.os.Process; import android.os.Trace; import android.os.UserHandle; Loading Loading @@ -239,21 +238,14 @@ public class AppsFilter { } private void updateEnabledState(AndroidPackage pkg) { final long token = Binder.clearCallingIdentity(); try { // TODO(b/135203078): Do not use toAppInfo final boolean enabled = mInjector.getCompatibility().isChangeEnabled( PackageManager.FILTER_APPLICATION_QUERY, pkg.toAppInfoWithoutState()); final boolean enabled = mInjector.getCompatibility().isChangeEnabledInternal( PackageManager.FILTER_APPLICATION_QUERY, pkg.toAppInfoWithoutState()); if (enabled) { mDisabledPackages.remove(pkg.getPackageName()); } else { mDisabledPackages.add(pkg.getPackageName()); } } finally { Binder.restoreCallingIdentity(token); } } @Override Loading
services/core/java/com/android/server/pm/SELinuxMMAC.java +2 −1 Original line number Diff line number Diff line Loading @@ -349,7 +349,8 @@ public final class SELinuxMMAC { if ((sharedUserSetting != null) && (sharedUserSetting.packages.size() != 0)) { return sharedUserSetting.seInfoTargetSdkVersion; } if (compatibility.isChangeEnabled(SELINUX_LATEST_CHANGES, pkg.toAppInfoWithoutState())) { if (compatibility.isChangeEnabledInternal(SELINUX_LATEST_CHANGES, pkg.toAppInfoWithoutState())) { return android.os.Build.VERSION_CODES.R; } Loading
services/tests/servicestests/src/com/android/server/pm/SELinuxMMACTest.java +3 −3 Original line number Diff line number Diff line Loading @@ -52,7 +52,7 @@ public class SELinuxMMACTest { @Test public void getSeInfoOptInToLatest() { AndroidPackage pkg = makePackage(Build.VERSION_CODES.P); when(mMockCompatibility.isChangeEnabled(eq(SELinuxMMAC.SELINUX_LATEST_CHANGES), when(mMockCompatibility.isChangeEnabledInternal(eq(SELinuxMMAC.SELINUX_LATEST_CHANGES), argThat(argument -> argument.packageName.equals(pkg.getPackageName())))) .thenReturn(true); assertThat(SELinuxMMAC.getSeInfo(pkg, null, mMockCompatibility), Loading @@ -62,7 +62,7 @@ public class SELinuxMMACTest { @Test public void getSeInfoNoOptIn() { AndroidPackage pkg = makePackage(Build.VERSION_CODES.P); when(mMockCompatibility.isChangeEnabled(eq(SELinuxMMAC.SELINUX_LATEST_CHANGES), when(mMockCompatibility.isChangeEnabledInternal(eq(SELinuxMMAC.SELINUX_LATEST_CHANGES), argThat(argument -> argument.packageName.equals(pkg.getPackageName())))) .thenReturn(false); assertThat(SELinuxMMAC.getSeInfo(pkg, null, mMockCompatibility), Loading @@ -72,7 +72,7 @@ public class SELinuxMMACTest { @Test public void getSeInfoNoOptInButAlreadyR() { AndroidPackage pkg = makePackage(OPT_IN_VERSION); when(mMockCompatibility.isChangeEnabled(eq(SELinuxMMAC.SELINUX_LATEST_CHANGES), when(mMockCompatibility.isChangeEnabledInternal(eq(SELinuxMMAC.SELINUX_LATEST_CHANGES), argThat(argument -> argument.packageName.equals(pkg.getPackageName())))) .thenReturn(false); assertThat(SELinuxMMAC.getSeInfo(pkg, null, mMockCompatibility), Loading