| 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