diff options
| -rw-r--r-- | core/res/res/values/config.xml | 4 | ||||
| -rw-r--r-- | core/res/res/values/symbols.xml | 1 | ||||
| -rw-r--r-- | services/core/java/com/android/server/content/SyncManager.java | 5 | ||||
| -rw-r--r-- | services/core/java/com/android/server/pm/NoFilteringResolver.java | 4 |
4 files changed, 10 insertions, 4 deletions
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index c5f7ea6501ff..ccbb26496027 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -6408,4 +6408,8 @@ <bool name="config_persistBrightnessNitsForDefaultDisplay">false</bool> <!-- Whether to request the approval before commit sessions. --> <bool name="config_isPreApprovalRequestAvailable">true</bool> + + <!-- Whether the AOSP support for app cloning building blocks is to be enabled for the + device. --> + <bool name="config_enableAppCloningBuildingBlocks">true</bool> </resources> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index ae107fd648d3..6704884ec71d 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -480,6 +480,7 @@ <java-symbol type="bool" name="config_multiuserDelayUserDataLocking" /> <java-symbol type="bool" name="config_multiuserVisibleBackgroundUsers" /> <java-symbol type="bool" name="config_multiuserVisibleBackgroundUsersOnDefaultDisplay" /> + <java-symbol type="bool" name="config_enableAppCloningBuildingBlocks" /> <java-symbol type="bool" name="config_enableTimeoutToDockUserWhenDocked" /> <java-symbol type="integer" name="config_userTypePackageWhitelistMode"/> <java-symbol type="xml" name="config_user_types" /> diff --git a/services/core/java/com/android/server/content/SyncManager.java b/services/core/java/com/android/server/content/SyncManager.java index da822fab6af4..3e31bd1e820f 100644 --- a/services/core/java/com/android/server/content/SyncManager.java +++ b/services/core/java/com/android/server/content/SyncManager.java @@ -892,9 +892,8 @@ public class SyncManager { * @return true/false if contact sharing is enabled/disabled */ protected boolean isContactSharingAllowedForCloneProfile() { - // TODO(b/253449368): This method should also check for the config controlling - // all app-cloning features. - return mAppCloningDeviceConfigHelper.getEnableAppCloningBuildingBlocks(); + return mContext.getResources().getBoolean(R.bool.config_enableAppCloningBuildingBlocks) + && mAppCloningDeviceConfigHelper.getEnableAppCloningBuildingBlocks(); } /** diff --git a/services/core/java/com/android/server/pm/NoFilteringResolver.java b/services/core/java/com/android/server/pm/NoFilteringResolver.java index 392389009398..ccd5b0ef4285 100644 --- a/services/core/java/com/android/server/pm/NoFilteringResolver.java +++ b/services/core/java/com/android/server/pm/NoFilteringResolver.java @@ -23,6 +23,7 @@ import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.os.Binder; +import com.android.internal.R; import com.android.internal.config.appcloning.AppCloningDeviceConfigHelper; import com.android.server.pm.pkg.PackageStateInternal; import com.android.server.pm.resolution.ComponentResolverApi; @@ -61,7 +62,8 @@ public class NoFilteringResolver extends CrossProfileResolver { long flags) { final long token = Binder.clearCallingIdentity(); try { - return appCloningDeviceConfigHelper.getEnableAppCloningBuildingBlocks() + return context.getResources().getBoolean(R.bool.config_enableAppCloningBuildingBlocks) + && appCloningDeviceConfigHelper.getEnableAppCloningBuildingBlocks() && (resolveForStart || (((flags & PackageManager.MATCH_CLONE_PROFILE) != 0) && hasPermission(context, Manifest.permission.QUERY_CLONED_APPS))); } finally { |