Loading packages/SettingsLib/src/com/android/settingslib/enterprise/ActionDisabledByAdminControllerFactory.java +4 −2 Original line number Diff line number Diff line Loading @@ -33,15 +33,17 @@ public final class ActionDisabledByAdminControllerFactory { /** * Returns the relevant instance of {@link ActionDisabledByAdminController}. * @param userHandle user on which to launch the help page, if necessary */ public static ActionDisabledByAdminController createInstance(Context context, String restriction, DeviceAdminStringProvider stringProvider) { String restriction, DeviceAdminStringProvider stringProvider, UserHandle userHandle) { if (doesBiometricRequireParentalConsent(context, restriction)) { return new BiometricActionDisabledByAdminController(stringProvider); } else if (isFinancedDevice(context)) { return new FinancedDeviceActionDisabledByAdminController(stringProvider); } else { return new ManagedDeviceActionDisabledByAdminController(stringProvider); return new ManagedDeviceActionDisabledByAdminController(stringProvider, userHandle); } } Loading packages/SettingsLib/src/com/android/settingslib/enterprise/ActionDisabledLearnMoreButtonLauncher.java +5 −4 Original line number Diff line number Diff line Loading @@ -54,11 +54,12 @@ public abstract class ActionDisabledLearnMoreButtonLauncher { /** * Sets up a "learn more" button which launches a help page */ public final void setupLearnMoreButtonToLaunchHelpPage(Context context, String url) { public final void setupLearnMoreButtonToLaunchHelpPage( Context context, String url, UserHandle userHandle) { requireNonNull(context, "context cannot be null"); requireNonNull(url, "url cannot be null"); setLearnMoreButton(() -> showHelpPage(context, url)); setLearnMoreButton(() -> showHelpPage(context, url, userHandle)); } /** Loading Loading @@ -105,8 +106,8 @@ public abstract class ActionDisabledLearnMoreButtonLauncher { * Shows the help page using the given {@code url}. */ @VisibleForTesting public void showHelpPage(Context context, String url) { context.startActivityAsUser(createLearnMoreIntent(url), UserHandle.of(context.getUserId())); public void showHelpPage(Context context, String url, UserHandle userHandle) { context.startActivityAsUser(createLearnMoreIntent(url), userHandle); finishSelf(); } Loading packages/SettingsLib/src/com/android/settingslib/enterprise/ManagedDeviceActionDisabledByAdminController.java +16 −2 Original line number Diff line number Diff line Loading @@ -16,13 +16,18 @@ package com.android.settingslib.enterprise; import static java.util.Objects.requireNonNull; import android.app.admin.DevicePolicyManager; import android.content.Context; import android.os.UserHandle; import android.os.UserManager; import android.text.TextUtils; import androidx.annotation.Nullable; import java.util.Objects; /** * An {@link ActionDisabledByAdminController} to be used with managed devices. Loading @@ -30,8 +35,17 @@ import androidx.annotation.Nullable; final class ManagedDeviceActionDisabledByAdminController extends BaseActionDisabledByAdminController { ManagedDeviceActionDisabledByAdminController(DeviceAdminStringProvider stringProvider) { private final UserHandle mUserHandle; /** * Constructs a {@link ManagedDeviceActionDisabledByAdminController} * @param userHandle - user on which to launch the help web page, if necessary */ ManagedDeviceActionDisabledByAdminController( DeviceAdminStringProvider stringProvider, UserHandle userHandle) { super(stringProvider); mUserHandle = requireNonNull(userHandle); } @Override Loading @@ -43,7 +57,7 @@ final class ManagedDeviceActionDisabledByAdminController mLauncher.setupLearnMoreButtonToShowAdminPolicies(context, mEnforcementAdminUserId, mEnforcedAdmin); } else { mLauncher.setupLearnMoreButtonToLaunchHelpPage(context, url); mLauncher.setupLearnMoreButtonToLaunchHelpPage(context, url, mUserHandle); } } Loading packages/SettingsLib/tests/robotests/src/com/android/settingslib/enterprise/ActionDisabledByAdminControllerTestUtils.java +1 −1 Original line number Diff line number Diff line Loading @@ -73,7 +73,7 @@ public final class ActionDisabledByAdminControllerTestUtils { } @Override public void showHelpPage(Context context, String url) { public void showHelpPage(Context context, String url, UserHandle userHandle) { mLearnMoreButtonAction = LEARN_MORE_ACTION_LAUNCH_HELP_PAGE; } Loading packages/SettingsLib/tests/robotests/src/com/android/settingslib/enterprise/ActionDisabledLearnMoreButtonLauncherTest.java +5 −3 Original line number Diff line number Diff line Loading @@ -181,18 +181,20 @@ public final class ActionDisabledLearnMoreButtonLauncherTest { @Test public void testSetupLearnMoreButtonToLaunchHelpPage_nullContext() { assertThrows(NullPointerException.class, () -> mLauncher.setupLearnMoreButtonToLaunchHelpPage(/* context= */ null, URL)); () -> mLauncher.setupLearnMoreButtonToLaunchHelpPage( /* context= */ null, URL, CONTEXT_USER)); } @Test public void testSetupLearnMoreButtonToLaunchHelpPage_nullUrl() { assertThrows(NullPointerException.class, () -> mLauncher.setupLearnMoreButtonToLaunchHelpPage(mContext, /* url= */ null)); () -> mLauncher.setupLearnMoreButtonToLaunchHelpPage( mContext, /* url= */ null, CONTEXT_USER)); } @Test public void testSetupLearnMoreButtonToLaunchHelpPage() { mLauncher.setupLearnMoreButtonToLaunchHelpPage(mContext, URL); mLauncher.setupLearnMoreButtonToLaunchHelpPage(mContext, URL, CONTEXT_USER); tapLearnMore(); verify(mContext).startActivityAsUser(mIntentCaptor.capture(), eq(CONTEXT_USER)); Loading Loading
packages/SettingsLib/src/com/android/settingslib/enterprise/ActionDisabledByAdminControllerFactory.java +4 −2 Original line number Diff line number Diff line Loading @@ -33,15 +33,17 @@ public final class ActionDisabledByAdminControllerFactory { /** * Returns the relevant instance of {@link ActionDisabledByAdminController}. * @param userHandle user on which to launch the help page, if necessary */ public static ActionDisabledByAdminController createInstance(Context context, String restriction, DeviceAdminStringProvider stringProvider) { String restriction, DeviceAdminStringProvider stringProvider, UserHandle userHandle) { if (doesBiometricRequireParentalConsent(context, restriction)) { return new BiometricActionDisabledByAdminController(stringProvider); } else if (isFinancedDevice(context)) { return new FinancedDeviceActionDisabledByAdminController(stringProvider); } else { return new ManagedDeviceActionDisabledByAdminController(stringProvider); return new ManagedDeviceActionDisabledByAdminController(stringProvider, userHandle); } } Loading
packages/SettingsLib/src/com/android/settingslib/enterprise/ActionDisabledLearnMoreButtonLauncher.java +5 −4 Original line number Diff line number Diff line Loading @@ -54,11 +54,12 @@ public abstract class ActionDisabledLearnMoreButtonLauncher { /** * Sets up a "learn more" button which launches a help page */ public final void setupLearnMoreButtonToLaunchHelpPage(Context context, String url) { public final void setupLearnMoreButtonToLaunchHelpPage( Context context, String url, UserHandle userHandle) { requireNonNull(context, "context cannot be null"); requireNonNull(url, "url cannot be null"); setLearnMoreButton(() -> showHelpPage(context, url)); setLearnMoreButton(() -> showHelpPage(context, url, userHandle)); } /** Loading Loading @@ -105,8 +106,8 @@ public abstract class ActionDisabledLearnMoreButtonLauncher { * Shows the help page using the given {@code url}. */ @VisibleForTesting public void showHelpPage(Context context, String url) { context.startActivityAsUser(createLearnMoreIntent(url), UserHandle.of(context.getUserId())); public void showHelpPage(Context context, String url, UserHandle userHandle) { context.startActivityAsUser(createLearnMoreIntent(url), userHandle); finishSelf(); } Loading
packages/SettingsLib/src/com/android/settingslib/enterprise/ManagedDeviceActionDisabledByAdminController.java +16 −2 Original line number Diff line number Diff line Loading @@ -16,13 +16,18 @@ package com.android.settingslib.enterprise; import static java.util.Objects.requireNonNull; import android.app.admin.DevicePolicyManager; import android.content.Context; import android.os.UserHandle; import android.os.UserManager; import android.text.TextUtils; import androidx.annotation.Nullable; import java.util.Objects; /** * An {@link ActionDisabledByAdminController} to be used with managed devices. Loading @@ -30,8 +35,17 @@ import androidx.annotation.Nullable; final class ManagedDeviceActionDisabledByAdminController extends BaseActionDisabledByAdminController { ManagedDeviceActionDisabledByAdminController(DeviceAdminStringProvider stringProvider) { private final UserHandle mUserHandle; /** * Constructs a {@link ManagedDeviceActionDisabledByAdminController} * @param userHandle - user on which to launch the help web page, if necessary */ ManagedDeviceActionDisabledByAdminController( DeviceAdminStringProvider stringProvider, UserHandle userHandle) { super(stringProvider); mUserHandle = requireNonNull(userHandle); } @Override Loading @@ -43,7 +57,7 @@ final class ManagedDeviceActionDisabledByAdminController mLauncher.setupLearnMoreButtonToShowAdminPolicies(context, mEnforcementAdminUserId, mEnforcedAdmin); } else { mLauncher.setupLearnMoreButtonToLaunchHelpPage(context, url); mLauncher.setupLearnMoreButtonToLaunchHelpPage(context, url, mUserHandle); } } Loading
packages/SettingsLib/tests/robotests/src/com/android/settingslib/enterprise/ActionDisabledByAdminControllerTestUtils.java +1 −1 Original line number Diff line number Diff line Loading @@ -73,7 +73,7 @@ public final class ActionDisabledByAdminControllerTestUtils { } @Override public void showHelpPage(Context context, String url) { public void showHelpPage(Context context, String url, UserHandle userHandle) { mLearnMoreButtonAction = LEARN_MORE_ACTION_LAUNCH_HELP_PAGE; } Loading
packages/SettingsLib/tests/robotests/src/com/android/settingslib/enterprise/ActionDisabledLearnMoreButtonLauncherTest.java +5 −3 Original line number Diff line number Diff line Loading @@ -181,18 +181,20 @@ public final class ActionDisabledLearnMoreButtonLauncherTest { @Test public void testSetupLearnMoreButtonToLaunchHelpPage_nullContext() { assertThrows(NullPointerException.class, () -> mLauncher.setupLearnMoreButtonToLaunchHelpPage(/* context= */ null, URL)); () -> mLauncher.setupLearnMoreButtonToLaunchHelpPage( /* context= */ null, URL, CONTEXT_USER)); } @Test public void testSetupLearnMoreButtonToLaunchHelpPage_nullUrl() { assertThrows(NullPointerException.class, () -> mLauncher.setupLearnMoreButtonToLaunchHelpPage(mContext, /* url= */ null)); () -> mLauncher.setupLearnMoreButtonToLaunchHelpPage( mContext, /* url= */ null, CONTEXT_USER)); } @Test public void testSetupLearnMoreButtonToLaunchHelpPage() { mLauncher.setupLearnMoreButtonToLaunchHelpPage(mContext, URL); mLauncher.setupLearnMoreButtonToLaunchHelpPage(mContext, URL, CONTEXT_USER); tapLearnMore(); verify(mContext).startActivityAsUser(mIntentCaptor.capture(), eq(CONTEXT_USER)); Loading