package com.firemint.realracing; import android.app.Activity; import android.content.Context; import android.media.MediaPlayer; import android.net.Uri; import android.os.Handler; import android.util.Log; import android.view.SurfaceHolder; import android.view.SurfaceView; import android.view.ViewGroup; import android.widget.RelativeLayout; /* loaded from: classes2.dex */ public class MoviePlayer implements MediaPlayer.OnCompletionListener { public static Activity mActivity; public static Handler mUIThreadHandler; public static ViewGroup mViewGroup; public static MPHelper msMPHelper; public RelativeLayout mLayout; private long mThat; public static void startup(Activity activity, ViewGroup viewGroup, Handler handler) { mActivity = activity; mViewGroup = viewGroup; mUIThreadHandler = handler; } public native void OnCompletionNative(long j); public class MPHelper extends SurfaceView implements SurfaceHolder.Callback, MediaPlayer.OnPreparedListener, MediaPlayer.OnErrorListener, MediaPlayer.OnVideoSizeChangedListener { public MediaPlayer.OnCompletionListener mCompletionListener; public MediaPlayer mMediaPlayer; public boolean mStartAfterCreating; public SurfaceHolder mSurfaceHolder; public Uri mUri; public void setOnCompletionListener(MediaPlayer.OnCompletionListener onCompletionListener) { this.mCompletionListener = onCompletionListener; } public MPHelper(Context context) { super(context); this.mSurfaceHolder = null; this.mCompletionListener = null; this.mStartAfterCreating = false; this.mMediaPlayer = null; getHolder().addCallback(this); getHolder().setType(3); setFocusable(true); setFocusableInTouchMode(true); requestFocus(); } private void openVideo() { if (this.mUri == null || this.mSurfaceHolder == null) { return; } destroy(); try { this.mMediaPlayer = new MediaPlayer(); StringBuilder sb = new StringBuilder(); sb.append("opening video "); sb.append(this.mUri); this.mMediaPlayer.setDataSource(getContext(), this.mUri); this.mMediaPlayer.setOnPreparedListener(this); this.mMediaPlayer.setOnVideoSizeChangedListener(this); this.mMediaPlayer.setOnCompletionListener(this.mCompletionListener); this.mMediaPlayer.setOnErrorListener(this); this.mMediaPlayer.setDisplay(this.mSurfaceHolder); this.mMediaPlayer.setAudioStreamType(3); this.mMediaPlayer.setScreenOnWhilePlaying(true); this.mMediaPlayer.prepare(); } catch (Exception e) { Log.w("RealRacing3", "error opening video " + this.mUri + " exception: " + e); } } @Override // android.view.SurfaceHolder.Callback public void surfaceDestroyed(SurfaceHolder surfaceHolder) { this.mSurfaceHolder = null; pause(); } @Override // android.view.SurfaceHolder.Callback public void surfaceChanged(SurfaceHolder surfaceHolder, int i, int i2, int i3) { StringBuilder sb = new StringBuilder(); sb.append("MPHelper surfaceChanged: "); sb.append(i2); sb.append(", "); sb.append(i3); MediaPlayer mediaPlayer = this.mMediaPlayer; if (mediaPlayer != null) { mediaPlayer.setDisplay(surfaceHolder); resume(); } } @Override // android.view.SurfaceHolder.Callback public void surfaceCreated(SurfaceHolder surfaceHolder) { this.mSurfaceHolder = surfaceHolder; MediaPlayer mediaPlayer = this.mMediaPlayer; if (mediaPlayer != null) { mediaPlayer.setDisplay(surfaceHolder); } else { openVideo(); } } public void start() { MediaPlayer mediaPlayer = this.mMediaPlayer; if (mediaPlayer != null) { mediaPlayer.start(); } else { this.mStartAfterCreating = true; } } @Override // android.media.MediaPlayer.OnPreparedListener public void onPrepared(MediaPlayer mediaPlayer) { if (this.mStartAfterCreating) { start(); this.mStartAfterCreating = false; } } public void setVideoURL(String str) { setVideoURI(Uri.parse(str)); } public void setVideoURI(Uri uri) { this.mUri = uri; setup(); } public void resume() { MediaPlayer mediaPlayer = this.mMediaPlayer; if (mediaPlayer == null) { Log.e("MoviePlayer", "MPHelper.resume() Media Player is null"); return; } if (this.mSurfaceHolder == null) { Log.e("MoviePlayer", "MPHelper.resume() surface is null"); return; } if (mediaPlayer.isPlaying()) { Log.e("MoviePlayer", "MPHelper.resume() Media player is already playing"); } else if (this.mMediaPlayer.getCurrentPosition() <= 0) { Log.e("MoviePlayer", "MPHelper.resume() Media player has not started"); } else { this.mMediaPlayer.start(); } } public void pause() { if (this.mMediaPlayer != null) { this.mMediaPlayer.pause(); } } private void setup() { openVideo(); requestLayout(); invalidate(); } public void destroy() { MediaPlayer mediaPlayer = this.mMediaPlayer; if (mediaPlayer != null) { mediaPlayer.reset(); this.mMediaPlayer.release(); this.mMediaPlayer = null; } } @Override // android.media.MediaPlayer.OnErrorListener public boolean onError(MediaPlayer mediaPlayer, int i, int i2) { StringBuilder sb = new StringBuilder(); sb.append("onError what: "); sb.append(i); sb.append(" extra: "); sb.append(i2); return true; } @Override // android.media.MediaPlayer.OnVideoSizeChangedListener public void onVideoSizeChanged(MediaPlayer mediaPlayer, int i, int i2) { StringBuilder sb = new StringBuilder(); sb.append("onVideoSizeChanged. videoWidth ("); sb.append(i); sb.append(") videoHeight ("); sb.append(i2); sb.append(")"); if (mediaPlayer != null) { int screenWidth = Platform.getScreenWidth(); Platform.getScreenHeight(); float f = screenWidth; float f2 = (i2 / i) * f; ViewGroup.LayoutParams layoutParams = getLayoutParams(); layoutParams.width = (int) f; layoutParams.height = (int) f2; setLayoutParams(layoutParams); } } } public void play(final String str, long j) { if (msMPHelper != null) { Log.e("RealRacing3", "MoviePlayer Cannot play multiple movies simultaneously"); OnCompletionNative(j); } else { this.mThat = j; mActivity.runOnUiThread(new Runnable() { // from class: com.firemint.realracing.MoviePlayer.1 @Override // java.lang.Runnable public void run() { MoviePlayer.this.mLayout = new RelativeLayout(MoviePlayer.mActivity); MoviePlayer.this.mLayout.setGravity(17); MoviePlayer.mViewGroup.addView(MoviePlayer.this.mLayout); MPHelper mPHelper = MoviePlayer.this.new MPHelper(MoviePlayer.mActivity); MoviePlayer.msMPHelper = mPHelper; mPHelper.setOnCompletionListener(this); MoviePlayer.msMPHelper.requestFocus(); MoviePlayer.msMPHelper.setZOrderOnTop(true); RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(Platform.getScreenWidth(), Platform.getScreenHeight()); layoutParams.leftMargin = 0; layoutParams.topMargin = 0; MoviePlayer.this.mLayout.addView(MoviePlayer.msMPHelper, layoutParams); MoviePlayer.msMPHelper.setVideoURL(str); MoviePlayer.msMPHelper.start(); } }); } } public void stop() { mActivity.runOnUiThread(new Runnable() { // from class: com.firemint.realracing.MoviePlayer.2 @Override // java.lang.Runnable public void run() { MoviePlayer.this.clear(); } }); } public static void pause() { mActivity.runOnUiThread(new Runnable() { // from class: com.firemint.realracing.MoviePlayer.3 @Override // java.lang.Runnable public void run() { MPHelper mPHelper = MoviePlayer.msMPHelper; if (mPHelper != null) { mPHelper.pause(); } } }); } public static void resume() { mActivity.runOnUiThread(new Runnable() { // from class: com.firemint.realracing.MoviePlayer.4 @Override // java.lang.Runnable public void run() { MPHelper mPHelper = MoviePlayer.msMPHelper; if (mPHelper != null) { mPHelper.resume(); } } }); } public void clear() { MPHelper mPHelper = msMPHelper; if (mPHelper != null) { mPHelper.destroy(); this.mLayout.removeView(msMPHelper); mViewGroup.removeView(this.mLayout); this.mLayout = null; msMPHelper = null; } } @Override // android.media.MediaPlayer.OnCompletionListener public void onCompletion(MediaPlayer mediaPlayer) { clear(); MainActivity.instance.getGLView().queueEvent(new Runnable() { // from class: com.firemint.realracing.MoviePlayer.5 @Override // java.lang.Runnable public void run() { MoviePlayer moviePlayer = MoviePlayer.this; moviePlayer.OnCompletionNative(moviePlayer.mThat); } }); } }