Merge "Add MainSwitch for Fast Pair settings"

This commit is contained in:
Xinyi Zhou
2022-01-23 02:54:51 +00:00
committed by Android (Google) Code Review
3 changed files with 31 additions and 2 deletions

View File

@@ -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 />

View File

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

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