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

Commit 84327f6a authored by Raff Tsai's avatar Raff Tsai
Browse files

Add storage_summary_donut above ProfileSelectStorageFragment

- Modify ProfileSelectFragment to support add preference xml in the
top, and tabLayout below the preferences. Base preference layout is
dummy_preference_screen.xml which contains no preference.
ProfileSelectStorageFragment contains StorageSummaryDonutPreference
above the tabLayout.
- Make StorageSummaryDonutPreferenceController self workable without
StorageDashboardFragment dependence.
- Rename inactive_apps.xml to dummy_preference_screen.xml
- Move ShadowPrivateStorageInfo from LowStorageSliceTest

Bug: 141601408
Test: manual
Change-Id: Ide12840dc81bb104f328e230ecda5d35bba01d7a
parent dee1548f
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -15,8 +15,7 @@
-->

<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:title="@string/inactive_apps_title">

    xmlns:settings="http://schemas.android.com/apk/res-auto"
    settings:searchable="false">
</PreferenceScreen>
+3 −1
Original line number Diff line number Diff line
@@ -22,7 +22,9 @@
    android:orderingFromXml="false">
    <com.android.settings.deviceinfo.storage.StorageSummaryDonutPreference
        android:key="pref_summary"
        android:order="0" />
        android:order="0"
        settings:searchable="false"
        settings:controller="com.android.settings.deviceinfo.storage.StorageSummaryDonutPreferenceController"/>
    <com.android.settings.widget.MasterSwitchPreference
        android:fragment="com.android.settings.deletionhelper.AutomaticStorageManagerSettings"
        android:key="toggle_asm"
+28 −0
Original line number Diff line number Diff line
<!--
  ~ 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
  -->

<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:settings="http://schemas.android.com/apk/res-auto"
    android:key="storage_dashboard_screen"
    android:title="@string/storage_settings"
    android:orderingFromXml="false">
    <com.android.settings.deviceinfo.storage.StorageSummaryDonutPreference
        android:key="pref_summary"
        android:order="0"
        settings:searchable="false"
        settings:controller="com.android.settings.deviceinfo.storage.StorageSummaryDonutPreferenceController"/>
</PreferenceScreen>
 No newline at end of file
+6 −6
Original line number Diff line number Diff line
@@ -21,9 +21,6 @@ import static android.content.Intent.EXTRA_USER_ID;
import static android.text.format.DateUtils.FORMAT_ABBREV_MONTH;
import static android.text.format.DateUtils.FORMAT_SHOW_DATE;

import static com.android.settings.applications.manageapplications.ManageApplications.EXTRA_PERSONAL_ONLY;
import static com.android.settings.applications.manageapplications.ManageApplications.EXTRA_WORK_ONLY;

import android.annotation.Nullable;
import android.app.ActionBar;
import android.app.Activity;
@@ -106,6 +103,7 @@ import com.android.internal.util.ArrayUtils;
import com.android.internal.widget.LockPatternUtils;
import com.android.settings.core.FeatureFlags;
import com.android.settings.dashboard.profileselector.ProfileFragmentBridge;
import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
import com.android.settings.password.ChooseLockSettingsHelper;
import com.android.settingslib.widget.ActionBarShadowController;

@@ -1061,12 +1059,14 @@ public final class Utils extends com.android.settingslib.Utils {
     */
    public static Fragment getTargetFragment(Activity activity, String fragmentName, Bundle args) {
        Fragment f = null;
        final boolean isWorkOnly = args == null ? false : args.getBoolean(EXTRA_WORK_ONLY);
        final boolean isPersonalOnly = args == null ? false : args.getBoolean(EXTRA_PERSONAL_ONLY);
        final boolean isPersonal = args != null ? args.getInt(ProfileSelectFragment.EXTRA_PROFILE)
                == ProfileSelectFragment.PERSONAL : false;
        final boolean isWork = args != null ? args.getInt(ProfileSelectFragment.EXTRA_PROFILE)
                == ProfileSelectFragment.WORK : false;
        if (FeatureFlagUtils.isEnabled(activity, FeatureFlags.PERSONAL_WORK_PROFILE)
                && UserManager.get(activity).getUserProfiles().size() > 1
                && ProfileFragmentBridge.FRAGMENT_MAP.get(fragmentName) != null
                && !isWorkOnly && !isPersonalOnly) {
                && !isWork && !isPersonal) {
            f = Fragment.instantiate(activity, ProfileFragmentBridge.FRAGMENT_MAP.get(fragmentName),
                    args);
        } else {
+10 −4
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import static com.android.settings.applications.manageapplications.AppFilterRegi
import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_POWER_WHITELIST_ALL;
import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_RECENT;
import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_WORK;
import static com.android.settings.search.actionbar.SearchMenuController.MENU_SEARCH;

import android.annotation.Nullable;
import android.annotation.StringRes;
@@ -99,6 +100,7 @@ import com.android.settings.applications.appinfo.ExternalSourcesDetails;
import com.android.settings.applications.appinfo.WriteSettingsDetails;
import com.android.settings.core.InstrumentedFragment;
import com.android.settings.core.SubSettingLauncher;
import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
import com.android.settings.fuelgauge.HighPowerDetail;
import com.android.settings.notification.AppNotificationSettings;
import com.android.settings.notification.ConfigureNotificationSettings;
@@ -141,9 +143,7 @@ public class ManageApplications extends InstrumentedFragment
    public static final String EXTRA_VOLUME_UUID = "volumeUuid";
    public static final String EXTRA_VOLUME_NAME = "volumeName";
    public static final String EXTRA_STORAGE_TYPE = "storageType";
    public static final String EXTRA_WORK_ONLY = "workProfileOnly";
    public static final String EXTRA_WORK_ID = "workId";
    public static final String EXTRA_PERSONAL_ONLY = "personalOnly";

    private static final String EXTRA_SORT_ORDER = "sortOrder";
    private static final String EXTRA_SHOW_SYSTEM = "showSystem";
@@ -310,8 +310,10 @@ public class ManageApplications extends InstrumentedFragment
        }
        final AppFilterRegistry appFilterRegistry = AppFilterRegistry.getInstance();
        mFilter = appFilterRegistry.get(appFilterRegistry.getDefaultFilterType(mListType));
        mIsPersonalOnly = args != null ? args.getBoolean(EXTRA_PERSONAL_ONLY) : false;
        mIsWorkOnly = args != null ? args.getBoolean(EXTRA_WORK_ONLY) : false;
        mIsPersonalOnly = args != null ? args.getInt(ProfileSelectFragment.EXTRA_PROFILE)
                == ProfileSelectFragment.PERSONAL : false;
        mIsWorkOnly = args != null ? args.getInt(ProfileSelectFragment.EXTRA_PROFILE)
                == ProfileSelectFragment.WORK : false;
        mWorkUserId = args != null ? args.getInt(EXTRA_WORK_ID) : NO_USER_SPECIFIED;
        mExpandSearch = activity.getIntent().getBooleanExtra(EXTRA_EXPAND_SEARCH_VIEW, false);

@@ -696,6 +698,10 @@ public class ManageApplications extends InstrumentedFragment
        // Hide notification menu items, because sorting happens when filtering
        mOptionsMenu.findItem(R.id.sort_order_recent_notification).setVisible(false);
        mOptionsMenu.findItem(R.id.sort_order_frequent_notification).setVisible(false);
        final MenuItem searchItem = mOptionsMenu.findItem(MENU_SEARCH);
        if (searchItem != null) {
            searchItem.setVisible(false);
        }
    }

    @Override
Loading