package com.shejiaomao.weibo.service.task;
import android.content.Context;
import android.os.AsyncTask;
import android.util.Log;
import android.widget.Toast;
import com.cattong.commons.LibException;
import com.cattong.commons.Logger;
import com.cattong.entity.User;
import com.cattong.weibo.Weibo;
import com.shejiaomao.common.ResourceBook;
import com.shejiaomao.weibo.common.GlobalVars;
import com.shejiaomao.weibo.db.LocalAccount;
import com.shejiaomao.weibo.db.LocalAccountDao;
public class VerifyCredentialsTask extends AsyncTask<Void, Void, User> {
private static final String TAG = "VerifyCredentialsTask";
private Context context;
private LocalAccount account;
private Weibo microBlog;
private String resultMsg = null;
public VerifyCredentialsTask(Context context, LocalAccount account) {
this.context = context;
this.account = account;
microBlog = GlobalVars.getMicroBlog(account);
}
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected User doInBackground(Void... params) {
if (microBlog == null) {
return null;
}
Log.d(TAG, "start:" + microBlog.getAuthorization().toString() + account.toString());
User user = null;
try {
user = microBlog.verifyCredentials();
} catch (LibException e) {
if (Logger.isDebug()) Log.e(TAG, "Task", e);
resultMsg = ResourceBook.getResultCodeValue(e.getErrorCode(), context);
}
if (user != null) {
account.setUser(user);
LocalAccountDao accountDao = new LocalAccountDao(context);
accountDao.update(account);
}
return user;
}
@Override
protected void onPostExecute(User result) {
if (result == null) {
Toast.makeText(context, resultMsg, Toast.LENGTH_SHORT).show();
} else {
account.setUser(result);
Log.d(TAG, "after:" + account.toString());
}
}
}