package com.socioboard.t_board_pro.fragments;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Timer;
import java.util.TimerTask;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import com.socioboard.t_board_pro.MainActivity;
import com.socioboard.t_board_pro.SchedulleComposeActivity;
import com.socioboard.t_board_pro.adapters.SchTweetsAdapter;
import com.socioboard.t_board_pro.util.ModelUserDatas;
import com.socioboard.t_board_pro.util.SchTweetModel;
import com.socioboard.t_board_pro.util.TboardproLocalData;
import com.socioboard.tboardpro.R;
public class FragmentSchedule extends Fragment {
View rootView;
SchTweetsAdapter schTweetsAdapter;
ArrayList<SchTweetModel> schTweetModels = new ArrayList<SchTweetModel>();
TboardproLocalData tboardproLocalData;
ListView listview;
ImageView imdNewSchdulle, imageViewAddUsers;
TextView txtCount;
Timer timer = new Timer();
public static boolean isNeedToUpdateUI = false;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
tboardproLocalData = new TboardproLocalData(getActivity());
rootView = inflater.inflate(R.layout.tweetschedulle_table, container,
false);
listview = (ListView) rootView.findViewById(R.id.listView1);
txtCount = (TextView) rootView.findViewById(R.id.textView2);
imdNewSchdulle = (ImageView) rootView
.findViewById(R.id.imageViewNewTWeet);
schTweetModels.clear();
getAllTweets();
schTweetsAdapter = new SchTweetsAdapter(getActivity(), schTweetModels);
txtCount.setText("Scheduled tweets : " + schTweetModels.size());
listview.setAdapter(schTweetsAdapter);
imdNewSchdulle.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(),
SchedulleComposeActivity.class);
getActivity().startActivity(intent);
}
});
timer.schedule(new TimerTask() {
@Override
public void run() {
if (isNeedToUpdateUI) {
isNeedToUpdateUI = false;
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
int getCont = listview.getCount();
getAllTweets();
schTweetsAdapter = new SchTweetsAdapter(
getActivity(), schTweetModels);
txtCount.setText("Scheduled tweets : "
+ schTweetModels.size());
listview.setAdapter(schTweetsAdapter);
listview.setScrollY(getCont);
}
});
}
}
}, 1000, 500);
return rootView;
}
@Override
public void onResume() {
super.onResume();
getAllTweets();
txtCount.setText("Scheduled tweets : " + schTweetModels.size());
listview.setAdapter(schTweetsAdapter);
MainActivity.isNeedToRefreshDrawer = true;
}
@Override
public void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
timer.cancel();
}
void getAllTweets() {
ArrayList<SchTweetModel> tmpSchTweetModels = new ArrayList<SchTweetModel>();
tmpSchTweetModels = tboardproLocalData.getAllSchedulledTweet();
schTweetModels.clear();
for (int i = 0; i < tmpSchTweetModels.size(); ++i) {
ModelUserDatas userDatas = tboardproLocalData.getUserData(tmpSchTweetModels.get(i).getUserID());
if (userDatas != null) {
tmpSchTweetModels.get(i).setUserDatas(userDatas);
SchTweetModel schTweetModel = tmpSchTweetModels.get(i);
System.out.println("schTweetModel " + schTweetModel);
if (schTweetModel.getTweet().startsWith(
"in_reply_to_status_id=@@")) {
String original = schTweetModel.getTweet(), finals, tmp;
tmp = original.split("in_reply_to_status_id=@@")[1];
System.out.println("tmp String " + tmp);
int last_index = tmp.indexOf("@@");
finals = tmp.substring(last_index+2);
System.out.println("Final String " + finals);
schTweetModel.setTweet(finals);
schTweetModel.setTweetType(1);
} else if (schTweetModel.getTweet().startsWith(
"retweet_to_status_id=@@")) {
String original = schTweetModel.getTweet(), finals, tmp;
tmp = original.split("retweet_to_status_id=@@")[1];
System.out.println("tmp String " + tmp);
int last_index = tmp.indexOf("@@");
finals = tmp.substring(last_index+2);
System.out.println("Final String " + finals);
schTweetModel.setTweet(finals);
schTweetModel.setTweetType(2);
} else {
schTweetModel.setTweetType(0);
}
schTweetModels.add(schTweetModel);
} else {
Collections.reverse(schTweetModels);
tboardproLocalData.deleteThisTweet(tmpSchTweetModels.get(i)
.getTweetId());
}
}
}
}