From fca65dd78a443034df6bd7dbeaa042ef7cb195da Mon Sep 17 00:00:00 2001 From: Chenxia Liu Date: Fri, 22 May 2015 16:04:25 -0700 Subject: [PATCH] Bug 1147064 - Handle callback ids for Login doorhanger dialogs. r=margaret --HG-- extra : rebase_source : 00b1700f83df1c895624fcd37bb8d5265667a34e --- mobile/android/base/widget/DoorHanger.java | 1 - mobile/android/base/widget/LoginDoorHanger.java | 5 +++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mobile/android/base/widget/DoorHanger.java b/mobile/android/base/widget/DoorHanger.java index 1c40a0e4d410..45cca8bcb6e0 100644 --- a/mobile/android/base/widget/DoorHanger.java +++ b/mobile/android/base/widget/DoorHanger.java @@ -121,7 +121,6 @@ public abstract class DoorHanger extends LinearLayout { mPositiveButton.setText(positiveButtonConfig.label); mPositiveButton.setOnClickListener(makeOnButtonClickListener(positiveButtonConfig.callback)); mPositiveButton.setVisibility(VISIBLE); - // TODO: set positive button click listener for LoginDoorhanger callback } } diff --git a/mobile/android/base/widget/LoginDoorHanger.java b/mobile/android/base/widget/LoginDoorHanger.java index 15e32d7b939b..f3856371a129 100644 --- a/mobile/android/base/widget/LoginDoorHanger.java +++ b/mobile/android/base/widget/LoginDoorHanger.java @@ -39,7 +39,6 @@ public class LoginDoorHanger extends DoorHanger { private final TextView mTitle; private final TextView mMessage; private final TextView mLink; - // TODO: Fix callback for pos/neg button. private int mCallbackID; public LoginDoorHanger(Context context, DoorhangerConfig config) { @@ -63,6 +62,8 @@ public class LoginDoorHanger extends DoorHanger { protected void loadConfig(DoorhangerConfig config) { setOptions(config.getOptions()); setMessage(config.getMessage()); + // Store the positive callback id for nested dialogs that need the same callback id. + mCallbackID = config.getPositiveButtonConfig().callback; addButtonsToLayout(config); } @@ -214,7 +215,7 @@ public class LoginDoorHanger extends DoorHanger { public void onClick(DialogInterface dialog, int which) { final JSONObject response = new JSONObject(); try { - response.put("callback", SiteIdentityPopup.ButtonType.COPY.ordinal()); + response.put("callback", mCallbackID); response.put("password", passwords[which]); } catch (JSONException e) { Log.e(LOGTAG, "Error making login select dialog JSON", e);