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

Commit c799e923 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix Battery optimization page broken"

parents 3d510a2a 50a0aafd
Loading
Loading
Loading
Loading
+27 −28
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageItemInfo;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.os.IBinder;
@@ -143,7 +144,7 @@ public class ManageApplications extends InstrumentedFragment
        implements View.OnClickListener, OnItemSelectedListener, SearchView.OnQueryTextListener {

    static final String TAG = "ManageApplications";
    static final boolean DEBUG = false;
    static final boolean DEBUG = Build.IS_DEBUGGABLE;

    // Intent extras.
    public static final String EXTRA_CLASSNAME = "classname";
@@ -178,8 +179,6 @@ public class ManageApplications extends InstrumentedFragment
    public static final int STORAGE_TYPE_LEGACY = 2; // Show apps even if they can be categorized.
    public static final int STORAGE_TYPE_PHOTOS_VIDEOS = 3;

    private static final int NO_USER_SPECIFIED = -1;

    /**
     * Intents with action {@code android.settings.MANAGE_APP_OVERLAY_PERMISSION}
     * and data URI scheme {@code package} don't go to the app-specific screen for managing the
@@ -461,19 +460,8 @@ public class ManageApplications extends InstrumentedFragment
        pinnedHeader.addView(mSpinnerHeader, 0);

        final AppFilterRegistry appFilterRegistry = AppFilterRegistry.getInstance();
        mFilterAdapter.enableFilter(appFilterRegistry.getDefaultFilterType(mListType));

        AppFilter compositeFilter = getCompositeFilter(mListType, mStorageType, mVolumeUuid);
        if (mIsWorkOnly) {
            compositeFilter = new CompoundFilter(compositeFilter, ApplicationsState.FILTER_WORK);
        }
        if (mIsPersonalOnly) {
            compositeFilter = new CompoundFilter(compositeFilter,
                    ApplicationsState.FILTER_PERSONAL);
        }
        if (compositeFilter != null) {
            mApplications.setCompositeFilter(compositeFilter);
        }
        final int filterType = appFilterRegistry.getDefaultFilterType(mListType);
        mFilterAdapter.enableFilter(filterType);

        if (mListType == LIST_TYPE_MAIN) {
            if (UserManager.get(getActivity()).getUserProfiles().size() > 1 && !mIsWorkOnly
@@ -491,6 +479,8 @@ public class ManageApplications extends InstrumentedFragment
        if (mListType == LIST_TYPE_HIGH_POWER) {
            mFilterAdapter.enableFilter(FILTER_APPS_POWER_WHITELIST_ALL);
        }

        setCompositeFilter();
    }

    @VisibleForTesting
@@ -511,11 +501,8 @@ public class ManageApplications extends InstrumentedFragment
            return new CompoundFilter(ApplicationsState.FILTER_MOVIES, filter);
        } else if (listType == LIST_TYPE_PHOTOGRAPHY) {
            return new CompoundFilter(ApplicationsState.FILTER_PHOTOS, filter);
        } else {
            final AppFilterRegistry appFilterRegistry = AppFilterRegistry.getInstance();
            return appFilterRegistry.get(
                    appFilterRegistry.getDefaultFilterType(listType)).getFilter();
        }
        return null;
    }

    @Override
@@ -615,6 +602,21 @@ public class ManageApplications extends InstrumentedFragment
        }
    }

    private void setCompositeFilter() {
        AppFilter compositeFilter = getCompositeFilter(mListType, mStorageType, mVolumeUuid);
        if (compositeFilter == null) {
            compositeFilter = mFilter.getFilter();
        }
        if (mIsWorkOnly) {
            compositeFilter = new CompoundFilter(compositeFilter, ApplicationsState.FILTER_WORK);
        }
        if (mIsPersonalOnly) {
            compositeFilter = new CompoundFilter(compositeFilter,
                    ApplicationsState.FILTER_PERSONAL);
        }
        mApplications.setCompositeFilter(compositeFilter);
    }

    // utility method used to start sub activity
    private void startApplicationDetailsActivity() {
        switch (mListType) {
@@ -823,6 +825,7 @@ public class ManageApplications extends InstrumentedFragment
    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
        mFilter = mFilterAdapter.getFilter(position);
        setCompositeFilter();
        mApplications.setFilter(mFilter);

        if (DEBUG) {
@@ -1227,14 +1230,10 @@ public class ManageApplications extends InstrumentedFragment
                comparatorObj = ApplicationsState.ALPHA_COMPARATOR;
            }

            filterObj = new CompoundFilter(filterObj, ApplicationsState.FILTER_NOT_HIDE);
            AppFilter finalFilterObj = filterObj;
            final AppFilter finalFilterObj = new CompoundFilter(filterObj,
                    ApplicationsState.FILTER_NOT_HIDE);
            ThreadUtils.postOnBackgroundThread(() -> {
                final ArrayList<AppEntry> entries = mSession.rebuild(finalFilterObj,
                        comparatorObj, false);
                if (entries != null) {
                    ThreadUtils.postOnMainThread(() -> onRebuildComplete(entries));
                }
                mSession.rebuild(finalFilterObj, comparatorObj, false);
            });
        }

@@ -1284,7 +1283,7 @@ public class ManageApplications extends InstrumentedFragment
        @Override
        public void onRebuildComplete(ArrayList<AppEntry> entries) {
            if (DEBUG) {
                Log.d(TAG, "onRebuildComplete");
                Log.d(TAG, "onRebuildComplete size=" + entries.size());
            }
            final int filterType = mAppFilter.getFilterType();
            if (filterType == FILTER_APPS_POWER_WHITELIST ||