From 4cca8db28ca6bfae0ecd45470fad73e32968c144 Mon Sep 17 00:00:00 2001 From: Tsung-Mao Fang Date: Thu, 30 Apr 2020 21:51:32 +0800 Subject: [PATCH] Update description when device allows guest user If device supports guest user mode, app pinning recommends guest feature to user. Test: Rebuilt rom and see correct string in app pinning. Fix: 151332926 Change-Id: I6c03ecfe075fba2f4dedca18f65893f328e680aa --- res/values/strings.xml | 4 ++-- .../settings/security/ScreenPinningSettings.java | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index dc343a5fd90..825a818fa82 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -9242,10 +9242,10 @@ \t\n3.\tTap the app icon at the top of the screen, then tap Pin - + App pinning allows you to keep the current app in view until you unpin it. This feature can be used, for example, to let a trusted friend play a specific game. \n\nWhen an app is pinned, the pinned app may open other apps and personal data may be accessible. - \n\nIf you want to securely share your device with someone, try using a guest profile instead. + \n\nIf you want to securely share your device with someone, try using a guest user instead. \n\nTo use app pinning: \t\n1.\tTurn on app pinning \t\n2.\tOpen Overview diff --git a/src/com/android/settings/security/ScreenPinningSettings.java b/src/com/android/settings/security/ScreenPinningSettings.java index 9e14c9a3339..ca7590b202c 100644 --- a/src/com/android/settings/security/ScreenPinningSettings.java +++ b/src/com/android/settings/security/ScreenPinningSettings.java @@ -22,6 +22,7 @@ import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; import android.os.UserHandle; +import android.os.UserManager; import android.provider.SearchIndexableResource; import android.provider.Settings; import android.widget.Switch; @@ -61,6 +62,7 @@ public class ScreenPinningSettings extends SettingsPreferenceFragment private SwitchPreference mUseScreenLock; private FooterPreference mFooterPreference; private LockPatternUtils mLockPatternUtils; + private UserManager mUserManager; @Override public int getMetricsCategory() { @@ -74,6 +76,7 @@ public class ScreenPinningSettings extends SettingsPreferenceFragment final SettingsActivity activity = (SettingsActivity) getActivity(); activity.setTitle(R.string.screen_pinning_title); mLockPatternUtils = new LockPatternUtils(activity); + mUserManager = activity.getSystemService(UserManager.class); addPreferencesFromResource(R.xml.screen_pinning_settings); final PreferenceScreen root = getPreferenceScreen(); @@ -224,10 +227,22 @@ public class ScreenPinningSettings extends SettingsPreferenceFragment mUseScreenLock.setTitle(getCurrentSecurityTitle()); } else { mFooterPreference.setVisible(true); + mFooterPreference.setSummary(getAppPinningContent()); mUseScreenLock.setVisible(false); } } + private boolean isGuestModeSupported() { + return UserManager.supportsMultipleUsers() + && !mUserManager.hasUserRestriction(UserManager.DISALLOW_USER_SWITCH); + } + + private CharSequence getAppPinningContent() { + return isGuestModeSupported() + ? getActivity().getText(R.string.screen_pinning_guest_user_description) + : getActivity().getText(R.string.screen_pinning_description); + } + /** * For search */