From 37bd3482ca2603720f6fad63a8f58c999e88f8aa Mon Sep 17 00:00:00 2001 From: Kiyoung Kim Date: Thu, 27 Dec 2018 14:31:48 +0900 Subject: [PATCH] Schematize ADB system properties Properties accessed across partitions are now schematized and will become APIs to make explicit interfaces among partitions. Bug: 117924132 Test: m -j Change-Id: Iec37f5f35b1452afdf7b15e9f31c4b4726127065 --- .../ClearAdbKeysPreferenceController.java | 6 ++---- .../ClearAdbKeysPreferenceControllerTest.java | 21 ++++++++----------- 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/src/com/android/settings/development/ClearAdbKeysPreferenceController.java b/src/com/android/settings/development/ClearAdbKeysPreferenceController.java index e1fda67132e..6613cfda181 100644 --- a/src/com/android/settings/development/ClearAdbKeysPreferenceController.java +++ b/src/com/android/settings/development/ClearAdbKeysPreferenceController.java @@ -22,6 +22,7 @@ import android.os.RemoteException; import android.os.ServiceManager; import android.os.SystemProperties; import android.os.UserManager; +import android.sysprop.AdbProperties; import android.text.TextUtils; import android.util.Log; @@ -39,9 +40,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 IAdbManager mAdbManager; private final DevelopmentSettingsDashboardFragment mFragment; @@ -55,7 +53,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 diff --git a/tests/robotests/src/com/android/settings/development/ClearAdbKeysPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/ClearAdbKeysPreferenceControllerTest.java index 3dc6ad9ba1f..770dd60d9bb 100644 --- a/tests/robotests/src/com/android/settings/development/ClearAdbKeysPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/development/ClearAdbKeysPreferenceControllerTest.java @@ -16,9 +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; @@ -30,7 +27,7 @@ import static org.mockito.Mockito.when; import android.content.Context; import android.debug.IAdbManager; import android.os.RemoteException; -import android.os.SystemProperties; +import android.sysprop.AdbProperties; import androidx.fragment.app.Fragment; import androidx.preference.PreferenceScreen; @@ -83,21 +80,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); @@ -108,7 +105,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(); @@ -121,7 +118,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!!!"); @@ -132,7 +129,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); @@ -146,7 +143,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(); @@ -156,7 +153,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();