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

Commit 005028d9 authored by Steven Ng's avatar Steven Ng Committed by Android (Google) Code Review
Browse files

Merge "Add a layout attribute in widget metadata for widget preview" into sc-dev

parents 4bc0e4eb cd5c9b06
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1100,6 +1100,7 @@ package android {
    field public static final int presentationTheme = 16843712; // 0x10103c0
    field public static final int preserveLegacyExternalStorage = 16844308; // 0x1010614
    field public static final int previewImage = 16843482; // 0x10102da
    field public static final int previewLayout = 16844327; // 0x1010627
    field public static final int primaryContentAlpha = 16844114; // 0x1010552
    field public static final int priority = 16842780; // 0x101001c
    field public static final int privateImeOptions = 16843299; // 0x1010223
@@ -8386,6 +8387,7 @@ package android.appwidget {
    field public int minResizeWidth;
    field public int minWidth;
    field public int previewImage;
    field @IdRes public int previewLayout;
    field public android.content.ComponentName provider;
    field public int resizeMode;
    field public int updatePeriodMillis;
+22 −2
Original line number Diff line number Diff line
@@ -247,11 +247,28 @@ public class AppWidgetProviderInfo implements Parcelable {
     * A preview of what the AppWidget will look like after it's configured.
     * If not supplied, the AppWidget's icon will be used.
     *
     * <p>This field corresponds to the <code>android:previewImage</code> attribute in
     * the <code>&lt;receiver&gt;</code> element in the AndroidManifest.xml file.
     * <p>This field corresponds to the <code>android:previewImage</code> attribute in the AppWidget
     * meta-data file.
     */
    public int previewImage;

    /**
     * The layout resource id of a preview of what the AppWidget will look like after it's
     * configured.
     *
     * <p>Unlike previewImage, previewLayout can better showcase AppWidget in different locales,
     * system themes, display sizes & density etc.
     *
     * <p>If supplied, this will take precedence over the previewImage on supported widget hosts.
     * Otherwise, previewImage will be used.
     *
     * <p>This field corresponds to the <code>android:previewLayout</code> attribute in the
     * AppWidget meta-data file.
     */
    @SuppressLint("MutableBareField")
    @IdRes
    public int previewLayout;

    /**
     * The rules by which a widget can be resized. See {@link #RESIZE_NONE},
     * {@link #RESIZE_NONE}, {@link #RESIZE_HORIZONTAL},
@@ -320,6 +337,7 @@ public class AppWidgetProviderInfo implements Parcelable {
        this.label = in.readString();
        this.icon = in.readInt();
        this.previewImage = in.readInt();
        this.previewLayout = in.readInt();
        this.autoAdvanceViewId = in.readInt();
        this.resizeMode = in.readInt();
        this.widgetCategory = in.readInt();
@@ -429,6 +447,7 @@ public class AppWidgetProviderInfo implements Parcelable {
        out.writeString(this.label);
        out.writeInt(this.icon);
        out.writeInt(this.previewImage);
        out.writeInt(this.previewLayout);
        out.writeInt(this.autoAdvanceViewId);
        out.writeInt(this.resizeMode);
        out.writeInt(this.widgetCategory);
@@ -453,6 +472,7 @@ public class AppWidgetProviderInfo implements Parcelable {
        that.label = this.label;
        that.icon = this.icon;
        that.previewImage = this.previewImage;
        that.previewLayout = this.previewLayout;
        that.autoAdvanceViewId = this.autoAdvanceViewId;
        that.resizeMode = this.resizeMode;
        that.widgetCategory = this.widgetCategory;
+10 −2
Original line number Diff line number Diff line
@@ -7969,9 +7969,17 @@
        <!-- A class name in the AppWidget's package to be launched to configure.
             If not supplied, then no activity will be launched. -->
        <attr name="configure" format="string" />
        <!-- A preview of what the AppWidget will look like after it's configured.
        <!-- A preview, in a drawable resource id, of what the AppWidget will look like after it's
             configured.
             If not supplied, the AppWidget's icon will be used. -->
        <attr name="previewImage" format="reference" />
        <!-- The layout resource id of a preview of what the AppWidget will look like after it's
             configured.
             Unlike previewImage, previewLayout can better showcase AppWidget in different locales,
             system themes, display sizes & density etc.
             If supplied, this will take precedence over the previewImage on supported widget hosts.
             Otherwise, previewImage will be used. -->
        <attr name="previewLayout" format="reference" />
        <!-- The view id of the AppWidget subview which should be auto-advanced.
             by the widget's host. -->
        <attr name="autoAdvanceViewId" format="reference" />
+1 −0
Original line number Diff line number Diff line
@@ -3061,6 +3061,7 @@
    <public name="nativeHeapZeroInit" />
    <!-- @hide @SystemApi -->
    <public name="hotwordDetectionService" />
    <public name="previewLayout" />
  </public-group>

  <public-group type="drawable" first-id="0x010800b5">
+2 −0
Original line number Diff line number Diff line
@@ -2647,6 +2647,8 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku
            info.icon = activityInfo.getIconResource();
            info.previewImage = sa.getResourceId(
                    com.android.internal.R.styleable.AppWidgetProviderInfo_previewImage, 0);
            info.previewLayout = sa.getResourceId(
                    com.android.internal.R.styleable.AppWidgetProviderInfo_previewLayout, 0);
            info.autoAdvanceViewId = sa.getResourceId(
                    com.android.internal.R.styleable.AppWidgetProviderInfo_autoAdvanceViewId, -1);
            info.resizeMode = sa.getInt(
Loading