Merge "Fix drawing order bug"
diff --git a/src/com/android/browser/BrowserActivity.java b/src/com/android/browser/BrowserActivity.java
index 1e1698b..b6d269d 100644
--- a/src/com/android/browser/BrowserActivity.java
+++ b/src/com/android/browser/BrowserActivity.java
@@ -79,8 +79,9 @@
             return;
         }
 
-        if (((AccessibilityManager) getSystemService(ACCESSIBILITY_SERVICE))
-                .isEnabled()) {
+        AccessibilityManager accessibilityManager = (AccessibilityManager)
+                getSystemService(ACCESSIBILITY_SERVICE);
+        if (accessibilityManager != null && accessibilityManager.isEnabled()) {
             setDefaultKeyMode(DEFAULT_KEYS_DISABLE);
         }
 
diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index 7512949..9659063 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -2293,6 +2293,7 @@
         // hide combo view if open
         removeComboView();
         if (mTabControl.getTabCount() == 1) {
+            CrashRecoveryHandler.clearState(mActivity);
             mActivity.finish();
             return;
         }
diff --git a/src/com/android/browser/CrashRecoveryHandler.java b/src/com/android/browser/CrashRecoveryHandler.java
index ca538bd..55fa6f8 100644
--- a/src/com/android/browser/CrashRecoveryHandler.java
+++ b/src/com/android/browser/CrashRecoveryHandler.java
@@ -134,7 +134,7 @@
 
     }
 
-    private static void clearState(Context context) {
+    public static void clearState(Context context) {
         File state = new File(context.getCacheDir(), STATE_FILE);
         if (state.exists()) {
             state.delete();