Add extra summary string in cross profiles page

Fixes: 158227594
Test: manual testing
Change-Id: Idd44c690c2a77503173e733a49bc59c1717cbdd5
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 910aba4..8879919 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 c40eaf5..bf0ea8f 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 1fe9fd6..71d9d13 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 @@
             "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 @@
     private boolean mInstalledInWork;
     private String mAppLabel;
     private Intent mInstallAppIntent;
+    private boolean mIsPageLaunchedByApp;
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
@@ -106,6 +109,8 @@
         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 @@
         }
         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 @@
                         logEvent(DevicePolicyEnums.CROSS_PROFILE_SETTINGS_PAGE_USER_CONSENTED);
                         enableInteractAcrossProfiles(true);
                         refreshUi();
-                        if (launchedByApp()) {
+                        if (mIsPageLaunchedByApp) {
                             setIntentAndFinish(/* appChanged= */ true);
                         }
                     }