admin
2021-08-28 900a28b47a7b4ce1d52c6dd7d0aa7614306c6ccc
视频播放bug修复
6个文件已修改
170 ■■■■ 已修改文件
app/AndroidManifest.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/build.gradle 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/video_detail_activity.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/com/hanju/video/app/ui/media/VideoDetailActivity.java 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/com/hanju/video/app/ui/mine/AboutUsActivity.java 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/com/hanju/video/app/ui/mine/BrowserActivity.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/AndroidManifest.xml
@@ -229,7 +229,7 @@
            android:value="570f28a578d6e12cba6f7f200b8d1c83"></meta-data>
        <meta-data
            android:name="UMENG_CHANNEL"
            android:value="vivo"></meta-data>
            android:value="meizu"></meta-data>
        <provider
app/build.gradle
@@ -75,8 +75,8 @@
    }
    defaultConfig {
        applicationId "com.hanju.video"
        versionCode 96
        versionName "2.0.2"
        versionCode 97
        versionName "2.0.3"
        multiDexEnabled = true
        minSdkVersion 19
        targetSdkVersion 27
app/res/layout/video_detail_activity.xml
@@ -21,8 +21,7 @@
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/v_status_bar"
            android:background="@color/bg_download_so">
            android:background="@color/top_bar_color">
            <FrameLayout
                android:id="@+id/fragment_video_parser"
app/src/com/hanju/video/app/ui/media/VideoDetailActivity.java
@@ -219,6 +219,8 @@
            resourceId = bundle.getString("ResourceId");
            detailid = bundle.getString("DetailId");
        }
        //TODO 测试
        videoInfo.setId("8457562");
        if (!StringUtils.isNumeric(videoInfo.getId())) {
            iv_favourite.setVisibility(View.GONE);
        } else {
@@ -351,59 +353,26 @@
            return;
        }
        mAquery.id(R.id.pb_loading).visibility(View.VISIBLE);
        //开始解析视频
        String tempUrl = "https://www.hmtv.me/vplay/MTEzMS0xLTA=.html";
//        String tempUrl = "https://www.hmtv.me/vplay/MTEwMC0zLTE=.html";
        List<VideoPlayUrlParseFragment.ParseParams> parseParams = new ArrayList<>();
        String js = "function parseResult(url, data) {console.log(data);  try {var result =JSON.parse( data);if (result.code == 200) {return result.url.replace('/\"/g', '');}} catch (e) {if (url.indexOf('.m3u8') > -1) { return url;}}return null;};";
//        String js = "function parseResult(url) {return url;}";
//
//
//        if (1 > 0)
//            return;
        parseParams.add(new VideoPlayUrlParseFragment.ParseParams("^(https://){1}.*(\\.m3u8)$", js, false));
        parseParams.add(new VideoPlayUrlParseFragment.ParseParams("^(https://chaoren\\.sc2yun\\.com/superman\\.php)", js, true));
        videoPlayUrlParseFragment.startParse(tempUrl, parseParams, new VideoPlayUrlParseFragment.IVideoParseListener() {
            @Override
            public void onSuccess(String result) {
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        mAquery.id(R.id.pb_loading).visibility(View.GONE);
                        if (mVideoPlayerFragment == null) {
                            mVideoPlayerFragment = VideoPlayerFragment.newInstance("测试标题", tempUrl, result);
                            getSupportFragmentManager().beginTransaction().replace(R.id.fl_player, mVideoPlayerFragment).commitAllowingStateLoss();
                        } else
                            mVideoPlayerFragment.setVideoInfo("测试标题", tempUrl, result);
                    }
                });
            }
            @Override
            public void onFail(String msg) {
            }
        });
        if (1 > 0)
            return;
        if (playUrl.getPlayType() != 1) {//测试
            setViewOrientation();
        }
//        if (playUrl.getPlayType() != 1) {//测试
//            setViewOrientation();
//        }
        for (int i = 0; i < videoInfo.getResourceList().size(); i++) {
            if (playUrl.getResource().getId().equalsIgnoreCase(videoInfo.getResourceList().get(i).getId())) {
                videoInfo.getResourceList().get(i).setChecked(true);
            } else {
                videoInfo.getResourceList().get(i).setChecked(false);
            }
        }
        if (mVideoPlayerFragment != null) {
            getSupportFragmentManager().beginTransaction().remove(mVideoPlayerFragment).commitAllowingStateLoss();
            mVideoPlayerFragment = null;
        }
        if (playUrl.getResource().getName().contains("爱奇艺")) {
            if (playUrl != null) {
@@ -447,6 +416,63 @@
                intent.putExtra("url", playUrl.getUrl());
                startActivity(intent);
                saveWatchHistory("风行");
            }
        } else if (playUrl.getResource().getName().contains("韩迷")) {
            if (playUrl.getPlayType() == 0) {
                Toast.makeText(VideoDetailActivity.this, "此节目不可播!",
                        Toast.LENGTH_LONG).show();
                return;
            } else if (playUrl.getPlayType() == 1) {
                Intent intent = new Intent(VideoDetailActivity.this,
                        FXBrowserActivity.class);
                intent.putExtra("url", playUrl.getUrl());
                startActivity(intent);
                saveWatchHistory(playUrl.getResource().getName());
            } else if (playUrl.getPlayType() == 2) {
                //原生播放
                mAquery.id(R.id.pb_loading).visibility(View.VISIBLE);
                //开始解析视频
                String tempUrl = playUrl.getUrl();
                List<VideoPlayUrlParseFragment.ParseParams> parseParams = new ArrayList<>();
                String js = "function parseResult(url, data) {console.log(data);  try {var result =JSON.parse( data);if (result.code == 200) {return result.url.replace('/\"/g', '');}} catch (e) {if (url.indexOf('.m3u8') > -1) { return url;}}return null;};";
                parseParams.add(new VideoPlayUrlParseFragment.ParseParams("^(https://){1}.*(\\.m3u8)$", js, false));
                parseParams.add(new VideoPlayUrlParseFragment.ParseParams("^(https://chaoren\\.sc2yun\\.com/superman\\.php)", js, true));
                videoPlayUrlParseFragment.startParse(tempUrl, parseParams, new VideoPlayUrlParseFragment.IVideoParseListener() {
                    @Override
                    public void onSuccess(String result) {
                        runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                mAquery.id(R.id.pb_loading).visibility(View.GONE);
                                VideoDetailInfo detailInfo = null;
                                if (mPosition < videoInfo.getVideoDetailList().size())
                                    detailInfo = videoInfo.getVideoDetailList().get(mPosition);
                                String videoName = videoInfo.getName();
                                if (detailInfo != null && !videoName.equalsIgnoreCase(detailInfo.getTag())) {
                                    videoName += " " + detailInfo.getTag();
                                }
                                if (mVideoPlayerFragment == null) {
                                    mVideoPlayerFragment = VideoPlayerFragment.newInstance(videoName, tempUrl, result);
                                    getSupportFragmentManager().beginTransaction().replace(R.id.fl_player, mVideoPlayerFragment).commitAllowingStateLoss();
                                } else
                                    mVideoPlayerFragment.setVideoInfo(videoName, tempUrl, result);
                            }
                        });
                    }
                    @Override
                    public void onFail(String msg) {
                    }
                });
                saveWatchHistory(playUrl.getResource().getName());
            }
        } else {
            if (playUrl.getPlayType() == 0) {
@@ -832,9 +858,13 @@
                                initResource();
                                Glide.with(getApplicationContext())
                                        .load(videoInfo.getPlayPicture()).apply(new RequestOptions().centerCrop()).into(target);
                                if (StringUtils.isEmpty(videoInfo.getPlayPicture())) {
                                    Glide.with(getApplicationContext())
                                            .load(videoInfo.getPicture()).apply(new RequestOptions().centerCrop()).into(target);
                                } else {
                                    Glide.with(getApplicationContext())
                                            .load(videoInfo.getPlayPicture()).apply(new RequestOptions().centerCrop()).into(target);
                                }
                                if (isSetup) {
                                    int position = getIntent().getIntExtra(
                                            "playing_position", 0);
app/src/com/hanju/video/app/ui/mine/AboutUsActivity.java
@@ -1,49 +1,23 @@
package com.hanju.video.app.ui.mine;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Bundle;
import android.text.SpannableStringBuilder;
import android.text.Spanned;
import android.text.style.TextAppearanceSpan;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.androidquery.AQuery;
import com.bumptech.glide.Glide;
import com.hanju.video.app.R;
import com.hanju.video.app.entity.SDCardEntity;
import com.hanju.video.app.ui.BaseActivity;
import com.hanju.video.app.ui.login.PersonInfoActivity;
import com.hanju.video.app.ui.main.MineFragment;
import com.hanju.video.app.util.ConfigUtil;
import com.hanju.video.app.util.common.AppConfigUtil;
import com.hanju.video.app.util.HanJuConstant;
import com.hanju.video.app.util.SDCardUtil;
import com.hanju.video.app.util.XGPush;
import com.hanju.video.app.util.ui.StatusBarUtil;
import com.hanju.video.app.widget.BadgeView;
import com.lcjian.library.util.common.StringUtils;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.umeng.analytics.MobclickAgent;
import com.umeng.socialize.UMAuthListener;
import com.umeng.socialize.UMShareAPI;
import com.umeng.socialize.bean.SHARE_MEDIA;
import com.ysh.wpc.appupdate.AppUpdate;
import java.util.Map;
import com.hanju.update.appupdate.AppUpdate;
public class AboutUsActivity extends BaseActivity implements OnClickListener {
@@ -119,10 +93,10 @@
            }
            break;
            case R.id.rl_contact_us:
                startActivity(new Intent(this, BrowserActivity.class).putExtra("url", ConfigUtil.getConcatUsLink(getApplicationContext())));
                startActivity(new Intent(this, BrowserActivity.class).putExtra("url", AppConfigUtil.getConcatUsLink(getApplicationContext())));
                break;
            case R.id.rl_unregister:
                startActivity(new Intent(this, BrowserActivity.class).putExtra("url", ConfigUtil.getUnRegisterLink(getApplicationContext())));
                startActivity(new Intent(this, BrowserActivity.class).putExtra("url", AppConfigUtil.getUnRegisterLink(getApplicationContext())));
                break;
            case R.id.tv_user_protocol:
                startActivity(new Intent(this, BrowserActivity.class).putExtra("url", HanJuConstant.USER_AGREEMENT));
app/src/com/hanju/video/app/ui/mine/BrowserActivity.java
@@ -258,7 +258,6 @@
        if (!StringUtils.isNullOrEmpty(wholeTitle)) {
            tv_top_bar_middle.setText(wholeTitle);
        }
        webview.loadUrl("https://www.hmtv.me/vplay/MjY3LTEtMQ==.html");
    }
    // 文件下载监听