Store cooldown state through rotation

Bug:24361606
Change-Id: Ifc732ce7d157aaa9a21aaedb9e64bca9ae4a56c4
diff --git a/src/com/android/settings/CryptKeeper.java b/src/com/android/settings/CryptKeeper.java
index 90ea622..1b37066 100644
--- a/src/com/android/settings/CryptKeeper.java
+++ b/src/com/android/settings/CryptKeeper.java
@@ -107,6 +107,8 @@
     private static final String FORCE_VIEW_ERROR = "error";
     private static final String FORCE_VIEW_PASSWORD = "password";
 
+    private static final String STATE_COOLDOWN = "cooldown";
+
     /** When encryption is detected, this flag indicates whether or not we've checked for errors. */
     private boolean mValidationComplete;
     private boolean mValidationRequested;
@@ -426,6 +428,10 @@
         mStatusBar = (StatusBarManager) getSystemService(Context.STATUS_BAR_SERVICE);
         mStatusBar.disable(sWidgetsToDisable);
 
+        if (savedInstanceState != null) {
+            mCooldown = savedInstanceState.getBoolean(STATE_COOLDOWN);
+        }
+
         setAirplaneModeIfNecessary();
         mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
         // Check for (and recover) retained instance data
@@ -437,6 +443,11 @@
         }
     }
 
+    @Override
+    public void  onSaveInstanceState(Bundle savedInstanceState) {
+        savedInstanceState.putBoolean(STATE_COOLDOWN, mCooldown);
+    }
+
     /**
      * Note, we defer the state check and screen setup to onStart() because this will be
      * re-run if the user clicks the power button (sleeping/waking the screen), and this is