From 66bf45ffa8a9e0ff2d38c0dfb276fe27f2b7040b Mon Sep 17 00:00:00 2001 From: Vinit Nayak Date: Wed, 6 May 2020 13:44:29 -0700 Subject: Add new callback for when activity rotates Launcher needs to distinguish display changes that result naturally vs apps that launch in a fixed portrait/landscape rotation during the quickstep gesture.This callback helps anticipate if a subseqent onDisplayChanged() will have resulted from a natural rotation or not. Bug: 154580671 Change-Id: I59ee7985a9f367e8fc5826c08476c1a25d1426b0 --- .../systemui/shared/system/TaskStackChangeListener.java | 3 +++ .../systemui/shared/system/TaskStackChangeListeners.java | 12 ++++++++++++ 2 files changed, 15 insertions(+) (limited to 'packages/SystemUI/shared') diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListener.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListener.java index dd5cc7c9bbd4..796aaeefb62f 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListener.java +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListener.java @@ -114,4 +114,7 @@ public abstract class TaskStackChangeListener { /** @see ITaskStackListener#onRecentTaskListFrozenChanged(boolean) */ public void onRecentTaskListFrozenChanged(boolean frozen) { } + + /** @see ITaskStackListener#onActivityRotation()*/ + public void onActivityRotation() { } } diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java index a76a901c5c81..13f7993f57d4 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java @@ -237,6 +237,11 @@ public class TaskStackChangeListeners extends TaskStackListener { mHandler.obtainMessage(H.ON_TASK_DESCRIPTION_CHANGED, taskInfo).sendToTarget(); } + @Override + public void onActivityRotation() { + mHandler.obtainMessage(H.ON_ACTIVITY_ROTATION).sendToTarget(); + } + private final class H extends Handler { private static final int ON_TASK_STACK_CHANGED = 1; private static final int ON_TASK_SNAPSHOT_CHANGED = 2; @@ -260,6 +265,7 @@ public class TaskStackChangeListeners extends TaskStackListener { private static final int ON_SINGLE_TASK_DISPLAY_EMPTY = 22; private static final int ON_TASK_LIST_FROZEN_UNFROZEN = 23; private static final int ON_TASK_DESCRIPTION_CHANGED = 24; + private static final int ON_ACTIVITY_ROTATION = 25; public H(Looper looper) { @@ -427,6 +433,12 @@ public class TaskStackChangeListeners extends TaskStackListener { } break; } + case ON_ACTIVITY_ROTATION: { + for (int i = mTaskStackListeners.size() - 1; i >= 0; i--) { + mTaskStackListeners.get(i).onActivityRotation(); + } + break; + } } } if (msg.obj instanceof SomeArgs) { -- cgit v1.2.3-59-g8ed1b