Add MainSwitch for Fast Pair settings

Bug: 203579197
Test: Built and verified by logs
Change-Id: I68ef55f2601cce0f51a746d108187c94e496fb71
This commit is contained in:
Xinyi Zhou
2022-01-19 01:03:08 -08:00
parent 386206051d
commit 03a3b3061f
3 changed files with 31 additions and 2 deletions

View File

@@ -5825,7 +5825,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 />

View File

@@ -21,4 +21,8 @@
android:title="@string/fast_pair_settings"
settings:keywords="@string/keywords_fast_pair">
</PreferenceScreen>
<com.android.settingslib.widget.MainSwitchPreference
android:key="fast_pair_scan_switch"
android:title="@string/fast_pair_main_switch_title" />
</PreferenceScreen>

View File

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