package info.justaway.task; import android.content.Context; import info.justaway.model.AccessTokenManager; import info.justaway.model.Profile; import info.justaway.model.TwitterManager; import twitter4j.Relationship; import twitter4j.Twitter; import twitter4j.TwitterException; import twitter4j.User; public class ShowUserLoader extends AbstractAsyncTaskLoader<Profile> { private String mScreenName; private long mUserId; public ShowUserLoader(Context context, String screenName) { super(context); this.mScreenName = screenName; } public ShowUserLoader(Context context, long userId) { super(context); this.mUserId = userId; } @Override public Profile loadInBackground() { String args = ""; try { Twitter twitter = TwitterManager.getTwitter(); User user; Relationship relationship; if (mScreenName != null) { args = "name:" + mScreenName; user = twitter.showUser(mScreenName); relationship = twitter.showFriendship(AccessTokenManager.getUserId(), user.getId()); } else { args = "id:" + mUserId; user = twitter.showUser(mUserId); relationship = twitter.showFriendship(AccessTokenManager.getUserId(), mUserId); } Profile profile = new Profile(); profile.setRelationship(relationship); profile.setUser(user); return profile; } catch (TwitterException e) { e.printStackTrace(); Profile profile = new Profile(); profile.setError("(args:" + args + " code:" + e.getErrorCode() + ")"); return profile; } } }