Refine behaviors of new app page

- Make the new app page unsearchable when the silky home is disable.
- Add Special app access back since the move action is not confirmed.
- Update preference keys to fix the search conflict with old app page.

Bug: 174964405
Test: robotest & visual on Settings Search
Change-Id: If92b084170ef0694d034ddde786f333b4b576572
This commit is contained in:
Yanting Yang
2021-01-15 20:47:50 +08:00
parent d4ed8b2f81
commit 45b8181f46
3 changed files with 37 additions and 4 deletions

View File

@@ -18,8 +18,11 @@ package com.android.settings.applications;
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.provider.SearchIndexableResource;
import android.util.FeatureFlagUtils;
import com.android.settings.R;
import com.android.settings.core.FeatureFlags;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.core.AbstractPreferenceController;
@@ -27,6 +30,7 @@ import com.android.settingslib.drawer.CategoryKey;
import com.android.settingslib.search.SearchIndexable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/** Settings page for apps. */
@@ -65,6 +69,7 @@ public class AppDashboardFragment extends DashboardFragment {
@Override
public void onAttach(Context context) {
super.onAttach(context);
use(SpecialAppAccessPreferenceController.class).setSession(getSettingsLifecycle());
mAppsPreferenceController = use(AppsPreferenceController.class);
mAppsPreferenceController.setFragment(this /* fragment */);
}
@@ -85,5 +90,26 @@ public class AppDashboardFragment extends DashboardFragment {
}
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider(R.xml.apps);
new BaseSearchIndexProvider() {
@Override
public List<SearchIndexableResource> getXmlResourcesToIndex(
Context context, boolean enabled) {
final SearchIndexableResource sir = new SearchIndexableResource(context);
sir.xmlResId = R.xml.apps;
return Arrays.asList(sir);
}
@Override
public List<AbstractPreferenceController> createPreferenceControllers(
Context context) {
return buildPreferenceControllers(context);
}
@Override
protected boolean isPageSearchEnabled(Context context) {
// TODO(b/174964405): This method should be removed when silky home launched.
// Only allow this page can be searchable when silky home enabled.
return FeatureFlagUtils.isEnabled(context, FeatureFlags.SILKY_HOME);
}
};
}

View File

@@ -54,7 +54,7 @@ public class AppsPreferenceController extends BasePreferenceController {
@VisibleForTesting
static final String KEY_GENERAL_CATEGORY = "general_category";
@VisibleForTesting
static final String KEY_ALL_APP_INFO = "all_app_info";
static final String KEY_ALL_APP_INFO = "all_app_infos";
@VisibleForTesting
static final String KEY_SEE_ALL = "see_all_apps";