blob: d34613723c7288136bc8f47faedadd264745bad4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
package net.miz_hi.smileessence.command.status.impl;
import android.app.Activity;
import net.miz_hi.smileessence.command.status.StatusCommand;
import net.miz_hi.smileessence.core.MyExecutor;
import net.miz_hi.smileessence.model.status.tweet.TweetModel;
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.talkchase.TalkChaser;
import net.miz_hi.smileessence.talkchase.TalkManager;
import net.miz_hi.smileessence.view.fragment.impl.TalkFragment;
public class StatusCommandChaseTalk extends StatusCommand
{
Activity activity;
public StatusCommandChaseTalk(Activity activity, TweetModel status)
{
super(status);
this.activity = activity;
}
@Override
public String getName()
{
return "会話をたどる";
}
@Override
public void workOnUiThread()
{
final TweetModel origin = status.getOriginal();
//すでにTalkが存在していればページを移動
TalkChaser chaser = TalkManager.searchTalk(origin);
if (chaser != null)
{
PageController.getInstance().move(PageController.getInstance().getAdapter().getItemPosition(chaser.fragment));
}
else
{
TalkFragment fragment = TalkFragment.newInstance(TalkManager.getNextTalkId(), origin.statusId);
final TalkChaser chaser2 = new TalkChaser(fragment);
TalkManager.addTalkChaser(chaser2);
//StatusList管理に追加
StatusListManager.registerTweetList(chaser2.talkList, new StatusListAdapter(activity, chaser2.talkList));
MyExecutor.execute(new Runnable()
{
public void run()
{
chaser2.startRelation(origin.statusId);
}
});
PageController.getInstance().addPage(fragment);
PageController.getInstance().moveToLast();
}
}
@Override
public boolean getDefaultVisibility()
{
return status.getInReplyToStatusId() > -1;
}
}
|