package com.fyber.inneractive.sdk.player.mediaplayer; import android.content.Context; import android.media.MediaPlayer; import android.os.Handler; import android.os.HandlerThread; import android.os.Looper; import android.view.Surface; import android.view.SurfaceHolder; import com.fyber.inneractive.sdk.util.IAlog; import com.fyber.inneractive.sdk.util.p; import java.util.Locale; import java.util.concurrent.ScheduledThreadPoolExecutor; /* loaded from: classes2.dex */ public final class a extends MediaPlayer implements MediaPlayer.OnPreparedListener, MediaPlayer.OnCompletionListener, MediaPlayer.OnErrorListener, MediaPlayer.OnSeekCompleteListener, MediaPlayer.OnVideoSizeChangedListener { public final Context a; public final Handler h; public k i; public Surface j; public SurfaceHolder k; public long l; public HandlerThread n; public Handler o; public c p; public b q; public volatile com.fyber.inneractive.sdk.player.enums.b b = com.fyber.inneractive.sdk.player.enums.b.Idle; public boolean c = false; public boolean d = false; public boolean e = false; public boolean f = false; public boolean g = false; public int m = 0; public int r = 0; public int s = 0; public int t = 0; /* renamed from: com.fyber.inneractive.sdk.player.mediaplayer.a$a, reason: collision with other inner class name */ public class RunnableC0101a implements Runnable { public final /* synthetic */ int a; public final /* synthetic */ int b; public RunnableC0101a(int i, int i2) { this.a = i; this.b = i2; } @Override // java.lang.Runnable public final void run() { ScheduledThreadPoolExecutor scheduledThreadPoolExecutor; if (a.this.i != null) { String format = String.format(Locale.ENGLISH, "Player Error: %d, %d", Integer.valueOf(this.a), Integer.valueOf(this.b)); k kVar = a.this.i; l lVar = new l(format); com.fyber.inneractive.sdk.player.controller.i iVar = (com.fyber.inneractive.sdk.player.controller.i) kVar; iVar.a(com.fyber.inneractive.sdk.player.enums.b.Error); IAlog.a("%sonPlayerError called with: %s for onPlayerError", IAlog.a(iVar), lVar); iVar.i.post(new com.fyber.inneractive.sdk.player.controller.g(iVar, lVar)); com.fyber.inneractive.sdk.player.d dVar = iVar.h; if (dVar == null || (scheduledThreadPoolExecutor = dVar.b) == null) { return; } scheduledThreadPoolExecutor.shutdownNow(); dVar.b = null; } } } public class b implements Runnable { public b() { } @Override // java.lang.Runnable public final void run() { a.a(a.this); } } public class c implements Runnable { public c() { } @Override // java.lang.Runnable public final void run() { IAlog.a("%sCannot wait for video size anymore", a.this.c()); a aVar = a.this; if (aVar.r == 0) { IAlog.a("%sCannot wait for video size anymore. duration is still 0 - aborting", aVar.c()); a aVar2 = a.this; aVar2.onError(aVar2, 0, 0); } else { IAlog.a("%sCannot wait for video size anymore. moving into ready", aVar.c()); a aVar3 = a.this; aVar3.f = true; aVar3.d(); } } } public class d implements Runnable { public final /* synthetic */ SurfaceHolder a; public d(SurfaceHolder surfaceHolder) { this.a = surfaceHolder; } @Override // java.lang.Runnable public final void run() { a.a(a.this, this.a); } } public class e implements Runnable { public final /* synthetic */ Surface a; public e(Surface surface) { this.a = surface; } @Override // java.lang.Runnable public final void run() { a.a(a.this, this.a); } } public class f implements Runnable { public f() { } @Override // java.lang.Runnable public final void run() { a.b(a.this); Handler handler = a.this.o; if (handler != null) { handler.removeCallbacksAndMessages(null); a.this.o = null; } a.this.n = null; Looper.myLooper().quit(); } } public class g implements Runnable { public g() { } @Override // java.lang.Runnable public final void run() { a.this.f(); } } public class h implements Runnable { public h() { } @Override // java.lang.Runnable public final void run() { a.c(a.this); } } public class i implements Runnable { public i() { } @Override // java.lang.Runnable public final void run() { a.d(a.this); } } public class j implements Runnable { public j() { } @Override // java.lang.Runnable public final void run() { a aVar = a.this; String c = aVar.c(); long currentTimeMillis = System.currentTimeMillis(); aVar.setVolume(0.0f, 0.0f); IAlog.e(c + "timelog: mute took " + (System.currentTimeMillis() - currentTimeMillis) + " msec", new Object[0]); } } public interface k { } public static class l extends Exception { public l(String str) { super(str); } public l(String str, Throwable th) { super(str, th); } } public a(Context context, k kVar, Handler handler) { this.a = context; this.i = kVar; this.h = handler; setOnPreparedListener(this); setOnErrorListener(this); setOnSeekCompleteListener(this); setOnVideoSizeChangedListener(this); super.setOnCompletionListener(this); a(); } public static void c(a aVar) { String c2 = aVar.c(); long currentTimeMillis = System.currentTimeMillis(); com.fyber.inneractive.sdk.player.enums.b bVar = aVar.b; if (bVar == com.fyber.inneractive.sdk.player.enums.b.Paused || bVar == com.fyber.inneractive.sdk.player.enums.b.Prepared || bVar == com.fyber.inneractive.sdk.player.enums.b.Completed || bVar == com.fyber.inneractive.sdk.player.enums.b.Start_in_progress) { super.start(); aVar.a(com.fyber.inneractive.sdk.player.enums.b.Playing); } else { IAlog.a("%s Start called in wrong mState! %s", aVar.c(), bVar); if (aVar.b == com.fyber.inneractive.sdk.player.enums.b.Seeking) { aVar.c = true; } } IAlog.e(c2 + "timelog: start took " + (System.currentTimeMillis() - currentTimeMillis) + " msec", new Object[0]); } public static void d(a aVar) { String c2 = aVar.c(); long currentTimeMillis = System.currentTimeMillis(); if (super.isPlaying()) { super.pause(); } else { IAlog.a("%s paused called cannot set to pause, canceled", aVar.c()); } IAlog.e(c2 + "timelog: delayed pause took " + (System.currentTimeMillis() - currentTimeMillis) + " msec", new Object[0]); } public final void a(String str) { String c2 = c(); long currentTimeMillis = System.currentTimeMillis(); this.f = false; this.g = false; if (isPlaying()) { IAlog.a("%s loadUri stopping play before refresh", c()); stop(); } this.l = System.currentTimeMillis(); f(); IAlog.a("%s calling setDataSource with %s", c(), str); try { setDataSource(str); IAlog.a("%s setDataSource succeeded, calling prepareAsync", c()); a(com.fyber.inneractive.sdk.player.enums.b.Preparing); try { prepareAsync(); } catch (IllegalStateException e2) { IAlog.b("%s prepareAsync failed with illegal mState exception: %s", c(), e2.getMessage()); this.m++; if (this.m < 5) { a(str); } this.m = 0; } IAlog.e(c2 + "timelog: loadUri took " + (System.currentTimeMillis() - currentTimeMillis) + " msec", new Object[0]); } catch (Exception e3) { IAlog.b("%s error setting data source %s", c(), str); IAlog.b("%s exception message: %s", c(), e3.getMessage()); } } public final boolean b() { return (this.b == com.fyber.inneractive.sdk.player.enums.b.Idle || this.b == com.fyber.inneractive.sdk.player.enums.b.Preparing) ? false : true; } public final void f() { String c2 = c(); long currentTimeMillis = System.currentTimeMillis(); com.fyber.inneractive.sdk.player.enums.b bVar = this.b; com.fyber.inneractive.sdk.player.enums.b bVar2 = com.fyber.inneractive.sdk.player.enums.b.Idle; if (bVar == bVar2) { IAlog.a("%s reset called, but player is already resetted. Do nothing", c()); return; } a(bVar2); try { super.reset(); } catch (Exception unused) { } IAlog.e(c2 + "timelog: reset took " + (System.currentTimeMillis() - currentTimeMillis) + " msec", new Object[0]); } @Override // android.media.MediaPlayer public final int getCurrentPosition() { if (b()) { return super.getCurrentPosition(); } return 0; } @Override // android.media.MediaPlayer public final int getDuration() { return this.r; } @Override // android.media.MediaPlayer public final int getVideoHeight() { return this.t; } @Override // android.media.MediaPlayer public final int getVideoWidth() { return this.s; } @Override // android.media.MediaPlayer public final boolean isPlaying() { return b() && this.b != com.fyber.inneractive.sdk.player.enums.b.Paused && super.isPlaying(); } @Override // android.media.MediaPlayer.OnCompletionListener public final void onCompletion(MediaPlayer mediaPlayer) { a(com.fyber.inneractive.sdk.player.enums.b.Completed); } @Override // android.media.MediaPlayer.OnErrorListener public final boolean onError(MediaPlayer mediaPlayer, int i2, int i3) { IAlog.f("%s onError code = %d code2 = %d", c(), Integer.valueOf(i2), Integer.valueOf(i3)); f(); this.h.post(new RunnableC0101a(i2, i3)); return true; } @Override // android.media.MediaPlayer.OnPreparedListener public final void onPrepared(MediaPlayer mediaPlayer) { IAlog.a("%s onPrepared %s gotPrepared = %s", c(), this, Boolean.valueOf(this.g)); IAlog.a("%sMedia prepare time took %d msec", c(), Long.valueOf(System.currentTimeMillis() - this.l)); if (this.b != com.fyber.inneractive.sdk.player.enums.b.Preparing && this.b != com.fyber.inneractive.sdk.player.enums.b.Seeking) { IAlog.f("%s onPrepared: previous error encountered. Aborting", c()); } else if (this.g) { IAlog.a("%s onPrepared called again??? We are already prepared", c()); } else { this.g = true; d(); } } @Override // android.media.MediaPlayer.OnSeekCompleteListener public final void onSeekComplete(MediaPlayer mediaPlayer) { IAlog.a("%s onSeekComplete called current position = %d", c(), Integer.valueOf(mediaPlayer.getCurrentPosition())); if (this.b != com.fyber.inneractive.sdk.player.enums.b.Seeking) { IAlog.a("%s onSeekComplete called when Story is not seeking", c()); return; } if (this.d) { e(); } if (!this.c) { IAlog.a("%s onSeekComplete mPlayAfterSeek = false", c()); a(com.fyber.inneractive.sdk.player.enums.b.Paused); } else { IAlog.a("%s onSeekComplete mPlayAfterSeek = true", c()); this.b = com.fyber.inneractive.sdk.player.enums.b.Paused; start(); } } @Override // android.media.MediaPlayer.OnVideoSizeChangedListener public final void onVideoSizeChanged(MediaPlayer mediaPlayer, int i2, int i3) { IAlog.a("%s onVideoSizeChanged %d, %d", c(), Integer.valueOf(i2), Integer.valueOf(i3)); if (this.f) { return; } c cVar = this.p; if (cVar != null) { p.b.removeCallbacks(cVar); IAlog.a("%s onVideoSizeChanged cancelling prepared runnable", c()); } this.f = true; if (i2 == 0 || i3 == 0) { IAlog.f("%s onVideoSizeChanged - Invalid video size!", c()); onError(this, 0, 0); } else { IAlog.a("%sMedia got video size time took %d msec", c(), Long.valueOf(System.currentTimeMillis() - this.l)); this.s = i2; this.t = i3; d(); } } @Override // android.media.MediaPlayer public final void pause() { if (this.b != com.fyber.inneractive.sdk.player.enums.b.Idle && this.b != com.fyber.inneractive.sdk.player.enums.b.Completed) { com.fyber.inneractive.sdk.player.enums.b bVar = this.b; com.fyber.inneractive.sdk.player.enums.b bVar2 = com.fyber.inneractive.sdk.player.enums.b.Paused; if (bVar != bVar2 && this.b != com.fyber.inneractive.sdk.player.enums.b.Prepared) { a(bVar2); if (b()) { a(new i()); } else { IAlog.a("%s paused called when player is not ready!", c()); } IAlog.a("%s pause", c()); return; } } IAlog.a("%s paused called when player is in mState: %s ignoring", c(), this.b); } @Override // android.media.MediaPlayer public final void reset() { IAlog.a("%s reset called", c()); c cVar = this.p; if (cVar != null) { p.b.removeCallbacks(cVar); } a(new g()); } @Override // android.media.MediaPlayer public final void setDisplay(SurfaceHolder surfaceHolder) { IAlog.a("%s setDisplay called", c()); if (!b()) { IAlog.a("%s setDisplay called when player is not ready!", c()); return; } SurfaceHolder surfaceHolder2 = this.k; if (surfaceHolder2 != null && surfaceHolder2.equals(surfaceHolder)) { IAlog.a("%s setDisplay called with existing surface. ignoring!", c()); } else { this.k = surfaceHolder; a(new d(surfaceHolder)); } } @Override // android.media.MediaPlayer public final void setOnCompletionListener(MediaPlayer.OnCompletionListener onCompletionListener) { throw new IllegalAccessError("Please use IAplayerCallbacks to receive completion events"); } @Override // android.media.MediaPlayer public final void setSurface(Surface surface) { IAlog.a("%s setSurface called", c()); Surface surface2 = this.j; if (surface2 != null && surface2.equals(surface)) { IAlog.a("%s setSurface called with existing surface. ignoring!", c()); } else { this.j = surface; a(new e(surface)); } } @Override // android.media.MediaPlayer public final void start() { IAlog.a("%s Start called", c()); if (!b()) { IAlog.a("%s MediaPlayer: Start called when player is not ready! - mState = %s", c(), this.b); return; } if (this.b == com.fyber.inneractive.sdk.player.enums.b.Seeking) { this.c = true; } else if (isPlaying()) { IAlog.a("%s MediaPlayer: Start called when player is already playing. do nothing", c()); } else { a(com.fyber.inneractive.sdk.player.enums.b.Start_in_progress); a(new h()); } } @Override // android.media.MediaPlayer public final void stop() { String c2 = c(); long currentTimeMillis = System.currentTimeMillis(); if (b()) { super.stop(); } IAlog.a("%s stop called", c()); IAlog.e(c2 + "timelog: stop took " + (System.currentTimeMillis() - currentTimeMillis) + " msec", new Object[0]); } public static void b(a aVar) { String c2 = aVar.c(); long currentTimeMillis = System.currentTimeMillis(); super.release(); IAlog.e(c2 + "timelog: release took " + (System.currentTimeMillis() - currentTimeMillis) + " msec", new Object[0]); } public final void e() { this.d = true; if (b()) { a(new j()); } else { IAlog.a("%s mute called when player is not ready!", c()); } IAlog.a("%s mute", c()); } @Override // android.media.MediaPlayer public final void release() { if (!this.e) { a(new f()); } this.i = null; this.q = null; this.e = true; IAlog.a("%s release called", c()); } public final void d() { if (this.g) { if (this.f) { IAlog.a("%sMedia load time took %d msec", c(), Long.valueOf(System.currentTimeMillis() - this.l)); this.r = super.getDuration(); a(com.fyber.inneractive.sdk.player.enums.b.Prepared); if (this.d) { e(); return; } return; } IAlog.a("%sGot prepared only, waiting for video size", c()); if (this.p == null) { this.p = new c(); } p.b.postDelayed(this.p, 2000L); } } public final String c() { return "mp(" + this + "): T:" + Thread.currentThread().getId() + "-" + Thread.currentThread().getName() + ": "; } public final void a() { HandlerThread handlerThread = new HandlerThread("MP-Worker"); this.n = handlerThread; handlerThread.start(); this.o = new Handler(this.n.getLooper()); this.q = new b(); } public final void a(com.fyber.inneractive.sdk.player.enums.b bVar) { IAlog.a("%s updatePlayerState - %s", c(), bVar); if (this.b == bVar) { IAlog.a("%s updatePlayerState - mState didn't change!", c()); return; } IAlog.a("%s updatePlayerState - changing from %s to %s", c(), this.b, bVar); this.b = bVar; this.h.post(new com.fyber.inneractive.sdk.player.mediaplayer.b(this, bVar)); } public static void a(a aVar, Surface surface) { String c2 = aVar.c(); long currentTimeMillis = System.currentTimeMillis(); IAlog.a("%s setSurface called with %s", aVar.c(), surface); try { super.setSurface(surface); if (surface == null) { IAlog.a("%s setSurface with null! current surface cleared", aVar.c()); } else { IAlog.a("%s setSurface - replacing surface!", aVar.c()); } IAlog.e(c2 + "timelog: setSurface took " + (System.currentTimeMillis() - currentTimeMillis) + " msec", new Object[0]); } catch (Exception unused) { IAlog.a("%s super.setSurface threw exception!", aVar.c()); } } public static void a(a aVar, SurfaceHolder surfaceHolder) { String c2 = aVar.c(); long currentTimeMillis = System.currentTimeMillis(); IAlog.a("%s setDisplay called with %s", aVar.c(), surfaceHolder); try { super.setDisplay(surfaceHolder); if (surfaceHolder == null) { IAlog.a("%s setDisplay with null! current display cleared", aVar.c()); } else { IAlog.a("%s setDisplay - replacing surface holder!", aVar.c()); } IAlog.e(c2 + "timelog: setDisplayInternal took " + (System.currentTimeMillis() - currentTimeMillis) + " msec", new Object[0]); } catch (Exception unused) { IAlog.a("%s super.setDisplay threw exception!", aVar.c()); } } public final void a(Runnable runnable) { Handler handler; Handler handler2; HandlerThread handlerThread = this.n; if (handlerThread != null && handlerThread.isAlive() && !this.n.isInterrupted() && (handler2 = this.o) != null) { handler2.post(runnable); } if ((this.s == 0 || this.t == 0 || this.r == 0) && (handler = this.o) != null) { handler.post(this.q); } } public static void a(a aVar) { if (aVar.b()) { aVar.s = super.getVideoWidth(); aVar.t = super.getVideoHeight(); aVar.r = super.getDuration(); } } }