Fix white flash screen on pressing home key.

Change-Id: I08c748caf6d2f1cb6693d89af4dbccf091f1f45f
diff --git a/src/com/android/browser/BrowserActivity.java b/src/com/android/browser/BrowserActivity.java
index 8569550..a6c5602 100644
--- a/src/com/android/browser/BrowserActivity.java
+++ b/src/com/android/browser/BrowserActivity.java
@@ -223,10 +223,22 @@
     }
 
     protected void handleOnResume() {
+        // Note: Intentionally left blank.
+    }
+
+    protected void handleOnStart() {
         mController.onResume();
     }
 
     @Override
+    protected void onStop() {
+        mEngineInitializer.onActivityStop();
+        super.onStop();
+        // Note: Do not add any more application logic in this method.
+        //       Move any additional app logic into handleOnStop().
+    }
+
+    @Override
     public boolean onMenuOpened(int featureId, Menu menu) {
         if (Window.FEATURE_OPTIONS_PANEL == featureId) {
             mController.onMenuOpened(featureId, menu);
@@ -267,6 +279,10 @@
     }
 
     protected void handleOnPause() {
+        // Note: Intentionally left blank
+    }
+
+    protected void handleOnStop() {
         mController.onPause();
     }
 
diff --git a/src/com/android/browser/EngineInitializer.java b/src/com/android/browser/EngineInitializer.java
index 03a18f6..7beb98d 100644
--- a/src/com/android/browser/EngineInitializer.java
+++ b/src/com/android/browser/EngineInitializer.java
@@ -264,14 +264,20 @@
     public void onActivityPause() {
         mOnResumePending = false;
         if (mActivityReady) {
-            Engine.pauseTracing(mActivity.getApplicationContext());
             mActivity.handleOnPause();
         }
     }
 
+    public void onActivityStop() {
+        mActivityStartPending = false;
+        if (mActivityReady) {
+            Engine.pauseTracing(mActivity.getApplicationContext());
+            mActivity.handleOnStop();
+        }
+    }
+
     public void onActivityResume() {
         if (mActivityReady) {
-            Engine.resumeTracing(mActivity.getApplicationContext());
             mActivity.handleOnResume();
             return;
         }
@@ -280,6 +286,8 @@
 
     public void onActivityStart() {
         if (mActivityReady) {
+            Engine.resumeTracing(mActivity.getApplicationContext());
+            mActivity.handleOnStart();
             // TODO: We have no reliable mechanism to know when the app goes background.
             //ChildProcessLauncher.onBroughtToForeground();
             return;