/**
* galaxy inc.
* meetup client for android
*/
package com.galaxy.meetup.client.android;
import java.io.IOException;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import android.accounts.AuthenticatorException;
import android.accounts.OperationCanceledException;
import android.content.Context;
import android.util.Pair;
import com.galaxy.meetup.client.util.AccountsUtil;
/**
*
* @author sihai
*
*/
public class AuthData {
private static final Map<Pair<String, String>, String> sActionTokens = newSynchronizedMap();
private static final Map<Pair<String, String>, String> sAuthTokens = newSynchronizedMap();
public static String getActionToken(String s, String s1) {
String s2 = (String)sActionTokens.get(new Pair(s, s1));
if(s2 == null)
s2 = "XXX";
return s2;
}
public static String getAuthToken(Context context, String s, String s1)
throws OperationCanceledException, IOException, AuthenticatorException {
Pair pair = new Pair(s, s1);
String s2 = (String)sAuthTokens.get(pair);
if(s2 == null) {
s2 = AccountsUtil.getAuthToken(context, s, s1);
sAuthTokens.put(pair, s2);
}
return s2;
}
public static void invalidateAuthToken(Context context, String s, String s1)
throws OperationCanceledException, IOException, AuthenticatorException {
Pair pair = new Pair(s, s1);
String s2 = (String)sAuthTokens.remove(pair);
if(s2 == null)
s2 = AccountsUtil.getAuthToken(context, s, s1);
AccountsUtil.invalidateAuthToken(context, s2);
}
private static Map<Pair<String, String>, String> newSynchronizedMap() {
return Collections.synchronizedMap(new HashMap<Pair<String, String>, String>());
}
public static void setActionToken(String s, String s1, String s2) {
sActionTokens.put(new Pair(s, s1), s2);
}
}