admin
2021-12-31 921532099e228503601033abaa92b64f02659141
3.10.10
14个文件已修改
4个文件已添加
250 ■■■■■ 已修改文件
BuWanVideo/build.gradle 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/drawable-hdpi/ic_activity_main_search.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/drawable-mdpi/ic_activity_main_search.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/drawable-xhdpi/ic_activity_main_search.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/drawable-xxhdpi/ic_activity_main_search.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/layout/dialog_share_app.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoAPI.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/SplashActivity.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/main/DYFeedFragment.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/main/DYNewsFragment.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/main/DYVideoFragment.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/main/DrawVideoFragment.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/main/FeedVideoFragment.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/main/KSFeedFragment.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/main/KSVideoFragment.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/main/NovelFragment.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/util/video/DPEventCollectUtil.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/build.gradle
@@ -109,8 +109,8 @@
    defaultConfig {
        applicationId "com.doudou.ysvideo"
        versionCode 127
        versionName "3.10.9"
        versionCode 128
        versionName "3.10.10"
        multiDexEnabled = true
        minSdkVersion 17
        targetSdkVersion 29
BuWanVideo/res/drawable-hdpi/ic_activity_main_search.png
BuWanVideo/res/drawable-mdpi/ic_activity_main_search.png
BuWanVideo/res/drawable-xhdpi/ic_activity_main_search.png

BuWanVideo/res/drawable-xxhdpi/ic_activity_main_search.png
BuWanVideo/res/layout/dialog_share_app.xml
@@ -74,8 +74,8 @@
                android:id="@+id/ll_wx"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="50dp"
                android:layout_marginRight="50dp"
                android:layout_marginLeft="100dp"
                android:gravity="center"
                android:orientation="vertical">
@@ -95,7 +95,7 @@
            </LinearLayout>
            <LinearLayout
                android:visibility="gone"
                android:id="@+id/ll_weibo"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
@@ -128,6 +128,7 @@
        android:background="#000000"></View>
    <TextView
        android:id="@+id/tv_cancel"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoAPI.java
@@ -39,7 +39,9 @@
import com.weikou.beibeivideo.util.BeibeiConstant;
import com.weikou.beibeivideo.util.UserUtil;
import org.apache.http.Header;
import org.json.JSONArray;
import org.json.JSONObject;
import okhttp3.Call;
import okhttp3.Callback;
@@ -1511,6 +1513,47 @@
    }
    /*************事件上报**************/
    public static void readNews(Context context, ResponseHandlerInterface handler) {
        LinkedHashMap<String, String> params = new LinkedHashMap<String, String>();
        if (UserUtil.getUid(context) != null)
            params.put("Uid", UserUtil.getUid(context));
        String loginUid = UserUtil.getLoginUid(context);
        if (loginUid != null) {
            params.put("LoginUid", loginUid);
        }
        commonPost(context, BASE_URL + "event/readNews", params, handler);
    }
    public static void playDrawVideo(Context context,String source, String from, boolean finish, ResponseHandlerInterface handler) {
        LinkedHashMap<String, String> params = new LinkedHashMap<String, String>();
        if (UserUtil.getUid(context) != null)
            params.put("Uid", UserUtil.getUid(context));
        String loginUid = UserUtil.getLoginUid(context);
        if (loginUid != null) {
            params.put("LoginUid", loginUid);
        }
        params.put("From", from);
        params.put("Source", source);
        params.put("Finish", finish + "");
        commonPost(context, BASE_URL+ "event/playDrawVideo", params, handler);
    }
    public static void readNovel(Context context, long duration,ResponseHandlerInterface handler) {
        LinkedHashMap<String, String> params = new LinkedHashMap<String, String>();
        if (UserUtil.getUid(context) != null)
            params.put("Uid", UserUtil.getUid(context));
        String loginUid = UserUtil.getLoginUid(context);
        if (loginUid != null) {
            params.put("LoginUid", loginUid);
        }
        params.put("Duration", duration + "");
        commonPost(context, BASE_URL + "event/readNovel", params, handler);
    }
    public static LinkedHashMap<String, String> validateParams(
            LinkedHashMap<String, String> params, Context context) {
        params.put("System", "1");
BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java
@@ -15,6 +15,7 @@
import android.os.Message;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.webkit.WebView;
import android.widget.Toast;
import com.alibaba.baichuan.android.trade.AlibcTradeSDK;
@@ -184,6 +185,15 @@
        } catch (Exception e) {
        }
        //解决错误:Using WebView from more than one process at once with the same data directory is not supported
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
            String processName = getProcessName(application);
            String packageName = application.getPackageName();
            if (!packageName.equals(processName)) {
                WebView.setDataDirectorySuffix(processName);
            }
        }
        //友盟初始化
        String description = ManifestDataUtil.getAppMetaData(application, "UMENG_CHANNEL");
        try {
@@ -213,6 +223,17 @@
        initX5(application);
        initNovel(application);
        initDPSDK(application);
    }
    private static String getProcessName(Context context) {
        if (context == null) return null;
        ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
        for (ActivityManager.RunningAppProcessInfo processInfo : manager.getRunningAppProcesses()) {
            if (processInfo.pid == android.os.Process.myPid()) {
                return processInfo.processName;
            }
        }
        return null;
    }
@@ -334,7 +355,7 @@
        }
        if (!dpSDKIninted) {
            DPSdkConfig.Builder configBuilder = new DPSdkConfig.Builder()
                    .debug(true)
                    .debug(false)
                    .preloadDraw(true)
                    .needInitAppLog(false)
                    .setIsAndroidx(true)
BuWanVideo/src/com/weikou/beibeivideo/ui/SplashActivity.java
@@ -522,7 +522,6 @@
                                    KSConstant.PID_FEED = 8010000022L;
                                    KSConstant.PID_FULL_VIDEO = 8010000015L;
                                    //广告下载二次确认框
                                }
BuWanVideo/src/com/weikou/beibeivideo/ui/main/DYFeedFragment.java
@@ -12,6 +12,7 @@
import com.bytedance.sdk.dp.IDPWidget;
import com.weikou.beibeivideo.R;
import com.weikou.beibeivideo.ui.MyRetainViewFragment;
import com.weikou.beibeivideo.util.video.DPEventCollectUtil;
import com.weikou.beibeivideo.widget.MySwipeRefreshLayout;
import java.util.Map;
@@ -95,6 +96,19 @@
    private void init() {
        mIDPWidget = DPSdk.factory().createDoubleFeed(DPWidgetGridParams.obtain().listener(new IDPGridListener() {
                    @Override
                    public void onDPVideoOver(Map<String, Object> map) {
                        super.onDPVideoOver(map);
                        DPEventCollectUtil.playDrawVideo(getContext(), map, "dy", "list", false);
                    }
                    @Override
                    public void onDPVideoCompletion(Map<String, Object> map) {
                        super.onDPVideoCompletion(map);
//                        DPEventCollectUtil.playDrawVideo(getContext(), map, "dy", "list", true);
                    }
                    @Override
                    public void onDPRefreshFinish() {
                        super.onDPRefreshFinish();
BuWanVideo/src/com/weikou/beibeivideo/ui/main/DYNewsFragment.java
@@ -15,6 +15,7 @@
import com.weikou.beibeivideo.R;
import com.weikou.beibeivideo.ui.MyRetainViewFragment;
import com.weikou.beibeivideo.util.ad.KSConstant;
import com.weikou.beibeivideo.util.video.DPEventCollectUtil;
import com.weikou.beibeivideo.widget.MySwipeRefreshLayout;
import java.util.List;
@@ -128,6 +129,7 @@
                    @Override
                    public void onDPNewsDetailEnter(Map<String, Object> map) {
                        log("onDPNewsDetailEnter");
                        DPEventCollectUtil.newsDetailEnter(getContext(), map);
                    }
                    @Override
@@ -139,7 +141,7 @@
                }));
        Fragment fragment = mIDPWidget.getFragment();
        if (fragment != null) {
        if (fragment != null && getChildFragmentManager() != null) {
            getChildFragmentManager().beginTransaction().replace(R.id.fl_content, fragment).commitAllowingStateLoss();
        }
    }
BuWanVideo/src/com/weikou/beibeivideo/ui/main/DYVideoFragment.java
@@ -16,6 +16,7 @@
import com.weikou.beibeivideo.R;
import com.weikou.beibeivideo.ui.MyRetainViewFragment;
import com.weikou.beibeivideo.util.ad.KSConstant;
import com.weikou.beibeivideo.util.video.DPEventCollectUtil;
import com.weikou.beibeivideo.widget.MySwipeRefreshLayout;
import java.util.Map;
@@ -44,7 +45,7 @@
    public DYVideoFragment(FragmentManager fragmentManager) {
        super();
        setName(DYNewsFragment.class.getName());
        this.fragmentManager=fragmentManager;
        this.fragmentManager = fragmentManager;
    }
    @Override
@@ -134,6 +135,14 @@
                    @Override
                    public void onDPVideoOver(Map<String, Object> map) {
                        log("onDPVideoOver");
                        DPEventCollectUtil.playDrawVideo(getContext(), null, "dy", "home", false);
                    }
                    @Override
                    public void onDPVideoCompletion(Map<String, Object> map) {
                        log("onDPVideoCompletion");
                        super.onDPVideoCompletion(map);
//                        DPEventCollectUtil.playDrawVideo(getContext(), null, "dy", "home", true);
                    }
                    @Override
@@ -151,9 +160,9 @@
        Fragment fragment = mIDPWidget.getFragment();
        if (fragment != null) {
            if(fragmentManager!=null) {
            if (fragmentManager != null) {
                fragmentManager.beginTransaction().add(R.id.fl_content, fragment).commitAllowingStateLoss();
            }else{
            } else {
                getChildFragmentManager().beginTransaction().add(R.id.fl_content, fragment).commitAllowingStateLoss();
            }
        }
BuWanVideo/src/com/weikou/beibeivideo/ui/main/DrawVideoFragment.java
@@ -23,6 +23,7 @@
import com.kwad.sdk.api.KsScene;
import com.lcjian.library.util.common.DimenUtils;
import com.weikou.beibeivideo.R;
import com.weikou.beibeivideo.entity.ad.AdPositionEnum;
import com.weikou.beibeivideo.ui.MyRetainViewFragment;
import com.weikou.beibeivideo.util.ad.AdUtil;
import com.weikou.beibeivideo.util.ad.KSConstant;
@@ -225,7 +226,7 @@
    private int getTypeCount() {
        if (AdUtil.isCanInitCSJ()) {
        if (AdUtil.isCanInitCSJ()&& AdUtil.getAdType(getContext(), AdPositionEnum.splashHotStart) != null) {
            return 2;
        } else {
            return 1;
BuWanVideo/src/com/weikou/beibeivideo/ui/main/FeedVideoFragment.java
@@ -19,6 +19,7 @@
import com.kwad.sdk.api.KsFeedPage;
import com.kwad.sdk.api.KsScene;
import com.weikou.beibeivideo.R;
import com.weikou.beibeivideo.entity.ad.AdPositionEnum;
import com.weikou.beibeivideo.ui.MyRetainViewFragment;
import com.weikou.beibeivideo.util.ad.AdUtil;
import com.weikou.beibeivideo.util.ad.KSConstant;
@@ -367,7 +368,7 @@
    }
    private int getTypeCount() {
        if (AdUtil.isCanInitCSJ()) {
        if (AdUtil.isCanInitCSJ()&& AdUtil.getAdType(getContext(), AdPositionEnum.splashHotStart) != null) {
            return 2;
        } else {
            return 1;
BuWanVideo/src/com/weikou/beibeivideo/ui/main/KSFeedFragment.java
@@ -11,6 +11,7 @@
import com.weikou.beibeivideo.R;
import com.weikou.beibeivideo.ui.MyRetainViewFragment;
import com.weikou.beibeivideo.util.ad.KSConstant;
import com.weikou.beibeivideo.util.video.DPEventCollectUtil;
import com.weikou.beibeivideo.widget.MySwipeRefreshLayout;
import androidx.annotation.Nullable;
@@ -85,6 +86,32 @@
    public void preInit() {
        KsScene adScene = new KsScene.Builder(KSConstant.PID_FEED).build();
        ksFeedPage = KsAdSDK.getLoadManager().loadFeedPage(adScene);
        ksFeedPage.setVideoListener(new KsContentPage.VideoListener() {
            @Override
            public void onVideoPlayStart(KsContentPage.ContentItem contentItem) {
                DPEventCollectUtil.playDrawVideo(getContext(), null, "ks", "list", false);
            }
            @Override
            public void onVideoPlayPaused(KsContentPage.ContentItem contentItem) {
            }
            @Override
            public void onVideoPlayResume(KsContentPage.ContentItem contentItem) {
            }
            @Override
            public void onVideoPlayCompleted(KsContentPage.ContentItem contentItem) {
            }
            @Override
            public void onVideoPlayError(KsContentPage.ContentItem contentItem, int i, int i1) {
            }
        });
        ksFeedPage.setPageListener(new KsContentPage.PageListener() {
            @Override
            public void onPageEnter(KsContentPage.ContentItem contentItem) {
BuWanVideo/src/com/weikou/beibeivideo/ui/main/KSVideoFragment.java
@@ -29,6 +29,7 @@
import com.weikou.beibeivideo.ui.recommend.GuessLikeAdapter;
import com.weikou.beibeivideo.util.BeibeiConstant;
import com.weikou.beibeivideo.util.ad.KSConstant;
import com.weikou.beibeivideo.util.video.DPEventCollectUtil;
import com.weikou.beibeivideo.widget.MySwipeRefreshLayout;
import org.apache.http.Header;
@@ -124,6 +125,33 @@
    public void preInit() {
        KsScene adScene = new KsScene.Builder(KSConstant.PID_FULL_VIDEO).build();
        ksContentPage = KsAdSDK.getLoadManager().loadContentPage(adScene);
        ksContentPage.setVideoListener(new KsContentPage.VideoListener() {
            @Override
            public void onVideoPlayStart(KsContentPage.ContentItem contentItem) {
                Log.i(TAG, "onVideoPlayStart");
                DPEventCollectUtil.playDrawVideo(getContext(), null, "ks", "home", false);
            }
            @Override
            public void onVideoPlayPaused(KsContentPage.ContentItem contentItem) {
                Log.i(TAG, "onVideoPlayPaused");
            }
            @Override
            public void onVideoPlayResume(KsContentPage.ContentItem contentItem) {
                Log.i(TAG, "onVideoPlayResume");
            }
            @Override
            public void onVideoPlayCompleted(KsContentPage.ContentItem contentItem) {
            }
            @Override
            public void onVideoPlayError(KsContentPage.ContentItem contentItem, int i, int i1) {
                Log.i(TAG, "onVideoPlayError");
            }
        });
    }
BuWanVideo/src/com/weikou/beibeivideo/ui/main/NovelFragment.java
@@ -30,6 +30,7 @@
import com.weikou.beibeivideo.ui.MyRetainViewFragment;
import com.weikou.beibeivideo.ui.category.CategoryAdapter;
import com.weikou.beibeivideo.ui.recommend.SearchActivity;
import com.weikou.beibeivideo.util.video.DPEventCollectUtil;
import org.apache.http.Header;
import org.json.JSONObject;
@@ -47,6 +48,11 @@
public class NovelFragment extends MyRetainViewFragment implements
        OnClickListener {
    private FragmentManager fragmentManager;
    public NovelFragment() {
        super();
        setName(NovelFragment.class.getName());
    }
    public NovelFragment(FragmentManager fragmentManager) {
        super();
@@ -74,6 +80,7 @@
    public void onResume() {
        super.onResume();
        NovelSDK.INSTANCE.getNovelFragment().onResume();
        DPEventCollectUtil.uploadNovelReadTime(getContext());
    }
    @Override
BuWanVideo/src/com/weikou/beibeivideo/util/video/DPEventCollectUtil.java
New file
@@ -0,0 +1,71 @@
package com.weikou.beibeivideo.util.video;
import android.content.Context;
import com.bytedance.novel.pangolin.NovelSDK;
import com.weikou.beibeivideo.BasicTextHttpResponseHandler;
import com.weikou.beibeivideo.BeibeiVideoAPI;
import org.apache.http.Header;
import org.json.JSONObject;
import java.util.Map;
/**
 * 抖音信息收集
 */
public class DPEventCollectUtil {
    /**
     * 沉浸式视频播放
     *
     * @param context
     * @param from
     */
    public static void playDrawVideo(Context context, Map<String, Object> map, String type, String from, boolean complete) {
        BeibeiVideoAPI.playDrawVideo(context, type, from, complete, new BasicTextHttpResponseHandler() {
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
            }
        });
    }
    /**
     * 上传小说阅读时间
     *
     * @param context
     */
    public static void uploadNovelReadTime(Context context) {
        long time = NovelSDK.INSTANCE.getNovelReadingDuration();
        if (time <= 0)
            return;
        BeibeiVideoAPI.readNovel(context, time, new BasicTextHttpResponseHandler() {
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
            }
        });
    }
    /**
     * 进入详情
     *
     * @param context
     * @param map
     */
    public static void newsDetailEnter(Context context, Map<String, Object> map) {
        BeibeiVideoAPI.readNews(context, new BasicTextHttpResponseHandler() {
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
            }
        });
    }
}