diff options
author | Kazuki Yamaguchi <k@rhe.jp> | 2015-10-11 00:15:39 +0900 |
---|---|---|
committer | Kazuki Yamaguchi <k@rhe.jp> | 2015-10-11 00:15:39 +0900 |
commit | 5c8720dc9129786064d16eccab8fd94ebda12fbd (patch) | |
tree | 92cd416a2f2d939c10f8b7dc7a6a9a0d7db88f00 | |
parent | 086c65a5128aa75db4802a16170792354d217452 (diff) | |
download | SmileEssence-5c8720dc9129786064d16eccab8fd94ebda12fbd.tar.gz |
CustomListAdapter: vararg をやめて addItems* メソッドを追加した
16 files changed, 46 insertions, 53 deletions
diff --git a/app/src/androidTest/java/net/lacolaco/smileessence/view/adapter/OrderedCustomListAdapterTest.java b/app/src/androidTest/java/net/lacolaco/smileessence/view/adapter/OrderedCustomListAdapterTest.java index 2bb156b3..0bdf46cd 100644 --- a/app/src/androidTest/java/net/lacolaco/smileessence/view/adapter/OrderedCustomListAdapterTest.java +++ b/app/src/androidTest/java/net/lacolaco/smileessence/view/adapter/OrderedCustomListAdapterTest.java @@ -25,12 +25,13 @@ package net.lacolaco.smileessence.view.adapter; import android.test.ActivityInstrumentationTestCase2; - import net.lacolaco.smileessence.activity.MainActivity; import net.lacolaco.smileessence.entity.Account; import net.lacolaco.smileessence.util.TwitterMock; import net.lacolaco.smileessence.viewmodel.StatusViewModel; +import java.util.Arrays; + public class OrderedCustomListAdapterTest extends ActivityInstrumentationTestCase2<MainActivity> { TwitterMock mock; @@ -64,7 +65,7 @@ public class OrderedCustomListAdapterTest extends ActivityInstrumentationTestCas public void testAddItems() throws Exception { StatusViewModel viewModel1 = new StatusViewModel(mock.getReplyMock()); StatusViewModel viewModel2 = new StatusViewModel(mock.getReplyMock()); - adapter.addItem(viewModel1, viewModel2); + adapter.addItems(Arrays.asList(viewModel1, viewModel2)); adapter.notifyDataSetChanged(); assertEquals(2, adapter.getCount()); } @@ -72,7 +73,7 @@ public class OrderedCustomListAdapterTest extends ActivityInstrumentationTestCas public void testRemoveItem() throws Exception { StatusViewModel viewModel1 = new StatusViewModel(mock.getReplyMock()); StatusViewModel viewModel2 = new StatusViewModel(mock.getReplyMock()); - adapter.addItem(viewModel1, viewModel2); + adapter.addItems(Arrays.asList(viewModel1, viewModel2)); adapter.notifyDataSetChanged(); assertEquals(2, adapter.getCount()); adapter.removeItem(viewModel1); diff --git a/app/src/main/java/net/lacolaco/smileessence/activity/EditCommandActivity.java b/app/src/main/java/net/lacolaco/smileessence/activity/EditCommandActivity.java index 6d47656e..c9b14cd5 100644 --- a/app/src/main/java/net/lacolaco/smileessence/activity/EditCommandActivity.java +++ b/app/src/main/java/net/lacolaco/smileessence/activity/EditCommandActivity.java @@ -52,7 +52,7 @@ public class EditCommandActivity extends Activity { // --------------------- GETTER / SETTER METHODS --------------------- - private CheckBoxModel[] getCheckBoxItems() { + private List<CheckBoxModel> getCheckBoxItems() { editedCommands = new ArrayList<>(); List<CheckBoxModel> checkBoxModels = new ArrayList<>(); List<Command> commands = Command.getAllCommands(this); @@ -72,7 +72,7 @@ public class EditCommandActivity extends Activity { CheckBoxModel checkBoxModel = new CheckBoxModel(text, CommandSetting.isVisible(command.getKey())); checkBoxModels.add(checkBoxModel); } - return checkBoxModels.toArray(new CheckBoxModel[checkBoxModels.size()]); + return checkBoxModels; } private ListView getListView() { @@ -139,7 +139,7 @@ public class EditCommandActivity extends Activity { ListView listView = getListView(); adapter = new UnorderedCustomListAdapter<>(this); listView.setAdapter(adapter); - adapter.addItemToTop(getCheckBoxItems()); + adapter.addItemsToTop(getCheckBoxItems()); adapter.update(); } diff --git a/app/src/main/java/net/lacolaco/smileessence/activity/EditTabActivity.java b/app/src/main/java/net/lacolaco/smileessence/activity/EditTabActivity.java index ac2200b6..d1a60fe6 100644 --- a/app/src/main/java/net/lacolaco/smileessence/activity/EditTabActivity.java +++ b/app/src/main/java/net/lacolaco/smileessence/activity/EditTabActivity.java @@ -49,7 +49,7 @@ public class EditTabActivity extends Activity { // --------------------- GETTER / SETTER METHODS --------------------- - private EditableCheckBoxModel[] getCheckBoxItems() { + private List<EditableCheckBoxModel> getCheckBoxItems() { List<EditableCheckBoxModel> models = new ArrayList<>(); EditableCheckBoxModel post = new EditableCheckBoxModel(0, getString(R.string.page_name_post)); @@ -77,7 +77,7 @@ public class EditTabActivity extends Activity { list.setChecked(getVisibility(R.string.key_page_list_visibility)) .setInputText(String.valueOf(getPosition(R.string.key_page_list_position, 6))); models.add(list); - return models.toArray(new EditableCheckBoxModel[models.size()]); + return models; } private ListView getListView() { @@ -134,7 +134,7 @@ public class EditTabActivity extends Activity { ListView listView = getListView(); adapter = new OrderedCustomListAdapter<>(this, Collections.reverseOrder()); listView.setAdapter(adapter); - adapter.addItem(getCheckBoxItems()); + adapter.addItems(getCheckBoxItems()); adapter.update(); } diff --git a/app/src/main/java/net/lacolaco/smileessence/activity/EditTemplateActivity.java b/app/src/main/java/net/lacolaco/smileessence/activity/EditTemplateActivity.java index c322c845..33c29792 100644 --- a/app/src/main/java/net/lacolaco/smileessence/activity/EditTemplateActivity.java +++ b/app/src/main/java/net/lacolaco/smileessence/activity/EditTemplateActivity.java @@ -56,9 +56,8 @@ public class EditTemplateActivity extends Activity implements AdapterView.OnItem return (ListView) findViewById(R.id.listview_edit_list); } - private Template[] getTemplates() { - List<Template> all = Template.getAll(); - return all.toArray(new Template[all.size()]); + private List<Template> getTemplates() { + return Template.getAll(); } // ------------------------ INTERFACE METHODS ------------------------ @@ -200,7 +199,7 @@ public class EditTemplateActivity extends Activity implements AdapterView.OnItem ListView listView = getListView(); adapter = new UnorderedCustomListAdapter<>(this); listView.setAdapter(adapter); - adapter.addItemToBottom(getTemplates()); + adapter.addItemsToBottom(getTemplates()); adapter.update(); listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL); listView.setOnItemClickListener(this); diff --git a/app/src/main/java/net/lacolaco/smileessence/view/adapter/OrderedCustomListAdapter.java b/app/src/main/java/net/lacolaco/smileessence/view/adapter/OrderedCustomListAdapter.java index 965e51f0..5e46e088 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/adapter/OrderedCustomListAdapter.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/adapter/OrderedCustomListAdapter.java @@ -56,7 +56,13 @@ public class OrderedCustomListAdapter<T extends IViewModel & IdObject> extends C // -------------------------- OTHER METHODS -------------------------- - public void addItem(T... items) { + public void addItem(T item) { + synchronized (LOCK) { + treeMap.put(item.getId(), item); + } + } + + public void addItems(List<T> items) { synchronized (LOCK) { for (T item : items) { treeMap.put(item.getId(), item); diff --git a/app/src/main/java/net/lacolaco/smileessence/view/adapter/UnorderedCustomListAdapter.java b/app/src/main/java/net/lacolaco/smileessence/view/adapter/UnorderedCustomListAdapter.java index c115a0dc..9d3c1d2c 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/adapter/UnorderedCustomListAdapter.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/adapter/UnorderedCustomListAdapter.java @@ -54,19 +54,27 @@ public class UnorderedCustomListAdapter<T extends IViewModel> extends CustomList // -------------------------- OTHER METHODS -------------------------- - public void addItemToTop(T... items) { + public void addItemToTop(T item) { synchronized (LOCK) { - for (T item : items) { - linkedList.add(item); - } + linkedList.add(item); } } - public void addItemToBottom(T... items) { + public void addItemsToTop(List<T> items) { synchronized (LOCK) { - for (T item : items) { - linkedList.add(0, item); - } + linkedList.addAll(items); + } + } + + public void addItemToBottom(T item) { + synchronized (LOCK) { + linkedList.add(0, item); + } + } + + public void addItemsToBottom(List<T> items) { + synchronized (LOCK) { + linkedList.addAll(0, items); } } diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/ChooseTemplateDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/ChooseTemplateDialogFragment.java index e4629c19..b56487b3 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/ChooseTemplateDialogFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/ChooseTemplateDialogFragment.java @@ -38,10 +38,7 @@ public class ChooseTemplateDialogFragment extends MenuDialogFragment { @Override protected void setMenuItems(final UnorderedCustomListAdapter<Command> adapter) { - List<Command> commands = getCommands(); - for (Command command : commands) { - adapter.addItemToBottom(command); - } + adapter.addItemsToBottom(getCommands()); adapter.update(); } diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/HashtagDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/HashtagDialogFragment.java index abc4539b..57f71519 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/HashtagDialogFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/HashtagDialogFragment.java @@ -61,9 +61,7 @@ public class HashtagDialogFragment extends MenuDialogFragment { String text = getHashtagText(); List<Command> commands = getCommands(text); Command.filter(commands); - for (Command command : commands) { - adapter.addItemToBottom(command); - } + adapter.addItemsToBottom(commands); adapter.update(); } diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageMenuDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageMenuDialogFragment.java index 228820f7..9fb8a193 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageMenuDialogFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageMenuDialogFragment.java @@ -65,9 +65,7 @@ public class MessageMenuDialogFragment extends MenuDialogFragment { if (message != null) { List<Command> commands = getCommands(); Command.filter(commands); - for (Command command : commands) { - adapter.addItemToBottom(command); - } + adapter.addItemsToBottom(commands); adapter.update(); } else { dismiss(); diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/PostMenuDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/PostMenuDialogFragment.java index c00ea94d..b61350da 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/PostMenuDialogFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/PostMenuDialogFragment.java @@ -49,9 +49,7 @@ public class PostMenuDialogFragment extends MenuDialogFragment { Notificator.getInstance().alert(R.string.notice_no_commands_available); dismiss(); } - for (Command command : commands) { - adapter.addItemToBottom(command); - } + adapter.addItemsToBottom(commands); adapter.update(); } diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/QuoteDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/QuoteDialogFragment.java index 81fda433..7b4e1c81 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/QuoteDialogFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/QuoteDialogFragment.java @@ -62,9 +62,7 @@ public class QuoteDialogFragment extends MenuDialogFragment { if (tweet != null) { List<Command> commands = getCommands(tweet); Command.filter(commands); - for (Command command : commands) { - adapter.addItemToBottom(command); - } + adapter.addItemsToBottom(commands); adapter.update(); } else { dismiss(); diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectImageDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectImageDialogFragment.java index 79b552d2..8742ec05 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectImageDialogFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectImageDialogFragment.java @@ -48,9 +48,7 @@ public class SelectImageDialogFragment extends MenuDialogFragment { protected void setMenuItems(final UnorderedCustomListAdapter<Command> adapter) { List<Command> commands = getCommands(); Command.filter(commands); - for (Command command : commands) { - adapter.addItemToBottom(command); - } + adapter.addItemsToBottom(commands); adapter.update(); } diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectSearchQueryDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectSearchQueryDialogFragment.java index 4eb14413..f172644d 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectSearchQueryDialogFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectSearchQueryDialogFragment.java @@ -68,9 +68,7 @@ public class SelectSearchQueryDialogFragment extends MenuDialogFragment implemen protected void setMenuItems(final UnorderedCustomListAdapter<Command> adapter) { List<Command> commands = getCommands(); Command.filter(commands); - for (Command command : commands) { - adapter.addItemToBottom(command); - } + adapter.addItemsToBottom(commands); adapter.update(); } diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectUserListDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectUserListDialogFragment.java index ddb87734..2e6a12e4 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectUserListDialogFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectUserListDialogFragment.java @@ -44,9 +44,7 @@ public class SelectUserListDialogFragment extends MenuDialogFragment { protected void setMenuItems(final UnorderedCustomListAdapter<Command> adapter) { List<Command> commands = getCommands(); Command.filter(commands); - for (Command command : commands) { - adapter.addItemToBottom(command); - } + adapter.addItemsToBottom(commands); adapter.update(); } diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusMenuDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusMenuDialogFragment.java index d1b8649e..9ec2c37d 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusMenuDialogFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusMenuDialogFragment.java @@ -66,9 +66,7 @@ public class StatusMenuDialogFragment extends MenuDialogFragment { if (tweet != null) { List<Command> commands = getCommands(); Command.filter(commands); - for (Command command : commands) { - adapter.addItemToBottom(command); - } + adapter.addItemsToBottom(commands); adapter.update(); } else { dismiss(); diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/UserMenuDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/UserMenuDialogFragment.java index 338c3170..eb2cd689 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/UserMenuDialogFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/UserMenuDialogFragment.java @@ -66,9 +66,7 @@ public class UserMenuDialogFragment extends MenuDialogFragment { if (user != null) { List<Command> commands = getCommands(); Command.filter(commands); - for (Command command : commands) { - adapter.addItemToBottom(command); - } + adapter.addItemsToBottom(commands); adapter.update(); } else { dismiss(); // BUG |