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

Commit b7e1ecec authored by Yanting Yang's avatar Yanting Yang
Browse files

Fix breadcrumb of search results provided by Settings

1. Settings Search need Settings to provide custom site map pairs to
build up full breadcrumb for the search results from below pages.
- PowerUsageAdvanced
- RecentLocationRequestSeeAllFragment
- UsbDetailsFragment
- UserBackupSettingsActivity

2. Update the screen title of Backup raw index data from Settings to
Backup to display correct breadcrumb in Settings Search.

Bug: 147851992
Bug: 151206664
Fixes: 152368059
Test: visual and robotests
Change-Id: Iaebab8d549bba6be7623708f9833349654e7f2a7
parent 9266fe32
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -29,8 +29,8 @@ import androidx.fragment.app.FragmentManager;
import com.android.settings.R;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.search.Indexable;
import com.android.settingslib.search.SearchIndexableRaw;
import com.android.settingslib.search.SearchIndexable;
import com.android.settingslib.search.SearchIndexableRaw;

import java.util.ArrayList;
import java.util.List;
@@ -109,7 +109,7 @@ public class UserBackupSettingsActivity extends FragmentActivity implements Inde
                    // Add the activity title
                    SearchIndexableRaw data = new SearchIndexableRaw(context);
                    data.title = context.getString(R.string.privacy_settings_title);
                    data.screenTitle = context.getString(R.string.settings_label);
                    data.screenTitle = context.getString(R.string.privacy_settings_title);
                    data.keywords = context.getString(R.string.keywords_backup);
                    data.intentTargetPackage = context.getPackageName();
                    data.intentTargetClass = UserBackupSettingsActivity.class.getName();
+15 −0
Original line number Diff line number Diff line
@@ -19,9 +19,17 @@ package com.android.settings.search;
import android.util.ArrayMap;

import com.android.settings.DisplaySettings;
import com.android.settings.backup.UserBackupSettingsActivity;
import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment;
import com.android.settings.connecteddevice.usb.UsbDetailsFragment;
import com.android.settings.fuelgauge.PowerUsageAdvanced;
import com.android.settings.fuelgauge.PowerUsageSummary;
import com.android.settings.location.LocationSettings;
import com.android.settings.location.RecentLocationRequestSeeAllFragment;
import com.android.settings.network.NetworkDashboardFragment;
import com.android.settings.security.SecuritySettings;
import com.android.settings.security.screenlock.ScreenLockSettings;
import com.android.settings.system.SystemDashboardFragment;
import com.android.settings.wallpaper.WallpaperSuggestionActivity;
import com.android.settings.wifi.WifiSettings2;

@@ -44,5 +52,12 @@ public class CustomSiteMapRegistry {
                WallpaperSuggestionActivity.class.getName(), DisplaySettings.class.getName());
        CUSTOM_SITE_MAP.put(
                WifiSettings2.class.getName(), NetworkDashboardFragment.class.getName());
        CUSTOM_SITE_MAP.put(PowerUsageAdvanced.class.getName(), PowerUsageSummary.class.getName());
        CUSTOM_SITE_MAP.put(RecentLocationRequestSeeAllFragment.class.getName(),
                LocationSettings.class.getName());
        CUSTOM_SITE_MAP.put(UsbDetailsFragment.class.getName(),
                ConnectedDeviceDashboardFragment.class.getName());
        CUSTOM_SITE_MAP.put(UserBackupSettingsActivity.class.getName(),
                SystemDashboardFragment.class.getName());
    }
}
+35 −0
Original line number Diff line number Diff line
@@ -19,9 +19,17 @@ package com.android.settings.search;
import static com.google.common.truth.Truth.assertThat;

import com.android.settings.DisplaySettings;
import com.android.settings.backup.UserBackupSettingsActivity;
import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment;
import com.android.settings.connecteddevice.usb.UsbDetailsFragment;
import com.android.settings.fuelgauge.PowerUsageAdvanced;
import com.android.settings.fuelgauge.PowerUsageSummary;
import com.android.settings.location.LocationSettings;
import com.android.settings.location.RecentLocationRequestSeeAllFragment;
import com.android.settings.network.NetworkDashboardFragment;
import com.android.settings.security.SecuritySettings;
import com.android.settings.security.screenlock.ScreenLockSettings;
import com.android.settings.system.SystemDashboardFragment;
import com.android.settings.wallpaper.WallpaperSuggestionActivity;
import com.android.settings.wifi.WifiSettings2;

@@ -50,4 +58,31 @@ public class CustomSiteMapRegistryTest {
        assertThat(CustomSiteMapRegistry.CUSTOM_SITE_MAP.get(WifiSettings2.class.getName()))
                .isEqualTo(NetworkDashboardFragment.class.getName());
    }

    @Test
    public void shouldContainPowerUsageAdvancedPairs() {
        assertThat(CustomSiteMapRegistry.CUSTOM_SITE_MAP.get(PowerUsageAdvanced.class.getName()))
                .isEqualTo(PowerUsageSummary.class.getName());
    }

    @Test
    public void shouldContainRecentLocationRequestSeeAllFragmentPairs() {
        assertThat(CustomSiteMapRegistry.CUSTOM_SITE_MAP.get(
                RecentLocationRequestSeeAllFragment.class.getName())).isEqualTo(
                LocationSettings.class.getName());
    }

    @Test
    public void shouldContainUsbDetailsFragmentPairs() {
        assertThat(CustomSiteMapRegistry.CUSTOM_SITE_MAP.get(
                UsbDetailsFragment.class.getName())).isEqualTo(
                ConnectedDeviceDashboardFragment.class.getName());
    }

    @Test
    public void shouldContainUserBackupSettingsActivityPairs() {
        assertThat(CustomSiteMapRegistry.CUSTOM_SITE_MAP.get(
                UserBackupSettingsActivity.class.getName())).isEqualTo(
                SystemDashboardFragment.class.getName());
    }
}