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

Commit 974ace22 authored by Kiyoung Kim's avatar Kiyoung Kim Committed by android-build-merger
Browse files

Merge "Schematize ADB system properties"

am: 750b90a2

Change-Id: Ic122a93723e15b4a00e061e38e2741af457ed576
parents 4d8f4919 750b90a2
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -20,8 +20,8 @@ import android.content.Context;
import android.hardware.usb.IUsbManager;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.SystemProperties;
import android.os.UserManager;
import android.sysprop.AdbProperties;
import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
@@ -38,9 +38,6 @@ public class ClearAdbKeysPreferenceController extends DeveloperOptionsPreference
    private static final String TAG = "ClearAdbPrefCtrl";
    private static final String CLEAR_ADB_KEYS = "clear_adb_keys";

    @VisibleForTesting
    static final String RO_ADB_SECURE_PROPERTY_KEY = "ro.adb.secure";

    private final IUsbManager mUsbManager;
    private final DevelopmentSettingsDashboardFragment mFragment;

@@ -54,7 +51,7 @@ public class ClearAdbKeysPreferenceController extends DeveloperOptionsPreference

    @Override
    public boolean isAvailable() {
        return SystemProperties.getBoolean(RO_ADB_SECURE_PROPERTY_KEY, false /* default */);
        return AdbProperties.secure().orElse(false);
    }

    @Override
+9 −10
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@

package com.android.settings.development;

import static com.android.settings.development.ClearAdbKeysPreferenceController.RO_ADB_SECURE_PROPERTY_KEY;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.never;
@@ -28,7 +27,7 @@ import android.app.Fragment;
import android.content.Context;
import android.hardware.usb.IUsbManager;
import android.os.RemoteException;
import android.os.SystemProperties;
import android.sysprop.AdbProperties;
import androidx.preference.SwitchPreference;
import androidx.preference.PreferenceScreen;

@@ -79,21 +78,21 @@ public class ClearAdbKeysPreferenceControllerTest {

    @Test
    public void isAvailable_roAdbSecureEnabled_shouldBeTrue() {
        SystemProperties.set(RO_ADB_SECURE_PROPERTY_KEY, Boolean.toString(true));
        AdbProperties.secure(true);

        assertThat(mController.isAvailable()).isTrue();
    }

    @Test
    public void isAvailable_roAdbSecureDisabled_shouldBeFalse() {
        SystemProperties.set(RO_ADB_SECURE_PROPERTY_KEY, Boolean.toString(false));
        AdbProperties.secure(false);

        assertThat(mController.isAvailable()).isFalse();
    }

    @Test
    public void displayPreference_isNotAdminUser_preferenceShouldBeDisabled() {
        SystemProperties.set(RO_ADB_SECURE_PROPERTY_KEY, Boolean.toString(true));
        AdbProperties.secure(true);
        doReturn(false).when(mController).isAdminUser();

        mController.displayPreference(mScreen);
@@ -104,7 +103,7 @@ public class ClearAdbKeysPreferenceControllerTest {
    @Test
    @Config(shadows = ShadowClearAdbKeysWarningDialog.class)
    public void handlePreferenceTreeClick_clearAdbKeysPreference_shouldShowWarningDialog() {
        SystemProperties.set(RO_ADB_SECURE_PROPERTY_KEY, Boolean.toString(true));
        AdbProperties.secure(true);
        doReturn(true).when(mController).isAdminUser();
        mController.displayPreference(mScreen);
        final String preferenceKey = mController.getPreferenceKey();
@@ -117,7 +116,7 @@ public class ClearAdbKeysPreferenceControllerTest {

    @Test
    public void handlePreferenceTreeClick_notClearAdbKeysPreference_shouldReturnFalse() {
        SystemProperties.set(RO_ADB_SECURE_PROPERTY_KEY, Boolean.toString(true));
        AdbProperties.secure(true);
        doReturn(true).when(mController).isAdminUser();
        mController.displayPreference(mScreen);
        when(mPreference.getKey()).thenReturn("Some random key!!!");
@@ -128,7 +127,7 @@ public class ClearAdbKeysPreferenceControllerTest {

    @Test
    public void handlePreferenceTreeClick_monkeyUser_shouldReturnFalse() {
        SystemProperties.set(RO_ADB_SECURE_PROPERTY_KEY, Boolean.toString(true));
        AdbProperties.secure(true);
        doReturn(true).when(mController).isAdminUser();
        ShadowUtils.setIsUserAMonkey(true);
        mController.displayPreference(mScreen);
@@ -142,7 +141,7 @@ public class ClearAdbKeysPreferenceControllerTest {

    @Test
    public void onDeveloperOptionsSwitchEnabled_isAdminUser_shouldEnablePreference() {
        SystemProperties.set(RO_ADB_SECURE_PROPERTY_KEY, Boolean.toString(true));
        AdbProperties.secure(true);
        doReturn(true).when(mController).isAdminUser();
        mController.displayPreference(mScreen);
        mController.onDeveloperOptionsSwitchEnabled();
@@ -152,7 +151,7 @@ public class ClearAdbKeysPreferenceControllerTest {

    @Test
    public void onDeveloperOptionsSwitchEnabled_isNotAdminUser_shouldNotEnablePreference() {
        SystemProperties.set(RO_ADB_SECURE_PROPERTY_KEY, Boolean.toString(true));
        AdbProperties.secure(true);
        doReturn(false).when(mController).isAdminUser();
        mController.displayPreference(mScreen);
        mController.onDeveloperOptionsSwitchEnabled();