admin
2021-07-20 27bd1f81221b8c8e8047118a64c2beb7bc214bbb
木瓜接入布丸系统完成
10个文件已删除
57个文件已修改
3943 ■■■■ 已修改文件
MGVideo/AndroidManifest.xml 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/build.gradle 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/res/drawable/shape_video_detail_episode_selected.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/res/drawable/shape_video_detail_episode_unselected.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/res/layout/act_login.xml 219 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/res/layout/activity_register.xml 198 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/res/layout/item_movie.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/res/layout/recommend_fragment.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/res/layout/search_actvity.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/res/values/strings.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/src/com/mugua/mgvideo/MGVideoAPI.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/src/com/mugua/mgvideo/MGVideoApplication.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/src/com/mugua/mgvideo/entity/HomeType.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/src/com/mugua/mgvideo/entity/JumpDetail.java 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/src/com/mugua/mgvideo/ui/SplashActivity.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/src/com/mugua/mgvideo/ui/common/VideosFragment.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/src/com/mugua/mgvideo/ui/discover/GoodsDetailActivity.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/src/com/mugua/mgvideo/ui/discover/GoodsReviewPopupWindow.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/src/com/mugua/mgvideo/ui/login/ForgetPwdActivity.java 292 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/src/com/mugua/mgvideo/ui/login/LoginActivity.java 529 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/src/com/mugua/mgvideo/ui/login/PersonInfoActivity.java 383 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/src/com/mugua/mgvideo/ui/login/RegisterActivity.java 377 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/src/com/mugua/mgvideo/ui/main/MineFragment.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/src/com/mugua/mgvideo/ui/main/RecommendNewFragment.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/src/com/mugua/mgvideo/ui/mine/SettingsActivity.java 530 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/src/com/mugua/mgvideo/ui/recommend/RecommendNewAdapter.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/src/com/mugua/mgvideo/ui/recommend/RecommendTopAdapter.java 173 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/src/com/mugua/mgvideo/ui/recommend/SearchActivity.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/src/com/mugua/mgvideo/ui/video/VideoRecommendAdapter.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/src/com/mugua/mgvideo/util/ConfigUtil.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/src/com/mugua/mgvideo/util/ExitDialog.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/src/com/mugua/mgvideo/util/JumpActivityUtil.java 182 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/src/com/mugua/mgvideo/util/browser/BaseBWJavaInterface.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/src/com/mugua/mgvideo/util/browser/MGJavaInterface.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-BaiduCPU/src/main/java/com/yeshi/ec/library_baiducpu/fragment/BaiDuCPUContentFragment.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-base/src/main/AndroidManifest.xml 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-base/src/main/java/com/yeshi/base/entity/ad/AdPositionEnum.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-base/src/main/java/com/yeshi/base/ui/BrowserActivity.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-base/src/main/java/com/yeshi/base/ui/ForgetPwdActivity.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-base/src/main/java/com/yeshi/base/ui/LoginActivity.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-base/src/main/java/com/yeshi/base/ui/PersonInfoActivity.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-base/src/main/java/com/yeshi/base/ui/RegisterActivity.java 607 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-base/src/main/java/com/yeshi/base/ui/dialog/LoadingDialogUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-base/src/main/java/com/yeshi/base/utils/BeibeiConstant.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-base/src/main/java/com/yeshi/base/utils/JumpActivityUtil.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-base/src/main/java/com/yeshi/base/utils/RouteConstant.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-base/src/main/java/com/yeshi/base/utils/ad/GDTConstant.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-base/src/main/java/com/yeshi/base/utils/ad/TTAdManagerHolder.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-base/src/main/res/layout/act_login.xml 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-base/src/main/res/layout/activity_register.xml 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-base/src/main/res/values/strings.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-common/src/com/lcjian/library/util/common/PackageUtils2.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-search/src/main/java/com/yeshi/ec/search/ui/SearchResultActivity.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-search/src/main/java/com/yeshi/ec/search/ui/SearchResultAdapter.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-search/src/main/res/drawable-xhdpi/icon_video_vip.png 补丁 | 查看 | 原始文档 | blame | 历史
library-search/src/main/res/drawable/shape_video_detail_episode_selected.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-search/src/main/res/drawable/shape_video_detail_episode_unselected.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-search/src/main/res/layout/item_album_list_ad.xml 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-search/src/main/res/layout/item_video_search_result_album.xml 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-search/src/main/res/layout/item_video_search_result_video.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-search/src/main/res/values/colors.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-search/src/main/res/values/style.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-video/src/main/java/com/yeshi/video/ui/EpisodeFragment.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-video/src/main/java/com/yeshi/video/ui/VideoDetailActivity.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-video/src/main/java/com/yeshi/video/ui/VideoEpisodeFragment.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-video/src/main/java/com/yeshi/video/ui/VideoPlayerFragment.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-video/src/main/res/values/colors.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
MGVideo/AndroidManifest.xml
@@ -59,9 +59,7 @@
        <activity
            android:name=".ui.mine.SettingsActivity"
            android:label="@string/app_name"></activity>
        <activity
            android:name=".ui.login.LoginActivity"
            android:label="@string/app_name"></activity>
        <activity
            android:name=".ui.mine.HelpAndTicklingActivity"
            android:label="@string/app_name"></activity>
@@ -109,9 +107,7 @@
            android:name=".ui.mine.BrowserActivity"
            android:label="@string/app_name"
            android:windowSoftInputMode="stateHidden|adjustResize"></activity>
        <activity
            android:name=".ui.login.ForgetPwdActivity"
            android:label="@string/app_name"></activity>
        <activity
            android:name=".ui.discover.GoodsDetailActivity"
            android:label="@string/app_name"></activity>
@@ -121,12 +117,7 @@
        <activity
            android:name=".ui.discover.SpecificListActivity"
            android:label="@string/app_name"></activity>
        <activity
            android:name=".ui.login.PersonInfoActivity"
            android:label="@string/app_name"></activity>
        <activity
            android:name=".ui.login.RegisterActivity"
            android:label="@string/app_name"></activity>
        <activity
            android:name=".ui.LinkPageActivity"
            android:label="@string/app_name"></activity>
@@ -152,7 +143,7 @@
        <!-- targetSDKVersion >= 24时才需要添加这个provider。provider的authorities属性的值为${applicationId}.fileprovider,请开发者根据自己的${applicationId}来设置这个值,例如本例中applicationId为"com.qq.e.union.demo"。 -->
        <provider
            android:name="androidx.core.content.FileProvider"
            android:authorities="com.doudou.ysvideo.fileprovider"
            android:authorities="com.mugua.mgvideo.fileprovider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
@@ -197,7 +188,7 @@
            android:value="2.5" />
        <meta-data
            android:name="UMENG_CHANNEL"
            android:value="GuanWang"></meta-data>
            android:value="huawei"></meta-data>
        <meta-data
MGVideo/build.gradle
@@ -31,7 +31,6 @@
    implementation project(path: ':library-BaiduCPU')
    //加载动画库
    implementation 'com.github.ybq:Android-SpinKit:1.4.0'
    implementation project(path: ':library-base')
@@ -80,8 +79,8 @@
    }
    defaultConfig {
        applicationId "com.mugua.mgvideo"
        versionCode 83
        versionName "2.4.3"
        versionCode 84
        versionName "2.4.4"
        multiDexEnabled = true
        ndk {
            abiFilters "armeabi-v7a", "x86", "armeabi"
@@ -96,10 +95,24 @@
//        manifestPlaceholders = [app_icon: "@drawable/app_icon",splashLayout:"activity_splash_ysdqjj"]
        resValue "string", "app_name", "木瓜影视大全"
        resValue "string", "agreement", "http://111.231.250.166/mugua/userAgreenment.html"
        resValue "string", "privacy", "http://111.231.250.166/mugua/privacyPolicy.html"
        resValue "string", "about_us_url", "http://111.231.250.166/mugua/aboutUs.html"
        resValue "string", "agreement", "http://h5.mugua.yeshitv.com/user_protocol.html"
        resValue "string", "privacy", "http://h5.mugua.yeshitv.com/privacy.html"
        resValue "string", "about_us_url", "http://h5.mugua.yeshitv.com/abountOur/index.html"
        manifestPlaceholders = [app_icon: "@drawable/ic_launcher", splashLayout: "activity_splash"]
        //木瓜
//        resValue "string", "umeng_key", "55360d5b67e58eaf86002c0d"
//        resValue "string", "qq_id", "1104492673"
//        resValue "string", "qq_key", "AI6ri4IcDhsacEoP"
//        resValue "string", "ad_csj_app_id", "5123000"
        //华为木瓜
//        resValue "string", "umeng_key", "56a1dfbe67e58e6bb10002a2"
//        resValue "string", "qq_id", ""
//        resValue "string", "qq_key", ""
//        resValue "string", "ad_csj_app_id", "5123000"
    }
//    productFlavors {
MGVideo/res/drawable/shape_video_detail_episode_selected.xml
File was deleted
MGVideo/res/drawable/shape_video_detail_episode_unselected.xml
File was deleted
MGVideo/res/layout/act_login.xml
File was deleted
MGVideo/res/layout/activity_register.xml
File was deleted
MGVideo/res/layout/item_movie.xml
@@ -32,6 +32,7 @@
                    android:layout_width="29.5dp"
                    android:layout_height="17.5dp"
                    android:layout_gravity="top|right"
                    android:layout_marginRight="3dp"
                    android:src="@drawable/icon_video_vip" />
                <ImageView
MGVideo/res/layout/recommend_fragment.xml
@@ -59,6 +59,7 @@
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="top|right"
                android:visibility="gone"
                android:src="@drawable/ic_red_point"></ImageView>
        </FrameLayout>
    </RelativeLayout>
MGVideo/res/layout/search_actvity.xml
@@ -179,7 +179,7 @@
                android:layout_height="wrap_content"
                android:padding="6dp"
                android:text="猜你喜欢"
                android:visibility="visible" />
                android:visibility="gone" />
            <com.lcjian.library.widget.MyGridView
                android:id="@+id/gv_video_guess_like"
MGVideo/res/values/strings.xml
@@ -1,9 +1,9 @@
<resources>
<!--    <string name="app_name">木瓜影视大全</string>-->
<!--    <string name="agreement">http://111.231.250.166/mugua/userAgreenment.html</string>-->
<!--    <string name="privacy">http://111.231.250.166/mugua/privacyPolicy.html</string>-->
<!--        <string name="about_us_url">木瓜影视大全</string>-->
    <!--    <string name="app_name">木瓜影视大全</string>-->
    <!--    <string name="agreement">http://111.231.250.166/mugua/userAgreenment.html</string>-->
    <!--    <string name="privacy">http://111.231.250.166/mugua/privacyPolicy.html</string>-->
    <!--        <string name="about_us_url">木瓜影视大全</string>-->
    <string name="recommend">推荐</string>
@@ -19,7 +19,7 @@
    <string name="download_url">下载链接</string>
    <string name="my_score">我的成绩</string>
    <string name="my_accumulate">我的积分</string>
    <string name="user_agreement">用户使用协议&amp;隐私条款</string>
    <string name="user_agreement">用户使用协议</string>
    <string name="rule_email">0123456789abcdefghijklmnopqrstuvwxyz@.</string>
    <string name="rule_password">0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`¬!"£$%^*()~=#{}[];':,./?/*-_+&#060;&#062;&#064;&#038;</string>
    <string name="share_to">分享软件</string>
@@ -85,5 +85,9 @@
    <string name="review_edit">我也来说两句...</string>
    <string name="review_deliver">发表</string>
    <string name="umeng_key">55360d5b67e58eaf86002c0d</string>
    <string name="qq_id">1104492673</string>
    <string name="qq_key">AI6ri4IcDhsacEoP</string>
</resources>
MGVideo/src/com/mugua/mgvideo/MGVideoAPI.java
@@ -1268,7 +1268,7 @@
    public static void commonGet(Context context, String url,
                                 LinkedHashMap<String, String> params,
                                 ResponseHandlerInterface handler, boolean asyn) {
        params.put("Package", context.getPackageName());
        params.put("Package",PackageUtils2.getPackageName(context));
        LinkedHashMap<String, String> map = validateParams(params, context);
        RequestParams requestParams = new RequestParams(map);
@@ -1303,7 +1303,7 @@
    private static void commonPost(Context context, String url,
                                   LinkedHashMap<String, String> params, HashMap<String, File> files,
                                   ResponseHandlerInterface handler, boolean asyn) {
        params.put("Package", "com.mugua.mgvideo");//context.getPackageName()
        params.put("Package", PackageUtils2.getPackageName(context));//context.getPackageName()
        int version = PackageUtils2.getVersionCode(context);
        params.put("Version", version + "");
MGVideo/src/com/mugua/mgvideo/MGVideoApplication.java
@@ -16,6 +16,7 @@
import com.funshion.playsdk.callback.FunshionPlayInitCallback;
import com.funshion.playsdk.register.IAuthCodeGetter;
import com.lcjian.library.util.ManifestDataUtil;
import com.lcjian.library.util.common.PackageUtils2;
import com.mugua.mgvideo.util.CrashHandler;
import com.mugua.mgvideo.util.FunshionConstant;
import com.mugua.mgvideo.util.UserUtil;
@@ -66,7 +67,7 @@
        // }
        super.onCreate();
        //同意用户协议
        if (UserUtil.isAgreeUserProtocol(this)) {
        if (UserUtil.isAgreeUserProtocol(this) || BeibeiConstant.DEBUG) {
            init(this);
        }
    }
@@ -93,7 +94,7 @@
        });
//        PlatformConfig.setWeixin(BeibeiConstant.WECHAT_ID,
//                BeibeiConstant.WECHAT_KEY);
        PlatformConfig.setQQZone(BeibeiConstant.QQ_ID, BeibeiConstant.QQ_KEY);
        PlatformConfig.setQQZone(application.getString(R.string.qq_id), application.getString(R.string.qq_key));
//        PlatformConfig.setSinaWeibo(BeibeiConstant.SINA_ID,
//                BeibeiConstant.SINA_KEY,
//                "http://sns.whalecloud.com/sina2/callback");
@@ -171,7 +172,7 @@
    public static String getVersionName(Context context) {
        try {
            PackageInfo pi = context.getPackageManager().getPackageInfo(
                    context.getPackageName(), 0);
                    PackageUtils2.getPackageName(context), 0);
            return pi.versionName;
        } catch (NameNotFoundException e) {
            e.printStackTrace();
@@ -209,7 +210,7 @@
     */
    private static void initAd(Application application) {
        TTAdManagerHolder.init(application);
        GDTADManager.getInstance().initWith(application, GDTConstant.GDT_APP_ID);
        GDTADManager.getInstance().initWith(application, application.getString(R.string.ad_gdt_app_id));
    }
MGVideo/src/com/mugua/mgvideo/entity/HomeType.java
@@ -2,6 +2,7 @@
import com.google.gson.annotations.Expose;
import com.mugua.mgvideo.ui.category.bean.HotStar;
import com.yeshi.base.entity.JumpDetail;
import com.yeshi.base.entity.video.VideoInfo;
import java.io.Serializable;
MGVideo/src/com/mugua/mgvideo/entity/JumpDetail.java
File was deleted
MGVideo/src/com/mugua/mgvideo/ui/SplashActivity.java
@@ -371,7 +371,7 @@
                                public void run() {
                                    toMainActivity();
                                }
                            },2000);
                            }, 2000);
                        }
                    });
MGVideo/src/com/mugua/mgvideo/ui/common/VideosFragment.java
@@ -27,6 +27,7 @@
import com.mugua.mgvideo.MGVideoAPI;
import com.mugua.mgvideo.R;
import com.mugua.mgvideo.ui.category.CategoryListAdapter;
import com.yeshi.base.entity.ad.AdPositionEnum;
import com.yeshi.base.utils.BeibeiConstant;
import com.qq.e.ads.cfg.VideoOption;
import com.qq.e.ads.nativ.ADSize;
@@ -36,6 +37,7 @@
import com.umeng.analytics.MobclickAgent;
import com.yeshi.base.entity.video.VideoInfo;
import com.yeshi.base.entity.video.VideoType;
import com.yeshi.base.utils.ad.AdUtil;
import com.yeshi.base.utils.ad.GDTConstant;
import com.yeshi.base.utils.http.BasicTextHttpResponseHandler;
@@ -131,7 +133,7 @@
            @Override
            public void onRefresh() {
                mCurrentPage = 1;
                if (BeibeiConstant.ADSHOW) {
                if (AdUtil.getAdType(getContext(), AdPositionEnum.other) != null) {
                    loadAD();
                } else {
                    getVideoList();
@@ -181,7 +183,7 @@
            @Override
            public void run() {
                if (BeibeiConstant.ADSHOW) {
                if (AdUtil.getAdType(getContext(), AdPositionEnum.other) != null) {
                    loadAD();
                } else {
                    getVideoList();
@@ -227,7 +229,7 @@
                            mGridVideoAdapter.notifyDataSetChanged();
                            // 需要添加广点通原生广告的时候执行以下条件语句,否则取消
                            if (videoInfos != null && videoInfos.size() == 30
                                    && BeibeiConstant.ADSHOW) {
                                    && AdUtil.getAdType(getContext(), AdPositionEnum.other) != null) {
                                loadAD();
                            }
                            if ((videoInfos == null || videoInfos.size() == 0)
@@ -269,7 +271,7 @@
                mCurrentPage = 1;
                view.findViewById(R.id.v_1).setVisibility(View.VISIBLE);
                view.findViewById(R.id.v_2).setVisibility(View.GONE);
                if (BeibeiConstant.ADSHOW) {
                if (AdUtil.getAdType(getContext(), AdPositionEnum.other) != null) {
                    loadAD();
                } else {
                    getVideoList();
@@ -281,7 +283,7 @@
                mCurrentPage = 1;
                view.findViewById(R.id.v_1).setVisibility(View.GONE);
                view.findViewById(R.id.v_2).setVisibility(View.VISIBLE);
                if (BeibeiConstant.ADSHOW) {
                if (AdUtil.getAdType(getContext(), AdPositionEnum.other) != null) {
                    loadAD();
                } else {
                    getVideoList();
MGVideo/src/com/mugua/mgvideo/ui/discover/GoodsDetailActivity.java
@@ -97,20 +97,20 @@
        /*
         * 计算状态栏高度并设置
         */
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            Window window = getWindow();
            window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,
                    WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
            int result = 0;
            int resourceId = getResources().getIdentifier("status_bar_height",
                    "dimen", "android");
            if (resourceId > 0) {
                result = getResources().getDimensionPixelSize(resourceId);
            }
            FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
                    FrameLayout.LayoutParams.MATCH_PARENT, result);
            findViewById(R.id.v_status_bar).setLayoutParams(params);
        }
//        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
//            Window window = getWindow();
//            window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,
//                    WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
//            int result = 0;
//            int resourceId = getResources().getIdentifier("status_bar_height",
//                    "dimen", "android");
//            if (resourceId > 0) {
//                result = getResources().getDimensionPixelSize(resourceId);
//            }
//            FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
//                    FrameLayout.LayoutParams.MATCH_PARENT, result);
//            findViewById(R.id.v_status_bar).setLayoutParams(params);
//        }
        View topView = LayoutInflater.from(this).inflate(
                R.layout.item_goods_detail_top, null);
        View bottom = LayoutInflater.from(this).inflate(
MGVideo/src/com/mugua/mgvideo/ui/discover/GoodsReviewPopupWindow.java
@@ -26,11 +26,11 @@
import com.lcjian.library.util.common.StringUtils;
import com.mugua.mgvideo.R;
import com.yeshi.base.ui.LoginActivity;
import com.yeshi.base.utils.http.BasicTextHttpResponseHandler;
import com.mugua.mgvideo.MGVideoAPI;
import com.mugua.mgvideo.entity.GoodsComments;
import com.mugua.mgvideo.entity.UserInfo;
import com.mugua.mgvideo.ui.login.LoginActivity;
import de.greenrobot.event.EventBus;
MGVideo/src/com/mugua/mgvideo/ui/login/ForgetPwdActivity.java
File was deleted
MGVideo/src/com/mugua/mgvideo/ui/login/LoginActivity.java
File was deleted
MGVideo/src/com/mugua/mgvideo/ui/login/PersonInfoActivity.java
File was deleted
MGVideo/src/com/mugua/mgvideo/ui/login/RegisterActivity.java
File was deleted
MGVideo/src/com/mugua/mgvideo/ui/main/MineFragment.java
@@ -40,17 +40,18 @@
import com.lcjian.library.util.common.StringUtils;
import com.mugua.mgvideo.R;
import com.mugua.mgvideo.ui.mine.SuggestionActivity;
import com.mugua.mgvideo.util.ConfigUtil;
import com.umeng.analytics.MobclickAgent;
import com.umeng.socialize.ShareAction;
import com.umeng.socialize.UMShareListener;
import com.umeng.socialize.bean.SHARE_MEDIA;
import com.umeng.socialize.media.UMWeb;
import com.yeshi.base.ui.LoginActivity;
import com.yeshi.base.ui.PersonInfoActivity;
import com.yeshi.base.utils.http.BasicTextHttpResponseHandler;
import com.mugua.mgvideo.MGVideoAPI;
import com.mugua.mgvideo.db.MessageTable;
import com.mugua.mgvideo.entity.Banner;
import com.mugua.mgvideo.ui.login.LoginActivity;
import com.mugua.mgvideo.ui.mine.BrowserActivity;
import com.mugua.mgvideo.ui.mine.MyFavouriteActivity;
import com.mugua.mgvideo.ui.mine.SettingsActivity;
@@ -290,7 +291,7 @@
                }
            }
            break;
            case R.id.rl_suggestion: {// 帮助与反馈
            case R.id.rl_suggestion: {// 关于我们
                // Intent intent = new Intent(getActivity(),
                // HelpAndTicklingActivity.class);
                // startActivity(intent);
MGVideo/src/com/mugua/mgvideo/ui/main/RecommendNewFragment.java
@@ -39,7 +39,6 @@
import com.mugua.mgvideo.entity.HomeType;
import com.mugua.mgvideo.entity.HomeTypeItem;
import com.mugua.mgvideo.entity.HomeVideo;
import com.mugua.mgvideo.entity.JumpDetail;
import com.mugua.mgvideo.entity.recommend.HomeClass;
import com.mugua.mgvideo.test.MyViewPager;
import com.mugua.mgvideo.ui.category.bean.HotStar;
@@ -47,12 +46,14 @@
import com.mugua.mgvideo.ui.recommend.RecommendTopAdapter;
import com.mugua.mgvideo.ui.recommend.SearchActivity;
import com.mugua.mgvideo.util.DimenUtils;
import com.mugua.mgvideo.util.JumpActivityUtil;
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.umeng.analytics.MobclickAgent;
import com.viewpagerindicator.LinePageIndicator;
import com.yeshi.base.entity.JumpDetail;
import com.yeshi.base.entity.ad.AdPositionEnum;
import com.yeshi.base.entity.ad.ExpressAdContainer;
import com.yeshi.base.entity.video.VideoInfo;
import com.yeshi.base.utils.JumpActivityUtil;
import com.yeshi.base.utils.RouteConstant;
import com.yeshi.base.utils.ad.AdUtil;
import com.yeshi.base.utils.ad.CSJConstant;
@@ -431,6 +432,9 @@
    private List<ExpressAdContainer> adList;
    private void loadAd() {
        if (AdUtil.getAdType(getContext(), AdPositionEnum.other) == null)
            return;
        try {
            ExpressAdManager recommendAdManager = new ExpressAdManager(AdUtil.AD_TYPE.csj, context);
            //加载大图
MGVideo/src/com/mugua/mgvideo/ui/mine/SettingsActivity.java
@@ -30,6 +30,7 @@
import com.bumptech.glide.Glide;
import com.lcjian.library.util.common.StringUtils;
import com.mugua.mgvideo.R;
import com.mugua.mgvideo.util.ConfigUtil;
import com.umeng.analytics.MobclickAgent;
import com.mugua.mgvideo.entity.SDCardEntity;
import com.mugua.mgvideo.ui.BaseActivity;
@@ -40,291 +41,292 @@
import com.ysh.wpc.appupdate.AppUpdate;
public class SettingsActivity extends BaseActivity implements OnClickListener,
        OnCheckedChangeListener {
        OnCheckedChangeListener {
    private TextView tv_top_bar_left;
    private TextView tv_top_bar_middle;
    private TextView tv_version_name;// 版本号
    private TextView tv_top_bar_left;
    private TextView tv_top_bar_middle;
    private TextView tv_version_name;// 版本号
    private CheckBox chb_only_wifi_download;
    private RelativeLayout rl_clear_cache;
    private RelativeLayout rl_about_us;
    private RelativeLayout rl_check_update;// 检查更新
    private RelativeLayout rl_disclaimer;
    private CheckBox chb_only_wifi_download;
    private RelativeLayout rl_clear_cache;
    private RelativeLayout rl_about_us;
    private RelativeLayout rl_check_update;// 检查更新
    private RelativeLayout rl_disclaimer;
    private Button btn_exit;// 离开按钮
    private View view_sdcard;
    private TextView tv_mobile;
    private TextView tv_sdcard;
    private CheckBox cb_mobile;
    private CheckBox cb_sdcard;
    private Button btn_exit;// 离开按钮
    private View view_sdcard;
    private TextView tv_mobile;
    private TextView tv_sdcard;
    private CheckBox cb_mobile;
    private CheckBox cb_sdcard;
    private void chageSize(TextView tv, int start, int end) {
        SpannableStringBuilder spanBuilder = new SpannableStringBuilder(tv
                .getText().toString());
    private void chageSize(TextView tv, int start, int end) {
        SpannableStringBuilder spanBuilder = new SpannableStringBuilder(tv
                .getText().toString());
        spanBuilder.setSpan(new TextAppearanceSpan(null, 0, getResources()
                .getDimensionPixelSize(R.dimen.alphabet_size), null, null),
                start, end, Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        tv.setText(spanBuilder);
    }
        spanBuilder.setSpan(new TextAppearanceSpan(null, 0, getResources()
                        .getDimensionPixelSize(R.dimen.alphabet_size), null, null),
                start, end, Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        tv.setText(spanBuilder);
    }
    /** 初始化内存显示 */
    private void initStorageView() {
    /**
     * 初始化内存显示
     */
    private void initStorageView() {
        tv_mobile.setText("手机存储: 总量:"
                + SDCardUtil.getSotrageSize(SDCardUtil
                        .getTotalExternalMemorySize() / (1024 * 1024))
                + "   可用:"
                + SDCardUtil.getSotrageSize(SDCardUtil
                        .getAvailableExternalMemorySize() / (1024 * 1024)));
        chageSize(tv_mobile, 5, tv_mobile.getText().length());
        SDCardEntity entity = SDCardUtil.getSDCardPath(this);
        if (entity == null) {// 没有外部存储卡
            view_sdcard.setVisibility(View.GONE);
            cb_mobile.setVisibility(View.GONE);
        } else {
            tv_sdcard.setText("SD卡存储: 总量:"
                    + SDCardUtil.getSotrageSize(entity.getTotalSize()
                            / (1024 * 1024))
                    + "   可用:"
                    + SDCardUtil.getSotrageSize(entity.getAvailableSize()
                            / (1024 * 1024)));
            chageSize(tv_sdcard, 6, tv_sdcard.getText().length());
            view_sdcard.setVisibility(View.VISIBLE);
            cb_mobile.setVisibility(View.VISIBLE);
            if (SDCardUtil.getDeaultStorage(this) == SDCardUtil.STORAGE_SDCARD) {
                cb_sdcard.setChecked(true);
                cb_mobile.setChecked(false);
            } else {
                cb_sdcard.setChecked(false);
                cb_mobile.setChecked(true);
            }
        }
    }
        tv_mobile.setText("手机存储: 总量:"
                + SDCardUtil.getSotrageSize(SDCardUtil
                .getTotalExternalMemorySize() / (1024 * 1024))
                + "   可用:"
                + SDCardUtil.getSotrageSize(SDCardUtil
                .getAvailableExternalMemorySize() / (1024 * 1024)));
        chageSize(tv_mobile, 5, tv_mobile.getText().length());
        SDCardEntity entity = SDCardUtil.getSDCardPath(this);
        if (entity == null) {// 没有外部存储卡
            view_sdcard.setVisibility(View.GONE);
            cb_mobile.setVisibility(View.GONE);
        } else {
            tv_sdcard.setText("SD卡存储: 总量:"
                    + SDCardUtil.getSotrageSize(entity.getTotalSize()
                    / (1024 * 1024))
                    + "   可用:"
                    + SDCardUtil.getSotrageSize(entity.getAvailableSize()
                    / (1024 * 1024)));
            chageSize(tv_sdcard, 6, tv_sdcard.getText().length());
            view_sdcard.setVisibility(View.VISIBLE);
            cb_mobile.setVisibility(View.VISIBLE);
            if (SDCardUtil.getDeaultStorage(this) == SDCardUtil.STORAGE_SDCARD) {
                cb_sdcard.setChecked(true);
                cb_mobile.setChecked(false);
            } else {
                cb_sdcard.setChecked(false);
                cb_mobile.setChecked(true);
            }
        }
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.settings_activity);
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.settings_activity);
        view_sdcard = findViewById(R.id.rl_storage_sdcard);
        tv_mobile = (TextView) findViewById(R.id.tv_storage_mobile);
        tv_sdcard = (TextView) findViewById(R.id.tv_storage_sdcard);
        cb_mobile = (CheckBox) findViewById(R.id.cb_storage_mobile);
        cb_sdcard = (CheckBox) findViewById(R.id.cb_storage_sdcard);
        cb_mobile.setOnCheckedChangeListener(this);
        cb_sdcard.setOnCheckedChangeListener(this);
        view_sdcard = findViewById(R.id.rl_storage_sdcard);
        tv_mobile = (TextView) findViewById(R.id.tv_storage_mobile);
        tv_sdcard = (TextView) findViewById(R.id.tv_storage_sdcard);
        cb_mobile = (CheckBox) findViewById(R.id.cb_storage_mobile);
        cb_sdcard = (CheckBox) findViewById(R.id.cb_storage_sdcard);
        cb_mobile.setOnCheckedChangeListener(this);
        cb_sdcard.setOnCheckedChangeListener(this);
        tv_top_bar_left = (TextView) findViewById(R.id.tv_top_bar_left);
        tv_top_bar_middle = (TextView) findViewById(R.id.tv_top_bar_middle);
        tv_top_bar_left.setText("返回");
        tv_top_bar_middle.setText("设置");
        tv_top_bar_left = (TextView) findViewById(R.id.tv_top_bar_left);
        tv_top_bar_middle = (TextView) findViewById(R.id.tv_top_bar_middle);
        tv_top_bar_left.setText("返回");
        tv_top_bar_middle.setText("设置");
        tv_top_bar_left.setOnClickListener(this);
        tv_top_bar_left.setOnClickListener(this);
        chb_only_wifi_download = (CheckBox) findViewById(R.id.chb_only_wifi_download);
        rl_clear_cache = (RelativeLayout) findViewById(R.id.rl_clear_cache);
        rl_disclaimer = (RelativeLayout) findViewById(R.id.rl_disclaimer);
        rl_about_us = (RelativeLayout) findViewById(R.id.rl_about_us);
        rl_check_update = (RelativeLayout) findViewById(R.id.rl_check_update);
        tv_version_name = (TextView) findViewById(R.id.tv_version_name);
        btn_exit = (Button) findViewById(R.id.setting_btn_exit);
        chb_only_wifi_download = (CheckBox) findViewById(R.id.chb_only_wifi_download);
        rl_clear_cache = (RelativeLayout) findViewById(R.id.rl_clear_cache);
        rl_disclaimer = (RelativeLayout) findViewById(R.id.rl_disclaimer);
        rl_about_us = (RelativeLayout) findViewById(R.id.rl_about_us);
        rl_check_update = (RelativeLayout) findViewById(R.id.rl_check_update);
        tv_version_name = (TextView) findViewById(R.id.tv_version_name);
        btn_exit = (Button) findViewById(R.id.setting_btn_exit);
        btn_exit.setOnClickListener(this);
        rl_clear_cache.setOnClickListener(this);
        rl_disclaimer.setOnClickListener(this);
        rl_about_us.setOnClickListener(this);
        rl_check_update.setOnClickListener(this);
        btn_exit.setOnClickListener(this);
        rl_clear_cache.setOnClickListener(this);
        rl_disclaimer.setOnClickListener(this);
        rl_about_us.setOnClickListener(this);
        rl_check_update.setOnClickListener(this);
        final SharedPreferences settings = getSharedPreferences("settings",
                Context.MODE_PRIVATE);
        chb_only_wifi_download.setChecked(settings.getBoolean(
                "only_wifi_download", true));
        chb_only_wifi_download
                .setOnCheckedChangeListener(new OnCheckedChangeListener() {
                    @Override
                    public void onCheckedChanged(CompoundButton buttonView,
                            boolean isChecked) {
                        settings.edit()
                                .putBoolean("only_wifi_download", isChecked)
                                .commit();
                    }
                });
        initStorageView();
        tv_version_name.setText("版本号:" + getVersionName(this));
        // 离开按钮是否显示
        if (StringUtils.isEmpty(getSharedPreferences("user",
                Context.MODE_PRIVATE).getString("LoginUid", ""))) {// 如果为空字符
            btn_exit.setVisibility(View.GONE);
        }
    }
        final SharedPreferences settings = getSharedPreferences("settings",
                Context.MODE_PRIVATE);
        chb_only_wifi_download.setChecked(settings.getBoolean(
                "only_wifi_download", true));
        chb_only_wifi_download
                .setOnCheckedChangeListener(new OnCheckedChangeListener() {
                    @Override
                    public void onCheckedChanged(CompoundButton buttonView,
                                                 boolean isChecked) {
                        settings.edit()
                                .putBoolean("only_wifi_download", isChecked)
                                .commit();
                    }
                });
        initStorageView();
        tv_version_name.setText("版本号:" + getVersionName(this));
        // 离开按钮是否显示
        if (StringUtils.isEmpty(getSharedPreferences("user",
                Context.MODE_PRIVATE).getString("LoginUid", ""))) {// 如果为空字符
            btn_exit.setVisibility(View.GONE);
        }
    }
    /*** 获取版本号 */
    public static String getVersionName(Context context) {
        try {
            PackageInfo pi = context.getPackageManager().getPackageInfo(
                    context.getPackageName(), 0);
            return pi.versionName;
        } catch (NameNotFoundException e) {
            e.printStackTrace();
            return "";
        }
    }
    /*** 获取版本号 */
    public static String getVersionName(Context context) {
        try {
            PackageInfo pi = context.getPackageManager().getPackageInfo(
                    context.getPackageName(), 0);
            return pi.versionName;
        } catch (NameNotFoundException e) {
            e.printStackTrace();
            return "";
        }
    }
    @Override
    public void onResume() {
        super.onResume();
        BadgeView mBadge = new BadgeView(this, tv_version_name);
        mBadge.setBackgroundResource(R.drawable.ic_red_dot);
        mBadge.setTextSize(1);
        mBadge.setText("");
        SharedPreferences preferences = this.getSharedPreferences("update",
                Context.MODE_PRIVATE);
        boolean mStatus = preferences.getBoolean("status", false);
        if (mStatus) {
            mBadge.show();
        } else {
            mBadge.hide();
        }
        MobclickAgent.onPageStart("设置页");
    }
    @Override
    public void onResume() {
        super.onResume();
        BadgeView mBadge = new BadgeView(this, tv_version_name);
        mBadge.setBackgroundResource(R.drawable.ic_red_dot);
        mBadge.setTextSize(1);
        mBadge.setText("");
        SharedPreferences preferences = this.getSharedPreferences("update",
                Context.MODE_PRIVATE);
        boolean mStatus = preferences.getBoolean("status", false);
        if (mStatus) {
            mBadge.show();
        } else {
            mBadge.hide();
        }
        MobclickAgent.onPageStart("设置页");
    }
    @Override
    public void onPause() {
        super.onPause();
        MobclickAgent.onPageEnd("设置页");
    }
    @Override
    public void onPause() {
        super.onPause();
        MobclickAgent.onPageEnd("设置页");
    }
    @Override
    public void onClick(View v) {
        switch (v.getId()) {
        case R.id.setting_btn_exit:// 点击离开
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setMessage("确定要退出登录吗?")
                    .setNegativeButton("取消", null)
                    .setPositiveButton("确定",
                            new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog,
                                        int which) {
                                    Editor edit = getSharedPreferences("user",
                                            Context.MODE_PRIVATE).edit();
                                    edit.putString("LoginUid", "");
                                    edit.commit();
                                    MineFragment.isLogin = false;// 改为未登录状态
                                    finish();
                                }
                            });
            builder.create().show();
            break;
        case R.id.rl_check_update:// 点击检查更新
            AppUpdate.setAppUpdateActivity(this);
            Map<String, String> map = new HashMap<>();
            map.put("360", "6c8349cc7260ae62e3b1396831a8398f");
            map.put("QQ", "d9d4f495e875a2e075a1a4a6e1b9770f");
            map.put("GuanWang", "a5771bce93e200c36f7cd9dfd0e5deaa");
            if ("360".equalsIgnoreCase(getChannelName())) {
                AppUpdate.setAppUpdateKey(map.get("360"));
            } else if ("QQ".equalsIgnoreCase(getChannelName())) {
                AppUpdate.setAppUpdateKey(map.get("QQ"));
            } else {
                AppUpdate.setAppUpdateKey(map.get("GuanWang"));
            }
            AppUpdate.initAppUpdate();
            break;
        case R.id.tv_top_bar_left: {
            finish();
        }
            break;
        case R.id.rl_clear_cache: {
            AlertDialog.Builder builder2 = new AlertDialog.Builder(this);
            builder2.setMessage("确定清空图片缓存?")
                    .setNegativeButton("取消", null)
                    .setPositiveButton("确定",
                            new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog,
                                        int which) {
                                    new Thread(new Runnable() {
                                        @Override
                                        public void run() {
                                            Glide.get(SettingsActivity.this)
                                                    .clearDiskCache();
                                        }
                                    }).start();
                                    // ImageLoader.getInstance().clearDiskCache();
                                    Toast.makeText(SettingsActivity.this,
                                            "缓存已清空", Toast.LENGTH_SHORT).show();
                                }
                            });
            builder2.create().show();
        }
            break;
        case R.id.rl_disclaimer: {
            Intent intent = new Intent(this, BrowserActivity.class);
            intent.putExtra("url", BeibeiConstant.HOST + "/new_video/"
                    + "api_disclaimer.jsp?package=" + getPackageName());
            startActivity(intent);
        }
            break;
        case R.id.rl_about_us: {
            Intent intent = new Intent(this, BrowserActivity.class);
            intent.putExtra("url", BeibeiConstant.HOST + "/new_video/"
                    + "api_about_us.jsp?package=" + getPackageName());
            startActivity(intent);
        }
            break;
        default:
            break;
        }
    }
    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.setting_btn_exit:// 点击离开
                AlertDialog.Builder builder = new AlertDialog.Builder(this);
                builder.setMessage("确定要退出登录吗?")
                        .setNegativeButton("取消", null)
                        .setPositiveButton("确定",
                                new DialogInterface.OnClickListener() {
                                    @Override
                                    public void onClick(DialogInterface dialog,
                                                        int which) {
                                        Editor edit = getSharedPreferences("user",
                                                Context.MODE_PRIVATE).edit();
                                        edit.putString("LoginUid", "");
                                        edit.commit();
                                        MineFragment.isLogin = false;// 改为未登录状态
                                        finish();
                                    }
                                });
                builder.create().show();
                break;
            case R.id.rl_check_update:// 点击检查更新
                AppUpdate.setAppUpdateActivity(this);
                Map<String, String> map = new HashMap<>();
                map.put("360", "6c8349cc7260ae62e3b1396831a8398f");
                map.put("QQ", "d9d4f495e875a2e075a1a4a6e1b9770f");
                map.put("GuanWang", "a5771bce93e200c36f7cd9dfd0e5deaa");
                if ("360".equalsIgnoreCase(getChannelName())) {
                    AppUpdate.setAppUpdateKey(map.get("360"));
                } else if ("QQ".equalsIgnoreCase(getChannelName())) {
                    AppUpdate.setAppUpdateKey(map.get("QQ"));
                } else {
                    AppUpdate.setAppUpdateKey(map.get("GuanWang"));
                }
                AppUpdate.initAppUpdate();
                break;
            case R.id.tv_top_bar_left: {
                finish();
            }
            break;
            case R.id.rl_clear_cache: {
                AlertDialog.Builder builder2 = new AlertDialog.Builder(this);
                builder2.setMessage("确定清空图片缓存?")
                        .setNegativeButton("取消", null)
                        .setPositiveButton("确定",
                                new DialogInterface.OnClickListener() {
                                    @Override
                                    public void onClick(DialogInterface dialog,
                                                        int which) {
                                        new Thread(new Runnable() {
                                            @Override
                                            public void run() {
                                                Glide.get(SettingsActivity.this)
                                                        .clearDiskCache();
                                            }
                                        }).start();
                                        // ImageLoader.getInstance().clearDiskCache();
                                        Toast.makeText(SettingsActivity.this,
                                                "缓存已清空", Toast.LENGTH_SHORT).show();
                                    }
                                });
                builder2.create().show();
            }
            break;
            case R.id.rl_disclaimer: {
                Intent intent = new Intent(this, BrowserActivity.class);
                intent.putExtra("url", BeibeiConstant.HOST + "/new_video/"
                        + "api_disclaimer.jsp?package=" + getPackageName());
                startActivity(intent);
            }
            break;
            case R.id.rl_about_us: {
                Intent intent = new Intent(this, BrowserActivity.class);
                intent.putExtra("url", getString(R.string.about_us_url));
                startActivity(intent);
            }
            break;
            default:
                break;
        }
    }
    private String getChannelName() {
        String channelName = null;
        try {
            PackageManager packageManager = getPackageManager();
            if (packageManager != null) {
                // 注意此处为ApplicationInfo 而不是
                // ActivityInfo,因为友盟设置的meta-data是在application标签中,而不是某activity标签中,所以用ApplicationInfo
                ApplicationInfo applicationInfo = packageManager
                        .getApplicationInfo(
                                SettingsActivity.this.getPackageName(),
                                PackageManager.GET_META_DATA);
                if (applicationInfo != null) {
                    if (applicationInfo.metaData != null) {
                        channelName = applicationInfo.metaData
                                .getString("UMENG_CHANNEL");
                    }
                }
    private String getChannelName() {
        String channelName = null;
        try {
            PackageManager packageManager = getPackageManager();
            if (packageManager != null) {
                // 注意此处为ApplicationInfo 而不是
                // ActivityInfo,因为友盟设置的meta-data是在application标签中,而不是某activity标签中,所以用ApplicationInfo
                ApplicationInfo applicationInfo = packageManager
                        .getApplicationInfo(
                                SettingsActivity.this.getPackageName(),
                                PackageManager.GET_META_DATA);
                if (applicationInfo != null) {
                    if (applicationInfo.metaData != null) {
                        channelName = applicationInfo.metaData
                                .getString("UMENG_CHANNEL");
                    }
                }
            }
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
        return channelName;
    }
            }
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
        return channelName;
    }
    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        if (buttonView.getId() == R.id.cb_storage_mobile) {
            if (isChecked) {
                SDCardUtil.setDeaultStorage(this, SDCardUtil.STORAGE_MOBILE);
                cb_sdcard.setChecked(false);
            }
        } else {
            if (isChecked) {
                SDCardUtil.setDeaultStorage(this, SDCardUtil.STORAGE_SDCARD);
                cb_mobile.setChecked(false);
            }
        }
    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        if (buttonView.getId() == R.id.cb_storage_mobile) {
            if (isChecked) {
                SDCardUtil.setDeaultStorage(this, SDCardUtil.STORAGE_MOBILE);
                cb_sdcard.setChecked(false);
            }
        } else {
            if (isChecked) {
                SDCardUtil.setDeaultStorage(this, SDCardUtil.STORAGE_SDCARD);
                cb_mobile.setChecked(false);
            }
        }
    }
    }
    @Override
    protected void onDestroy() {
        // TODO Auto-generated method stub
        super.onDestroy();
        AppUpdate.destoryAppUpdate();
    }
    @Override
    protected void onDestroy() {
        // TODO Auto-generated method stub
        super.onDestroy();
        AppUpdate.destoryAppUpdate();
    }
}
MGVideo/src/com/mugua/mgvideo/ui/recommend/RecommendNewAdapter.java
@@ -32,9 +32,9 @@
import com.mugua.mgvideo.ui.category.StarsActivity;
import com.mugua.mgvideo.ui.common.VideosLiveActivity;
import com.mugua.mgvideo.ui.video.VideoRecommendAdapter;
import com.mugua.mgvideo.util.JumpActivityUtil;
import com.yeshi.base.entity.ad.ExpressAdContainer;
import com.yeshi.base.entity.video.VideoType;
import com.yeshi.base.utils.JumpActivityUtil;
import com.yeshi.base.utils.ad.ExpressAdManager;
import com.yeshi.base.utils.http.BasicTextHttpResponseHandler;
import com.ysh.wpc.appupdate.util.StringUtils;
MGVideo/src/com/mugua/mgvideo/ui/recommend/RecommendTopAdapter.java
@@ -1,13 +1,7 @@
package com.mugua.mgvideo.ui.recommend;
import java.util.Iterator;
import java.util.List;
import org.json.JSONObject;
import android.content.Context;
import android.content.Intent;
import androidx.viewpager.widget.PagerAdapter;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
@@ -17,103 +11,112 @@
import com.bumptech.glide.Glide;
import com.mugua.mgvideo.MGVideoApplication;
import com.mugua.mgvideo.entity.HomeAd;
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.FadeInBitmapDisplayer;
import com.mugua.mgvideo.entity.HomeAd;
import com.yeshi.base.utils.JumpActivityUtil;
import com.yeshi.video.ui.VideoDetailActivity;
import org.json.JSONObject;
import java.util.Iterator;
import java.util.List;
import androidx.viewpager.widget.PagerAdapter;
import static com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions.withCrossFade;
public class RecommendTopAdapter extends PagerAdapter {
    private ImageLoader imageLoader = ImageLoader.getInstance();
    private ImageLoader imageLoader = ImageLoader.getInstance();
    private DisplayImageOptions options;
    private DisplayImageOptions options;
    private List<HomeAd> mHomeAds;
    private List<HomeAd> mHomeAds;
    private Context context;
    private Context context;
    public RecommendTopAdapter(List<HomeAd> homeAds, Context context) {
        super();
        this.context = context;
        this.mHomeAds = homeAds;
        this.options = new DisplayImageOptions.Builder()
                .resetViewBeforeLoading(true).cacheInMemory(true)
                .cacheOnDisk(true).imageScaleType(ImageScaleType.EXACTLY)
                .considerExifParams(true)
                .displayer(new FadeInBitmapDisplayer(300)).build();
    }
    public RecommendTopAdapter(List<HomeAd> homeAds, Context context) {
        super();
        this.context = context;
        this.mHomeAds = homeAds;
        this.options = new DisplayImageOptions.Builder()
                .resetViewBeforeLoading(true).cacheInMemory(true)
                .cacheOnDisk(true).imageScaleType(ImageScaleType.EXACTLY)
                .considerExifParams(true)
                .displayer(new FadeInBitmapDisplayer(300)).build();
    }
    @Override
    public int getCount() {
        return mHomeAds == null ? 0 : mHomeAds.size();
    }
    @Override
    public int getCount() {
        return mHomeAds == null ? 0 : mHomeAds.size();
    }
    @Override
    public Object instantiateItem(ViewGroup container, final int position) {
        ImageView view = new ImageView(container.getContext());
        view.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
                LayoutParams.MATCH_PARENT));
        view.setScaleType(ScaleType.FIT_XY);
        view.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = null;
                if (mHomeAds.get(position).getLinkType() == 1) {
                    intent = new Intent(v.getContext(),
                            VideoDetailActivity.class);
                    intent.putExtra("video_info", mHomeAds.get(position)
                            .getVideo());
                } else {
                    try {
                        intent = new Intent(v.getContext(), Class
                                .forName(mHomeAds.get(position).getClazz()));
                        if (mHomeAds.get(position).getParams() != null) {
                            JSONObject object = new JSONObject(mHomeAds
                                    .get(position).getParams()
                                    .replace("\\", ""));
                            @SuppressWarnings("unchecked")
                            Iterator<String> its = object.keys();
                            while (its.hasNext()) {
                                String key = its.next();
                                String value = object.optString(key);
                                intent.putExtra(key, value);
                                intent.putExtra("isPush", true);
                            }
                        }
    @Override
    public Object instantiateItem(ViewGroup container, final int position) {
        ImageView view = new ImageView(container.getContext());
        view.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
                LayoutParams.MATCH_PARENT));
        view.setScaleType(ScaleType.FIT_XY);
        view.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = null;
                if (mHomeAds.get(position).getLinkType() == 1) {
                    intent = new Intent(v.getContext(),
                            VideoDetailActivity.class);
                    intent.putExtra("video_info", mHomeAds.get(position)
                            .getVideo());
                } else {
                    try {
                        intent = new Intent(v.getContext(), Class
                                .forName(JumpActivityUtil.filterActivityName(mHomeAds.get(position).getClazz())));
                        if (mHomeAds.get(position).getParams() != null) {
                            JSONObject object = new JSONObject(mHomeAds
                                    .get(position).getParams()
                                    .replace("\\", ""));
                            @SuppressWarnings("unchecked")
                            Iterator<String> its = object.keys();
                            while (its.hasNext()) {
                                String key = its.next();
                                String value = object.optString(key);
                                intent.putExtra(key, value);
                                intent.putExtra("isPush", true);
                            }
                        }
                    } catch (ClassNotFoundException e) {
                        e.printStackTrace();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
                MGVideoApplication.application.startActivity(intent);
            }
        });
        Glide.with(context).load(mHomeAds.get(position).getPicture())
                .transition(withCrossFade()).into(view);
        // imageLoader.displayImage(mHomeAds.get(position).getPicture(), view,
        // options);
        container.addView(view);
        return view;
    }
                    } catch (ClassNotFoundException e) {
                        e.printStackTrace();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                MGVideoApplication.application.startActivity(intent);
            }
        });
        Glide.with(context).load(mHomeAds.get(position).getPicture())
                .transition(withCrossFade()).into(view);
        // imageLoader.displayImage(mHomeAds.get(position).getPicture(), view,
        // options);
        container.addView(view);
        return view;
    }
    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        container.removeView((View) object);
    }
    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        container.removeView((View) object);
    }
    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view == object;
    }
    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view == object;
    }
    @Override
    public CharSequence getPageTitle(int position) {
        return mHomeAds.get(position).getTitle();
    }
    @Override
    public CharSequence getPageTitle(int position) {
        return mHomeAds.get(position).getTitle();
    }
}
MGVideo/src/com/mugua/mgvideo/ui/recommend/SearchActivity.java
@@ -35,6 +35,8 @@
import com.qq.e.ads.nativ.NativeExpressADView;
import com.qq.e.comm.util.AdError;
import com.umeng.analytics.MobclickAgent;
import com.yeshi.base.entity.ad.AdPositionEnum;
import com.yeshi.base.utils.ad.AdUtil;
import com.yeshi.base.utils.ad.GDTConstant;
import com.yeshi.base.utils.http.BasicTextHttpResponseHandler;
import com.mugua.mgvideo.MGVideoAPI;
@@ -211,7 +213,7 @@
        getHotSearch();
        getHistorySearch();
        guessLike();// 聚效广告取消
        if (BeibeiConstant.ADSHOW) {
        if (AdUtil.getAdType(getApplicationContext(), AdPositionEnum.other) != null) {
            loadAD();
        } else {
        }
@@ -386,7 +388,8 @@
    }
    private void loadAD() {
        //
        if (AdUtil.getAdType(this, AdPositionEnum.videoSearch) == null)
            return;
        NativeExpressAD nativeExpressAD = new NativeExpressAD(this, new ADSize(ADSize.FULL_WIDTH, ADSize.AUTO_HEIGHT),
                GDTConstant.GDT_APP_ID, GDTConstant.GDT_HOME_AND_PLAY_BIG_PICTURE, new NativeExpressAD.NativeExpressADListener() {
            @Override
MGVideo/src/com/mugua/mgvideo/ui/video/VideoRecommendAdapter.java
@@ -21,8 +21,10 @@
import com.mugua.mgvideo.util.video.VideoUIUtil;
import com.qq.e.ads.nativ.NativeUnifiedADData;
import com.qq.e.ads.nativ.widget.NativeAdContainer;
import com.yeshi.base.entity.ad.AdPositionEnum;
import com.yeshi.base.entity.ad.ExpressAdContainer;
import com.yeshi.base.entity.video.VideoInfo;
import com.yeshi.base.utils.ad.AdUtil;
import com.yeshi.base.utils.ad.ExpressAdManager;
import com.yeshi.base.utils.ad.GDTConstant;
import com.yeshi.base.utils.ad.GDTNativeADUnifiedManager;
@@ -380,6 +382,9 @@
        if (contentList == null || contentList.size() == 0)
            return;
        if (AdUtil.getAdType(mContext, AdPositionEnum.other) == null)
            return;
        GDTNativeADUnifiedManager.loadAD(columns == 3 ? GDTConstant.PID_2_VIDEO_LIST_SMALL_AD_COLUMN3 : GDTConstant.PID_2_VIDEO_LIST_SMALL_AD_COLUMN2, 1, mContext, new GDTNativeADUnifiedManager.IAdLoadListener() {
            @Override
            public void onSuccess(List<NativeUnifiedADData> adList) {
@@ -485,7 +490,7 @@
//                params.width = itemWidth;
//            }
//        } else {
            params.width = getItemWidth(p,"");
        params.width = getItemWidth(p, "");
//        }
        if (viewHolder instanceof VideoHolder) {
MGVideo/src/com/mugua/mgvideo/util/ConfigUtil.java
@@ -56,7 +56,6 @@
    }
    /**
     * 保存播放器外跳协议
     *
MGVideo/src/com/mugua/mgvideo/util/ExitDialog.java
@@ -14,6 +14,8 @@
import com.qq.e.ads.nativ.NativeExpressAD;
import com.qq.e.ads.nativ.NativeExpressADView;
import com.qq.e.comm.util.AdError;
import com.yeshi.base.entity.ad.AdPositionEnum;
import com.yeshi.base.utils.ad.AdUtil;
import com.yeshi.base.utils.ad.GDTConstant;
import java.util.List;
@@ -121,6 +123,8 @@
        // 1.加载广告,先设置加载上下文环境和条件
        private void nativeAd() {
            if (AdUtil.getAdType(context, AdPositionEnum.exitApp) == null)
                return;
            NativeExpressAD nativeExpressAD = new NativeExpressAD(context, new ADSize(ADSize.FULL_WIDTH, ADSize.AUTO_HEIGHT),
                    GDTConstant.GDT_APP_ID, GDTConstant.GDT_EXIT_DIALOG, new NativeExpressAD.NativeExpressADListener() {
                @Override
MGVideo/src/com/mugua/mgvideo/util/JumpActivityUtil.java
File was deleted
MGVideo/src/com/mugua/mgvideo/util/browser/BaseBWJavaInterface.java
@@ -16,7 +16,7 @@
import com.lcjian.library.util.security.MD5Utils;
import com.umeng.analytics.MobclickAgent;
import com.mugua.mgvideo.MGVideoAPI;
import com.mugua.mgvideo.util.JumpActivityUtil;
import com.yeshi.base.utils.JumpActivityUtil;
import org.json.JSONException;
import org.json.JSONObject;
MGVideo/src/com/mugua/mgvideo/util/browser/MGJavaInterface.java
@@ -11,7 +11,7 @@
import com.lcjian.library.util.common.StringUtils;
import com.tencent.smtt.sdk.WebView;
import com.mugua.mgvideo.util.AlibcTradeUtil;
import com.mugua.mgvideo.util.JumpActivityUtil;
import com.yeshi.base.utils.JumpActivityUtil;
import org.json.JSONException;
import org.json.JSONObject;
library-BaiduCPU/src/main/java/com/yeshi/ec/library_baiducpu/fragment/BaiDuCPUContentFragment.java
@@ -3,10 +3,12 @@
import android.graphics.Canvas;
import android.graphics.Rect;
import android.os.Bundle;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
@@ -157,6 +159,8 @@
    private void initData() {
        Bundle bundle = getArguments();
        BaiDuCPUType item = (BaiDuCPUType) bundle.getSerializable("item");
        if (item == null)
            return;
        viewType = bundle.getInt("viewType");
        bundle.clear();
        mChannelId = item.getId();
library-base/src/main/AndroidManifest.xml
@@ -1,5 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.yeshi.ec.base">
    package="com.yeshi.base">
    <application>
        <activity
            android:name=".ui.LoginActivity"
            android:label="@string/app_name"></activity>
        <activity
            android:name=".ui.PersonInfoActivity"
            android:label="@string/app_name"></activity>
        <activity
            android:name=".ui.RegisterActivity"
            android:label="@string/app_name"></activity>
        <activity
            android:name=".ui.ForgetPwdActivity"
            android:label="@string/app_name"></activity>
        <activity
            android:name=".ui.BrowserActivity"
            android:label="@string/app_name"></activity>
    </application>
</manifest>
library-base/src/main/java/com/yeshi/base/entity/ad/AdPositionEnum.java
@@ -7,8 +7,7 @@
    exitApp("exitApp"),//APP退出广告
    videoSearch("videoSearch"),//搜索页广告
    videoDetailFullVideo("videoDetailFullVideo"),//视频全屏广告
    pptvNoAdReward("pptvNoAdReward"),//PPTV无广告激励视频
    other("其他广告位");
    other("other");//其他广告位
    private String positionName;
library-base/src/main/java/com/yeshi/base/ui/BrowserActivity.java
@@ -21,7 +21,7 @@
import com.yeshi.base.utils.MGJavaInterface;
import com.yeshi.base.utils.RouteConstant;
import com.yeshi.base.utils.x5.X5WebView;
import com.yeshi.ec.base.R;
import com.yeshi.base.R;
@Route(path = RouteConstant.PATH_WEB_BROWSER)
public class BrowserActivity extends BaseActivity implements OnClickListener {
library-base/src/main/java/com/yeshi/base/ui/ForgetPwdActivity.java
@@ -24,7 +24,7 @@
import com.yeshi.base.utils.BaseApiUtil;
import com.yeshi.base.utils.IsEmail;
import com.yeshi.base.utils.http.BasicTextHttpResponseHandler;
import com.yeshi.ec.base.R;
import com.yeshi.base.R;
/**
 * 忘记密码,修改密码 Created by weikou2015 on 2016/10/27.
library-base/src/main/java/com/yeshi/base/ui/LoginActivity.java
@@ -44,7 +44,7 @@
import com.yeshi.base.utils.BaseApiUtil;
import com.yeshi.base.utils.RouteConstant;
import com.yeshi.base.utils.http.BasicTextHttpResponseHandler;
import com.yeshi.ec.base.R;
import com.yeshi.base.R;
@Route(path = RouteConstant.PATH_USER_LOGIN)
public class LoginActivity extends BaseActivity implements OnClickListener {
@@ -161,6 +161,7 @@
        tv_register.setOnClickListener(this);
        tv_login.setOnClickListener(this);
        findViewById(R.id.tv_user_agreement).setOnClickListener(this);
        findViewById(R.id.tv_privacy).setOnClickListener(this);
    }
    @Override
@@ -169,6 +170,10 @@
        if (id == R.id.login_tv_cancel) {// 取消
            finish();
        } else if (id == R.id.login_tv_qq) {// QQ登录
            if (!cb_user_agreement.isChecked()) {
                SingleToast.showToast(LoginActivity.this, "选择同意用户协议与隐私政策后方可登陆");
                return;
            }
            if (isQQClientAvailable()) {
                loginType = "1";
                // qq登录逻辑处理 点击登录后需要暂时锁定返回键和返回功能 不然会报错
@@ -185,13 +190,19 @@
                    BrowserActivity.class);
            intent.putExtra("url", getString(R.string.agreement));
            startActivity(intent);
        } else if (id == R.id.tv_privacy) {
            Intent intent = new Intent(LoginActivity.this,
                    BrowserActivity.class);
            intent.putExtra("url", getString(R.string.privacy));
            startActivity(intent);
        } else if (id == R.id.tv_register) {
            startActivity(new Intent(LoginActivity.this, RegisterActivity.class));
        } else if (id == R.id.tv_login) {
            if (cb_user_agreement.isChecked())
                emailLogin();
            else
                SingleToast.showToast(LoginActivity.this, "选择同意用户协议后方可登陆");
            if (!cb_user_agreement.isChecked()) {
                SingleToast.showToast(LoginActivity.this, "选择同意用户协议与隐私政策后方可登陆");
                return;
            }
            emailLogin();
        }
    }
library-base/src/main/java/com/yeshi/base/ui/PersonInfoActivity.java
@@ -29,7 +29,7 @@
import com.yeshi.base.utils.BeibeiConstant;
import com.yeshi.base.utils.SelectPicUtil;
import com.yeshi.base.utils.http.BasicTextHttpResponseHandler;
import com.yeshi.ec.base.R;
import com.yeshi.base.R;
import org.apache.http.Header;
import org.json.JSONObject;
library-base/src/main/java/com/yeshi/base/ui/RegisterActivity.java
@@ -21,7 +21,7 @@
import com.yeshi.base.utils.BaseApiUtil;
import com.yeshi.base.utils.IsEmail;
import com.yeshi.base.utils.http.BasicTextHttpResponseHandler;
import com.yeshi.ec.base.R;
import com.yeshi.base.R;
import org.apache.http.Header;
import org.json.JSONObject;
@@ -35,335 +35,346 @@
 */
public class RegisterActivity extends BaseActivity implements
        View.OnClickListener {
        View.OnClickListener {
    private LinearLayout ll_login_content;
    private ImageView iv_register_top;
    private EditText et_email;
    private EditText et_pwd;
    private EditText et_verfication_code;
    private TextView tv_obtain_verfication_code;
    private CheckBox cb_user_agreement;
    private TextView tv_confirm;
    private LinearLayout ll_login_content;
    private ImageView iv_register_top;
    private EditText et_email;
    private EditText et_pwd;
    private EditText et_verfication_code;
    private TextView tv_obtain_verfication_code;
    private CheckBox cb_user_agreement;
    private TextView tv_confirm;
    @Override
    protected void onCreate(Bundle arg0) {
        super.onCreate(arg0);
        setContentView(R.layout.activity_register);
        iv_register_top = (ImageView) findViewById(R.id.iv_register_top);
        et_email = (EditText) findViewById(R.id.et_name);
        et_pwd = (EditText) findViewById(R.id.et_pwd);
        et_verfication_code = (EditText) findViewById(R.id.et_verfication_code);
        tv_obtain_verfication_code = (TextView) findViewById(R.id.tv_obtain_verfication_code);
        cb_user_agreement = (CheckBox) findViewById(R.id.cb_user_agreement);
        tv_confirm = (TextView) findViewById(R.id.tv_confirm);
        ll_login_content = (LinearLayout) findViewById(R.id.ll_login_content);
    @Override
    protected void onCreate(Bundle arg0) {
        super.onCreate(arg0);
        setContentView(R.layout.activity_register);
        iv_register_top = (ImageView) findViewById(R.id.iv_register_top);
        et_email = (EditText) findViewById(R.id.et_name);
        et_pwd = (EditText) findViewById(R.id.et_pwd);
        et_verfication_code = (EditText) findViewById(R.id.et_verfication_code);
        tv_obtain_verfication_code = (TextView) findViewById(R.id.tv_obtain_verfication_code);
        cb_user_agreement = (CheckBox) findViewById(R.id.cb_user_agreement);
        tv_confirm = (TextView) findViewById(R.id.tv_confirm);
        ll_login_content = (LinearLayout) findViewById(R.id.ll_login_content);
        int w = View.MeasureSpec.makeMeasureSpec(0,
                View.MeasureSpec.UNSPECIFIED);
        int h = View.MeasureSpec.makeMeasureSpec(0,
                View.MeasureSpec.UNSPECIFIED);
        ll_login_content.measure(w, h);
        int width = ll_login_content.getMeasuredWidth();
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(width,
                (int) (width * 0.434));
        params.gravity = Gravity.CENTER_HORIZONTAL;
        iv_register_top.setLayoutParams(params);
        int w = View.MeasureSpec.makeMeasureSpec(0,
                View.MeasureSpec.UNSPECIFIED);
        int h = View.MeasureSpec.makeMeasureSpec(0,
                View.MeasureSpec.UNSPECIFIED);
        ll_login_content.measure(w, h);
        int width = ll_login_content.getMeasuredWidth();
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(width,
                (int) (width * 0.434));
        params.gravity = Gravity.CENTER_HORIZONTAL;
        iv_register_top.setLayoutParams(params);
        et_email.addTextChangedListener(new TextWatcher() {
        et_email.addTextChangedListener(new TextWatcher() {
            @Override
            public void onTextChanged(CharSequence arg0, int arg1, int arg2,
                    int arg3) {
            @Override
            public void onTextChanged(CharSequence arg0, int arg1, int arg2,
                                      int arg3) {
            }
            }
            @Override
            public void beforeTextChanged(CharSequence arg0, int arg1,
                    int arg2, int arg3) {
            @Override
            public void beforeTextChanged(CharSequence arg0, int arg1,
                                          int arg2, int arg3) {
            }
            }
            @Override
            public void afterTextChanged(Editable arg0) {
                // et_email.getText().toString()
                if (!StringUtils.isEmpty(et_verfication_code.getText()
                        .toString())
                        && !StringUtils.isEmpty(et_pwd.getText().toString())
                        && !StringUtils.isEmpty(arg0.toString())) {
                    tv_confirm.setBackground(getResources().getDrawable(
                            R.drawable.shape_login2));
                } else {
                    tv_confirm.setBackground(getResources().getDrawable(
                            R.drawable.shape_login1));
                }
            @Override
            public void afterTextChanged(Editable arg0) {
                // et_email.getText().toString()
                if (!StringUtils.isEmpty(et_verfication_code.getText()
                        .toString())
                        && !StringUtils.isEmpty(et_pwd.getText().toString())
                        && !StringUtils.isEmpty(arg0.toString())) {
                    tv_confirm.setBackground(getResources().getDrawable(
                            R.drawable.shape_login2));
                } else {
                    tv_confirm.setBackground(getResources().getDrawable(
                            R.drawable.shape_login1));
                }
                if (!StringUtils.isEmpty(arg0.toString())) {
                    tv_obtain_verfication_code.setBackground(getResources()
                            .getDrawable(R.drawable.shape_login2));
                } else {
                    tv_obtain_verfication_code.setBackground(getResources()
                            .getDrawable(R.drawable.shape_login1));
                }
                if (!StringUtils.isEmpty(arg0.toString())) {
                    tv_obtain_verfication_code.setBackground(getResources()
                            .getDrawable(R.drawable.shape_login2));
                } else {
                    tv_obtain_verfication_code.setBackground(getResources()
                            .getDrawable(R.drawable.shape_login1));
                }
            }
        });
        et_verfication_code.addTextChangedListener(new TextWatcher() {
            }
        });
        et_verfication_code.addTextChangedListener(new TextWatcher() {
            @Override
            public void onTextChanged(CharSequence arg0, int arg1, int arg2,
                    int arg3) {
            @Override
            public void onTextChanged(CharSequence arg0, int arg1, int arg2,
                                      int arg3) {
            }
            }
            @Override
            public void beforeTextChanged(CharSequence arg0, int arg1,
                    int arg2, int arg3) {
            @Override
            public void beforeTextChanged(CharSequence arg0, int arg1,
                                          int arg2, int arg3) {
            }
            }
            @Override
            public void afterTextChanged(Editable arg0) {
                if (!StringUtils.isEmpty(et_email.getText().toString())
                        && !StringUtils.isEmpty(et_pwd.getText().toString())
                        && !StringUtils.isEmpty(arg0.toString())) {
                    tv_confirm.setBackground(getResources().getDrawable(
                            R.drawable.shape_login2));
                } else {
                    tv_confirm.setBackground(getResources().getDrawable(
                            R.drawable.shape_login1));
                }
            @Override
            public void afterTextChanged(Editable arg0) {
                if (!StringUtils.isEmpty(et_email.getText().toString())
                        && !StringUtils.isEmpty(et_pwd.getText().toString())
                        && !StringUtils.isEmpty(arg0.toString())) {
                    tv_confirm.setBackground(getResources().getDrawable(
                            R.drawable.shape_login2));
                } else {
                    tv_confirm.setBackground(getResources().getDrawable(
                            R.drawable.shape_login1));
                }
            }
        });
            }
        });
        et_pwd.addTextChangedListener(new TextWatcher() {
        et_pwd.addTextChangedListener(new TextWatcher() {
            @Override
            public void onTextChanged(CharSequence arg0, int arg1, int arg2,
                    int arg3) {
            @Override
            public void onTextChanged(CharSequence arg0, int arg1, int arg2,
                                      int arg3) {
            }
            }
            @Override
            public void beforeTextChanged(CharSequence arg0, int arg1,
                    int arg2, int arg3) {
            @Override
            public void beforeTextChanged(CharSequence arg0, int arg1,
                                          int arg2, int arg3) {
            }
            }
            @Override
            public void afterTextChanged(Editable arg0) {
                if (!StringUtils.isEmpty(et_verfication_code.getText()
                        .toString())
                        && !StringUtils.isEmpty(et_email.getText().toString())
                        && !StringUtils.isEmpty(arg0.toString())) {
                    tv_confirm.setBackground(getResources().getDrawable(
                            R.drawable.shape_login2));
                } else {
                    tv_confirm.setBackground(getResources().getDrawable(
                            R.drawable.shape_login1));
                }
            }
        });
            @Override
            public void afterTextChanged(Editable arg0) {
                if (!StringUtils.isEmpty(et_verfication_code.getText()
                        .toString())
                        && !StringUtils.isEmpty(et_email.getText().toString())
                        && !StringUtils.isEmpty(arg0.toString())) {
                    tv_confirm.setBackground(getResources().getDrawable(
                            R.drawable.shape_login2));
                } else {
                    tv_confirm.setBackground(getResources().getDrawable(
                            R.drawable.shape_login1));
                }
            }
        });
        tv_obtain_verfication_code.setOnClickListener(this);
        tv_confirm.setOnClickListener(this);
        findViewById(R.id.tv_back).setOnClickListener(this);
        findViewById(R.id.tv_user_agreement).setOnClickListener(this);
    }
        tv_obtain_verfication_code.setOnClickListener(this);
        tv_confirm.setOnClickListener(this);
        findViewById(R.id.tv_back).setOnClickListener(this);
        findViewById(R.id.tv_user_agreement).setOnClickListener(this);
        findViewById(R.id.tv_privacy).setOnClickListener(this);
    }
    @Override
    public void onClick(View v) {
        int id = v.getId();
        if (id == R.id.tv_back) {
            finish();
        } else if (id == R.id.tv_user_agreement) {
            Intent intent = new Intent(RegisterActivity.this,
                    BrowserActivity.class);
            intent.putExtra("url", getString(R.string.agreement));
            startActivity(intent);
        } else if (id == R.id.tv_obtain_verfication_code) {
            String email = et_email.getText().toString();
            if (StringUtils.isEmpty(email)) {
                SingleToast.showToast(RegisterActivity.this, "请先输入邮箱账号");
            } else {
                Matcher m = IsEmail.isEmailAddress().matcher(email);
                if (m.matches()) {
                    getVerficationCode(email);
                } else {
                    SingleToast.showToast(RegisterActivity.this,
                            "输入的邮箱账号有误,请查证!");
                    return;
                }
            }
        } else if (id == R.id.tv_confirm) {
            String email1 = et_email.getText().toString();
            String pwd = et_pwd.getText().toString();
            String verficationCode = et_verfication_code.getText().toString();
            if (StringUtils.isEmpty(email1)) {
                SingleToast.showToast(RegisterActivity.this, "请先输入邮箱账号");
                return;
            } else {
                Matcher m = IsEmail.isEmailAddress().matcher(email1);
                if (!m.matches()) {
                    SingleToast.showToast(RegisterActivity.this,
                            "输入的邮箱账号有误,请查证!");
                    return;
                }
            }
            if (StringUtils.isEmpty(pwd)) {
                SingleToast.showToast(RegisterActivity.this, "密码不能为空");
                return;
            }
            if (pwd.length() < 6) {
                SingleToast.showToast(RegisterActivity.this, "密码长度不能低于6位");
                return;
            }
            if (StringUtils.isEmpty(verficationCode)) {
                SingleToast.showToast(RegisterActivity.this, "验证码不能为空");
                return;
            }
            userRegister();
        }
    }
    @Override
    public void onClick(View v) {
        int id = v.getId();
        if (id == R.id.tv_back) {
            finish();
        } else if (id == R.id.tv_user_agreement) {
            Intent intent = new Intent(RegisterActivity.this,
                    BrowserActivity.class);
            intent.putExtra("url", getString(R.string.agreement));
            startActivity(intent);
        } else if (id == R.id.tv_privacy) {
            Intent intent = new Intent(RegisterActivity.this,
                    BrowserActivity.class);
            intent.putExtra("url", getString(R.string.privacy));
            startActivity(intent);
        } else if (id == R.id.tv_obtain_verfication_code) {
            String email = et_email.getText().toString();
            if (StringUtils.isEmpty(email)) {
                SingleToast.showToast(RegisterActivity.this, "请先输入邮箱账号");
            } else {
                Matcher m = IsEmail.isEmailAddress().matcher(email);
                if (m.matches()) {
                    getVerficationCode(email);
                } else {
                    SingleToast.showToast(RegisterActivity.this,
                            "输入的邮箱账号有误,请查证!");
                    return;
                }
            }
        } else if (id == R.id.tv_confirm) {
            if (!cb_user_agreement.isChecked()) {
                SingleToast.showToast(this, "选择同意用户协议与隐私政策后方可注册");
                return;
            }
    private void userRegister() {
        SharedPreferences sp = getSharedPreferences("user",
                Context.MODE_PRIVATE);
        final String uid = sp.getString("uid", "");
        BaseApiUtil.emailRegister(this, uid, et_email.getText().toString(),
                et_pwd.getText().toString(), et_verfication_code.getText()
                        .toString(), "无名氏", new BasicTextHttpResponseHandler() {
                    @Override
                    public void onSuccessPerfect(int statusCode,
                            Header[] headers, JSONObject jsonObject)
                            throws Exception {
                        if (jsonObject.optBoolean("IsPost")) {
                            SingleToast.showToast(RegisterActivity.this,
                                    "注册成功!");
                            emailLogin(et_email.getText().toString(), et_pwd
                                    .getText().toString(), uid);
                        } else {
                            SingleToast.showToast(RegisterActivity.this,
                                    jsonObject.optString("Error") + ",注册失败!");
                        }
                    }
            String email1 = et_email.getText().toString();
            String pwd = et_pwd.getText().toString();
            String verficationCode = et_verfication_code.getText().toString();
            if (StringUtils.isEmpty(email1)) {
                SingleToast.showToast(RegisterActivity.this, "请先输入邮箱账号");
                return;
            } else {
                Matcher m = IsEmail.isEmailAddress().matcher(email1);
                if (!m.matches()) {
                    SingleToast.showToast(RegisterActivity.this,
                            "输入的邮箱账号有误,请查证!");
                    return;
                }
            }
            if (StringUtils.isEmpty(pwd)) {
                SingleToast.showToast(RegisterActivity.this, "密码不能为空");
                return;
            }
            if (pwd.length() < 6) {
                SingleToast.showToast(RegisterActivity.this, "密码长度不能低于6位");
                return;
            }
            if (StringUtils.isEmpty(verficationCode)) {
                SingleToast.showToast(RegisterActivity.this, "验证码不能为空");
                return;
            }
            userRegister();
        }
    }
                    @Override
                    public void onFailure(int statusCode, Header[] headers,
                            String responseString, Throwable throwable) {
                        super.onFailure(statusCode, headers, responseString,
                                throwable);
                        SingleToast.showToast(RegisterActivity.this,
                                "注册失败,请重新注册");
                    }
                });
    }
    private void userRegister() {
        SharedPreferences sp = getSharedPreferences("user",
                Context.MODE_PRIVATE);
        final String uid = sp.getString("uid", "");
        BaseApiUtil.emailRegister(this, uid, et_email.getText().toString(),
                et_pwd.getText().toString(), et_verfication_code.getText()
                        .toString(), "无名氏", new BasicTextHttpResponseHandler() {
                    @Override
                    public void onSuccessPerfect(int statusCode,
                                                 Header[] headers, JSONObject jsonObject)
                            throws Exception {
                        if (jsonObject.optBoolean("IsPost")) {
                            SingleToast.showToast(RegisterActivity.this,
                                    "注册成功!");
                            emailLogin(et_email.getText().toString(), et_pwd
                                    .getText().toString(), uid);
                        } else {
                            SingleToast.showToast(RegisterActivity.this,
                                    jsonObject.optString("Error") + ",注册失败!");
                        }
                    }
    /**
     * 注册成功后登陆,获取登录信息
     */
    /**
     * Email登陆
     */
    private void emailLogin(String email, String pwd, String uid) {
        BaseApiUtil.emailLogin(RegisterActivity.this, uid, email, pwd,
                new BasicTextHttpResponseHandler() {
                    @Override
                    public void onSuccessPerfect(int statusCode,
                            Header[] headers, JSONObject jsonObject)
                            throws Exception {
                        if (jsonObject.optBoolean("IsPost")) {
                            SharedPreferences sp = getSharedPreferences("user",
                                    MODE_PRIVATE);
                            SharedPreferences.Editor edit = sp.edit();
                            edit.putString("portrait", jsonObject
                                    .optJSONObject("Data")
                                    .optString("Portrait"));
                            edit.putString("LoginUid", jsonObject
                                    .getJSONObject("Data").getString("Id"));
                            edit.putString(
                                    "name",
                                    jsonObject.optJSONObject("Data").optString(
                                            "NickName"));
                            edit.commit();
                            SingleToast
                                    .showToast(RegisterActivity.this, "登陆成功");
                            Intent intent = new Intent(RegisterActivity.this,
                                    PersonInfoActivity.class);
                            startActivity(intent);
                            finish();
                        } else {
                            SingleToast
                                    .showToast(RegisterActivity.this, "登陆失败");
                        }
                    }
                    @Override
                    public void onFailure(int statusCode, Header[] headers,
                                          String responseString, Throwable throwable) {
                        super.onFailure(statusCode, headers, responseString,
                                throwable);
                        SingleToast.showToast(RegisterActivity.this,
                                "注册失败,请重新注册");
                    }
                });
    }
                    @Override
                    public void onFailure(int statusCode, Header[] headers,
                            String responseString, Throwable throwable) {
                        super.onFailure(statusCode, headers, responseString,
                                throwable);
                        SingleToast.showToast(RegisterActivity.this, "登陆失败");
                    }
                });
    /**
     * 注册成功后登陆,获取登录信息
     */
    /**
     * Email登陆
     */
    private void emailLogin(String email, String pwd, String uid) {
        BaseApiUtil.emailLogin(RegisterActivity.this, uid, email, pwd,
                new BasicTextHttpResponseHandler() {
                    @Override
                    public void onSuccessPerfect(int statusCode,
                                                 Header[] headers, JSONObject jsonObject)
                            throws Exception {
                        if (jsonObject.optBoolean("IsPost")) {
                            SharedPreferences sp = getSharedPreferences("user",
                                    MODE_PRIVATE);
                            SharedPreferences.Editor edit = sp.edit();
                            edit.putString("portrait", jsonObject
                                    .optJSONObject("Data")
                                    .optString("Portrait"));
                            edit.putString("LoginUid", jsonObject
                                    .getJSONObject("Data").getString("Id"));
                            edit.putString(
                                    "name",
                                    jsonObject.optJSONObject("Data").optString(
                                            "NickName"));
                            edit.commit();
                            SingleToast
                                    .showToast(RegisterActivity.this, "登陆成功");
                            Intent intent = new Intent(RegisterActivity.this,
                                    PersonInfoActivity.class);
                            startActivity(intent);
                            finish();
                        } else {
                            SingleToast
                                    .showToast(RegisterActivity.this, "登陆失败");
                        }
                    }
    }
                    @Override
                    public void onFailure(int statusCode, Header[] headers,
                                          String responseString, Throwable throwable) {
                        super.onFailure(statusCode, headers, responseString,
                                throwable);
                        SingleToast.showToast(RegisterActivity.this, "登陆失败");
                    }
                });
    Timer timer;
    int timecount = 59;
    }
    private void getVerficationCode(String email) {
        timer = new Timer();
        timer.schedule(new MyTask(), 1000, 1000);
        SharedPreferences sp = getSharedPreferences("user", MODE_PRIVATE);
        String uid = sp.getString("uid", "");
        BaseApiUtil.getVerficationCode(RegisterActivity.this, uid, email,
                new BasicTextHttpResponseHandler() {
                    @Override
                    public void onSuccessPerfect(int statusCode,
                            Header[] headers, JSONObject jsonObject)
                            throws Exception {
                        if (jsonObject.optBoolean("IsPost")) {
                            SingleToast.showToast(RegisterActivity.this,
                                    "获取验证码成功,请打开邮箱查看!");
                        } else {
                            SingleToast.showToast(RegisterActivity.this,
                                    "获取验证码失败,请重新获取!");
                            handler.sendEmptyMessage(1);
                        }
                    }
                });
    }
    Timer timer;
    int timecount = 59;
    class MyTask extends TimerTask {
        @Override
        public void run() {
            if (timecount > 0) {
                handler.sendEmptyMessage(0);
            } else {
                handler.sendEmptyMessage(1);
            }
        }
    }
    private void getVerficationCode(String email) {
        timer = new Timer();
        timer.schedule(new MyTask(), 1000, 1000);
        SharedPreferences sp = getSharedPreferences("user", MODE_PRIVATE);
        String uid = sp.getString("uid", "");
        BaseApiUtil.getVerficationCode(RegisterActivity.this, uid, email,
                new BasicTextHttpResponseHandler() {
                    @Override
                    public void onSuccessPerfect(int statusCode,
                                                 Header[] headers, JSONObject jsonObject)
                            throws Exception {
                        if (jsonObject.optBoolean("IsPost")) {
                            SingleToast.showToast(RegisterActivity.this,
                                    "获取验证码成功,请打开邮箱查看!");
                        } else {
                            SingleToast.showToast(RegisterActivity.this,
                                    "获取验证码失败,请重新获取!");
                            handler.sendEmptyMessage(1);
                        }
                    }
                });
    }
    Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            switch (msg.what) {
            case 0:
                tv_obtain_verfication_code.setClickable(false);
                tv_obtain_verfication_code.setText("重新发送(" + timecount + "s)");
                timecount--;
                break;
            case 1:
                timer.cancel();
                tv_obtain_verfication_code.setText("获取验证码");
                tv_obtain_verfication_code.setClickable(true);
                timecount = 59;
                break;
            }
        }
    };
    class MyTask extends TimerTask {
        @Override
        public void run() {
            if (timecount > 0) {
                handler.sendEmptyMessage(0);
            } else {
                handler.sendEmptyMessage(1);
            }
        }
    }
    Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            switch (msg.what) {
                case 0:
                    tv_obtain_verfication_code.setClickable(false);
                    tv_obtain_verfication_code.setText("重新发送(" + timecount + "s)");
                    timecount--;
                    break;
                case 1:
                    timer.cancel();
                    tv_obtain_verfication_code.setText("获取验证码");
                    tv_obtain_verfication_code.setClickable(true);
                    timecount = 59;
                    break;
            }
        }
    };
}
library-base/src/main/java/com/yeshi/base/ui/dialog/LoadingDialogUtil.java
@@ -7,7 +7,7 @@
import android.widget.TextView;
import com.lcjian.library.util.common.StringUtils;
import com.yeshi.ec.base.R;
import com.yeshi.base.R;
/**
 * 用户协议弹框
library-base/src/main/java/com/yeshi/base/utils/BeibeiConstant.java
@@ -23,8 +23,8 @@
        return true;// 测试时关闭代理限制
    }
    public static final String QQ_ID = "1104492673";
    public static final String QQ_KEY = "AI6ri4IcDhsacEoP";
//    public static final String QQ_ID = "1104492673";
//    public static final String QQ_KEY = "AI6ri4IcDhsacEoP";
    public static final String BAICHUAN_APPKEY = "24980167";
@@ -33,7 +33,6 @@
    public static final boolean DEBUG = false;
    public static final boolean ISHUAWEI = true;
    public static boolean ADSHOW = true;
    /**
     * 头像获取路劲可能不完整,需要手动添加完整
library-base/src/main/java/com/yeshi/base/utils/JumpActivityUtil.java
@@ -18,6 +18,7 @@
import com.alibaba.baichuan.trade.biz.core.taoke.AlibcTaokeParams;
import com.alibaba.fastjson.JSONObject;
import com.yeshi.base.entity.JumpDetail;
import com.yeshi.base.ui.BrowserActivity;
import com.yeshi.base.utils.downutil.StringUtils;
import org.json.JSONException;
@@ -175,7 +176,10 @@
    public static String filterActivityName(String activity) {
        if (activity == null)
            return null;
        return activity;
        if ("com.weikou.beibeivideo.ui.mine.BrowserActivity".equalsIgnoreCase(activity)) {
            return BrowserActivity.class.getName();
        }
        return activity.replace("com.weikou.beibeivideo", "com.mugua.mgvideo");
    }
}
library-base/src/main/java/com/yeshi/base/utils/RouteConstant.java
@@ -7,7 +7,7 @@
    public final static String PATH_WEB_BROWSER = "/web/browser";
    public final static String PATH_VIDEO_SEARCH_RESULT = "/video/search/result";
    public final static String PATH_VIDEO_SEARCH_RESULT = "/videosearch/result";
    public final static String PATH_VIDEO_DETAIL = "/video/detail";
library-base/src/main/java/com/yeshi/base/utils/ad/GDTConstant.java
@@ -33,9 +33,6 @@
    //影视豆激励视频
    public static String PID_2_GOLDCORN_REWARD = "9051467743649673";
    //退出广告
    public static String PID_2_EXIT = "6091485426868623";
    //搜索
    public static final String GDT_HOME_AND_PLAY_BIG_PICTURE = "3041305616723820";
library-base/src/main/java/com/yeshi/base/utils/ad/TTAdManagerHolder.java
@@ -6,7 +6,7 @@
import com.bytedance.sdk.openadsdk.TTAdConstant;
import com.bytedance.sdk.openadsdk.TTAdManager;
import com.bytedance.sdk.openadsdk.TTAdSdk;
import com.yeshi.ec.base.R;
import com.yeshi.base.R;
/**
 * 可以用一个单例来保存TTAdManager实例,在需要初始化sdk的时候调用
@@ -41,7 +41,7 @@
    private static TTAdConfig buildConfig(Context context) {
        return new TTAdConfig.Builder()
                .appId(CSJConstant.APP_ID)
                .appId(context.getString(R.string.ad_csj_app_id))
                .useTextureView(true) //使用TextureView控件播放视频,默认为SurfaceView,当有SurfaceView冲突的场景,可以使用TextureView
                .appName(context.getString(R.string.app_name))
                .titleBarTheme(TTAdConstant.TITLE_BAR_THEME_DARK)
library-base/src/main/res/layout/act_login.xml
@@ -128,16 +128,31 @@
                        android:layout_gravity="center_vertical"
                        android:background="@drawable/selector_user_agreement_checkbox"
                        android:button="@null"
                        android:checked="true"
                        android:checked="false"
                        android:gravity="center" />
                    <TextView
                        android:id="@+id/tv_user_agreement"
                        android:layout_width="0dp"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="5dp"
                        android:text="用户使用协议"
                        android:textColor="@color/blue4" />
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:ellipsize="end"
                        android:singleLine="true"
                        android:text="&amp;"
                        android:textColor="@color/gray" />
                    <TextView
                        android:id="@+id/tv_privacy"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:text="@string/user_agreement"
                        android:text="隐私政策"
                        android:textColor="@color/blue4" />
                    <TextView
library-base/src/main/res/layout/activity_register.xml
@@ -171,7 +171,7 @@
                    android:layout_gravity="center_vertical"
                    android:background="@drawable/selector_user_agreement_checkbox"
                    android:button="@null"
                    android:checked="true"
                    android:checked="false"
                    android:gravity="center" />
                <TextView
@@ -179,7 +179,23 @@
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="5dp"
                    android:text="@string/user_agreement"
                    android:text="用户使用协议"
                    android:textColor="@color/blue4" />
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:ellipsize="end"
                    android:singleLine="true"
                    android:text="&amp;"
                    android:textColor="@color/gray" />
                <TextView
                    android:id="@+id/tv_privacy"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:text="隐私政策"
                    android:textColor="@color/blue4" />
            </LinearLayout>
library-base/src/main/res/values/strings.xml
@@ -1,7 +1,11 @@
<resources>
    <string name="agreement" translatable="false">http://111.231.250.166/mugua/userAgreenment.html</string>
    <string name="privacy" translatable="false">http://111.231.250.166/mugua/userAgreenment.html</string>
    <string name="rule_email">0123456789abcdefghijklmnopqrstuvwxyz@.</string>
    <string name="rule_password">0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`¬!"£$%^*()~=#{}[];':,./?/*-_+&#060;&#062;&#064;&#038;</string>
    <string name="user_agreement">用户使用协议&amp;隐私条款</string>
    <!-- 广告 -->
    <string name="ad_csj_app_id">5115334</string>
    <string name="ad_gdt_app_id">1106112837</string>
</resources>
library-common/src/com/lcjian/library/util/common/PackageUtils2.java
@@ -26,10 +26,10 @@
        }
        return false;
    }
    /**
     * 获取versionCode
     *
     *
     * @param context
     * @return 版本号
     */
@@ -42,4 +42,8 @@
            return 0;
        }
    }
    public static String getPackageName(Context context) {
        return context.getPackageName();
    }
}
library-search/src/main/java/com/yeshi/ec/search/ui/SearchResultActivity.java
@@ -37,12 +37,14 @@
import com.qq.e.ads.nativ.NativeUnifiedAD;
import com.qq.e.ads.nativ.NativeUnifiedADData;
import com.qq.e.comm.util.AdError;
import com.yeshi.base.entity.ad.AdPositionEnum;
import com.yeshi.base.entity.ad.ExpressAdContainer;
import com.yeshi.base.entity.video.VideoContent;
import com.yeshi.base.entity.video.VideoInfo;
import com.yeshi.base.entity.video.VideoType;
import com.yeshi.base.ui.BaseActivity;
import com.yeshi.base.utils.RouteConstant;
import com.yeshi.base.utils.ad.AdUtil;
import com.yeshi.base.utils.ad.ExpressAdManager;
import com.yeshi.base.utils.ad.GDTConstant;
import com.yeshi.base.utils.http.BasicTextHttpResponseHandler;
@@ -417,15 +419,16 @@
        if (albumCount >= 1) {
            VideoContent videoContent = VideoContent.createAdContent(adList.get(0));
            mVideoInfos.add(1, videoContent);
            adapter.notifyItemInserted(1);
            mVideoInfos.add(0, videoContent);
            adapter.notifyItemInserted(0);
        }
    }
    //拉取2.0的自渲染广告
    private void loadAd() {
        //TODO 填充广告ID
        if (AdUtil.getAdType(getApplicationContext(), AdPositionEnum.other) == null)
            return;
        String pid = GDTConstant.PID_2_SEARCH_RESULT_ALBUM;
        NativeUnifiedAD mAdManager = new NativeUnifiedAD(this, pid, new NativeADUnifiedListener() {
library-search/src/main/java/com/yeshi/ec/search/ui/SearchResultAdapter.java
@@ -1,7 +1,6 @@
package com.yeshi.ec.search.ui;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.Typeface;
import android.text.SpannableString;
@@ -24,7 +23,6 @@
import com.bumptech.glide.request.RequestOptions;
import com.lcjian.library.util.common.DimenUtils;
import com.lcjian.library.util.common.StringUtils;
import com.lcjian.library.util.glide.GlideRoundTransform;
import com.lcjian.library.widget.RatioLayout;
import com.qq.e.ads.nativ.NativeADEventListener;
import com.qq.e.ads.nativ.NativeUnifiedADData;
@@ -289,7 +287,7 @@
                @Override
                public void run() {
                    try {
                        Glide.with(mContext).load(simpleVideoHolder.rl_picture.getTag() + "").apply(new RequestOptions().centerCrop()).transition(withCrossFade()).transform(new GlideRoundTransform(mContext, 6)).placeholder(R.drawable.shape_video_list_cover_placeholder).into(simpleVideoHolder.iv_movie_cover);
                        Glide.with(mContext).load(simpleVideoHolder.rl_picture.getTag() + "").apply(new RequestOptions().centerCrop()).transition(withCrossFade()).placeholder(R.drawable.shape_video_list_cover_placeholder).into(simpleVideoHolder.iv_movie_cover);
                    } catch (IllegalArgumentException e) {
                        e.printStackTrace();
                    }
library-search/src/main/res/drawable-xhdpi/icon_video_vip.png

library-search/src/main/res/drawable/shape_video_detail_episode_selected.xml
@@ -3,7 +3,7 @@
    android:shape="rectangle">
    <solid android:color="#0051F5" />
    <corners android:radius="5dp" />
    <corners android:radius="10dp" />
    <stroke android:width="1px" android:color="#E1E1E1"></stroke>
</shape>
library-search/src/main/res/drawable/shape_video_detail_episode_unselected.xml
@@ -2,5 +2,6 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="@color/video_episode_bg_color" />
    <corners android:radius="5dp" />
    <corners android:radius="10dp" />
    <stroke android:width="1px" android:color="#E1E1E1"></stroke>
</shape>
library-search/src/main/res/layout/item_album_list_ad.xml
@@ -108,12 +108,12 @@
                        android:id="@+id/tv_play"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:background="@drawable/shape_video_search_result_album_play"
                        android:paddingLeft="30dp"
                        android:paddingTop="6dp"
                        android:layout_gravity="right"
                        android:paddingRight="30dp"
                        android:paddingBottom="6dp"
                        android:background="@drawable/shape_video_search_result_album_play"
                        android:paddingLeft="20dp"
                        android:paddingTop="7dp"
                        android:paddingRight="20dp"
                        android:paddingBottom="7dp"
                        android:text="查看详情"
                        android:textColor="@color/white"
                        android:textSize="12sp" />
library-search/src/main/res/layout/item_video_search_result_album.xml
@@ -72,6 +72,7 @@
                <ImageView
                    android:layout_marginRight="3dp"
                    android:id="@+id/iv_vip"
                    android:layout_width="29.5dp"
                    android:layout_height="17.5dp"
@@ -178,10 +179,10 @@
                    android:layout_height="wrap_content"
                    android:layout_gravity="right"
                    android:background="@drawable/shape_video_search_result_album_play"
                    android:paddingLeft="30dp"
                    android:paddingTop="6dp"
                    android:paddingRight="30dp"
                    android:paddingBottom="6dp"
                    android:paddingLeft="20dp"
                    android:paddingTop="7dp"
                    android:paddingRight="20dp"
                    android:paddingBottom="7dp"
                    android:text="立即播放"
                    android:textColor="@color/white"
                    android:textSize="12sp" />
@@ -196,7 +197,7 @@
    <LinearLayout
        android:id="@+id/ll_videos"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:layout_height="40dp"
        android:layout_marginTop="8dp">
        <TextView
library-search/src/main/res/layout/item_video_search_result_video.xml
@@ -27,6 +27,7 @@
                android:scaleType="fitXY" />
            <ImageView
                android:layout_marginRight="3dp"
                android:id="@+id/iv_vip"
                android:layout_width="29.5dp"
                android:layout_height="17.5dp"
library-search/src/main/res/values/colors.xml
@@ -78,7 +78,7 @@
    <color name="video_list_tag_text_color">#ffffff</color>
    <color name="video_list_score_text_color">#f8dc9f</color>
    <color name="video_episode_text_color">#232323</color>
    <color name="video_episode_bg_color">#EFEFEF</color>
    <color name="video_episode_bg_color">#F9F9F9</color>
library-search/src/main/res/values/style.xml
@@ -9,7 +9,7 @@
        <item name="android:layout_weight">1</item>
        <item name="android:background">@drawable/shape_video_detail_episode_unselected</item>
        <item name="android:gravity">center</item>
        <item name="android:textSize">12sp</item>
        <item name="android:textSize">14sp</item>
        <item name="android:layout_marginLeft">11dp</item>
        <item name="android:textColor">@color/video_episode_text_color</item>
    </style>
library-video/src/main/java/com/yeshi/video/ui/EpisodeFragment.java
@@ -44,6 +44,7 @@
import com.umeng.socialize.UMShareListener;
import com.umeng.socialize.bean.SHARE_MEDIA;
import com.umeng.socialize.media.UMWeb;
import com.yeshi.base.entity.ad.AdPositionEnum;
import com.yeshi.base.entity.db.WatchHistoryTable;
import com.yeshi.base.entity.video.Follow;
import com.yeshi.base.entity.video.Play;
@@ -53,6 +54,7 @@
import com.yeshi.base.entity.video.VideoInfo;
import com.yeshi.base.entity.video.VideoResource;
import com.yeshi.base.utils.BeibeiConstant;
import com.yeshi.base.utils.ad.AdUtil;
import com.yeshi.base.utils.ad.GDTConstant;
import com.yeshi.base.utils.http.BasicTextHttpResponseHandler;
import com.yeshi.video.R;
@@ -353,6 +355,8 @@
    }
    private void loadAD() {
        if (AdUtil.getAdType(getContext(), AdPositionEnum.other) == null)
            return;
        NativeExpressAD nativeExpressAD = new NativeExpressAD(getContext(), new ADSize(ADSize.FULL_WIDTH, ADSize.AUTO_HEIGHT),
                GDTConstant.GDT_APP_ID, GDTConstant.GDT_HOME_AND_PLAY_BIG_PICTURE, new NativeExpressAD.NativeExpressADListener() {
            @Override
library-video/src/main/java/com/yeshi/video/ui/VideoDetailActivity.java
@@ -42,6 +42,7 @@
import com.lcjian.library.util.common.StringUtils;
import com.umeng.socialize.UMShareAPI;
import com.yeshi.base.entity.AccumulateRule;
import com.yeshi.base.entity.ad.AdPositionEnum;
import com.yeshi.base.entity.db.WatchHistoryTable;
import com.yeshi.base.entity.video.Follow;
import com.yeshi.base.entity.video.Play;
@@ -52,6 +53,7 @@
import com.yeshi.base.ui.BaseActivity;
import com.yeshi.base.utils.BeibeiConstant;
import com.yeshi.base.utils.RouteConstant;
import com.yeshi.base.utils.ad.AdUtil;
import com.yeshi.base.utils.http.BasicTextHttpResponseHandler;
import com.yeshi.video.R;
import com.yeshi.video.entity.PushEpisode;
@@ -111,6 +113,8 @@
    private FrameLayout fl_pptv;
    private LinearLayout ll_other;
    private boolean adShown = false;
    @Override
    public void onCreate(Bundle savedInstanceState) {
@@ -787,7 +791,7 @@
        if (!progressDialog.isShowing()) {
            progressDialog.show();
        }
        getVideoDetail(this, videoInfo.getId(), videoInfo.getThirdType(), false);
        getVideoDetail(this, videoInfo.getId(), videoInfo.getThirdType(), true);
    }
    public void onEventMainThread(Play info) {
@@ -1281,7 +1285,11 @@
     * 加载全屏视频广告
     */
    private void loadFullVideoAd() {
        if (BeibeiConstant.ADSHOW) {
        if (adShown)
            return;
        adShown = true;
        if (AdUtil.getAdType(getApplicationContext(), AdPositionEnum.videoDetailFullVideo) != null) {
            FullVideoAdManager.getInstance().loadAd(getApplicationContext(), new FullVideoAdManager.IFullVideoAdListener() {
                @Override
                public void onSuccess(TTFullScreenVideoAd ad) {
library-video/src/main/java/com/yeshi/video/ui/VideoEpisodeFragment.java
@@ -31,8 +31,10 @@
import com.qq.e.comm.util.AdError;
import com.umeng.analytics.MobclickAgent;
import com.viewpagerindicator.TabPageIndicator;
import com.yeshi.base.entity.ad.AdPositionEnum;
import com.yeshi.base.entity.video.VideoInfo;
import com.yeshi.base.utils.BeibeiConstant;
import com.yeshi.base.utils.ad.AdUtil;
import com.yeshi.base.utils.ad.GDTConstant;
import com.yeshi.base.utils.http.BasicTextHttpResponseHandler;
import com.yeshi.video.R;
@@ -262,7 +264,7 @@
            }
        });
        if (BeibeiConstant.ADSHOW) {
        if (AdUtil.getAdType(getContext(), AdPositionEnum.other) != null) {
//            loadAD1();
            loadAD();
        }
@@ -524,6 +526,8 @@
    private void loadAD() {
        if (AdUtil.getAdType(getContext(), AdPositionEnum.other) == null)
            return;
        NativeExpressAD nativeExpressAD = new NativeExpressAD(getContext(), new ADSize(ADSize.FULL_WIDTH, ADSize.AUTO_HEIGHT),
                GDTConstant.GDT_APP_ID, GDTConstant.GDT_HOME_AND_PLAY_BIG_PICTURE, new NativeExpressAD.NativeExpressADListener() {
            @Override
library-video/src/main/java/com/yeshi/video/ui/VideoPlayerFragment.java
@@ -8,8 +8,10 @@
import android.view.ViewGroup;
import android.widget.TextView;
import com.yeshi.base.entity.ad.AdPositionEnum;
import com.yeshi.base.entity.video.VideoInfo;
import com.yeshi.base.utils.BeibeiConstant;
import com.yeshi.base.utils.ad.AdUtil;
import com.yeshi.video.R;
import androidx.fragment.app.Fragment;
@@ -57,7 +59,7 @@
                        }
                    }
                });
        if (BeibeiConstant.ADSHOW) {
        if (AdUtil.getAdType(getContext(), AdPositionEnum.other) != null) {
            showInterstitialAd();
        }
library-video/src/main/res/values/colors.xml
@@ -78,7 +78,7 @@
    <color name="video_list_tag_text_color">#ffffff</color>
    <color name="video_list_score_text_color">#f8dc9f</color>
    <color name="video_episode_text_color">#232323</color>
    <color name="video_episode_bg_color">#EFEFEF</color>
    <color name="video_episode_bg_color">#F9F9F9</color>