Created
May 6, 2015 14:45
-
-
Save seaders/e041b3a798db3201bdff to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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