From 166999e9bfce0e6599fa4260cb4d30e3b0260549 Mon Sep 17 00:00:00 2001 From: Cynthia Wasonga Date: Thu, 17 Nov 2022 23:40:01 +0000 Subject: [PATCH] Hide clone profile Settings app from launcher Bug: 258063297 Test: make RunSettingsRoboTests ROBOTEST_FILTER=SettingsInitializeTest Change-Id: If46354271ed1288b5078c4d6100c6f79212f3901 --- .../android/settings/SettingsInitialize.java | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/src/com/android/settings/SettingsInitialize.java b/src/com/android/settings/SettingsInitialize.java index ca136834e14..2c10502753e 100644 --- a/src/com/android/settings/SettingsInitialize.java +++ b/src/com/android/settings/SettingsInitialize.java @@ -66,6 +66,7 @@ public class SettingsInitialize extends BroadcastReceiver { UserInfo userInfo = um.getUserInfo(UserHandle.myUserId()); final PackageManager pm = context.getPackageManager(); managedProfileSetup(context, pm, broadcast, userInfo); + cloneProfileSetup(context, pm, userInfo); webviewSettingSetup(context, pm, userInfo); ThreadUtils.postOnBackgroundThread(() -> refreshExistingShortcuts(context)); enableTwoPaneDeepLinkActivityIfNecessary(pm, context); @@ -104,13 +105,24 @@ public class SettingsInitialize extends BroadcastReceiver { } // Disable launcher icon - ComponentName settingsComponentName = new ComponentName(context, Settings.class); - pm.setComponentEnabledSetting(settingsComponentName, - PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); + disableComponent(pm, new ComponentName(context, Settings.class)); // Disable shortcut picker. - ComponentName shortcutComponentName = new ComponentName( - context, CreateShortcutActivity.class); - pm.setComponentEnabledSetting(shortcutComponentName, + disableComponent(pm, new ComponentName(context, CreateShortcutActivity.class)); + } + + private void cloneProfileSetup(Context context, PackageManager pm, UserInfo userInfo) { + if (userInfo == null || !userInfo.isCloneProfile()) { + return; + } + // Disable launcher icon + disableComponent(pm, new ComponentName(context, Settings.class)); + + //Disable Shortcut picker + disableComponent(pm, new ComponentName(context, CreateShortcutActivity.class)); + } + + private void disableComponent(PackageManager pm, ComponentName componentName) { + pm.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); }