admin
2021-02-05 7d3f0d02f364e583262aad4b6c6763f8e7b3de81
浏览足迹
15个文件已修改
3个文件已添加
902 ■■■■ 已修改文件
BuWanVideo/build.gradle 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/drawable-xhdpi/icon_video_detail_history.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/drawable/shape_video_detail_vip_btn.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/layout/browser_pptv_activity.xml 88 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoAPI.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/entity/vo/WatchHistoryVO.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/ad/PlayVideoPreADFragment.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/main/MainActivity.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/media/EpisodeFragment.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoDetailActivity.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoDetailActivity2.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/mine/BrowserActivity.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/mine/PPTVPlayFragment.java 155 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/recent/WatchHistoryAdapter.java 499 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/util/BeibeiConstant.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/util/ad/GDTConstant.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/util/browser/BWJavaInterface.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/util/browser/BaseBWJavaInterface.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/build.gradle
@@ -94,8 +94,8 @@
    }
    defaultConfig {
        applicationId "com.doudou.ysvideo"
        versionCode 104
        versionName "3.8.6"
        versionCode 105
        versionName "3.8.7"
        multiDexEnabled = true
        minSdkVersion 17
        targetSdkVersion 27
BuWanVideo/res/drawable-xhdpi/icon_video_detail_history.png
BuWanVideo/res/drawable/shape_video_detail_vip_btn.xml
New file
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient
        android:angle="0"
        android:endColor="#E9CE93"
        android:startColor="#F7EDD7" />
    <corners android:radius="20dp" />
</shape>
BuWanVideo/res/layout/browser_pptv_activity.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#000000"
@@ -25,21 +25,79 @@
        </FrameLayout>
        <LinearLayout
            android:id="@+id/ll_bottom"
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:layout_gravity="bottom"
            android:background="#b4000000"
            android:gravity="center_vertical">
        <TextView
            android:id="@+id/tv_top_bar_left"
            style="@style/TextBuleNormal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentStart="true"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:layout_gravity="left|top"
            android:drawableLeft="@drawable/ic_back_two"
            android:drawablePadding="3dp"
            android:gravity="center"
            android:padding="8dp" />
            <ImageView
                android:id="@+id/iv_add_to_favourite"
                android:layout_width="wrap_content"
                android:layout_height="21dp"
                android:layout_marginLeft="28.5dp"
                android:src="@drawable/selector_favourite" />
            <ImageView
                android:id="@+id/iv_watch_history"
                android:layout_width="wrap_content"
                android:layout_height="21dp"
                android:layout_marginLeft="23.5dp"
                android:src="@drawable/icon_video_detail_history" />
            <View
                android:layout_width="0dp"
                android:layout_height="1dp"
                android:layout_weight="1" />
            <LinearLayout
                android:id="@+id/ll_vip_open"
                android:layout_width="237dp"
                android:layout_height="38dp"
                android:background="@drawable/shape_video_detail_vip_btn"
                android:gravity="center"
                android:orientation="vertical">
                <TextView
                    android:id="@+id/tv_vip_open"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="开通VIP"
                    android:textColor="#ff885e24"
                    android:textSize="15sp" />
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="海量高清无广告"
                    android:textColor="#ff885e24"
                    android:textSize="9sp" />
            </LinearLayout>
        </LinearLayout>
    </FrameLayout>
    <TextView
        android:id="@+id/tv_top_bar_left"
        style="@style/TextBuleNormal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:layout_gravity="left|top"
        android:drawableLeft="@drawable/ic_back_two"
        android:drawablePadding="3dp"
        android:gravity="center"
        android:padding="8dp" />
</LinearLayout>
</FrameLayout>
BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoAPI.java
@@ -1058,13 +1058,16 @@
    }
    public static void getVideoDetail(Context context, String uid,
                                      String ResourceId, String videoId, String loginid, String type,
                                      String ResourceId, String videoId, Integer position, String loginid, String type,
                                      ResponseHandlerInterface handler) {
        LinkedHashMap<String, String> params = new LinkedHashMap<String, String>();
        params.put("Method", "getVideoDetail");
        params.put("Uid", uid);
        params.put("LoginUid", loginid);
        params.put("VideoId", videoId);
        if (position != null) {
            params.put("Position", position+"");
        }
        params.put("ResourceId", ResourceId);
        params.put("Type", type);
        commonPost(context, BASE_URL + "recommend", params, handler);
BuWanVideo/src/com/weikou/beibeivideo/entity/vo/WatchHistoryVO.java
New file
@@ -0,0 +1,53 @@
package com.weikou.beibeivideo.entity.vo;
import com.weikou.beibeivideo.entity.VideoInfo;
public class WatchHistoryVO {
    private String id;
    private Long createTime;
    private VideoInfo videoInfo;
    private int position;
    //选中
    private boolean selected;
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public VideoInfo getVideoInfo() {
        return videoInfo;
    }
    public void setVideoInfo(VideoInfo videoInfo) {
        this.videoInfo = videoInfo;
    }
    public Long getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Long createTime) {
        this.createTime = createTime;
    }
    public int getPosition() {
        return position;
    }
    public void setPosition(int position) {
        this.position = position;
    }
    public boolean isSelected() {
        return selected;
    }
    public void setSelected(boolean selected) {
        this.selected = selected;
    }
}
BuWanVideo/src/com/weikou/beibeivideo/ui/ad/PlayVideoPreADFragment.java
@@ -50,7 +50,7 @@
 */
public class PlayVideoPreADFragment extends Fragment implements View.OnClickListener {
    private int AD_DURATION = 10;
    private int AD_DURATION = 5;
    private final static String TAG = PlayVideoPreADFragment.class.getName();
@@ -165,6 +165,7 @@
        if (AdUtil.getAdType(getContext(), AdUtil.POSITION_VIDEO_PLAY_PRE) != AdUtil.AD_TYPE.gdt)
            pid = BeibeiConstant.GDT_DOWNLOAD_HINT_ID;
        tv_skip.setText(AD_DURATION + "s后可跳过");
//        loadCSJ(CSJConstant.PLAY_VIDEO_PRE, videoAdListener);
        loadGDT(setting.getGdtAppId(), pid, videoAdListener);
    }
BuWanVideo/src/com/weikou/beibeivideo/ui/main/MainActivity.java
@@ -70,6 +70,7 @@
import com.weikou.beibeivideo.util.BeibeiConstant;
import com.weikou.beibeivideo.util.ExitDialog;
import com.weikou.beibeivideo.util.LoginFirstDialog;
import com.weikou.beibeivideo.util.UserUtil;
import com.weikou.beibeivideo.util.ad.manager.SearchResultAdManager;
import com.yeshi.appupdate.AppUpdate;
@@ -262,13 +263,14 @@
                    videoInfo.setId("8065880");
                    videoInfo.setThirdType("0");
                    Intent intent = new Intent(MainActivity.this, VideoDetailActivity2.class);
                    intent.putExtra("video_info",videoInfo);
                    intent.putExtra("video_info", videoInfo);
                    startActivity(intent);
                }
            },2000);
            }, 2000);
        }
//        startActivity(new Intent(this, PhoneLoginActivity.class));
        //拉取详情问题
        UserUtil.updateUserInfo(getApplicationContext(), null);
    }
BuWanVideo/src/com/weikou/beibeivideo/ui/media/EpisodeFragment.java
@@ -796,7 +796,7 @@
                "user", Context.MODE_PRIVATE);
        String uid = preferences.getString("uid", "");
        String loginid = preferences.getString("LoginUid", "");
        BeibeiVideoAPI.getVideoDetail(getContext(), uid, resourceId, videoId, loginid,
        BeibeiVideoAPI.getVideoDetail(getContext(), uid, resourceId, videoId,null, loginid,
                videoThirdType, new BasicTextHttpResponseHandler() {
                    @Override
BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoDetailActivity.java
@@ -629,7 +629,7 @@
                Context.MODE_PRIVATE);
        String uid = preferences.getString("uid", "");
        String loginid = preferences.getString("LoginUid", "");
        BeibeiVideoAPI.getVideoDetail(context, uid, resourceId, videoId, loginid,
        BeibeiVideoAPI.getVideoDetail(context, uid, resourceId, videoId,null, loginid,
                videoThirdType, new BasicTextHttpResponseHandler() {
                    @Override
BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoDetailActivity2.java
@@ -730,11 +730,13 @@
    private void getVideoDetail(final Context context, String videoId,
                                String videoThirdType, final boolean isSetup) {
        int position = getIntent().getIntExtra(
                "playing_position", 0);
        SharedPreferences preferences = context.getSharedPreferences("user",
                Context.MODE_PRIVATE);
        String uid = preferences.getString("uid", "");
        String loginid = preferences.getString("LoginUid", "");
        BeibeiVideoAPI.getVideoDetail(context, uid, resourceId, videoId, loginid,
        BeibeiVideoAPI.getVideoDetail(context, uid, resourceId, videoId, position, loginid,
                videoThirdType, new BasicTextHttpResponseHandler() {
                    @Override
@@ -780,9 +782,15 @@
                            JSONObject data = jsonObject.optJSONObject("Data");
                            boolean pptv = data.optBoolean("pptv", false);
                            if (pptv) {
                                String playUrl = data.optString("playUrl");
                                fl_pptv.setVisibility(View.VISIBLE);
                                ll_other.setVerticalGravity(View.GONE);
                                getSupportFragmentManager().beginTransaction().replace(R.id.fl_pptv, new PPTVPlayFragment()).commit();
                                PPTVPlayFragment pptvPlayFragment = new PPTVPlayFragment();
                                Bundle bundle = new Bundle();
                                bundle.putString("playUrl", playUrl);
                                bundle.putString("videoId",data.optString("videoId"));
                                pptvPlayFragment.setArguments(bundle);
                                getSupportFragmentManager().beginTransaction().replace(R.id.fl_pptv, pptvPlayFragment).commit();
                                if (progressDialog.isShowing()) {
                                    progressDialog.dismiss();
                                }
BuWanVideo/src/com/weikou/beibeivideo/ui/mine/BrowserActivity.java
@@ -1,5 +1,6 @@
package com.weikou.beibeivideo.ui.mine;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Notification;
import android.app.NotificationChannel;
@@ -153,6 +154,8 @@
        webview.addJavascriptInterface(new BWJavaInterface(this, webview), "yestv");
    }
    private boolean needSetResult = false;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
@@ -192,6 +195,7 @@
        String url = getIntent().getStringExtra("url");
//        String url="http://192.168.3.122:8848/buwan-web/BuWanWeb/vip/index.html";
        webview.loadUrl(url);
        needSetResult = getIntent().getBooleanExtra("result", false);
    }
    // 文件下载监听
@@ -303,7 +307,7 @@
        super.onResume();
        MobclickAgent.onPageStart("网页");
//        webview.reload();
        if(webview!=null){
        if (webview != null) {
            webview.loadUrl("javascript:onResume()");
        }
    }
@@ -332,19 +336,25 @@
        switch (v.getId()) {
            case R.id.tv_top_bar_left: {
                if (!webview.canGoBack())
                    finish();
                    finishPage();
                else {
                    webview.goBack();
                }
            }
            break;
            case R.id.tv_top_bar_left2: {
                finish();
                finishPage();
            }
            break;
            default:
                break;
        }
    }
    private void finishPage() {
        if (needSetResult)
            setResult(Activity.RESULT_OK);
        finish();
    }
    // 设置回退
@@ -354,6 +364,10 @@
        if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
            webview.goBack(); // goBack()表示返回WebView的上一页面
            return true;
        } else {
            if (keyCode == KeyEvent.KEYCODE_BACK) {
                finishPage();
            }
        }
        return super.onKeyDown(keyCode, event);
    }
BuWanVideo/src/com/weikou/beibeivideo/ui/mine/PPTVPlayFragment.java
@@ -1,18 +1,15 @@
package com.weikou.beibeivideo.ui.mine;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.Notification;
import android.app.NotificationManager;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
import android.net.http.SslError;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.NotificationCompat;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -27,13 +24,15 @@
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.TextView;
import com.lcjian.library.RetainViewFragment;
import com.tencent.smtt.export.external.interfaces.IX5WebChromeClient;
import com.lcjian.library.util.SingleToast;
import com.umeng.analytics.MobclickAgent;
import com.weikou.beibeivideo.BasicTextHttpResponseHandler;
import com.weikou.beibeivideo.BeibeiVideoAPI;
import com.weikou.beibeivideo.BeibeiVideoApplication;
import com.weikou.beibeivideo.R;
import com.weikou.beibeivideo.entity.ad.PlayVideoPreADSetting;
@@ -44,8 +43,12 @@
import com.weikou.beibeivideo.util.ConfigUtil;
import com.weikou.beibeivideo.util.UserUtil;
import com.weikou.beibeivideo.util.ad.AdUtil;
import com.weikou.beibeivideo.util.ad.GDTConstant;
import com.weikou.beibeivideo.util.browser.PPJavaInterface;
import com.weikou.beibeivideo.util.ui.IPageEventListener;
import org.apache.http.Header;
import org.json.JSONObject;
public class PPTVPlayFragment extends RetainViewFragment implements OnClickListener {
    private final static int REQUEST_CODE_LOGIN = 1001;
@@ -59,6 +62,9 @@
    private android.webkit.WebView webview;
    FrameLayout fl_ad;
    FrameLayout fl_container;
    private ImageView iv_favourite, iv_watch_history;
    private LinearLayout ll_bottom, ll_vip_open;
    private TextView tv_vip_open;
    private boolean showAd = true;
@@ -208,12 +214,17 @@
        return R.layout.browser_pptv_activity;
    }
    private String videoId;
    @Override
    public void onCreateView(View contentView, Bundle savedInstanceState) {
        initView(contentView);
        String url = "http://vip.pptv.com/activity/2021/pg_bwysdqmovie?cid=32159127&vid=32159127&programtype=2";
        url = "https://acmd.api.pptv.com/2021/bwysdqmovie_thrid_h5.html?cid=32159127&vid=32159127&programtype=3";
        webview.loadUrl(url);
        Bundle bundle = getArguments();
        if (bundle != null) {
            String url = bundle.getString("playUrl", "");
            videoId = bundle.getString("videoId");
            webview.loadUrl(url);
        }
    }
@@ -222,6 +233,20 @@
        tv_top_bar_left = view.findViewById(R.id.tv_top_bar_left);
        tv_top_bar_left.setOnClickListener(this);
        fl_container = view.findViewById(R.id.fl_container);
        iv_favourite = view.findViewById(R.id.iv_add_to_favourite);
        iv_watch_history = view.findViewById(R.id.iv_watch_history);
        ll_bottom = view.findViewById(R.id.ll_bottom);
        ll_vip_open = view.findViewById(R.id.ll_vip_open);
        tv_vip_open = view.findViewById(R.id.tv_vip_open);
        iv_favourite.setOnClickListener(this);
        iv_watch_history.setOnClickListener(this);
        ll_vip_open.setOnClickListener(this);
        vipDialog = new VIPDialog.Builder(getActivity()).setCloseListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
@@ -231,19 +256,25 @@
            @Override
            public void onClick(View v) {
                vipDialog.dismiss();
                startActivityForResult(new Intent(BeibeiVideoApplication.application, BrowserActivity.class).putExtra("url", ConfigUtil.getVipLink(BeibeiVideoApplication.application)), REQUEST_CODE_VIP);
                jumpToVIP();
            }
        }).create();
    }
        //测试
//        fl_container.postDelayed(new Runnable() {
//            @Override
//            public void run() {
//                getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
//                if (!vipDialog.isShowing())
//                    vipDialog.show();
//            }
//        }, 10000);
    private void jumpToVIP() {
        startActivityForResult(new Intent(BeibeiVideoApplication.application, BrowserActivity.class).putExtra("result", true).putExtra("url", ConfigUtil.getVipLink(BeibeiVideoApplication.application)), REQUEST_CODE_VIP);
    }
    private void initData() {
        if (UserUtil.isVIP(BeibeiVideoApplication.application)) {
            tv_vip_open.setText("VIP续费");
        } else {
            tv_vip_open.setText("开通VIP");
        }
        isCollect();
    }
    Dialog vipDialog;
@@ -252,18 +283,13 @@
    PlayVideoPreADFragment mVideoDetailVideoAdFragment;
    private NotificationManager manager;
    private Notification notif;
    private Notification.Builder oBuilder;
    private NotificationCompat.Builder builder;
    int j = -1;
    @Override
    public void onResume() {
        super.onResume();
        MobclickAgent.onPageStart("网页");
//        webview.reload();
        initData();
    }
    @Override
@@ -291,23 +317,19 @@
            case R.id.tv_top_bar_left: {
                getActivity().finish();
            }
            break;
            case R.id.iv_add_to_favourite:
                collect(collected);
                break;
            case R.id.iv_watch_history:
                startActivity(new Intent(iv_watch_history.getContext(), WatchHistoryActivity.class));
                break;
            case R.id.ll_vip_open:
                jumpToVIP();
                break;
            default:
                break;
        }
    }
    // 设置回退
    // 覆盖Activity类的onKeyDown(int keyCoder,KeyEvent event)方法
//    @Override
//    public boolean onKeyDown(int keyCode, KeyEvent event) {
//        if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
//            webview.goBack(); // goBack()表示返回WebView的上一页面
//            return true;
//        }
//        return super.onKeyDown(keyCode, event);
//    }
    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
@@ -367,7 +389,7 @@
                            getChildFragmentManager().beginTransaction().remove(mVideoDetailVideoAdFragment).commitAllowingStateLoss();
                        adPlayFinish();
                    }
                }, new PlayVideoPreADSetting(AdUtil.AD_TYPE.gdt, BeibeiConstant.GDT_ID, "5061928359494942", null));
                }, new PlayVideoPreADSetting(AdUtil.AD_TYPE.gdt, BeibeiConstant.GDT_ID, GDTConstant.PID_2_VIDEO_DETAIL_PLAYER_PRE_PPTV, null));
            }
        });
@@ -379,4 +401,57 @@
        if (webview != null)
            webview.loadUrl("javascript:adPlayFinish()");
    }
    private boolean collected = false;
    private void isCollect() {
        BeibeiVideoAPI.isCollect(iv_favourite.getContext(), UserUtil.getUid(BeibeiVideoApplication.application), videoId,
                0 + "", new BasicTextHttpResponseHandler() {
                    @Override
                    public void onSuccessPerfect(int statusCode,
                                                 Header[] headers, JSONObject jsonObject)
                            throws Exception {
                        if (jsonObject.getBoolean("IsPost")) {
                            collected = true;
                            iv_favourite.setImageResource(R.drawable.ic_video_detail_favourite2);
                        } else {
                            collected = false;
                            iv_favourite.setImageResource(R.drawable.ic_video_detail_favourite1);
                        }
                    }
                });
    }
    private void collect(boolean cancel) {
        SharedPreferences preferences = getContext().getSharedPreferences(
                "user", Context.MODE_PRIVATE);
        String uid = preferences.getString("uid", "");
        BeibeiVideoAPI.getScoreCollect(getContext(), uid, UserUtil.getLoginUid(BeibeiVideoApplication.application), videoId,
                0+"", cancel ? "0" : "1", new BasicTextHttpResponseHandler() {
                    @Override
                    public void onSuccessPerfect(int statusCode,
                                                 Header[] headers, JSONObject jsonObject)
                            throws Exception {
                        if (jsonObject.getBoolean("IsPost")) {
                            if (!cancel) {
                                collected = true;
                                SingleToast.showToast(getContext(), "收藏成功");
                            } else {
                                collected = false;
                                SingleToast.showToast(getContext(), "取消收藏成功");
                            }
                        } else {
                            if (!cancel) {
                                SingleToast.showToast(getContext(), "收藏失败");
                            } else {
                                SingleToast.showToast(getContext(), "取消收藏失败");
                            }
                        }
                        isCollect();
                    }
                });
    }
}
BuWanVideo/src/com/weikou/beibeivideo/ui/recent/WatchHistoryAdapter.java
@@ -2,15 +2,12 @@
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.support.v4.widget.CursorAdapter;
import android.text.TextUtils;
import android.text.TextUtils.TruncateAt;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.CheckBox;
import android.widget.FrameLayout;
import android.widget.ImageButton;
@@ -18,46 +15,22 @@
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.RequestManager;
import com.google.gson.FieldNamingPolicy;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import com.lcjian.library.util.common.StringUtils;
import com.mozillaonline.providers.DownloadManager;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
import com.nostra13.universalimageloader.core.display.SimpleBitmapDisplayer;
import com.weikou.beibeivideo.R;
import com.weikou.beibeivideo.db.DownloadTable;
import com.weikou.beibeivideo.db.WatchHistoryTable;
import com.weikou.beibeivideo.entity.VideoDetailInfo;
import com.weikou.beibeivideo.entity.VideoInfo;
import com.weikou.beibeivideo.ui.media.VideoDetailActivity;
import com.weikou.beibeivideo.entity.vo.WatchHistoryVO;
import com.weikou.beibeivideo.ui.media.VideoDetailActivity2;
import com.weikou.beibeivideo.util.VideoUtil;
import java.util.ArrayList;
import java.util.Formatter;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
public class WatchHistoryAdapter extends CursorAdapter {
public class WatchHistoryAdapter extends BaseAdapter {
    private RequestManager glide;
    private List<WatchHistoryVO> voList;
    private Context context;
    private StringBuilder mFormatBuilder;
    private Formatter mFormatter;
    private Map<String, VideoInfo> mVideoInfos;
    private List<Long> mSelectedIds;
    private DownloadManager mDownloadManager;
    private Set<String> mSelectedIds = new HashSet<>();
    private boolean mSelectedMode;
    private DownloadAdapter2.IGetDeleteCallback getdeleteNumber = null;
@@ -67,302 +40,14 @@
        this.getdeleteNumber = getdeleteNumber;
    }
    public WatchHistoryAdapter(Context context1, Context context, Cursor c, boolean autoRequery) {
        super(context, c, autoRequery);
        this.mFormatBuilder = new StringBuilder();
        this.mFormatter = new Formatter(mFormatBuilder, Locale.getDefault());
        this.mVideoInfos = new HashMap<String, VideoInfo>();
        this.mSelectedIds = new ArrayList<Long>();
        this.glide = Glide.with(context);
        this.mDownloadManager = new DownloadManager(
                context1.getContentResolver(), context1.getPackageName());
        this.mDownloadManager.setAccessAllDownloads(true);// true
    public WatchHistoryAdapter(Context context, List<WatchHistoryVO> voList) {
        this.voList = voList;
        this.context = context;
    }
    @Override
    public View newView(Context context, Cursor cursor, ViewGroup parent) {
        View view = LayoutInflater.from(parent.getContext()).inflate(
                R.layout.watch_history_item, parent, false);
        ViewHolder holder = new ViewHolder();
        holder.iv_cover = (ImageView) view.findViewById(R.id.iv_cover);
        holder.tv_title = (TextView) view.findViewById(R.id.tv_title);
        holder.tv_watch_time = (TextView) view.findViewById(R.id.tv_watch_time);
//        holder.btn_status = (ImageButton) view.findViewById(R.id.btn_status);
//        holder.chb_watch_history = (CheckBox) view
//                .findViewById(R.id.chb_watch_history);
        holder.btn_delete = (ImageButton) view
                .findViewById(R.id.btn_delete_download);
        holder.chb_delete = (CheckBox) view.findViewById(R.id.chb_delete);
        holder.fl_video_select = (FrameLayout) view
                .findViewById(R.id.fl_video_select);
        view.setTag(holder);
        return view;
    }
    @Override
    public void bindView(View view, Context context, final Cursor cursor) {
        final ViewHolder viewHolder = (ViewHolder) view.getTag();
//        viewHolder.tv_watch_time.setText(cursor.getString(cursor
//                .getColumnIndex(WatchHistoryTable.VIDEO_RESOURCE)) + "");
//        String str = " ";
//        for (int i = 0; i < cursor.getColumnNames().length; i++) {
//            str += (cursor.getColumnNames()[i] + " ");
//        }
//        viewHolder.tv_watch_time.setText(str);
//        Log.i("mResult", "列名为:" + str + "------第1列为:" + cursor.getString(0));
        final Long id = cursor.getLong(cursor
                .getColumnIndex(WatchHistoryTable._ID));
        final String videoId = cursor.getString(cursor
                .getColumnIndex(WatchHistoryTable.VIDEO_ID));
        final String videoDetailId = cursor.getString(cursor
                .getColumnIndex(WatchHistoryTable.VIDEO_DETAIL_ID));
        String videoInfoStr = cursor.getString(cursor
                .getColumnIndexOrThrow(WatchHistoryTable.VIDEO_DETAIL));
        if (!mSelectedMode) {
            viewHolder.fl_video_select.setVisibility(View.GONE);
            view.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    Map<String, VideoInfo> videoInfos = getVideoInfos();
                    VideoInfo videoInfo = videoInfos.get(videoId);
                    if (videoInfo != null) {
                        int playingPosition = 0;
                        for (int i = 0; i < videoInfo.getVideoDetailList()
                                .size(); i++) {
                            VideoDetailInfo item =videoInfo.getVideoDetailList().get(i);
                            if (item.getId().equals(videoDetailId)) {
                                playingPosition = i;
                                break;
                            }
                        }
                        Intent intent = new Intent(v.getContext(),
                                VideoDetailActivity2.class);
                        VideoInfo info = new VideoInfo();
                        info.setId(videoInfo.getId());
                        info.setShare(videoInfo.getShare());
                        info.setThirdType(videoInfo.getThirdType());
                        intent.putExtra("video_info", info);
                        intent.putExtra("video_detail_id", videoDetailId);
                        intent.putExtra("playing_position", playingPosition);
                        intent.putExtra("isFromWatchHistory", true);
                        v.getContext().startActivity(intent);
                    }
                }
            });
            selectAll(false);
            viewHolder.fl_video_select.setVisibility(View.GONE);
            Cursor downloadCursor = context.getContentResolver().query(
                    DownloadTable.CONTENT_URI, null,
                    DownloadTable.VIDEO_ID + " = ? AND "
                            + DownloadTable.VIDEO_DETAIL_ID + " = ? ",
                    new String[]{videoId, videoDetailId}, null);
            if (downloadCursor.moveToFirst()) {
//                viewHolder.chb_watch_history.setVisibility(View.GONE);
//                viewHolder.btn_status.setVisibility(View.GONE);
                DownloadManager.Query baseQuery = new DownloadManager.Query()
                        .setOnlyIncludeVisibleInDownloadsUi(true);
                baseQuery.setFilterById(downloadCursor.getLong(downloadCursor
                        .getColumnIndex(DownloadTable.TASK_ID)));
                Cursor c = mDownloadManager.query(baseQuery);
                if (c.moveToFirst()) {
                    // viewHolder.btn_status.setImageResource(R.drawable.ic_play);
//                    viewHolder.btn_status.setVisibility(View.GONE);
                }
                c.close();
            }
//                else {
//                viewHolder.chb_watch_history.setVisibility(View.INVISIBLE);
//                viewHolder.btn_status.setVisibility(View.VISIBLE);
//                viewHolder.btn_status.setImageResource(R.drawable.ic_download);
//                viewHolder.btn_status.setOnClickListener(new OnClickListener() {
//
//                    @Override
//                    public void onClick(final View v) {
//                        final VideoInfo videoInfo = mVideoInfos.get(videoId);
//
//                        if (!videoInfo.isCanSave()) {
//                            Toast.makeText(mContext, "该视频暂不提供缓存",
//                                    Toast.LENGTH_SHORT).show();
//                            return;
//                        }
//                        viewHolder.btn_status.setVisibility(View.GONE);
//                        if (videoInfo != null) {
//                            VideoDetailInfo videoDetailInfoOrg = null;
//                            for (VideoDetailInfo item : videoInfo
//                                    .getVideoDetailList()) {
//                                if (item.getId().equals(videoDetailId)) {
//                                    videoDetailInfoOrg = item;
//                                    break;
//                                }
//                            }
//                            if (videoDetailInfoOrg != null) {
//                                // 点击下载操作
//                                final DownloadManager downloadManager = new DownloadManager(
//                                        v.getContext().getContentResolver(), v
//                                                .getContext().getPackageName());
//                                final VideoDetailInfo videoDetailInfo = videoDetailInfoOrg;
//                                String url = "";
////                                        VideoPlayUrlUtil.getVideoUrl(
////                                        videoDetailInfo).getUrl();
//                                if (StringUtils.isBlank(videoInfo
//                                        .getExtraData())) {
//                                    videoInfo
//                                            .setExtraData("http://cloud.letv.com");
//                                }
//                                (new GetDownLoadTask(v.getContext()) {
//                                    protected void onPostExecute(String[] result) {
//                                        DownloadManager.Request request = new Request(
//                                                Uri.parse(result[0]));
//                                        try {
//                                            Uri uri = Uri.fromFile(new File(
//                                                    SDCardUtil.getDownLoadPath(v
//                                                            .getContext())));
//                                            request.setDestinationUri(uri);
//                                            request.setUserAgent(result[1]);
//
//                                        } catch (Exception e) {
//                                            e.printStackTrace();
//                                        }
//                                        /*
//                                         * request.setDestinationInExternalPublicDir
//                                         * ( Environment.DIRECTORY_DOWNLOADS,
//                                         * "/");
//                                         */
//                                        Cursor cursor = getContext()
//                                                .getContentResolver()
//                                                .query(DownloadTable.CONTENT_URI,
//                                                        new String[] {
//                                                                DownloadTable.VIDEO_ID,
//                                                                DownloadTable.VIDEO_DETAIL_ID },
//                                                        DownloadTable.VIDEO_DETAIL_ID
//                                                                + "=?",
//                                                        new String[] { videoDetailInfo
//                                                                .getId() + "" },
//                                                        DownloadTable.VIDEO_DETAIL_ID
//                                                                + " ASC");// 查询cursor
//                                        if (cursor.getCount() > 0) {
//                                            cursor.close();
//                                            return;
//                                        }
//                                        cursor.close();
//
//                                        if (getContext().getSharedPreferences(
//                                                "settings",
//                                                Context.MODE_PRIVATE)
//                                                .getBoolean(
//                                                        "only_wifi_download",
//                                                        true)) {
//                                            request.setAllowedNetworkTypes(Request.NETWORK_WIFI);
//                                        }
//                                        request.setTitle(videoInfo.getName());
//                                        request.setDescription(TextUtils
//                                                .isEmpty(videoDetailInfo
//                                                        .getTag()) ? videoDetailInfo
//                                                .getName() : videoDetailInfo
//                                                .getTag());
//                                        long taskId = downloadManager
//                                                .enqueue(request);
//
//                                        ContentValues values = new ContentValues();
//                                        values.put(DownloadTable.TASK_ID,
//                                                taskId);
//                                        values.put(DownloadTable.VIDEO_ID,
//                                                videoInfo.getId());
//                                        values.put(
//                                                DownloadTable.VIDEO_DETAIL_ID,
//                                                videoDetailInfo.getId());
//                                        values.put(
//                                                DownloadTable.VIDEO_THIRD_TYPE,
//                                                videoInfo.getThirdType());
//                                        Gson gson = new GsonBuilder()
//                                                .setFieldNamingPolicy(
//                                                        FieldNamingPolicy.UPPER_CAMEL_CASE)
//                                                .create();
//                                        values.put(DownloadTable.VIDEO_DETAIL,
//                                                gson.toJson(videoInfo));
//                                        getContext()
//                                                .getContentResolver()
//                                                .insert(DownloadTable.CONTENT_URI,
//                                                        values);
//                                        // Toast.makeText(getContext(),
//                                        // "已加入下载列表",
//                                        // Toast.LENGTH_LONG).show();
//                                        SingleToast.showToast(getContext(),
//                                                "已加入下载列表");
//                                        notifyDataSetChanged();
//                                    };
//
//                                }).execute(
//                                        url,
//                                        videoDetailInfo.getId(),
//                                        GetRealPathTask
//                                                .getNeedSecondConnectServerUrl(videoInfo
//                                                        .getExtraData()));
//                            }
//                        }
//                    }
//                });
//            }
            downloadCursor.close();
        } else {
            viewHolder.fl_video_select.setVisibility(View.VISIBLE);
//            viewHolder.chb_watch_history.setVisibility(View.GONE);
//            viewHolder.btn_status.setVisibility(View.GONE);
//            viewHolder.fl_video_select.setVisibility(View.VISIBLE);
//            viewHolder.btn_delete.setVisibility(View.VISIBLE);
//            viewHolder.chb_delete.setVisibility(View.VISIBLE);
            view.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (mSelectedIds.contains(id)) {
                        mSelectedIds.remove(id);
                    } else {
                        mSelectedIds.add(id);
                    }
                    viewHolder.chb_delete.setChecked(mSelectedIds.contains(id));
                    if (getdeleteNumber != null)
                        getdeleteNumber.onGetNum(mSelectedIds.size());
                }
            });
            viewHolder.chb_delete.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (mSelectedIds.contains(id)) {
                        mSelectedIds.remove(id);
                    } else {
                        mSelectedIds.add(id);
                    }
                    viewHolder.chb_delete.setChecked(mSelectedIds.contains(id));
                    if (getdeleteNumber != null)
                        getdeleteNumber.onGetNum(mSelectedIds.size());
                }
            });
            viewHolder.chb_delete.setChecked(mSelectedIds.contains(id));
        }
        viewHolder.iv_cover.setImageResource(R.drawable.ic_default_cover);
        viewHolder.tv_title.setText("");
        getVideoDetail(context, videoId, videoDetailId, videoInfoStr,
                viewHolder);
    }
    private void bindView(ViewHolder viewHolder, String videoDetailId,
    private void bindView(ViewHolder viewHolder, int position,
                          VideoInfo videoInfo) {
        String subName = "";
        for (VideoDetailInfo videoDetailInfo : videoInfo.getVideoDetailList()) {
            if (videoDetailId.equals(videoDetailInfo.getId())) {
                subName = TextUtils.isEmpty(videoDetailInfo.getTag()) ? videoDetailInfo
                        .getName() : videoDetailInfo.getTag();
            }
        }
        if (StringUtils.isEmpty(videoInfo.getName())) {
            videoInfo.setName(".");
        }
        if (subName.equalsIgnoreCase(videoInfo.getName())) {
            viewHolder.tv_title.setSingleLine(true);
            viewHolder.tv_title.setEllipsize(TruncateAt.END);
@@ -374,16 +59,14 @@
            }
            viewHolder.tv_title.setText(videoInfo.getName()
                    + System.getProperty("line.separator"));
            viewHolder.tv_watch_time.setText(mContext.getResources().getString(
            viewHolder.tv_watch_time.setText(context.getResources().getString(
                    R.string.watch_history_time, subName));
        }
        // imageLoader.displayImage(videoInfo.getPicture(), viewHolder.iv_cover,
        // options);
        if (StringUtils.isEmpty(videoInfo.getPicture()))
            videoInfo.setPicture("");
        try {
            glide.load(videoInfo.getPicture())
            Glide.with(context).load(videoInfo.getPicture())
                    .placeholder(R.drawable.ic_default_cover)
                    .error(R.drawable.ic_default_cover).into(viewHolder.iv_cover);
        } catch (IllegalArgumentException e) {
@@ -391,57 +74,129 @@
        }
    }
    private void getVideoDetail(Context context, final String videoId,
                                final String videoDetailId, String videoInfoStr,
    private void getVideoDetail(WatchHistoryVO vo,
                                final ViewHolder viewHolder) {
        viewHolder.tv_title.setTag(videoId);
        VideoInfo videoInfo = mVideoInfos.get(videoId);
        viewHolder.tv_title.setTag(vo.getId());
        VideoInfo videoInfo = vo.getVideoInfo();
        if (videoInfo != null) {
            bindView(viewHolder, videoDetailId, videoInfo);
        } else {
            Gson gson = new GsonBuilder().setFieldNamingPolicy(
                    FieldNamingPolicy.UPPER_CAMEL_CASE).create();
            videoInfo = gson.fromJson(videoInfoStr, new TypeToken<VideoInfo>() {
            }.getType());
            mVideoInfos.put(videoId, videoInfo);
            if (viewHolder.tv_title.getTag().equals(videoId)) {
                bindView(viewHolder, videoDetailId, videoInfo);
            }
            bindView(viewHolder, vo.getPosition(), videoInfo);
        }
    }
    private String stringForTime(int timeMs) {
        int totalSeconds = timeMs / 1000;
        int seconds = totalSeconds % 60;
        int minutes = (totalSeconds / 60) % 60;
        int hours = totalSeconds / 3600;
        mFormatBuilder.setLength(0);
        if (hours > 0) {
            return mFormatter.format("%d:%02d:%02d", hours, minutes, seconds)
                    .toString();
        } else {
            return mFormatter.format("%02d:%02d", minutes, seconds).toString();
        }
    @Override
    public int getCount() {
        return 0;
    }
    public Map<String, VideoInfo> getVideoInfos() {
        return mVideoInfos;
    @Override
    public Object getItem(int position) {
        return null;
    }
    @Override
    public long getItemId(int position) {
        return 0;
    }
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        final WatchHistoryVO vo = voList.get(position);
        View view = LayoutInflater.from(parent.getContext()).inflate(
                R.layout.watch_history_item, parent, false);
        if (view.getTag() == null) {
            ViewHolder holder = new ViewHolder();
            holder.iv_cover = (ImageView) view.findViewById(R.id.iv_cover);
            holder.tv_title = (TextView) view.findViewById(R.id.tv_title);
            holder.tv_watch_time = (TextView) view.findViewById(R.id.tv_watch_time);
            holder.btn_delete = (ImageButton) view
                    .findViewById(R.id.btn_delete_download);
            holder.chb_delete = (CheckBox) view.findViewById(R.id.chb_delete);
            holder.fl_video_select = (FrameLayout) view
                    .findViewById(R.id.fl_video_select);
            view.setTag(holder);
        }
        final ViewHolder holder = (ViewHolder) view.getTag();
        //非编辑模式
        if (!mSelectedMode) {
            holder.fl_video_select.setVisibility(View.GONE);
            view.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    VideoInfo videoInfo = vo.getVideoInfo();
                    if (videoInfo != null) {
                        int playingPosition = vo.getPosition();
                        Intent intent = new Intent(v.getContext(),
                                VideoDetailActivity2.class);
                        VideoInfo info = new VideoInfo();
                        info.setId(videoInfo.getId());
                        info.setShare(videoInfo.getShare());
                        info.setThirdType(videoInfo.getThirdType());
                        intent.putExtra("video_info", info);
                        intent.putExtra("playing_position", playingPosition);
                        intent.putExtra("isFromWatchHistory", true);
                        v.getContext().startActivity(intent);
                    }
                }
            });
            selectAll(false);
            holder.fl_video_select.setVisibility(View.GONE);
        } else {
            holder.fl_video_select.setVisibility(View.VISIBLE);
            view.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (mSelectedIds.contains(vo.getId())) {
                        mSelectedIds.remove(vo.getId());
                    } else {
                        mSelectedIds.add(vo.getId());
                    }
                    holder.chb_delete.setChecked(mSelectedIds.contains(vo.getId()));
                    if (getdeleteNumber != null)
                        getdeleteNumber.onGetNum(mSelectedIds.size());
                }
            });
            holder.chb_delete.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (mSelectedIds.contains(vo.getId())) {
                        mSelectedIds.remove(vo.getId());
                    } else {
                        mSelectedIds.add(vo.getId());
                    }
                    holder.chb_delete.setChecked(mSelectedIds.contains(vo.getId()));
                    if (getdeleteNumber != null)
                        getdeleteNumber.onGetNum(mSelectedIds.size());
                }
            });
            holder.chb_delete.setChecked(mSelectedIds.contains(vo.getId()));
        }
        holder.iv_cover.setImageResource(R.drawable.ic_default_cover);
        holder.tv_title.setText("");
        getVideoDetail(vo,
                holder);
        return view;
    }
    private static class ViewHolder {
        ImageView iv_cover;
        TextView tv_title;
        TextView tv_watch_time;
        //        ImageButton btn_status;
//        CheckBox chb_watch_history;
        ImageButton btn_delete;
        CheckBox chb_delete;
        FrameLayout fl_video_select;
    }
    public List<Long> getSelectedIds() {
    public Set<String> getSelectedIds() {
        return mSelectedIds;
    }
@@ -457,18 +212,14 @@
    public void selectAll(boolean isSelected) {
        mSelectedIds.clear();
        if (isSelected) {
            if (mCursor.moveToFirst()) {
                do {
                    mSelectedIds.add(mCursor.getLong(mCursor
                            .getColumnIndex(WatchHistoryTable._ID)));
                } while (mCursor.moveToNext());
            for (WatchHistoryVO vo : voList) {
                vo.setSelected(true);
                mSelectedIds.add(vo.getId());
            }
        } else {
            if (mCursor.moveToFirst()) {
                do {
                    mSelectedIds.remove(mCursor.getLong(mCursor
                            .getColumnIndex(WatchHistoryTable._ID)));
                } while (mCursor.moveToNext());
            for (WatchHistoryVO vo : voList) {
                vo.setSelected(false);
            }
        }
        if (getdeleteNumber != null)
BuWanVideo/src/com/weikou/beibeivideo/util/BeibeiConstant.java
@@ -18,7 +18,7 @@
    public static final String ABOUT_US = "http://bwweb.yeshitv.com/abountOur/index.html";
    public static final String HOST = "http://api.ysdq.yeshitv.com:8089";//正式上线版本
    public static final String HOST = "http://cb.ysdq.yeshitv.com";//正式上线版本
    public static final String BAICHUAN_APPKEY = "24980167";
BuWanVideo/src/com/weikou/beibeivideo/util/ad/GDTConstant.java
@@ -3,9 +3,9 @@
//广告常量
public class GDTConstant {
    public static  String PID_HOME_RECOMMEND_BIG_IMG="2011627548122579";
    public static String PID_HOME_RECOMMEND_BIG_IMG = "2011627548122579";
    public static String PID_VIDEO_DETAIL_PLAYER="5061928359494942";
    public static String PID_VIDEO_DETAIL_PLAYER = "5061928359494942";
    //视频播放器下方广告位
    public static String PID_2_VIDEO_DETAIL_PLAY_EXPRESS1 = "9031528552257617";
    //相关视频下方广告位
@@ -15,4 +15,9 @@
    public static String PID_2_VIDEO_LIST_SMALL_AD_COLUMN2 = "7001426565143389";
    //PPTV视频前贴
    public static String PID_2_VIDEO_DETAIL_PLAYER_PRE_PPTV = "5091266068484315";
}
BuWanVideo/src/com/weikou/beibeivideo/util/browser/BWJavaInterface.java
@@ -137,6 +137,18 @@
        });
    }
    @JavascriptInterface
    public void finishPageWithResultOK() {
        mContext.runOnUiThread(new Runnable() {
            @Override
            public void run() {
                mContext.setResult(Activity.RESULT_OK);
                mContext.finish();
            }
        });
    }
    /**
     * 淘宝授权
     *
@@ -159,6 +171,14 @@
        mContext.startActivity(intent);
    }
    @JavascriptInterface
    public void jumpWeb() {
        Intent intent = new Intent(mContext, LoginActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        mContext.startActivity(intent);
    }
    /**
     * 电话号码绑定
     */
BuWanVideo/src/com/weikou/beibeivideo/util/browser/BaseBWJavaInterface.java
@@ -17,6 +17,7 @@
import com.lcjian.library.util.security.MD5Utils;
import com.umeng.analytics.MobclickAgent;
import com.weikou.beibeivideo.BeibeiVideoAPI;
import com.weikou.beibeivideo.ui.mine.BrowserActivity;
import com.weikou.beibeivideo.util.JumpActivityUtil;
import org.json.JSONException;
@@ -107,6 +108,14 @@
    }
    @JavascriptInterface
    public void jumpWeb(String url) {
        Intent intent = new Intent(mContext, BrowserActivity.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.putExtra("url", url);
        mContext.startActivity(intent);
    }
    @JavascriptInterface
    public String getRequestBaseParams(String json) {
        LinkedHashMap<String, String> params = new LinkedHashMap<>();
        int version = PackageUtils2.getVersionCode(mContext);