diff --git a/packages/SettingsLib/src/com/android/settingslib/enterprise/ActionDisabledByAdminController.java b/packages/SettingsLib/src/com/android/settingslib/enterprise/ActionDisabledByAdminController.java
index 8730af1..6d7f8df 100644
--- a/packages/SettingsLib/src/com/android/settingslib/enterprise/ActionDisabledByAdminController.java
+++ b/packages/SettingsLib/src/com/android/settingslib/enterprise/ActionDisabledByAdminController.java
@@ -16,11 +16,9 @@
 
 package com.android.settingslib.enterprise;
 
-import android.app.Activity;
 import android.content.Context;
 
 import androidx.annotation.Nullable;
-import androidx.appcompat.app.AlertDialog.Builder;
 
 import com.android.settingslib.RestrictedLockUtils;
 
@@ -33,7 +31,7 @@
      * Handles the adding and setting up of the learn more button. If button is not needed, then
      * this method can be left empty.
      */
-    void setupLearnMoreButton(Activity activity, Builder builder);
+    void setupLearnMoreButton(Context context, Object alertDialogBuilder);
 
     /**
      * Returns the admin support dialog's title resource id.
diff --git a/packages/SettingsLib/src/com/android/settingslib/enterprise/ActionDisabledLearnMoreButtonLauncher.java b/packages/SettingsLib/src/com/android/settingslib/enterprise/ActionDisabledLearnMoreButtonLauncher.java
index 9d2df23..65b91f1 100644
--- a/packages/SettingsLib/src/com/android/settingslib/enterprise/ActionDisabledLearnMoreButtonLauncher.java
+++ b/packages/SettingsLib/src/com/android/settingslib/enterprise/ActionDisabledLearnMoreButtonLauncher.java
@@ -16,9 +16,7 @@
 
 package com.android.settingslib.enterprise;
 
-import android.app.Activity;
-
-import androidx.appcompat.app.AlertDialog;
+import android.content.Context;
 
 import com.android.settingslib.RestrictedLockUtils;
 
@@ -31,8 +29,8 @@
      * Sets up a "learn more" button which shows a screen with device policy settings
      */
     void setupLearnMoreButtonToShowAdminPolicies(
-            Activity activity,
-            AlertDialog.Builder builder,
+            Context context,
+            Object alertDialogBuilder,
             int enforcementAdminUserId,
             RestrictedLockUtils.EnforcedAdmin enforcedAdmin);
 
@@ -40,7 +38,7 @@
      * Sets up a "learn more" button which launches a help page
      */
     void setupLearnMoreButtonToLaunchHelpPage(
-            Activity activity,
-            AlertDialog.Builder builder,
+            Context context,
+            Object alertDialogBuilder,
             String url);
 }
diff --git a/packages/SettingsLib/src/com/android/settingslib/enterprise/FinancedDeviceActionDisabledByAdminController.java b/packages/SettingsLib/src/com/android/settingslib/enterprise/FinancedDeviceActionDisabledByAdminController.java
index 587979d..cd816e88 100644
--- a/packages/SettingsLib/src/com/android/settingslib/enterprise/FinancedDeviceActionDisabledByAdminController.java
+++ b/packages/SettingsLib/src/com/android/settingslib/enterprise/FinancedDeviceActionDisabledByAdminController.java
@@ -19,11 +19,9 @@
 import static java.util.Objects.requireNonNull;
 
 import android.annotation.UserIdInt;
-import android.app.Activity;
 import android.content.Context;
 
 import androidx.annotation.Nullable;
-import androidx.appcompat.app.AlertDialog.Builder;
 
 import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
 
@@ -41,21 +39,22 @@
     FinancedDeviceActionDisabledByAdminController(
             ActionDisabledLearnMoreButtonLauncher helper,
             DeviceAdminStringProvider deviceAdminStringProvider) {
-        mHelper = requireNonNull(helper);
-        mDeviceAdminStringProvider = requireNonNull(deviceAdminStringProvider);
+        mHelper = requireNonNull(helper, "helper cannot be null");
+        mDeviceAdminStringProvider = requireNonNull(deviceAdminStringProvider,
+                "deviceAdminStringProvider cannot be null");
     }
 
     @Override
     public void updateEnforcedAdmin(EnforcedAdmin admin, int adminUserId) {
         mEnforcementAdminUserId = adminUserId;
-        mEnforcedAdmin = requireNonNull(admin);
+        mEnforcedAdmin = requireNonNull(admin, "admin cannot be null");
     }
 
     @Override
-    public void setupLearnMoreButton(Activity activity, Builder builder) {
+    public void setupLearnMoreButton(Context context, Object alertDialogBuilder) {
         mHelper.setupLearnMoreButtonToShowAdminPolicies(
-                activity,
-                builder,
+                context,
+                alertDialogBuilder,
                 mEnforcementAdminUserId,
                 mEnforcedAdmin);
     }
diff --git a/packages/SettingsLib/src/com/android/settingslib/enterprise/ManagedDeviceActionDisabledByAdminController.java b/packages/SettingsLib/src/com/android/settingslib/enterprise/ManagedDeviceActionDisabledByAdminController.java
index 624c88e..70e19f9 100644
--- a/packages/SettingsLib/src/com/android/settingslib/enterprise/ManagedDeviceActionDisabledByAdminController.java
+++ b/packages/SettingsLib/src/com/android/settingslib/enterprise/ManagedDeviceActionDisabledByAdminController.java
@@ -19,14 +19,11 @@
 import static java.util.Objects.requireNonNull;
 
 import android.annotation.UserIdInt;
-import android.app.Activity;
 import android.app.admin.DevicePolicyManager;
 import android.content.Context;
 import android.os.UserManager;
 import android.text.TextUtils;
 
-import androidx.appcompat.app.AlertDialog.Builder;
-
 import com.android.settingslib.RestrictedLockUtils;
 
 /**
@@ -49,20 +46,20 @@
     @Override
     public void updateEnforcedAdmin(RestrictedLockUtils.EnforcedAdmin admin, int adminUserId) {
         mEnforcementAdminUserId = adminUserId;
-        mEnforcedAdmin = requireNonNull(admin);
+        mEnforcedAdmin = requireNonNull(admin, "admin cannot be null");
     }
 
     @Override
-    public void setupLearnMoreButton(Activity activity, Builder builder) {
+    public void setupLearnMoreButton(Context context, Object alertDialogBuilder) {
         String url = mStringProvider.getLearnMoreHelpPageUrl();
         if (TextUtils.isEmpty(url)) {
             mHelper.setupLearnMoreButtonToShowAdminPolicies(
-                    activity,
-                    builder,
+                    context,
+                    alertDialogBuilder,
                     mEnforcementAdminUserId,
                     mEnforcedAdmin);
         } else {
-            mHelper.setupLearnMoreButtonToLaunchHelpPage(activity, builder, url);
+            mHelper.setupLearnMoreButtonToLaunchHelpPage(context, alertDialogBuilder, url);
         }
     }
 
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/enterprise/ActionDisabledByAdminControllerTestUtils.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/enterprise/ActionDisabledByAdminControllerTestUtils.java
index e0c9424..4b51790 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/enterprise/ActionDisabledByAdminControllerTestUtils.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/enterprise/ActionDisabledByAdminControllerTestUtils.java
@@ -19,6 +19,7 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import android.app.Activity;
+import android.content.Context;
 
 import androidx.appcompat.app.AlertDialog;
 
@@ -37,15 +38,15 @@
     ActionDisabledLearnMoreButtonLauncher createLearnMoreButtonLauncher() {
         return new ActionDisabledLearnMoreButtonLauncher() {
             @Override
-            public void setupLearnMoreButtonToShowAdminPolicies(Activity activity,
-                    AlertDialog.Builder builder, int enforcementAdminUserId,
+            public void setupLearnMoreButtonToShowAdminPolicies(Context context,
+                    Object alertDialogBuilder, int enforcementAdminUserId,
                     RestrictedLockUtils.EnforcedAdmin enforcedAdmin) {
                 mLearnMoreButtonAction = LEARN_MORE_ACTION_SHOW_ADMIN_POLICIES;
             }
 
             @Override
-            public void setupLearnMoreButtonToLaunchHelpPage(Activity activity,
-                    AlertDialog.Builder builder, String url) {
+            public void setupLearnMoreButtonToLaunchHelpPage(Context context,
+                    Object alertDialogBuilder, String url) {
                 mLearnMoreButtonAction = LEARN_MORE_ACTION_LAUNCH_HELP_PAGE;
             }
         };
