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

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

Merge "Use new app header in more screens."

parents c62f8809 fdb83387
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.os.UserHandle;
import android.support.annotation.IntDef;
import android.support.v7.preference.Preference;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
@@ -58,6 +59,7 @@ public class AppHeaderController {
        int ACTION_APP_PREFERENCE = 3;
        int ACTION_NOTIF_PREFERENCE = 4;
    }
    public static final String PREF_KEY_APP_HEADER = "pref_app_header";

    private static final String TAG = "AppDetailFeature";

@@ -175,6 +177,17 @@ public class AppHeaderController {
        }
    }

    /**
     * Done mutating appheader, rebinds everything and return a new {@link LayoutPreference}.
     */
    public LayoutPreference done(Context context) {
        final LayoutPreference pref = new LayoutPreference(context, done());
        // Makes sure it's the first preference onscreen.
        pref.setOrder(-1000);
        pref.setKey(PREF_KEY_APP_HEADER);
        return pref;
    }

    /**
     * Done mutating appheader, rebinds everything.
     */
+3 −7
Original line number Diff line number Diff line
@@ -20,7 +20,6 @@ import android.app.Activity;
import android.os.Bundle;
import android.support.v7.preference.Preference;
import android.util.Log;
import android.view.View;

import com.android.settings.AppHeader;
import com.android.settings.overlay.FeatureFactory;
@@ -47,7 +46,7 @@ public abstract class AppInfoWithHeader extends AppInfoBase {
                    mPackageInfo.applicationInfo.loadLabel(mPm), mPackageName,
                    mPackageInfo.applicationInfo.uid, 0);
        } else {
            final View appHeader = FeatureFactory.getFactory(activity)
            final Preference pref = FeatureFactory.getFactory(activity)
                    .getApplicationFeatureProvider(activity)
                    .newAppHeaderController(this, null /* appHeader */)
                    .setIcon(mPackageInfo.applicationInfo.loadIcon(mPm))
@@ -56,11 +55,8 @@ public abstract class AppInfoWithHeader extends AppInfoBase {
                    .setPackageName(mPackageName)
                    .setUid(mPackageInfo.applicationInfo.uid)
                    .setButtonActions(ActionType.ACTION_APP_INFO, ActionType.ACTION_NONE)
                    .done();
            final Preference appHeaderPref = new LayoutPreference(getPrefContext(), appHeader);
            // Makes sure it's the first preference onscreen.
            appHeaderPref.setOrder(-1000);
            getPreferenceScreen().addPreference(appHeaderPref);
                    .done(getPrefContext());
            getPreferenceScreen().addPreference(pref);
        }
    }
}
+20 −5
Original line number Diff line number Diff line
@@ -31,8 +31,8 @@ import android.os.LocaleList;
import android.os.UserHandle;
import android.os.UserManager;
import android.preference.PreferenceFrameLayout;
import android.support.v7.preference.Preference;
import android.text.TextUtils;
import android.util.ArraySet;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
@@ -52,9 +52,9 @@ import android.widget.FrameLayout;
import android.widget.ListView;
import android.widget.SectionIndexer;
import android.widget.Spinner;

import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.settings.AppHeader;
import com.android.settings.core.InstrumentedFragment;
import com.android.settings.R;
import com.android.settings.Settings.AllApplicationsActivity;
import com.android.settings.Settings.HighPowerApplicationsActivity;
@@ -67,6 +67,7 @@ import com.android.settings.SettingsActivity;
import com.android.settings.Utils;
import com.android.settings.applications.AppStateAppOpsBridge.PermissionState;
import com.android.settings.applications.AppStateUsageBridge.UsageState;
import com.android.settings.core.InstrumentedFragment;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.fuelgauge.HighPowerDetail;
import com.android.settings.fuelgauge.PowerWhitelistBackend;
@@ -338,7 +339,7 @@ public class ManageApplications extends InstrumentedFragment
    private void createHeader() {
        Activity activity = getActivity();
        FrameLayout pinnedHeader = (FrameLayout) mRootView.findViewById(R.id.pinned_header);
        mSpinnerHeader = (ViewGroup) activity.getLayoutInflater()
        mSpinnerHeader = activity.getLayoutInflater()
                .inflate(R.layout.apps_filter_spinner, pinnedHeader, false);
        mFilterSpinner = (Spinner) mSpinnerHeader.findViewById(R.id.filter_spinner);
        mFilterAdapter = new FilterSpinnerAdapter(this);
@@ -371,9 +372,23 @@ public class ManageApplications extends InstrumentedFragment
    @Override
    public void onViewCreated(View view, Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);

        if (mListType == LIST_TYPE_STORAGE) {
            final Activity activity = getActivity();
            final boolean isNewIAEnabled = FeatureFactory.getFactory(activity)
                    .getDashboardFeatureProvider(activity)
                    .isEnabled();
            if (!isNewIAEnabled) {
                FrameLayout pinnedHeader = (FrameLayout) mRootView.findViewById(R.id.pinned_header);
                AppHeader.createAppHeader(getActivity(), null, mVolumeName, null, -1, pinnedHeader);
            } else {
                final View appHeader = FeatureFactory.getFactory(activity)
                        .getApplicationFeatureProvider(activity)
                        .newAppHeaderController(this, null /* appHeaderView */)
                        .setLabel(mVolumeName)
                        .done();
                mListView.addHeaderView(appHeader);
            }
        }
    }

+3 −6
Original line number Diff line number Diff line
@@ -133,7 +133,7 @@ public class ProcessStatsDetail extends SettingsPreferenceFragment {
                            : new ColorDrawable(0),
                    mApp.mUiLabel, mApp.mPackage, mApp.mUiTargetApp.uid);
        } else {
            final View appHeader = FeatureFactory.getFactory(activity)
            final Preference pref = FeatureFactory.getFactory(activity)
                    .getApplicationFeatureProvider(activity)
                    .newAppHeaderController(this, null /* appHeader */)
                    .setIcon(mApp.mUiTargetApp != null
@@ -145,11 +145,8 @@ public class ProcessStatsDetail extends SettingsPreferenceFragment {
                            ? mApp.mUiTargetApp.uid
                            : UserHandle.USER_NULL)
                    .setButtonActions(ActionType.ACTION_APP_INFO, ActionType.ACTION_NONE)
                    .done();
            final Preference appHeaderPref = new LayoutPreference(getPrefContext(), appHeader);
            // Makes sure it's the first preference onscreen.
            appHeaderPref.setOrder(-1000);
            getPreferenceScreen().addPreference(appHeaderPref);
                    .done(getPrefContext());
            getPreferenceScreen().addPreference(pref);
        }
    }

+24 −6
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@

package com.android.settings.datausage;

import android.app.Activity;
import android.app.LoaderManager;
import android.content.Context;
import android.content.Intent;
@@ -29,7 +30,6 @@ import android.net.NetworkTemplate;
import android.net.TrafficStats;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Process;
import android.os.RemoteException;
import android.os.UserHandle;
import android.os.UserManager;
@@ -38,13 +38,15 @@ import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceCategory;
import android.text.format.Formatter;
import android.util.ArraySet;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;

import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.settings.AppHeader;
import com.android.settings.R;
import com.android.settings.applications.AppHeaderController;
import com.android.settings.applications.AppInfoBase;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.AppItem;
import com.android.settingslib.Utils;
import com.android.settingslib.net.ChartData;
@@ -53,7 +55,6 @@ import com.android.settingslib.net.UidDetailProvider;

import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.RejectedExecutionException;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;

@@ -345,15 +346,32 @@ public class AppDataUsage extends DataUsageBase implements Preference.OnPreferen
    public void onViewCreated(View view, Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);

        View header = setPinnedHeaderView(R.layout.app_header);
        String pkg = mPackages.size() != 0 ? mPackages.valueAt(0) : null;
        int uid = 0;
        try {
            uid = pkg != null ? getPackageManager().getPackageUid(pkg, 0) : 0;
        } catch (PackageManager.NameNotFoundException e) {
        }

        final Activity activity = getActivity();
        if (!FeatureFactory.getFactory(activity)
                .getDashboardFeatureProvider(activity).isEnabled()) {
            View header = setPinnedHeaderView(R.layout.app_header);
            AppHeader.setupHeaderView(getActivity(), mIcon, mLabel,
                    pkg, uid, AppHeader.includeAppInfo(this), 0, header, null);
        } else {
            final Preference pref = FeatureFactory.getFactory(activity)
                    .getApplicationFeatureProvider(activity)
                    .newAppHeaderController(this, null /* appHeader */)
                    .setIcon(mIcon)
                    .setLabel(mLabel)
                    .setPackageName(pkg)
                    .setUid(uid)
                    .setButtonActions(AppHeaderController.ActionType.ACTION_APP_INFO,
                            AppHeaderController.ActionType.ACTION_NONE)
                    .done(getPrefContext());
            getPreferenceScreen().addPreference(pref);
        }
    }

    @Override
Loading