Merge "Remove silky flag from Apps for official release" into sc-dev
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index a21c4bb..12900b8 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -3318,15 +3318,6 @@
         </activity>
 
         <activity
-            android:name=".Settings$AppAndNotificationDashboardActivity"
-            android:label="@string/app_and_notification_dashboard_title"
-            android:icon="@drawable/ic_homepage_apps"
-            android:exported="true">
-            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                       android:value="com.android.settings.applications.AppAndNotificationDashboardFragment"/>
-        </activity>
-
-        <activity
             android:name=".Settings$AppDashboardActivity"
             android:label="@string/apps_dashboard_title"
             android:icon="@drawable/ic_homepage_apps"
diff --git a/res/xml/app_and_notification.xml b/res/xml/app_and_notification.xml
deleted file mode 100644
index 8b4c912..0000000
--- a/res/xml/app_and_notification.xml
+++ /dev/null
@@ -1,114 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  Copyright (C) 2016 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.
-  -->
-
-<PreferenceScreen
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="apps_and_notification_screen"
-    android:title="@string/app_and_notification_dashboard_title"
-    settings:initialExpandedChildrenCount="4">
-    <!-- the initial count should include the dynamic tiles -->
-
-    <Preference
-        android:key="all_app_info"
-        android:title="@string/applications_settings"
-        android:order="-999"
-        android:fragment="com.android.settings.applications.manageapplications.ManageApplications"
-        settings:controller="com.android.settings.applications.AllAppsInfoPreferenceController"
-        settings:keywords="@string/keywords_applications_settings"/>
-
-    <com.android.settingslib.widget.LayoutPreference
-        android:key="recent_open_apps"
-        android:title="@string/recent_app_category_title"
-        android:layout="@layout/app_entities_header"
-        android:selectable="false"
-        android:order="-998"
-        settings:allowDividerBelow="true"
-        settings:controller="com.android.settings.applications.RecentAppsPreferenceController"/>
-
-    <!-- Empty category to draw divider -->
-    <PreferenceCategory
-        android:key="recent_apps_divider"
-        android:layout="@layout/preference_category_no_label"
-        android:order="-997"/>
-
-    <Preference
-        android:key="conversations"
-        android:title="@string/conversations_category_title"
-        android:order="-550"
-        settings:controller="com.android.settings.notification.ConversationListSummaryPreferenceController"
-        android:fragment="com.android.settings.notification.app.ConversationListSettings"
-    />
-
-    <Preference
-        android:key="configure_notification_settings"
-        android:title="@string/configure_notification_settings"
-        android:summary="@string/notification_screen_summary"
-        android:order="-440"
-        android:fragment="com.android.settings.notification.ConfigureNotificationSettings"/>
-
-    <!-- Notifications (appears before manage_perms), default apps (appears after) -->
-    <PreferenceCategory
-        android:key="dashboard_tile_placeholder"
-        android:order="10"/>
-
-    <Preference
-        android:key="default_apps"
-        android:title="@string/app_default_dashboard_title"
-        android:order="11"
-        settings:controller="com.android.settings.applications.DefaultAppsPreferenceController">
-        <intent android:action="android.settings.MANAGE_DEFAULT_APPS_SETTINGS"/>
-    </Preference>
-
-    <Preference
-        android:key="manage_perms"
-        android:title="@string/app_permissions"
-        android:summary="@string/runtime_permissions_summary_control_app_access"
-        android:order="12"
-        settings:keywords="@string/keywords_app_permissions">
-        <intent android:action="android.intent.action.MANAGE_PERMISSIONS"/>
-    </Preference>
-
-    <Preference
-        android:key="hibernated_apps"
-        android:title="@string/unused_apps"
-        android:summary="@string/summary_placeholder"
-        android:order="13"
-        settings:keywords="app_hibernation_key"
-        settings:controller="com.android.settings.applications.HibernatedAppsPreferenceController">
-        <intent android:action="android.intent.action.MANAGE_UNUSED_APPS"/>
-    </Preference>
-
-    <com.android.settingslib.RestrictedPreference
-        android:key="app_and_notif_cell_broadcast_settings"
-        android:title="@string/cell_broadcast_settings"
-        android:order="15"
-        settings:useAdminDisabledSummary="true">
-        <intent
-            android:action="android.intent.action.MAIN"
-            android:targetPackage="@string/config_cell_broadcast_receiver_package"
-            android:targetClass="com.android.cellbroadcastreceiver.CellBroadcastSettings"/>
-    </com.android.settingslib.RestrictedPreference>
-
-    <Preference
-        android:key="special_access"
-        android:fragment="com.android.settings.applications.specialaccess.SpecialAccessSettings"
-        android:title="@string/special_access"
-        android:order="20"
-        settings:controller="com.android.settings.applications.SpecialAppAccessPreferenceController"/>
-
-</PreferenceScreen>
diff --git a/src/com/android/settings/applications/AllAppsInfoPreferenceController.java b/src/com/android/settings/applications/AllAppsInfoPreferenceController.java
deleted file mode 100644
index 325b25a..0000000
--- a/src/com/android/settings/applications/AllAppsInfoPreferenceController.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (C) 2019 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.applications;
-
-import android.app.usage.UsageStats;
-import android.content.Context;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settings.core.BasePreferenceController;
-
-import java.util.List;
-
-public class AllAppsInfoPreferenceController extends BasePreferenceController
-        implements RecentAppStatsMixin.RecentAppStatsListener {
-
-    @VisibleForTesting
-    Preference mPreference;
-
-    public AllAppsInfoPreferenceController(Context context, String key) {
-        super(context, key);
-    }
-
-    @Override
-    public int getAvailabilityStatus() {
-        return AVAILABLE;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreference = screen.findPreference(getPreferenceKey());
-        // In most cases, device has recently opened apps. So, we hide it by default.
-        mPreference.setVisible(false);
-    }
-
-    @Override
-    public void onReloadDataCompleted(@NonNull List<UsageStats> recentApps) {
-        // If device has recently opened apps, we don't show all apps preference.
-        if (!recentApps.isEmpty()) {
-            mPreference.setVisible(false);
-            return;
-        }
-
-        mPreference.setVisible(true);
-        // Show total number of installed apps as See all's summary.
-        new InstalledAppCounter(mContext, InstalledAppCounter.IGNORE_INSTALL_REASON,
-                mContext.getPackageManager()) {
-            @Override
-            protected void onCountComplete(int num) {
-                mPreference.setSummary(mContext.getString(R.string.apps_summary, num));
-            }
-        }.execute();
-    }
-}
diff --git a/src/com/android/settings/applications/AppAndNotificationDashboardFragment.java b/src/com/android/settings/applications/AppAndNotificationDashboardFragment.java
deleted file mode 100644
index ddb3951..0000000
--- a/src/com/android/settings/applications/AppAndNotificationDashboardFragment.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * Copyright (C) 2016 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.applications;
-
-import android.app.settings.SettingsEnums;
-import android.app.usage.UsageStats;
-import android.content.Context;
-import android.os.Bundle;
-import android.provider.SearchIndexableResource;
-import android.util.FeatureFlagUtils;
-import android.view.View;
-
-import androidx.annotation.NonNull;
-
-import com.android.settings.R;
-import com.android.settings.Utils;
-import com.android.settings.core.FeatureFlags;
-import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.notification.EmergencyBroadcastPreferenceController;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.search.SearchIndexable;
-import com.android.settingslib.widget.AppEntitiesHeaderController;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-@SearchIndexable
-public class AppAndNotificationDashboardFragment extends DashboardFragment
-        implements RecentAppStatsMixin.RecentAppStatsListener {
-
-    private static final String TAG = "AppAndNotifDashboard";
-
-    private RecentAppStatsMixin mRecentAppStatsMixin;
-    private RecentAppsPreferenceController mRecentAppsPreferenceController;
-    private AllAppsInfoPreferenceController mAllAppsInfoPreferenceController;
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.SETTINGS_APP_NOTIF_CATEGORY;
-    }
-
-    @Override
-    protected String getLogTag() {
-        return TAG;
-    }
-
-    @Override
-    public int getHelpResource() {
-        return R.string.help_url_apps_and_notifications;
-    }
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return R.xml.app_and_notification;
-    }
-
-    @Override
-    public void onAttach(Context context) {
-        super.onAttach(context);
-
-        use(SpecialAppAccessPreferenceController.class).setSession(getSettingsLifecycle());
-
-        mRecentAppStatsMixin = new RecentAppStatsMixin(context,
-                AppEntitiesHeaderController.MAXIMUM_APPS);
-        getSettingsLifecycle().addObserver(mRecentAppStatsMixin);
-        mRecentAppStatsMixin.addListener(this);
-
-        mRecentAppsPreferenceController = use(RecentAppsPreferenceController.class);
-        mRecentAppsPreferenceController.setFragment(this /* fragment */);
-        mRecentAppStatsMixin.addListener(mRecentAppsPreferenceController);
-
-        mAllAppsInfoPreferenceController = use(AllAppsInfoPreferenceController.class);
-        mRecentAppStatsMixin.addListener(mAllAppsInfoPreferenceController);
-    }
-
-    @Override
-    public void onViewCreated(View view, Bundle savedInstanceState) {
-        super.onViewCreated(view, savedInstanceState);
-        setPinnedHeaderView(R.layout.progress_header);
-        showPinnedHeader(false);
-    }
-
-    @Override
-    public void onStart() {
-        super.onStart();
-        showPinnedHeader(true);
-    }
-
-    @Override
-    public void onReloadDataCompleted(@NonNull List<UsageStats> recentApps) {
-        showPinnedHeader(false);
-        if (!recentApps.isEmpty()) {
-            Utils.setActionBarShadowAnimation(getActivity(), getSettingsLifecycle(),
-                    getListView());
-        }
-    }
-
-    @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context);
-    }
-
-    private static List<AbstractPreferenceController> buildPreferenceControllers(Context context) {
-        final List<AbstractPreferenceController> controllers = new ArrayList<>();
-        controllers.add(new EmergencyBroadcastPreferenceController(context,
-                "app_and_notif_cell_broadcast_settings"));
-        return controllers;
-    }
-
-    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.app_and_notification;
-                    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.
-                    // This page is going to deprecate, we should make this page unsearchable
-                    // when the silky home is enabled, otherwise search results will contain the
-                    // old data and launch this page even if the silky home is enabled.
-                    return !FeatureFlagUtils.isEnabled(context, FeatureFlags.SILKY_HOME);
-                }
-            };
-}
diff --git a/src/com/android/settings/applications/AppDashboardFragment.java b/src/com/android/settings/applications/AppDashboardFragment.java
index 3b1a977..65f2b61 100644
--- a/src/com/android/settings/applications/AppDashboardFragment.java
+++ b/src/com/android/settings/applications/AppDashboardFragment.java
@@ -19,14 +19,11 @@
 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;
-import com.android.settingslib.drawer.CategoryKey;
 import com.android.settingslib.search.SearchIndexable;
 
 import java.util.ArrayList;
@@ -79,16 +76,6 @@
         return buildPreferenceControllers(context);
     }
 
-    @Override
-    public String getCategoryKey() {
-        // TODO(b/174964405): Remove this function when the silky flag was deprecated.
-        // To include injection tiles, map this app fragment to the app category in the short term.
-        // When we deprecate the silky flag, we have to:
-        // 1. Remove this method.
-        // 2. Update the mapping in DashboardFragmentRegistry.PARENT_TO_CATEGORY_KEY_MAP.
-        return CategoryKey.CATEGORY_APPS;
-    }
-
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
                 @Override
@@ -104,12 +91,5 @@
                         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);
-                }
             };
 }
diff --git a/src/com/android/settings/applications/RecentAppsPreferenceController.java b/src/com/android/settings/applications/RecentAppsPreferenceController.java
deleted file mode 100644
index 20f9806..0000000
--- a/src/com/android/settings/applications/RecentAppsPreferenceController.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * Copyright (C) 2017 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.applications;
-
-import android.app.Application;
-import android.app.usage.UsageStats;
-import android.content.Context;
-import android.icu.text.RelativeDateTimeFormatter;
-import android.os.UserHandle;
-import android.view.View;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.VisibleForTesting;
-import androidx.fragment.app.Fragment;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settings.applications.appinfo.AppInfoDashboardFragment;
-import com.android.settings.applications.manageapplications.ManageApplications;
-import com.android.settings.core.BasePreferenceController;
-import com.android.settings.core.SubSettingLauncher;
-import com.android.settings.overlay.FeatureFactory;
-import com.android.settingslib.Utils;
-import com.android.settingslib.applications.ApplicationsState;
-import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
-import com.android.settingslib.utils.StringUtil;
-import com.android.settingslib.widget.AppEntitiesHeaderController;
-import com.android.settingslib.widget.AppEntityInfo;
-import com.android.settingslib.widget.LayoutPreference;
-
-import java.util.List;
-
-/**
- * This controller displays up to three recently used apps.
- * If there is no recently used app, we only show up an "App Info" preference.
- */
-public class RecentAppsPreferenceController extends BasePreferenceController
-        implements RecentAppStatsMixin.RecentAppStatsListener {
-
-    @VisibleForTesting
-    static final String KEY_DIVIDER = "recent_apps_divider";
-
-    @VisibleForTesting
-    AppEntitiesHeaderController mAppEntitiesController;
-    @VisibleForTesting
-    LayoutPreference mRecentAppsPreference;
-    @VisibleForTesting
-    Preference mDivider;
-
-    private final ApplicationsState mApplicationsState;
-    private final int mUserId;
-    private final MetricsFeatureProvider mMetricsFeatureProvider;
-
-    private Fragment mHost;
-    private List<UsageStats> mRecentApps;
-
-    public RecentAppsPreferenceController(Context context, String key) {
-        super(context, key);
-        mApplicationsState = ApplicationsState.getInstance(
-                (Application) mContext.getApplicationContext());
-        mUserId = UserHandle.myUserId();
-        mMetricsFeatureProvider = FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
-    }
-
-    public void setFragment(Fragment fragment) {
-        mHost = fragment;
-    }
-
-    @Override
-    public int getAvailabilityStatus() {
-        return AVAILABLE_UNSEARCHABLE;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-
-        mDivider = screen.findPreference(KEY_DIVIDER);
-        mRecentAppsPreference = screen.findPreference(getPreferenceKey());
-        final View view = mRecentAppsPreference.findViewById(R.id.app_entities_header);
-        mAppEntitiesController = AppEntitiesHeaderController.newInstance(mContext, view)
-                .setHeaderTitleRes(R.string.recent_app_category_title)
-                .setHeaderDetailsClickListener((View v) -> {
-                    mMetricsFeatureProvider.logClickedPreference(mRecentAppsPreference,
-                            getMetricsCategory());
-                    new SubSettingLauncher(mContext)
-                            .setDestination(ManageApplications.class.getName())
-                            .setArguments(null /* arguments */)
-                            .setTitleRes(R.string.application_info_label)
-                            .setSourceMetricsCategory(getMetricsCategory())
-                            .launch();
-                });
-    }
-
-    @Override
-    public void onReloadDataCompleted(@NonNull List<UsageStats> recentApps) {
-        mRecentApps = recentApps;
-        refreshUi();
-        // Show total number of installed apps as See all's summary.
-        new InstalledAppCounter(mContext, InstalledAppCounter.IGNORE_INSTALL_REASON,
-                mContext.getPackageManager()) {
-            @Override
-            protected void onCountComplete(int num) {
-                mAppEntitiesController.setHeaderDetails(
-                        mContext.getResources().getQuantityString(R.plurals.see_all_apps_title,
-                                num, num));
-                mAppEntitiesController.apply();
-            }
-        }.execute();
-    }
-
-    private void refreshUi() {
-        if (!mRecentApps.isEmpty()) {
-            displayRecentApps();
-            mRecentAppsPreference.setVisible(true);
-            mDivider.setVisible(true);
-        } else {
-            mDivider.setVisible(false);
-            mRecentAppsPreference.setVisible(false);
-        }
-    }
-
-    private void displayRecentApps() {
-        int showAppsCount = 0;
-
-        for (UsageStats stat : mRecentApps) {
-            final AppEntityInfo appEntityInfoInfo = createAppEntity(stat);
-            if (appEntityInfoInfo != null) {
-                mAppEntitiesController.setAppEntity(showAppsCount++, appEntityInfoInfo);
-            }
-
-            if (showAppsCount == AppEntitiesHeaderController.MAXIMUM_APPS) {
-                break;
-            }
-        }
-    }
-
-    private AppEntityInfo createAppEntity(UsageStats stat) {
-        final String pkgName = stat.getPackageName();
-        final ApplicationsState.AppEntry appEntry =
-                mApplicationsState.getEntry(pkgName, mUserId);
-        if (appEntry == null) {
-            return null;
-        }
-
-        return new AppEntityInfo.Builder()
-                .setIcon(Utils.getBadgedIcon(mContext, appEntry.info))
-                .setTitle(appEntry.label)
-                .setSummary(StringUtil.formatRelativeTime(mContext,
-                        System.currentTimeMillis() - stat.getLastTimeUsed(), false,
-                        RelativeDateTimeFormatter.Style.SHORT))
-                .setOnClickListener(v -> {
-                    mMetricsFeatureProvider.logClickedPreference(mRecentAppsPreference,
-                            getMetricsCategory());
-                    AppInfoBase.startAppInfoFragment(AppInfoDashboardFragment.class,
-                            R.string.application_info_label, pkgName, appEntry.info.uid,
-                            mHost, 1001 /*RequestCode*/, getMetricsCategory());
-                })
-                .build();
-    }
-}
diff --git a/src/com/android/settings/core/gateway/SettingsGateway.java b/src/com/android/settings/core/gateway/SettingsGateway.java
index faa320c..3719a5c 100644
--- a/src/com/android/settings/core/gateway/SettingsGateway.java
+++ b/src/com/android/settings/core/gateway/SettingsGateway.java
@@ -35,7 +35,6 @@
 import com.android.settings.accounts.AccountSyncSettings;
 import com.android.settings.accounts.ChooseAccountFragment;
 import com.android.settings.accounts.ManagedProfileSettings;
-import com.android.settings.applications.AppAndNotificationDashboardFragment;
 import com.android.settings.applications.AppDashboardFragment;
 import com.android.settings.applications.ProcessStatsSummary;
 import com.android.settings.applications.ProcessStatsUi;
@@ -293,7 +292,6 @@
             NetworkDashboardFragment.class.getName(),
             ConnectedDeviceDashboardFragment.class.getName(),
             UsbDetailsFragment.class.getName(),
-            AppAndNotificationDashboardFragment.class.getName(),
             AppDashboardFragment.class.getName(),
             WifiCallingDisclaimerFragment.class.getName(),
             AccountDashboardFragment.class.getName(),
diff --git a/src/com/android/settings/dashboard/DashboardFragmentRegistry.java b/src/com/android/settings/dashboard/DashboardFragmentRegistry.java
index 2e326b0..89b21c9 100644
--- a/src/com/android/settings/dashboard/DashboardFragmentRegistry.java
+++ b/src/com/android/settings/dashboard/DashboardFragmentRegistry.java
@@ -22,7 +22,7 @@
 import com.android.settings.LegalSettings;
 import com.android.settings.accounts.AccountDashboardFragment;
 import com.android.settings.accounts.AccountDetailDashboardFragment;
-import com.android.settings.applications.AppAndNotificationDashboardFragment;
+import com.android.settings.applications.AppDashboardFragment;
 import com.android.settings.connecteddevice.AdvancedConnectedDeviceDashboardFragment;
 import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment;
 import com.android.settings.development.DevelopmentSettingsDashboardFragment;
@@ -76,7 +76,7 @@
                 CategoryKey.CATEGORY_CONNECT);
         PARENT_TO_CATEGORY_KEY_MAP.put(AdvancedConnectedDeviceDashboardFragment.class.getName(),
                 CategoryKey.CATEGORY_DEVICE);
-        PARENT_TO_CATEGORY_KEY_MAP.put(AppAndNotificationDashboardFragment.class.getName(),
+        PARENT_TO_CATEGORY_KEY_MAP.put(AppDashboardFragment.class.getName(),
                 CategoryKey.CATEGORY_APPS);
         PARENT_TO_CATEGORY_KEY_MAP.put(PowerUsageSummary.class.getName(),
                 CategoryKey.CATEGORY_BATTERY);
diff --git a/tests/robotests/src/com/android/settings/applications/AllAppsInfoPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/AllAppsInfoPreferenceControllerTest.java
deleted file mode 100644
index 2944db2..0000000
--- a/tests/robotests/src/com/android/settings/applications/AllAppsInfoPreferenceControllerTest.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright (C) 2019 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.applications;
-
-import static com.android.settings.core.BasePreferenceController.AVAILABLE;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import android.app.usage.UsageStats;
-import android.content.Context;
-import android.os.UserManager;
-
-import androidx.preference.Preference;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@RunWith(RobolectricTestRunner.class)
-public class AllAppsInfoPreferenceControllerTest {
-
-    @Mock
-    private UserManager mUserManager;
-    private AllAppsInfoPreferenceController mController;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        final Context context = spy(RuntimeEnvironment.application);
-        final Preference preference = new Preference(context);
-        doReturn(mUserManager).when(context).getSystemService(Context.USER_SERVICE);
-        when(mUserManager.getProfileIdsWithDisabled(anyInt())).thenReturn(new int[]{});
-        mController = new AllAppsInfoPreferenceController(context, "test_key");
-        mController.mPreference = preference;
-    }
-
-    @Test
-    public void getAvailabilityStatus_shouldReturnAVAILABLE() {
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
-    }
-
-    @Test
-    public void onReloadDataCompleted_recentAppsSet_hidePreference() {
-        final List<UsageStats> stats = new ArrayList<>();
-        final UsageStats stat1 = new UsageStats();
-        stat1.mLastTimeUsed = System.currentTimeMillis();
-        stat1.mPackageName = "pkg.class";
-        stats.add(stat1);
-
-        mController.onReloadDataCompleted(stats);
-
-        assertThat(mController.mPreference.isVisible()).isFalse();
-    }
-
-    @Test
-    public void onReloadDataCompleted_noRecentAppSet_showPreference() {
-        final List<UsageStats> stats = new ArrayList<>();
-
-        mController.onReloadDataCompleted(stats);
-
-        assertThat(mController.mPreference.isVisible()).isTrue();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/applications/RecentAppsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/RecentAppsPreferenceControllerTest.java
deleted file mode 100644
index 2928d6f..0000000
--- a/tests/robotests/src/com/android/settings/applications/RecentAppsPreferenceControllerTest.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * Copyright (C) 2017 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.applications;
-
-import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.usage.UsageStats;
-import android.content.Context;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageManager;
-import android.os.UserHandle;
-import android.os.UserManager;
-import android.view.LayoutInflater;
-import android.view.View;
-
-import androidx.fragment.app.Fragment;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settingslib.applications.ApplicationsState;
-import com.android.settingslib.widget.AppEntitiesHeaderController;
-import com.android.settingslib.widget.AppEntityInfo;
-import com.android.settingslib.widget.LayoutPreference;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.util.ReflectionHelpers;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@RunWith(RobolectricTestRunner.class)
-public class RecentAppsPreferenceControllerTest {
-
-    @Mock
-    private PreferenceScreen mScreen;
-    @Mock
-    private UserManager mUserManager;
-    @Mock
-    private ApplicationsState mAppState;
-    @Mock
-    private PackageManager mPackageManager;
-    @Mock
-    private ApplicationsState.AppEntry mAppEntry;
-    @Mock
-    private ApplicationInfo mApplicationInfo;
-    @Mock
-    private Fragment mFragment;
-
-    private RecentAppsPreferenceController mController;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        final Context context = spy(RuntimeEnvironment.application);
-        when(context.getApplicationContext()).thenReturn(context);
-        ReflectionHelpers.setStaticField(ApplicationsState.class, "sInstance", mAppState);
-        doReturn(mUserManager).when(context).getSystemService(Context.USER_SERVICE);
-        doReturn(mPackageManager).when(context).getPackageManager();
-        when(mUserManager.getProfileIdsWithDisabled(anyInt())).thenReturn(new int[]{});
-
-        final View appEntitiesHeaderView = LayoutInflater.from(context).inflate(
-                R.layout.app_entities_header, null /* root */);
-        final Preference dividerPreference = new Preference(context);
-        final LayoutPreference recentAppsPreference =
-                spy(new LayoutPreference(context, appEntitiesHeaderView));
-
-        mController = spy(new RecentAppsPreferenceController(context, "test_key"));
-        mController.setFragment(mFragment);
-
-        mController.mAppEntitiesController = mock(AppEntitiesHeaderController.class);
-        mController.mRecentAppsPreference = recentAppsPreference;
-        mController.mDivider = dividerPreference;
-
-        when(mScreen.findPreference(RecentAppsPreferenceController.KEY_DIVIDER))
-                .thenReturn(dividerPreference);
-        when(mScreen.findPreference("test_key")).thenReturn(recentAppsPreference);
-        when(recentAppsPreference.findViewById(R.id.app_entities_header)).thenReturn(
-                appEntitiesHeaderView);
-    }
-
-    @Test
-    public void getAvailabilityStatus_shouldReturnAVAILABLE_UNSEARCHABLE() {
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
-    }
-
-    @Test
-    public void displayPreference_shouldSetupAppEntitiesHeaderController() {
-        mController.displayPreference(mScreen);
-
-        assertThat(mController.mAppEntitiesController).isNotNull();
-    }
-
-    @Test
-    public void onReloadDataCompleted_threeValidRecentOpenAppsSet_setAppEntityThreeTime() {
-        final List<UsageStats> stats = new ArrayList<>();
-        final UsageStats stat1 = new UsageStats();
-        final UsageStats stat2 = new UsageStats();
-        final UsageStats stat3 = new UsageStats();
-        stat1.mLastTimeUsed = System.currentTimeMillis();
-        stat1.mPackageName = "pkg.class";
-        stats.add(stat1);
-
-        stat2.mLastTimeUsed = System.currentTimeMillis();
-        stat2.mPackageName = "pkg.class2";
-        stats.add(stat2);
-
-        stat3.mLastTimeUsed = System.currentTimeMillis();
-        stat3.mPackageName = "pkg.class3";
-        stats.add(stat3);
-        when(mAppState.getEntry(stat1.mPackageName, UserHandle.myUserId()))
-                .thenReturn(mAppEntry);
-        when(mAppState.getEntry(stat2.mPackageName, UserHandle.myUserId()))
-                .thenReturn(mAppEntry);
-        when(mAppState.getEntry(stat3.mPackageName, UserHandle.myUserId()))
-                .thenReturn(mAppEntry);
-        mAppEntry.info = mApplicationInfo;
-
-        mController.onReloadDataCompleted(stats);
-
-        verify(mController.mAppEntitiesController, times(3))
-                .setAppEntity(anyInt(), any(AppEntityInfo.class));
-        assertThat(mController.mRecentAppsPreference.isVisible()).isTrue();
-        assertThat(mController.mDivider.isVisible()).isTrue();
-    }
-
-    @Test
-    public void onReloadDataCompleted_noRecentOpenAppsSet_shouldHideRecentAppPreference() {
-        final List<UsageStats> stats = new ArrayList<>();
-
-        mController.onReloadDataCompleted(stats);
-
-        assertThat(mController.mRecentAppsPreference.isVisible()).isFalse();
-        assertThat(mController.mDivider.isVisible()).isFalse();
-    }
-}