Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8fc0a24b authored by Kholoud Mohamed's avatar Kholoud Mohamed
Browse files

Add extra summary string in cross profiles page

Fixes: 158227594
Test: manual testing
Change-Id: Idd44c690c2a77503173e733a49bc59c1717cbdd5
parent a44860c8
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -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] -->
+5 −0
Original line number Diff line number Diff line
@@ -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>
+16 −2
Original line number Diff line number Diff line
@@ -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);
                        }
                    }