From 47d00cf15844d7af6788252763b454abc43acab0 Mon Sep 17 00:00:00 2001 From: Salvador Martinez Date: Tue, 11 Oct 2016 16:37:50 -0700 Subject: [PATCH] Memory Usage by apps no longer shows empty icon ProcessStatsPreference will now fallback to a default icon instead of an empty icon. Logging was added to be able to identify what causes list to add entries with no text. Test: Manual, requires installing -> uninstalling an app Bug: 31812426 Change-Id: Ia1b147ba7a552ec4880776ebf8dba6745154117a --- .../settings/applications/ProcStatsPackageEntry.java | 2 ++ .../settings/applications/ProcessStatsPreference.java | 10 ++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/applications/ProcStatsPackageEntry.java b/src/com/android/settings/applications/ProcStatsPackageEntry.java index ef74bc6c71d..dcf87fc6bad 100644 --- a/src/com/android/settings/applications/ProcStatsPackageEntry.java +++ b/src/com/android/settings/applications/ProcStatsPackageEntry.java @@ -22,6 +22,7 @@ import android.content.pm.PackageManager; import android.os.Parcel; import android.os.Parcelable; +import android.util.Log; import com.android.settings.R; import com.android.settings.Utils; @@ -127,6 +128,7 @@ public class ProcStatsPackageEntry implements Parcelable { mUiLabel = mUiTargetApp.loadLabel(pm).toString(); } } catch (PackageManager.NameNotFoundException e) { + Log.d(TAG, "could not find package: " + mPackage); } } diff --git a/src/com/android/settings/applications/ProcessStatsPreference.java b/src/com/android/settings/applications/ProcessStatsPreference.java index 996ed15e401..4ee0a041b4d 100644 --- a/src/com/android/settings/applications/ProcessStatsPreference.java +++ b/src/com/android/settings/applications/ProcessStatsPreference.java @@ -22,9 +22,11 @@ import android.graphics.drawable.ColorDrawable; import android.text.TextUtils; import android.text.format.Formatter; +import android.util.Log; import com.android.settings.AppProgressPreference; public class ProcessStatsPreference extends AppProgressPreference { + static final String TAG = "ProcessStatsPreference"; private ProcStatsPackageEntry mEntry; @@ -35,11 +37,15 @@ public class ProcessStatsPreference extends AppProgressPreference { public void init(ProcStatsPackageEntry entry, PackageManager pm, double maxMemory, double weightToRam, double totalScale, boolean avg) { mEntry = entry; - setTitle(TextUtils.isEmpty(entry.mUiLabel) ? entry.mPackage : entry.mUiLabel); + String title = TextUtils.isEmpty(entry.mUiLabel) ? entry.mPackage : entry.mUiLabel; + setTitle(title); + if (TextUtils.isEmpty(title)) { + Log.d(TAG, "PackageEntry contained no package name or uiLabel"); + } if (entry.mUiTargetApp != null) { setIcon(entry.mUiTargetApp.loadIcon(pm)); } else { - setIcon(new ColorDrawable(0)); + setIcon(pm.getDefaultActivityIcon()); } boolean statsForeground = entry.mRunWeight > entry.mBgWeight; double amount = avg ? (statsForeground ? entry.mRunWeight : entry.mBgWeight) * weightToRam