package com.orisider.oneclickgoogd;
import android.accounts.Account;
import android.accounts.AccountManager;
import android.accounts.AccountManagerCallback;
import android.accounts.AccountManagerFuture;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.widget.Toast;
import com.orisider.oneclickgoogd.model.AccessToken;
public class Util {
public static void showToast(int textResId) {
showToast(GoogDrvShareApp.ctx.getResources().getString(textResId));
}
public static void showToast(String text) {
Toast.makeText(GoogDrvShareApp.ctx, text, Toast.LENGTH_SHORT).show();
}
public static boolean isEmpty(String str) {
return str == null || str.trim().length() < 1;
}
public static void getAccountToken(AccountManager acntMgr, final Account acnt, Activity act, Handler handler,
final AccessTokenCallback callback) {
acntMgr.getAuthToken(acnt, Constant.AUTH_TOKEN_TYPE, null, act, new AccountManagerCallback<Bundle>() {
@Override
public void run(AccountManagerFuture<Bundle> future) {
try {
Bundle bundle = future.getResult();
String authToken = bundle.getString(AccountManager.KEY_AUTHTOKEN);
if (!Util.isEmpty(authToken)) {
AccessToken token = new AccessToken(acnt.name, authToken);
SessionStore.saveAccountAuthToken(token);
callback.onTokenGetSuccess(token);
return;
}
callback.onTokenGetFailed(new Exception("token is empty"));
} catch (Throwable e) {
callback.onTokenGetFailed(e);
}
}
}, handler);
}
public static interface AccessTokenCallback {
public void onTokenGetSuccess(AccessToken token);
public void onTokenGetFailed(Throwable e);
}
}