Fix for activity lifecycle in exit dialog.
The activity lifecycle was impacted because of
the way, process was getting killed in Exit dialog
This change fixes it.
diff --git a/src/com/android/browser/BrowserActivity.java b/src/com/android/browser/BrowserActivity.java
index c0a91ad..531a1c7 100644
--- a/src/com/android/browser/BrowserActivity.java
+++ b/src/com/android/browser/BrowserActivity.java
@@ -65,6 +65,8 @@
private Handler mHandler = new Handler();
private final Locale mCurrentLocale = Locale.getDefault();
+ public static boolean killOnExitDialog = false;
+
private UiController mUiController;
private Handler mHandlerEx = new Handler();
@@ -304,8 +306,8 @@
mEngineInitializer.onActivityDestroy();
mController.onDestroy();
mController = NullController.INSTANCE;
- if (!Locale.getDefault().equals(mCurrentLocale)) {
- Log.e(LOGTAG,"Force Killing Browser on locale change");
+ if (!Locale.getDefault().equals(mCurrentLocale) || killOnExitDialog) {
+ Log.i(LOGTAG,"Force Killing Browser");
Process.killProcess(Process.myPid());
}
diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index 1138700..f6e8cbf 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -2370,6 +2370,7 @@
}
private void showExitDialog(final Activity activity) {
+ BrowserActivity.killOnExitDialog = false;
new AlertDialog.Builder(activity)
.setTitle(R.string.exit_browser_title)
/* disabled, was worrying people: .setIcon(android.R.drawable.ic_dialog_alert) */
@@ -2382,15 +2383,9 @@
})
.setPositiveButton(R.string.exit_quit, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
+ mCrashRecoveryHandler.clearState(true);
+ BrowserActivity.killOnExitDialog = true;
activity.finish();
- mHandler.postDelayed(new Runnable() {
- @Override
- public void run() {
- mCrashRecoveryHandler.clearState(true);
- int pid = android.os.Process.myPid();
- android.os.Process.killProcess(pid);
- }
- }, 300);
dialog.dismiss();
}
})