From 83f0d24f677a58eefb9a73ad6247da79b741e9d1 Mon Sep 17 00:00:00 2001 From: Adam He Date: Wed, 29 May 2019 14:21:33 -0700 Subject: [PATCH] Profile select only shows with multiple profiles present. Bug: 133328247 Change-Id: Id5d03a1aa74f1789c41af37562848603a90db84f Test: manual verification --- ...thServiceSettingsPreferenceController.java | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/src/com/android/settings/privacy/EnableContentCaptureWithServiceSettingsPreferenceController.java b/src/com/android/settings/privacy/EnableContentCaptureWithServiceSettingsPreferenceController.java index 809bfbdc21f..77aab34c9c3 100644 --- a/src/com/android/settings/privacy/EnableContentCaptureWithServiceSettingsPreferenceController.java +++ b/src/com/android/settings/privacy/EnableContentCaptureWithServiceSettingsPreferenceController.java @@ -96,18 +96,23 @@ public final class EnableContentCaptureWithServiceSettingsPreferenceController for (UserInfo info: userInfos) { userHandles.add(info.getUserHandle()); } - - AlertDialog.Builder builder = new AlertDialog.Builder(context); - UserAdapter adapter = UserAdapter.createUserAdapter(userManager, context, userHandles); - builder.setTitle(com.android.settingslib.R.string.choose_profile) - .setAdapter(adapter, (DialogInterface dialog, int which) -> { - final UserHandle user = userHandles.get(which); - // Show menu on top level items. - final Intent intent = pref.getIntent(); - intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); - context.startActivityAsUser(intent, user); - }) - .show(); + if (userHandles.size() == 1) { + final Intent intent = pref.getIntent().addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); + context.startActivityAsUser(intent, userHandles.get(0)); + } else { + AlertDialog.Builder builder = new AlertDialog.Builder(context); + UserAdapter adapter = UserAdapter.createUserAdapter(userManager, context, + userHandles); + builder.setTitle(com.android.settingslib.R.string.choose_profile) + .setAdapter(adapter, (DialogInterface dialog, int which) -> { + final UserHandle user = userHandles.get(which); + // Show menu on top level items. + final Intent intent = pref.getIntent() + .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); + context.startActivityAsUser(intent, user); + }) + .show(); + } } }