diff --git a/res/values/strings.xml b/res/values/strings.xml index c89de0b8990..367e6506c57 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -5825,7 +5825,8 @@ Nearby detection of Fast Pair bluetooth devices. - + + Scan for nearby devices diff --git a/res/xml/fast_pair_settings.xml b/res/xml/fast_pair_settings.xml index ec4cda9fbf7..3fd306fdc56 100644 --- a/res/xml/fast_pair_settings.xml +++ b/res/xml/fast_pair_settings.xml @@ -21,4 +21,8 @@ android:title="@string/fast_pair_settings" settings:keywords="@string/keywords_fast_pair"> - \ No newline at end of file + + + diff --git a/src/com/android/settings/nearby/FastPairSettingsFragment.java b/src/com/android/settings/nearby/FastPairSettingsFragment.java index 094725bf09f..7657bc3bfe0 100644 --- a/src/com/android/settings/nearby/FastPairSettingsFragment.java +++ b/src/com/android/settings/nearby/FastPairSettingsFragment.java @@ -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; + } }