MediaViewPlayerView.java 源代码
package com.mbridge.msdk.nativex.view;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.SurfaceTexture;
import android.graphics.drawable.AnimationDrawable;
import android.os.Handler;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.Surface;
import android.view.TextureView;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.view.animation.DecelerateInterpolator;
import android.webkit.URLUtil;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import com.anythink.expressad.foundation.g.h;
import com.mbridge.msdk.foundation.entity.CampaignEx;
import com.mbridge.msdk.foundation.same.c.c;
import com.mbridge.msdk.foundation.tools.k;
import com.mbridge.msdk.foundation.tools.q;
import com.mbridge.msdk.foundation.tools.x;
import com.mbridge.msdk.out.Campaign;
import com.mbridge.msdk.playercommon.VideoNativePlayer;
import com.mbridge.msdk.playercommon.VideoPlayerStatusListener;
import com.mbridge.msdk.videocommon.view.MyImageView;
import com.x8zs.plugin.apache.http.HttpHost;
import java.io.File;
import java.util.Timer;
import java.util.TimerTask;
public class MediaViewPlayerView extends LinearLayout implements VideoPlayerStatusListener {
private static Handler F = new Handler();
private String A;
private String B;
private CampaignEx C;
private com.mbridge.msdk.nativex.listener.a D;
private Timer E;
private com.mbridge.msdk.videocommon.download.a G;
private VideoNativePlayer H;
private a I;
private boolean J;
private boolean f17937a;
private boolean f17938b;
private boolean f17939c;
private boolean f17940d;
private boolean f17941e;
private boolean f17942f;
private boolean f17943g;
private boolean f17944h;
private boolean f17945i;
private boolean f17946j;
private boolean f17947k;
private volatile int f17948l;
private boolean f17949m;
private boolean f17950n;
private TextureView f17951o;
private LinearLayout f17952p;
private Surface f17953q;
private ProgressBar f17954r;
private MyImageView f17955s;
private ImageView f17956t;
private ImageView f17957u;
private ImageView f17958v;
private ImageView f17959w;
private View f17960x;
private AnimationDrawable f17961y;
private AlphaAnimation f17962z;
public static class a {
private MediaViewPlayerView f17970a;
public a(MediaViewPlayerView mediaViewPlayerView) {
this.f17970a = mediaViewPlayerView;
}
public void a() {
try {
MediaViewPlayerView mediaViewPlayerView = this.f17970a;
if (mediaViewPlayerView != null && !mediaViewPlayerView.f17946j) {
q.b("MediaViewPlayerView", "play end and display endcardView");
this.f17970a.e();
}
} catch (Exception e6) {
q.d("MediaViewPlayerView", e6.getMessage());
}
}
}
public class b implements TextureView.SurfaceTextureListener {
private b() {
}
@Override
public final void onSurfaceTextureAvailable(SurfaceTexture surfaceTexture, int i6, int i7) {
try {
MediaViewPlayerView.this.f17953q = new Surface(surfaceTexture);
MediaViewPlayerView.this.f17943g = true;
MediaViewPlayerView.this.f17945i = true;
if (MediaViewPlayerView.this.f17940d) {
if (MediaViewPlayerView.this.f17944h) {
MediaViewPlayerView.this.f17939c = false;
MediaViewPlayerView.this.f17944h = false;
}
if (!MediaViewPlayerView.this.isComplete() && !MediaViewPlayerView.this.f17941e) {
MediaViewPlayerView.this.startOrPlayVideo();
return;
}
MediaViewPlayerView.this.e();
return;
}
if (MediaViewPlayerView.this.f17938b) {
if (MediaViewPlayerView.this.hasPrepare() && MediaViewPlayerView.this.isComplete()) {
MediaViewPlayerView.this.e();
return;
}
MediaViewPlayerView.this.startOrPlayVideo();
return;
}
if (MediaViewPlayerView.this.hasPrepare() && !MediaViewPlayerView.this.isComplete()) {
MediaViewPlayerView.this.startOrPlayVideo();
return;
}
MediaViewPlayerView.this.e();
} catch (Exception e6) {
q.d("MediaViewPlayerView", e6.getMessage());
}
}
@Override
public final boolean onSurfaceTextureDestroyed(SurfaceTexture surfaceTexture) {
try {
if (MediaViewPlayerView.this.H != null && MediaViewPlayerView.this.H.isPlayIng()) {
MediaViewPlayerView.this.pause();
}
MediaViewPlayerView.this.f17939c = true;
MediaViewPlayerView.this.f17943g = false;
} catch (Throwable th) {
q.d("MediaViewPlayerView", th.getMessage());
}
return true;
}
@Override
public final void onSurfaceTextureSizeChanged(SurfaceTexture surfaceTexture, int i6, int i7) {
q.b("MediaViewPlayerView", "onSurfaceTextureSizeChanged ");
}
@Override
public final void onSurfaceTextureUpdated(SurfaceTexture surfaceTexture) {
}
}
public MediaViewPlayerView(Context context) {
super(context);
this.f17937a = false;
this.f17938b = false;
this.f17939c = false;
this.f17940d = false;
this.f17941e = false;
this.f17942f = false;
this.f17943g = false;
this.f17944h = true;
this.f17945i = false;
this.f17946j = true;
this.f17947k = false;
this.f17948l = -1;
this.f17949m = true;
this.f17950n = true;
this.J = false;
a();
}
private void g() {
ImageView imageView;
if (this.f17940d || (imageView = this.f17959w) == null || imageView.getVisibility() == 0 || !this.f17949m) {
return;
}
this.f17959w.setVisibility(0);
}
public void closeSound() {
this.f17947k = false;
try {
if (this.H != null) {
this.f17958v.setImageResource(k.a(getContext(), "mbridge_nativex_sound_close", h.f3993c));
this.H.closeSound();
}
} catch (Throwable th) {
q.d("MediaViewPlayerView", th.getMessage());
}
}
public boolean curIsFullScreen() {
return this.f17940d;
}
public Campaign getCampaign() {
return this.C;
}
public boolean getIsActiviePause() {
return this.f17941e;
}
public void gonePauseView() {
Handler handler = F;
if (handler != null) {
handler.post(new Runnable() {
@Override
public final void run() {
try {
MediaViewPlayerView.this.k();
MediaViewPlayerView.this.j();
} catch (Exception e6) {
q.d("MediaViewPlayerView", e6.getMessage());
}
}
});
}
}
public boolean halfLoadingViewisVisible() {
try {
VideoNativePlayer videoNativePlayer = this.H;
if (videoNativePlayer != null) {
if (videoNativePlayer.loadingViewIsVisible()) {
return true;
}
return false;
}
return false;
} catch (Throwable th) {
q.d("MediaViewPlayerView", th.getMessage());
return false;
}
}
public boolean hasPrepare() {
try {
VideoNativePlayer videoNativePlayer = this.H;
if (videoNativePlayer != null) {
return videoNativePlayer.hasPrepare();
}
return false;
} catch (Throwable th) {
q.d("MediaViewPlayerView", th.getMessage());
return false;
}
}
public boolean initPlayerViewData(String str, CampaignEx campaignEx, boolean z6, VideoPlayerStatusListener videoPlayerStatusListener, com.mbridge.msdk.videocommon.download.a aVar, String str2) {
try {
} catch (Exception e6) {
q.d("MediaViewPlayerView", e6.getMessage());
this.f17937a = false;
}
if (TextUtils.isEmpty(str) || campaignEx == null) {
return false;
}
this.B = str;
this.f17938b = z6;
this.C = campaignEx;
this.G = aVar;
this.A = str2;
this.H.initParameter(campaignEx.getVideoUrlEncode(), true, this.f17946j, this.f17955s, videoPlayerStatusListener);
try {
CampaignEx campaignEx2 = this.C;
if (campaignEx2 != null) {
String imageUrl = campaignEx2.getImageUrl();
if (!x.a(imageUrl) && getContext() != null) {
if (com.mbridge.msdk.foundation.same.c.b.a(getContext()).b(imageUrl)) {
Bitmap a7 = com.mbridge.msdk.foundation.same.c.b.a(com.mbridge.msdk.foundation.controller.a.e().g()).a(imageUrl);
MyImageView myImageView = this.f17955s;
if (myImageView != null && a7 != null) {
myImageView.setImageUrl(imageUrl);
this.f17955s.setImageBitmap(a7);
this.f17955s.setVisibility(0);
}
} else {
com.mbridge.msdk.foundation.same.c.b.a(getContext()).a(imageUrl, new c() {
@Override
public final void onFailedLoad(String str3, String str4) {
}
@Override
public final void onSuccessLoad(Bitmap bitmap, String str3) {
if (MediaViewPlayerView.this.f17955s != null && bitmap != null) {
MediaViewPlayerView.this.f17955s.setImageUrl(str3);
MediaViewPlayerView.this.f17955s.setImageBitmap(bitmap);
}
}
});
}
}
}
} catch (Throwable th) {
q.d("MediaViewPlayerView", th.getMessage());
}
this.f17937a = true;
return true;
}
public boolean isComplete() {
try {
VideoNativePlayer videoNativePlayer = this.H;
if (videoNativePlayer != null) {
return videoNativePlayer.isComplete();
}
return false;
} catch (Throwable th) {
q.d("MediaViewPlayerView", th.getMessage());
return false;
}
}
public boolean isPlaying() {
try {
VideoNativePlayer videoNativePlayer = this.H;
if (videoNativePlayer != null) {
return videoNativePlayer.isPlaying();
}
return false;
} catch (Throwable th) {
q.d("MediaViewPlayerView", th.getMessage());
return false;
}
}
@Override
public void onBufferingEnd() {
}
@Override
public void onBufferingStart(String str) {
}
public void onClickPlayButton() {
com.mbridge.msdk.nativex.listener.a aVar;
try {
f();
j();
setIsComplete(false);
if (this.f17942f) {
this.H.play();
} else if (hasPrepare() && !this.f17939c) {
q.b("MediaViewPlayerView", "startOrPlayVideo() hasPrepare():" + hasPrepare() + " mIsNeedToRepeatPrepare:" + this.f17939c);
startOrPlayVideo();
} else {
q.b("MediaViewPlayerView", "点击播放 playVideo()");
playVideo();
}
if (this.f17941e && (aVar = this.D) != null) {
aVar.d();
}
this.f17941e = false;
} catch (Throwable th) {
q.a("MediaViewPlayerView", th.getMessage(), th);
}
}
public void onClickPlayerView() {
ImageView imageView;
try {
MyImageView myImageView = this.f17955s;
if ((myImageView != null && myImageView.getVisibility() == 0) || !isPlaying() || (imageView = this.f17957u) == null) {
return;
}
if (imageView.getVisibility() == 0) {
gonePauseView();
l();
return;
}
AlphaAnimation alphaAnimation = this.f17962z;
if (alphaAnimation != null) {
alphaAnimation.cancel();
}
AlphaAnimation alphaAnimation2 = new AlphaAnimation(0.0f, 1.0f);
this.f17962z = alphaAnimation2;
alphaAnimation2.setDuration(300L);
this.f17962z.setInterpolator(new DecelerateInterpolator());
this.f17962z.setAnimationListener(new Animation.AnimationListener() {
@Override
public final void onAnimationEnd(Animation animation) {
MediaViewPlayerView.this.f17957u.setVisibility(0);
MediaViewPlayerView.g(MediaViewPlayerView.this);
}
@Override
public final void onAnimationRepeat(Animation animation) {
}
@Override
public final void onAnimationStart(Animation animation) {
}
});
i();
this.f17960x.startAnimation(this.f17962z);
} catch (Throwable th) {
q.d("MediaViewPlayerView", th.getMessage());
}
}
@Override
public void onPlayCompleted() {
if (this.D != null && !TextUtils.isEmpty(this.B)) {
this.D.b(this.B);
}
a aVar = this.I;
if (aVar != null) {
aVar.a();
return;
}
try {
if (!this.f17946j) {
e();
}
} catch (Exception e6) {
q.d("MediaViewPlayerView", e6.getMessage());
}
}
@Override
public void onPlayError(String str) {
try {
this.f17939c = true;
e();
if (!this.J) {
this.H.play(getContext(), this.B, this.f17953q);
this.J = true;
}
} catch (Exception e6) {
q.d("MediaViewPlayerView", e6.getMessage());
}
}
@Override
public void onPlayProgress(int i6, int i7) {
try {
f();
g();
this.f17941e = false;
this.f17939c = false;
this.f17948l = i6;
} catch (Throwable th) {
q.a("MediaViewPlayerView", th.getMessage(), th);
}
}
@Override
public void onPlayProgressMS(int i6, int i7) {
try {
ProgressBar progressBar = this.f17954r;
if (progressBar != null && progressBar.getVisibility() == 0) {
if (i7 > 0) {
this.f17954r.setMax(i7);
}
if (i6 >= 0) {
this.f17954r.setProgress(i6 + 1);
}
}
} catch (Throwable th) {
q.d("MediaViewPlayerView", th.getMessage());
}
}
@Override
public void onPlaySetDataSourceError(String str) {
try {
this.f17939c = true;
try {
if (!URLUtil.isNetworkUrl(this.B)) {
String videoUrlEncode = this.C.getVideoUrlEncode();
if (x.b(videoUrlEncode)) {
this.B = videoUrlEncode;
}
}
} catch (Throwable th) {
q.d("MediaViewPlayerView", th.getMessage());
}
} catch (Exception e6) {
q.d("MediaViewPlayerView", e6.getMessage());
}
}
@Override
public void onPlayStarted(int i6) {
if (this.D != null && !TextUtils.isEmpty(this.B)) {
this.D.a(this.B);
}
}
public void openSound() {
this.f17947k = true;
try {
if (this.H != null) {
this.f17958v.setImageResource(k.a(getContext(), "mbridge_nativex_sound_open", h.f3993c));
this.H.openSound();
}
} catch (Throwable th) {
q.d("MediaViewPlayerView", th.getMessage());
}
}
public void pause() {
try {
VideoNativePlayer videoNativePlayer = this.H;
if (videoNativePlayer != null) {
videoNativePlayer.pause();
this.f17942f = true;
}
h();
} catch (Throwable th) {
q.d("MediaViewPlayerView", th.getMessage());
}
}
public void playVideo() {
try {
if (!this.f17937a || this.H == null) {
return;
}
if (!this.f17943g) {
e();
return;
}
if ((!TextUtils.isEmpty(this.B) && this.B.startsWith(HttpHost.DEFAULT_SCHEME_NAME)) || this.B.startsWith("https")) {
this.B = m();
}
f();
this.H.play(getContext(), this.B, this.f17953q);
if (this.f17942f || this.f17941e) {
this.f17942f = false;
}
if (this.f17947k) {
this.H.openSound();
} else {
this.H.closeSound();
}
this.f17939c = false;
} catch (Throwable th) {
q.d("MediaViewPlayerView", th.getMessage());
}
}
public void release() {
try {
VideoNativePlayer videoNativePlayer = this.H;
if (videoNativePlayer != null) {
videoNativePlayer.releasePlayer();
this.H = null;
}
} catch (Throwable th) {
q.d("MediaViewPlayerView", th.getMessage());
}
}
public void setAllowLoopPlay(boolean z6) {
this.f17946j = z6;
}
public void setEnterFullScreen() {
try {
q.b("MediaViewPlayerView", "setEnterFullScreen");
this.f17940d = true;
this.f17944h = true;
this.f17958v.setVisibility(0);
h();
} catch (Throwable th) {
q.a("MediaViewPlayerView", th.getMessage(), th);
}
}
public void setExitFullScreen() {
try {
this.f17940d = false;
this.f17939c = false;
this.f17958v.setVisibility(8);
g();
f();
} catch (Throwable th) {
q.a("MediaViewPlayerView", th.getMessage(), th);
}
}
public void setIsActivePause(boolean z6) {
this.f17941e = z6;
}
public void setIsComplete(boolean z6) {
try {
VideoNativePlayer videoNativePlayer = this.H;
if (videoNativePlayer != null) {
videoNativePlayer.setIsComplete(z6);
}
} catch (Throwable th) {
q.d("MediaViewPlayerView", th.getMessage());
}
}
public void setIsFrontDesk(boolean z6) {
try {
VideoNativePlayer videoNativePlayer = this.H;
if (videoNativePlayer != null) {
videoNativePlayer.setIsFrontDesk(z6);
}
} catch (Throwable th) {
q.d("MediaViewPlayerView", th.getMessage());
}
}
public void setMediaViewPlayListener(a aVar) {
this.I = aVar;
}
public void setOnMediaViewPlayerViewListener(com.mbridge.msdk.nativex.listener.a aVar) {
this.D = aVar;
}
public void showPlayView() {
this.f17956t.setVisibility(0);
}
public void showProgressView(boolean z6) {
int i6;
this.f17950n = z6;
ProgressBar progressBar = this.f17954r;
if (progressBar != null) {
if (z6) {
i6 = 0;
} else {
i6 = 4;
}
progressBar.setVisibility(i6);
}
}
public void showSoundIndicator(boolean z6) {
this.f17949m = z6;
if (z6) {
g();
} else {
h();
}
}
public void startOrPlayVideo() {
try {
if (!this.f17943g) {
e();
return;
}
if (!hasPrepare()) {
playVideo();
return;
}
try {
if (this.H != null) {
f();
if (this.f17945i) {
this.H.start(this.f17953q);
this.f17945i = false;
} else {
this.H.start();
}
if (this.f17942f || this.f17941e) {
this.f17942f = false;
}
}
} catch (Throwable th) {
q.a("MediaViewPlayerView", th.getMessage(), th);
}
} catch (Exception e6) {
q.d("MediaViewPlayerView", e6.getMessage());
}
}
public void stop() {
try {
VideoNativePlayer videoNativePlayer = this.H;
if (videoNativePlayer != null) {
videoNativePlayer.stop();
}
h();
} catch (Exception e6) {
q.d("MediaViewPlayerView", e6.getMessage());
}
}
private void f() {
try {
this.f17955s.setVisibility(8);
this.f17956t.setVisibility(8);
j();
showProgressView(this.f17950n);
} catch (Throwable th) {
q.d("MediaViewPlayerView", th.getMessage());
}
}
private void h() {
if (this.f17959w.getVisibility() == 0) {
this.f17959w.setVisibility(8);
}
}
public void i() {
this.f17960x.setVisibility(0);
}
public void j() {
if (this.f17956t.getVisibility() != 0) {
this.f17960x.setVisibility(8);
}
}
public void k() {
this.f17957u.setVisibility(8);
}
private void l() {
try {
Handler handler = F;
if (handler != null) {
handler.removeCallbacksAndMessages(null);
}
Timer timer = this.E;
if (timer != null) {
timer.cancel();
}
} catch (Exception e6) {
q.d("MediaViewPlayerView", e6.getMessage());
}
}
private String m() {
CampaignEx campaignEx;
String str;
try {
campaignEx = this.C;
} catch (Exception e6) {
q.d("MediaViewPlayerView", e6.getMessage());
}
if (campaignEx == null) {
return null;
}
try {
if (this.G == null) {
if (campaignEx.getAdType() != 287 && this.C.getAdType() != 94) {
str = this.C.getId() + this.C.getVideoUrlEncode() + this.C.getBidToken();
this.G = com.mbridge.msdk.videocommon.download.c.getInstance().a(this.A, str);
}
str = this.C.getRequestId() + this.C.getId() + this.C.getVideoUrlEncode();
this.G = com.mbridge.msdk.videocommon.download.c.getInstance().a(this.A, str);
}
} catch (Exception e7) {
q.d("MediaViewPlayerView", e7.getMessage());
}
com.mbridge.msdk.videocommon.download.a aVar = this.G;
if (aVar != null && aVar.f() == 5) {
String d6 = this.G.d();
if (new File(d6).exists()) {
return d6;
}
}
String videoUrlEncode = this.C.getVideoUrlEncode();
if (x.b(videoUrlEncode)) {
return videoUrlEncode;
}
return null;
}
private void b() {
VideoNativePlayer videoNativePlayer = new VideoNativePlayer();
this.H = videoNativePlayer;
videoNativePlayer.setSelfVideoFeedsPlayerListener(this);
}
private void c() {
try {
View inflate = LayoutInflater.from(getContext()).inflate(k.a(getContext(), "mbridge_nativex_playerview", "layout"), (ViewGroup) null);
if (inflate != null) {
this.f17952p = (LinearLayout) inflate.findViewById(k.a(getContext(), "mbridge_ll_loading", "id"));
TextureView textureView = (TextureView) inflate.findViewById(k.a(getContext(), "mbridge_textureview", "id"));
this.f17951o = textureView;
textureView.setKeepScreenOn(true);
this.f17951o.setSurfaceTextureListener(new b());
this.f17954r = (ProgressBar) inflate.findViewById(k.a(getContext(), "mbridge_progress", "id"));
this.f17955s = (MyImageView) inflate.findViewById(k.a(getContext(), "mbridge_iv_playend_pic", "id"));
this.f17956t = (ImageView) inflate.findViewById(k.a(getContext(), "mbridge_iv_play", "id"));
this.f17957u = (ImageView) inflate.findViewById(k.a(getContext(), "mbridge_iv_pause", "id"));
this.f17958v = (ImageView) inflate.findViewById(k.a(getContext(), "mbridge_iv_sound", "id"));
this.f17960x = inflate.findViewById(k.a(getContext(), "mbridge_view_cover", "id"));
ImageView imageView = (ImageView) inflate.findViewById(k.a(getContext(), "mbridge_iv_sound_animation", "id"));
this.f17959w = imageView;
AnimationDrawable animationDrawable = (AnimationDrawable) imageView.getDrawable();
this.f17961y = animationDrawable;
animationDrawable.start();
d();
addView(inflate, -1, -1);
}
} catch (Throwable th) {
q.d("MediaViewPlayerView", th.getMessage());
}
}
private void d() {
this.f17958v.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
try {
if (MediaViewPlayerView.this.f17947k) {
MediaViewPlayerView.this.closeSound();
if (MediaViewPlayerView.this.D != null) {
MediaViewPlayerView.this.D.a();
}
} else {
MediaViewPlayerView.this.openSound();
if (MediaViewPlayerView.this.D != null) {
MediaViewPlayerView.this.D.b();
}
}
} catch (Throwable th) {
q.d("MediaViewPlayerView", th.getMessage());
}
}
});
this.f17957u.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
try {
MediaViewPlayerView.this.pause();
MediaViewPlayerView.this.f17956t.setVisibility(0);
MediaViewPlayerView.this.i();
MediaViewPlayerView.this.k();
if (MediaViewPlayerView.this.D != null) {
MediaViewPlayerView.this.D.c();
}
MediaViewPlayerView.this.f17941e = true;
} catch (Throwable th) {
q.a("MediaViewPlayerView", th.getMessage(), th);
}
}
});
this.f17956t.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
MediaViewPlayerView.this.onClickPlayButton();
}
});
}
public void e() {
try {
this.f17955s.setVisibility(0);
this.f17956t.setVisibility(0);
i();
k();
this.f17954r.setVisibility(8);
} catch (Throwable th) {
q.d("MediaViewPlayerView", th.getMessage());
}
}
private void a() {
try {
c();
b();
} catch (Exception e6) {
q.d("MediaViewPlayerView", e6.getMessage());
}
}
static void g(MediaViewPlayerView mediaViewPlayerView) {
mediaViewPlayerView.l();
mediaViewPlayerView.E = new Timer();
mediaViewPlayerView.E.schedule(new TimerTask() {
@Override
public final void run() {
try {
MediaViewPlayerView.this.gonePauseView();
} catch (Throwable th) {
q.a("MediaViewPlayerView", th.getMessage(), th);
}
}
}, 2000L);
}
public MediaViewPlayerView(Context context, AttributeSet attributeSet) {
super(context, attributeSet);
this.f17937a = false;
this.f17938b = false;
this.f17939c = false;
this.f17940d = false;
this.f17941e = false;
this.f17942f = false;
this.f17943g = false;
this.f17944h = true;
this.f17945i = false;
this.f17946j = true;
this.f17947k = false;
this.f17948l = -1;
this.f17949m = true;
this.f17950n = true;
this.J = false;
a();
}
}