package com.ijoomer.common.classes; import android.content.Intent; import android.view.View; import android.widget.RadioGroup; import com.Facebook.Permissions; import com.Facebook.SimpleFacebook; import com.Facebook.SimpleFacebookConfiguration; import com.Facebook.entities.Feed; import com.ijoomer.src.R; import com.smart.framework.CustomAlertNeutral; /** * This Class Contains All Method Related To FacebookSharingActivity. * * @author tasol * */ public class IjoomerFacebookSharingActivity extends IjoomerSuperMaster { private SimpleFacebook simpleFacebook; private SimpleFacebookConfiguration.Builder simpleFacebookConfigurationBuilder; private SimpleFacebookConfiguration simpleFacebookConfiguration; private String IN_MESSAGE; private String IN_CAPTION; private String IN_NAME; private String IN_PICTURE; private String IN_LINK; private String IN_DESCRIPTION; @Override public String[] setTabItemNames() { return new String[0]; } @Override public int setTabBarDividerResId() { return 0; } @Override public int setTabItemLayoutId() { return 0; } @Override public int[] setTabItemOnDrawables() { return new int[0]; } @Override public int[] setTabItemOffDrawables() { return new int[0]; } @Override public int[] setTabItemPressDrawables() { return new int[0]; } @Override public void onCheckedChanged(RadioGroup radioGroup, int i) { } @Override public int setLayoutId() { return R.layout.facebook_main; } @Override public View setLayoutView() { return null; } @Override public int setHeaderLayoutId() { return 0; } @Override public int setFooterLayoutId() { return 0; } @Override public void initComponents() { simpleFacebook = SimpleFacebook.getInstance(this); simpleFacebookConfigurationBuilder = new SimpleFacebookConfiguration.Builder(); simpleFacebookConfigurationBuilder.setAppId(getString(R.string.facebook_app_id)); simpleFacebookConfigurationBuilder.setPermissions(new Permissions[]{Permissions.PUBLISH_ACTION,Permissions.PUBLISH_STREAM,Permissions.EMAIL,Permissions.BASIC_INFO,Permissions.USER_PHOTOS}); simpleFacebookConfiguration = simpleFacebookConfigurationBuilder.build(); SimpleFacebook.setConfiguration(simpleFacebookConfiguration); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { simpleFacebook.onActivityResult(this, requestCode, resultCode, data); super.onActivityResult(requestCode, resultCode, data); } @Override public void prepareViews() { getIntentData(); if(simpleFacebook.isLogin()){ publishFeed(); }else{ simpleFacebook.login(new OnLoginListener()); } } private void getIntentData(){ IN_MESSAGE = getIntent().getStringExtra("IN_MESSAGE")==null ?"":getIntent().getStringExtra("IN_MESSAGE"); IN_CAPTION = getIntent().getStringExtra("IN_CAPTION")==null ?"":getIntent().getStringExtra("IN_CAPTION"); IN_DESCRIPTION = getIntent().getStringExtra("IN_DESCRIPTION")==null ?"":getIntent().getStringExtra("IN_DESCRIPTION"); IN_NAME = getIntent().getStringExtra("IN_NAME")==null ?"":getIntent().getStringExtra("IN_NAME"); IN_PICTURE = getIntent().getStringExtra("IN_PICTURE")==null ?"":getIntent().getStringExtra("IN_PICTURE"); IN_LINK = getIntent().getStringExtra("IN_LINK")==null ?"":getIntent().getStringExtra("IN_LINK"); } @Override public void setActionListeners() { } private void publishFeed(){ final Feed feed = new Feed.Builder() .setMessage(IN_MESSAGE) .setName(IN_NAME) .setCaption(IN_CAPTION) .setDescription(IN_DESCRIPTION) .setPicture(IN_PICTURE) .setLink(IN_LINK) .build(); simpleFacebook.publish(feed, new onPublishListener()); } class OnLoginListener implements SimpleFacebook.OnLoginListener{ @Override public void onLogin() { publishFeed(); } @Override public void onNotAcceptingPermissions() { } @Override public void onThinking() { } @Override public void onException(Throwable throwable) { } @Override public void onFail(String reason) { IjoomerUtilities.getCustomOkDialog(getString(R.string.friend),reason, getString(R.string.ok), R.layout.ijoomer_ok_dialog, new CustomAlertNeutral() { @Override public void NeutralMethod() { } }); } } class onPublishListener implements SimpleFacebook.OnPublishListener{ @Override public void onComplete(String id) { hideProgressDialog(); IjoomerUtilities.getCustomOkDialog(getString(R.string.friend),getString(R.string.facebook_share_success), getString(R.string.ok), R.layout.ijoomer_ok_dialog, new CustomAlertNeutral() { @Override public void NeutralMethod() { finish(); } }); } @Override public void onThinking() { showProgressDialog("Doing Facebook Sharing...",IjoomerFacebookSharingActivity.this,true); } @Override public void onException(Throwable throwable) { hideProgressDialog(); throwable.printStackTrace(); } @Override public void onFail(String reason) { hideProgressDialog(); IjoomerUtilities.getCustomOkDialog(getString(R.string.friend),reason, getString(R.string.ok), R.layout.ijoomer_ok_dialog, new CustomAlertNeutral() { @Override public void NeutralMethod() { } }); } } }