Update Settings to use the proper DeviceConfig API.
Exempt-From-Owner-Approval: carry over approval from ag/6908306
bug:124769181
Change-Id: If18d0dc5e55dabf82b7c7a2b6df240fb8b24f736
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index 0938c09..75db3e1 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -125,6 +125,17 @@
public static final String OS_PKG = "os";
/**
+ * Whether to disable the new device identifier access restrictions.
+ */
+ public static final String PROPERTY_DEVICE_IDENTIFIER_ACCESS_RESTRICTIONS_DISABLED =
+ "device_identifier_access_restrictions_disabled";
+
+ /**
+ * Whether to show the Permissions Hub.
+ */
+ public static final String PROPERTY_PERMISSIONS_HUB_ENABLED = "permissions_hub_enabled";
+
+ /**
* Finds a matching activity for a preference's intent. If a matching
* activity is not found, it will remove the preference.
*
diff --git a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
index e9fc759..77b104b 100644
--- a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
+++ b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
@@ -480,7 +480,6 @@
controllers.add(new ResizableActivityPreferenceController(context));
controllers.add(new FreeformWindowsPreferenceController(context));
controllers.add(new DesktopModePreferenceController(context));
- controllers.add(new SmsAccessRestrictionPreferenceController(context));
controllers.add(new DeviceIdentifierAccessRestrictionsPreferenceController(context));
controllers.add(new ShortcutManagerThrottlingPreferenceController(context));
controllers.add(new EnableGnssRawMeasFullTrackingPreferenceController(context));
diff --git a/src/com/android/settings/development/DeviceIdentifierAccessRestrictionsPreferenceController.java b/src/com/android/settings/development/DeviceIdentifierAccessRestrictionsPreferenceController.java
index f709771..f4e5953 100644
--- a/src/com/android/settings/development/DeviceIdentifierAccessRestrictionsPreferenceController.java
+++ b/src/com/android/settings/development/DeviceIdentifierAccessRestrictionsPreferenceController.java
@@ -24,6 +24,7 @@
import androidx.preference.Preference;
import androidx.preference.SwitchPreference;
+import com.android.settings.Utils;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -53,10 +54,8 @@
public boolean isAvailable() {
// If the new access restrictions have been disabled from the server side then do not
// display the option.
- boolean disabledFromServerSide = Boolean.parseBoolean(
- DeviceConfig.getProperty(DeviceConfig.Privacy.NAMESPACE,
- DeviceConfig.Privacy.
- PROPERTY_DEVICE_IDENTIFIER_ACCESS_RESTRICTIONS_DISABLED));
+ boolean disabledFromServerSide = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_PRIVACY,
+ Utils.PROPERTY_DEVICE_IDENTIFIER_ACCESS_RESTRICTIONS_DISABLED, false);
return !disabledFromServerSide;
}
diff --git a/src/com/android/settings/development/SmsAccessRestrictionPreferenceController.java b/src/com/android/settings/development/SmsAccessRestrictionPreferenceController.java
deleted file mode 100644
index 6091614..0000000
--- a/src/com/android/settings/development/SmsAccessRestrictionPreferenceController.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.development;
-
-import android.content.Context;
-import android.provider.Settings;
-
-import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
-
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.development.DeveloperOptionsPreferenceController;
-
-// STOPSHIP b/118694572: remove the kill switch once the feature is tested and stable
-public class SmsAccessRestrictionPreferenceController extends DeveloperOptionsPreferenceController
- implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin {
-
- private static final String SMS_ACCESS_RESTRICTION_ENABLED_KEY
- = "sms_access_restriction_enabled";
-
- public SmsAccessRestrictionPreferenceController(Context context) {
- super(context);
- }
-
- @Override
- public String getPreferenceKey() {
- return SMS_ACCESS_RESTRICTION_ENABLED_KEY;
- }
-
- @Override
- public boolean onPreferenceChange(Preference preference, Object newValue) {
- writeSetting((boolean) newValue);
- return true;
- }
-
- private void writeSetting(boolean isEnabled) {
- Settings.Global.putInt(mContext.getContentResolver(),
- Settings.Global.SMS_ACCESS_RESTRICTION_ENABLED,
- isEnabled ? 1 : 0);
- }
-
- @Override
- public void updateState(Preference preference) {
- final int mode = Settings.Global.getInt(mContext.getContentResolver(),
- Settings.Global.SMS_ACCESS_RESTRICTION_ENABLED, 0);
- ((SwitchPreference) mPreference).setChecked(mode != 0);
- }
-
- @Override
- protected void onDeveloperOptionsSwitchDisabled() {
- super.onDeveloperOptionsSwitchDisabled();
- writeSetting(false);
- ((SwitchPreference) mPreference).setChecked(false);
- }
-}
diff --git a/src/com/android/settings/location/RecentLocationAccessPreferenceController.java b/src/com/android/settings/location/RecentLocationAccessPreferenceController.java
index e4c64f7..f44e107 100644
--- a/src/com/android/settings/location/RecentLocationAccessPreferenceController.java
+++ b/src/com/android/settings/location/RecentLocationAccessPreferenceController.java
@@ -26,6 +26,7 @@
import androidx.preference.PreferenceScreen;
import com.android.settings.R;
+import com.android.settings.Utils;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.location.RecentLocationAccesses;
@@ -62,8 +63,8 @@
@Override
public boolean isAvailable() {
return Boolean.parseBoolean(
- DeviceConfig.getProperty(DeviceConfig.Privacy.NAMESPACE,
- DeviceConfig.Privacy.PROPERTY_PERMISSIONS_HUB_ENABLED));
+ DeviceConfig.getProperty(DeviceConfig.NAMESPACE_PRIVACY,
+ Utils.PROPERTY_PERMISSIONS_HUB_ENABLED));
}
@Override
diff --git a/src/com/android/settings/privacy/AccessibilityUsagePreferenceController.java b/src/com/android/settings/privacy/AccessibilityUsagePreferenceController.java
index bcf8f47..da4b100 100644
--- a/src/com/android/settings/privacy/AccessibilityUsagePreferenceController.java
+++ b/src/com/android/settings/privacy/AccessibilityUsagePreferenceController.java
@@ -25,6 +25,7 @@
import androidx.preference.Preference;
import com.android.settings.R;
+import com.android.settings.Utils;
import com.android.settings.core.BasePreferenceController;
import java.util.List;
@@ -46,8 +47,8 @@
@Override
public int getAvailabilityStatus() {
return (mEnabledServiceInfos.isEmpty() || !Boolean.parseBoolean(
- DeviceConfig.getProperty(DeviceConfig.Privacy.NAMESPACE,
- DeviceConfig.Privacy.PROPERTY_PERMISSIONS_HUB_ENABLED)))
+ DeviceConfig.getProperty(DeviceConfig.NAMESPACE_PRIVACY,
+ Utils.PROPERTY_PERMISSIONS_HUB_ENABLED)))
? UNSUPPORTED_ON_DEVICE : AVAILABLE;
}
diff --git a/src/com/android/settings/privacy/PermissionBarChartPreferenceController.java b/src/com/android/settings/privacy/PermissionBarChartPreferenceController.java
index 9358392..d8c66e4 100644
--- a/src/com/android/settings/privacy/PermissionBarChartPreferenceController.java
+++ b/src/com/android/settings/privacy/PermissionBarChartPreferenceController.java
@@ -20,8 +20,6 @@
import static android.Manifest.permission_group.LOCATION;
import static android.Manifest.permission_group.MICROPHONE;
-import static com.android.settingslib.widget.BarChartPreference.MAXIMUM_BAR_VIEWS;
-
import static java.util.concurrent.TimeUnit.DAYS;
import android.content.Context;
@@ -51,7 +49,6 @@
import com.android.settingslib.widget.BarViewInfo;
import java.util.ArrayList;
-import java.util.Comparator;
import java.util.List;
@@ -93,8 +90,8 @@
@Override
public int getAvailabilityStatus() {
return Boolean.parseBoolean(
- DeviceConfig.getProperty(DeviceConfig.Privacy.NAMESPACE,
- DeviceConfig.Privacy.PROPERTY_PERMISSIONS_HUB_ENABLED)) ?
+ DeviceConfig.getProperty(DeviceConfig.NAMESPACE_PRIVACY,
+ com.android.settings.Utils.PROPERTY_PERMISSIONS_HUB_ENABLED)) ?
AVAILABLE_UNSEARCHABLE : UNSUPPORTED_ON_DEVICE;
}