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

Commit ef6564cb authored by Joe Bolinger's avatar Joe Bolinger Committed by Android (Google) Code Review
Browse files

Merge "Declare ACTION_MANAGE_SUPERVISOR_RESTRICTED_SETTING intent as an API."

parents 6551a4d5 016c46dc
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -35536,6 +35536,7 @@ package android.provider {
    field public static final String ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION = "android.settings.MANAGE_APP_ALL_FILES_ACCESS_PERMISSION";
    field public static final String ACTION_MANAGE_DEFAULT_APPS_SETTINGS = "android.settings.MANAGE_DEFAULT_APPS_SETTINGS";
    field public static final String ACTION_MANAGE_OVERLAY_PERMISSION = "android.settings.action.MANAGE_OVERLAY_PERMISSION";
    field public static final String ACTION_MANAGE_SUPERVISOR_RESTRICTED_SETTING = "android.settings.MANAGE_SUPERVISOR_RESTRICTED_SETTING";
    field public static final String ACTION_MANAGE_UNKNOWN_APP_SOURCES = "android.settings.MANAGE_UNKNOWN_APP_SOURCES";
    field public static final String ACTION_MANAGE_WRITE_SETTINGS = "android.settings.action.MANAGE_WRITE_SETTINGS";
    field public static final String ACTION_MEMORY_CARD_SETTINGS = "android.settings.MEMORY_CARD_SETTINGS";
@@ -35604,10 +35605,13 @@ package android.provider {
    field public static final String EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY = "android.provider.extra.SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY";
    field public static final String EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI = "android.provider.extra.SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI";
    field public static final String EXTRA_SUB_ID = "android.provider.extra.SUB_ID";
    field public static final String EXTRA_SUPERVISOR_RESTRICTED_SETTING_KEY = "android.provider.extra.SUPERVISOR_RESTRICTED_SETTING_KEY";
    field public static final String EXTRA_WIFI_NETWORK_LIST = "android.provider.extra.WIFI_NETWORK_LIST";
    field public static final String EXTRA_WIFI_NETWORK_RESULT_LIST = "android.provider.extra.WIFI_NETWORK_RESULT_LIST";
    field public static final String INTENT_CATEGORY_USAGE_ACCESS_CONFIG = "android.intent.category.USAGE_ACCESS_CONFIG";
    field public static final String METADATA_USAGE_ACCESS_REASON = "android.settings.metadata.USAGE_ACCESS_REASON";
    field public static final String SUPERVISOR_VERIFICATION_SETTING_BIOMETRICS = "supervisor_restricted_biometrics_controller";
    field public static final String SUPERVISOR_VERIFICATION_SETTING_UNKNOWN = "";
  }
  public static final class Settings.Global extends android.provider.Settings.NameValueTable {
+51 −2
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.annotation.Nullable;
import android.annotation.RequiresPermission;
import android.annotation.SdkConstant;
import android.annotation.SdkConstant.SdkConstantType;
import android.annotation.StringDef;
import android.annotation.SuppressLint;
import android.annotation.SystemApi;
import android.annotation.TestApi;
@@ -2077,8 +2078,56 @@ public final class Settings {
    // Intent#EXTRA_USER_ID can also be used
    @SystemApi
    @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
    public static final String ACTION_SHOW_ADMIN_SUPPORT_DETAILS
            = "android.settings.SHOW_ADMIN_SUPPORT_DETAILS";
    public static final String ACTION_SHOW_ADMIN_SUPPORT_DETAILS =
            "android.settings.SHOW_ADMIN_SUPPORT_DETAILS";
    /**
     * Intent extra: The id of a setting restricted by supervisors.
     * <p>
     * Type: String with a value from the SupervisorVerificationSetting annotation below.
     * <ul>
     * <li>{@link #SUPERVISOR_VERIFICATION_SETTING_UNKNOWN}
     * <li>{@link #SUPERVISOR_VERIFICATION_SETTING_BIOMETRICS}
     * </ul>
     * </p>
     */
    public static final String EXTRA_SUPERVISOR_RESTRICTED_SETTING_KEY =
            "android.provider.extra.SUPERVISOR_RESTRICTED_SETTING_KEY";
    /**
     * Unknown setting.
     */
    public static final String SUPERVISOR_VERIFICATION_SETTING_UNKNOWN = "";
    /**
     * Biometric settings for supervisors.
     */
    public static final String SUPERVISOR_VERIFICATION_SETTING_BIOMETRICS =
            "supervisor_restricted_biometrics_controller";
    /**
     * Keys for {@link #EXTRA_SUPERVISOR_RESTRICTED_SETTING_KEY}.
     * @hide
     */
    @Retention(RetentionPolicy.SOURCE)
    @StringDef(prefix = { "SUPERVISOR_VERIFICATION_SETTING_" }, value = {
            SUPERVISOR_VERIFICATION_SETTING_UNKNOWN,
            SUPERVISOR_VERIFICATION_SETTING_BIOMETRICS,
    })
    public @interface SupervisorVerificationSetting {}
    /**
     * Activity action: Launch UI to manage a setting restricted by supervisors.
     * <p>
     * Input: {@link #EXTRA_SUPERVISOR_RESTRICTED_SETTING_KEY} specifies what setting to open.
     * </p>
     * <p>
     * Output: Nothing.
     * </p>
     */
    @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
    public static final String ACTION_MANAGE_SUPERVISOR_RESTRICTED_SETTING =
            "android.settings.MANAGE_SUPERVISOR_RESTRICTED_SETTING";
    /**
     * Activity Action: Show a dialog for remote bugreport flow.
+4 −12
Original line number Diff line number Diff line
@@ -20,10 +20,10 @@ import android.annotation.NonNull;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.provider.Settings;
import android.util.Log;

import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;

import com.android.settingslib.RestrictedLockUtils;

@@ -31,15 +31,6 @@ public class BiometricActionDisabledByAdminController extends BaseActionDisabled

    private static final String TAG = "BiometricActionDisabledByAdminController";

    // These MUST not change, as they are the stable API between here and device admin specified
    // by the component below.
    @VisibleForTesting
    static final String ACTION_LEARN_MORE = "android.intent.action.MANAGE_RESTRICTED_SETTING";
    @VisibleForTesting
    static final String EXTRA_SETTING_KEY = "extra_setting";
    @VisibleForTesting
    static final String EXTRA_SETTING_VALUE = "biometric_disabled_by_admin_controller";

    BiometricActionDisabledByAdminController(
            DeviceAdminStringProvider stringProvider) {
        super(stringProvider);
@@ -66,8 +57,9 @@ public class BiometricActionDisabledByAdminController extends BaseActionDisabled
            @NonNull RestrictedLockUtils.EnforcedAdmin enforcedAdmin) {
        return (dialog, which) -> {
            Log.d(TAG, "Positive button clicked, component: " + enforcedAdmin.component);
            final Intent intent = new Intent(ACTION_LEARN_MORE)
                    .putExtra(EXTRA_SETTING_KEY, EXTRA_SETTING_VALUE)
            final Intent intent = new Intent(Settings.ACTION_MANAGE_SUPERVISOR_RESTRICTED_SETTING)
                    .putExtra(Settings.EXTRA_SUPERVISOR_RESTRICTED_SETTING_KEY,
                            Settings.SUPERVISOR_VERIFICATION_SETTING_BIOMETRICS)
                    .setPackage(enforcedAdmin.component.getPackageName());
            context.startActivity(intent);
        };
+4 −3
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.UserHandle;
import android.provider.Settings;

import com.android.settingslib.RestrictedLockUtils;

@@ -77,11 +78,11 @@ public class BiometricActionDisabledByAdminControllerTest {

        ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
        verify(mContext).startActivity(intentCaptor.capture());
        assertEquals(BiometricActionDisabledByAdminController.ACTION_LEARN_MORE,
        assertEquals(Settings.ACTION_MANAGE_SUPERVISOR_RESTRICTED_SETTING,
                intentCaptor.getValue().getAction());
        assertEquals(BiometricActionDisabledByAdminController.EXTRA_SETTING_VALUE,
        assertEquals(Settings.SUPERVISOR_VERIFICATION_SETTING_BIOMETRICS,
                intentCaptor.getValue().getStringExtra(
                        BiometricActionDisabledByAdminController.EXTRA_SETTING_KEY));
                        Settings.EXTRA_SUPERVISOR_RESTRICTED_SETTING_KEY));
        assertSame(componentName, intentCaptor.getValue().getComponent());
    }
}