From c00a89afd1fdde12ea99b33b4a2cdfb4f4d11922 Mon Sep 17 00:00:00 2001 From: Zoey Chen Date: Thu, 23 Mar 2023 17:32:04 +0000 Subject: [PATCH] [Settings] Add package name in UidDetail for Settings app Bug: 273167633 Test: local test Change-Id: I7d69eda9e91b35da44d731f4729e99848d48722a --- .../src/com/android/settingslib/net/UidDetail.java | 1 + .../src/com/android/settingslib/net/UidDetailProvider.java | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/SettingsLib/src/com/android/settingslib/net/UidDetail.java b/packages/SettingsLib/src/com/android/settingslib/net/UidDetail.java index 5e4228126ee1b..6fba0a1692192 100644 --- a/packages/SettingsLib/src/com/android/settingslib/net/UidDetail.java +++ b/packages/SettingsLib/src/com/android/settingslib/net/UidDetail.java @@ -24,4 +24,5 @@ public class UidDetail { public CharSequence[] detailLabels; public CharSequence[] detailContentDescriptions; public Drawable icon; + public CharSequence packageName; } diff --git a/packages/SettingsLib/src/com/android/settingslib/net/UidDetailProvider.java b/packages/SettingsLib/src/com/android/settingslib/net/UidDetailProvider.java index 623eb33f9c0dd..c9b1f46b9ce5f 100644 --- a/packages/SettingsLib/src/com/android/settingslib/net/UidDetailProvider.java +++ b/packages/SettingsLib/src/com/android/settingslib/net/UidDetailProvider.java @@ -150,6 +150,7 @@ public class UidDetailProvider { // otherwise fall back to using packagemanager labels final String[] packageNames = pm.getPackagesForUid(uid); final int length = packageNames != null ? packageNames.length : 0; + String packageName = ""; try { final int userId = UserHandle.getUserId(uid); UserHandle userHandle = new UserHandle(userId); @@ -161,12 +162,13 @@ public class UidDetailProvider { detail.label = info.loadLabel(pm).toString(); detail.icon = um.getBadgedIconForUser(info.loadIcon(pm), new UserHandle(userId)); + packageName = packageNames[0]; } } else if (length > 1) { detail.detailLabels = new CharSequence[length]; detail.detailContentDescriptions = new CharSequence[length]; for (int i = 0; i < length; i++) { - final String packageName = packageNames[i]; + packageName = packageNames[i]; final PackageInfo packageInfo = pm.getPackageInfo(packageName, 0); final ApplicationInfo appInfo = ipm.getApplicationInfo(packageName, 0 /* no flags */, userId); @@ -183,6 +185,7 @@ public class UidDetailProvider { } } } + detail.packageName = packageName; detail.contentDescription = um.getBadgedLabelForUser(detail.label, userHandle); } catch (NameNotFoundException e) { Log.w(TAG, "Error while building UI detail for uid "+uid, e);