package com.nostra13.socialsharing.twitter;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import com.nostra13.socialsharing.Constants.Preferences;
/**
* @author Sergey Tarasevich (nostra13[at]gmail[dot]com)
*/
final class TwitterSessionStore {
private TwitterSessionStore() {
}
public static boolean save(AccessToken session, Context context) {
Editor editor = context.getSharedPreferences(Preferences.TWITTER_KEY, Context.MODE_PRIVATE).edit();
editor.putString(Preferences.TWITTER_TOKEN, session.getToken());
editor.putString(Preferences.TWITTER_TOKEN_SECRET, session.getTokenSecret());
return editor.commit();
}
public static boolean restore(AsyncTwitter session, Context context) {
SharedPreferences savedSession = context.getSharedPreferences(Preferences.TWITTER_KEY, Context.MODE_PRIVATE);
boolean restoredSuccessfully = false;
if (isValidSession(context)) {
String token = savedSession.getString(Preferences.TWITTER_TOKEN, null);
String tokenSecret = savedSession.getString(Preferences.TWITTER_TOKEN_SECRET, null);
AccessToken accessToken = new AccessToken(token, tokenSecret);
session.setOAuthAccessToken(accessToken);
restoredSuccessfully = true;
}
return restoredSuccessfully;
}
public static void clear(Context context) {
Editor editor = context.getSharedPreferences(Preferences.TWITTER_KEY, Context.MODE_PRIVATE).edit();
editor.clear();
editor.commit();
}
public static boolean isValidSession(Context context) {
SharedPreferences savedSession = context.getSharedPreferences(Preferences.TWITTER_KEY, Context.MODE_PRIVATE);
String token = savedSession.getString(Preferences.TWITTER_TOKEN, null);
String tokenSecret = savedSession.getString(Preferences.TWITTER_TOKEN_SECRET, null);
return token != null && tokenSecret != null;
}
}