Search in sources :

Example 11 with SelectMultipleListAdapter

use of org.odk.collect.android.adapters.SelectMultipleListAdapter in project collect by opendatakit.

the class ChoicesRecyclerViewTest method whenClickOneElementTwice_shouldThatElementBeUnselectedInSelectMultiButtonsMode.

@Test
public void whenClickOneElementTwice_shouldThatElementBeUnselectedInSelectMultiButtonsMode() {
    List<SelectChoice> items = getTestChoices();
    setUpFormEntryPrompt(items, "");
    SelectItemClickListener listener = mock(SelectItemClickListener.class);
    SelectMultipleListAdapter adapter = new SelectMultipleListAdapter(new ArrayList<>(), listener, activityController.get(), items, formEntryPrompt, null, null, 0, 1, false, mock(MediaUtils.class));
    initRecyclerView(adapter, false);
    // Select AAA
    clickChoice(0);
    assertThat(isItemSelected(0), is(true));
    assertThat(isItemSelected(1), is(false));
    // Select AAA again
    clickChoice(0);
    assertThat(isItemSelected(0), is(false));
    assertThat(isItemSelected(1), is(false));
}
Also used : SelectChoice(org.javarosa.core.model.SelectChoice) SelectMultipleListAdapter(org.odk.collect.android.adapters.SelectMultipleListAdapter) MediaUtils(org.odk.collect.android.utilities.MediaUtils) SelectItemClickListener(org.odk.collect.android.listeners.SelectItemClickListener) Test(org.junit.Test)

Example 12 with SelectMultipleListAdapter

use of org.odk.collect.android.adapters.SelectMultipleListAdapter in project collect by opendatakit.

the class ChoicesRecyclerViewTest method whenChoiceUnselectedInSelectMultiNoButtonsMode_shouldStopPlayingAudio.

@Test
public void whenChoiceUnselectedInSelectMultiNoButtonsMode_shouldStopPlayingAudio() {
    List<SelectChoice> items = getTestChoices();
    setUpFormEntryPrompt(items, "no-buttons");
    SelectItemClickListener listener = mock(SelectItemClickListener.class);
    List<Selection> selectedItems = new ArrayList<>();
    selectedItems.add(items.get(0).selection());
    SelectMultipleListAdapter adapter = spy(new SelectMultipleListAdapter(selectedItems, listener, activityController.get(), items, formEntryPrompt, null, audioHelper, 0, 1, true, mock(MediaUtils.class)));
    initRecyclerView(adapter, false);
    // Unselect AAA
    clickChoice(0);
    verify(adapter.getAudioHelper()).stop();
    verify(adapter, never()).playAudio(any());
}
Also used : SelectChoice(org.javarosa.core.model.SelectChoice) Selection(org.javarosa.core.model.data.helper.Selection) SelectMultipleListAdapter(org.odk.collect.android.adapters.SelectMultipleListAdapter) ArrayList(java.util.ArrayList) SelectItemClickListener(org.odk.collect.android.listeners.SelectItemClickListener) Test(org.junit.Test)

Example 13 with SelectMultipleListAdapter

use of org.odk.collect.android.adapters.SelectMultipleListAdapter in project collect by opendatakit.

the class SelectMultiWidget method setUpAdapter.

@Override
protected AbstractSelectListAdapter setUpAdapter() {
    int numColumns = Appearances.getNumberOfColumns(getFormEntryPrompt(), screenUtils);
    boolean noButtonsMode = Appearances.isCompactAppearance(getFormEntryPrompt()) || Appearances.isNoButtonsAppearance(getFormEntryPrompt());
    recyclerViewAdapter = new SelectMultipleListAdapter(getSelectedItems(), this, getContext(), items, getFormEntryPrompt(), getReferenceManager(), getAudioHelper(), getPlayColor(getFormEntryPrompt(), themeUtils), numColumns, noButtonsMode, mediaUtils);
    return recyclerViewAdapter;
}
Also used : SelectMultipleListAdapter(org.odk.collect.android.adapters.SelectMultipleListAdapter) SuppressLint(android.annotation.SuppressLint)

Aggregations

SelectMultipleListAdapter (org.odk.collect.android.adapters.SelectMultipleListAdapter)13 SelectChoice (org.javarosa.core.model.SelectChoice)12 Test (org.junit.Test)12 SelectItemClickListener (org.odk.collect.android.listeners.SelectItemClickListener)10 MediaUtils (org.odk.collect.android.utilities.MediaUtils)9 ArrayList (java.util.ArrayList)4 Selection (org.javarosa.core.model.data.helper.Selection)2 AudioHelper (org.odk.collect.android.audio.AudioHelper)2 SuppressLint (android.annotation.SuppressLint)1 MutableLiveData (androidx.lifecycle.MutableLiveData)1 File (java.io.File)1 AudioButton (org.odk.collect.android.audio.AudioButton)1 AudioVideoImageTextLabel (org.odk.collect.android.formentry.questions.AudioVideoImageTextLabel)1 ImageLoader (org.odk.collect.imageloader.ImageLoader)1