Merge "Using a common class for loading drawables and handling various badging" into oc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
d2561263a8
@@ -63,6 +63,7 @@ public class AppHeaderController {
|
||||
}
|
||||
|
||||
public static final String PREF_KEY_APP_HEADER = "pref_app_header";
|
||||
|
||||
private static final String TAG = "AppDetailFeature";
|
||||
|
||||
private final Context mContext;
|
||||
@@ -179,10 +180,6 @@ public class AppHeaderController {
|
||||
ImageView iconView = mAppHeader.findViewById(R.id.app_detail_icon);
|
||||
if (iconView != null) {
|
||||
iconView.setImageDrawable(mIcon);
|
||||
ImageView badgeView = mAppHeader.findViewById(R.id.app_icon_instant_apps_badge);
|
||||
if (badgeView != null) {
|
||||
badgeView.setVisibility(mIsInstantApp ? View.VISIBLE : View.GONE);
|
||||
}
|
||||
}
|
||||
setText(R.id.app_detail_title, mLabel);
|
||||
setText(R.id.app_detail_summary, mSummary);
|
||||
|
@@ -21,6 +21,7 @@ import static com.android.settings.applications.AppHeaderController.ActionType;
|
||||
import android.app.Activity;
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.util.IconDrawableFactory;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
@@ -43,7 +44,8 @@ public abstract class AppInfoWithHeader extends AppInfoBase {
|
||||
final Preference pref = FeatureFactory.getFactory(activity)
|
||||
.getApplicationFeatureProvider(activity)
|
||||
.newAppHeaderController(this, null /* appHeader */)
|
||||
.setIcon(mPackageInfo.applicationInfo.loadIcon(mPm))
|
||||
.setIcon(IconDrawableFactory.newInstance(activity)
|
||||
.getBadgedIcon(mPackageInfo.applicationInfo))
|
||||
.setLabel(mPackageInfo.applicationInfo.loadLabel(mPm))
|
||||
.setSummary(mPackageInfo)
|
||||
.setIsInstantApp(AppUtils.isInstant(mPackageInfo.applicationInfo))
|
||||
|
@@ -23,7 +23,6 @@ import android.content.Intent;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageItemInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.graphics.drawable.AdaptiveIconDrawable;
|
||||
import android.icu.text.AlphabeticIndex;
|
||||
import android.os.Bundle;
|
||||
import android.os.Environment;
|
||||
@@ -35,7 +34,6 @@ import android.preference.PreferenceFrameLayout;
|
||||
import android.support.annotation.VisibleForTesting;
|
||||
import android.text.TextUtils;
|
||||
import android.util.ArraySet;
|
||||
import android.util.LauncherIcons;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
@@ -55,8 +53,8 @@ import android.widget.FrameLayout;
|
||||
import android.widget.ListView;
|
||||
import android.widget.SectionIndexer;
|
||||
import android.widget.Spinner;
|
||||
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Settings.AllApplicationsActivity;
|
||||
@@ -826,7 +824,6 @@ public class ManageApplications extends InstrumentedPreferenceFragment
|
||||
private final AppStateBaseBridge mExtraInfoBridge;
|
||||
private final Handler mBgHandler;
|
||||
private final Handler mFgHandler;
|
||||
private final LauncherIcons mLauncherIcons;
|
||||
|
||||
private int mFilterMode;
|
||||
private ArrayList<ApplicationsState.AppEntry> mBaseEntries;
|
||||
@@ -882,7 +879,6 @@ public class ManageApplications extends InstrumentedPreferenceFragment
|
||||
mContext = manageApplications.getActivity();
|
||||
mPm = mContext.getPackageManager();
|
||||
mFilterMode = filterMode;
|
||||
mLauncherIcons = new LauncherIcons(mContext);
|
||||
if (mManageApplications.mListType == LIST_TYPE_NOTIFICATION) {
|
||||
mExtraInfoBridge = new AppStateNotificationBridge(mContext, mState, this,
|
||||
manageApplications.mNotifBackend);
|
||||
@@ -1317,9 +1313,6 @@ public class ManageApplications extends InstrumentedPreferenceFragment
|
||||
}
|
||||
mState.ensureIcon(entry);
|
||||
if (entry.icon != null) {
|
||||
if (entry.icon instanceof AdaptiveIconDrawable) {
|
||||
entry.icon = mLauncherIcons.wrapIconDrawableWithShadow(entry.icon);
|
||||
}
|
||||
holder.appIcon.setImageDrawable(entry.icon);
|
||||
}
|
||||
updateSummary(holder);
|
||||
|
@@ -39,6 +39,7 @@ import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.PreferenceCategory;
|
||||
import android.text.format.Formatter;
|
||||
import android.util.ArrayMap;
|
||||
import android.util.IconDrawableFactory;
|
||||
import android.util.Log;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
@@ -129,7 +130,7 @@ public class ProcessStatsDetail extends SettingsPreferenceFragment {
|
||||
.getApplicationFeatureProvider(activity)
|
||||
.newAppHeaderController(this, null /* appHeader */)
|
||||
.setIcon(mApp.mUiTargetApp != null
|
||||
? mApp.mUiTargetApp.loadIcon(mPm)
|
||||
? IconDrawableFactory.newInstance(activity).getBadgedIcon(mApp.mUiTargetApp)
|
||||
: new ColorDrawable(0))
|
||||
.setLabel(mApp.mUiLabel)
|
||||
.setPackageName(mApp.mPackage)
|
||||
|
@@ -40,6 +40,7 @@ import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.PreferenceCategory;
|
||||
import android.text.format.Formatter;
|
||||
import android.util.ArraySet;
|
||||
import android.util.IconDrawableFactory;
|
||||
import android.view.View;
|
||||
import android.widget.AdapterView;
|
||||
|
||||
@@ -158,7 +159,7 @@ public class AppDataUsage extends DataUsageBase implements Preference.OnPreferen
|
||||
PackageManager pm = getPackageManager();
|
||||
try {
|
||||
ApplicationInfo info = pm.getApplicationInfo(mPackages.valueAt(0), 0);
|
||||
mIcon = info.loadIcon(pm);
|
||||
mIcon = IconDrawableFactory.newInstance(getActivity()).getBadgedIcon(info);
|
||||
mLabel = info.loadLabel(pm);
|
||||
mPackageName = info.packageName;
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
|
@@ -18,7 +18,6 @@ package com.android.settings.notification;
|
||||
import android.app.INotificationManager;
|
||||
import android.app.NotificationChannel;
|
||||
import android.app.NotificationChannelGroup;
|
||||
import android.app.NotificationManager;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
@@ -28,6 +27,7 @@ import android.content.pm.ParceledListSlice;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.ServiceManager;
|
||||
import android.os.UserHandle;
|
||||
import android.util.IconDrawableFactory;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.settingslib.Utils;
|
||||
@@ -48,7 +48,7 @@ public class NotificationBackend {
|
||||
Log.e(TAG, "Error loading application label for " + row.pkg, t);
|
||||
row.label = row.pkg;
|
||||
}
|
||||
row.icon = app.loadIcon(pm);
|
||||
row.icon = IconDrawableFactory.newInstance(context).getBadgedIcon(app);
|
||||
row.banned = getNotificationsBanned(row.pkg, row.uid);
|
||||
row.showBadge = canShowBadge(row.pkg, row.uid);
|
||||
row.userId = UserHandle.getUserId(row.uid);
|
||||
|
Reference in New Issue
Block a user