Merge "Moving permission and flag changes out of root identity for AppCloning IntentRedirection" into udc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
cbcb5f8c2a
@@ -525,6 +525,8 @@ applications that come with the platform
|
||||
<permission name="android.permission.USE_ATTESTATION_VERIFICATION_SERVICE" />
|
||||
<!-- Permission required for GTS test - GtsCredentialsTestCases -->
|
||||
<permission name="android.permission.LAUNCH_CREDENTIAL_SELECTOR"/>
|
||||
<!-- Permission required for CTS test IntentRedirectionTest -->
|
||||
<permission name="android.permission.QUERY_CLONED_APPS"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.android.statementservice">
|
||||
|
||||
@@ -837,6 +837,8 @@
|
||||
<uses-permission android:name="android.permission.USE_ATTESTATION_VERIFICATION_SERVICE" />
|
||||
<!-- Permission required for GTS test - GtsCredentialsTestCases -->
|
||||
<uses-permission android:name="android.permission.LAUNCH_CREDENTIAL_SELECTOR" />
|
||||
<!-- Permission required for CTS test IntentRedirectionTest -->
|
||||
<uses-permission android:name="android.permission.QUERY_CLONED_APPS" />
|
||||
|
||||
<application
|
||||
android:label="@string/app_label"
|
||||
|
||||
@@ -60,15 +60,9 @@ public class NoFilteringResolver extends CrossProfileResolver {
|
||||
public static boolean isIntentRedirectionAllowed(Context context,
|
||||
AppCloningDeviceConfigHelper appCloningDeviceConfigHelper, boolean resolveForStart,
|
||||
long flags) {
|
||||
final long token = Binder.clearCallingIdentity();
|
||||
try {
|
||||
return context.getResources().getBoolean(R.bool.config_enableAppCloningBuildingBlocks)
|
||||
&& appCloningDeviceConfigHelper.getEnableAppCloningBuildingBlocks()
|
||||
return isAppCloningBuildingBlocksEnabled(context, appCloningDeviceConfigHelper)
|
||||
&& (resolveForStart || (((flags & PackageManager.MATCH_CLONE_PROFILE) != 0)
|
||||
&& hasPermission(context, Manifest.permission.QUERY_CLONED_APPS)));
|
||||
} finally {
|
||||
Binder.restoreCallingIdentity(token);
|
||||
}
|
||||
}
|
||||
|
||||
public NoFilteringResolver(ComponentResolverApi componentResolver,
|
||||
@@ -146,4 +140,18 @@ public class NoFilteringResolver extends CrossProfileResolver {
|
||||
return context.checkCallingOrSelfPermission(permission)
|
||||
== PackageManager.PERMISSION_GRANTED;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the AppCloningBuildingBlocks flag is enabled.
|
||||
*/
|
||||
private static boolean isAppCloningBuildingBlocksEnabled(Context context,
|
||||
AppCloningDeviceConfigHelper appCloningDeviceConfigHelper) {
|
||||
final long token = Binder.clearCallingIdentity();
|
||||
try {
|
||||
return context.getResources().getBoolean(R.bool.config_enableAppCloningBuildingBlocks)
|
||||
&& appCloningDeviceConfigHelper.getEnableAppCloningBuildingBlocks();
|
||||
} finally {
|
||||
Binder.restoreCallingIdentity(token);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user