From dd5a7d27f0eb4ecacaefcb05bd61cf6debb306a8 Mon Sep 17 00:00:00 2001 From: Xinyi Zhou Date: Thu, 2 Feb 2023 23:14:45 +0000 Subject: [PATCH] Revert "Revert "Delete Fast Pair Settings"" This reverts commit 6db89c73d6a9c70c40b31dd715f89e548f4fb0db. Reason for revert: the feature is no longer needed Test: -m Change-Id: I3c8b3af68cb2b6e8ad1690cab1a5bbf3c92b2481 --- res/drawable/ic_fast_pair_24dp.xml | 36 ----- res/values/strings.xml | 16 -- res/xml/connected_devices_advanced.xml | 9 -- res/xml/fast_pair_settings.xml | 32 ---- .../nearby/FastPairPreferenceController.java | 41 ----- .../nearby/FastPairSettingsFragment.java | 143 ------------------ .../FastPairPreferenceControllerTest.java | 52 ------- .../nearby/FastPairSettingsFragmentTest.java | 47 ------ 8 files changed, 376 deletions(-) delete mode 100644 res/drawable/ic_fast_pair_24dp.xml delete mode 100644 res/xml/fast_pair_settings.xml delete mode 100644 src/com/android/settings/nearby/FastPairPreferenceController.java delete mode 100644 src/com/android/settings/nearby/FastPairSettingsFragment.java delete mode 100644 tests/unit/src/com/android/settings/nearby/FastPairPreferenceControllerTest.java delete mode 100644 tests/unit/src/com/android/settings/nearby/FastPairSettingsFragmentTest.java diff --git a/res/drawable/ic_fast_pair_24dp.xml b/res/drawable/ic_fast_pair_24dp.xml deleted file mode 100644 index 17bfdd9143f..00000000000 --- a/res/drawable/ic_fast_pair_24dp.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/res/values/strings.xml b/res/values/strings.xml index 273e3ae665d..7fa9c22cce9 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -4818,19 +4818,6 @@ - - - - - Fast Pair - - - Nearby detection of Fast Pair bluetooth devices. - - Scan for nearby devices - - Saved devices - @@ -6858,9 +6845,6 @@ connected, device, headphones, headset, speaker, wireless, pair, earbuds, music, media - - pair, earbuds, bluetooth - background, theme, grid, customize, personalize diff --git a/res/xml/connected_devices_advanced.xml b/res/xml/connected_devices_advanced.xml index bd8eafbb59b..46d1a0a6387 100644 --- a/res/xml/connected_devices_advanced.xml +++ b/res/xml/connected_devices_advanced.xml @@ -69,15 +69,6 @@ settings:userRestriction="no_ultra_wideband_radio" settings:useAdminDisabledSummary="true"/> - - diff --git a/res/xml/fast_pair_settings.xml b/res/xml/fast_pair_settings.xml deleted file mode 100644 index 95662fc47ed..00000000000 --- a/res/xml/fast_pair_settings.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - diff --git a/src/com/android/settings/nearby/FastPairPreferenceController.java b/src/com/android/settings/nearby/FastPairPreferenceController.java deleted file mode 100644 index a1152022c6b..00000000000 --- a/src/com/android/settings/nearby/FastPairPreferenceController.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (C) 2022 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settings.nearby; - -import android.content.Context; - -import androidx.lifecycle.LifecycleObserver; - -import com.android.settings.core.BasePreferenceController; - -/** - * {@link BasePreferenceController} for Fast Pair settings. - */ -public class FastPairPreferenceController extends BasePreferenceController implements - LifecycleObserver { - public static final String TAG = "FastPairPrefController"; - public static final String KEY_FAST_PAIR_SETTINGS = "connected_device_fast_pair"; - - public FastPairPreferenceController(Context context) { - super(context, KEY_FAST_PAIR_SETTINGS); - } - - @Override - public int getAvailabilityStatus() { - return AVAILABLE; - } -} diff --git a/src/com/android/settings/nearby/FastPairSettingsFragment.java b/src/com/android/settings/nearby/FastPairSettingsFragment.java deleted file mode 100644 index 2fff7a0dee0..00000000000 --- a/src/com/android/settings/nearby/FastPairSettingsFragment.java +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Copyright (C) 2022 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settings.nearby; - -import android.app.settings.SettingsEnums; -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; -import android.util.Log; - -import androidx.annotation.Nullable; -import androidx.preference.Preference; - -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 com.android.settingslib.widget.OnMainSwitchChangeListener; - -import java.util.Objects; - -/** - * Fragment with the top level fast pair settings. - */ -@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC) -public class FastPairSettingsFragment extends SettingsPreferenceFragment { - - private static final String TAG = "FastPairSettingsFrag"; - - 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); - - mMainSwitchPreference = Objects.requireNonNull( - findPreference(SCAN_SWITCH_KEY)); - mMainSwitchChangeListener = (switchView, isChecked) -> - NearbyManager.setFastPairScanEnabled(getContext(), isChecked); - Preference savedDevicePref = Objects.requireNonNull( - findPreference(SAVED_DEVICES_PREF_KEY)); - savedDevicePref.setOnPreferenceClickListener(preference -> { - Intent savedDevicesIntent = getSavedDevicesIntent(); - if (savedDevicesIntent != null && getActivity() != null) { - getActivity().startActivity(savedDevicesIntent); - } - return true; - }); - } - - @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; - } - - @Override - public int getHelpResource() { - return 0; - } - - @Override - protected int getPreferenceScreenResId() { - return R.xml.fast_pair_settings; - } - - public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = - new BaseSearchIndexProvider(R.xml.fast_pair_settings); - - @Nullable - private ComponentName getSavedDevicesComponent() { - String savedDevicesComponent = Settings.Secure.getString( - getContentResolver(), - Settings.Secure.NEARBY_FAST_PAIR_SETTINGS_DEVICES_COMPONENT); - if (TextUtils.isEmpty(savedDevicesComponent)) { - savedDevicesComponent = getString( - com.android.internal.R.string.config_defaultNearbyFastPairSettingsDevicesComponent); - } - - if (TextUtils.isEmpty(savedDevicesComponent)) { - return null; - } - - return ComponentName.unflattenFromString(savedDevicesComponent); - } - - @Nullable - private Intent getSavedDevicesIntent() { - ComponentName componentName = getSavedDevicesComponent(); - if (componentName == null) { - return null; - } - - PackageManager pm = getPackageManager(); - Intent intent = getIntent(); - intent.setAction(Intent.ACTION_VIEW); - intent.setComponent(componentName); - - final ResolveInfo resolveInfo = pm.resolveActivity(intent, PackageManager.GET_META_DATA); - if (resolveInfo == null || resolveInfo.activityInfo == null) { - Log.e(TAG, "Device-specified fast pair component (" + componentName - + ") not available"); - return null; - } - return intent; - } -} diff --git a/tests/unit/src/com/android/settings/nearby/FastPairPreferenceControllerTest.java b/tests/unit/src/com/android/settings/nearby/FastPairPreferenceControllerTest.java deleted file mode 100644 index f06be4b2288..00000000000 --- a/tests/unit/src/com/android/settings/nearby/FastPairPreferenceControllerTest.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (C) 2022 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settings.nearby; - -import static com.google.common.truth.Truth.assertThat; - -import static org.mockito.Mockito.spy; - -import android.content.Context; -import android.os.Looper; - -import androidx.test.core.app.ApplicationProvider; -import androidx.test.ext.junit.runners.AndroidJUnit4; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; - -@RunWith(AndroidJUnit4.class) -public class FastPairPreferenceControllerTest { - - private Context mContext; - private FastPairPreferenceController mController; - - @Before - public void setUp() { - mContext = spy(ApplicationProvider.getApplicationContext()); - mController = new FastPairPreferenceController(mContext); - if (Looper.myLooper() == null) { - Looper.prepare(); - } - } - - @Test - public void isAvailable_shouldBeTrue() { - assertThat(mController.isAvailable()).isTrue(); - } -} diff --git a/tests/unit/src/com/android/settings/nearby/FastPairSettingsFragmentTest.java b/tests/unit/src/com/android/settings/nearby/FastPairSettingsFragmentTest.java deleted file mode 100644 index faabe8fd9fe..00000000000 --- a/tests/unit/src/com/android/settings/nearby/FastPairSettingsFragmentTest.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (C) 2022 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settings.nearby; - -import static com.google.common.truth.Truth.assertThat; - -import android.app.Instrumentation; -import android.app.settings.SettingsEnums; - -import androidx.test.ext.junit.runners.AndroidJUnit4; -import androidx.test.platform.app.InstrumentationRegistry; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; - -@RunWith(AndroidJUnit4.class) -public class FastPairSettingsFragmentTest { - - private FastPairSettingsFragment mFragment; - - @Before - public void setUp() { - final Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation(); - instrumentation.runOnMainSync(() -> mFragment = new FastPairSettingsFragment()); - } - - @Test - public void getCategoryKey_isNetwork() { - assertThat(mFragment.getMetricsCategory()) - .isEqualTo(SettingsEnums.CONNECTION_DEVICE_ADVANCED_FAST_PAIR); - } -}