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;
+ }
}