summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/dragndrop/PinItemDragListener.java
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2017-03-30 19:18:00 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2017-03-30 19:18:01 +0000
commit1188b89dc421afabd06c1bbf23e3c7f281cfec36 (patch)
treed8ea9d9c5407a656f5dd5fe10c14842191206f20 /src/com/android/launcher3/dragndrop/PinItemDragListener.java
parentc5c9cae70da1dbf05668258cbd4cbf50a36f0e26 (diff)
parent5a81c3806b31c7763734e287d4cf2ed11294281d (diff)
downloadandroid_packages_apps_Trebuchet-1188b89dc421afabd06c1bbf23e3c7f281cfec36.tar.gz
android_packages_apps_Trebuchet-1188b89dc421afabd06c1bbf23e3c7f281cfec36.tar.bz2
android_packages_apps_Trebuchet-1188b89dc421afabd06c1bbf23e3c7f281cfec36.zip
Merge "Fixing multiwindow drag operation during with rotation." into ub-launcher3-dorval
Diffstat (limited to 'src/com/android/launcher3/dragndrop/PinItemDragListener.java')
-rw-r--r--src/com/android/launcher3/dragndrop/PinItemDragListener.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/com/android/launcher3/dragndrop/PinItemDragListener.java b/src/com/android/launcher3/dragndrop/PinItemDragListener.java
index dfc65660e..4b402f4ac 100644
--- a/src/com/android/launcher3/dragndrop/PinItemDragListener.java
+++ b/src/com/android/launcher3/dragndrop/PinItemDragListener.java
@@ -18,6 +18,7 @@ package com.android.launcher3.dragndrop;
import android.appwidget.AppWidgetManager;
import android.content.ClipDescription;
+import android.content.Intent;
import android.graphics.Point;
import android.graphics.Rect;
import android.os.Bundle;
@@ -245,6 +246,13 @@ public class PinItemDragListener
}
private void postCleanup() {
+ if (mLauncher != null) {
+ // Remove any drag params from the launcher intent since the drag operation is complete.
+ Intent newIntent = new Intent(mLauncher.getIntent());
+ newIntent.removeExtra(EXTRA_PIN_ITEM_DRAG_LISTENER);
+ mLauncher.setIntent(newIntent);
+ }
+
new Handler(Looper.getMainLooper()).post(new Runnable() {
@Override
public void run() {
@@ -268,6 +276,21 @@ public class PinItemDragListener
return null;
}
+ public static boolean handleDragRequest(Launcher launcher, Intent intent) {
+ if (intent == null || !Intent.ACTION_MAIN.equals(intent.getAction())) {
+ return false;
+ }
+ Parcelable dragExtra = intent.getParcelableExtra(EXTRA_PIN_ITEM_DRAG_LISTENER);
+ if (dragExtra instanceof PinItemDragListener) {
+ PinItemDragListener dragListener = (PinItemDragListener) dragExtra;
+ dragListener.setLauncher(launcher);
+
+ launcher.getDragLayer().setOnDragListener(dragListener);
+ return true;
+ }
+ return false;
+ }
+
public static final Parcelable.Creator<PinItemDragListener> CREATOR =
new Parcelable.Creator<PinItemDragListener>() {
public PinItemDragListener createFromParcel(Parcel source) {