Search in sources :

Example 6 with AppDependencyModule

use of org.odk.collect.android.injection.config.AppDependencyModule in project collect by opendatakit.

the class DrawWidgetTest method whenPromptHasDefaultAnswer_showsInImageView.

@Test
public void whenPromptHasDefaultAnswer_showsInImageView() throws Exception {
    String imagePath = File.createTempFile("default", ".bmp").getAbsolutePath();
    ReferenceManager referenceManager = setupFakeReferenceManager(singletonList(new Pair<>(DrawWidgetTest.DEFAULT_IMAGE_ANSWER, imagePath)));
    CollectHelpers.overrideAppDependencyModule(new AppDependencyModule() {

        @Override
        public ReferenceManager providesReferenceManager() {
            return referenceManager;
        }

        @Override
        public ImageLoader providesImageLoader() {
            return new SynchronousImageLoader();
        }
    });
    formEntryPrompt = new MockFormEntryPromptBuilder().withAnswerDisplayText(DEFAULT_IMAGE_ANSWER).build();
    DrawWidget widget = createWidget();
    ImageView imageView = widget.getImageView();
    assertThat(imageView, notNullValue());
    Drawable drawable = imageView.getDrawable();
    assertThat(drawable, notNullValue());
    String loadedPath = shadowOf(((BitmapDrawable) drawable).getBitmap()).getCreatedFromPath();
    assertThat(loadedPath, equalTo(imagePath));
}
Also used : SynchronousImageLoader(org.odk.collect.android.widgets.support.SynchronousImageLoader) Drawable(android.graphics.drawable.Drawable) BitmapDrawable(android.graphics.drawable.BitmapDrawable) RandomString(net.bytebuddy.utility.RandomString) AppDependencyModule(org.odk.collect.android.injection.config.AppDependencyModule) MockFormEntryPromptBuilder(org.odk.collect.android.support.MockFormEntryPromptBuilder) ImageView(android.widget.ImageView) BitmapDrawable(android.graphics.drawable.BitmapDrawable) ImageLoader(org.odk.collect.imageloader.ImageLoader) SynchronousImageLoader(org.odk.collect.android.widgets.support.SynchronousImageLoader) CollectHelpers.setupFakeReferenceManager(org.odk.collect.android.support.CollectHelpers.setupFakeReferenceManager) ReferenceManager(org.javarosa.core.reference.ReferenceManager) Pair(androidx.core.util.Pair) Test(org.junit.Test) FileWidgetTest(org.odk.collect.android.widgets.base.FileWidgetTest)

Example 7 with AppDependencyModule

use of org.odk.collect.android.injection.config.AppDependencyModule in project collect by opendatakit.

the class ExImageWidgetTest method setup.

@Before
public void setup() {
    mediaUtils = mock(MediaUtils.class);
    CollectHelpers.overrideAppDependencyModule(new AppDependencyModule() {

        @Override
        public MediaUtils providesMediaUtils(IntentLauncher intentLauncher) {
            return mediaUtils;
        }
    });
    when(mediaUtils.isImageFile(any())).thenReturn(true);
}
Also used : IntentLauncher(org.odk.collect.androidshared.system.IntentLauncher) MediaUtils(org.odk.collect.android.utilities.MediaUtils) AppDependencyModule(org.odk.collect.android.injection.config.AppDependencyModule) Before(org.junit.Before)

Example 8 with AppDependencyModule

use of org.odk.collect.android.injection.config.AppDependencyModule in project collect by opendatakit.

the class VideoWidgetTest method buttonsShouldLaunchCorrectIntents.

@Test
public void buttonsShouldLaunchCorrectIntents() {
    MediaUtils mediaUtils = mock(MediaUtils.class);
    CollectHelpers.overrideAppDependencyModule(new AppDependencyModule() {

        @Override
        public MediaUtils providesMediaUtils(IntentLauncher intentLauncher) {
            return mediaUtils;
        }
    });
    stubAllRuntimePermissionsGranted(true);
    Intent intent = getIntentLaunchedByClick(R.id.capture_video);
    assertActionEquals(MediaStore.ACTION_VIDEO_CAPTURE, intent);
    intent = getIntentLaunchedByClick(R.id.choose_video);
    assertActionEquals(Intent.ACTION_GET_CONTENT, intent);
    assertTypeEquals("video/*", intent);
    getIntentLaunchedByClick(R.id.play_video);
    verify(mediaUtils).openFile(any(), any(), any());
}
Also used : IntentLauncher(org.odk.collect.androidshared.system.IntentLauncher) MediaUtils(org.odk.collect.android.utilities.MediaUtils) Intent(android.content.Intent) AppDependencyModule(org.odk.collect.android.injection.config.AppDependencyModule) Test(org.junit.Test) FileWidgetTest(org.odk.collect.android.widgets.base.FileWidgetTest)

Example 9 with AppDependencyModule

use of org.odk.collect.android.injection.config.AppDependencyModule in project collect by opendatakit.

the class QuestionWidgetTest method overrideDependencyModule.

private void overrideDependencyModule() throws Exception {
    ReferenceManager referenceManager = setupFakeReferenceManager(asList(new Pair<>("ref", "blah.mp3")));
    CollectHelpers.overrideAppDependencyModule(new AppDependencyModule() {

        @Override
        public ReferenceManager providesReferenceManager() {
            return referenceManager;
        }

        @Override
        public AudioHelperFactory providesAudioHelperFactory(Scheduler scheduler) {
            return context -> audioHelper;
        }

        @Override
        public Analytics providesAnalytics(Application application) {
            return analytics;
        }
    });
}
Also used : AudioHelperFactory(org.odk.collect.android.formentry.media.AudioHelperFactory) Scheduler(org.odk.collect.async.Scheduler) AppDependencyModule(org.odk.collect.android.injection.config.AppDependencyModule) Application(android.app.Application) Analytics(org.odk.collect.analytics.Analytics) CollectHelpers.setupFakeReferenceManager(org.odk.collect.android.support.CollectHelpers.setupFakeReferenceManager) ReferenceManager(org.javarosa.core.reference.ReferenceManager) Pair(androidx.core.util.Pair)

Example 10 with AppDependencyModule

use of org.odk.collect.android.injection.config.AppDependencyModule in project collect by opendatakit.

the class SignatureWidgetTest method whenPromptHasDefaultAnswer_showsInImageView.

@Test
public void whenPromptHasDefaultAnswer_showsInImageView() throws Exception {
    String imagePath = File.createTempFile("default", ".bmp").getAbsolutePath();
    ReferenceManager referenceManager = setupFakeReferenceManager(singletonList(new Pair<>(DrawWidgetTest.DEFAULT_IMAGE_ANSWER, imagePath)));
    CollectHelpers.overrideAppDependencyModule(new AppDependencyModule() {

        @Override
        public ReferenceManager providesReferenceManager() {
            return referenceManager;
        }

        @Override
        public ImageLoader providesImageLoader() {
            return new SynchronousImageLoader();
        }
    });
    formEntryPrompt = new MockFormEntryPromptBuilder().withAnswerDisplayText(DrawWidgetTest.DEFAULT_IMAGE_ANSWER).build();
    SignatureWidget widget = createWidget();
    ImageView imageView = widget.getImageView();
    assertThat(imageView, notNullValue());
    Drawable drawable = imageView.getDrawable();
    assertThat(drawable, notNullValue());
    String loadedPath = shadowOf(((BitmapDrawable) drawable).getBitmap()).getCreatedFromPath();
    assertThat(loadedPath, equalTo(imagePath));
}
Also used : SynchronousImageLoader(org.odk.collect.android.widgets.support.SynchronousImageLoader) Drawable(android.graphics.drawable.Drawable) BitmapDrawable(android.graphics.drawable.BitmapDrawable) RandomString(net.bytebuddy.utility.RandomString) AppDependencyModule(org.odk.collect.android.injection.config.AppDependencyModule) MockFormEntryPromptBuilder(org.odk.collect.android.support.MockFormEntryPromptBuilder) ImageView(android.widget.ImageView) BitmapDrawable(android.graphics.drawable.BitmapDrawable) ImageLoader(org.odk.collect.imageloader.ImageLoader) SynchronousImageLoader(org.odk.collect.android.widgets.support.SynchronousImageLoader) CollectHelpers.setupFakeReferenceManager(org.odk.collect.android.support.CollectHelpers.setupFakeReferenceManager) ReferenceManager(org.javarosa.core.reference.ReferenceManager) Pair(androidx.core.util.Pair) Test(org.junit.Test) FileWidgetTest(org.odk.collect.android.widgets.base.FileWidgetTest)

Aggregations

AppDependencyModule (org.odk.collect.android.injection.config.AppDependencyModule)23 Before (org.junit.Before)10 Test (org.junit.Test)9 FileWidgetTest (org.odk.collect.android.widgets.base.FileWidgetTest)9 ImageView (android.widget.ImageView)8 RandomString (net.bytebuddy.utility.RandomString)8 ReferenceManager (org.javarosa.core.reference.ReferenceManager)8 CollectHelpers.setupFakeReferenceManager (org.odk.collect.android.support.CollectHelpers.setupFakeReferenceManager)8 MockFormEntryPromptBuilder (org.odk.collect.android.support.MockFormEntryPromptBuilder)8 SynchronousImageLoader (org.odk.collect.android.widgets.support.SynchronousImageLoader)8 ImageLoader (org.odk.collect.imageloader.ImageLoader)8 BitmapDrawable (android.graphics.drawable.BitmapDrawable)7 Drawable (android.graphics.drawable.Drawable)7 Pair (androidx.core.util.Pair)6 File (java.io.File)6 MediaUtils (org.odk.collect.android.utilities.MediaUtils)6 IntentLauncher (org.odk.collect.androidshared.system.IntentLauncher)6 Application (android.app.Application)5 Analytics (org.odk.collect.analytics.Analytics)5 AudioHelperFactory (org.odk.collect.android.formentry.media.AudioHelperFactory)3