OSDN Git Service

Minimal change to ensure that position is last saved when docking.
authorWinson Chung <winsonc@google.com>
Tue, 26 Sep 2017 18:51:08 +0000 (11:51 -0700)
committerWinson Chung <winsonc@google.com>
Wed, 27 Sep 2017 16:59:28 +0000 (09:59 -0700)
- When a task is docked from Recents, the last position is never updated
  if the user never touches the divider.  Ensure that the default dock
  snap target is saved in this case as well.

Bug: 66903645
Test: Dock a task from Recents, go home, and hit recents
Change-Id: Ia229d2ba0eee792424fb9e9c043320cec71695dc

packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java

index 6bfef20..23a7dae 100644 (file)
@@ -64,6 +64,7 @@ import com.android.systemui.Interpolators;
 import com.android.systemui.R;
 import com.android.systemui.recents.Recents;
 import com.android.systemui.recents.events.EventBus;
+import com.android.systemui.recents.events.activity.DockedFirstAnimationFrameEvent;
 import com.android.systemui.recents.events.activity.DockedTopTaskEvent;
 import com.android.systemui.recents.events.activity.RecentsActivityStartingEvent;
 import com.android.systemui.recents.events.activity.UndockingTaskEvent;
@@ -1210,6 +1211,10 @@ public class DividerView extends FrameLayout implements OnTouchListener,
         }
     }
 
+    public final void onBusEvent(DockedFirstAnimationFrameEvent event) {
+        saveSnapTargetBeforeMinimized(mSnapAlgorithm.getMiddleTarget());
+    }
+
     public final void onBusEvent(DockedTopTaskEvent event) {
         if (event.dragMode == NavigationBarGestureHelper.DRAG_MODE_NONE) {
             mState.growAfterRecentsDrawn = false;