diff --git a/res/values/strings.xml b/res/values/strings.xml index 975a8fa85cc..de8ca8a54fd 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -8706,6 +8706,11 @@ to the user's IT admin. [CHAR LIMIT=NONE] --> Only connect apps if you trust them not to share personal data with your IT admin. + + You can disconnect apps anytime in your device\u2019s privacy settings. + diff --git a/res/xml/interact_across_profiles_permissions_details.xml b/res/xml/interact_across_profiles_permissions_details.xml index c40eaf542f6..bf0ea8fbfd9 100644 --- a/res/xml/interact_across_profiles_permissions_details.xml +++ b/res/xml/interact_across_profiles_permissions_details.xml @@ -38,4 +38,9 @@ + + diff --git a/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetails.java b/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetails.java index 1fe9fd62643..71d9d13adea 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); } }