package net.miz_hi.smileessence.command.user; import android.app.Activity; import android.app.ProgressDialog; import net.miz_hi.smileessence.model.status.user.UserModel; import net.miz_hi.smileessence.model.statuslist.timeline.impl.UserTimeline; import net.miz_hi.smileessence.statuslist.StatusListAdapter; import net.miz_hi.smileessence.statuslist.StatusListManager; import net.miz_hi.smileessence.system.PageController; import net.miz_hi.smileessence.task.impl.GetUserTask; import net.miz_hi.smileessence.twitter.ResponseConverter; import net.miz_hi.smileessence.view.fragment.impl.UserTimelineFragment; import twitter4j.User; public class UserCommandOpenTimeline extends UserCommand { Activity activity; public UserCommandOpenTimeline(String userName, Activity activity) { super(userName); this.activity = activity; } @Override public String getName() { return "ユーザーのタイムラインを開く"; } @Override public void workOnUiThread() { final ProgressDialog pd = ProgressDialog.show(activity, null, "取得中...", true); new GetUserTask(userName) { @Override public void onPostExecute(User user) { UserModel model = ResponseConverter.convert(user); UserTimeline timeline = StatusListManager.getUserTimeline(model.userId); if(timeline != null) { PageController.getInstance().removePage(UserTimelineFragment.newInstance(model).getTitle()); } timeline = new UserTimeline(model.userId); StatusListManager.registerUserTimeline(model.userId, timeline, new StatusListAdapter(activity, timeline)); try { timeline.loadNewer().get(); } catch(Exception e) { e.printStackTrace(); } UserTimelineFragment fragment = UserTimelineFragment.newInstance(model); PageController.getInstance().addPage(fragment); PageController.getInstance().moveToLast(); pd.dismiss(); } }.callAsync(); } }