diff options
| author | 2023-04-19 19:27:29 +0000 | |
|---|---|---|
| committer | 2023-04-25 13:21:44 +0000 | |
| commit | c8fe08bdca42c9fc1de9c29a187da2790cfded00 (patch) | |
| tree | d3904bcb4b74e8012af22778a36adce086bcab2d | |
| parent | 820fe8475a4b350cc33458e35776e9c8a4de35a2 (diff) | |
Add config to control app cloning building blocks
Adding a platform config to control app cloning building block adding in
the U release. The default setting is to allow the building blocks to be
enabled.
Bug: 253449368
Test: Tested by flashing the changes on test device
Change-Id: Id30a6841667bd047f7f028ee0107feeeacef0f0c
| -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 { |