diff --git a/src/com/android/settings/AllowBindAppWidgetActivity.java b/src/com/android/settings/AllowBindAppWidgetActivity.java index 2f98ab30556..52e7870e2b0 100644 --- a/src/com/android/settings/AllowBindAppWidgetActivity.java +++ b/src/com/android/settings/AllowBindAppWidgetActivity.java @@ -52,9 +52,8 @@ public class AllowBindAppWidgetActivity extends AlertActivity implements private boolean mClicked; public void onClick(DialogInterface dialog, int which) { + mClicked = true; if (which == AlertDialog.BUTTON_POSITIVE) { - // By default, set the result to cancelled - setResult(RESULT_CANCELED); if (mAppWidgetId != -1 && mComponentName != null && mCallingPackage != null) { try { final boolean bound = mAppWidgetManager.bindAppWidgetIdIfAllowed(mAppWidgetId, @@ -80,15 +79,18 @@ public class AllowBindAppWidgetActivity extends AlertActivity implements finish(); } + @Override protected void onPause() { - if (isDestroyed() && !mClicked) { - setResult(RESULT_CANCELED); + if (!mClicked) { // RESULT_CANCELED + finish(); } - super.onDestroy(); + super.onPause(); } + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + setResult(RESULT_CANCELED); // By default, set the result to cancelled Intent intent = getIntent(); CharSequence label = ""; if (intent != null) { @@ -112,7 +114,6 @@ public class AllowBindAppWidgetActivity extends AlertActivity implements mComponentName = null; mCallingPackage = null; Log.v("BIND_APPWIDGET", "Error getting parameters"); - setResult(RESULT_CANCELED); finish(); return; }