Merge "Fix wrong TetherProvisioningActivity definition"
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 30fd403..2a69d14 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -41,7 +41,7 @@
     <uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" />
     <uses-permission android:name="android.permission.READ_PHONE_STATE" />
     <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
-    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
+    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
     <uses-permission android:name="android.permission.WRITE_APN_SETTINGS"/>
     <uses-permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES"/>
     <uses-permission android:name="android.permission.READ_USER_DICTIONARY"/>
diff --git a/src/com/android/settings/development/ClearAdbKeysPreferenceController.java b/src/com/android/settings/development/ClearAdbKeysPreferenceController.java
index 9598b37..d94d428 100644
--- a/src/com/android/settings/development/ClearAdbKeysPreferenceController.java
+++ b/src/com/android/settings/development/ClearAdbKeysPreferenceController.java
@@ -20,8 +20,8 @@
 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 @@
     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 @@
 
     @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 6f7c224..772a32f 100644
--- a/tests/robotests/src/com/android/settings/development/ClearAdbKeysPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/ClearAdbKeysPreferenceControllerTest.java
@@ -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.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 @@
 
     @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 @@
     @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 @@
 
     @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 @@
 
     @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 @@
 
     @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 @@
 
     @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();