Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
SaumiaSinghal committed Aug 4, 2020
1 parent 66d3ddb commit 57ed5ab
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 20 deletions.
Expand Up @@ -134,6 +134,7 @@ protected View onCreateAnswerView(Context context, FormEntryPrompt prompt, int a

@Override
public void deleteFile() {
audioHelper.stop();
mediaManagerListener.markOriginalFileOrDelete(getFormEntryPrompt().getIndex().toString(),
getInstanceFolder() + File.separator + binaryName);
binaryName = null;
Expand Down Expand Up @@ -189,7 +190,7 @@ public void setBinaryData(Object object) {
}

if (newAudio.exists()) {
// Add the copy to the content provier
// Add the copy to the content provider
ContentValues values = new ContentValues(6);
values.put(Audio.Media.TITLE, newAudio.getName());
values.put(Audio.Media.DISPLAY_NAME, newAudio.getName());
Expand All @@ -198,8 +199,7 @@ public void setBinaryData(Object object) {

mediaManagerListener.replaceRecentFileForQuestion(getFormEntryPrompt().getIndex().toString(), newAudio.getAbsolutePath());

Uri audioURI = getContext().getContentResolver().insert(
Audio.Media.EXTERNAL_CONTENT_URI, values);
Uri audioURI = getContext().getContentResolver().insert(Audio.Media.EXTERNAL_CONTENT_URI, values);

if (audioURI != null) {
Timber.i("Inserting AUDIO returned uri = %s", audioURI.toString());
Expand Down
Expand Up @@ -74,7 +74,7 @@ public class AudioWidgetTest {
private AudioControllerView audioController;
private FileUtil fileUtil;
private MediaUtil mediaUtil;
private AudioHelper audioHelper;
private FakeAudioHelper audioHelper;
private MediaManagerListener mockedMediaManagerListener;
private ActivityAvailability activityAvailability;
private FormIndex formIndex;
Expand Down Expand Up @@ -138,16 +138,18 @@ public void whenPromptHasAnswer_updatesPlayerMedia() {
AudioWidget widget = createWidget(promptWithAnswer(new StringData(FILE_PATH)));
Clip clip = getAnswerAudioClip(widget.getInstanceFolder(), widget.getAnswer());

assertThat(((FakeAudioHelper) widget.audioHelper).getAudioController(), equalTo(audioController));
assertThat(((FakeAudioHelper) widget.audioHelper).getClip().getURI(), equalTo(clip.getURI()));
assertThat(audioHelper.audioController, equalTo(audioController));
assertThat(audioHelper.clip.getURI(), equalTo(clip.getURI()));
verify(audioController).showPlayer();
}

@Test
public void deleteFile_removesWidgetAnswer() {
public void deleteFile_removesWidgetAnswerAndStopsPlayingMedia() {
AudioWidget widget = createWidget(promptWithAnswer(new StringData(FILE_PATH)));
widget.deleteFile();

assertThat(widget.getAnswer(), nullValue());
assertThat(audioHelper.isMediaStopped, equalTo(true));
}

@Test
Expand All @@ -168,6 +170,7 @@ public void clearAnswer_removesAnswerAndHidesPlayer() {
widget.clearAnswer();

assertThat(widget.getAnswer(), nullValue());
assertThat(audioHelper.isMediaStopped, equalTo(true));
verify(audioController).hidePlayer();
}

Expand Down Expand Up @@ -220,12 +223,11 @@ public void setData_whenDataIsUri_copiesNewFileToSource() {
public void setData_whenFileExists_callsMediaManagerListener() {
FormEntryPrompt prompt = promptWithAnswer(new StringData(FILE_PATH));
when(prompt.getIndex()).thenReturn(formIndex);
when(mockedFile.getAbsolutePath()).thenReturn("newFilePath/newFile.mp3");

AudioWidget widget = createWidget(promptWithAnswer(new StringData(FILE_PATH)));
AudioWidget widget = createWidget(prompt);
widget.setBinaryData(mockedFile);

verify(mockedMediaManagerListener).replaceRecentFileForQuestion("0, 0", "newFilePath/newFile.mp3");
verify(mockedMediaManagerListener).replaceRecentFileForQuestion("questionIndex", "newFilePath");
}

@Test
Expand Down Expand Up @@ -277,8 +279,8 @@ public void setData_whenFileExists_updatesPlayerMedia() {
widget.setBinaryData(mockedFile);
Clip clip = getAnswerAudioClip(widget.getInstanceFolder(), widget.getAnswer());

assertThat(((FakeAudioHelper) widget.audioHelper).getAudioController(), equalTo(audioController));
assertThat(((FakeAudioHelper) widget.audioHelper).getClip().getURI(), equalTo(clip.getURI()));
assertThat(audioHelper.audioController, equalTo(audioController));
assertThat(audioHelper.clip.getURI(), equalTo(clip.getURI()));
verify(audioController, times(2)).showPlayer();
}

Expand Down Expand Up @@ -404,12 +406,14 @@ private String getAudioFilePath(String instanceFolderPath, IAnswerData answer) {
}

public static class FakeAudioHelper extends AudioHelper {
public AudioControllerView audioController;
public Clip clip;

private AudioControllerView audioController;
private Clip clip;
public boolean isMediaStopped;

public FakeAudioHelper(FragmentActivity activity, LifecycleOwner lifecycleOwner, Scheduler scheduler, Supplier<MediaPlayer> mediaPlayerFactory) {
super(activity, lifecycleOwner, scheduler, mediaPlayerFactory);
isMediaStopped = false;
}

@Override
Expand All @@ -418,12 +422,9 @@ public void setAudio(AudioControllerView view, Clip clip) {
this.clip = clip;
}

public AudioControllerView getAudioController() {
return audioController;
}

public Clip getClip() {
return clip;
@Override
public void stop() {
isMediaStopped = true;
}
}
}

0 comments on commit 57ed5ab

Please sign in to comment.