Loading core/java/android/util/FeatureFlagUtils.java +0 −12 Original line number Diff line number Diff line Loading @@ -51,16 +51,6 @@ public class FeatureFlagUtils { /** @hide */ public static final String SETTINGS_SUPPORT_LARGE_SCREEN = "settings_support_large_screen"; /** * Feature flag to allow/restrict intent redirection from/to clone profile. * Default value is false,this is to ensure that framework is not impacted by intent redirection * till we are ready to launch. * From Android U onwards, this would be set to true and eventually removed. * @hide */ public static final String SETTINGS_ALLOW_INTENT_REDIRECTION_FOR_CLONE_PROFILE = "settings_allow_intent_redirection_for_clone_profile"; /** * Support locale opt-out and opt-in switch for per app's language. * @hide Loading Loading @@ -174,7 +164,6 @@ public class FeatureFlagUtils { DEFAULT_FLAGS.put(SETTINGS_ENABLE_SECURITY_HUB, "true"); DEFAULT_FLAGS.put(SETTINGS_SUPPORT_LARGE_SCREEN, "true"); DEFAULT_FLAGS.put("settings_search_always_expand", "true"); DEFAULT_FLAGS.put(SETTINGS_ALLOW_INTENT_REDIRECTION_FOR_CLONE_PROFILE, "false"); DEFAULT_FLAGS.put(SETTINGS_APP_LOCALE_OPT_IN_ENABLED, "true"); DEFAULT_FLAGS.put(SETTINGS_VOLUME_PANEL_IN_SYSTEMUI, "false"); DEFAULT_FLAGS.put(SETTINGS_ENABLE_MONITOR_PHANTOM_PROCS, "true"); Loading @@ -196,7 +185,6 @@ public class FeatureFlagUtils { static { PERSISTENT_FLAGS = new HashSet<>(); PERSISTENT_FLAGS.add(SETTINGS_ALLOW_INTENT_REDIRECTION_FOR_CLONE_PROFILE); PERSISTENT_FLAGS.add(SETTINGS_APP_LOCALE_OPT_IN_ENABLED); PERSISTENT_FLAGS.add(SETTINGS_SUPPORT_LARGE_SCREEN); PERSISTENT_FLAGS.add(SETTINGS_ENABLE_MONITOR_PHANTOM_PROCS); Loading services/core/java/com/android/server/pm/CloneProfileResolver.java +26 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ package com.android.server.pm; import android.content.Intent; import android.content.pm.ResolveInfo; import android.os.Binder; import android.provider.DeviceConfig; import com.android.server.pm.pkg.PackageStateInternal; import com.android.server.pm.resolution.ComponentResolverApi; Loading @@ -32,6 +34,30 @@ import java.util.function.Function; */ public class CloneProfileResolver extends CrossProfileResolver { /** * Feature flag to allow/restrict intent redirection from/to clone profile. * Default value is false,this is to ensure that framework is not impacted by intent redirection * till we are ready to launch. * From Android U onwards, this would be set to true and eventually removed. * @hide */ private static final String FLAG_ALLOW_INTENT_REDIRECTION_FOR_CLONE_PROFILE = "allow_intent_redirection_for_clone_profile"; /** * Returns true if intent redirection for clone profile feature flag is set * @return value of flag allow_intent_redirection_for_clone_profile */ public static boolean isIntentRedirectionForCloneProfileAllowed() { final long token = Binder.clearCallingIdentity(); try { return DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_APP_CLONING, FLAG_ALLOW_INTENT_REDIRECTION_FOR_CLONE_PROFILE, false /* defaultValue */); } finally { Binder.restoreCallingIdentity(token); } } public CloneProfileResolver(ComponentResolverApi componentResolver, UserManagerService userManagerService) { super(componentResolver, userManagerService); Loading services/core/java/com/android/server/pm/CrossProfileIntentResolverEngine.java +1 −3 Original line number Diff line number Diff line Loading @@ -32,7 +32,6 @@ import android.content.pm.ResolveInfo; import android.content.pm.UserInfo; import android.os.Process; import android.text.TextUtils; import android.util.FeatureFlagUtils; import android.util.Pair; import android.util.Slog; import android.util.SparseArray; Loading Loading @@ -250,8 +249,7 @@ public class CrossProfileIntentResolverEngine { * SETTINGS_ALLOW_INTENT_REDIRECTION_FOR_CLONE_PROFILE is enabled */ if (sourceUserInfo.isCloneProfile() || targetUserInfo.isCloneProfile()) { if (FeatureFlagUtils.isEnabled(mContext, FeatureFlagUtils.SETTINGS_ALLOW_INTENT_REDIRECTION_FOR_CLONE_PROFILE)) { if (CloneProfileResolver.isIntentRedirectionForCloneProfileAllowed()) { return new CloneProfileResolver(computer.getComponentResolver(), mUserManager); } else { Loading Loading
core/java/android/util/FeatureFlagUtils.java +0 −12 Original line number Diff line number Diff line Loading @@ -51,16 +51,6 @@ public class FeatureFlagUtils { /** @hide */ public static final String SETTINGS_SUPPORT_LARGE_SCREEN = "settings_support_large_screen"; /** * Feature flag to allow/restrict intent redirection from/to clone profile. * Default value is false,this is to ensure that framework is not impacted by intent redirection * till we are ready to launch. * From Android U onwards, this would be set to true and eventually removed. * @hide */ public static final String SETTINGS_ALLOW_INTENT_REDIRECTION_FOR_CLONE_PROFILE = "settings_allow_intent_redirection_for_clone_profile"; /** * Support locale opt-out and opt-in switch for per app's language. * @hide Loading Loading @@ -174,7 +164,6 @@ public class FeatureFlagUtils { DEFAULT_FLAGS.put(SETTINGS_ENABLE_SECURITY_HUB, "true"); DEFAULT_FLAGS.put(SETTINGS_SUPPORT_LARGE_SCREEN, "true"); DEFAULT_FLAGS.put("settings_search_always_expand", "true"); DEFAULT_FLAGS.put(SETTINGS_ALLOW_INTENT_REDIRECTION_FOR_CLONE_PROFILE, "false"); DEFAULT_FLAGS.put(SETTINGS_APP_LOCALE_OPT_IN_ENABLED, "true"); DEFAULT_FLAGS.put(SETTINGS_VOLUME_PANEL_IN_SYSTEMUI, "false"); DEFAULT_FLAGS.put(SETTINGS_ENABLE_MONITOR_PHANTOM_PROCS, "true"); Loading @@ -196,7 +185,6 @@ public class FeatureFlagUtils { static { PERSISTENT_FLAGS = new HashSet<>(); PERSISTENT_FLAGS.add(SETTINGS_ALLOW_INTENT_REDIRECTION_FOR_CLONE_PROFILE); PERSISTENT_FLAGS.add(SETTINGS_APP_LOCALE_OPT_IN_ENABLED); PERSISTENT_FLAGS.add(SETTINGS_SUPPORT_LARGE_SCREEN); PERSISTENT_FLAGS.add(SETTINGS_ENABLE_MONITOR_PHANTOM_PROCS); Loading
services/core/java/com/android/server/pm/CloneProfileResolver.java +26 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ package com.android.server.pm; import android.content.Intent; import android.content.pm.ResolveInfo; import android.os.Binder; import android.provider.DeviceConfig; import com.android.server.pm.pkg.PackageStateInternal; import com.android.server.pm.resolution.ComponentResolverApi; Loading @@ -32,6 +34,30 @@ import java.util.function.Function; */ public class CloneProfileResolver extends CrossProfileResolver { /** * Feature flag to allow/restrict intent redirection from/to clone profile. * Default value is false,this is to ensure that framework is not impacted by intent redirection * till we are ready to launch. * From Android U onwards, this would be set to true and eventually removed. * @hide */ private static final String FLAG_ALLOW_INTENT_REDIRECTION_FOR_CLONE_PROFILE = "allow_intent_redirection_for_clone_profile"; /** * Returns true if intent redirection for clone profile feature flag is set * @return value of flag allow_intent_redirection_for_clone_profile */ public static boolean isIntentRedirectionForCloneProfileAllowed() { final long token = Binder.clearCallingIdentity(); try { return DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_APP_CLONING, FLAG_ALLOW_INTENT_REDIRECTION_FOR_CLONE_PROFILE, false /* defaultValue */); } finally { Binder.restoreCallingIdentity(token); } } public CloneProfileResolver(ComponentResolverApi componentResolver, UserManagerService userManagerService) { super(componentResolver, userManagerService); Loading
services/core/java/com/android/server/pm/CrossProfileIntentResolverEngine.java +1 −3 Original line number Diff line number Diff line Loading @@ -32,7 +32,6 @@ import android.content.pm.ResolveInfo; import android.content.pm.UserInfo; import android.os.Process; import android.text.TextUtils; import android.util.FeatureFlagUtils; import android.util.Pair; import android.util.Slog; import android.util.SparseArray; Loading Loading @@ -250,8 +249,7 @@ public class CrossProfileIntentResolverEngine { * SETTINGS_ALLOW_INTENT_REDIRECTION_FOR_CLONE_PROFILE is enabled */ if (sourceUserInfo.isCloneProfile() || targetUserInfo.isCloneProfile()) { if (FeatureFlagUtils.isEnabled(mContext, FeatureFlagUtils.SETTINGS_ALLOW_INTENT_REDIRECTION_FOR_CLONE_PROFILE)) { if (CloneProfileResolver.isIntentRedirectionForCloneProfileAllowed()) { return new CloneProfileResolver(computer.getComponentResolver(), mUserManager); } else { Loading