Loading res/values/strings.xml +5 −0 Original line number Diff line number Diff line Loading @@ -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] --> res/xml/interact_across_profiles_permissions_details.xml +5 −0 Original line number Diff line number Diff line Loading @@ -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> src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetails.java +16 −2 Original line number Diff line number Diff line Loading @@ -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"; Loading @@ -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) { Loading Loading @@ -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()) { Loading @@ -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); Loading Loading @@ -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); } } Loading Loading
res/values/strings.xml +5 −0 Original line number Diff line number Diff line Loading @@ -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] -->
res/xml/interact_across_profiles_permissions_details.xml +5 −0 Original line number Diff line number Diff line Loading @@ -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>
src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetails.java +16 −2 Original line number Diff line number Diff line Loading @@ -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"; Loading @@ -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) { Loading Loading @@ -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()) { Loading @@ -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); Loading Loading @@ -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); } } Loading