From 052c07b4d4c588365b0f5eeb8a431da9de1ae33c Mon Sep 17 00:00:00 2001 From: jasonwshsu Date: Sun, 12 Mar 2023 02:43:40 +0800 Subject: [PATCH] Click the search result "System Sounds" will crash the Settings app Root Cause: Preferences in this page need to pass CachedBluetoothDevice or will finish the page imediately Solution: theses preferences are in device detail page which will only show when device get connected. Show them in search result is not reasonable. Remove them. Bug: 270508779 Test: verfiy it did not show in search result Change-Id: I866d7be158ff87343d76fa0b3173382880c4aa6e --- .../BluetoothDetailsAudioRoutingFragment.java | 2 -- .../BluetoothDetailsAudioRoutingFragmentTest.java | 15 --------------- 2 files changed, 17 deletions(-) diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsAudioRoutingFragment.java b/src/com/android/settings/bluetooth/BluetoothDetailsAudioRoutingFragment.java index ea890538d7d..48ac8274022 100644 --- a/src/com/android/settings/bluetooth/BluetoothDetailsAudioRoutingFragment.java +++ b/src/com/android/settings/bluetooth/BluetoothDetailsAudioRoutingFragment.java @@ -32,10 +32,8 @@ import com.android.settings.search.BaseSearchIndexProvider; import com.android.settingslib.bluetooth.CachedBluetoothDevice; import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager; import com.android.settingslib.bluetooth.LocalBluetoothManager; -import com.android.settingslib.search.SearchIndexable; /** Settings fragment containing bluetooth audio routing. */ -@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC) public class BluetoothDetailsAudioRoutingFragment extends RestrictedDashboardFragment { public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsAudioRoutingFragmentTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsAudioRoutingFragmentTest.java index b2da5798ead..9bd4f1b8d84 100644 --- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsAudioRoutingFragmentTest.java +++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsAudioRoutingFragmentTest.java @@ -26,8 +26,6 @@ import android.os.Bundle; import androidx.test.core.app.ApplicationProvider; -import com.android.settings.R; -import com.android.settings.testutils.XmlTestUtils; import com.android.settings.testutils.shadow.ShadowBluetoothUtils; import com.android.settingslib.bluetooth.CachedBluetoothDevice; import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager; @@ -44,8 +42,6 @@ import org.mockito.junit.MockitoRule; import org.robolectric.RobolectricTestRunner; import org.robolectric.annotation.Config; -import java.util.List; - /** Tests for {@link BluetoothDetailsAudioRoutingFragment}. */ @RunWith(RobolectricTestRunner.class) @Config(shadows = {ShadowBluetoothUtils.class}) @@ -92,17 +88,6 @@ public class BluetoothDetailsAudioRoutingFragmentTest { assertThat(mFragment.mCachedDevice.getAddress()).isEqualTo(TEST_ADDRESS); } - @Test - public void getNonIndexableKeys_existInXmlLayout() { - final List niks = BluetoothDetailsAudioRoutingFragment.SEARCH_INDEX_DATA_PROVIDER - .getNonIndexableKeys(mContext); - final List keys = - XmlTestUtils.getKeysFromPreferenceXml(mContext, - R.xml.bluetooth_audio_routing_fragment); - - assertThat(keys).containsAtLeastElementsIn(niks); - } - private void setupEnvironment() { ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBluetoothManager; when(mLocalBluetoothManager.getCachedDeviceManager()).thenReturn(mCachedDeviceManager);