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
This commit is contained in:
Felipe Leme
2021-05-20 15:43:08 -07:00
parent a5b242ec3d
commit 20baecaa83

View File

@@ -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) {