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

Commit 864765f8 authored by Svet Ganov's avatar Svet Ganov
Browse files

Update Settings to use the proper DeviceConfig API.

Exempt-From-Owner-Approval: carry over approval from ag/6908306

bug:124769181

Change-Id: If18d0dc5e55dabf82b7c7a2b6df240fb8b24f736
parent 6010c3a9
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -124,6 +124,17 @@ public final class Utils extends com.android.settingslib.Utils {

    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.
+0 −1
Original line number Diff line number Diff line
@@ -480,7 +480,6 @@ public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFra
        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));
+3 −4
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.provider.Settings;
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 class DeviceIdentifierAccessRestrictionsPreferenceController
    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;
    }

+0 −69
Original line number Diff line number Diff line
/*
 * 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);
    }
}
+3 −2
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import androidx.preference.Preference;
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 @@ public class RecentLocationAccessPreferenceController extends AbstractPreference
    @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
Loading