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

Commit 750b90a2 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Schematize ADB system properties"

parents b139a4c1 6ade19a3
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();