Search in sources :

Example 6 with SelectItemClickListener

use of org.odk.collect.android.listeners.SelectItemClickListener in project collect by opendatakit.

the class ChoicesRecyclerViewTest method whenClickOneElementTwice_shouldThatElementRemainSelectedInSelectOneButtonsMode.

@Test
public void whenClickOneElementTwice_shouldThatElementRemainSelectedInSelectOneButtonsMode() {
    List<SelectChoice> items = getTestChoices();
    setUpFormEntryPrompt(items, "");
    SelectItemClickListener listener = mock(SelectItemClickListener.class);
    SelectOneListAdapter adapter = new SelectOneListAdapter(null, 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(true));
    assertThat(isItemSelected(1), is(false));
}
Also used : SelectChoice(org.javarosa.core.model.SelectChoice) MediaUtils(org.odk.collect.android.utilities.MediaUtils) SelectItemClickListener(org.odk.collect.android.listeners.SelectItemClickListener) SelectOneListAdapter(org.odk.collect.android.adapters.SelectOneListAdapter) Test(org.junit.Test)

Example 7 with SelectItemClickListener

use of org.odk.collect.android.listeners.SelectItemClickListener in project collect by opendatakit.

the class ChoicesRecyclerViewTest method whenClickOneElementTwice_shouldThatElementRemainSelectedInSelectOneNoButtonsMode.

@Test
public void whenClickOneElementTwice_shouldThatElementRemainSelectedInSelectOneNoButtonsMode() {
    List<SelectChoice> items = getTestChoices();
    setUpFormEntryPrompt(items, "no-buttons");
    SelectItemClickListener listener = mock(SelectItemClickListener.class);
    SelectOneListAdapter adapter = new SelectOneListAdapter(null, listener, activityController.get(), items, formEntryPrompt, null, audioHelper, 0, 1, true, 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(true));
    assertThat(isItemSelected(1), is(false));
}
Also used : SelectChoice(org.javarosa.core.model.SelectChoice) MediaUtils(org.odk.collect.android.utilities.MediaUtils) SelectItemClickListener(org.odk.collect.android.listeners.SelectItemClickListener) SelectOneListAdapter(org.odk.collect.android.adapters.SelectOneListAdapter) Test(org.junit.Test)

Example 8 with SelectItemClickListener

use of org.odk.collect.android.listeners.SelectItemClickListener in project collect by opendatakit.

the class ChoicesRecyclerViewTest method whenNoButtonsModeIsUsed_shouldViewBeLongClickableToSupportRemovingAnswers.

@Test
public void whenNoButtonsModeIsUsed_shouldViewBeLongClickableToSupportRemovingAnswers() {
    List<SelectChoice> items = getTestChoices();
    setUpFormEntryPrompt(items, "no-buttons");
    SelectItemClickListener listener = mock(SelectItemClickListener.class);
    SelectMultipleListAdapter adapter = new SelectMultipleListAdapter(new ArrayList<>(), listener, activityController.get(), items, formEntryPrompt, null, null, 0, 1, true, mock(MediaUtils.class));
    initRecyclerView(adapter, false);
    assertThat(getChoiceView(0).isLongClickable(), is(true));
}
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 9 with SelectItemClickListener

use of org.odk.collect.android.listeners.SelectItemClickListener in project collect by opendatakit.

the class ChoicesRecyclerViewTest method whenChoiceSelectedInSelectMultiNoButtonsMode_shouldTryToPlayAudio.

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

Example 10 with SelectItemClickListener

use of org.odk.collect.android.listeners.SelectItemClickListener in project collect by opendatakit.

the class ChoicesRecyclerViewTest method whenColumnsPackAppearanceIsUsed_shouldMediaElementsBeHidden.

@Test
public void whenColumnsPackAppearanceIsUsed_shouldMediaElementsBeHidden() {
    List<SelectChoice> items = getTestChoices();
    setUpFormEntryPrompt(items, "columns-pack");
    SelectItemClickListener listener = mock(SelectItemClickListener.class);
    SelectMultipleListAdapter adapter = spy(new SelectMultipleListAdapter(new ArrayList<>(), listener, activityController.get(), items, formEntryPrompt, referenceManager, null, 0, 1, false, mock(MediaUtils.class)));
    initRecyclerView(adapter, true);
    assertThat(getAudioVideoImageTextLabelView(0).getImageView().getVisibility(), is(View.GONE));
    assertThat(getAudioVideoImageTextLabelView(0).getVideoButton().getVisibility(), is(View.GONE));
    assertThat(getAudioVideoImageTextLabelView(0).getAudioButton().getVisibility(), is(View.GONE));
}
Also used : SelectChoice(org.javarosa.core.model.SelectChoice) SelectMultipleListAdapter(org.odk.collect.android.adapters.SelectMultipleListAdapter) ArrayList(java.util.ArrayList) SelectItemClickListener(org.odk.collect.android.listeners.SelectItemClickListener) Test(org.junit.Test)

Aggregations

SelectChoice (org.javarosa.core.model.SelectChoice)15 Test (org.junit.Test)15 SelectItemClickListener (org.odk.collect.android.listeners.SelectItemClickListener)15 MediaUtils (org.odk.collect.android.utilities.MediaUtils)11 SelectMultipleListAdapter (org.odk.collect.android.adapters.SelectMultipleListAdapter)10 SelectOneListAdapter (org.odk.collect.android.adapters.SelectOneListAdapter)5 ArrayList (java.util.ArrayList)4 AudioHelper (org.odk.collect.android.audio.AudioHelper)3 Selection (org.javarosa.core.model.data.helper.Selection)2 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