diff options
author | Kholoud Mohamed <kholoudm@google.com> | 2020-06-08 14:03:05 +0100 |
---|---|---|
committer | Kholoud Mohamed <kholoudm@google.com> | 2020-06-08 16:03:58 +0100 |
commit | 8fc0a24bc2af40e302ed3dec36920c32f517a105 (patch) | |
tree | 374f515973b6fab8754c50336eacf8835cae4f29 | |
parent | a44860c880327bb57ac5ad843ffdc5963a55b9cf (diff) | |
download | packages_apps_Settings-8fc0a24bc2af40e302ed3dec36920c32f517a105.tar.gz packages_apps_Settings-8fc0a24bc2af40e302ed3dec36920c32f517a105.tar.bz2 packages_apps_Settings-8fc0a24bc2af40e302ed3dec36920c32f517a105.zip |
Add extra summary string in cross profiles page
Fixes: 158227594
Test: manual testing
Change-Id: Idd44c690c2a77503173e733a49bc59c1717cbdd5
3 files changed, 26 insertions, 2 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml index 910aba47c8..887991942b 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -8706,6 +8706,11 @@ to the user's IT admin. [CHAR LIMIT=NONE] --> <string name="interact_across_profiles_summary_2">Only connect apps if you trust them not to share personal data with your IT admin.</string> + <!-- Settings text. This text lets a user know that they can disconnect work and personal apps from + the Privacy page in settings, This is only shown when the connected app page is launched via + an app, not when navigated to via settings. [CHAR LIMIT=NONE] --> + <string name="interact_across_profiles_summary_3">You can disconnect apps anytime in your device\u2019s privacy settings.</string> + <!-- Dialog title. This dialog is shown when a user tries to connect a work app to a personal app (e.g. their work Calendar to their personal Calendar), and it's confirming that they should connect the apps only if they trust the work app with their personal data. [CHAR LIMIT=NONE] --> diff --git a/res/xml/interact_across_profiles_permissions_details.xml b/res/xml/interact_across_profiles_permissions_details.xml index c40eaf542f..bf0ea8fbfd 100644 --- a/res/xml/interact_across_profiles_permissions_details.xml +++ b/res/xml/interact_across_profiles_permissions_details.xml @@ -38,4 +38,9 @@ <Preference android:summary="@string/interact_across_profiles_summary_2" android:selectable="false" /> + + <Preference + android:key="interact_across_profiles_extra_summary" + android:summary="@string/interact_across_profiles_summary_3" + android:selectable="false"/> </PreferenceScreen> diff --git a/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetails.java b/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetails.java index 1fe9fd6264..71d9d13ade 100644 --- a/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetails.java +++ b/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetails.java @@ -63,6 +63,8 @@ public class InteractAcrossProfilesDetails extends AppInfoBase "interact_across_profiles_settings_switch"; private static final String INTERACT_ACROSS_PROFILES_HEADER = "interact_across_profiles_header"; public static final String INSTALL_APP_BANNER_KEY = "install_app_banner"; + public static final String INTERACT_ACROSS_PROFILE_EXTRA_SUMMARY_KEY = + "interact_across_profiles_extra_summary"; public static final String EXTRA_SHOW_FRAGMENT_ARGS = ":settings:show_fragment_args"; public static final String INTENT_KEY = "intent"; @@ -79,6 +81,7 @@ public class InteractAcrossProfilesDetails extends AppInfoBase private boolean mInstalledInWork; private String mAppLabel; private Intent mInstallAppIntent; + private boolean mIsPageLaunchedByApp; @Override public void onCreate(Bundle savedInstanceState) { @@ -106,6 +109,8 @@ public class InteractAcrossProfilesDetails extends AppInfoBase mInstallBanner = findPreference(INSTALL_APP_BANNER_KEY); mInstallBanner.setOnPreferenceClickListener(this); + mIsPageLaunchedByApp = launchedByApp(); + // refreshUi checks that the user can still configure the appOp, return to the // previous page if it can't. if (!refreshUi()) { @@ -113,14 +118,23 @@ public class InteractAcrossProfilesDetails extends AppInfoBase } addAppTitleAndIcons(mPersonalProfile, mWorkProfile); styleActionBar(); + maybeShowExtraSummary(); logPageLaunchMetrics(); } + private void maybeShowExtraSummary() { + Preference extraSummary = findPreference(INTERACT_ACROSS_PROFILE_EXTRA_SUMMARY_KEY); + if (extraSummary == null) { + return; + } + extraSummary.setVisible(mIsPageLaunchedByApp); + } + private void logPageLaunchMetrics() { if (!mCrossProfileApps.canConfigureInteractAcrossProfiles(mPackageName)) { logNonConfigurableAppMetrics(); } - if (launchedByApp()) { + if (mIsPageLaunchedByApp) { logEvent(DevicePolicyEnums.CROSS_PROFILE_SETTINGS_PAGE_LAUNCHED_FROM_APP); } else { logEvent(DevicePolicyEnums.CROSS_PROFILE_SETTINGS_PAGE_LAUNCHED_FROM_SETTINGS); @@ -262,7 +276,7 @@ public class InteractAcrossProfilesDetails extends AppInfoBase logEvent(DevicePolicyEnums.CROSS_PROFILE_SETTINGS_PAGE_USER_CONSENTED); enableInteractAcrossProfiles(true); refreshUi(); - if (launchedByApp()) { + if (mIsPageLaunchedByApp) { setIntentAndFinish(/* appChanged= */ true); } } |