package com.socioboard.t_board_pro.adapters;
import java.util.ArrayList;
import android.app.Dialog;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.drawable.ColorDrawable;
import android.os.Handler;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import com.socioboard.t_board_pro.MainActivity;
import com.socioboard.t_board_pro.util.ModelUserDatas;
import com.socioboard.t_board_pro.util.TboardproLocalData;
import com.socioboard.t_board_pro.util.Utils;
import com.socioboard.tboardpro.R;
public class AccountAdapter extends BaseAdapter {
private Context context;
private ArrayList<ModelUserDatas> navDrawerItems;
MainActivity mainActivity;
public AccountAdapter(ArrayList<ModelUserDatas> navDrawerItems,
MainActivity mainActivity) {
this.context = mainActivity.getApplicationContext();
this.navDrawerItems = navDrawerItems;
this.mainActivity = mainActivity;
}
@Override
public int getCount() {
return navDrawerItems.size();
}
@Override
public Object getItem(int position) {
return navDrawerItems.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = mInflater.inflate(R.layout.account_item, parent,false);
}
ImageView profilePic = (ImageView) convertView.findViewById(R.id.profile_pic);
ImageView settingspic = (ImageView) convertView.findViewById(R.id.settings);
TextView text = (TextView) convertView.findViewById(R.id.user_name);
String stringBtmp = navDrawerItems.get(position).getUserimage();
Bitmap bitmap = null;
if (stringBtmp != null) {
bitmap = Utils.decodeBase64(stringBtmp);
profilePic.setImageBitmap(bitmap);
}
settingspic.setImageResource(R.drawable.delete_account_icon);
text.setText(navDrawerItems.get(position).getUsername());
settingspic.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
myprint("settingspic " + navDrawerItems.get(position));
accountSettings(navDrawerItems.get(position), position);
}
});
return convertView;
}
public void myprint(Object msg) {
System.out.println(msg.toString());
}
void accountSettings(final ModelUserDatas userDatas, final int position) {
final Dialog dialog;
dialog = new Dialog(mainActivity);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.account_dialog);
dialog.setCancelable(true);
dialog.getWindow().setBackgroundDrawable(
new ColorDrawable(android.graphics.Color.TRANSPARENT));
ImageView imageView = (ImageView) dialog.findViewById(R.id.profile_pic);
TextView textView = (TextView) dialog
.findViewById(R.id.textViewAccount);
if (userDatas.getUserimage() != null) {
Bitmap bitmap = Utils.decodeBase64(userDatas.getUserimage());
if (bitmap == null) {
} else {
imageView.setImageBitmap(bitmap);
}
}
textView.setText(userDatas.getUsername());
Button buttonRemove, buttonCancel;
buttonRemove = (Button) dialog.findViewById(R.id.button1Remove);
buttonCancel = (Button) dialog.findViewById(R.id.button2Cancel);
buttonRemove.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
myprint("buttonRemove");
TboardproLocalData twiterManyLocalData = new TboardproLocalData(
context);
twiterManyLocalData.deleteThisUserData(userDatas.getUserid());
if (twiterManyLocalData.getAllIds().size()==1) {
mainActivity.imageViewSettings.setVisibility(View.VISIBLE);
}
navDrawerItems.remove(position);
notifyDataSetChanged();
dialog.dismiss();
}
});
buttonCancel.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
myprint("buttonCancel");
dialog.dismiss();
}
});
new Handler().post(new Runnable() {
@Override
public void run() {
dialog.show();
}
});
}
}