summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Lucas Silva <lusilva@google.com> 2022-01-04 21:22:22 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2022-01-04 21:22:22 +0000
commit1c23755dc8aa48c8ed49c2d5bab8bc818d0cbfff (patch)
tree88f32bbbdb05b8b4b51da4c375238d59e1ac3018
parent83e628b0517627df6d6614e774c0f1207c6ea739 (diff)
parent6dce47346161a80adf6bb107627223662f24d4f7 (diff)
Merge "Add logic in DreamBackend to parse dream description."
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/dream/DreamBackend.java21
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) {