同城相亲 v1.1.1版本的 MD5 值为:007e8e047d75ee89cca348774925c94f
以下内容为反编译后的 TCVodPlayerActivity.java 源代码,内容仅作参考
package com.ysxsoft.goddess.videos.play;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.Nullable;
import androidx.fragment.app.FragmentActivity;
import androidx.viewpager.widget.PagerAdapter;
import androidx.viewpager.widget.ViewPager;
import com.bumptech.glide.Glide;
import com.github.like.LikeButton;
import com.github.like.OnLikeListener;
import com.lxj.xpopup.XPopup;
import com.tencent.rtmp.ITXVodPlayListener;
import com.tencent.rtmp.TXLog;
import com.tencent.rtmp.TXVodPlayConfig;
import com.tencent.rtmp.TXVodPlayer;
import com.tencent.rtmp.ui.TXCloudVideoView;
import com.umeng.socialize.common.SocializeConstants;
import com.ysxsoft.goddess.R;
import com.ysxsoft.goddess.api.ApiManager;
import com.ysxsoft.goddess.api.MyHttpCallback;
import com.ysxsoft.goddess.api.MyOkHttpUtils;
import com.ysxsoft.goddess.dialog.PingLunPopupView;
import com.ysxsoft.goddess.dialog.SharePopupView;
import com.ysxsoft.goddess.entity.Constant;
import com.ysxsoft.goddess.ui.BaseActivity;
import com.ysxsoft.goddess.ui.XqbmActivity;
import com.ysxsoft.goddess.utils.BitmapUtils;
import com.ysxsoft.goddess.utils.GetJsonDataUtil;
import com.ysxsoft.goddess.utils.LogUtils;
import com.ysxsoft.goddess.utils.TelephonyUtil;
import com.ysxsoft.goddess.utils.ToastUtils;
import com.ysxsoft.goddess.videos.play.TCVodPlayerActivity;
import de.hdodenhof.circleimageview.CircleImageView;
import fr.castorflex.android.verticalviewpager.VerticalViewPager;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
public class TCVodPlayerActivity extends BaseActivity implements ITXVodPlayListener, TelephonyUtil.OnTelephoneListener {
private static final String TAG = "TCVodPlayerActivity";
private int mCurrentPosition;
private int mInitTCLiveInfoPosition;
private ImageView mIvCover;
private MyPagerAdapter mPagerAdapter;
private List<JSONObject> mTCLiveInfoList = new ArrayList();
private TXCloudVideoView mTXCloudVideoView;
private TXVodPlayer mTXVodPlayer;
private VerticalViewPager mVerticalViewPager;
@Override
public void onNetStatus(TXVodPlayer tXVodPlayer, Bundle bundle) {
}
@Override
public void onCreate(@Nullable Bundle bundle) {
super.onCreate(bundle);
getWindow().addFlags(128);
setContentView(R.layout.tx_activity_player);
initStatusBar(this, true);
showBack(this);
initDatas();
initViews();
initPlayerSDK();
TelephonyUtil.getInstance().setOnTelephoneListener(this);
TelephonyUtil.getInstance().initPhoneListener();
try {
Thread.sleep(500L);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
private void initDatas() {
Intent intent = getIntent();
try {
this.mTCLiveInfoList = GetJsonDataUtil.getList(new JSONArray(intent.getStringExtra(Constant.TCLIVE_INFO_LIST)));
} catch (JSONException e) {
e.printStackTrace();
}
this.mInitTCLiveInfoPosition = intent.getIntExtra(Constant.TCLIVE_INFO_POSITION, 0);
}
private void initViews() {
this.mTXCloudVideoView = (TXCloudVideoView) findViewById(R.id.player_cloud_view);
this.mIvCover = (ImageView) findViewById(R.id.player_iv_cover);
this.mVerticalViewPager = (VerticalViewPager) findViewById(R.id.vertical_view_pager);
this.mVerticalViewPager.setOffscreenPageLimit(2);
this.mVerticalViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrollStateChanged(int i) {
}
@Override
public void onPageScrolled(int i, float f, int i2) {
TXLog.d(TCVodPlayerActivity.TAG, "mVerticalViewPager, onPageScrolled position = " + i);
}
@Override
public void onPageSelected(int i) {
TXLog.d(TCVodPlayerActivity.TAG, "mVerticalViewPager, onPageSelected position = " + i);
TCVodPlayerActivity.this.mCurrentPosition = i;
TXLog.d(TCVodPlayerActivity.TAG, "滑动后,让之前的播放器暂停,mTXVodPlayer = " + TCVodPlayerActivity.this.mTXVodPlayer);
if (TCVodPlayerActivity.this.mTXVodPlayer != null) {
TCVodPlayerActivity.this.mTXVodPlayer.seek(0);
TCVodPlayerActivity.this.mTXVodPlayer.pause();
}
}
});
this.mVerticalViewPager.setPageTransformer(false, new ViewPager.PageTransformer() {
@Override
public void transformPage(View view, float f) {
TXLog.d(TCVodPlayerActivity.TAG, "mVerticalViewPager, transformPage pisition = " + f + " mCurrentPosition" + TCVodPlayerActivity.this.mCurrentPosition);
if (f != 0.0f) {
return;
}
ViewGroup viewGroup = (ViewGroup) view;
TCVodPlayerActivity.this.mIvCover = (ImageView) viewGroup.findViewById(R.id.player_iv_cover);
TCVodPlayerActivity.this.mTXCloudVideoView = (TXCloudVideoView) viewGroup.findViewById(R.id.player_cloud_view);
PlayerInfo findPlayerInfo = TCVodPlayerActivity.this.mPagerAdapter.findPlayerInfo(TCVodPlayerActivity.this.mCurrentPosition);
if (findPlayerInfo != null) {
findPlayerInfo.vodPlayer.resume();
TCVodPlayerActivity.this.mTXVodPlayer = findPlayerInfo.vodPlayer;
}
}
});
this.mPagerAdapter = new MyPagerAdapter();
this.mVerticalViewPager.setAdapter(this.mPagerAdapter);
}
public class MyPagerAdapter extends PagerAdapter {
ArrayList<PlayerInfo> playerInfoList = new ArrayList<>();
@Override
public boolean isViewFromObject(View view, Object obj) {
return view == obj;
}
MyPagerAdapter() {
}
protected PlayerInfo instantiatePlayerInfo(int i) {
LogUtils.d("instantiatePlayerInfo " + i);
PlayerInfo playerInfo = new PlayerInfo();
TXVodPlayer tXVodPlayer = new TXVodPlayer(TCVodPlayerActivity.this);
tXVodPlayer.setRenderRotation(0);
tXVodPlayer.setRenderMode(1);
tXVodPlayer.setVodListener(TCVodPlayerActivity.this);
TXVodPlayConfig tXVodPlayConfig = new TXVodPlayConfig();
File externalFilesDir = TCVodPlayerActivity.this.getExternalFilesDir(null);
if (externalFilesDir != null) {
tXVodPlayConfig.setCacheFolderPath(externalFilesDir.getAbsolutePath() + "/txcache");
}
tXVodPlayConfig.setMaxCacheItems(5);
tXVodPlayer.setConfig(tXVodPlayConfig);
tXVodPlayer.setAutoPlay(false);
try {
playerInfo.playURL = ((JSONObject) TCVodPlayerActivity.this.mTCLiveInfoList.get(i)).getString("video");
} catch (JSONException e) {
e.printStackTrace();
}
playerInfo.vodPlayer = tXVodPlayer;
playerInfo.pos = i;
this.playerInfoList.add(playerInfo);
return playerInfo;
}
protected void destroyPlayerInfo(int i) {
while (true) {
PlayerInfo findPlayerInfo = findPlayerInfo(i);
if (findPlayerInfo == null) {
return;
}
findPlayerInfo.vodPlayer.stopPlay(true);
this.playerInfoList.remove(findPlayerInfo);
LogUtils.d("destroyPlayerInfo " + i);
}
}
public PlayerInfo findPlayerInfo(int i) {
for (int i2 = 0; i2 < this.playerInfoList.size(); i2++) {
PlayerInfo playerInfo = this.playerInfoList.get(i2);
if (playerInfo.pos == i) {
return playerInfo;
}
}
return null;
}
public PlayerInfo findPlayerInfo(TXVodPlayer tXVodPlayer) {
for (int i = 0; i < this.playerInfoList.size(); i++) {
PlayerInfo playerInfo = this.playerInfoList.get(i);
if (playerInfo.vodPlayer == tXVodPlayer) {
return playerInfo;
}
}
return null;
}
public void onDestroy() {
Iterator<PlayerInfo> it = this.playerInfoList.iterator();
while (it.hasNext()) {
it.next().vodPlayer.stopPlay(true);
}
this.playerInfoList.clear();
}
@Override
public int getCount() {
return TCVodPlayerActivity.this.mTCLiveInfoList.size();
}
@Override
public Object instantiateItem(ViewGroup viewGroup, int i) {
LogUtils.d("MyPagerAdapter instantiateItem, position = " + i);
final JSONObject jSONObject = (JSONObject) TCVodPlayerActivity.this.mTCLiveInfoList.get(i);
View inflate = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.tx_activity_view_player_content, (ViewGroup) null);
inflate.setId(i);
inflate.findViewById(R.id.iv_xqbm).setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
TCVodPlayerActivity.MyPagerAdapter.this.lambda$instantiateItem$0$TCVodPlayerActivity$MyPagerAdapter(view);
}
});
inflate.findViewById(R.id.iv_share).setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
TCVodPlayerActivity.MyPagerAdapter.this.lambda$instantiateItem$1$TCVodPlayerActivity$MyPagerAdapter(view);
}
});
inflate.findViewById(R.id.iv_pinglun).setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
TCVodPlayerActivity.MyPagerAdapter.this.lambda$instantiateItem$2$TCVodPlayerActivity$MyPagerAdapter(jSONObject, view);
}
});
((LikeButton) inflate.findViewById(R.id.likeBtn)).setOnLikeListener(new OnLikeListener() {
@Override
public void liked(LikeButton likeButton) {
try {
TCVodPlayerActivity.this.videoStar(jSONObject.getString("video_id"), likeButton);
} catch (JSONException e) {
e.printStackTrace();
}
}
@Override
public void unLiked(LikeButton likeButton) {
try {
TCVodPlayerActivity.this.videoStar(jSONObject.getString("video_id"), likeButton);
} catch (JSONException e) {
e.printStackTrace();
}
}
});
final LikeButton likeButton = (LikeButton) inflate.findViewById(R.id.favBtn);
likeButton.setOnLikeListener(new OnLikeListener() {
@Override
public void liked(LikeButton likeButton2) {
try {
TCVodPlayerActivity.this.videoFav(jSONObject.getString(SocializeConstants.TENCENT_UID), likeButton);
} catch (JSONException e) {
e.printStackTrace();
}
}
@Override
public void unLiked(LikeButton likeButton2) {
try {
TCVodPlayerActivity.this.videoFav(jSONObject.getString(SocializeConstants.TENCENT_UID), likeButton);
} catch (JSONException e) {
e.printStackTrace();
}
}
});
ImageView imageView = (ImageView) inflate.findViewById(R.id.player_iv_cover);
if (TCVodPlayerActivity.this.mIvCover == null) {
imageView.setVisibility(8);
TCVodPlayerActivity.this.mIvCover = imageView;
}
try {
BitmapUtils.blurBgPic(TCVodPlayerActivity.this, imageView, jSONObject.getString("cover_image"), R.mipmap.icon_img);
} catch (JSONException e) {
e.printStackTrace();
}
try {
Glide.with((FragmentActivity) TCVodPlayerActivity.this).load(jSONObject.getString("avatar")).into((CircleImageView) inflate.findViewById(R.id.player_civ_avatar));
} catch (JSONException e2) {
e2.printStackTrace();
}
TextView textView = (TextView) inflate.findViewById(R.id.tv_name);
try {
textView.setText("@" + jSONObject.getString("username"));
} catch (JSONException e3) {
e3.printStackTrace();
}
try {
((TextView) inflate.findViewById(R.id.tv_title)).setText(jSONObject.getString("title"));
} catch (JSONException e4) {
e4.printStackTrace();
}
final ImageView imageView2 = (ImageView) inflate.findViewById(R.id.iv_video_play_btn);
TXCloudVideoView tXCloudVideoView = (TXCloudVideoView) inflate.findViewById(R.id.player_cloud_view);
final PlayerInfo instantiatePlayerInfo = instantiatePlayerInfo(i);
instantiatePlayerInfo.playerView = tXCloudVideoView;
instantiatePlayerInfo.vodPlayer.setPlayerView(tXCloudVideoView);
instantiatePlayerInfo.vodPlayer.startPlay(instantiatePlayerInfo.playURL);
tXCloudVideoView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (instantiatePlayerInfo.vodPlayer.isPlaying()) {
instantiatePlayerInfo.vodPlayer.pause();
imageView2.setVisibility(0);
return;
}
instantiatePlayerInfo.vodPlayer.resume();
imageView2.setVisibility(8);
}
});
viewGroup.addView(inflate);
return inflate;
}
public void lambda$instantiateItem$0$TCVodPlayerActivity$MyPagerAdapter(View view) {
TCVodPlayerActivity tCVodPlayerActivity = TCVodPlayerActivity.this;
tCVodPlayerActivity.startActivity(new Intent(tCVodPlayerActivity, XqbmActivity.class));
}
public void lambda$instantiateItem$1$TCVodPlayerActivity$MyPagerAdapter(View view) {
new XPopup.Builder(TCVodPlayerActivity.this).asCustom(new SharePopupView(TCVodPlayerActivity.this).setTitle("欢迎加入同城相亲相亲平台").setDescr("相亲找对象就上同城相亲APP,女神男神任你挑选,七大相亲专场让您快速脱单").setImgUrl("http://app.chinameinv.com.cn/assets/img/logo.jpg").setUrl("https://app.chinameinv.com.cn/app.html")).show();
}
public void lambda$instantiateItem$2$TCVodPlayerActivity$MyPagerAdapter(JSONObject jSONObject, View view) {
try {
new XPopup.Builder(TCVodPlayerActivity.this).autoFocusEditText(false).asCustom(new PingLunPopupView(TCVodPlayerActivity.this, "", "", jSONObject.getString("video_id"))).show();
} catch (JSONException e) {
e.printStackTrace();
}
}
@Override
public void destroyItem(ViewGroup viewGroup, int i, Object obj) {
LogUtils.d("MyPagerAdapter destroyItem, position = " + i);
destroyPlayerInfo(i);
viewGroup.removeView((View) obj);
}
}
private void initPlayerSDK() {
this.mVerticalViewPager.setCurrentItem(this.mInitTCLiveInfoPosition);
}
private void restartPlay() {
TXVodPlayer tXVodPlayer = this.mTXVodPlayer;
if (tXVodPlayer != null) {
tXVodPlayer.resume();
}
}
@Override
public void onResume() {
super.onResume();
TXCloudVideoView tXCloudVideoView = this.mTXCloudVideoView;
if (tXCloudVideoView != null) {
tXCloudVideoView.onResume();
}
TXVodPlayer tXVodPlayer = this.mTXVodPlayer;
if (tXVodPlayer != null) {
tXVodPlayer.resume();
}
}
@Override
public void onPause() {
super.onPause();
TXCloudVideoView tXCloudVideoView = this.mTXCloudVideoView;
if (tXCloudVideoView != null) {
tXCloudVideoView.onPause();
}
TXVodPlayer tXVodPlayer = this.mTXVodPlayer;
if (tXVodPlayer != null) {
tXVodPlayer.pause();
}
}
@Override
public void onDestroy() {
super.onDestroy();
TXCloudVideoView tXCloudVideoView = this.mTXCloudVideoView;
if (tXCloudVideoView != null) {
tXCloudVideoView.onDestroy();
this.mTXCloudVideoView = null;
}
this.mPagerAdapter.onDestroy();
stopPlay(true);
this.mTXVodPlayer = null;
TelephonyUtil.getInstance().uninitPhoneListener();
}
protected void stopPlay(boolean z) {
TXVodPlayer tXVodPlayer = this.mTXVodPlayer;
if (tXVodPlayer != null) {
tXVodPlayer.stopPlay(z);
}
}
@Override
public void onPlayEvent(TXVodPlayer tXVodPlayer, int i, Bundle bundle) {
if (i == 2009) {
bundle.getInt("EVT_PARAM1");
bundle.getInt("EVT_PARAM2");
} else if (i == 2006) {
restartPlay();
} else if (i == 2003) {
PlayerInfo findPlayerInfo = this.mPagerAdapter.findPlayerInfo(tXVodPlayer);
if (findPlayerInfo != null) {
findPlayerInfo.isBegin = true;
}
if (this.mTXVodPlayer == tXVodPlayer) {
LogUtils.i("onPlayEvent, event I FRAME, player = " + tXVodPlayer);
this.mIvCover.setVisibility(8);
}
} else if (i == 2013) {
if (this.mTXVodPlayer == tXVodPlayer) {
LogUtils.i("onPlayEvent, event prepared, player = " + tXVodPlayer);
this.mTXVodPlayer.resume();
}
} else if (i == 2004) {
PlayerInfo findPlayerInfo2 = this.mPagerAdapter.findPlayerInfo(tXVodPlayer);
if (findPlayerInfo2 == null || !findPlayerInfo2.isBegin) {
return;
}
this.mIvCover.setVisibility(8);
LogUtils.d("onPlayEvent, event begin, cover remove");
} else if (i < 0) {
if (this.mTXVodPlayer == tXVodPlayer) {
LogUtils.i("onPlayEvent, event prepared, player = " + tXVodPlayer);
}
ToastUtils.showToast("event:" + i, 0);
}
}
@Override
public void onRinging() {
TXVodPlayer tXVodPlayer = this.mTXVodPlayer;
if (tXVodPlayer != null) {
tXVodPlayer.setMute(true);
}
}
@Override
public void onOffhook() {
TXVodPlayer tXVodPlayer = this.mTXVodPlayer;
if (tXVodPlayer != null) {
tXVodPlayer.setMute(true);
}
}
@Override
public void onIdle() {
TXVodPlayer tXVodPlayer = this.mTXVodPlayer;
if (tXVodPlayer != null) {
tXVodPlayer.setMute(false);
}
}
public void videoStar(String str, final LikeButton likeButton) {
HashMap hashMap = new HashMap();
hashMap.put("video_id", str);
MyOkHttpUtils.post(ApiManager.VIDEO_STAR, hashMap).execute(new MyHttpCallback() {
@Override
public void onError(String str2) {
ToastUtils.showToast(str2, 0);
}
@Override
public void onSuccess(JSONObject jSONObject) {
try {
ToastUtils.showToast(jSONObject.getString("msg"), 0);
if (jSONObject.getJSONObject("data").getInt("liked") == 1) {
likeButton.setLiked(true);
} else {
likeButton.setLiked(false);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
});
}
public void videoFav(String str, final LikeButton likeButton) {
HashMap hashMap = new HashMap();
hashMap.put(SocializeConstants.TENCENT_UID, str);
MyOkHttpUtils.post(ApiManager.VIDEO_FAV, hashMap).execute(new MyHttpCallback() {
@Override
public void onError(String str2) {
ToastUtils.showToast(str2, 0);
}
@Override
public void onSuccess(JSONObject jSONObject) {
try {
ToastUtils.showToast(jSONObject.getString("msg"), 0);
if (jSONObject.getJSONObject("data").getInt("is_favorite") == 1) {
likeButton.setLiked(true);
} else {
likeButton.setLiked(false);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
});
}
}