Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1c9092d1 authored by Alina Zaidi's avatar Alina Zaidi
Browse files

Adjust AppWidgetProviderInfo#getDescription to return CharSequence.

Also add more developer docs.

Test: atest AppWidgetServiceImplTest#testLoadDescription passed
Bug: b/180015383
Change-Id: Ie6fff9d880ba4721bf6babcd51acaa8fc9bd3cd9
parent 59536a1e
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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;
+17 −8
Original line number Diff line number Diff line
@@ -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;
    }

+1 −1
Original line number Diff line number Diff line
@@ -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();