package net.dev123.yibo.service.task; import net.dev123.commons.ServiceProvider; import net.dev123.exception.LibException; import net.dev123.mblog.MicroBlog; import net.dev123.mblog.entity.Relationship; import net.dev123.mblog.entity.User; import net.dev123.yibo.common.Constants; import net.dev123.yibo.common.GlobalVars; import net.dev123.yibo.db.LocalAccount; import android.os.AsyncTask; import android.util.Log; public class FollowOfficalTask extends AsyncTask<Void, Void, Void> { private static final String TAG = FollowOfficalTask.class.getSimpleName(); private LocalAccount account; public FollowOfficalTask(LocalAccount account) { this.account = account; } @Override protected void onPreExecute() { super.onPreExecute(); } @Override protected Void doInBackground(Void... params) { MicroBlog microBlog = GlobalVars.getMicroBlog(account); if (microBlog == null) { return null; } try { User offical = null; if (account.getServiceProvider() == ServiceProvider.Fanfou) { //饭否的官方帐号暂先特殊处理 offical = microBlog.showUser( net.dev123.commons.Constants.FANFOU_OFFICAL_USER_ID); } else { offical = microBlog.showUserByDisplayName( account.getServiceProvider().getOfficalName()); } Relationship relationship = microBlog.showRelationship( account.getUser().getId(), offical.getId()); if (!relationship.isFollowing()) { microBlog.createFriendship(offical.getId()); } } catch (LibException e) { if (Constants.DEBUG) { Log.e(TAG, e.getMessage(), e); } } return null; } @Override protected void onPostExecute(Void v) { } }