diff options
| author | 2021-02-18 07:50:16 +0000 | |
|---|---|---|
| committer | 2021-02-19 15:14:41 +0000 | |
| commit | 1c9092d1274378beb603f85fa72fef4202d2b6c9 (patch) | |
| tree | 31d30ec44a5f5d07cf9db2de40e5f3263e9b0d45 | |
| parent | 59536a1edb3c2746ca3a02131ca6139e79724d54 (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.txt | 4 | ||||
| -rw-r--r-- | core/java/android/appwidget/AppWidgetProviderInfo.java | 25 | ||||
| -rw-r--r-- | services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java | 2 |
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(); |