diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2017-01-20 21:08:59 -0800 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2017-01-23 10:54:30 -0800 |
commit | 04a324afb7309fcf65cfa45420616a094031f20f (patch) | |
tree | 29f60d0ca321539af4bfeaa97b22ffbd12a2b88b /src/com/android/launcher3/util/PendingRequestArgs.java | |
parent | 0e452ecfdb88566ce96f139d4157ab34552d5e4b (diff) | |
download | android_packages_apps_Trebuchet-04a324afb7309fcf65cfa45420616a094031f20f.tar.gz android_packages_apps_Trebuchet-04a324afb7309fcf65cfa45420616a094031f20f.tar.bz2 android_packages_apps_Trebuchet-04a324afb7309fcf65cfa45420616a094031f20f.zip |
Adding WidgetAddFlowHandler to handle widget addition and configuration.
This will allow us to override the implementation and provide custom
logic for widget addition.
Bug: 33584624
Change-Id: I310bf39e301c7e1c8de4f62456594535e2fe5bbc
Diffstat (limited to 'src/com/android/launcher3/util/PendingRequestArgs.java')
-rw-r--r-- | src/com/android/launcher3/util/PendingRequestArgs.java | 29 |
1 files changed, 8 insertions, 21 deletions
diff --git a/src/com/android/launcher3/util/PendingRequestArgs.java b/src/com/android/launcher3/util/PendingRequestArgs.java index 9452fbd05..538e1df5b 100644 --- a/src/com/android/launcher3/util/PendingRequestArgs.java +++ b/src/com/android/launcher3/util/PendingRequestArgs.java @@ -15,15 +15,13 @@ */ package com.android.launcher3.util; -import android.appwidget.AppWidgetProviderInfo; import android.content.ContentValues; -import android.content.Context; import android.content.Intent; import android.os.Parcel; import android.os.Parcelable; import com.android.launcher3.ItemInfo; -import com.android.launcher3.LauncherAppWidgetProviderInfo; +import com.android.launcher3.widget.WidgetAddFlowHandler; /** * Utility class to store information regarding a pending request made by launcher. This information @@ -58,12 +56,7 @@ public class PendingRequestArgs extends ItemInfo implements Parcelable { mArg1 = parcel.readInt(); mObjectType = parcel.readInt(); - if (parcel.readInt() != 0) { - mObject = (mObjectType == TYPE_INTENT ? Intent.CREATOR : AppWidgetProviderInfo.CREATOR) - .createFromParcel(parcel); - } else { - mObject = null; - } + mObject = parcel.readParcelable(null); } @Override @@ -79,18 +72,11 @@ public class PendingRequestArgs extends ItemInfo implements Parcelable { dest.writeInt(mArg1); dest.writeInt(mObjectType); - if (mObject != null) { - dest.writeInt(1); - mObject.writeToParcel(dest, flags); - } else { - dest.writeInt(0); - } + dest.writeParcelable(mObject, flags); } - public LauncherAppWidgetProviderInfo getWidgetProvider(Context context) { - return mObjectType == TYPE_APP_WIDGET ? - LauncherAppWidgetProviderInfo.fromProviderInfo( - context, (AppWidgetProviderInfo) mObject) : null; + public WidgetAddFlowHandler getWidgetHandler() { + return mObjectType == TYPE_APP_WIDGET ? (WidgetAddFlowHandler) mObject : null; } public int getWidgetId() { @@ -106,8 +92,9 @@ public class PendingRequestArgs extends ItemInfo implements Parcelable { } public static PendingRequestArgs forWidgetInfo( - int appWidgetId, AppWidgetProviderInfo widgetInfo, ItemInfo info) { - PendingRequestArgs args = new PendingRequestArgs(appWidgetId, TYPE_APP_WIDGET, widgetInfo); + int appWidgetId, WidgetAddFlowHandler widgetHandler, ItemInfo info) { + PendingRequestArgs args = + new PendingRequestArgs(appWidgetId, TYPE_APP_WIDGET, widgetHandler); args.copyFrom(info); return args; } |