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] --> <!-- Fast Pair setting summary in settings screen [CHAR LIMIT=50] -->
<string name="fast_pair_settings_summary">Nearby detection of Fast Pair bluetooth devices.</string> <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 --> <!-- Printing settings -->
<skip /> <skip />

View File

@@ -21,4 +21,8 @@
android:title="@string/fast_pair_settings" android:title="@string/fast_pair_settings"
settings:keywords="@string/keywords_fast_pair"> 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; package com.android.settings.nearby;
import android.app.settings.SettingsEnums; import android.app.settings.SettingsEnums;
import android.os.Bundle;
import android.provider.Settings;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment; import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.search.SearchIndexable; import com.android.settingslib.search.SearchIndexable;
import com.android.settingslib.widget.MainSwitchPreference;
import java.util.Objects;
/** /**
* Fragment with the top level fast pair settings. * Fragment with the top level fast pair settings.
@@ -29,6 +34,21 @@ import com.android.settingslib.search.SearchIndexable;
@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC) @SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
public class FastPairSettingsFragment extends SettingsPreferenceFragment { 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 @Override
public int getMetricsCategory() { public int getMetricsCategory() {
return SettingsEnums.CONNECTION_DEVICE_ADVANCED_FAST_PAIR; return SettingsEnums.CONNECTION_DEVICE_ADVANCED_FAST_PAIR;
@@ -47,4 +67,8 @@ public class FastPairSettingsFragment extends SettingsPreferenceFragment {
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider(R.xml.fast_pair_settings); new BaseSearchIndexProvider(R.xml.fast_pair_settings);
private boolean isFastPairScanAvailable() {
return Settings.Secure.getInt(getContentResolver(),
Settings.Secure.FAST_PAIR_SCAN_ENABLED, 1) != 0;
}
} }