diff options
| author | 2022-01-04 21:22:22 +0000 | |
|---|---|---|
| committer | 2022-01-04 21:22:22 +0000 | |
| commit | 1c23755dc8aa48c8ed49c2d5bab8bc818d0cbfff (patch) | |
| tree | 88f32bbbdb05b8b4b51da4c375238d59e1ac3018 | |
| parent | 83e628b0517627df6d6614e774c0f1207c6ea739 (diff) | |
| parent | 6dce47346161a80adf6bb107627223662f24d4f7 (diff) | |
Merge "Add logic in DreamBackend to parse dream description."
| -rw-r--r-- | packages/SettingsLib/src/com/android/settingslib/dream/DreamBackend.java | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/dream/DreamBackend.java b/packages/SettingsLib/src/com/android/settingslib/dream/DreamBackend.java index ab7b54d98285..c5e1c8d359f3 100644 --- a/packages/SettingsLib/src/com/android/settingslib/dream/DreamBackend.java +++ b/packages/SettingsLib/src/com/android/settingslib/dream/DreamBackend.java @@ -20,6 +20,7 @@ import android.annotation.IntDef; import android.content.ComponentName; import android.content.Context; import android.content.Intent; +import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.content.pm.ServiceInfo; @@ -57,6 +58,7 @@ public class DreamBackend { public boolean isActive; public ComponentName componentName; public ComponentName settingsComponentName; + public CharSequence description; @Override public String toString() { @@ -123,6 +125,7 @@ public class DreamBackend { DreamInfo dreamInfo = new DreamInfo(); dreamInfo.caption = resolveInfo.loadLabel(pm); dreamInfo.icon = resolveInfo.loadIcon(pm); + dreamInfo.description = getDescription(resolveInfo, pm); dreamInfo.componentName = getDreamComponentName(resolveInfo); dreamInfo.isActive = dreamInfo.componentName.equals(activeDream); dreamInfo.settingsComponentName = getSettingsComponentName(pm, resolveInfo); @@ -132,9 +135,25 @@ public class DreamBackend { return dreamInfos; } + private static CharSequence getDescription(ResolveInfo resolveInfo, PackageManager pm) { + String packageName = resolveInfo.resolvePackageName; + ApplicationInfo applicationInfo = null; + if (packageName == null) { + packageName = resolveInfo.serviceInfo.packageName; + applicationInfo = resolveInfo.serviceInfo.applicationInfo; + } + if (resolveInfo.serviceInfo.descriptionRes != 0) { + return pm.getText(packageName, + resolveInfo.serviceInfo.descriptionRes, + applicationInfo); + } + return null; + } + public ComponentName getDefaultDream() { - if (mDreamManager == null) + if (mDreamManager == null) { return null; + } try { return mDreamManager.getDefaultDreamComponentForUser(mContext.getUserId()); } catch (RemoteException e) { |