am 2c82a585: am f79d6f69: Fix NPE resulting from invalid instance state

* commit '2c82a58551dabc42238466db29eae5e1ddfdc3de':
  Fix NPE resulting from invalid instance state
diff --git a/src/com/android/calculator2/Calculator.java b/src/com/android/calculator2/Calculator.java
index d4f10f0..83a9bb9 100644
--- a/src/com/android/calculator2/Calculator.java
+++ b/src/com/android/calculator2/Calculator.java
@@ -27,6 +27,7 @@
 import android.app.Activity;
 import android.graphics.Rect;
 import android.os.Bundle;
+import android.support.annotation.NonNull;
 import android.support.v4.view.ViewPager;
 import android.text.Editable;
 import android.text.TextUtils;
@@ -44,8 +45,6 @@
 import com.android.calculator2.CalculatorEditText.OnTextSizeChangeListener;
 import com.android.calculator2.CalculatorExpressionEvaluator.EvaluateCallback;
 
-import java.lang.Override;
-
 public class Calculator extends Activity
         implements OnTextSizeChangeListener, EvaluateCallback, OnLongClickListener {
 
@@ -157,8 +156,14 @@
     }
 
     @Override
-    protected void onSaveInstanceState(Bundle outState) {
+    protected void onSaveInstanceState(@NonNull Bundle outState) {
+        // If there's an animation in progress, cancel it first to ensure our state is up-to-date.
+        if (mCurrentAnimator != null) {
+            mCurrentAnimator.cancel();
+        }
+
         super.onSaveInstanceState(outState);
+
         outState.putInt(KEY_CURRENT_STATE, mCurrentState.ordinal());
         outState.putString(KEY_CURRENT_EXPRESSION,
                 mTokenizer.getNormalizedExpression(mFormulaEditText.getText().toString()));