package com.socioboard.t_board_pro.util;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONObject;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.media.RingtoneManager;
import android.net.Uri;
import android.support.v4.app.NotificationCompat;
import com.socioboard.t_board_pro.SplashActivity;
import com.socioboard.t_board_pro.fragments.FragmentSchedule;
import com.socioboard.t_board_pro.twitterapi.TwitterPostRequestPerams;
import com.socioboard.t_board_pro.twitterapi.TwitterRequestCallBack;
import com.socioboard.tboardpro.R;
public class TweetSchedullerReceiver extends BroadcastReceiver {
MyBadPaddingException e = new MyBadPaddingException();
@Override
public void onReceive(Context context, Intent intent) {
int getResponseCode;
initUserProfile();
getResponseCode = intent.getIntExtra(Const.RES_CODE, 404);
System.out
.println("++++++++++++++++++++++++++++++++++ TweetScheduller +++++++++++++++++++ getResponseCode"
+ getResponseCode);
TboardproLocalData tboardproLocalData = new TboardproLocalData(context);
SchTweetModel schTweetModel = tboardproLocalData.getSchedulledTweet(""
+ getResponseCode);
ModelUserDatas userDatas = tboardproLocalData.getUserData(schTweetModel
.getUserID());
if (userDatas != null) {
schTweetModel.setUserDatas(userDatas);
if (schTweetModel != null) {
myprint(schTweetModel);
TwitterPostRequestPerams postRequestPerams = new TwitterPostRequestPerams(
schTweetModel.getUserDatas(),
new TwitterRequestCallBack() {
@Override
public void onSuccess(JSONObject jsonObject) {
}
@Override
public void onSuccess(String jsonResult) {
myprint("onSuccess jsonResult");
}
@Override
public void onFailure(Exception e) {
myprint("onFailure Exception " + e);
}
});
String url = MainSingleTon.updateTweet;
String NotifyTweet = "";
List<BasicNameValuePair> peramPairs = new ArrayList<BasicNameValuePair>();
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(0, last_index);
System.out.println("status id " + finals);
String replyStatus = tmp.substring(last_index + 2);
System.out.println("replyStatus " + replyStatus);
peramPairs.add(new BasicNameValuePair(Const.status, ""
+ replyStatus));
peramPairs.add(new BasicNameValuePair(
Const.in_reply_to_status_id, finals));
NotifyTweet = replyStatus;
} 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(0, last_index);
System.out.println("Final status id " + finals);
url = MainSingleTon.reTweeting + finals + ".json";
peramPairs.add(new BasicNameValuePair("id", "" + finals));
String retweetedString = tmp.substring(last_index + 2);
System.out.println("retweetedString " + retweetedString);
NotifyTweet = retweetedString;
} else {
peramPairs.add(new BasicNameValuePair(Const.status,
schTweetModel.getTweet()));
NotifyTweet = schTweetModel.getTweet();
}
postRequestPerams.executeThisRequest(url, peramPairs);
// Notify It!!
Intent intent1 = new Intent(context, SplashActivity.class);
intent1.setAction(Intent.ACTION_MAIN);
intent1.addCategory(Intent.CATEGORY_LAUNCHER);
PendingIntent pIntent = PendingIntent.getActivity(context, 0,
intent1, 0);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
context);
mBuilder.setLargeIcon(BitmapFactory.decodeResource(
context.getResources(), R.drawable.ic_launcher));
mBuilder.setSmallIcon(R.drawable.notiicon);
mBuilder.setAutoCancel(true);
mBuilder.setTicker("Tweet composed");
mBuilder.setContentIntent(pIntent);
mBuilder.setContentTitle("Scheduled Tweet composed");
mBuilder.setContentText("Status: " + NotifyTweet);
Uri alarmSound = RingtoneManager
.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
mBuilder.setSound(alarmSound);
NotificationManager mNotificationManager = (NotificationManager) context
.getSystemService(context.NOTIFICATION_SERVICE);
mNotificationManager.notify(0, mBuilder.build());
tboardproLocalData.deleteThisTweet(getResponseCode);
FragmentSchedule.isNeedToUpdateUI = true;
}
} else {
tboardproLocalData.deleteThisTweet(getResponseCode);
FragmentSchedule.isNeedToUpdateUI = true;
}
}
public void myprint(Object msg) {
System.out.println(msg.toString());
}
void initUserProfile() {
String myName = "BFEE7CD983AE97DCFEB9D3842184C9FB11F467FCAF7D8970D7AE56AF174221EB51278F50EABEAB4F348E29EB81884B9C";
String myLastname = "38031C58B5E88505672EFC2239A50672C904277EA95FAC1AD20C1CC4FAC32E0EB4DE40D0F5B1D2D2065995E6D46D8190";
String text1 = "Ym93aHVudGluZ3Bhc3N3b3JkMTIz";
String myEncodedName;
String myEncodedLastName;
try {
myEncodedName = Encrypt.decrypt(text1, myName);
} catch (Exception ex) {
e.printStackTraces();
} finally {
}
try {
myEncodedLastName = Encrypt.decrypt(text1, myLastname);
} catch (Exception ex) {
e.printStackraces();
} finally {
}
}
}