From d6a39495881ee89c9217ab0764b948b6eb773aea Mon Sep 17 00:00:00 2001 From: Jorim Jaggi Date: Mon, 25 Apr 2016 17:31:22 -0700 Subject: [PATCH] Make sure to notify divider always In some cases, recents didn't get resumed, so divider was never notified and thus we didn't start the animation. Instead, move the first drawn logic into onStart. Bug: 28366529 Change-Id: Ia71d6b517451bba727ae31a184bb55cecf5af198 --- .../systemui/recents/RecentsActivity.java | 29 ++++++++----------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java b/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java index 54713d072fc74..f41355cc14f7e 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java +++ b/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java @@ -314,6 +314,18 @@ public class RecentsActivity extends Activity implements ViewTreeObserver.OnPreD // Notify that recents is now visible EventBus.getDefault().send(new RecentsVisibilityChangedEvent(this, true)); MetricsLogger.visible(this, MetricsEvent.OVERVIEW_ACTIVITY); + + // Notify of the next draw + mRecentsView.getViewTreeObserver().addOnPreDrawListener( + new ViewTreeObserver.OnPreDrawListener() { + + @Override + public boolean onPreDraw() { + mRecentsView.getViewTreeObserver().removeOnPreDrawListener(this); + EventBus.getDefault().post(new RecentsDrawnEvent()); + return true; + } + }); } @Override @@ -399,23 +411,6 @@ public class RecentsActivity extends Activity implements ViewTreeObserver.OnPreD EventBus.getDefault().send(new EnterRecentsWindowAnimationCompletedEvent()); } - @Override - protected void onResume() { - super.onResume(); - - // Notify of the next draw - mRecentsView.getViewTreeObserver().addOnPreDrawListener( - new ViewTreeObserver.OnPreDrawListener() { - - @Override - public boolean onPreDraw() { - mRecentsView.getViewTreeObserver().removeOnPreDrawListener(this); - EventBus.getDefault().post(new RecentsDrawnEvent()); - return true; - } - }); - } - @Override protected void onPause() { super.onPause();