admin
2021-09-30 2f1ab8af88cae4e723126ea5cf2f7d42dff7dbdc
穿山甲广告SDK更新,隐私合规修改
22个文件已修改
31个文件已添加
1485 ■■■■ 已修改文件
BuWanVideo/AndroidManifest.xml 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/build.gradle 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/libs/arm64-v8a/libfsp2p.so 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/libs/arm64-v8a/libutility.so 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/libs/arm64-v8a/libweibosdkcore.so 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/libs/arm64-v8a/libwind.so 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/libs/armeabi-v7a/libutility.so 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/libs/armeabi-v7a/libweibosdkcore.so 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/libs/armeabi-v7a/libwind.so 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/libs/armeabi/libfsp2p.so 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/libs/armeabi/libutility.so 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/libs/armeabi/libweibosdkcore.so 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/libs/armeabi/libwind.so 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/libs/open_ad_sdk_3.9.0.2.aar 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/libs/open_ad_sdk_4.0.0.6.aar 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/drawable-xhdpi/ic_auth_notify_top.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/drawable-xhdpi/icon_auth_notify_phone.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/drawable-xhdpi/icon_auth_notify_storage.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/layout/dialog_auth_notify.xml 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/layout/dialog_user_protocol.xml 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/layout/item_resource.xml 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/values/strings.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/xml/gdt_file_path.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/funshion/video/FSCompleteDeviceInfo.java 849 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/SplashActivity.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/dialog/PermissionAuthNotifyDialog.java 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/dialog/UserProtocolDialog.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/dialog/VideoResourceListDialog.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/main/MainActivity.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoDetailActivity2.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoEpisodeFragment.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/mine/PPTVPlayFragment.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/util/BeibeiConstant.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/util/ad/ExpressAdManager.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/util/ad/FullVideoAdManager.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/util/ad/RewardVideoAdManager.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/util/ad/SplashAdUtil.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/util/ad/TTAdManagerHolder.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-GDTSDK/build.gradle 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-SocialSdk/assets/geo_global_ca.cer 补丁 | 查看 | 原始文档 | blame | 历史
library-SocialSdk/libs/sina-weibo-openDefault-10.10.0.aar 补丁 | 查看 | 原始文档 | blame | 历史
library-SocialSdk/libs/umeng-common-9.4.2.jar 补丁 | 查看 | 原始文档 | blame | 历史
library-SocialSdk/libs/umeng-share-QQ-full-7.1.6.jar 补丁 | 查看 | 原始文档 | blame | 历史
library-SocialSdk/libs/umeng-share-core-7.1.6.jar 补丁 | 查看 | 原始文档 | blame | 历史
library-SocialSdk/libs/umeng-share-sina-full-7.1.6.jar 补丁 | 查看 | 原始文档 | blame | 历史
library-SocialSdk/libs/umeng-share-wechat-full-7.1.6.jar 补丁 | 查看 | 原始文档 | blame | 历史
library-SocialSdk/libs/umeng-shareboard-widget-7.1.6.jar 补丁 | 查看 | 原始文档 | blame | 历史
library-SocialSdk/libs/umeng-sharetool-7.1.6.jar 补丁 | 查看 | 原始文档 | blame | 历史
library-VideoPlayer/src/main/java/com/yeshi/video/player/common/IVideoPlayerListener.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-common/libs/eventbus-3.1.1.jar 补丁 | 查看 | 原始文档 | blame | 历史
library-common/libs/fastjson-1.2.7.jar 补丁 | 查看 | 原始文档 | blame | 历史
library-push/src/main/java/com/yeshi/push/PushUtil.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/AndroidManifest.xml
@@ -376,21 +376,20 @@
                tools:replace="android:resource" />
        </provider>
        <provider
            android:name="com.qq.e.comm.GDTFileProvider"
            android:authorities="${applicationId}.gdt.fileprovider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/gdt_file_path" />
        </provider>
        <!-- 声明SDK所需要的组件 -->
        <service
            android:name="com.qq.e.comm.DownloadService"
            android:exported="false" />
        <activity
            android:name="com.qq.e.ads.PortraitADActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
            android:screenOrientation="portrait" />
        <!-- 请开发者注意字母的大小写,ADActivity,而不是AdActivity -->
        <activity
            android:name="com.qq.e.ads.ADActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenSize" />
        <!-- 网盟广告 -->
        <provider
@@ -461,7 +460,9 @@
        <activity
            android:name=".ui.push.PushOpenClickActivity"
            android:exported="true">
            android:exported="true"
            android:launchMode="singleTask"
            android:screenOrientation="portrait">
            <intent-filter>
@@ -485,11 +486,11 @@
            android:name="push_kit_auto_init_enabled"
            android:value="false" />
        <!-- 华为推送服务注册 -->
        <service android:name=".service.HWPushService">
            <intent-filter>
                <action android:name="com.huawei.push.action.MESSAGING_EVENT" />
            </intent-filter>
        </service>
<!--        <service android:name=".service.HWPushService">-->
<!--            <intent-filter>-->
<!--                <action android:name="com.huawei.push.action.MESSAGING_EVENT" />-->
<!--            </intent-filter>-->
<!--        </service>-->
        <!--小米推送 -->
        <meta-data
BuWanVideo/build.gradle
@@ -27,7 +27,7 @@
    implementation project(path: ':library-APPUpdate')
    //穿山甲广告
    implementation files('libs/open_ad_sdk_3.9.0.2.aar')
    implementation files('libs/open_ad_sdk_4.0.0.6.aar')
    //阿里百川
    implementation files('libs/avmpaar3-5.4.36.aar')
BuWanVideo/libs/arm64-v8a/libfsp2p.so
Binary files differ
BuWanVideo/libs/arm64-v8a/libutility.so
Binary files differ
BuWanVideo/libs/arm64-v8a/libweibosdkcore.so
Binary files differ
BuWanVideo/libs/arm64-v8a/libwind.so
Binary files differ
BuWanVideo/libs/armeabi-v7a/libutility.so
Binary files differ
BuWanVideo/libs/armeabi-v7a/libweibosdkcore.so
Binary files differ
BuWanVideo/libs/armeabi-v7a/libwind.so
Binary files differ
BuWanVideo/libs/armeabi/libfsp2p.so
Binary files differ
BuWanVideo/libs/armeabi/libutility.so
Binary files differ
BuWanVideo/libs/armeabi/libweibosdkcore.so
Binary files differ
BuWanVideo/libs/armeabi/libwind.so
Binary files differ
BuWanVideo/libs/open_ad_sdk_3.9.0.2.aar
Binary files differ
BuWanVideo/libs/open_ad_sdk_4.0.0.6.aar
Binary files differ
BuWanVideo/res/drawable-xhdpi/ic_auth_notify_top.png
BuWanVideo/res/drawable-xhdpi/icon_auth_notify_phone.png
BuWanVideo/res/drawable-xhdpi/icon_auth_notify_storage.png
BuWanVideo/res/layout/dialog_auth_notify.xml
New file
@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/shape_user_protocol_dialog_bg"
    android:orientation="vertical">
    <com.lcjian.library.widget.RatioLayout xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:ratio="0.3243">
        <ImageView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:src="@drawable/ic_auth_notify_top"></ImageView>
    </com.lcjian.library.widget.RatioLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:orientation="vertical"
        android:padding="20dp">
        <LinearLayout
            android:layout_marginTop="10dp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_vertical">
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="7dp"
                android:src="@drawable/icon_auth_notify_phone">
            </ImageView>
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="vertical">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="手机"
                    android:textColor="#ff333333"
                    android:textSize="16sp" />
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="10dp"
                    android:text="校验手机识别码,防止账号被盗"
                    android:textColor="#ff999999"
                    android:textSize="11sp" />
            </LinearLayout>
        </LinearLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:gravity="center_vertical">
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="7dp"
                android:src="@drawable/icon_auth_notify_storage"></ImageView>
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="vertical">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="存储"
                    android:textColor="#ff333333"
                    android:textSize="16sp" />
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="10dp"
                    android:text="存储图片和视频,降低网络消耗"
                    android:textColor="#ff999999"
                    android:textSize="11sp" />
            </LinearLayout>
        </LinearLayout>
        <TextView
            android:id="@+id/tv_positive"
            android:layout_width="match_parent"
            android:layout_height="44dp"
            android:layout_gravity="center"
            android:layout_marginTop="40dp"
            android:layout_marginBottom="10dp"
            android:layout_weight="1"
            android:background="@drawable/shape_dialog_user_protocol_positive"
            android:gravity="center"
            android:text="现在开启"
            android:textColor="@color/white"
            android:textSize="16sp" />
    </LinearLayout>
</LinearLayout>
BuWanVideo/res/layout/dialog_user_protocol.xml
@@ -13,21 +13,27 @@
        android:layout_marginTop="10dp"
        android:gravity="center"
        android:padding="8dp"
        android:text="温馨提示"
        android:text="用户协议与隐私保护"
        android:textColor="@color/black"
        android:textSize="20sp" />
    <TextView
        android:id="@+id/tv_content"
        android:autoLink="all"
    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:textSize="10sp"
        android:lineSpacingExtra="8sp"
        android:background="@null"
        android:layout_marginRight="10dp"></TextView>
        android:layout_height="250dp">
        <TextView
            android:id="@+id/tv_content"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:autoLink="all"
            android:background="@null"
            android:lineSpacingExtra="4sp"
            android:textSize="12sp"></TextView>
    </ScrollView>
    <LinearLayout
        android:layout_width="match_parent"
BuWanVideo/res/layout/item_resource.xml
@@ -1,38 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="64dp"
    android:background="@color/page_content_bg_color"
    android:gravity="center"
    android:paddingLeft="25dp"
    android:paddingRight="28dp">
    android:layout_height="wrap_content"
    android:background="@color/page_content_bg_color">
    <ImageView
        android:id="@+id/iv_resource"
        android:layout_width="35dp"
        android:layout_height="35dp" />
    <LinearLayout
        android:id="@+id/ll_content"
        android:layout_width="match_parent"
        android:layout_height="64dp"
        android:gravity="center"
        android:paddingLeft="25dp"
        android:paddingRight="28dp">
    <TextView
        android:id="@+id/tv_resource"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="17.5dp"
        android:layout_weight="1"
        android:gravity="left"
        android:text="爱奇艺"
        android:textColor="@color/video_detail_resource_text_color"
        android:textSize="20sp" />
    <TextView
        android:id="@+id/tv_input"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawableRight="@drawable/ic_video_resource_input"
        android:drawablePadding="8.5dp"
        android:text="当前浏览"
        android:textColor="#ff666666"
        android:textSize="13sp" />
        <ImageView
            android:id="@+id/iv_resource"
            android:layout_width="35dp"
            android:layout_height="35dp" />
        <TextView
            android:id="@+id/tv_resource"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="17.5dp"
            android:layout_weight="1"
            android:gravity="left"
            android:text="爱奇艺"
            android:textColor="@color/video_detail_resource_text_color"
            android:textSize="20sp" />
        <TextView
            android:id="@+id/tv_input"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:drawableRight="@drawable/ic_video_resource_input"
            android:drawablePadding="8.5dp"
            android:text="当前浏览"
            android:textColor="#ff666666"
            android:textSize="13sp" />
    </LinearLayout>
</LinearLayout>
BuWanVideo/res/values/strings.xml
@@ -1,5 +1,5 @@
<resources>
    <string name="app_name">影视大全</string>
    <string name="app_name">影视大全布丸</string>
    <string name="recommend">推荐</string>
    <string name="category">分类</string>
    <string name="discover">发现</string>
BuWanVideo/res/xml/gdt_file_path.xml
@@ -1,12 +1,9 @@
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<paths>
    <!-- 这个下载路径也不可以修改,必须为GDTDOWNLOAD -->
    <external-path
        name="gdt_sdk_download_path"
        path="GDTDOWNLOAD" />
    <external-path
        name="files_root"
        path="Android/data/com.doudou.ysvideo/" />
    <external-path
        name="external_storage_root"
        path="." />
    <external-cache-path
        name="gdt_sdk_download_path1"
        path="com_qq_e_download" />
    <cache-path
        name="gdt_sdk_download_path2"
        path="com_qq_e_download" />
</paths>
BuWanVideo/src/com/funshion/video/FSCompleteDeviceInfo.java
New file
@@ -0,0 +1,849 @@
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package com.funshion.video;
import android.app.ActivityManager;
import android.app.ActivityManager.RunningTaskInfo;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager.NameNotFoundException;
import android.location.Location;
import android.location.LocationManager;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.wifi.WifiInfo;
import android.os.Build;
import android.os.Build.VERSION;
import android.provider.Settings.Secure;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.util.DisplayMetrics;
import android.util.Log;
import com.funshion.video.config.FSApp;
import java.net.NetworkInterface;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Enumeration;
import java.util.GregorianCalendar;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.TimeZone;
import static android.content.Context.TELEPHONY_SERVICE;
public class FSCompleteDeviceInfo {
    public static String mMacAddress;
    public static String packageName;
    public static String appName;
    public static String ZIP_CODE_MAP;
    public static LocationManager locationManager;
    public FSCompleteDeviceInfo() {
    }
    public static String getAndroidID(Context var0) {
        try {
            return Secure.getString(var0.getContentResolver(), "android_id");
        } catch (Exception var1) {
            return "";
        }
    }
    public static String getMacAddress2(Context var0) {
        if (!TextUtils.isEmpty(mMacAddress)) {
            return mMacAddress;
        } else {
            mMacAddress = getWifiMac();
            if (TextUtils.isEmpty(mMacAddress)) {
                mMacAddress = getMacAddress(var0);
            }
            return mMacAddress;
        }
    }
    public static String getWifiMac() {
        Log.i("FSCompleteDeviceInfo","getWifiMac");
        if (1 > 0) {
            return "00:00:00:00:00:00";
        }
        Enumeration var10000;
        boolean var10001;
        try {
            var10000 = NetworkInterface.getNetworkInterfaces();
        } catch (Exception var22) {
            var10001 = false;
            return mMacAddress;
        }
        Enumeration var0 = var10000;
        while (true) {
            boolean var24;
            try {
                var24 = var0.hasMoreElements();
            } catch (Exception var21) {
                var10001 = false;
                break;
            }
            if (!var24) {
                break;
            }
            NetworkInterface var25;
            try {
                var25 = (NetworkInterface) var0.nextElement();
            } catch (Exception var20) {
                var10001 = false;
                break;
            }
            NetworkInterface var1 = var25;
            byte[] var26;
            try {
                var26 = var25.getHardwareAddress();
            } catch (Exception var19) {
                var10001 = false;
                break;
            }
            byte[] var2 = var26;
            if (var26 != null) {
                int var27;
                try {
                    var27 = var2.length;
                } catch (Exception var18) {
                    var10001 = false;
                    break;
                }
                if (var27 != 0) {
                    StringBuilder var29;
                    try {
                        var26 = var2;
                        var29 = new StringBuilder();
                    } catch (Exception var17) {
                        var10001 = false;
                        break;
                    }
                    StringBuilder var3 = var29;
                    try {
//                        var29.init();
                        var27 = var26.length;
                    } catch (Exception var16) {
                        var10001 = false;
                        break;
                    }
                    int var4 = var27;
                    StringBuilder var28;
                    String var31;
                    for (int var5 = 0; var5 < var4; ++var5) {
                        byte var30;
                        try {
                            var28 = var3;
                            var30 = var2[var5];
                        } catch (Exception var15) {
                            var10001 = false;
                            return mMacAddress;
                        }
                        byte var6 = var30;
                        var31 = "%02X:";
                        Object[] var10002;
                        try {
                            var10002 = new Object[1];
                        } catch (Exception var14) {
                            var10001 = false;
                            return mMacAddress;
                        }
                        Object[] var10003 = var10002;
                        byte var10004 = 0;
                        try {
                            var10003[var10004] = var6;
                            var28.append(String.format(var31, var10002));
                        } catch (Exception var13) {
                            var10001 = false;
                            return mMacAddress;
                        }
                    }
                    try {
                        var27 = var3.length();
                    } catch (Exception var12) {
                        var10001 = false;
                        break;
                    }
                    if (var27 > 0) {
                        int var32;
                        try {
                            var28 = var3;
                            var32 = var3.length();
                        } catch (Exception var11) {
                            var10001 = false;
                            break;
                        }
                        --var32;
                        try {
                            var28.deleteCharAt(var32);
                        } catch (Exception var10) {
                            var10001 = false;
                            break;
                        }
                    }
                    try {
                        var25 = var1;
                        var31 = var3.toString();
                    } catch (Exception var9) {
                        var10001 = false;
                        break;
                    }
                    String var23 = var31;
                    try {
                        var24 = var25.getName().equals("wlan0");
                    } catch (Exception var8) {
                        var10001 = false;
                        break;
                    }
                    if (var24) {
                        try {
                            mMacAddress = var23.toLowerCase();
                        } catch (Exception var7) {
                            var10001 = false;
                            break;
                        }
                    }
                }
            }
        }
        return mMacAddress;
    }
    public static String getMacAddress(Context var0) {
        WifiInfo var10000;
        boolean var10001;
        try {
            var10000 = getWifiInfo(var0);
        } catch (Exception var3) {
            var10001 = false;
            return "00:00:00:00:00:00";
        }
        WifiInfo var4 = var10000;
        if (var10000 != null) {
            String var6;
            try {
                var6 = var4.getMacAddress();
            } catch (Exception var2) {
                var10001 = false;
                return "00:00:00:00:00:00";
            }
            String var5 = var6;
            if (var6 != null) {
                try {
                    return var5.toLowerCase(Locale.getDefault());
                } catch (Exception var1) {
                    var10001 = false;
                }
            }
        }
        return "00:00:00:00:00:00";
    }
    public static String getMacAddressNoFormat(Context var0) {
        return getMacAddress(var0).replace(":", "");
    }
    public static WifiInfo getWifiInfo(Context param0) {
        // $FF: Couldn't be decompiled
        return null;
    }
    public static String getBuildBOARD(Context var0) {
        return Build.BOARD;
    }
    public static String getBuildBRAND(Context var0) {
        return Build.BRAND;
    }
    public static String getBuildCPUABI(Context var0) {
        return Build.CPU_ABI;
    }
    public static String getBuildDEVICE(Context var0) {
        return Build.DEVICE;
    }
    public static String getBuildDISPLAY(Context var0) {
        return Build.DISPLAY;
    }
    public static String getBuildFINGERPRINT(Context var0) {
        return Build.FINGERPRINT;
    }
    public static String getBuildHOST(Context var0) {
        return Build.HOST;
    }
    public static String getBuildID(Context var0) {
        return Build.ID;
    }
    public static String getBuildMANUFACTURER(Context var0) {
        return Build.MANUFACTURER;
    }
    public static String getBuildMODEL(Context var0) {
        return Build.MODEL;
    }
    public static String getBuildPRODUCT(Context var0) {
        return Build.PRODUCT;
    }
    public static String getBuildTAGS(Context var0) {
        return Build.TAGS;
    }
    public static long getBuildTIME(Context var0) {
        return Build.TIME;
    }
    public static String getBuildTYPE(Context var0) {
        return Build.TYPE;
    }
    public static String getBuildUSER(Context var0) {
        return Build.USER;
    }
    public static String getFUUID() {
        return FSApp.getInstance().getFudid();
    }
    public static String getPackageName(Context var0) {
        if (!TextUtils.isEmpty(packageName)) {
            return packageName;
        } else {
            try {
                packageName = var0.getPackageName();
            } catch (Exception var1) {
            }
            return packageName;
        }
    }
    public static String getAPPName(Context var0) {
        if (!TextUtils.isEmpty(appName)) {
            return appName;
        } else {
            Exception var10000;
            label28:
            {
                boolean var10001;
                Context var4;
                int var5;
                try {
                    var4 = var0;
                    var5 = var0.getPackageManager().getPackageInfo(var0.getPackageName(), 0).applicationInfo.labelRes;
                } catch (Exception var2) {
                    var10000 = var2;
                    var10001 = false;
                    break label28;
                }
                int var3 = var5;
                try {
                    appName = var4.getResources().getString(var3);
                    return appName;
                } catch (Exception var1) {
                    var10000 = var1;
                    var10001 = false;
                }
            }
            var10000.printStackTrace();
            return appName;
        }
    }
    public static String getRunningActivityName(Context var0) {
        ActivityManager var3;
        ActivityManager var10000 = var3 = (ActivityManager) var0.getSystemService("activity");
        String var1 = null;
        if (var10000 != null) {
            String var4;
            try {
                var4 = ((RunningTaskInfo) var3.getRunningTasks(1).get(0)).topActivity.getClassName();
            } catch (Exception var2) {
                return var1;
            }
            var1 = var4;
        }
        return var1;
    }
    public static String getAppVersionName(Context var0) {
        try {
            return var0.getPackageManager().getPackageInfo(var0.getPackageName(), 0).versionName;
        } catch (Exception var1) {
            return "";
        }
    }
    public static int getAppVersionCode(Context var0) {
        Context var10000 = var0;
        int var1 = 0;
        int var3;
        try {
            var3 = var10000.getPackageManager().getPackageInfo(var0.getPackageName(), 0).versionCode;
        } catch (Exception var2) {
            return var1;
        }
        var1 = var3;
        return var1;
    }
    public static String getNetworkType(Context var0) {
        ConnectivityManager var10000;
        boolean var10001;
        try {
            var10000 = (ConnectivityManager) var0.getSystemService("connectivity");
        } catch (Exception var6) {
            var10001 = false;
            return "others";
        }
        ConnectivityManager var1 = var10000;
        if (var10000 != null) {
            NetworkInfo var8;
            try {
                var8 = var1.getActiveNetworkInfo();
            } catch (Exception var5) {
                var10001 = false;
                return "others";
            }
            NetworkInfo var7 = var8;
            if (var8 != null) {
                int var9;
                try {
                    var9 = var7.getType();
                } catch (Exception var4) {
                    var10001 = false;
                    return "others";
                }
                if (var9 != 1) {
                    try {
                        var9 = var7.getType();
                    } catch (Exception var3) {
                        var10001 = false;
                        return "others";
                    }
                    if (var9 != 0) {
                        return "others";
                    }
                    try {
                        var9 = ((TelephonyManager) var0.getSystemService("phone")).getNetworkType();
                    } catch (Exception var2) {
                        var10001 = false;
                        return "others";
                    }
                    switch (var9) {
                        case 1:
                        case 2:
                        case 4:
                        case 7:
                        case 11:
                            return "2G";
                        case 3:
                        case 5:
                        case 6:
                        case 8:
                        case 9:
                        case 10:
                        case 12:
                        case 14:
                        case 15:
                            return "3G";
                        case 13:
                            return "4G";
                        default:
                            return "others";
                    }
                }
                return "WIFI";
            }
        }
        return "others";
    }
    public static DisplayMetrics getDisplayMetrics(Context param0) {
        return param0.getResources().getDisplayMetrics();   // $FF: Couldn't be decompiled
    }
    public static String getResoluton(Context var0) {
        DisplayMetrics var1;
        return (var1 = getDisplayMetrics(var0)) != null ? var1.widthPixels + "*" + var1.heightPixels : null;
    }
    public static int getTimeZoneOffset(Context var0) {
        try {
            TimeZone var10000 = TimeZone.getDefault();
            return var10000.getOffset(GregorianCalendar.getInstance(var10000).getTimeInMillis());
        } catch (Exception var1) {
            return 0;
        }
    }
    public static final String getIMEI(Context var0) {
        String var10000;
        try {
            var10000 = ((TelephonyManager) var0.getSystemService("phone")).getDeviceId();
        } catch (Exception var1) {
            return "";
        }
        String var2 = var10000;
        if (var10000 == null) {
            var2 = "";
        }
        return var2;
    }
    public static String getIMSI(Context var0) {
        String var10000;
        try {
            var10000 = ((TelephonyManager) var0.getSystemService("phone")).getSubscriberId();
        } catch (Exception var1) {
            return "";
        }
        String var2 = var10000;
        if (var10000 == null) {
            var2 = "";
        }
        return var2;
    }
    public static String getOSName() {
        return "Android";
    }
    public static String getOSVersion() {
        return VERSION.RELEASE;
    }
    public static int getTargetSDKVersion(Context var0) {
        try {
            return var0.getPackageManager().getPackageInfo(var0.getPackageName(), 0).applicationInfo.targetSdkVersion;
        } catch (Exception var1) {
            return 0;
        }
    }
    public static String getChannel(Context var0) {
        try {
            return var0.getPackageManager().getApplicationInfo(getPackageName(var0), 128).metaData.getString("ire_channel");
        } catch (NameNotFoundException var1) {
            return null;
        }
    }
    public static String getContryZipCodeNumber(Context var0) {
        String var3 = getCountryZipCode(var0);
        String var1 = "-1";
        int var2;
        int var4;
        if (ZIP_CODE_MAP.contains(var3) && (var4 = ZIP_CODE_MAP.indexOf(var3)) != -1 && (var2 = findIndex(ZIP_CODE_MAP, var4 - 4, var4)) != -1) {
            var1 = ZIP_CODE_MAP.substring(var2 + 1, var4);
        }
        return var1;
    }
    public static int findIndex(String var0, int var1, int var2) {
        if (ZIP_CODE_MAP.charAt(var1) == '|') {
            return var1;
        } else {
            return ++var1 < var2 ? findIndex(var0, var1, var2) : -1;
        }
    }
    public static String getCountryZipCode(Context var0) {
        return var0.getResources().getConfiguration().locale.getCountry();
    }
    public static String getDate(String var0) {
        try {
            return (new SimpleDateFormat(var0, Locale.getDefault())).format(new Date(System.currentTimeMillis()));
        } catch (Exception var1) {
            return null;
        }
    }
    public static String getIRSDKVersion() {
        return "2.3.1";
    }
    public static boolean isApplicationAvaliable(Context var0, String var1) {
        List var10000;
        boolean var10001;
        try {
            var10000 = var0.getPackageManager().getInstalledPackages(0);
        } catch (Exception var5) {
            var10001 = false;
            return false;
        }
        List var6 = var10000;
        if (var10000 == null) {
            return false;
        } else {
            int var2 = 0;
            while (true) {
                int var7;
                int var9;
                try {
                    var7 = var2;
                    var9 = var6.size();
                } catch (Exception var4) {
                    var10001 = false;
                    break;
                }
                if (var7 >= var9) {
                    return false;
                }
                boolean var8;
                try {
                    var8 = var1.equals(((PackageInfo) var6.get(var2)).packageName);
                } catch (Exception var3) {
                    var10001 = false;
                    break;
                }
                if (var8) {
                    return true;
                }
                ++var2;
            }
            return false;
        }
    }
    public static SIMInfo getSIMInfo(Context param0) {
        // $FF: Couldn't be decompiled
        TelephonyManager manager = (TelephonyManager) param0.getSystemService(TELEPHONY_SERVICE);
        return SIMInfo.build(manager);
    }
    public static Location getLocation(Context var0) {
        locationManager = (LocationManager) var0.getSystemService("location");
        List var10000 = locationManager.getProviders(true);
        Location var3 = null;
        Iterator var1 = var10000.iterator();
        while (var1.hasNext()) {
            Location var2;
            if ((var2 = locationManager.getLastKnownLocation((String) var1.next())) != null) {
                if (var3 != null && var2.getAccuracy() >= var3.getAccuracy()) {
                    var2 = var3;
                }
                var3 = var2;
            }
        }
        return var3;
    }
    public static String getLongitude(Context param0) {
        // $FF: Couldn't be decompiled
        return null;
    }
    public static String getLatitude(Context param0) {
        // $FF: Couldn't be decompiled
        return null;
    }
    public static boolean checkApkExist(Context var0, String var1) {
        if (TextUtils.isEmpty(var1)) {
            return false;
        } else {
            try {
                var0.getPackageManager().getApplicationInfo(var1, 8192);
            } catch (NameNotFoundException var2) {
                return false;
            }
            return true;
        }
    }
    public static String TestAllFunction(Context var0) {
        StringBuffer var10000 = new StringBuffer();
        var10000.append("  androidId:" + getAndroidID(var0));
        var10000.append("  MAC:" + getMacAddress(var0));
        var10000.append("  MAC:" + getMacAddressNoFormat(var0));
        var10000.append("  FUDID:" + getFUUID());
        var10000.append("  AppPackageName:" + getPackageName(var0));
        var10000.append("  AppRunningActivityName:" + getRunningActivityName(var0));
        var10000.append("  AppVersionName:" + getAppVersionName(var0));
        var10000.append("  AppVersionCode:" + getAppVersionCode(var0));
        var10000.append("  NetworkType:" + getNetworkType(var0));
        var10000.append("  Resolution:" + getResoluton(var0));
        var10000.append("  TimeZone:" + getTimeZoneOffset(var0));
        var10000.append("  OSName:" + getOSName());
        var10000.append("  OSVersion:" + getOSVersion());
        var10000.append("  SDKVersion:" + getTargetSDKVersion(var0));
        var10000.append("  Channel:" + getChannel(var0));
        var10000.append("  Date:" + getDate("yyyyMMdd"));
        var10000.append("  " + getSIMInfo(var0));
        var10000.append("  Build.Board:" + getBuildBOARD(var0));
        var10000.append("  Build.Brand:" + getBuildBRAND(var0));
        var10000.append("  Build.CPU_ABI:" + getBuildCPUABI(var0));
        var10000.append("  Build.DEVICE:" + getBuildDEVICE(var0));
        var10000.append("  Build.DISPLAY:" + getBuildDISPLAY(var0));
        var10000.append("  Build.FINGERPRINT:" + getBuildFINGERPRINT(var0));
        var10000.append("  Build.HOST:" + getBuildHOST(var0));
        var10000.append("  Build.ID:" + getBuildID(var0));
        var10000.append("  Build.MANUFUACTURER:" + getBuildMANUFACTURER(var0));
        var10000.append("  Build.MODEL:" + getBuildMODEL(var0));
        var10000.append("  Build.PRODUCT:" + getBuildPRODUCT(var0));
        var10000.append("  Build.TAGS:" + getBuildTAGS(var0));
        var10000.append("  Build.TIME:" + getBuildTIME(var0));
        var10000.append("  Build.TYPE:" + getBuildTYPE(var0));
        var10000.append("  Build.USER:" + getBuildUSER(var0));
        return var10000.toString();
    }
    public static class SIMInfo {
        public String imei;
        public String SimOperator;
        public String MNC;
        public String MCC;
        public int LAC;
        public int CID;
        public String imsi;
        public String phoneNumber;
        public SIMInfo() {
        }
        public static SIMInfo build(TelephonyManager var0) {
            if (var0 == null) {
                return null;
            } else {
                SIMInfo var10000 = new SIMInfo();
                SIMInfo var1;
                SIMInfo var10001 = var1 = var10000;
                TelephonyManager var10002 = var0;
                SIMInfo var10003 = var1;
                TelephonyManager var10004 = var0;
                SIMInfo var10005 = var1;
                TelephonyManager var10006 = var0;
                SIMInfo var10007 = var1;
                TelephonyManager var10008 = var0;
//                var1.init();
                String var22;
                boolean var24;
                try {
                    var10007.imei = var10008.getDeviceId();
                    var10005.SimOperator = var10006.getSimOperator();
                    var10003.phoneNumber = var10004.getLine1Number();
                    var10001.imsi = var10002.getSubscriberId();
                    var22 = var10000.SimOperator;
                } catch (Throwable var21) {
                    var24 = false;
                    return var1;
                }
                if (var22 != null) {
                    int var23;
                    try {
                        var23 = var1.SimOperator.length();
                    } catch (Throwable var20) {
                        var24 = false;
                        return var1;
                    }
                    if (var23 >= 4) {
                        String var25;
                        try {
                            var10000 = var1;
                            var1.MCC = var1.SimOperator.substring(0, 3);
                            var25 = var1.SimOperator;
                        } catch (Throwable var19) {
                            var24 = false;
                            return var1;
                        }
                        byte var26 = 3;
                        try {
                            var10000.MNC = var25.substring(var26, var1.SimOperator.length());
                        } catch (Throwable var18) {
                            var24 = false;
                            return var1;
                        }
                    }
                }
                return var1;
            }
        }
        public String toString() {
            return "SIMInfo [imei=" + this.imei + ", SimOperator=" + this.SimOperator + ", MNC=" + this.MNC + ", MCC=" + this.MCC + ", LAC=" + this.LAC + ", CID=" + this.CID + "]";
        }
    }
}
BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java
@@ -24,6 +24,8 @@
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
import com.qq.e.comm.managers.GDTADManager;
import com.qq.e.comm.managers.GDTAdSdk;
import com.qq.e.comm.util.GDTLogger;
import com.tencent.mm.opensdk.constants.ConstantsAPI;
import com.tencent.mm.opensdk.openapi.IWXAPI;
import com.tencent.mm.opensdk.openapi.WXAPIFactory;
@@ -56,7 +58,6 @@
import androidx.multidex.MultiDex;
public class BeibeiVideoApplication extends Application {
    private final static String TAG = BeibeiVideoApplication.class.getName();
@@ -73,6 +74,12 @@
    public static BeibeiVideoApplication getInstance() {
        return instance;
    }
    //兼容4.4以下版本
    protected void attachBaseContext(Context newBase) {
        super.attachBaseContext(newBase);
        MultiDex.install(this);
    }
    private static Handler handler = new Handler() {
@@ -133,7 +140,7 @@
        application = this;
        instance = this;
        MultiDex.install(this);
        if (UserUtil.isAgreeUserProtocol(this)||BeibeiConstant.IS_TEST) {
        if (UserUtil.isAgreeUserProtocol(this) || BeibeiConstant.IS_TEST) {
            //如果同意了用户协议
            init(application);
        }
@@ -147,7 +154,12 @@
    public static void init(final Application application) {
        //友盟初始化
        String description = ManifestDataUtil.getAppMetaData(application, "UMENG_CHANNEL");
        UMConfigure.init(application, application.getResources().getString(R.string.umeng_key), description, UMConfigure.DEVICE_TYPE_PHONE, null);
        try {
            UMConfigure.setLogEnabled(true);
            UMConfigure.init(application, application.getResources().getString(R.string.umeng_key), description, UMConfigure.DEVICE_TYPE_PHONE, null);
        } catch (Throwable e) {
        }
        // 选用AUTO页面采集模式
        MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.AUTO);
        UMShareAPI.get(application);
@@ -156,9 +168,13 @@
        PlatformConfig.setSinaWeibo(BeibeiConstant.SINA_ID, BeibeiConstant.SINA_KEY, "http://sns.whalecloud.com/sina2/callback");
        ImageLoader.getInstance().init(buildDefaultILC(application));
//        initX5();
        initCSJAd(application);
        GDTADManager.getInstance().initWith(application, BeibeiConstant.GDT_ID);
        //TODO 广点通广告初始化
        try {
            GDTAdSdk.init(application, BeibeiConstant.GDT_ID);
        } catch (Exception e) {
            e.printStackTrace();
        }
        initWX(application);
        initTaoKe(application);
@@ -191,18 +207,6 @@
        } catch (Exception e) {
        }
        Intent intent = new Intent(application, PushOpenClickActivity.class);
        intent.putExtra("activity", "test");
        JSONObject params = new JSONObject();
        try {
            params.put("id", "123123");
        } catch (JSONException e) {
            e.printStackTrace();
        }
        intent.putExtra("params", params.toString());
        String uriString = intent.toUri(Intent.URI_INTENT_SCHEME);
        Log.i(TAG, uriString);
    }
BuWanVideo/src/com/weikou/beibeivideo/ui/SplashActivity.java
@@ -27,6 +27,7 @@
import android.widget.TextView;
import com.google.gson.Gson;
import com.lcjian.library.dialog.DialogUtil;
import com.lcjian.library.util.ScreenUtils;
import com.lcjian.library.util.common.BitmapUtils;
import com.lcjian.library.util.common.DrawableUtils;
@@ -39,6 +40,7 @@
import com.weikou.beibeivideo.entity.ad.AdPositionEnum;
import com.weikou.beibeivideo.entity.ad.AdTypeVO;
import com.weikou.beibeivideo.ui.ad.SplashADFragment;
import com.weikou.beibeivideo.ui.dialog.PermissionAuthNotifyDialog;
import com.weikou.beibeivideo.ui.dialog.UserProtocolDialog;
import com.weikou.beibeivideo.ui.main.MainActivity;
import com.weikou.beibeivideo.util.BeibeiConstant;
@@ -98,25 +100,13 @@
        SharedPreferences preferences = getSharedPreferences("link_page",
                Context.MODE_PRIVATE);
        isInput = preferences.getBoolean("isInput", false);
        try {
            TelephonyManager manager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
            Build bd = new Build();
            String model = bd.MODEL;
            BeibeiVideoApplication.deviceName = model;
            BeibeiVideoApplication.deviceNumber = manager.getDeviceId();
        } catch (Exception e) {
        }
        mPermissionsChecker = new PermissionsChecker(this);
        // 初始化大设备
        SDCardUtil.initStorage(this);
        //初始化一次Banner,否则后面Banner使用时会出现卡顿
//        new BannerView(SplashActivity.this, ADSize.BANNER, BeibeiConstant.GDT_ID, BeibeiConstant.GDT_PLAYER_DETAIL);
        //弹用户协议框
        showProtocol();
        //设置背景图片
        Drawable drawable = getResources().getDrawable(R.drawable.ic_splash_bg);
        Bitmap bitmap = DrawableUtils.drawableToBitmap(drawable);
@@ -128,15 +118,15 @@
    private void showProtocol() {
        String data = "感谢您对" + getResources().getString(R.string.app_name) + "一直以来的信任!<br>";
        data += "我们依照新的监管要求条例更新了";
        String data = "尊敬的用户:<br>感谢您对" + getResources().getString(R.string.app_name) + "一直以来的信任!<br>";
        data += "我们非常尊重并保护您的个人信息、隐私。为了更好的保障您的权利,在您使用我们的产品之前,请您务必审慎阅读";
        data += String.format("<a href='%s'>《隐私政策》</a>和", BeibeiConstant.PRIVACY_POLICY);
        data += String.format("<a href='%s'>《用户协议》</a>", BeibeiConstant.USER_AGREEMENT);
        data += "为采取相应安全保护措施,尽力保护您的个人信息安全可控,特向你说明如下:<br>" +
                "1、您在使用" + getResources().getString(R.string.app_name) + "各项产品或服务时,将会提供与具体功能相关的个人信息(可能涉及帐号、位置、存储等信息)。<br>" +
                "2、您可以随时查询、更正、删除您的个人信息,我们也提供账户注销的渠道。<br>" +
                "3、未经您的再次同意,我们不会将上述信息用于您未授权的其他用途或目的。<br>" +
                "4、未经监护人同意,我们不会收集使用14周岁以下(含14周岁)未成年人个人信息,且不会利用其信息推送新闻、时政信息、广告等定向推送活动。";
        data += "内的所有条款,<b>尤其是:<br>" +
                "1、我们对您的个人信息(包括但不限于<font color='#FF0000'>设备MAC地址、IMEI/Android ID</font>等信息)的收集/保存/使用/对外提供/保护等规则条款,以及您的用户权利等条款;<br>" +
                "2、约定我们的限制责任、免责条款;<br>" +
                "3、其他以加粗或斜体字进行标识的重要条款。</b><br>" +
                "如您对协议有任何疑虑,可通过电子邮箱: yesbd@qq.com 向我们询问,我们将为您竭诚解答。您点击“同意并继续”的行为代表您已阅读完毕并接受以上协议全部条款。如您同意以上协议内容,请您点击“同意并继续”,开始使用您的产品。";
        if (!UserUtil.isAgreeUserProtocol(BeibeiVideoApplication.application) && !BeibeiConstant.IS_TEST) {
            Dialog dialog = new UserProtocolDialog.Builder(this).setNegativeButton("不同意", new DialogInterface.OnClickListener() {
@@ -153,19 +143,44 @@
                    vg_ad.post(new Runnable() {
                        @Override
                        public void run() {
                            //初始化
                            BeibeiVideoApplication.init(BeibeiVideoApplication.application);
                            myRequetPermission();
                            new PermissionAuthNotifyDialog.Builder(SplashActivity.this).setPositiveButton(null, new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialogInterface, int i) {
                                    dialogInterface.dismiss();
                                    try {
                                        TelephonyManager manager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
                                        Build bd = new Build();
                                        String model = bd.MODEL;
                                        BeibeiVideoApplication.deviceName = model;
                                        BeibeiVideoApplication.deviceNumber = manager.getDeviceId();
                                    } catch (Exception e) {
                                    }
                                    //初始化
                                    BeibeiVideoApplication.init(BeibeiVideoApplication.application);
                                    myRequetPermission();
                                }
                            }).create().show();
                        }
                    });
                }
            }).setData(data).create();
            if (!isFinishing()) {
                dialog.show();
                DialogUtil.show(dialog);
            }
        } else {
            try {
                TelephonyManager manager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
                Build bd = new Build();
                String model = bd.MODEL;
                BeibeiVideoApplication.deviceName = model;
                BeibeiVideoApplication.deviceNumber = manager.getDeviceId();
            } catch (Exception e) {
            }
            //请求权限
            vg_ad.post(new Runnable() {
                @Override
BuWanVideo/src/com/weikou/beibeivideo/ui/dialog/PermissionAuthNotifyDialog.java
New file
@@ -0,0 +1,100 @@
package com.weikou.beibeivideo.ui.dialog;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.graphics.Color;
import android.text.method.LinkMovementMethod;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.TextView;
import com.lcjian.library.util.SystemCommon;
import com.lcjian.library.util.common.StringUtils;
import com.weikou.beibeivideo.R;
import com.weikou.beibeivideo.util.ui.TextViewUtil;
/**
 * 权限请求之前的弹框
 */
public class PermissionAuthNotifyDialog extends Dialog {
    private static String TAG = "UserProtocolDialog";
    public PermissionAuthNotifyDialog(Context context) {
        super(context);
        this.setCancelable(false);
    }
    public PermissionAuthNotifyDialog(Context context, int theme) {
        super(context, theme);
        this.setCancelable(false);
    }
    public static class Builder {
        public final static int TEXT_ALIGIN_LEFT = 1;
        public final static int TEXT_ALIGIN_MIDDLE = 2;
        public final static int TEXT_ALIGIN_RIGHT = 3;
        private Activity context;
        String webviewData;
        String title;
        private String positiveButtonText;
        private String negativeButtonText;
        private OnClickListener positiveButtonClickListener;
        private OnClickListener negativeButtonClickListener;
        public Builder(Activity context) {
            this.context = context;
        }
        public Builder setPositiveButton(String positiveButtonText,
                                         OnClickListener listener) {
            this.positiveButtonText = positiveButtonText;
            this.positiveButtonClickListener = listener;
            return this;
        }
        public PermissionAuthNotifyDialog create() {
            LayoutInflater inflater = (LayoutInflater) context
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            final PermissionAuthNotifyDialog dialog = new PermissionAuthNotifyDialog(context, R.style.Dialog);
            dialog.setCanceledOnTouchOutside(false);
            final View layout = inflater.inflate(R.layout.dialog_auth_notify, null);
            dialog.addContentView(layout, new FrameLayout.LayoutParams(
                    FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT));
            TextView tv_positive = layout.findViewById(R.id.tv_positive);
            // set the confirm button
            if (positiveButtonClickListener != null) {
                if (!StringUtils.isEmpty(positiveButtonText))
                    tv_positive.setText(positiveButtonText);
                tv_positive.setOnClickListener(new View.OnClickListener() {
                    public void onClick(View v) {
                        positiveButtonClickListener.onClick(dialog,
                                DialogInterface.BUTTON_POSITIVE);
                    }
                });
            }
            dialog.setContentView(layout);
            android.view.WindowManager.LayoutParams params = dialog.getWindow()
                    .getAttributes();
            params.width = (int) ((SystemCommon.getScreenWidth(context) * 3) / 4);
            params.height = android.view.WindowManager.LayoutParams.WRAP_CONTENT;
            dialog.getWindow().setAttributes(params);
            return dialog;
        }
    }
    public interface MeasureCallBack {
        public void onMeasure(int height);
    }
}
BuWanVideo/src/com/weikou/beibeivideo/ui/dialog/UserProtocolDialog.java
@@ -101,7 +101,7 @@
            LayoutInflater inflater = (LayoutInflater) context
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            final UserProtocolDialog dialog = new UserProtocolDialog(context, R.style.Dialog);
            dialog.setCanceledOnTouchOutside(true);
            dialog.setCanceledOnTouchOutside(false);
            final View layout = inflater.inflate(R.layout.dialog_user_protocol, null);
            dialog.addContentView(layout, new FrameLayout.LayoutParams(
                    FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT));
BuWanVideo/src/com/weikou/beibeivideo/ui/dialog/VideoResourceListDialog.java
@@ -17,6 +17,7 @@
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import com.androidquery.AQuery;
@@ -167,9 +168,10 @@
                tv_input.setText(reList.get(position).isChecked() ? "当前浏览" : "");
                background = reList.get(position).isChecked() ? R.drawable.shape_video_detail_resource_middle_item_selected_bg : R.drawable.shape_video_detail_resource_middle_item_bg;
                ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, DimenUtils.dip2px(context, 64));
                view.setLayoutParams(params);
//TODO 解决bug
//                ViewGroup.LayoutParams params =view.getLayoutParams();
//                params.width=ViewGroup.LayoutParams.MATCH_PARENT;
//                params.height=DimenUtils.dip2px(context, 64);
                view.setBackgroundResource(background);
                return view;
BuWanVideo/src/com/weikou/beibeivideo/ui/main/MainActivity.java
@@ -237,7 +237,7 @@
     */
    private void preLoadCommonAD() {
        //加载搜索结果页
        SearchResultAdManager.getInstance(getApplicationContext()).loadAD(1, null);
//        SearchResultAdManager.getInstance(getApplicationContext()).loadAD(1, null);
    }
BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoDetailActivity2.java
@@ -157,6 +157,7 @@
        fl_pptv = findViewById(R.id.fl_pptv);
        fl_pptv.setVisibility(View.GONE);
        iv_select_play = findViewById(R.id.iv_select_play);
        tv_back = findViewById(R.id.iv_back);
        iv_download_failure = findViewById(R.id.iv_download_failure);
@@ -780,7 +781,7 @@
            FrameLayout layout = findViewById(R.id.fragment_video_play_container1);
            if (layout == null)
                return;
            android.view.ViewGroup.LayoutParams layoutParams = layout
            ViewGroup.LayoutParams layoutParams = layout
                    .getLayoutParams();
            layoutParams.height = (int) (DimenUtils.getScreenWidth(this) * 0.5625f);
            layout.requestLayout();
BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoEpisodeFragment.java
@@ -313,7 +313,7 @@
    private Runnable adRunnable = new Runnable() {
        @Override
        public void run() {
            loadAD2();
//            loadAD2();
        }
    };
BuWanVideo/src/com/weikou/beibeivideo/ui/mine/PPTVPlayFragment.java
@@ -119,10 +119,7 @@
                }
                String cid = map.get("cid");
                String vid = map.get("vid");
                return new String[]{cid, vid};
            }
        }
        return null;
BuWanVideo/src/com/weikou/beibeivideo/util/BeibeiConstant.java
@@ -14,8 +14,8 @@
    //是否有开屏广告
    public final static boolean AD_SETTING_KAIPIN = true;
    public static final String USER_AGREEMENT = "http://ysdq.yeshitv.com:8089/BuWan/api_control_ios_bw.jsp";
    public static final String PRIVACY_POLICY = "http://ysdq.yeshitv.com:8089/BuWan/user_protocol_bw.jsp";
    public static final String USER_AGREEMENT = "http://bwweb.yeshitv.com/user_protocol.html";
    public static final String PRIVACY_POLICY = "http://bwweb.yeshitv.com/privacy.html";
    public static final String ABOUT_US = "http://bwweb.yeshitv.com/abountOur/index.html";
BuWanVideo/src/com/weikou/beibeivideo/util/ad/ExpressAdManager.java
@@ -48,9 +48,13 @@
        sourceType = adSource;
        this.mContext = context;
        if (sourceType == AdUtil.AD_TYPE.csj) {
            TTAdManager ttAdManager = TTAdManagerHolder.get();
            mTTAdNative = ttAdManager.createAdNative(context);
//            TTAdManagerHolder.get().requestPermissionIfNecessary(context);
            TTAdManager ttAdManager = null;
            try {
                ttAdManager = TTAdManagerHolder.get();
                mTTAdNative = ttAdManager.createAdNative(context);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
@@ -468,6 +472,11 @@
                .setExpressViewAcceptedSize(width, height)
                .setAdCount(count) //请求广告数量为1到3条
                .build();
        if (mTTAdNative == null) {
            if (adLoadListener != null)
                adLoadListener.onSuccess(null);
            return;
        }
        mTTAdNative.loadNativeExpressAd(adSlot, new TTAdNative.NativeExpressAdListener() {
            @Override
            public void onError(int i, String s) {
@@ -569,7 +578,6 @@
                            adEventListener.closeAd(ad);
                        }
                    }
                    @Override
@@ -691,12 +699,10 @@
                    }
                    @Override
                    public void onCancel() {
                    }
                });
BuWanVideo/src/com/weikou/beibeivideo/util/ad/FullVideoAdManager.java
@@ -34,7 +34,13 @@
                .setExpressViewAcceptedSize(w, h)
                .setOrientation(TTAdConstant.VERTICAL)
                .build();
        TTAdManager ttAdManager = TTAdManagerHolder.get();
        TTAdManager ttAdManager = null;
        try {
            ttAdManager = TTAdManagerHolder.get();
        } catch (Exception e) {
            e.printStackTrace();
            return;
        }
        mTTAdNative = ttAdManager.createAdNative(context);
        //加载全屏视频
        mTTAdNative.loadFullScreenVideoAd(adSlot, new TTAdNative.FullScreenVideoAdListener() {
BuWanVideo/src/com/weikou/beibeivideo/util/ad/RewardVideoAdManager.java
@@ -58,8 +58,14 @@
        sourceType = adSource;
        this.mContext = context;
        if (sourceType == AdUtil.AD_TYPE.csj) {
            TTAdManager ttAdManager = TTAdManagerHolder.get();
            mTTAdNative = ttAdManager.createAdNative(context);
            TTAdManager ttAdManager = null;
            try {
                ttAdManager = TTAdManagerHolder.get();
                mTTAdNative = ttAdManager.createAdNative(context);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
@@ -124,6 +130,11 @@
                .setExpressViewAcceptedSize(width, height)
                .setOrientation(hrizontal ? TTAdConstant.HORIZONTAL : TTAdConstant.VERTICAL)
                .build();
        if (mTTAdNative == null) {
            if (adLoadListener != null)
                adLoadListener.onError("mTTAdNative为空");
            return;
        }
        mTTAdNative.loadRewardVideoAd(adSlot, new TTAdNative.RewardVideoAdListener() {
            //请求广告失败
            @Override
BuWanVideo/src/com/weikou/beibeivideo/util/ad/SplashAdUtil.java
@@ -123,7 +123,16 @@
    private static void loadCSJ(String code, Context context, final View skip, final SplashAdListener splashAdListener) {
        if (skip != null)
            skip.setVisibility(View.GONE);
        TTAdManager ttAdManager = TTAdManagerHolder.get();
        TTAdManager ttAdManager = null;
        try {
            ttAdManager = TTAdManagerHolder.get();
        } catch (Exception e) {
        }
        if (ttAdManager == null) {
            splashAdListener.noAd();
            return;
        }
        TTAdNative mTTAdNative = ttAdManager.createAdNative(context.getApplicationContext());
        //穿山甲广告
        int width = DimenUtils.getScreenWidth(context.getApplicationContext());
BuWanVideo/src/com/weikou/beibeivideo/util/ad/TTAdManagerHolder.java
@@ -1,6 +1,7 @@
package com.weikou.beibeivideo.util.ad;
import android.content.Context;
import android.util.Log;
import com.bytedance.sdk.openadsdk.TTAdConfig;
import com.bytedance.sdk.openadsdk.TTAdConstant;
@@ -12,12 +13,13 @@
 */
public class TTAdManagerHolder {
    private static final String TAG = "TTAdManagerHolder";
    private static boolean sInit;
    public static TTAdManager get() {
    public static TTAdManager get() throws Exception{
        if (!sInit) {
            throw new RuntimeException("TTAdSdk is not init, please check.");
            throw new Exception("TTAdSdk is not init, please check.");
        }
        return TTAdSdk.getAdManager();
    }
@@ -30,8 +32,20 @@
    private static void doInit(Context context) {
        if (!sInit) {
            try {
                TTAdSdk.init(context, buildConfig(context));
                sInit = true;
                TTAdSdk.init(context, buildConfig(context), new TTAdSdk.InitCallback() {
                    @Override
                    public void success() {
                        Log.i(TAG, "TTAdSdk初始化成功");
                        sInit = true;
                    }
                    @Override
                    public void fail(int i, String s) {
                        Log.e(TAG, "TTAdSdk初始化失败:"+s);
                        sInit = false;
                    }
                });
            } catch (Exception e) {
            }
library-GDTSDK/build.gradle
@@ -4,6 +4,8 @@
    api fileTree(include: '*.jar', dir: 'libs')
    api 'androidx.legacy:legacy-support-v4:1.0.0'
    api 'com.qq.e.union:union:+'
    implementation 'com.qq.e.union:union:4.410.1290'
//    api files("libs/GDTSDK.unionNormal.4.420.1290.aar")
}
android {
library-SocialSdk/assets/geo_global_ca.cer
Binary files differ
library-SocialSdk/libs/sina-weibo-openDefault-10.10.0.aar
Binary files differ
library-SocialSdk/libs/umeng-common-9.4.2.jar
Binary files differ
library-SocialSdk/libs/umeng-share-QQ-full-7.1.6.jar
Binary files differ
library-SocialSdk/libs/umeng-share-core-7.1.6.jar
Binary files differ
library-SocialSdk/libs/umeng-share-sina-full-7.1.6.jar
Binary files differ
library-SocialSdk/libs/umeng-share-wechat-full-7.1.6.jar
Binary files differ
library-SocialSdk/libs/umeng-shareboard-widget-7.1.6.jar
Binary files differ
library-SocialSdk/libs/umeng-sharetool-7.1.6.jar
Binary files differ
library-VideoPlayer/src/main/java/com/yeshi/video/player/common/IVideoPlayerListener.java
New file
@@ -0,0 +1,25 @@
package com.yeshi.video.player.common;
public interface IVideoPlayerListener {
    //暂停
    public void onVideoPause();
    //播放
    public void onVideoPlay();
    //下一集
    public void onNext();
    //返回
    public void onBack();
    //选集
    public void selectEpisode(int p, VideoEpisode episode);
    //搜藏
    public void collect(boolean collect);
    //切换清晰度
    public void changeDefinition(int p, VideoDefinition definition);
}
library-common/libs/eventbus-3.1.1.jar
Binary files differ
library-common/libs/fastjson-1.2.7.jar
Binary files differ
library-push/src/main/java/com/yeshi/push/PushUtil.java
@@ -1,25 +1,17 @@
package com.yeshi.push;
import android.app.ActivityManager;
import android.app.Application;
import android.content.Context;
import android.os.Build;
import android.os.Process;
import android.text.TextUtils;
import android.util.Log;
import com.heytap.msp.push.HeytapPushManager;
import com.heytap.msp.push.callback.ICallBackResultService;
import com.huawei.hms.aaid.HmsInstanceId;
import com.huawei.hms.common.ApiException;
import com.lcjian.library.util.ManifestDataUtil;
import com.lcjian.library.util.common.StringUtils;
import com.meizu.cloud.pushsdk.PushManager;
import com.vivo.push.IPushActionListener;
import com.vivo.push.PushClient;
import com.xiaomi.mipush.sdk.MiPushClient;
import java.util.List;
public class PushUtil {
@@ -38,21 +30,21 @@
                    new Thread() {
                        @Override
                        public void run() {
                            try {
                                // 从agconnect-service.json文件中读取appId
                                String appId = "10409568";
                                // 输入token标识"HCM"
                                String tokenScope = "HCM";
                                String token = HmsInstanceId.getInstance(context).getToken(appId, tokenScope);
                                Log.i(TAG, "get token: " + token);
                                // 判断token是否为空
                                if(!TextUtils.isEmpty(token)) {
                                    tokenListener.onToken("hw",token);
                                }
                            } catch (ApiException e) {
                                Log.e(TAG, "hw: get token failed, " + e);
                            }
//                            try {
//                                // 从agconnect-service.json文件中读取appId
//                                String appId = "10409568";
//                                // 输入token标识"HCM"
//                                String tokenScope = "HCM";
//                                String token = HmsInstanceId.getInstance(context).getToken(appId, tokenScope);
//                                Log.i(TAG, "get token: " + token);
//
//                                // 判断token是否为空
//                                if(!TextUtils.isEmpty(token)) {
//                                    tokenListener.onToken("hw",token);
//                                }
//                            } catch (ApiException e) {
//                                Log.e(TAG, "hw: get token failed, " + e);
//                            }
                        }
                    }.start();
                    return;