summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Alina Zaidi <alinazaidi@google.com> 2021-02-18 07:50:16 +0000
committer Alina Zaidi <alinazaidi@google.com> 2021-02-19 15:14:41 +0000
commit1c9092d1274378beb603f85fa72fef4202d2b6c9 (patch)
tree31d30ec44a5f5d07cf9db2de40e5f3263e9b0d45
parent59536a1edb3c2746ca3a02131ca6139e79724d54 (diff)
Adjust AppWidgetProviderInfo#getDescription to return CharSequence.
Also add more developer docs. Test: atest AppWidgetServiceImplTest#testLoadDescription passed Bug: b/180015383 Change-Id: Ie6fff9d880ba4721bf6babcd51acaa8fc9bd3cd9
-rw-r--r--core/api/current.txt4
-rw-r--r--core/java/android/appwidget/AppWidgetProviderInfo.java25
-rw-r--r--services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java2
3 files changed, 20 insertions, 11 deletions
diff --git a/core/api/current.txt b/core/api/current.txt
index 5dee65509423..336f92de1899 100644
--- a/core/api/current.txt
+++ b/core/api/current.txt
@@ -8426,7 +8426,7 @@ package android.appwidget {
method public int describeContents();
method public final android.os.UserHandle getProfile();
method @NonNull public android.content.pm.ActivityInfo getProviderInfo();
- method @Nullable public final String loadDescription(@NonNull android.content.Context);
+ method @Nullable public final CharSequence loadDescription(@NonNull android.content.Context);
method public final android.graphics.drawable.Drawable loadIcon(@NonNull android.content.Context, int);
method public final String loadLabel(android.content.pm.PackageManager);
method public final android.graphics.drawable.Drawable loadPreviewImage(@NonNull android.content.Context, int);
@@ -8444,7 +8444,7 @@ package android.appwidget {
field public static final int WIDGET_FEATURE_RECONFIGURABLE = 1; // 0x1
field public int autoAdvanceViewId;
field public android.content.ComponentName configure;
- field @IdRes public int descriptionResource;
+ field @IdRes public int descriptionRes;
field public int icon;
field public int initialKeyguardLayout;
field public int initialLayout;
diff --git a/core/java/android/appwidget/AppWidgetProviderInfo.java b/core/java/android/appwidget/AppWidgetProviderInfo.java
index d893a5e49aa9..6ac1c1ae61ec 100644
--- a/core/java/android/appwidget/AppWidgetProviderInfo.java
+++ b/core/java/android/appwidget/AppWidgetProviderInfo.java
@@ -332,12 +332,13 @@ public class AppWidgetProviderInfo implements Parcelable {
/**
* Resource id for the description of the AppWidget.
+ *
* <p>This field corresponds to the <code>android:description</code> attribute in the AppWidget
* meta-data file.
*/
@SuppressLint("MutableBareField")
@IdRes
- public int descriptionResource;
+ public int descriptionRes;
/**
* Flags indicating various features supported by the widget. These are hints to the widget
@@ -385,7 +386,7 @@ public class AppWidgetProviderInfo implements Parcelable {
this.widgetCategory = in.readInt();
this.providerInfo = in.readTypedObject(ActivityInfo.CREATOR);
this.widgetFeatures = in.readInt();
- this.descriptionResource = in.readInt();
+ this.descriptionRes = in.readInt();
}
/**
@@ -442,14 +443,22 @@ public class AppWidgetProviderInfo implements Parcelable {
return loadDrawable(context, density, previewImage, false);
}
- /** Loads localized description for the app widget. */
+ /**
+ * Loads localized description for the app widget.
+ *
+ * <p>Description is intended to be displayed in the UI of the widget picker.
+ *
+ * @param context Context for accessing resources.
+ *
+ * @return CharSequence for app widget description for the current locale.
+ */
@Nullable
- public final String loadDescription(@NonNull Context context) {
- if (ResourceId.isValid(descriptionResource)) {
+ public final CharSequence loadDescription(@NonNull Context context) {
+ if (ResourceId.isValid(descriptionRes)) {
return context.getPackageManager()
.getText(
providerInfo.packageName,
- descriptionResource,
+ descriptionRes,
providerInfo.applicationInfo)
.toString()
.trim();
@@ -499,7 +508,7 @@ public class AppWidgetProviderInfo implements Parcelable {
out.writeInt(this.widgetCategory);
out.writeTypedObject(this.providerInfo, flags);
out.writeInt(this.widgetFeatures);
- out.writeInt(this.descriptionResource);
+ out.writeInt(this.descriptionRes);
}
@Override
@@ -528,7 +537,7 @@ public class AppWidgetProviderInfo implements Parcelable {
that.widgetCategory = this.widgetCategory;
that.providerInfo = this.providerInfo;
that.widgetFeatures = this.widgetFeatures;
- that.descriptionResource = this.descriptionResource;
+ that.descriptionRes = this.descriptionRes;
return that;
}
diff --git a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
index 809304bb24ae..7518c7a8bdc9 100644
--- a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
+++ b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
@@ -2673,7 +2673,7 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku
AppWidgetProviderInfo.WIDGET_CATEGORY_HOME_SCREEN);
info.widgetFeatures = sa.getInt(
com.android.internal.R.styleable.AppWidgetProviderInfo_widgetFeatures, 0);
- info.descriptionResource = sa.getResourceId(
+ info.descriptionRes = sa.getResourceId(
com.android.internal.R.styleable.AppWidgetProviderInfo_description,
Resources.ID_NULL);
sa.recycle();