Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@seaders
Created May 6, 2015 14:45
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save seaders/e041b3a798db3201bdff to your computer and use it in GitHub Desktop.
Save seaders/e041b3a798db3201bdff to your computer and use it in GitHub Desktop.
package com.sixminute.twitterlibrary;
import android.app.Activity;
import android.content.Intent;
import android.util.Log;
import com.twitter.sdk.android.Twitter;
import com.twitter.sdk.android.core.Callback;
import com.twitter.sdk.android.core.Result;
import com.twitter.sdk.android.core.TwitterAuthConfig;
import com.twitter.sdk.android.core.TwitterException;
import com.twitter.sdk.android.core.TwitterSession;
import com.twitter.sdk.android.core.identity.TwitterAuthClient;
import com.twitter.sdk.android.tweetcomposer.TweetComposer;
import io.fabric.sdk.android.Fabric;
public class SMTwitter
{
private static TwitterAuthClient twitterAuthClient;
private static String GetTagName()
{
return SMTwitter.class.getCanonicalName();
}
public static void Init(Activity activity, String key, String secret) {
TwitterAuthConfig authConfig = new TwitterAuthConfig(key, secret);
Fabric.with(activity, new Twitter(authConfig));
Fabric.with(activity, new TweetComposer());
}
public static void Tweet(Activity activity, String tweet)
{
new TweetComposer.Builder(activity).text(tweet).show();
}
public static void Login(Activity activity, final Runnable callback)
{
if( IsLoggedIn() )
{
callback.run();
return;
}
Twitter.logIn(
activity,
new Callback<TwitterSession>() {
@Override
public void success(Result<TwitterSession> result)
{
callback.run();
}
@Override
public void failure(TwitterException exception)
{
Log.e(GetTagName(), "Failure", exception);
callback.run();
}
}
);
}
public static void Logout()
{
Twitter.logOut();
}
public static void OnActivityResult(int requestCode, int resultCode, Intent data)
{
getTwitterAuthClient().onActivityResult(requestCode, resultCode, data);
}
private static TwitterAuthClient getTwitterAuthClient() {
if(twitterAuthClient == null)
{
Class var1 = SMTwitter.class;
synchronized(SMTwitter.class)
{
if(twitterAuthClient == null)
{
twitterAuthClient = new TwitterAuthClient();
}
}
}
return twitterAuthClient;
}
public static boolean IsLoggedIn()
{
return null != Twitter.getSessionManager().getActiveSession();
}
public static String Token()
{
if( !IsLoggedIn() )
{
return null;
}
return Twitter.getSessionManager().getActiveSession().getAuthToken().token;
}
public static String Secret()
{
if( !IsLoggedIn() )
{
return null;
}
return Twitter.getSessionManager().getActiveSession().getAuthToken().secret;
}
public static String UserName()
{
if( !IsLoggedIn() )
{
return null;
}
return Twitter.getSessionManager().getActiveSession().getUserName();
}
public static long UserId()
{
if( !IsLoggedIn() )
{
return 0;
}
return Twitter.getSessionManager().getActiveSession().getUserId();
}
public static String DebugLoginStatus()
{
return "Token: '" + Token() +
"'\nSecret: '" + Secret() +
"'\nUserName: '" + UserName() +
"'\nUserId: '" + UserId() + "'";
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment