diff --git a/src/com/android/settings/AllowBindAppWidgetActivity.java b/src/com/android/settings/AllowBindAppWidgetActivity.java index c3bf78ab512..b015b681155 100644 --- a/src/com/android/settings/AllowBindAppWidgetActivity.java +++ b/src/com/android/settings/AllowBindAppWidgetActivity.java @@ -51,9 +51,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, @@ -79,15 +78,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) { @@ -109,7 +111,6 @@ public class AllowBindAppWidgetActivity extends AlertActivity implements mComponentName = null; mCallingPackage = null; Log.v("BIND_APPWIDGET", "Error getting parameters"); - setResult(RESULT_CANCELED); finish(); return; }