package com.gt.gtsnssharinglibrarydemo;
import com.gt.gtsnssharinglibrarydemo.R;
import com.gt.snssharinglibrary.Config;
import com.gt.snssharinglibrary.pojo.SNSShareDetail;
import com.gt.snssharinglibrary.service.SNSService;
import com.gt.snssharinglibrary.service.SNSServiceCallback;
import com.gt.snssharinglibrary.service.SNSServiceImpl.SNS_LOGIN_TYPE;
import com.gt.snssharinglibrary.service.facebook_2_0.FacebookSessionStore;
import com.gt.snssharinglibrary.service.impl.FacebookService20Impl;
import com.gt.snssharinglibrary.util.LogController;
import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
public class Facebook20TestingActivity extends Activity implements SNSServiceCallback{
private Handler handler = new Handler();
private SNSService facebookServiceImpl;
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(facebookServiceImpl != null)
{
facebookServiceImpl.onActivityResult(this, requestCode, resultCode, data);
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("Facebook20TestingActivity");
Config.FACEBOOK_2_0_APP_ID = "118100164920425";
Config.FACEBOOK_2_0_PERMISSIONS = new String[] { "publish_stream", "photo_upload", "email" };
Config.FACEBOOK_2_0_DIALOG_CLOSE_BTN_RESOURCES_ID = R.drawable.ic_launcher;
facebookServiceImpl = new FacebookService20Impl(getResources());
facebookServiceImpl.setSNSServiceCallback(Facebook20TestingActivity.this);
Button loginBtn = (Button)findViewById(R.id.login_btn);
loginBtn.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
facebookServiceImpl.login(Facebook20TestingActivity.this, handler, SNS_LOGIN_TYPE.LOGIN_TYPE_NORMAL_LOGIN);
}
});
Button logoutBtn = (Button)findViewById(R.id.logout_btn);
logoutBtn.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
facebookServiceImpl.logout(Facebook20TestingActivity.this, handler);
}
});
Button postFeedBtn = (Button)findViewById(R.id.post_feed_btn);
postFeedBtn.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
String title = "ABC title";
String caption = "XYZ caption";
String description = "123 description";
String link = "http://www.google.com.hk";
String pictureLink = null;
String friendId = null;
Bitmap bitmap = null;
String picSavePath = null;
SNSShareDetail snsShareDetail = new SNSShareDetail(title, caption, description, link, pictureLink, friendId, bitmap, picSavePath);
facebookServiceImpl.post(Facebook20TestingActivity.this, snsShareDetail);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void logginStatus(int snsCode, boolean isSuccessLogin,
Object errorObject) {
LogController.log("logginStatus >> "+ snsCode + " " + isSuccessLogin);
}
@Override
public void getProfileStatus(int snsCode, boolean isSuccessGetProfile,
Object errorObject) {
LogController.log("getProfileStatus >> "+ snsCode + " " + isSuccessGetProfile);
LogController.log("getProfileStatus >> "+ FacebookSessionStore.restoreUsername(this));
LogController.log("getProfileStatus >> "+ FacebookSessionStore.restoreFacebookId(this));
LogController.log("getProfileStatus >> "+ FacebookSessionStore.restoreFacebookEmail(this));
}
@Override
public void loggoutStatus(int snsCode, boolean isSuccessLogout,
Object errorObject) {
// TODO Auto-generated method stub
}
@Override
public void postStatus(int snsCode, boolean isSuccessPost,
Object errorObject) {
LogController.log("postStatus >> "+ snsCode + " " + isSuccessPost);
}
@Override
public void getFriendsStatus(boolean arg0, Object arg1, Object arg2) {
// TODO Auto-generated method stub
}
@Override
public void getFeedsStatus(boolean isSuccess, Object feedsResultObject,
Object errorObject) {
// TODO Auto-generated method stub
}
@Override
public void likeFeedStatus(boolean isSuccess, Object feedsResultObject,
Object errorObject) {
// TODO Auto-generated method stub
}
}