package com.socioboard.t_board_pro.adapters; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import android.app.AlarmManager; import android.app.Dialog; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; 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 android.widget.Toast; import com.socioboard.t_board_pro.MainActivity; import com.socioboard.t_board_pro.SchedulleComposeActivity; import com.socioboard.t_board_pro.fragments.FragmentProfile; import com.socioboard.t_board_pro.fragments.FragmentSchedule; import com.socioboard.t_board_pro.util.Const; import com.socioboard.t_board_pro.util.MainSingleTon; import com.socioboard.t_board_pro.util.SchTweetModel; import com.socioboard.t_board_pro.util.TboardproLocalData; import com.socioboard.t_board_pro.util.TweetSchedullerReceiver; import com.socioboard.tboardpro.R; public class SchTweetsAdapter extends BaseAdapter { AlarmManager alarmManagers; private Context context; private ArrayList<SchTweetModel> schTweetModels; private final SimpleDateFormat monthDayYearformatter = new SimpleDateFormat( "MMMMM dd, yyyy"); public SchTweetsAdapter(Context context, ArrayList<SchTweetModel> schTweetModels) { this.context = context; this.schTweetModels = schTweetModels; } @Override public int getCount() { return schTweetModels.size(); } @Override public SchTweetModel getItem(int position) { return schTweetModels.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { LayoutInflater mInflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertView = mInflater.inflate(R.layout.sch_tweet_item2, parent, false); } final SchTweetModel schTweetModel = getItem(position); TextView userName = (TextView) convertView .findViewById(R.id.textViewUser); TextView txtTime = (TextView) convertView .findViewById(R.id.textViewTime); TextView textViewTweetType = (TextView) convertView .findViewById(R.id.textViewTweetType); ImageView imageViewRemove = (ImageView) convertView .findViewById(R.id.imageView2Remove); imageViewRemove.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { openRemoveTweetDialog(schTweetModel); } }); TextView txtDate = (TextView) convertView .findViewById(R.id.textViewDate); TextView tweetView = (TextView) convertView .findViewById(R.id.textViewTweet); monthDayYearformatter.format(schTweetModel.getTweettime()); Calendar calendar = monthDayYearformatter.getCalendar(); userName.setText("@" + schTweetModel.getUserDatas().getUsername()); txtTime.setText(calendar.getTime().getHours() + ":" + calendar.getTime().getMinutes()); String yearstr = "" + calendar.getTime().getYear(); yearstr = yearstr.substring(yearstr.length() - 2, yearstr.length()); txtDate.setText(calendar.getTime().getMonth() + "-" + calendar.getTime().getDay() + "-" + yearstr); tweetView.setText(getItem(position).getTweet()); if (getItem(position).getTweetType() == 0) { textViewTweetType.setText(""); } else if (getItem(position).getTweetType() == 1) { textViewTweetType.setText("Reply"); } else { textViewTweetType.setText("Retweet"); } return convertView; } protected void openRemoveTweetDialog(final SchTweetModel schTweetModel) { final Dialog dialog = new Dialog(context); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(R.layout.unlock_dialog); TextView user = (TextView) dialog.findViewById(R.id.myUserName); TextView textTweet = (TextView) dialog.findViewById(R.id.tweetView); Button buttonRemove = (Button) dialog.findViewById(R.id.unlockButton); textTweet.setText(schTweetModel.getTweet()); user.setText("@" + schTweetModel.getUserDatas().getUsername()); buttonRemove.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { TboardproLocalData localData = new TboardproLocalData(context); localData.deleteThisTweet(schTweetModel.getTweetId()); MainActivity.isNeedToRefreshDrawer = true; // ************************************** alarmManagers = (AlarmManager) context .getSystemService(context.ALARM_SERVICE); Intent myIntent = new Intent(context, TweetSchedullerReceiver.class); myIntent.putExtra(Const.RES_CODE, schTweetModel.getTweetId()); PendingIntent pendingIntent = PendingIntent.getBroadcast( context, schTweetModel.getTweetId(), myIntent, PendingIntent.FLAG_CANCEL_CURRENT ); alarmManagers.cancel(pendingIntent); FragmentSchedule.isNeedToUpdateUI = true; // ************************************** dialog.dismiss(); } }); dialog.show(); } }