blob: 498b508f8e04c238dc24f700e0ffae39815bd8cf (
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
package net.miz_hi.smileessence.command;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import net.miz_hi.smileessence.Client;
import net.miz_hi.smileessence.dialog.CheckBoxListDialog;
import net.miz_hi.smileessence.dialog.CheckBoxListDialog.CheckBoxItem;
import net.miz_hi.smileessence.menu.TweetMenu;
import net.miz_hi.smileessence.model.status.tweet.TweetModel;
import net.miz_hi.smileessence.preference.EnumPreferenceKey.EnumValueType;
import java.util.ArrayList;
import java.util.HashMap;
public class CommandEditMenu extends MenuCommand
{
private Activity activity;
public CommandEditMenu(Activity activity)
{
this.activity = activity;
}
@Override
public String getName()
{
return "メニュー表示設定";
}
@Override
public void workOnUiThread()
{
final CheckBoxListDialog listDialog = new CheckBoxListDialog(activity);
listDialog.setTitle("表示する項目を設定してください");
ArrayList<CheckBoxItem> list = new ArrayList<CheckBoxItem>();
final HashMap<CheckBoxItem, ICommand> map = new HashMap<CheckBoxItem, ICommand>();
TweetModel nullModel = TweetModel.getSampleModel();
TweetMenu adapter = new TweetMenu(activity, nullModel);
for (ICommand item : adapter.getStatusMenu())
{
if (item instanceof IHideable && item.getDefaultVisibility())
{
boolean startValue = Client.getPreferenceHelper().getPreferenceValue(item.getClass().getSimpleName(), EnumValueType.BOOLEAN, false);
CheckBoxItem checkBoxItem = new CheckBoxItem(item.getName(), startValue);
list.add(checkBoxItem);
map.put(checkBoxItem, item);
}
}
listDialog.setItems((list.toArray(new CheckBoxItem[0])));
listDialog.setOnClicked(new OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
switch (which)
{
case DialogInterface.BUTTON_POSITIVE:
{
CheckBoxItem[] items = listDialog.getItems();
for (CheckBoxItem item : items)
{
boolean value = item.value;
ICommand command = map.get(item);
Client.getPreferenceHelper().putPreferenceValue(command.getClass().getSimpleName(), EnumValueType.BOOLEAN, item.value);
}
dialog.dismiss();
break;
}
default:
{
dialog.dismiss();
}
}
}
});
listDialog.createDialog().show();
}
}
|