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

Commit 82efb8e0 authored by Josh Yang's avatar Josh Yang Committed by Haiping Yang
Browse files

Migrate BluetoothProperties to Settings.Global

Bug: 173068846,191375904
Test: manual test
Change-Id: Idce8213fde1a29555fbdee6986a78d800ff9a793
parent 30d7718e
Loading
Loading
Loading
Loading
+68 −0
Original line number Diff line number Diff line
@@ -16573,6 +16573,74 @@ public final class Settings {
             * @hide
             */
            public static final String AMBIENT_PLUGGED_TIMEOUT_MIN = "ambient_plugged_timeout_min";
            /**
             * The companion device's bluetooth address.
             * @hide
             */
            public static final String COMPANION_ADDRESS = "companion_address";
            /**
             * What bluetooth mode we are in.
             * @hide
             */
            public static final String BLUETOOTH_MODE = "bluetooth_mode";
            // Possible values of BLUETOOTH_MODE
            /** @hide */
            public static final int BLUETOOTH_MODE_UNKNOWN = 0;
            /** @hide */
            public static final int BLUETOOTH_MODE_NON_ALT = 1;
            /** @hide */
            public static final int BLUETOOTH_MODE_ALT = 2;
            /**
             * The bluetooth settings selected BLE role for the companion.
             * @hide
             */
            public static final String COMPANION_BLE_ROLE = "companion_ble_role";
            // Possible values of COMPANION_BLE_ROLE
            /** @hide */
            public static final int BLUETOOTH_ROLE_CENTRAL = 1;
            /** @hide */
            public static final int BLUETOOTH_ROLE_PERIPHERAL = 2;
            /**
             * The bluetooth settings stored companion device name.
             * @hide
             */
            public static final String COMPANION_NAME = "companion_bt_name";
            /**
             * The user's last setting for hfp client.
             * @hide
             */
            public static final String USER_HFP_CLIENT_SETTING = "user_hfp_client_setting";
            // Possible hfp client user setting values
            /** @hide */
            public static final int HFP_CLIENT_UNSET = 0;
            /** @hide */
            public static final int HFP_CLIENT_ENABLED = 1;
            /** @hide */
            public static final int HFP_CLIENT_DISABLED = 2;
            /**
             * The current HFP client profile setting.
             * @hide
             */
            public static final String HFP_CLIENT_PROFILE_ENABLED = "hfp_client_profile_enabled";
            /**
             * The companion phone's android version.
             * @hide
             */
            public static final String COMPANION_OS_VERSION = "wear_companion_os_version";
            // Companion os version constants
            /** @hide */
            public static final int COMPANION_OS_VERSION_UNDEFINED = -1;
        }
    }
+25 −0
Original line number Diff line number Diff line
@@ -265,6 +265,31 @@ public class GlobalSettingsValidators {
        VALIDATORS.put(Global.Wearable.AMBIENT_LOW_BIT_ENABLED, BOOLEAN_VALIDATOR);
        VALIDATORS.put(Global.Wearable.AMBIENT_PLUGGED_TIMEOUT_MIN, ANY_INTEGER_VALIDATOR);
        VALIDATORS.put(Global.Wearable.AMBIENT_TILT_TO_BRIGHT, BOOLEAN_VALIDATOR);
        VALIDATORS.put(
                Global.Wearable.BLUETOOTH_MODE,
                new DiscreteValueValidator(
                        new String[] {
                            String.valueOf(Global.Wearable.BLUETOOTH_MODE_UNKNOWN),
                            String.valueOf(Global.Wearable.BLUETOOTH_MODE_ALT),
                            String.valueOf(Global.Wearable.BLUETOOTH_MODE_NON_ALT)
                        }));
        VALIDATORS.put(
                Global.Wearable.COMPANION_BLE_ROLE,
                new DiscreteValueValidator(
                        new String[] {
                            String.valueOf(Global.Wearable.BLUETOOTH_ROLE_CENTRAL),
                            String.valueOf(Global.Wearable.BLUETOOTH_ROLE_PERIPHERAL)
                        }));
        VALIDATORS.put(
                Global.Wearable.USER_HFP_CLIENT_SETTING,
                new DiscreteValueValidator(
                        new String[] {
                            String.valueOf(Global.Wearable.HFP_CLIENT_UNSET),
                            String.valueOf(Global.Wearable.HFP_CLIENT_ENABLED),
                            String.valueOf(Global.Wearable.HFP_CLIENT_DISABLED)
                        }));
        VALIDATORS.put(Global.Wearable.HFP_CLIENT_PROFILE_ENABLED, BOOLEAN_VALIDATOR);
        VALIDATORS.put(Global.Wearable.COMPANION_OS_VERSION, ANY_INTEGER_VALIDATOR);
    }
}
+27 −0
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ import android.app.backup.BackupManager;
import android.app.compat.CompatChanges;
import android.app.job.JobInfo;
import android.app.job.JobScheduler;
import android.bluetooth.BluetoothProfile;
import android.compat.annotation.ChangeId;
import android.compat.annotation.EnabledSince;
import android.content.BroadcastReceiver;
@@ -5353,6 +5354,32 @@ public class SettingsProvider extends ContentProvider {
                        initGlobalSettingsDefaultValForWearLocked(
                                Settings.Global.Wearable.AMBIENT_PLUGGED_TIMEOUT_MIN,
                                SystemProperties.getInt("ro.ambient.plugged_timeout_min", -1));
                        initGlobalSettingsDefaultValForWearLocked(
                                Settings.Global.Wearable.COMPANION_ADDRESS, "");
                        initGlobalSettingsDefaultValForWearLocked(
                                Settings.Global.Wearable.BLUETOOTH_MODE,
                                Settings.Global.Wearable.BLUETOOTH_MODE_UNKNOWN);
                        initGlobalSettingsDefaultValForWearLocked(
                                Settings.Global.Wearable.USER_HFP_CLIENT_SETTING,
                                Settings.Global.Wearable.HFP_CLIENT_UNSET);
                        Setting disabledProfileSetting =
                                getGlobalSettingsLocked()
                                        .getSettingLocked(
                                                Settings.Global.BLUETOOTH_DISABLED_PROFILES);
                        final long disabledProfileSettingValue =
                                disabledProfileSetting.isNull()
                                        ? 0
                                        : Long.parseLong(disabledProfileSetting.getValue());
                        final boolean isHfpClientProfileEnabled =
                                (disabledProfileSettingValue
                                                & (1 << BluetoothProfile.HEADSET_CLIENT))
                                        == 0;
                        initGlobalSettingsDefaultValForWearLocked(
                                Settings.Global.Wearable.HFP_CLIENT_PROFILE_ENABLED,
                                isHfpClientProfileEnabled);
                        initGlobalSettingsDefaultValForWearLocked(
                                Settings.Global.Wearable.COMPANION_OS_VERSION,
                                Settings.Global.Wearable.COMPANION_OS_VERSION_UNDEFINED);

                        // TODO(b/164398026): add necessary initialization logic for all entries.
                        currentVersion = 204;
+8 −1
Original line number Diff line number Diff line
@@ -645,7 +645,14 @@ public class SettingsBackupTest {
                    Settings.Global.Wearable.AMBIENT_FORCE_WHEN_DOCKED,
                    Settings.Global.Wearable.AMBIENT_GESTURE_SENSOR_ID,
                    Settings.Global.Wearable.AMBIENT_LOW_BIT_ENABLED,
                    Settings.Global.Wearable.AMBIENT_PLUGGED_TIMEOUT_MIN);
                    Settings.Global.Wearable.AMBIENT_PLUGGED_TIMEOUT_MIN,
                    Settings.Global.Wearable.COMPANION_ADDRESS,
                    Settings.Global.Wearable.BLUETOOTH_MODE,
                    Settings.Global.Wearable.COMPANION_BLE_ROLE,
                    Settings.Global.Wearable.COMPANION_NAME,
                    Settings.Global.Wearable.USER_HFP_CLIENT_SETTING,
                    Settings.Global.Wearable.HFP_CLIENT_PROFILE_ENABLED,
                    Settings.Global.Wearable.COMPANION_OS_VERSION);

    private static final Set<String> BACKUP_DENY_LIST_SECURE_SETTINGS =
             newHashSet(