diff --git a/app/src/main/java/com/example/android/classicalmusicquiz/QuizActivity.java b/app/src/main/java/com/example/android/classicalmusicquiz/QuizActivity.java index 0539cd08..d9b93d64 100644 --- a/app/src/main/java/com/example/android/classicalmusicquiz/QuizActivity.java +++ b/app/src/main/java/com/example/android/classicalmusicquiz/QuizActivity.java @@ -25,18 +25,24 @@ import android.os.Handler; import android.support.v4.content.ContextCompat; import android.support.v7.app.AppCompatActivity; +import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.Toast; import com.google.android.exoplayer2.DefaultLoadControl; +import com.google.android.exoplayer2.ExoPlaybackException; +import com.google.android.exoplayer2.ExoPlayer; import com.google.android.exoplayer2.ExoPlayerFactory; import com.google.android.exoplayer2.LoadControl; import com.google.android.exoplayer2.SimpleExoPlayer; +import com.google.android.exoplayer2.Timeline; import com.google.android.exoplayer2.extractor.DefaultExtractorsFactory; import com.google.android.exoplayer2.source.ExtractorMediaSource; import com.google.android.exoplayer2.source.MediaSource; +import com.google.android.exoplayer2.source.TrackGroupArray; import com.google.android.exoplayer2.trackselection.DefaultTrackSelector; +import com.google.android.exoplayer2.trackselection.TrackSelectionArray; import com.google.android.exoplayer2.trackselection.TrackSelector; import com.google.android.exoplayer2.ui.SimpleExoPlayerView; import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory; @@ -44,11 +50,11 @@ import java.util.ArrayList; -// TODO (1): Have this Activity implement ExoPlayer.EventListener and add the required methods. -public class QuizActivity extends AppCompatActivity implements View.OnClickListener { +public class QuizActivity extends AppCompatActivity implements View.OnClickListener, ExoPlayer.EventListener { private static final int CORRECT_ANSWER_DELAY_MILLIS = 1000; private static final String REMAINING_SONGS_KEY = "remaining_songs"; + private static final String TAG = QuizActivity.class.getSimpleName(); private int[] mButtonIDs = {R.id.buttonA, R.id.buttonB, R.id.buttonC, R.id.buttonD}; private ArrayList mRemainingSampleIDs; private ArrayList mQuestionSampleIDs; @@ -149,7 +155,8 @@ private void initializePlayer(Uri mediaUri) { mExoPlayer = ExoPlayerFactory.newSimpleInstance(this, trackSelector, loadControl); mPlayerView.setPlayer(mExoPlayer); - // TODO (2): Set the ExoPlayer.EventListener to this activity + // Set the ExoPlayer.EventListener to this activity. + mExoPlayer.addListener(this); // Prepare the MediaSource. String userAgent = Util.getUserAgent(this, "ClassicalMusicQuiz"); @@ -260,5 +267,35 @@ protected void onDestroy() { releasePlayer(); } - // TODO (3): Add conditional logging statements to the onPlayerStateChanged() method that log when ExoPlayer is playing or paused. + + // ExoPlayer Event Listeners + + @Override + public void onTimelineChanged(Timeline timeline, Object manifest) { + } + + @Override + public void onTracksChanged(TrackGroupArray trackGroups, TrackSelectionArray trackSelections) { + } + + @Override + public void onLoadingChanged(boolean isLoading) { + } + + @Override + public void onPlayerStateChanged(boolean playWhenReady, int playbackState) { + if((playbackState == ExoPlayer.STATE_READY) && playWhenReady){ + Log.d(TAG, "onPlayerStateChanged: PLAYING"); + } else if((playbackState == ExoPlayer.STATE_READY)){ + Log.d(TAG, "onPlayerStateChanged: PAUSED"); + } + } + + @Override + public void onPlayerError(ExoPlaybackException error) { + } + + @Override + public void onPositionDiscontinuity() { + } }