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

Commit b16d430e authored by Xinyi Zhou's avatar Xinyi Zhou Committed by Android (Google) Code Review
Browse files

Merge "Add MainSwitch for Fast Pair settings"

parents 7dd97c70 03a3b306
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -5831,7 +5831,8 @@
    <!-- Fast Pair setting summary in settings screen [CHAR LIMIT=50] -->
    <string name="fast_pair_settings_summary">Nearby detection of Fast Pair bluetooth devices.</string>
    <!-- Title for Fast Pair main switch preferences. [CHAR LIMIT=50] -->
    <string name="fast_pair_main_switch_title">Scan for nearby devices</string>
    <!-- Printing settings -->
    <skip />
+5 −1
Original line number Diff line number Diff line
@@ -21,4 +21,8 @@
    android:title="@string/fast_pair_settings"
    settings:keywords="@string/keywords_fast_pair">

    <com.android.settingslib.widget.MainSwitchPreference
        android:key="fast_pair_scan_switch"
        android:title="@string/fast_pair_main_switch_title" />

</PreferenceScreen>
+24 −0
Original line number Diff line number Diff line
@@ -17,11 +17,16 @@
package com.android.settings.nearby;

import android.app.settings.SettingsEnums;
import android.os.Bundle;
import android.provider.Settings;

import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.search.SearchIndexable;
import com.android.settingslib.widget.MainSwitchPreference;

import java.util.Objects;

/**
 * Fragment with the top level fast pair settings.
@@ -29,6 +34,21 @@ import com.android.settingslib.search.SearchIndexable;
@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
public class FastPairSettingsFragment extends SettingsPreferenceFragment {

    private static final String SCAN_SWITCH_KEY = "fast_pair_scan_switch";

    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);

        MainSwitchPreference mainSwitchPreference = Objects.requireNonNull(
                findPreference(SCAN_SWITCH_KEY));
        mainSwitchPreference.addOnSwitchChangeListener(
                (switchView, isChecked) ->
                        Settings.Secure.putInt(getContentResolver(),
                                Settings.Secure.FAST_PAIR_SCAN_ENABLED, isChecked ? 1 : 0));
        mainSwitchPreference.setChecked(isFastPairScanAvailable());
    }

    @Override
    public int getMetricsCategory() {
        return SettingsEnums.CONNECTION_DEVICE_ADVANCED_FAST_PAIR;
@@ -47,4 +67,8 @@ public class FastPairSettingsFragment extends SettingsPreferenceFragment {
    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
            new BaseSearchIndexProvider(R.xml.fast_pair_settings);

    private boolean isFastPairScanAvailable() {
        return Settings.Secure.getInt(getContentResolver(),
                Settings.Secure.FAST_PAIR_SCAN_ENABLED, 1) != 0;
    }
}