Fixing bug where search bar is not updated when search package is first installed.
- Fixing issue where we weren't disabling HW layers when you don't finish a swipe-to-dismiss
- Preventing tapping on a task that is currently being dismissed
- Adding a debug trigger for internal testing
- Minor refactoring
Change-Id: Id7dcc8a4b5a080402c2761cd555b8a882498ad29
diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewTouchHandler.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewTouchHandler.java
index d2f18ae..f9c5f13 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewTouchHandler.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewTouchHandler.java
@@ -371,11 +371,13 @@
@Override
public void onBeginDrag(View v) {
- // Enable HW layers
- mSv.addHwLayersRefCount("swipeBegin");
- // Disable clipping with the stack while we are swiping
TaskView tv = (TaskView) v;
+ // Disable clipping with the stack while we are swiping
tv.setClipViewInStack(false);
+ // Enable HW layers on that task
+ tv.enableHwLayers();
+ // Disallow touch events from this task view
+ mSv.setTouchOnTaskView(tv, false);
// Disallow parents from intercepting touch events
final ViewParent parent = mSv.getParent();
if (parent != null) {
@@ -391,25 +393,31 @@
@Override
public void onChildDismissed(View v) {
TaskView tv = (TaskView) v;
- mSv.onTaskDismissed(tv);
-
+ // Disable HW layers on that task
+ if (mSv.mHwLayersTrigger.getCount() == 0) {
+ tv.disableHwLayers();
+ }
// Re-enable clipping with the stack (we will reuse this view)
tv.setClipViewInStack(true);
-
- // Disable HW layers
- mSv.decHwLayersRefCount("swipeComplete");
+ // Remove the task view from the stack
+ mSv.onTaskDismissed(tv);
}
@Override
public void onSnapBackCompleted(View v) {
- // Re-enable clipping with the stack
- TaskView tv = (TaskView) v;
- tv.setClipViewInStack(true);
+ onDragCancelled(v);
}
@Override
public void onDragCancelled(View v) {
- // Disable HW layers
- mSv.decHwLayersRefCount("swipeCancelled");
+ TaskView tv = (TaskView) v;
+ // Disable HW layers on that task
+ if (mSv.mHwLayersTrigger.getCount() == 0) {
+ tv.disableHwLayers();
+ }
+ // Re-enable clipping with the stack
+ tv.setClipViewInStack(true);
+ // Re-enable touch events from this task view
+ mSv.setTouchOnTaskView(tv, true);
}
}