Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 052c07b4 authored by jasonwshsu's avatar jasonwshsu
Browse files

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
parent 3a4c6feb
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -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 =
+0 −15
Original line number Diff line number Diff line
@@ -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<String> niks = BluetoothDetailsAudioRoutingFragment.SEARCH_INDEX_DATA_PROVIDER
                .getNonIndexableKeys(mContext);
        final List<String> 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);