Hide clone profile Settings app from launcher

Bug: 258063297
Test: make RunSettingsRoboTests ROBOTEST_FILTER=SettingsInitializeTest

Change-Id: If46354271ed1288b5078c4d6100c6f79212f3901
This commit is contained in:
Cynthia Wasonga
2022-11-17 23:40:01 +00:00
parent 7b9bce321b
commit 166999e9bf

View File

@@ -66,6 +66,7 @@ public class SettingsInitialize extends BroadcastReceiver {
UserInfo userInfo = um.getUserInfo(UserHandle.myUserId()); UserInfo userInfo = um.getUserInfo(UserHandle.myUserId());
final PackageManager pm = context.getPackageManager(); final PackageManager pm = context.getPackageManager();
managedProfileSetup(context, pm, broadcast, userInfo); managedProfileSetup(context, pm, broadcast, userInfo);
cloneProfileSetup(context, pm, userInfo);
webviewSettingSetup(context, pm, userInfo); webviewSettingSetup(context, pm, userInfo);
ThreadUtils.postOnBackgroundThread(() -> refreshExistingShortcuts(context)); ThreadUtils.postOnBackgroundThread(() -> refreshExistingShortcuts(context));
enableTwoPaneDeepLinkActivityIfNecessary(pm, context); enableTwoPaneDeepLinkActivityIfNecessary(pm, context);
@@ -104,13 +105,24 @@ public class SettingsInitialize extends BroadcastReceiver {
} }
// Disable launcher icon // Disable launcher icon
ComponentName settingsComponentName = new ComponentName(context, Settings.class); disableComponent(pm, new ComponentName(context, Settings.class));
pm.setComponentEnabledSetting(settingsComponentName,
PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
// Disable shortcut picker. // Disable shortcut picker.
ComponentName shortcutComponentName = new ComponentName( disableComponent(pm, new ComponentName(context, CreateShortcutActivity.class));
context, CreateShortcutActivity.class); }
pm.setComponentEnabledSetting(shortcutComponentName,
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); PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
} }