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

Commit e096df00 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Adding support for passing arbitrary extras when requesting to pin a...

Merge "Adding support for passing arbitrary extras when requesting to pin a widget. Also defining an extra constant for widget preview which can be used by developers to provide a snapshot of the widget with the pin request"
parents bb80cfa7 4ad6b577
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -7004,7 +7004,7 @@ package android.appwidget {
    method public void notifyAppWidgetViewDataChanged(int, int);
    method public void partiallyUpdateAppWidget(int[], android.widget.RemoteViews);
    method public void partiallyUpdateAppWidget(int, android.widget.RemoteViews);
    method public boolean requestPinAppWidget(android.content.ComponentName, android.app.PendingIntent);
    method public boolean requestPinAppWidget(android.content.ComponentName, android.os.Bundle, android.app.PendingIntent);
    method public void updateAppWidget(int[], android.widget.RemoteViews);
    method public void updateAppWidget(int, android.widget.RemoteViews);
    method public void updateAppWidget(android.content.ComponentName, android.widget.RemoteViews);
@@ -7023,6 +7023,7 @@ package android.appwidget {
    field public static final java.lang.String EXTRA_APPWIDGET_IDS = "appWidgetIds";
    field public static final java.lang.String EXTRA_APPWIDGET_OLD_IDS = "appWidgetOldIds";
    field public static final java.lang.String EXTRA_APPWIDGET_OPTIONS = "appWidgetOptions";
    field public static final java.lang.String EXTRA_APPWIDGET_PREVIEW = "appWidgetPreview";
    field public static final java.lang.String EXTRA_APPWIDGET_PROVIDER = "appWidgetProvider";
    field public static final java.lang.String EXTRA_APPWIDGET_PROVIDER_PROFILE = "appWidgetProviderProfile";
    field public static final java.lang.String EXTRA_CUSTOM_EXTRAS = "customExtras";
@@ -10106,6 +10107,7 @@ package android.content.pm {
    method public boolean accept();
    method public int describeContents();
    method public android.appwidget.AppWidgetProviderInfo getAppWidgetProviderInfo(android.content.Context);
    method public android.os.Bundle getExtras();
    method public int getRequestType();
    method public android.content.pm.ShortcutInfo getShortcutInfo();
    method public boolean isValid();
+3 −1
Original line number Diff line number Diff line
@@ -7464,7 +7464,7 @@ package android.appwidget {
    method public void notifyAppWidgetViewDataChanged(int, int);
    method public void partiallyUpdateAppWidget(int[], android.widget.RemoteViews);
    method public void partiallyUpdateAppWidget(int, android.widget.RemoteViews);
    method public boolean requestPinAppWidget(android.content.ComponentName, android.app.PendingIntent);
    method public boolean requestPinAppWidget(android.content.ComponentName, android.os.Bundle, android.app.PendingIntent);
    method public void updateAppWidget(int[], android.widget.RemoteViews);
    method public void updateAppWidget(int, android.widget.RemoteViews);
    method public void updateAppWidget(android.content.ComponentName, android.widget.RemoteViews);
@@ -7483,6 +7483,7 @@ package android.appwidget {
    field public static final java.lang.String EXTRA_APPWIDGET_IDS = "appWidgetIds";
    field public static final java.lang.String EXTRA_APPWIDGET_OLD_IDS = "appWidgetOldIds";
    field public static final java.lang.String EXTRA_APPWIDGET_OPTIONS = "appWidgetOptions";
    field public static final java.lang.String EXTRA_APPWIDGET_PREVIEW = "appWidgetPreview";
    field public static final java.lang.String EXTRA_APPWIDGET_PROVIDER = "appWidgetProvider";
    field public static final java.lang.String EXTRA_APPWIDGET_PROVIDER_PROFILE = "appWidgetProviderProfile";
    field public static final java.lang.String EXTRA_CUSTOM_EXTRAS = "customExtras";
@@ -10680,6 +10681,7 @@ package android.content.pm {
    method public boolean accept();
    method public int describeContents();
    method public android.appwidget.AppWidgetProviderInfo getAppWidgetProviderInfo(android.content.Context);
    method public android.os.Bundle getExtras();
    method public int getRequestType();
    method public android.content.pm.ShortcutInfo getShortcutInfo();
    method public boolean isValid();
+3 −1
Original line number Diff line number Diff line
@@ -7031,7 +7031,7 @@ package android.appwidget {
    method public void notifyAppWidgetViewDataChanged(int, int);
    method public void partiallyUpdateAppWidget(int[], android.widget.RemoteViews);
    method public void partiallyUpdateAppWidget(int, android.widget.RemoteViews);
    method public boolean requestPinAppWidget(android.content.ComponentName, android.app.PendingIntent);
    method public boolean requestPinAppWidget(android.content.ComponentName, android.os.Bundle, android.app.PendingIntent);
    method public void updateAppWidget(int[], android.widget.RemoteViews);
    method public void updateAppWidget(int, android.widget.RemoteViews);
    method public void updateAppWidget(android.content.ComponentName, android.widget.RemoteViews);
@@ -7050,6 +7050,7 @@ package android.appwidget {
    field public static final java.lang.String EXTRA_APPWIDGET_IDS = "appWidgetIds";
    field public static final java.lang.String EXTRA_APPWIDGET_OLD_IDS = "appWidgetOldIds";
    field public static final java.lang.String EXTRA_APPWIDGET_OPTIONS = "appWidgetOptions";
    field public static final java.lang.String EXTRA_APPWIDGET_PREVIEW = "appWidgetPreview";
    field public static final java.lang.String EXTRA_APPWIDGET_PROVIDER = "appWidgetProvider";
    field public static final java.lang.String EXTRA_APPWIDGET_PROVIDER_PROFILE = "appWidgetProviderProfile";
    field public static final java.lang.String EXTRA_CUSTOM_EXTRAS = "customExtras";
@@ -10139,6 +10140,7 @@ package android.content.pm {
    method public boolean accept();
    method public int describeContents();
    method public android.appwidget.AppWidgetProviderInfo getAppWidgetProviderInfo(android.content.Context);
    method public android.os.Bundle getExtras();
    method public int getRequestType();
    method public android.content.pm.ShortcutInfo getShortcutInfo();
    method public boolean isValid();
+26 −4
Original line number Diff line number Diff line
@@ -416,6 +416,17 @@ public class AppWidgetManager {
     */
    public static final String EXTRA_APPWIDGET_OLD_IDS = "appWidgetOldIds";

    /**
     * An extra that can be passed to
     * {@link #requestPinAppWidget(ComponentName, Bundle, PendingIntent)}. This would allow the
     * launcher app to present a custom preview to the user.
     *
     * <p>
     * The value should be a {@link RemoteViews} similar to what is used with
     * {@link #updateAppWidget} calls.
     */
    public static final String EXTRA_APPWIDGET_PREVIEW = "appWidgetPreview";

    /**
     * Field for the manifest meta-data tag.
     *
@@ -1073,7 +1084,7 @@ public class AppWidgetManager {

    /**
     * Return {@code TRUE} if the default launcher supports
     * {@link #requestPinAppWidget(ComponentName, PendingIntent)}
     * {@link #requestPinAppWidget(ComponentName, Bundle, PendingIntent)}
     */
    public boolean isRequestPinAppWidgetSupported() {
        try {
@@ -1083,6 +1094,15 @@ public class AppWidgetManager {
        }
    }

    /**
     * Only used during development. Can be deleted before release.
     * @hide
     */
    public boolean requestPinAppWidget(@NonNull ComponentName provider,
            @Nullable PendingIntent successCallback) {
        return requestPinAppWidget(provider, null, successCallback);
    }

    /**
     * Request to pin an app widget on the current launcher. It's up to the launcher to accept this
     * request (optionally showing a user confirmation). If the request is accepted, the caller will
@@ -1099,6 +1119,8 @@ public class AppWidgetManager {
     *
     * @param provider The {@link ComponentName} for the {@link
     *    android.content.BroadcastReceiver BroadcastReceiver} provider for your AppWidget.
     * @param extras In not null, this is passed to the launcher app. For eg {@link
     *    #EXTRA_APPWIDGET_PREVIEW} can be used for a custom preview.
     * @param successCallback If not null, this intent will be sent when the widget is created.
     *
     * @return {@code TRUE} if the launcher supports this feature. Note the API will return without
@@ -1113,9 +1135,9 @@ public class AppWidgetManager {
     * service or when the user is locked.
     */
    public boolean requestPinAppWidget(@NonNull ComponentName provider,
            @Nullable PendingIntent successCallback) {
            @Nullable Bundle extras, @Nullable PendingIntent successCallback) {
        try {
            return mService.requestPinAppWidget(mPackageName, provider,
            return mService.requestPinAppWidget(mPackageName, provider, extras,
                    successCallback == null ? null : successCallback.getIntentSender());
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
+1 −0
Original line number Diff line number Diff line
@@ -27,4 +27,5 @@ interface IPinItemRequest {
    boolean accept(in Bundle options);
    ShortcutInfo getShortcutInfo();
    AppWidgetProviderInfo getAppWidgetProviderInfo();
    Bundle getExtras();
}
Loading