diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2017-11-14 15:06:36 -0800 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2017-11-15 10:24:10 -0800 |
commit | d3864fa630f0028971116b321702f20bf4ff6c7d (patch) | |
tree | c40919fee536830c99bb89285639b5dbd437a81c /src/com/android/launcher3/dragndrop/BaseItemDragListener.java | |
parent | 77f7b6682262675f25639c94c205e0ad37334c34 (diff) | |
download | android_packages_apps_Trebuchet-d3864fa630f0028971116b321702f20bf4ff6c7d.tar.gz android_packages_apps_Trebuchet-d3864fa630f0028971116b321702f20bf4ff6c7d.tar.bz2 android_packages_apps_Trebuchet-d3864fa630f0028971116b321702f20bf4ff6c7d.zip |
Fixing double state changes when using an InternalStateHandler
> Removing duplicate state handling on onCreate and onNewInetnt when InternalStateHandler is active
> Changing PinItemDragListener to use IntenalStateHandler
Change-Id: I42dcf82d1180c49430c6cf0b85d47072c4498ecc
Diffstat (limited to 'src/com/android/launcher3/dragndrop/BaseItemDragListener.java')
-rw-r--r-- | src/com/android/launcher3/dragndrop/BaseItemDragListener.java | 31 |
1 files changed, 14 insertions, 17 deletions
diff --git a/src/com/android/launcher3/dragndrop/BaseItemDragListener.java b/src/com/android/launcher3/dragndrop/BaseItemDragListener.java index 96aaee03b..4629dad3a 100644 --- a/src/com/android/launcher3/dragndrop/BaseItemDragListener.java +++ b/src/com/android/launcher3/dragndrop/BaseItemDragListener.java @@ -16,22 +16,25 @@ package com.android.launcher3.dragndrop; +import static com.android.launcher3.LauncherState.NORMAL; + import android.content.ClipDescription; import android.content.Intent; import android.graphics.Point; import android.graphics.Rect; import android.os.Handler; import android.os.Looper; -import android.os.Parcel; import android.os.SystemClock; import android.util.Log; import android.view.DragEvent; import android.view.View; +import com.android.launcher3.AbstractFloatingView; import com.android.launcher3.DragSource; import com.android.launcher3.DropTarget.DragObject; import com.android.launcher3.Launcher; import com.android.launcher3.R; +import com.android.launcher3.states.InternalStateHandler; import com.android.launcher3.widget.PendingItemDragHelper; import java.util.UUID; @@ -39,7 +42,7 @@ import java.util.UUID; /** * {@link DragSource} for handling drop from a different window. */ -public abstract class BaseItemDragListener implements +public abstract class BaseItemDragListener extends InternalStateHandler implements View.OnDragListener, DragSource, DragOptions.PreDragCondition { private static final String TAG = "BaseItemDragListener"; @@ -67,25 +70,16 @@ public abstract class BaseItemDragListener implements mId = UUID.randomUUID().toString(); } - protected BaseItemDragListener(Parcel parcel) { - mPreviewRect = Rect.CREATOR.createFromParcel(parcel); - mPreviewBitmapWidth = parcel.readInt(); - mPreviewViewWidth = parcel.readInt(); - mId = parcel.readString(); - } - - protected void writeToParcel(Parcel parcel, int i) { - mPreviewRect.writeToParcel(parcel, i); - parcel.writeInt(mPreviewBitmapWidth); - parcel.writeInt(mPreviewViewWidth); - parcel.writeString(mId); - } - public String getMimeType() { return MIME_TYPE_PREFIX + mId; } - public void setLauncher(Launcher launcher) { + @Override + public void init(Launcher launcher, boolean alreadyOnHome) { + AbstractFloatingView.closeAllOpenViews(launcher, alreadyOnHome); + launcher.getStateManager().goToState(NORMAL, alreadyOnHome /* animated */); + launcher.getDragLayer().setOnDragListener(this); + mLauncher = launcher; mDragController = launcher.getDragController(); } @@ -182,4 +176,7 @@ public abstract class BaseItemDragListener implements mLauncher.getDragLayer().setOnDragListener(null); } } + + @Override + public void onLauncherResume() { } } |