am 06360f92: Add reveal view to overlay before creating animator

* commit '06360f9211fc2c6df4c5749bebb65202e1bb12a8':
  Add reveal view to overlay before creating animator
diff --git a/src/com/android/calculator2/Calculator.java b/src/com/android/calculator2/Calculator.java
index dc606c9..5dd04bf 100644
--- a/src/com/android/calculator2/Calculator.java
+++ b/src/com/android/calculator2/Calculator.java
@@ -109,6 +109,7 @@
     private CalculatorExpressionTokenizer mTokenizer;
     private CalculatorExpressionEvaluator mEvaluator;
 
+    private View mDisplayView;
     private CalculatorEditText mFormulaEditText;
     private CalculatorEditText mResultEditText;
     private ViewPager mPadViewPager;
@@ -124,6 +125,7 @@
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_calculator);
 
+        mDisplayView = findViewById(R.id.display);
         mFormulaEditText = (CalculatorEditText) findViewById(R.id.formula);
         mResultEditText = (CalculatorEditText) findViewById(R.id.result);
         mPadViewPager = (ViewPager) findViewById(R.id.pad_pager);
@@ -314,11 +316,11 @@
     }
 
     private void reveal(View sourceView, int colorRes, AnimatorListener listener) {
-        final View displayView = findViewById(R.id.display);
-        final View decorView = getWindow().getDecorView();
+        final ViewGroupOverlay groupOverlay =
+                (ViewGroupOverlay) getWindow().getDecorView().getOverlay();
 
         final Rect displayRect = new Rect();
-        displayView.getGlobalVisibleRect(displayRect);
+        mDisplayView.getGlobalVisibleRect(displayRect);
 
         // Make reveal cover the display and status bar.
         final View revealView = new View(this);
@@ -326,6 +328,7 @@
         revealView.setLeft(displayRect.left);
         revealView.setRight(displayRect.right);
         revealView.setBackgroundColor(getResources().getColor(colorRes));
+        groupOverlay.add(revealView);
 
         final int[] clearLocation = new int[2];
         sourceView.getLocationInWindow(clearLocation);
@@ -351,17 +354,11 @@
         alphaAnimator.setDuration(
                 getResources().getInteger(android.R.integer.config_mediumAnimTime));
 
-        final ViewGroupOverlay groupOverlay = (ViewGroupOverlay) decorView.getOverlay();
         final AnimatorSet animatorSet = new AnimatorSet();
         animatorSet.play(revealAnimator).before(alphaAnimator);
         animatorSet.setInterpolator(new AccelerateDecelerateInterpolator());
         animatorSet.addListener(new AnimatorListenerAdapter() {
             @Override
-            public void onAnimationStart(Animator animation) {
-                groupOverlay.add(revealView);
-            }
-
-            @Override
             public void onAnimationEnd(Animator animator) {
                 groupOverlay.remove(revealView);
                 mCurrentAnimator = null;