From 827267dc69caf4deb8bef2cb01433f70c0e02270 Mon Sep 17 00:00:00 2001 From: Xinyi Zhou Date: Thu, 4 Aug 2022 15:02:16 -0700 Subject: [PATCH] Add back Fast Pair MainSwitch logic Bug: 203579197 Test: -m Change-Id: I861ece6cf6dd50c982fccc56f84f63243120e250 --- .../nearby/FastPairSettingsFragment.java | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/nearby/FastPairSettingsFragment.java b/src/com/android/settings/nearby/FastPairSettingsFragment.java index a92833a3db7..2fff7a0dee0 100644 --- a/src/com/android/settings/nearby/FastPairSettingsFragment.java +++ b/src/com/android/settings/nearby/FastPairSettingsFragment.java @@ -21,6 +21,7 @@ import android.content.ComponentName; import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; +import android.nearby.NearbyManager; import android.os.Bundle; import android.provider.Settings; import android.text.TextUtils; @@ -34,6 +35,7 @@ import com.android.settings.SettingsPreferenceFragment; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settingslib.search.SearchIndexable; import com.android.settingslib.widget.MainSwitchPreference; +import com.android.settingslib.widget.OnMainSwitchChangeListener; import java.util.Objects; @@ -48,14 +50,17 @@ public class FastPairSettingsFragment extends SettingsPreferenceFragment { private static final String SCAN_SWITCH_KEY = "fast_pair_scan_switch"; private static final String SAVED_DEVICES_PREF_KEY = "saved_devices"; + private MainSwitchPreference mMainSwitchPreference; + private OnMainSwitchChangeListener mMainSwitchChangeListener; + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); - MainSwitchPreference mainSwitchPreference = Objects.requireNonNull( + mMainSwitchPreference = Objects.requireNonNull( findPreference(SCAN_SWITCH_KEY)); - mainSwitchPreference.setChecked(false); - + mMainSwitchChangeListener = (switchView, isChecked) -> + NearbyManager.setFastPairScanEnabled(getContext(), isChecked); Preference savedDevicePref = Objects.requireNonNull( findPreference(SAVED_DEVICES_PREF_KEY)); savedDevicePref.setOnPreferenceClickListener(preference -> { @@ -67,6 +72,19 @@ public class FastPairSettingsFragment extends SettingsPreferenceFragment { }); } + @Override + public void onResume() { + super.onResume(); + mMainSwitchPreference.addOnSwitchChangeListener(mMainSwitchChangeListener); + mMainSwitchPreference.setChecked(NearbyManager.isFastPairScanEnabled(getContext())); + } + + @Override + public void onPause() { + super.onPause(); + mMainSwitchPreference.removeOnSwitchChangeListener(mMainSwitchChangeListener); + } + @Override public int getMetricsCategory() { return SettingsEnums.CONNECTION_DEVICE_ADVANCED_FAST_PAIR;