diff options
author | Vadim Tryshev <vadimt@google.com> | 2018-03-19 15:51:12 -0700 |
---|---|---|
committer | Vadim Tryshev <vadimt@google.com> | 2018-03-19 15:51:12 -0700 |
commit | 7d8d1319d887a5da7d76e8c97ad5a723e9f8504e (patch) | |
tree | e9aa4ed2295a1008e7b9b303dbcbf234023a9c65 | |
parent | 1c75a77df6ccc1440f6ab15ca6a557137854b05b (diff) | |
download | android_packages_apps_Trebuchet-7d8d1319d887a5da7d76e8c97ad5a723e9f8504e.tar.gz android_packages_apps_Trebuchet-7d8d1319d887a5da7d76e8c97ad5a723e9f8504e.tar.bz2 android_packages_apps_Trebuchet-7d8d1319d887a5da7d76e8c97ad5a723e9f8504e.zip |
executing onOverviewXXX actions in UI thread
Bug: 73090995
Test: Manually verify that the actions still work
Change-Id: I3488cdb70fe8fe5b7574800894ee1077ceada2c4
-rw-r--r-- | quickstep/src/com/android/quickstep/OverviewCommandHelper.java | 56 |
1 files changed, 33 insertions, 23 deletions
diff --git a/quickstep/src/com/android/quickstep/OverviewCommandHelper.java b/quickstep/src/com/android/quickstep/OverviewCommandHelper.java index efca9ebb1..ef58fad29 100644 --- a/quickstep/src/com/android/quickstep/OverviewCommandHelper.java +++ b/quickstep/src/com/android/quickstep/OverviewCommandHelper.java @@ -73,35 +73,45 @@ public class OverviewCommandHelper extends InternalStateHandler { } 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; - } - - long elapsedTime = SystemClock.elapsedRealtime() - mLastToggleTime; - mLastToggleTime = SystemClock.elapsedRealtime(); - - if (isOverviewAlmostVisible()) { - boolean isQuickTap = elapsedTime < ViewConfiguration.getDoubleTapTimeout(); - startNonLauncherTask(isQuickTap ? 2 : 1); - } else { - openRecents(); - } + 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(); + + 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) { |