diff options
| author | 2015-10-02 20:35:27 +0000 | |
|---|---|---|
| committer | 2015-10-02 20:35:27 +0000 | |
| commit | 9df717de9ad5d9aa3aeae0e801c98cf960607143 (patch) | |
| tree | 703875b1c867a31168d7728f8eae6acb8952fb3a | |
| parent | be2d7cdb906385a1384df4502cbbce6da2fd4b9d (diff) | |
| parent | 04ad7b14987f16dc28a9cdcf07de22cb01a5ac95 (diff) | |
Merge "Fixed issue with not force resizing a task when drag ends."
| -rw-r--r-- | services/core/java/com/android/server/am/ActivityStackSupervisor.java | 2 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/TaskPositioner.java | 20 |
2 files changed, 14 insertions, 8 deletions
diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java index 98b6ee6d2402..3a368ac59369 100644 --- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java +++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java @@ -3091,7 +3091,7 @@ public final class ActivityStackSupervisor implements DisplayListener { Trace.traceBegin(TRACE_TAG_ACTIVITY_MANAGER, "am.resizeTask_" + task.taskId); final Configuration overrideConfig = task.updateOverrideConfiguration(bounds); - // This variable holds information whether the configuration didn't change in a signficant + // This variable holds information whether the configuration didn't change in a significant // way and the activity was kept the way it was. If it's false, it means the activity had // to be relaunched due to configuration change. boolean kept = true; diff --git a/services/core/java/com/android/server/wm/TaskPositioner.java b/services/core/java/com/android/server/wm/TaskPositioner.java index 9da7406e8d3c..290c2eaf0bf3 100644 --- a/services/core/java/com/android/server/wm/TaskPositioner.java +++ b/services/core/java/com/android/server/wm/TaskPositioner.java @@ -146,13 +146,18 @@ class TaskPositioner implements DimLayer.DimLayerUser { } synchronized (mService.mWindowMap) { mDragEnded = notifyMoveLocked(newX, newY); + mTask.getBounds(mTmpRect); + } + if (!mTmpRect.equals(mWindowDragBounds)) { + Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, + "wm.TaskPositioner.resizeTask"); + try { + mService.mActivityManager.resizeTask( + mTask.mTaskId, mWindowDragBounds, RESIZE_MODE_USER); + } catch (RemoteException e) { + } + Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER); } - Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, "wm.TaskPositioner.resizeTask"); - try { - mService.mActivityManager.resizeTask( - mTask.mTaskId, mWindowDragBounds, RESIZE_MODE_USER); - } catch(RemoteException e) {} - Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER); } break; case MotionEvent.ACTION_UP: { @@ -171,11 +176,12 @@ class TaskPositioner implements DimLayer.DimLayerUser { } if (mDragEnded) { + final boolean wasResizing = mResizing; synchronized (mService.mWindowMap) { endDragLocked(); } try { - if (mResizing) { + if (wasResizing) { // We were using fullscreen surface during resizing. Request // resizeTask() one last time to restore surface to window size. mService.mActivityManager.resizeTask( |