package com.xabber.android.ui.dialog;
import android.app.DialogFragment;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import com.xabber.android.R;
import com.xabber.android.data.entity.AccountJid;
import com.xabber.android.data.entity.UserJid;
import com.xabber.android.data.extension.muc.MUCManager;
import com.xabber.android.data.extension.muc.RoomInvite;
import com.xabber.android.data.roster.AbstractContact;
import com.xabber.android.data.roster.RosterManager;
import com.xabber.android.ui.activity.ConferenceAddActivity;
public class MucInviteDialog extends BaseContactDialog {
private RoomInvite roomInvite;
public static DialogFragment newInstance(AccountJid account, UserJid contact) {
DialogFragment fragment = new MucInviteDialog();
setArguments(account, contact, fragment);
return fragment;
}
@Override
protected int getDialogTitleTextResource() {
return R.string.conference_invitation;
}
@Override
protected String getMessage() {
return roomInvite.getConfirmation();
}
@Override
protected int getNegativeButtonTextResource() {
return android.R.string.cancel;
}
@Override
protected int getPositiveButtonTextResource() {
return R.string.muc_join;
}
@Override
protected Integer getNeutralButtonTextResourceOrNull() {
return null;
}
@Override
protected void onPositiveButtonClick() {
startActivity(ConferenceAddActivity.createIntent(getActivity(), getAccount(), getContact().getBareUserJid()));
}
@Override
protected void onNegativeButtonClick() {
MUCManager.getInstance().removeInvite(roomInvite);
}
@Override
protected void onNeutralButtonClick() {
}
@Override
protected void setUpContactTitleView(View view) {
roomInvite = MUCManager.getInstance().getInvite(getAccount(), getContact().getJid().asEntityBareJidIfPossible());
final UserJid inviter = roomInvite.getInviter().getBareUserJid();
final AbstractContact bestContact = RosterManager.getInstance().getBestContact(getAccount(), inviter);
((ImageView)view.findViewById(R.id.avatar)).setImageDrawable(bestContact.getAvatar());
((TextView)view.findViewById(R.id.name)).setText(bestContact.getName());
((TextView)view.findViewById(R.id.status_text)).setText(inviter.toString());
}
}