diff options
-rw-r--r-- | quickstep/src/com/android/launcher3/proxy/ProxyActivityStarter.java | 2 | ||||
-rw-r--r-- | quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java | 2 | ||||
-rw-r--r-- | src/com/android/launcher3/Launcher.java | 17 | ||||
-rw-r--r-- | src/com/android/launcher3/dragndrop/PinShortcutRequestActivityInfo.java | 10 | ||||
-rw-r--r-- | src/com/android/launcher3/util/StartActivityParams.java (renamed from quickstep/src/com/android/launcher3/proxy/StartActivityParams.java) | 8 |
5 files changed, 23 insertions, 16 deletions
diff --git a/quickstep/src/com/android/launcher3/proxy/ProxyActivityStarter.java b/quickstep/src/com/android/launcher3/proxy/ProxyActivityStarter.java index 4d7cc85ed1..6d90b03533 100644 --- a/quickstep/src/com/android/launcher3/proxy/ProxyActivityStarter.java +++ b/quickstep/src/com/android/launcher3/proxy/ProxyActivityStarter.java @@ -24,6 +24,8 @@ import android.content.IntentSender.SendIntentException; import android.os.Bundle; import android.util.Log; +import com.android.launcher3.util.StartActivityParams; + public class ProxyActivityStarter extends Activity { private static final String TAG = "ProxyActivityStarter"; diff --git a/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java b/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java index 2f13c5de44..b7582d0d1a 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java +++ b/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java @@ -121,7 +121,6 @@ import com.android.launcher3.model.WellbeingModel; import com.android.launcher3.model.data.ItemInfo; import com.android.launcher3.popup.SystemShortcut; import com.android.launcher3.proxy.ProxyActivityStarter; -import com.android.launcher3.proxy.StartActivityParams; import com.android.launcher3.statehandlers.DepthController; import com.android.launcher3.statehandlers.DesktopVisibilityController; import com.android.launcher3.statemanager.StateManager.AtomicAnimationFactory; @@ -153,6 +152,7 @@ import com.android.launcher3.util.RunnableList; import com.android.launcher3.util.SplitConfigurationOptions; import com.android.launcher3.util.SplitConfigurationOptions.SplitPositionOption; import com.android.launcher3.util.SplitConfigurationOptions.SplitSelectSource; +import com.android.launcher3.util.StartActivityParams; import com.android.launcher3.util.TouchController; import com.android.launcher3.widget.LauncherWidgetHolder; import com.android.quickstep.OverviewCommandHelper; diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index fed123f1b3..ce8d25a12c 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -1418,8 +1418,7 @@ public class Launcher extends StatefulActivity<LauncherState> */ protected void completeAddShortcut(Intent data, int container, int screenId, int cellX, int cellY, PendingRequestArgs args) { - if (args.getRequestCode() != REQUEST_CREATE_SHORTCUT - || args.getPendingIntent().getComponent() == null) { + if (args.getRequestCode() != REQUEST_CREATE_SHORTCUT) { return; } @@ -1928,16 +1927,10 @@ public class Launcher extends StatefulActivity<LauncherState> info.spanX = spanX; info.spanY = spanY; - switch (info.itemType) { - case LauncherSettings.Favorites.ITEM_TYPE_CUSTOM_APPWIDGET: - case LauncherSettings.Favorites.ITEM_TYPE_APPWIDGET: - addAppWidgetFromDrop((PendingAddWidgetInfo) info); - break; - case LauncherSettings.Favorites.ITEM_TYPE_SHORTCUT: - processShortcutFromDrop((PendingAddShortcutInfo) info); - break; - default: - throw new IllegalStateException("Unknown item type: " + info.itemType); + if (info instanceof PendingAddWidgetInfo) { + addAppWidgetFromDrop((PendingAddWidgetInfo) info); + } else { // info can only be PendingAddShortcutInfo + processShortcutFromDrop((PendingAddShortcutInfo) info); } } diff --git a/src/com/android/launcher3/dragndrop/PinShortcutRequestActivityInfo.java b/src/com/android/launcher3/dragndrop/PinShortcutRequestActivityInfo.java index 7bdec1cfde..0f3cad66a2 100644 --- a/src/com/android/launcher3/dragndrop/PinShortcutRequestActivityInfo.java +++ b/src/com/android/launcher3/dragndrop/PinShortcutRequestActivityInfo.java @@ -16,6 +16,8 @@ package com.android.launcher3.dragndrop; +import static android.content.pm.LauncherApps.EXTRA_PIN_ITEM_REQUEST; + import static com.android.launcher3.LauncherAnimUtils.SPRING_LOADED_EXIT_DELAY; import static com.android.launcher3.LauncherState.EDIT_MODE; import static com.android.launcher3.LauncherState.SPRING_LOADED; @@ -25,6 +27,7 @@ import android.annotation.TargetApi; import android.app.Activity; import android.content.ComponentName; import android.content.Context; +import android.content.Intent; import android.content.pm.LauncherApps; import android.content.pm.LauncherApps.PinItemRequest; import android.content.pm.PackageManager; @@ -41,6 +44,7 @@ import com.android.launcher3.icons.IconCache; import com.android.launcher3.model.data.WorkspaceItemInfo; import com.android.launcher3.pm.PinRequestHelper; import com.android.launcher3.pm.ShortcutConfigActivityInfo; +import com.android.launcher3.util.StartActivityParams; import java.util.function.Supplier; @@ -105,7 +109,11 @@ public class PinShortcutRequestActivityInfo extends ShortcutConfigActivityInfo { @Override public boolean startConfigActivity(Activity activity, int requestCode) { - return false; + new StartActivityParams(activity, requestCode).deliverResult( + activity, + Activity.RESULT_OK, + new Intent().putExtra(EXTRA_PIN_ITEM_REQUEST, mRequestSupplier.get())); + return true; } @Override diff --git a/quickstep/src/com/android/launcher3/proxy/StartActivityParams.java b/src/com/android/launcher3/util/StartActivityParams.java index b47ef47423..6e60b2a0d1 100644 --- a/quickstep/src/com/android/launcher3/proxy/StartActivityParams.java +++ b/src/com/android/launcher3/util/StartActivityParams.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.launcher3.proxy; +package com.android.launcher3.util; import static android.app.PendingIntent.FLAG_MUTABLE; import static android.app.PendingIntent.FLAG_ONE_SHOT; @@ -31,6 +31,9 @@ import android.os.Parcel; import android.os.Parcelable; import android.util.Log; +/** + * Wrapper class for parameters to start an activity. + */ public class StartActivityParams implements Parcelable { private static final String TAG = "StartActivityParams"; @@ -90,6 +93,7 @@ public class StartActivityParams implements Parcelable { parcel.writeBundle(options); } + /** Perform the operation on the pendingIntent. */ public void deliverResult(Context context, int resultCode, Intent data) { try { if (mPICallback != null) { @@ -101,7 +105,7 @@ public class StartActivityParams implements Parcelable { } public static final Parcelable.Creator<StartActivityParams> CREATOR = - new Parcelable.Creator<StartActivityParams>() { + new Parcelable.Creator<>() { public StartActivityParams createFromParcel(Parcel source) { return new StartActivityParams(source); } |