同城相亲 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();
                }
            }
        });
    }
}