executing onOverviewXXX actions in UI thread
Bug: 73090995
Test: Manually verify that the actions still work
Change-Id: I3488cdb70fe8fe5b7574800894ee1077ceada2c4
diff --git a/quickstep/src/com/android/quickstep/OverviewCommandHelper.java b/quickstep/src/com/android/quickstep/OverviewCommandHelper.java
index efca9eb..ef58fad 100644
--- a/quickstep/src/com/android/quickstep/OverviewCommandHelper.java
+++ b/quickstep/src/com/android/quickstep/OverviewCommandHelper.java
@@ -73,35 +73,45 @@
}
public void onOverviewToggle() {
- if (DEBUG_START_FALLBACK_ACTIVITY) {
- mContext.startActivity(new Intent(mContext, RecentsActivity.class)
- .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK));
- return;
- }
+ getLauncher().runOnUiThread(() -> {
+ if (DEBUG_START_FALLBACK_ACTIVITY) {
+ mContext.startActivity(new Intent(mContext, RecentsActivity.class)
+ .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent
+ .FLAG_ACTIVITY_CLEAR_TASK));
+ return;
+ }
- long elapsedTime = SystemClock.elapsedRealtime() - mLastToggleTime;
- mLastToggleTime = SystemClock.elapsedRealtime();
+ long elapsedTime = SystemClock.elapsedRealtime() - mLastToggleTime;
+ mLastToggleTime = SystemClock.elapsedRealtime();
- if (isOverviewAlmostVisible()) {
- boolean isQuickTap = elapsedTime < ViewConfiguration.getDoubleTapTimeout();
- startNonLauncherTask(isQuickTap ? 2 : 1);
- } else {
- openRecents();
- }
+ if (isOverviewAlmostVisible()) {
+ boolean isQuickTap = elapsedTime < ViewConfiguration.getDoubleTapTimeout();
+ startNonLauncherTask(isQuickTap ? 2 : 1);
+ } else {
+ openRecents();
+ }
+ }
+ );
}
public void onOverviewShown() {
- if (isOverviewAlmostVisible()) {
- final RecentsView rv = getLauncher().getOverviewPanel();
- rv.snapToTaskAfterNext();
- } else {
- openRecents();
- }
+ getLauncher().runOnUiThread(() -> {
+ if (isOverviewAlmostVisible()) {
+ final RecentsView rv = getLauncher().getOverviewPanel();
+ rv.snapToTaskAfterNext();
+ } else {
+ openRecents();
+ }
+ }
+ );
}
public void onOverviewHidden() {
- final RecentsView rv = getLauncher().getOverviewPanel();
- rv.launchNextTask();
+ getLauncher().runOnUiThread(() -> {
+ final RecentsView rv = getLauncher().getOverviewPanel();
+ rv.launchNextTask();
+ }
+ );
}
private void startNonLauncherTask(int backStackCount) {