Fix battery tip app name is empty
- Top waste app is linux process not android process. Therefore
it doesn't contains application label. Fixed by return the process
name if packages label is empty.
Fixes: 146558570
Test: follow the steps:
1. adb shell settings put global battery_tip_constants test_low_battery_tip=true
2. Unplug usb. Go to Settings -> Battery, it should show an item
"Phone used more than usual"
3. Click "phone used more than usual" item, all the items should
have title and icon.
Change-Id: I85c232bc6a048b3104c4fce0fcec2b944e8ac1b4
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index 4144914..2f198cf 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -749,7 +749,7 @@
| PackageManager.MATCH_ANY_USER);
return appInfo.loadLabel(context.getPackageManager());
} catch (PackageManager.NameNotFoundException e) {
- Log.w(TAG, "Unable to find info for package: " + packageName);
+ Log.e(TAG, "Unable to find info for package: " + packageName);
}
return null;
}
diff --git a/src/com/android/settings/fuelgauge/batterytip/HighUsageAdapter.java b/src/com/android/settings/fuelgauge/batterytip/HighUsageAdapter.java
index cd79ea0..cb7b14e 100644
--- a/src/com/android/settings/fuelgauge/batterytip/HighUsageAdapter.java
+++ b/src/com/android/settings/fuelgauge/batterytip/HighUsageAdapter.java
@@ -30,7 +30,6 @@
import com.android.settings.R;
import com.android.settings.Utils;
-import com.android.settingslib.utils.StringUtil;
import java.util.List;
@@ -78,7 +77,12 @@
holder.appIcon.setImageDrawable(
Utils.getBadgedIcon(mIconDrawableFactory, mPackageManager, app.packageName,
UserHandle.getUserId(app.uid)));
- holder.appName.setText(Utils.getApplicationLabel(mContext, app.packageName));
+ CharSequence label = Utils.getApplicationLabel(mContext, app.packageName);
+ if (label == null) {
+ label = app.packageName;
+ }
+
+ holder.appName.setText(label);
}
@Override