Bug 1147064 - Handle callback ids for Login doorhanger dialogs. r=margaret

--HG--
extra : rebase_source : 00b1700f83df1c895624fcd37bb8d5265667a34e
This commit is contained in:
Chenxia Liu 2015-05-22 16:04:25 -07:00
parent 1c22922d11
commit fca65dd78a
2 changed files with 3 additions and 3 deletions

View File

@ -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
}
}

View File

@ -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);