package com.moupress.app.friendshost.sns;
import java.util.ArrayList;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import com.moupress.app.friendshost.Const;
import com.moupress.app.friendshost.PubSub;
import com.moupress.app.friendshost.sns.Renren.RenrenUtil;
import com.moupress.app.friendshost.sns.facebook.FacebookUtil;
import com.moupress.app.friendshost.sns.sina.SinaUtil;
import com.moupress.app.friendshost.sns.twitter.TwitterUtil;
import com.moupress.app.friendshost.util.FlurryUtil;
public class SnsOrg {
private static final String TAG = "SnsOrg";
//private SharedPreferences prefs;
private Activity zActivity;
private Context zContext;
private PubSub zPubSub;
//SnsUtil
private FacebookUtil zFacebookUtil;
private TwitterUtil zTwitterUtil;
private RenrenUtil zRenrenUtil;
private SinaUtil zSinaUtil;
//Social Networks Names
//private String[] SnsNames = {Const.SNS_FACEBOOK, Const.SNS_RENREN, Const.SNS_SINA, Const.SNS_TWITTER};
public SnsOrg (PubSub pubsub)
{
this.zActivity = pubsub.fGetActivity();
this.zContext = pubsub.fGetContext();
this.zPubSub = pubsub;
//this.prefs = PreferenceManager.getDefaultSharedPreferences(zActivity);
this.InitSns();
}
public ArrayList<CharSequence> GetSignOnSnsNames()
{
ArrayList<CharSequence> signOnSnsNames = new ArrayList<CharSequence>();
signOnSnsNames.clear();
String flurry_sns_signedon="";
for(int i=0 ; i < Const.SNSGROUPS.length; i++)
{
if(this.GetSnsInstance(Const.SNSGROUPS[i]).isSelected())
{
signOnSnsNames.add(Const.SNSGROUPS[i]);
flurry_sns_signedon += Const.SNSGROUPS[i] + ",";
}
}
if (flurry_sns_signedon.length() > 0) {
FlurryUtil.logEvent(TAG + ":GetSignOnSnsNames", flurry_sns_signedon);
}
return signOnSnsNames;
}
public SnsUtil GetSnsInstance(String SnsName)
{
SnsUtil snsUtil = null;
if(zPubSub != null)
{
if(SnsName.equals(Const.SNS_FACEBOOK))
{
if(this.zFacebookUtil == null) this.zFacebookUtil = new FacebookUtil(this.zPubSub);
snsUtil = this.zFacebookUtil;
}
else if(SnsName.equals(Const.SNS_TWITTER))
{
if(this.zTwitterUtil == null) this.zTwitterUtil = new TwitterUtil(this.zPubSub);
snsUtil = this.zTwitterUtil;
}
else if(SnsName.equals(Const.SNS_RENREN))
{
if(this.zRenrenUtil == null) this.zRenrenUtil = new RenrenUtil(this.zPubSub);
snsUtil = this.zRenrenUtil;
}
else if(SnsName.equals(Const.SNS_SINA))
{
if(this.zSinaUtil == null) this.zSinaUtil = new SinaUtil(this.zPubSub);
snsUtil = this.zSinaUtil;
}
}
return snsUtil;
}
public void InitSns()
{
for(int i=0; i< Const.SNSGROUPS.length; i++)
{
this.GetSnsInstance(Const.SNSGROUPS[i]);
}
}
public void SnsGetNewFeed(Context ctx)
{
for(int i=0; i< Const.SNSGROUPS.length; i++)
{
Log.v(TAG,this.GetSnsInstance(Const.SNSGROUPS[i]).SnsName + " "+this.GetSnsInstance(Const.SNSGROUPS[i]).isSessionValid());
if(this.GetSnsInstance(Const.SNSGROUPS[i]).isSelected() && this.GetSnsInstance(Const.SNSGROUPS[i]).isSessionValid())
{
this.GetSnsInstance(Const.SNSGROUPS[i]).fGetNewsFeed(ctx);
}
}
}
public boolean SnsPublishNewFeed(Bundle params, final Context context) {
boolean bPublished = false;
String flurry_sns_topublish="";
for(int i=0; i< Const.SNSGROUPS.length; i++) {
if(this.GetSnsInstance(Const.SNSGROUPS[i]).fIsSelectedToPublish()) {
this.GetSnsInstance(Const.SNSGROUPS[i]).fPublishFeeds(params, context);
flurry_sns_topublish += Const.SNSGROUPS[i] + ":" + params.getString(Const.SMSGBODY).length() + ",";
bPublished = true;
}
}
//FlurryUtil
if (bPublished) {
FlurryUtil.logEvent(TAG + ":SnsPublishNewFeed", flurry_sns_topublish);
}
return bPublished;
}
public void SnsResetPublishNewFeedSelected() {
for(int i=0; i< Const.SNSGROUPS.length; i++) {
//if(this.GetSnsInstance(Const.SNSGROUPS[i]).isSessionValid() && this.GetSnsInstance(Const.SNSGROUPS[i]).fIsSelectedToPublish()) {
if(this.GetSnsInstance(Const.SNSGROUPS[i]).fIsSelectedToPublish()) {
this.GetSnsInstance(Const.SNSGROUPS[i]).fUnSelectToPublish();
}
}
}
public boolean SnsUploadPic(String message, String selectedImagePath, Context context) {
boolean bPublished = false;
String flurry_sns_topublish="";
for(int i=0; i< Const.SNSGROUPS.length; i++) {
if(this.GetSnsInstance(Const.SNSGROUPS[i]).fIsSelectedToPublish()) {
this.GetSnsInstance(Const.SNSGROUPS[i]).fUploadPic(message, selectedImagePath, context);
flurry_sns_topublish += Const.SNSGROUPS[i] + ":" + message.length() + ",";
bPublished = true;
}
}
//FlurryUtil
if (bPublished) {
FlurryUtil.logEvent(TAG + ":SnsPublishNewFeed", flurry_sns_topublish);
}
return bPublished;
}
}