package com.xabber.android.ui.dialog;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.annotation.Nullable;
import com.xabber.android.R;
import com.xabber.android.data.account.AccountManager;
import com.xabber.android.data.entity.AccountJid;
public class AccountColorDialog extends DialogFragment {
private static final String ARGUMENT_ACCOUNT = AccountColorDialog.class.getName();
AccountJid accountJid;
public static DialogFragment newInstance(AccountJid account) {
AccountColorDialog fragment = new AccountColorDialog();
Bundle arguments = new Bundle();
arguments.putParcelable(ARGUMENT_ACCOUNT, account);
fragment.setArguments(arguments);
return fragment;
}
@Override public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle args = getArguments();
accountJid = args.getParcelable(ARGUMENT_ACCOUNT);
}
@Override public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder dialog = new AlertDialog.Builder(getActivity());
dialog.setTitle(getString(R.string.account_color));
dialog.setPositiveButton(null, null);
dialog.setNegativeButton(android.R.string.cancel, null);
int colorIndex = AccountManager.getInstance().getColorLevel(accountJid);
dialog.setSingleChoiceItems(R.array.account_color_names, colorIndex, selectItemListener);
return dialog.create();
}
DialogInterface.OnClickListener selectItemListener = new DialogInterface.OnClickListener() {
@Override public void onClick(DialogInterface dialog, int which) {
AccountManager.getInstance().setColor(accountJid, which);
AccountManager.getInstance().onAccountChanged(accountJid);
dialog.dismiss();
}
};
}