blob: e186ca5f8ef54ae399db1d058a8c67c2e58236aa [file] [log] [blame]
package com.fairphone.checkup.tests.speaker;
import android.content.Context;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.view.View;
import com.fairphone.checkup.R;
import com.fairphone.checkup.tests.Test;
/**
* Created by maarten on 10-12-15.
*/
public class EarSpeakerTest extends Test {
private static final String TAG = EarSpeakerTest.class.getSimpleName();
View mTestView;
private AudioManager audioManager;
private int initVoiceCallVolume;
private int maxVoiceCallVolume;
private MediaPlayer mediaPlayer;
public EarSpeakerTest(Context context) {
super(context);
}
@Override
protected int getTestTitleID() {
return R.string.ear_speaker_test_title;
}
@Override
protected int getTestDescriptionID() {
return R.string.ear_speaker_test_description;
}
protected void onPrepare() {
audioManager = (AudioManager)getContext().getSystemService(Context.AUDIO_SERVICE);
initVoiceCallVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC); // store current volume to restore later
maxVoiceCallVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
audioManager.setMode(AudioManager.STREAM_MUSIC);
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, maxVoiceCallVolume, 0); // fix volume to 100%
audioManager.setSpeakerphoneOn(false);
mediaPlayer = MediaPlayer.create(getContext(), R.raw.sunbeam);
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setLooping(true);
}
@Override
protected void runTest() {
mediaPlayer.start();
//askIfSuccess(getContext().getString(R.string.ear_speaker_test_finish_question));
}
@Override
protected void onCleanUp() {
if (mediaPlayer != null) {
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, initVoiceCallVolume, 0); // restore original volume
}
mediaPlayer.release();
mediaPlayer = null;
super.onCleanUp();
}
}