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

Commit 20baecaa authored by Felipe Leme's avatar Felipe Leme
Browse files

Refactored some ActionDisabledLearnMoreButtonLauncherImpl methods.

The interface they implement now takes a Context and Object instead
of Activity and AlertDialog.Builder.

Bug: 184107103
Bug: 188836559

Test: atest SettingsRoboTests:com.android.settings.enterprise.ActionDisabledLearnMoreButtonLauncherImplTest
Test: adb shell am start -e android.app.extra.RESTRICTION no_install_unknown-sources -a android.settings.SHOW_ADMIN_SUPPORT_DETAILS
Test: manual verification with CtsVerifier

Change-Id: Ifb08692f8b1973b8ffaeb98b29101b6a8f642922
parent a5b242ec
Loading
Loading
Loading
Loading
+14 −12
Original line number Original line Diff line number Diff line
@@ -20,6 +20,7 @@ import static java.util.Objects.requireNonNull;


import android.app.Activity;
import android.app.Activity;
import android.app.admin.DevicePolicyManager;
import android.app.admin.DevicePolicyManager;
import android.content.Context;
import android.content.Intent;
import android.content.Intent;
import android.net.Uri;
import android.net.Uri;
import android.os.UserHandle;
import android.os.UserHandle;
@@ -54,32 +55,33 @@ public class ActionDisabledLearnMoreButtonLauncherImpl


    @Override
    @Override
    public void setupLearnMoreButtonToShowAdminPolicies(
    public void setupLearnMoreButtonToShowAdminPolicies(
            Activity activity,
            Context context,
            AlertDialog.Builder builder,
            Object alertDialogBuilder,
            int enforcementAdminUserId,
            int enforcementAdminUserId,
            EnforcedAdmin enforcedAdmin) {
            EnforcedAdmin enforcedAdmin) {
        requireNonNull(activity);
        requireNonNull(context);
        requireNonNull(builder);
        requireNonNull(alertDialogBuilder);
        requireNonNull(enforcedAdmin);
        requireNonNull(enforcedAdmin);
        // The "Learn more" button appears only if the restriction is enforced by an admin in the
        // The "Learn more" button appears only if the restriction is enforced by an admin in the
        // same profile group. Otherwise the admin package and its policies are not accessible to
        // same profile group. Otherwise the admin package and its policies are not accessible to
        // the current user.
        // the current user.
        final UserManager um = UserManager.get(activity);
        final UserManager um = UserManager.get(context);
        if (um.isSameProfileGroup(enforcementAdminUserId, um.getUserHandle())) {
        if (um.isSameProfileGroup(enforcementAdminUserId, um.getUserHandle())) {
            setupLearnMoreButton(builder, () ->
            setupLearnMoreButton((AlertDialog.Builder) alertDialogBuilder, () ->
                    SHOW_ADMIN_POLICIES.accept(activity, enforcedAdmin));
                    SHOW_ADMIN_POLICIES.accept((Activity) context, enforcedAdmin));
        }
        }
    }
    }


    @Override
    @Override
    public void setupLearnMoreButtonToLaunchHelpPage(
    public void setupLearnMoreButtonToLaunchHelpPage(
            Activity activity,
            Context context,
            AlertDialog.Builder builder,
            Object alertDialogBuilder,
            String url) {
            String url) {
        requireNonNull(activity);
        requireNonNull(context);
        requireNonNull(builder);
        requireNonNull(alertDialogBuilder);
        requireNonNull(url);
        requireNonNull(url);
        setupLearnMoreButton(builder, () -> LAUNCH_HELP_PAGE.accept(activity, url));
        setupLearnMoreButton((AlertDialog.Builder) alertDialogBuilder,
                () -> LAUNCH_HELP_PAGE.accept((Activity) context, url));
    }
    }


    private void setupLearnMoreButton(AlertDialog.Builder builder, Runnable runnable) {
    private void setupLearnMoreButton(AlertDialog.Builder builder, Runnable runnable) {