admin
2021-04-16 7ff3a948e725053434fc8132947726ff89162c9e
影视豆完善
25个文件已修改
22个文件已添加
2161 ■■■■ 已修改文件
BuWanVideo/build.gradle 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/drawable-xhdpi/ic_goldcorn_bg.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/drawable-xhdpi/ic_goldcorn_logo.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/drawable-xhdpi/ic_nav_gold_corn.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/drawable-xhdpi/ic_nav_gold_corn_highlight.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/drawable-xhdpi/icon_gold_corn_title.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/drawable/selector_gold_corn_task_list_btn_bg.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/drawable/selector_nav_gold_corn.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/drawable/selector_sign_in_btn_bg.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/drawable/shape_gold_corn_coupon_exchange_bg.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/drawable/shape_gold_corn_sign_in_btn.xml 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/drawable/shape_gold_corn_sign_in_btn_novalid.xml 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/drawable/shape_gold_corn_sign_in_btn_press.xml 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/drawable/shape_gold_corn_sign_in_cout_bg.xml 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/drawable/shape_gold_corn_sign_in_function_bg.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/drawable/shape_gold_corn_sign_in_score_bg_highlight.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/drawable/shape_gold_corn_sign_in_user_bg.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/drawable/shape_gold_corn_task_list_btn_novalid.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/drawable/shape_gold_corn_toast.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/layout/activity_splash_ad.xml 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/layout/fragment_goldcorn.xml 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/layout/item_gold_corn_coupon.xml 94 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/layout/item_gold_corn_sign_in.xml 443 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/layout/item_gold_corn_task.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/layout/item_gold_corn_task_list.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/layout/item_gold_corn_toast.xml 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/layout/navigation_bottom_bar.xml 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/values/styles.xml 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoAPI.java 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/entity/recommend/HomeTabChangeInfo.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/entity/vo/CouponVideoInfo.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/entity/vo/GoldCornTask.java 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/entity/vo/SignInGoldCornDateData.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/entity/vo/SignInInfo.java 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/goldcorn/GoldCornAdapter.java 401 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/main/GoldCornFragment.java 266 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/main/HomeFragment.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/main/MainActivity.java 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoDetailActivity2.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/mine/BrowserActivity.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/mine/PPTVPlayFragment.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/SearchActivity.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/util/BeibeiConstant.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/util/JumpActivityUtil.java 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/util/ad/RewardVideoAdUtil.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/util/goldcorn/GoldCornUtil.java 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/util/ui/ToastUtil.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/build.gradle
@@ -94,8 +94,8 @@
    defaultConfig {
        applicationId "com.doudou.ysvideo"
        versionCode 110
        versionName "3.9.1"
        versionCode 111
        versionName "3.9.2"
        multiDexEnabled = true
        minSdkVersion 17
        targetSdkVersion 27
BuWanVideo/res/drawable-xhdpi/ic_goldcorn_bg.png

BuWanVideo/res/drawable-xhdpi/ic_goldcorn_logo.png

BuWanVideo/res/drawable-xhdpi/ic_nav_gold_corn.png
BuWanVideo/res/drawable-xhdpi/ic_nav_gold_corn_highlight.png
BuWanVideo/res/drawable-xhdpi/icon_gold_corn_title.png
BuWanVideo/res/drawable/selector_gold_corn_task_list_btn_bg.xml
New file
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/shape_gold_corn_task_list_btn" android:state_enabled="true"></item>
    <item android:drawable="@drawable/shape_gold_corn_task_list_btn_novalid" android:state_enabled="false"></item>
</selector>
BuWanVideo/res/drawable/selector_nav_gold_corn.xml
New file
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/ic_nav_gold_corn_highlight" android:state_checked="true"></item>
    <item android:drawable="@drawable/ic_nav_gold_corn" android:state_checked="false"></item>
</selector>
BuWanVideo/res/drawable/selector_sign_in_btn_bg.xml
New file
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/shape_gold_corn_sign_in_btn" android:state_enabled="true" android:state_pressed="false"></item>
    <item android:drawable="@drawable/shape_gold_corn_sign_in_btn_novalid" android:state_enabled="false"></item>
    <item android:drawable="@drawable/shape_gold_corn_sign_in_btn_press"   android:state_enabled="true" android:state_pressed="true"></item>
</selector>
BuWanVideo/res/drawable/shape_gold_corn_coupon_exchange_bg.xml
@@ -5,11 +5,13 @@
    <item name="android:shadowDx">0</item>
    <item name="android:shadowDy">2</item>
    <item name="android:shadowColor">#ffffdc73</item>
    <corners
        android:bottomLeftRadius="15dp"
        android:bottomRightRadius="15dp"
        android:topLeftRadius="15dp"
        android:topRightRadius="15dp" />
    <corners android:radius="30dp" />
    <padding
        android:bottom="6dp"
        android:left="57dp"
        android:right="57dp"
        android:top="6dp"></padding>
</shape>
BuWanVideo/res/drawable/shape_gold_corn_sign_in_btn.xml
New file
@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <gradient
                android:angle="90"
                android:endColor="#ffffae2e"
                android:startColor="#D06200"
                android:type="linear"
                android:useLevel="true" />
            <corners android:radius="30dp" />
        </shape>
    </item>
    <item android:bottom="3dp">
        <shape android:shape="rectangle">
            <gradient
                android:angle="90"
                android:endColor="#ffffb400"
                android:startColor="#ffff9600"
                android:type="linear"
                android:useLevel="true" />
            <corners android:radius="30dp" />
            <padding android:bottom="30dp"></padding>
        </shape>
    </item>
</layer-list>
BuWanVideo/res/drawable/shape_gold_corn_sign_in_btn_novalid.xml
New file
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <gradient
                android:angle="90"
                android:endColor="#7e7e7e"
                android:startColor="#7e7e7e"
                android:type="linear"
                android:useLevel="true" />
            <corners android:radius="30dp" />
        </shape>
    </item>
    <item android:bottom="3dp">
        <shape android:shape="rectangle">
            <gradient
                android:angle="90"
                android:endColor="#CBCBCB"
                android:startColor="#919191"
                android:type="linear"
                android:useLevel="true" />
            <corners android:radius="30dp" />
        </shape>
    </item>
</layer-list>
BuWanVideo/res/drawable/shape_gold_corn_sign_in_btn_press.xml
New file
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <gradient
                android:angle="90"
                android:endColor="#ffff9600"
                android:startColor="#ffffb400"
                android:type="linear"
                android:useLevel="true" />
            <corners android:radius="30dp" />
            <padding android:bottom="30dp"></padding>
        </shape>
    </item>
</layer-list>
BuWanVideo/res/drawable/shape_gold_corn_sign_in_cout_bg.xml
@@ -4,8 +4,15 @@
    <corners
        android:bottomLeftRadius="0dp"
        android:bottomRightRadius="0dp"
        android:topLeftRadius="20dp"
        android:topRightRadius="20dp" />
        android:topLeftRadius="30dp"
        android:topRightRadius="30dp" />
    <padding
        android:left="30dp"
        android:right="30dp"
        android:top="7dp">
    </padding>
</shape>
BuWanVideo/res/drawable/shape_gold_corn_sign_in_function_bg.xml
@@ -10,4 +10,10 @@
        android:topLeftRadius="5dp"
        android:topRightRadius="0dp" />
    <padding
        android:bottom="4dp"
        android:left="4dp"
        android:right="3dp"
        android:top="4dp"></padding>
</shape>
BuWanVideo/res/drawable/shape_gold_corn_sign_in_score_bg_highlight.xml
New file
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#FF9600" />
    <corners android:radius="20dp" />
    <stroke
        android:width="2dp"
        android:color="@color/white"></stroke>
</shape>
BuWanVideo/res/drawable/shape_gold_corn_sign_in_user_bg.xml
@@ -6,6 +6,11 @@
        android:bottomRightRadius="20dp"
        android:topLeftRadius="0dp"
        android:topRightRadius="20dp" />
    <padding
        android:bottom="3dp"
        android:left="3dp"
        android:right="12dp"
        android:top="3dp"></padding>
</shape>
BuWanVideo/res/drawable/shape_gold_corn_task_list_btn_novalid.xml
New file
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#919191" />
    <corners
        android:bottomLeftRadius="15dp"
        android:bottomRightRadius="15dp"
        android:topLeftRadius="15dp"
        android:topRightRadius="15dp" />
</shape>
BuWanVideo/res/drawable/shape_gold_corn_toast.xml
New file
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient
        android:angle="90"
        android:endColor="#CCfe93ff"
        android:startColor="#CC26ccfc"
        android:type="linear"
        android:useLevel="true" />
    <corners android:radius="30dp" />
</shape>
BuWanVideo/res/layout/activity_splash_ad.xml
@@ -11,10 +11,30 @@
    <FrameLayout
        android:id="@+id/fl_splash_ad"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center">
        android:layout_height="0dp"
        android:layout_gravity="center"
        android:layout_weight="1">
    </FrameLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:padding="15dp">
        <ImageView
            android:layout_width="28dp"
            android:layout_height="28dp"
            android:src="@drawable/ic_launcher"></ImageView>
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="27dp"
            android:layout_marginLeft="5dp"
            android:src="@drawable/ic_splash_bottom_small"></ImageView>
    </LinearLayout>
</LinearLayout>
BuWanVideo/res/layout/fragment_goldcorn.xml
@@ -1,14 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<com.weikou.beibeivideo.widget.MySwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/srl_goldcorn"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#0080FF">
    android:background="#0080FF"
    android:focusable="true"
    android:focusableInTouchMode="true">
    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/rv_goldcorn"
        android:layout_width="match_parent"
        android:layout_height="match_parent"></androidx.recyclerview.widget.RecyclerView>
</com.weikou.beibeivideo.widget.MySwipeRefreshLayout>
BuWanVideo/res/layout/item_gold_corn_coupon.xml
@@ -1,41 +1,105 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    android:orientation="vertical"
    android:paddingTop="10dp">
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        android:layout_height="wrap_content"
        android:layout_marginLeft="7dp"
        android:layout_marginRight="7dp">
        <ImageView
        <com.lcjian.library.widget.RatioLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="50dp"
            android:src="@drawable/ic_gold_corn_coupon_bg"></ImageView>
            android:background="@drawable/ic_login_bg_w"
            app:ratio="0.3698">
            <ImageView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:scaleType="fitXY"
                android:src="@drawable/ic_gold_corn_coupon_bg"></ImageView>
        </com.lcjian.library.widget.RatioLayout>
        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">
            <com.lzj.gallery.library.views.BannerViewPager
                android:id="@+id/vp_video"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"></com.lzj.gallery.library.views.BannerViewPager>
            <TextView
                android:layout_width="wrap_content"
            <com.lcjian.library.widget.RatioLayout
                android:layout_width="90dp"
                android:layout_height="wrap_content"
                android:background="@drawable/shape_gold_corn_coupon_exchange_bg"
                android:text="立即兑换"
                android:textColor="#E74028"
                android:textSize="15sp" />
                android:layout_gravity="center|top"
                android:layout_marginLeft="80dp"
                android:layout_marginTop="11dp"
                android:background="@drawable/ic_login_bg_w"
                app:ratio="1.39">
                <ImageView
                    android:id="@+id/iv_cover_3"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:scaleType="fitXY"></ImageView>
            </com.lcjian.library.widget.RatioLayout>
            <com.lcjian.library.widget.RatioLayout
                android:layout_width="90dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center|top"
                android:layout_marginTop="11dp"
                android:layout_marginRight="80dp"
                android:background="@drawable/ic_login_bg_w"
                app:ratio="1.39">
                <ImageView
                    android:id="@+id/iv_cover_2"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:scaleType="fitXY"></ImageView>
            </com.lcjian.library.widget.RatioLayout>
            <com.lcjian.library.widget.RatioLayout
                android:layout_width="90dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center|top"
                android:background="@drawable/ic_login_bg_w"
                app:ratio="1.39">
                <ImageView
                    android:id="@+id/iv_cover_1"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:scaleType="fitXY"></ImageView>
            </com.lcjian.library.widget.RatioLayout>
        </FrameLayout>
        <TextView
            android:id="@+id/tv_exchange"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal|bottom"
            android:layout_marginBottom="40dp"
            android:background="@drawable/shape_gold_corn_coupon_exchange_bg"
            android:gravity="center"
            android:text="立即兑换"
            android:textColor="#E74028"
            android:textSize="15sp" />
    </FrameLayout>
BuWanVideo/res/layout/item_gold_corn_sign_in.xml
@@ -1,266 +1,344 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    <!--        <com.lcjian.library.widget.RatioLayout-->
    <!--            android:layout_width="match_parent"-->
    <!--            android:layout_height="wrap_content"-->
    <!--            app:ratio="0.8933">-->
    <FrameLayout
    <com.lcjian.library.widget.RatioLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        android:layout_height="wrap_content"
        app:ratio="0.7093">
        <ImageView
        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scaleType="fitXY"
            android:src="@drawable/ic_goldcorn_bg"></ImageView>
        <LinearLayout
            android:id="@+id/ll_user"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="left|top"
            android:layout_marginTop="11.5dp"
            android:background="@drawable/shape_gold_corn_sign_in_user_bg"
            android:gravity="center_vertical">
            android:layout_height="match_parent">
            <ImageView
                android:layout_width="32dp"
                android:layout_height="32dp"></ImageView>
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:scaleType="fitXY"
                android:src="@drawable/ic_goldcorn_bg"></ImageView>
            <LinearLayout
                android:id="@+id/ll_user"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="vertical">
                android:layout_gravity="left|top"
                android:layout_marginTop="11.5dp"
                android:background="@drawable/shape_gold_corn_sign_in_user_bg"
                android:gravity="center_vertical">
                <TextView
                <ImageView
                    android:id="@+id/iv_portrait"
                    android:layout_width="32dp"
                    android:layout_height="32dp"></ImageView>
                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="可用影视豆"
                    android:textColor="#ff000000"
                    android:textSize="9sp" />
                    android:layout_marginLeft="4.5dp"
                    android:orientation="vertical">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="5.5dp"
                    android:text="888888"
                    android:textColor="#ff0080ff"
                    android:textSize="12sp" />
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="可用影视豆"
                        android:textColor="#ff000000"
                        android:textSize="9sp" />
                    <TextView
                        android:id="@+id/tv_gold_corn"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="5.5dp"
                        android:text="888888"
                        android:textColor="#ff0080ff"
                        android:textSize="12sp" />
                </LinearLayout>
            </LinearLayout>
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right|top"
            android:layout_marginTop="11.5dp"
            android:orientation="vertical">
            <TextView
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/shape_gold_corn_sign_in_function_bg"
                android:text="记\n录"
                android:textColor="#1F8D00"></TextView>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="7dp"
                android:background="@drawable/shape_gold_corn_sign_in_function_bg"
                android:text="规\n则"
                android:textColor="#1F8D00"></TextView>
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom|center_horizontal"
            android:orientation="vertical">
            <ImageView
                android:layout_width="76dp"
                android:layout_height="106dp"
                android:layout_gravity="center_horizontal|top"
                android:layout_marginTop="40dp"
                android:src="@drawable/ic_goldcorn_logo"></ImageView>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="2dp"
                android:shadowColor="#ffab6d00"
                android:shadowDx="0"
                android:shadowDy="2"
                android:shadowRadius="3.0"
                android:text="影视豆当钱花"
                android:textColor="#ff000000"
                android:textSize="30sp" />
            <FrameLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content">
                android:layout_gravity="right|top"
                android:layout_marginTop="11.5dp"
                android:orientation="vertical">
                <TextView
                    android:id="@+id/tv_record"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="立即签到"
                    android:textColor="#ffffffff"
                    android:textSize="18sp" />
            </FrameLayout>
                    android:background="@drawable/shape_gold_corn_sign_in_function_bg"
                    android:gravity="center"
                    android:text="记\n录"
                    android:textColor="#219500"></TextView>
            <TextView
                <TextView
                    android:id="@+id/tv_rule"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="7dp"
                    android:background="@drawable/shape_gold_corn_sign_in_function_bg"
                    android:gravity="center"
                    android:text="规\n则"
                    android:textColor="#219500"></TextView>
            </LinearLayout>
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/shape_gold_corn_sign_in_cout_bg"
                android:text="连续签到:99天"></TextView>
                android:layout_gravity="bottom|center_horizontal"
                android:gravity="center_horizontal|bottom"
                android:orientation="vertical">
                <ImageView
                    android:layout_width="76dp"
                    android:layout_height="106dp"
                    android:layout_gravity="center_horizontal|top"
                    android:layout_marginTop="40dp"
                    android:src="@drawable/ic_goldcorn_logo"></ImageView>
                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="2dp"
                    android:src="@drawable/icon_gold_corn_title"></ImageView>
                <FrameLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="6dp">
                    <TextView
                        android:id="@+id/tv_sign_in"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:background="@drawable/selector_sign_in_btn_bg"
                        android:drawableLeft="@drawable/icon_sign_in"
                        android:drawablePadding="6dp"
                        android:paddingLeft="27dp"
                        android:paddingTop="13dp"
                        android:paddingRight="27dp"
                        android:paddingBottom="13dp"
                        android:text="立即签到"
                        android:enabled="true"
                        android:textColor="#ffffffff"
                        android:textSize="18sp" />
                </FrameLayout>
                <TextView
                    android:id="@+id/tv_sign_in_day_count"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="7dp"
                    android:background="@drawable/shape_gold_corn_sign_in_cout_bg"
                    android:text="连续签到:99天"
                    android:textSize="12sp"
                    android:textColor="#FFFFFF"></TextView>
            </LinearLayout>
        </FrameLayout>
    </com.lcjian.library.widget.RatioLayout>
    <LinearLayout
        android:id="@+id/ll_gold_date"
        android:layout_width="match_parent"
        android:layout_height="64dp"
        android:layout_marginTop="-3dp"
        android:background="#70C957"
        android:gravity="center_vertical"
        android:orientation="vertical"
        android:paddingLeft="20dp"
        android:paddingRight="20dp">
        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="64dp"
                android:orientation="vertical">
                android:layout_height="wrap_content"
                android:layout_gravity="top"
                android:layout_marginTop="13dp"
                android:paddingRight="3dp"
                android:paddingLeft="3dp"
                android:gravity="center_vertical">
                <FrameLayout
                    android:layout_width="match_parent"
                    android:layout_height="31dp">
                <View
                    android:id="@+id/v_space_1"
                    style="@style/goldCornSignInDateSpaceHighLightStyle"></View>
                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:layout_gravity="center_vertical"
                        android:gravity="center_vertical">
                <View
                    android:id="@+id/v_space_2"
                    style="@style/goldCornSignInDateSpaceStyle"></View>
                        <View style="@style/goldCornSignInDateSpaceStyle"></View>
                <View
                    android:id="@+id/v_space_3"
                    style="@style/goldCornSignInDateSpaceStyle"></View>
                        <View style="@style/goldCornSignInDateSpaceStyle"></View>
                <View
                    android:id="@+id/v_space_4"
                    style="@style/goldCornSignInDateSpaceStyle"></View>
                        <View style="@style/goldCornSignInDateSpaceStyle"></View>
                <View
                    android:id="@+id/v_space_5"
                    style="@style/goldCornSignInDateSpaceStyle"></View>
                        <View style="@style/goldCornSignInDateSpaceStyle"></View>
                        <View style="@style/goldCornSignInDateSpaceStyle"></View>
                        <View style="@style/goldCornSignInDateSpaceStyle"></View>
                <View
                    android:id="@+id/v_space_6"
                    style="@style/goldCornSignInDateSpaceStyle"></View>
                    </LinearLayout>
            </LinearLayout>
                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:layout_gravity="center_vertical"
                        android:gravity="center_vertical">
                        <TextView
                            android:id="@+id/tv_score_1"
                            style="@style/goldCornSignInDateScoreStyle"
                            android:text="+1"></TextView>
                        <View style="@style/goldCornSignInDateSpaceStyle"></View>
                        <TextView
                            android:id="@+id/tv_score_2"
                            style="@style/goldCornSignInDateScoreStyle"
                            android:text="+1"></TextView>
                        <View style="@style/goldCornSignInDateSpaceStyle"></View>
                        <TextView
                            android:id="@+id/tv_score_3"
                            style="@style/goldCornSignInDateScoreStyle"
                            android:text="+1"></TextView>
                        <View style="@style/goldCornSignInDateSpaceStyle"></View>
                        <TextView
                            android:id="@+id/tv_score_4"
                            style="@style/goldCornSignInDateScoreStyle"
                            android:text="+1"></TextView>
                        <View style="@style/goldCornSignInDateSpaceStyle"></View>
                        <TextView
                            android:id="@+id/tv_score_5"
                            style="@style/goldCornSignInDateScoreStyle"
                            android:text="+1"></TextView>
                        <View style="@style/goldCornSignInDateSpaceStyle"></View>
                        <TextView
                            android:id="@+id/tv_score_6"
                            style="@style/goldCornSignInDateScoreStyle"
                            android:text="+1"></TextView>
                        <View style="@style/goldCornSignInDateSpaceStyle"></View>
                        <TextView
                            android:id="@+id/tv_score_7"
                            style="@style/goldCornSignInDateScoreStyle"
                            android:text="+1"></TextView>
                    </LinearLayout>
                </FrameLayout>
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_gravity="center_vertical"
                android:gravity="center_vertical">
                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:gravity="center_vertical">
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="center_horizontal"
                    android:orientation="vertical">
                    <TextView
                        android:id="@+id/tv_score_1"
                        style="@style/goldCornSignInDateScoreHighlightStyle"
                        android:text="+1"></TextView>
                    <TextView
                        android:id="@+id/tv_date_1"
                        style="@style/goldCornSignInDateDateStyle"
                        android:text="+1"></TextView>
                    <View style="@style/goldCornSignInDateSpaceStyle"></View>
                </LinearLayout>
                <View style="@style/goldCornSignInDateSpaceTransparent"></View>
                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="center_horizontal"
                    android:orientation="vertical">
                    <TextView
                        android:id="@+id/tv_score_2"
                        style="@style/goldCornSignInDateScoreStyle"
                        android:text="+1"></TextView>
                    <TextView
                        android:id="@+id/tv_date_2"
                        style="@style/goldCornSignInDateDateStyle"
                        android:text="+1"></TextView>
                    <View style="@style/goldCornSignInDateSpaceStyle"></View>
                </LinearLayout>
                <View style="@style/goldCornSignInDateSpaceTransparent"></View>
                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="center_horizontal"
                    android:orientation="vertical">
                    <TextView
                        android:id="@+id/tv_score_3"
                        style="@style/goldCornSignInDateScoreStyle"
                        android:text="+1"></TextView>
                    <TextView
                        android:id="@+id/tv_date_3"
                        style="@style/goldCornSignInDateDateStyle"
                        android:text="+1"></TextView>
                    <View style="@style/goldCornSignInDateSpaceStyle"></View>
                </LinearLayout>
                <View style="@style/goldCornSignInDateSpaceTransparent"></View>
                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="center_horizontal"
                    android:orientation="vertical">
                    <TextView
                        android:id="@+id/tv_score_4"
                        style="@style/goldCornSignInDateScoreStyle"
                        android:text="+1"></TextView>
                    <TextView
                        android:id="@+id/tv_date_4"
                        style="@style/goldCornSignInDateDateStyle"
                        android:text="+1"></TextView>
                    <View style="@style/goldCornSignInDateSpaceStyle"></View>
                </LinearLayout>
                <View style="@style/goldCornSignInDateSpaceTransparent"></View>
                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="center_horizontal"
                    android:orientation="vertical">
                    <TextView
                        android:id="@+id/tv_score_5"
                        style="@style/goldCornSignInDateScoreStyle"
                        android:text="+1"></TextView>
                    <TextView
                        android:id="@+id/tv_date_5"
                        style="@style/goldCornSignInDateDateStyle"
                        android:text="+1"></TextView>
                    <View style="@style/goldCornSignInDateSpaceStyle"></View>
                </LinearLayout>
                <View style="@style/goldCornSignInDateSpaceTransparent"></View>
                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="center_horizontal"
                    android:orientation="vertical">
                    <TextView
                        android:id="@+id/tv_score_6"
                        style="@style/goldCornSignInDateScoreStyle"
                        android:text="+1"></TextView>
                    <TextView
                        android:id="@+id/tv_date_6"
                        style="@style/goldCornSignInDateDateStyle"
                        android:text="+1"></TextView>
                    <View style="@style/goldCornSignInDateSpaceStyle"></View>
                </LinearLayout>
                <View style="@style/goldCornSignInDateSpaceTransparent"></View>
                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="center_horizontal"
                    android:orientation="vertical">
                    <TextView
                        android:id="@+id/tv_score_7"
                        style="@style/goldCornSignInDateScoreStyle"
                        android:text="+1"></TextView>
                    <TextView
                        android:id="@+id/tv_date_7"
@@ -269,15 +347,12 @@
                </LinearLayout>
            </LinearLayout>
        </LinearLayout>
        </FrameLayout>
    </FrameLayout>
    </LinearLayout>
    <!--        </com.lcjian.library.widget.RatioLayout>-->
</LinearLayout>
BuWanVideo/res/layout/item_gold_corn_task.xml
@@ -2,7 +2,12 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    android:background="@color/transparent"
    android:orientation="vertical"
    android:paddingLeft="7dp"
    android:paddingTop="18dp"
    android:paddingRight="7dp"
    android:paddingBottom="10dp">
    <LinearLayout
        android:layout_width="match_parent"
@@ -40,6 +45,7 @@
    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/rl_task"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="9dp"
BuWanVideo/res/layout/item_gold_corn_task_list.xml
@@ -24,8 +24,8 @@
        <TextView
            android:id="@+id/tv_name"
            android:layout_width="107dp"
            android:layout_height="15dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="看《指定电影》"
            android:textColor="#ff34353f"
            android:textSize="15sp" />
@@ -58,7 +58,7 @@
        android:layout_height="30dp"
        android:layout_gravity="right|center_vertical"
        android:layout_marginLeft="5dp"
        android:background="@drawable/shape_gold_corn_task_list_btn"
        android:background="@drawable/selector_gold_corn_task_list_btn_bg"
        android:gravity="center"
        android:text="去看看"
        android:textColor="#ffffffff"
BuWanVideo/res/layout/item_gold_corn_toast.xml
New file
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="47dp"
    android:background="@drawable/shape_gold_corn_toast"
    android:gravity="center"
    android:minWidth="160dp">
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="9dp"
        android:src="@drawable/icon_gold_corn">
    </ImageView>
    <TextView
        android:id="@+id/tv_content"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:paddingBottom="4sp"
        android:shadowColor="#80ff078d"
        android:shadowDx="0"
        android:shadowDy="5"
        android:shadowRadius="3.0"
        android:textColor="#ffffffff"
        android:textSize="24sp" />
</LinearLayout>
BuWanVideo/res/layout/navigation_bottom_bar.xml
@@ -47,6 +47,23 @@
            android:textSize="10sp" />
        <RadioButton
            android:id="@+id/rb_gold_corn"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:button="@null"
            android:drawableTop="@drawable/selector_nav_gold_corn"
            android:drawablePadding="4dp"
            android:gravity="center_horizontal"
            android:text="影视豆"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="@color/selector_bottom_bar_text"
            android:textSize="10sp" />
        <RadioButton
            android:id="@+id/rb_guess_like"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
@@ -55,21 +72,7 @@
            android:drawableTop="@drawable/selector_guess_like"
            android:drawablePadding="4dp"
            android:gravity="center_horizontal"
            android:text="推荐"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="@color/selector_bottom_bar_text"
            android:textSize="10sp" />
        <RadioButton
            android:id="@+id/rb_nav_category"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:button="@null"
            android:drawableTop="@drawable/selector_category"
            android:drawablePadding="4dp"
            android:gravity="center_horizontal"
            android:text="@string/category"
            android:text="@string/recommend"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="@color/selector_bottom_bar_text"
            android:textSize="10sp" />
BuWanVideo/res/values/styles.xml
@@ -385,6 +385,13 @@
        <item name="android:background">#2CB3FF</item>
    </style>
    <style name="goldCornSignInDateSpaceTransparent">
        <item name="android:layout_height">5dp</item>
        <item name="android:layout_width">0dp</item>
        <item name="android:layout_weight">1</item>
        <item name="android:background">@color/transparent</item>
    </style>
    <style name="goldCornSignInDateSpaceHighLightStyle" parent="goldCornSignInDateSpaceStyle">
        <item name="android:background">#FFFFFF</item>
    </style>
@@ -393,12 +400,25 @@
        <item name="android:textColor">#FFFFFF</item>
        <item name="android:textSize">13dp</item>
        <item name="android:gravity">center</item>
        <item name="android:layout_width">27dp</item>
        <item name="android:layout_height">27dp</item>
        <item name="android:layout_margin">2dp</item>
        <item name="android:background">@drawable/shape_gold_corn_sign_in_score_bg</item>
    </style>
    <style name="goldCornSignInDateScoreHighlightStyle" parent="goldCornSignInDateScoreStyle">
        <item name="android:layout_margin">0dp</item>
        <item name="android:layout_width">31dp</item>
        <item name="android:layout_height">31dp</item>
        <item name="android:background">@drawable/shape_gold_corn_sign_in_score_bg_highlight</item>
    </style>
    <style name="goldCornSignInDateDateStyle">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textColor">#FFFFFF</item>
        <item name="android:textSize">11dp</item>
        <item name="android:textSize">11sp</item>
        <item name="android:gravity">center</item>
    </style>
BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoAPI.java
@@ -1378,6 +1378,86 @@
        commonPost(context, BASE_URL + "video/play/getPPTVVIPVideoActivity", params, handler);
    }
    /**
     * --------------影视豆--------------
     */
    /**
     * 挣影视豆
     *
     * @param context
     * @param code
     * @param param1
     * @param param2
     * @param handler
     */
    public static void makeGoldCorn(Context context, String code, String param1, String param2,
                                    ResponseHandlerInterface handler) {
        String loginUid = UserUtil.getLoginUid(context);
        if (loginUid == null || StringUtils.isEmpty(loginUid)) {
            return;
        }
        LinkedHashMap<String, String> params = new LinkedHashMap<>();
        params.put("loginUid", loginUid);
        if (code != null) {
            params.put("code", code);
        }
        if (code != null) {
            params.put("param1", param1);
        }
        if (code != null) {
            params.put("param2", param2);
        }
        commonPost(context, BASE_URL + "goldcorn/makeGoldCorn", params, handler);
    }
    //获取签到信息
    public static void getSignInInfo(Context context,
                                     ResponseHandlerInterface handler) {
        String loginUid = UserUtil.getLoginUid(context);
        LinkedHashMap<String, String> params = new LinkedHashMap<>();
        if (loginUid != null)
            params.put("loginUid", loginUid);
        commonPost(context, BASE_URL + "goldcorn/getSignInData", params, handler);
    }
    //签到
    public static void signIn(Context context,
                              ResponseHandlerInterface handler) {
        String loginUid = UserUtil.getLoginUid(context);
        LinkedHashMap<String, String> params = new LinkedHashMap<>();
        if (loginUid != null)
            params.put("loginUid", loginUid);
        commonPost(context, BASE_URL + "goldcorn/signIn", params, handler);
    }
    //获取可以兑换券的视频
    public static void getGoldCornCouponVideoList(Context context,
                                                  ResponseHandlerInterface handler) {
        String loginUid = UserUtil.getLoginUid(context);
        LinkedHashMap<String, String> params = new LinkedHashMap<>();
        if (loginUid != null)
            params.put("loginUid", loginUid);
        commonPost(context, BASE_URL + "goldcorn/getCouponVideoList", params, handler);
    }
    //获取任务列表
    public static void getGoldCornTaskList(Context context,
                                           ResponseHandlerInterface handler) {
        String loginUid = UserUtil.getLoginUid(context);
        LinkedHashMap<String, String> params = new LinkedHashMap<>();
        if (loginUid != null)
            params.put("loginUid", loginUid);
        commonPost(context, BASE_URL + "goldcorn/getTaskList", params, handler);
    }
    public static LinkedHashMap<String, String> validateParams(
            LinkedHashMap<String, String> params, Context context) {
BuWanVideo/src/com/weikou/beibeivideo/entity/recommend/HomeTabChangeInfo.java
New file
@@ -0,0 +1,24 @@
package com.weikou.beibeivideo.entity.recommend;
import java.io.Serializable;
public class HomeTabChangeInfo implements Serializable {
    private int position;
    public HomeTabChangeInfo() {
    }
    public HomeTabChangeInfo(int position) {
        this.position = position;
    }
    public int getPosition() {
        return position;
    }
    public void setPosition(int position) {
        this.position = position;
    }
}
BuWanVideo/src/com/weikou/beibeivideo/entity/vo/CouponVideoInfo.java
New file
@@ -0,0 +1,36 @@
package com.weikou.beibeivideo.entity.vo;
import com.weikou.beibeivideo.entity.JumpDetail;
/**
 * 用券视频信息
 */
public class CouponVideoInfo {
    private String picture;
    private JumpDetail jumpDetail;
    private String params;
    public String getPicture() {
        return picture;
    }
    public void setPicture(String picture) {
        this.picture = picture;
    }
    public JumpDetail getJumpDetail() {
        return jumpDetail;
    }
    public void setJumpDetail(JumpDetail jumpDetail) {
        this.jumpDetail = jumpDetail;
    }
    public String getParams() {
        return params;
    }
    public void setParams(String params) {
        this.params = params;
    }
}
BuWanVideo/src/com/weikou/beibeivideo/entity/vo/GoldCornTask.java
New file
@@ -0,0 +1,80 @@
package com.weikou.beibeivideo.entity.vo;
import com.weikou.beibeivideo.entity.JumpDetail;
public class GoldCornTask {
    private String icon;
    private String title;
    private String goldCorn;
    private String desc;
    private String actionName;
    private JumpDetail jumpDetail;
    private String params;
    private boolean enable;
    public String getIcon() {
        return icon;
    }
    public void setIcon(String icon) {
        this.icon = icon;
    }
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public String getGoldCorn() {
        return goldCorn;
    }
    public void setGoldCorn(String goldCorn) {
        this.goldCorn = goldCorn;
    }
    public String getDesc() {
        return desc;
    }
    public void setDesc(String desc) {
        this.desc = desc;
    }
    public String getActionName() {
        return actionName;
    }
    public void setActionName(String actionName) {
        this.actionName = actionName;
    }
    public JumpDetail getJumpDetail() {
        return jumpDetail;
    }
    public void setJumpDetail(JumpDetail jumpDetail) {
        this.jumpDetail = jumpDetail;
    }
    public String getParams() {
        return params;
    }
    public void setParams(String params) {
        this.params = params;
    }
    public boolean isEnable() {
        return enable;
    }
    public void setEnable(boolean enable) {
        this.enable = enable;
    }
}
BuWanVideo/src/com/weikou/beibeivideo/entity/vo/SignInGoldCornDateData.java
New file
@@ -0,0 +1,31 @@
package com.weikou.beibeivideo.entity.vo;
public class SignInGoldCornDateData {
    private String goldCorn;
    private String date;
    private boolean selected;
    public String getGoldCorn() {
        return goldCorn;
    }
    public void setGoldCorn(String goldCorn) {
        this.goldCorn = goldCorn;
    }
    public String getDate() {
        return date;
    }
    public void setDate(String date) {
        this.date = date;
    }
    public boolean isSelected() {
        return selected;
    }
    public void setSelected(boolean selected) {
        this.selected = selected;
    }
}
BuWanVideo/src/com/weikou/beibeivideo/entity/vo/SignInInfo.java
New file
@@ -0,0 +1,74 @@
package com.weikou.beibeivideo.entity.vo;
import com.weikou.beibeivideo.ui.goldcorn.GoldCornAdapter;
import java.util.List;
public class SignInInfo {
    private int balance;
    private SignInConfig signInConfig;
    private List<SignInGoldCornDateData> dateList;
    private int signDay;
    private boolean canSignIn;
    public boolean isCanSignIn() {
        return canSignIn;
    }
    public void setCanSignIn(boolean canSignIn) {
        this.canSignIn = canSignIn;
    }
    public int getBalance() {
        return balance;
    }
    public void setBalance(int balance) {
        this.balance = balance;
    }
    public SignInConfig getSignInConfig() {
        return signInConfig;
    }
    public void setSignInConfig(SignInConfig signInConfig) {
        this.signInConfig = signInConfig;
    }
    public List<SignInGoldCornDateData> getDateList() {
        return dateList;
    }
    public void setDateList(List<SignInGoldCornDateData> dateList) {
        this.dateList = dateList;
    }
    public int getSignDay() {
        return signDay;
    }
    public void setSignDay(int signDay) {
        this.signDay = signDay;
    }
    public static class SignInConfig {
        private String recordUrl;
        private String ruleUrl;
        public String getRecordUrl() {
            return recordUrl;
        }
        public void setRecordUrl(String recordUrl) {
            this.recordUrl = recordUrl;
        }
        public String getRuleUrl() {
            return ruleUrl;
        }
        public void setRuleUrl(String ruleUrl) {
            this.ruleUrl = ruleUrl;
        }
    }
}
BuWanVideo/src/com/weikou/beibeivideo/ui/goldcorn/GoldCornAdapter.java
New file
@@ -0,0 +1,401 @@
package com.weikou.beibeivideo.ui.goldcorn;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.Typeface;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.style.AbsoluteSizeSpan;
import android.text.style.ForegroundColorSpan;
import android.text.style.StyleSpan;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.alibaba.fastjson.JSONObject;
import com.androidquery.AQuery;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.request.RequestOptions;
import com.bumptech.glide.request.target.DrawableImageViewTarget;
import com.google.gson.FieldNamingPolicy;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.lcjian.library.util.common.DimenUtils;
import com.lcjian.library.util.glide.GlideRoundTransform;
import com.lcjian.library.widget.RatioLayout;
import com.lzj.gallery.library.views.BannerViewPager;
import com.weikou.beibeivideo.BasicTextHttpResponseHandler;
import com.weikou.beibeivideo.BeibeiVideoAPI;
import com.weikou.beibeivideo.BeibeiVideoApplication;
import com.weikou.beibeivideo.R;
import com.weikou.beibeivideo.entity.HomeType;
import com.weikou.beibeivideo.entity.HomeVideo;
import com.weikou.beibeivideo.entity.UserInfo;
import com.weikou.beibeivideo.entity.VideoType;
import com.weikou.beibeivideo.entity.ad.ExpressAdContainer;
import com.weikou.beibeivideo.entity.recommend.RecommendContent;
import com.weikou.beibeivideo.entity.video.holder.FooterViewHolder;
import com.weikou.beibeivideo.entity.video.holder.HeaderViewHolder;
import com.weikou.beibeivideo.entity.vo.CouponVideoInfo;
import com.weikou.beibeivideo.entity.vo.GoldCornTask;
import com.weikou.beibeivideo.entity.vo.SignInGoldCornDateData;
import com.weikou.beibeivideo.entity.vo.SignInInfo;
import com.weikou.beibeivideo.ui.common.VideosLiveActivity;
import com.weikou.beibeivideo.ui.discover.StarsActivity;
import com.weikou.beibeivideo.ui.login.LoginActivity;
import com.weikou.beibeivideo.ui.main.MainActivity;
import com.weikou.beibeivideo.ui.mine.BrowserActivity;
import com.weikou.beibeivideo.ui.video.VideoRecommendAdapter;
import com.weikou.beibeivideo.util.JumpActivityUtil;
import com.weikou.beibeivideo.util.UserUtil;
import com.weikou.beibeivideo.util.ad.ExpressAdManager;
import com.weikou.beibeivideo.util.downutil.StringUtils;
import com.weikou.beibeivideo.util.ui.DividerItemDecoration;
import com.weikou.beibeivideo.util.ui.ToastUtil;
import org.apache.http.Header;
import org.json.JSONArray;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.TreeSet;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import static com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions.withCrossFade;
public class GoldCornAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
    private final static String TAG = "GoldCornAdapter";
    private Activity mContext;
    List<CouponVideoInfo> mVideoList;
    List<GoldCornTask> mTaskList;
    private LayoutInflater inflater;
    private IGoldCornActionListener mTaskClickListener;
    private String mCouponExchangeUrl;
    private SignInInfo signInInfo;
    public final int TYPE_SIGN_IN = 10001;
    public final int TYPE_COUPON = 10002;
    public final int TYPE_TASK = 10003;
    private Gson gson = new GsonBuilder().setVersion(1.0).setFieldNamingPolicy(
            FieldNamingPolicy.UPPER_CAMEL_CASE)
            .create();
    public GoldCornAdapter(Activity context, List<CouponVideoInfo> videoList, List<GoldCornTask> taskList, String couponExchangeUrl, SignInInfo signInInfo, IGoldCornActionListener taskClickListener) {
        this.mContext = context;
        this.mVideoList = videoList;
        this.mTaskList = taskList;
        this.mTaskClickListener = taskClickListener;
        this.mCouponExchangeUrl = couponExchangeUrl;
        this.signInInfo = signInInfo;
        inflater = LayoutInflater.from(mContext);
    }
    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        switch (viewType) {
            case TYPE_SIGN_IN:
                return new SignInHolder(inflater.inflate(R.layout.item_gold_corn_sign_in, null, false));
            case TYPE_COUPON:
                return new VideoCouponHolder(inflater.inflate(R.layout.item_gold_corn_coupon, null, false));
            case TYPE_TASK:
                return new TaskHolder(inflater.inflate(R.layout.item_gold_corn_task, null, false));
        }
        return null;
    }
    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int p) {
        if (viewHolder instanceof SignInHolder) {
            SignInHolder signInHolder = (SignInHolder) viewHolder;
            //个人信息填充
            if (UserUtil.isLogin(BeibeiVideoApplication.application)) {
                UserInfo userInfo = UserUtil.getLoginUserInfo(BeibeiVideoApplication.application);
                Glide.with(signInHolder.mAquery.id(R.id.iv_portrait).getContext()).load(userInfo.getPortrait()).apply(new RequestOptions().dontAnimate().diskCacheStrategy(DiskCacheStrategy.ALL)).placeholder(R.drawable.ic_portrait_default)
                        .transform(new GlideRoundTransform(signInHolder.mAquery.id(R.id.iv_portrait).getContext(), 50))
                        .into(signInHolder.mAquery.id(R.id.iv_portrait).getImageView());
                signInHolder.mAquery.id(R.id.tv_gold_corn).text(signInInfo.getBalance() + "");
                signInHolder.mAquery.id(R.id.ll_user).visibility(View.VISIBLE);
            } else
                signInHolder.mAquery.id(R.id.ll_user).visibility(View.GONE);
            signInHolder.mAquery.id(R.id.tv_record).clicked(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (!UserUtil.isLogin(mContext)) {
                        mContext.startActivity(new Intent(mContext, LoginActivity.class));
                        return;
                    }
                    mContext.startActivity(new Intent(mContext, BrowserActivity.class).putExtra("url", signInInfo.getSignInConfig().getRecordUrl()).putExtra("close", false));
                }
            });
            signInHolder.mAquery.id(R.id.tv_rule).clicked(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    mContext.startActivity(new Intent(mContext, BrowserActivity.class).putExtra("url", signInInfo.getSignInConfig().getRuleUrl()).putExtra("close", false));
                }
            });
            signInHolder.mAquery.id(R.id.tv_sign_in).clicked(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (mTaskClickListener != null)
                        mTaskClickListener.onSignIn();
                }
            });
            if (signInInfo.isCanSignIn()) {
                signInHolder.mAquery.id(R.id.tv_sign_in).enabled(true);
            } else {
                signInHolder.mAquery.id(R.id.tv_sign_in).enabled(false);
            }
            if (signInInfo.getDateList() == null || signInInfo.getDateList().size() != 7) {
                signInHolder.mAquery.id(R.id.ll_gold_date).visibility(View.GONE);
                return;
            }
            signInHolder.mAquery.id(R.id.ll_gold_date).visibility(View.VISIBLE);
            for (int i = 0; i < signInInfo.getDateList().size(); i++) {
                int scoreId = getId(BeibeiVideoApplication.application, "tv_score_" + (i + 1));
                int dateId = getId(BeibeiVideoApplication.application, "tv_date_" + (i + 1));
                signInHolder.mAquery.id(scoreId).text(signInInfo.getDateList().get(i).getGoldCorn());
                signInHolder.mAquery.id(dateId).text(signInInfo.getDateList().get(i).getDate());
                if (signInInfo.getDateList().get(i).isSelected()) {
                    for (int j = i; j > -1; j--) {
                        scoreId = getId(BeibeiVideoApplication.application, "tv_score_" + (j + 1));
                        signInHolder.mAquery.id(scoreId).background(R.drawable.shape_gold_corn_sign_in_score_bg_highlight);
                        signInHolder.mAquery.id(scoreId).width(31);
                        signInHolder.mAquery.id(scoreId).height(31);
                        signInHolder.mAquery.id(scoreId).margin(0, 0, 0, 0);
                        if (j > 0) {
                            int spaceId = getId(BeibeiVideoApplication.application, "v_space_" + j);
                            signInHolder.mAquery.id(spaceId).backgroundColor(Color.WHITE);
                        }
                    }
                } else {
                    signInHolder.mAquery.id(scoreId).background(R.drawable.shape_gold_corn_sign_in_score_bg);
                    signInHolder.mAquery.id(scoreId).width(27);
                    signInHolder.mAquery.id(scoreId).height(27);
                    signInHolder.mAquery.id(scoreId).margin(2, 2, 2, 2);
                    if (i > 0) {
                        Log.i(TAG, "tv_space_" + i);
                        int spaceId = getId(BeibeiVideoApplication.application, "v_space_" + i);
                        signInHolder.mAquery.id(spaceId).backgroundColor(Color.parseColor("#2CB3FF"));
                    }
                }
            }
            int start = 5;
            int end = 5 + (signInInfo.getSignDay() + "").length();
            SpannableString spannableString = new SpannableString("连续签到:" + signInInfo.getSignDay() + "天");
            spannableString.setSpan(new AbsoluteSizeSpan(com.lcjian.library.util.common.DimenUtils.spToPixels(16, signInHolder.mAquery.getContext())), start, end, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
            spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#FFFC00")), start, end, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
            spannableString.setSpan(new StyleSpan(Typeface.BOLD), start, end, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
            signInHolder.mAquery.id(R.id.tv_sign_in_day_count).text(spannableString);
        } else if (viewHolder instanceof VideoCouponHolder) {
            VideoCouponHolder couponHolder = (VideoCouponHolder) viewHolder;
            Glide.with(mContext).load(mVideoList.get(0).getPicture()).apply(new RequestOptions().centerCrop()).transform(new GlideRoundTransform(mContext, 6)).transition(withCrossFade()).placeholder(R.drawable.shape_video_list_cover_placeholder).diskCacheStrategy(DiskCacheStrategy.ALL).into(couponHolder.iv_cover_1);
            Glide.with(mContext).load(mVideoList.get(1).getPicture()).apply(new RequestOptions().centerCrop()).transform(new GlideRoundTransform(mContext, 6)).transition(withCrossFade()).placeholder(R.drawable.shape_video_list_cover_placeholder).diskCacheStrategy(DiskCacheStrategy.ALL).into(couponHolder.iv_cover_2);
            Glide.with(mContext).load(mVideoList.get(2).getPicture()).apply(new RequestOptions().centerCrop()).transform(new GlideRoundTransform(mContext, 6)).transition(withCrossFade()).placeholder(R.drawable.shape_video_list_cover_placeholder).diskCacheStrategy(DiskCacheStrategy.ALL).into(couponHolder.iv_cover_3);
            couponHolder.tv_exchange.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    mContext.startActivity(new Intent(mContext, BrowserActivity.class).putExtra("url", mCouponExchangeUrl).putExtra("close", false));
                }
            });
        } else if (viewHolder instanceof TaskHolder) {
            TaskHolder taskHolder = (TaskHolder) viewHolder;
            taskHolder.rl_task.setLayoutManager(new LinearLayoutManager(mContext));
            DividerItemDecoration decoration = new DividerItemDecoration();
            decoration.setSize(DimenUtils.dip2px(mContext, 3));
            //清除之前的间隔
            if (taskHolder.rl_task.getItemDecorationCount() == 0) {
                taskHolder.rl_task.addItemDecoration(decoration);
            }
            taskHolder.rl_task.setAdapter(new TaskAdapter());
        }
    }
    private static int getId(Context paramContext, String paramString) {
        return paramContext.getResources().getIdentifier(paramString, "id",
                paramContext.getPackageName());
    }
    @Override
    public int getItemCount() {
        int count = 1;
        if (mVideoList != null && mVideoList.size() > 0)
            count++;
        if (mTaskList != null && mTaskList.size() > 0)
            count++;
        return count;
    }
    /**
     * banner第一栏,视频内容第二栏,广告第三栏和最后一栏
     *
     * @param position
     * @return
     */
    //获取类型
    @Override
    public int getItemViewType(int position) {
        if (position == 0)
            return TYPE_SIGN_IN;
        switch (position) {
            case 0:
                return TYPE_SIGN_IN;
            case 1: {
                if (mVideoList != null && mVideoList.size() > 0)
                    return TYPE_COUPON;
                else if (mTaskList != null && mTaskList.size() > 0) {
                    return TYPE_TASK;
                }
            }
            case 2:
                return TYPE_TASK;
        }
        return 0;
    }
    class SignInHolder extends RecyclerView.ViewHolder {
        AQuery mAquery;
        public SignInHolder(View convertView) {
            super(convertView);
            mAquery = new AQuery(convertView);
        }
    }
    class VideoCouponHolder extends RecyclerView.ViewHolder {
        ImageView iv_cover_1, iv_cover_2, iv_cover_3;
        TextView tv_exchange;
        public VideoCouponHolder(View convertView) {
            super(convertView);
            iv_cover_1 = convertView.findViewById(R.id.iv_cover_1);
            iv_cover_2 = convertView.findViewById(R.id.iv_cover_2);
            iv_cover_3 = convertView.findViewById(R.id.iv_cover_3);
            tv_exchange = convertView.findViewById(R.id.tv_exchange);
        }
    }
    class TaskHolder extends RecyclerView.ViewHolder {
        RecyclerView rl_task;
        public TaskHolder(View convertView) {
            super(convertView);
            rl_task = convertView.findViewById(R.id.rl_task);
        }
    }
    class TaskAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
        @NonNull
        @Override
        public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
            return new TaskListHolder(inflater.inflate(R.layout.item_gold_corn_task_list, parent, false));
        }
        @Override
        public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
            GoldCornTask task = mTaskList.get(position);
            TaskListHolder viewHolder = (TaskListHolder) holder;
            viewHolder.tv_name.setText(task.getTitle());
            viewHolder.tv_goldcorn.setText(task.getGoldCorn());
            viewHolder.tv_desc.setText(task.getDesc());
            Glide.with(mContext).load(task.getIcon()).into(viewHolder.iv_icon);
            viewHolder.tv_btn.setText(task.getActionName());
            viewHolder.tv_btn.setEnabled(task.isEnable());
            viewHolder.tv_btn.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (mTaskClickListener != null)
                        mTaskClickListener.onClick(position, task);
                }
            });
        }
        @Override
        public int getItemCount() {
            return mTaskList == null ? 0 : mTaskList.size();
        }
        class TaskListHolder extends RecyclerView.ViewHolder {
            ImageView iv_icon;
            TextView tv_name;
            TextView tv_goldcorn;
            TextView tv_desc;
            TextView tv_btn;
            public TaskListHolder(@NonNull View itemView) {
                super(itemView);
                iv_icon = itemView.findViewById(R.id.iv_icon);
                tv_name = itemView.findViewById(R.id.tv_name);
                tv_goldcorn = itemView.findViewById(R.id.tv_goldcorn);
                tv_desc = itemView.findViewById(R.id.tv_desc);
                tv_btn = itemView.findViewById(R.id.tv_btn);
            }
        }
    }
    public interface IGoldCornActionListener {
        public void onClick(int p, GoldCornTask task);
        public void onSignIn();
    }
}
BuWanVideo/src/com/weikou/beibeivideo/ui/main/GoldCornFragment.java
New file
@@ -0,0 +1,266 @@
package com.weikou.beibeivideo.ui.main;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.ListView;
import android.widget.ProgressBar;
import android.widget.Toast;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.FieldNamingPolicy;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import com.lcjian.library.util.SingleToast;
import com.qq.e.ads.cfg.VideoOption;
import com.qq.e.ads.nativ.ADSize;
import com.qq.e.ads.nativ.NativeExpressAD;
import com.qq.e.ads.nativ.NativeExpressADView;
import com.qq.e.comm.util.AdError;
import com.umeng.analytics.MobclickAgent;
import com.weikou.beibeivideo.BasicTextHttpResponseHandler;
import com.weikou.beibeivideo.BeibeiVideoAPI;
import com.weikou.beibeivideo.BeibeiVideoApplication;
import com.weikou.beibeivideo.R;
import com.weikou.beibeivideo.entity.JumpDetail;
import com.weikou.beibeivideo.entity.VideoInfo;
import com.weikou.beibeivideo.entity.vo.CouponVideoInfo;
import com.weikou.beibeivideo.entity.vo.GoldCornTask;
import com.weikou.beibeivideo.entity.vo.SignInGoldCornDateData;
import com.weikou.beibeivideo.entity.vo.SignInInfo;
import com.weikou.beibeivideo.ui.MyRetainViewFragment;
import com.weikou.beibeivideo.ui.category.bean.UniqueBean;
import com.weikou.beibeivideo.ui.goldcorn.GoldCornAdapter;
import com.weikou.beibeivideo.ui.login.LoginActivity;
import com.weikou.beibeivideo.ui.recommend.DiscoverAdapter;
import com.weikou.beibeivideo.util.BeibeiConstant;
import com.weikou.beibeivideo.util.JumpActivityUtil;
import com.weikou.beibeivideo.util.UserUtil;
import com.weikou.beibeivideo.util.ad.AdUtil;
import com.weikou.beibeivideo.util.ad.GDTConstant;
import com.weikou.beibeivideo.util.ui.ToastUtil;
import com.weikou.beibeivideo.widget.MySwipeRefreshLayout;
import org.apache.http.Header;
import org.json.JSONArray;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
/**
 * 影视豆
 */
public class GoldCornFragment extends MyRetainViewFragment implements GoldCornAdapter.IGoldCornActionListener {
    private int mCurrentPage = 1;
    private RecyclerView rv_goldcorn;
    private MySwipeRefreshLayout srl_goldcorn;
    private GoldCornAdapter mGoldCornAdapter;
    private List<CouponVideoInfo> videoList;
    private List<GoldCornTask> taskList;
    private String couponExchangeUrl;
    private SignInInfo signInInfo;
    public GoldCornFragment() {
        super();
        setName(GoldCornFragment.class.getName());
    }
    public static GoldCornFragment newInstance() {
        return new GoldCornFragment();
    }
    @Override
    public int getContentResource() {
        return R.layout.fragment_goldcorn;
    }
    @Override
    public void onResume() {
        super.onResume();
    }
    @Override
    public void onPause() {
        super.onPause();
    }
    @Override
    public void onCreateView(View contentView, Bundle savedInstanceState) {
        rv_goldcorn = contentView.findViewById(R.id.rv_goldcorn);
        srl_goldcorn = contentView.findViewById(R.id.srl_goldcorn);
        first = true;
        srl_goldcorn.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override
            public void onRefresh() {
                first = true;
                requestData();
            }
        });
        requestData();
    }
    private void initData() {
        mGoldCornAdapter = new GoldCornAdapter(getActivity(), videoList, taskList, couponExchangeUrl, signInInfo, this);
        rv_goldcorn.setAdapter(mGoldCornAdapter);
        rv_goldcorn.setLayoutManager(new LinearLayoutManager(getContext()));
    }
    private boolean first;
    private void requestData() {
        getSignInInfo();
    }
    /**
     * 获取签到信息
     */
    private void getSignInInfo() {
        srl_goldcorn.setRefreshing(true);
        BeibeiVideoAPI.getSignInInfo(BeibeiVideoApplication.application, new BasicTextHttpResponseHandler() {
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, org.json.JSONObject jsonObject) throws Exception {
                if (jsonObject.optBoolean("IsPost")) {
                    org.json.JSONObject data = jsonObject.optJSONObject("Data");
                    signInInfo = new Gson().fromJson(data.toString(), SignInInfo.class);
                    if (mGoldCornAdapter != null) {
                        mGoldCornAdapter.notifyItemChanged(0);
                    }
                    if (first) {
                        getCouponVideoList();
                    } else {
                        srl_goldcorn.setRefreshing(false);
                    }
                } else {
                    Toast.makeText(BeibeiVideoApplication.application, jsonObject.optString("Error"), Toast.LENGTH_SHORT).show();
                    srl_goldcorn.setRefreshing(false);
                }
            }
            @Override
            public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
                super.onFailure(statusCode, headers, responseString, throwable);
                srl_goldcorn.setRefreshing(false);
            }
        });
    }
    private void getCouponVideoList() {
        BeibeiVideoAPI.getGoldCornCouponVideoList(BeibeiVideoApplication.application, new BasicTextHttpResponseHandler() {
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, org.json.JSONObject jsonObject) throws Exception {
                if (jsonObject.optBoolean("IsPost")) {
                    org.json.JSONObject data = jsonObject.optJSONObject("Data");
                    couponExchangeUrl = data.optString("exchangeUrl");
                    JSONArray list = data.optJSONArray("list");
                    Type type = new TypeToken<List<CouponVideoInfo>>() {
                    }.getType();
                    videoList = new Gson().fromJson(list.toString(), type);
                    if (first) {
                        getTask();
                    }else{
                        srl_goldcorn.setRefreshing(false);
                    }
                } else {
                    Toast.makeText(BeibeiVideoApplication.application, jsonObject.optString("Error"), Toast.LENGTH_SHORT).show();
                    srl_goldcorn.setRefreshing(false);
                }
            }
            @Override
            public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
                super.onFailure(statusCode, headers, responseString, throwable);
                srl_goldcorn.setRefreshing(false);
            }
        });
    }
    private void getTask() {
        BeibeiVideoAPI.getGoldCornTaskList(BeibeiVideoApplication.application, new BasicTextHttpResponseHandler() {
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, org.json.JSONObject jsonObject) throws Exception {
                if (jsonObject.optBoolean("IsPost")) {
                    org.json.JSONObject data = jsonObject.optJSONObject("Data");
                    JSONArray list = data.optJSONArray("list");
                    Type type = new TypeToken<List<GoldCornTask>>() {
                    }.getType();
                    taskList = new Gson().fromJson(list.toString(), type);
                    if (first) {
                        first = false;
                        initData();
                    }
                } else {
                    Toast.makeText(BeibeiVideoApplication.application, jsonObject.optString("Error"), Toast.LENGTH_SHORT).show();
                }
            }
            @Override
            public void onFinish() {
                super.onFinish();
                srl_goldcorn.setRefreshing(false);
            }
        });
    }
    private void signIn() {
        BeibeiVideoAPI.signIn(BeibeiVideoApplication.application, new BasicTextHttpResponseHandler() {
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, org.json.JSONObject jsonObject) throws Exception {
                if (jsonObject.optBoolean("IsPost")) {
                    org.json.JSONObject data = jsonObject.optJSONObject("Data");
                    ToastUtil.showGetGoldGornToast(getContext(), "+" + data.optString("goldCorn"));
                } else {
                    Toast.makeText(BeibeiVideoApplication.application, jsonObject.optString("Error"), Toast.LENGTH_SHORT).show();
                }
            }
            @Override
            public void onFinish() {
                super.onFinish();
            }
        });
    }
    @Override
    public void onClick(int p, GoldCornTask task) {
        JumpActivityUtil.jumpPage(getActivity(), task.getJumpDetail(), JumpActivityUtil.getParamsJSON(task.getParams()));
    }
    @Override
    public void onSignIn() {
        if (!UserUtil.isLogin(BeibeiVideoApplication.application)) {
            startActivity(new Intent(BeibeiVideoApplication.application, LoginActivity.class));
            return;
        }
        signIn();
    }
    public static class GoldCornExpireInfo {
        public String goldcorn;
        public long expireTime;
    }
}
BuWanVideo/src/com/weikou/beibeivideo/ui/main/HomeFragment.java
@@ -38,6 +38,7 @@
import com.weikou.beibeivideo.entity.JumpDetail;
import com.weikou.beibeivideo.entity.VideoType;
import com.weikou.beibeivideo.entity.recommend.HomeClass;
import com.weikou.beibeivideo.entity.recommend.HomeTabChangeInfo;
import com.weikou.beibeivideo.ui.MyRetainViewFragment;
import com.weikou.beibeivideo.ui.dialog.FloatADDialog;
import com.weikou.beibeivideo.ui.recommend.RecommendFragment;
@@ -248,6 +249,19 @@
        getCategories();
    }
    public void onEventMainThread(HomeTabChangeInfo changeInfo) {
        if (changeInfo == null)
            return;
        if (pager == null)
            return;
        if (pager.getAdapter() == null)
            return;
        if (pager.getAdapter().getCount() < changeInfo.getPosition() + 1)
            return;
        pager.setCurrentItem(changeInfo.getPosition());
    }
    List<HomeClass> categories = new ArrayList<>();
BuWanVideo/src/com/weikou/beibeivideo/ui/main/MainActivity.java
@@ -54,6 +54,7 @@
import com.weikou.beibeivideo.db.MessageTable;
import com.weikou.beibeivideo.entity.NewComment;
import com.weikou.beibeivideo.entity.VideoInfo;
import com.weikou.beibeivideo.entity.recommend.HomeTabChangeInfo;
import com.weikou.beibeivideo.ui.BaseActivity;
import com.weikou.beibeivideo.ui.baidu.BaiDuNewsFragment;
import com.weikou.beibeivideo.ui.baidu.BaiDuVideosFragment;
@@ -164,8 +165,8 @@
        mFragmentSwitchHelper = FragmentSwitchHelper.create(
                R.id.fl_main_fragment_container, getSupportFragmentManager(),
                new HomeFragment(), new CategoryFragment(),
                BaiDuNewsFragment.newInstance(), new MineFragment(), BaiDuVideosFragment.newInstance());
                new HomeFragment(), new BaiDuVideosFragment(),
                BaiDuNewsFragment.newInstance(), new MineFragment(), GoldCornFragment.newInstance());
        rg_nav = findViewById(R.id.rg_nav);
        rg_nav.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@@ -177,14 +178,14 @@
                                .changeFragment(HomeFragment.class);
                    }
                    break;
                    case R.id.rb_nav_category: {
                        mFragmentSwitchHelper
                                .changeFragment(CategoryFragment.class);
                    }
                    break;
                    case R.id.rb_guess_like: {
                        mFragmentSwitchHelper
                                .changeFragment(BaiDuVideosFragment.class);
                    }
                    break;
                    case R.id.rb_gold_corn: {
                        mFragmentSwitchHelper
                                .changeFragment(GoldCornFragment.class);
                    }
                    break;
                    case R.id.rb_nav_discover: {
@@ -643,15 +644,38 @@
        switch (Integer.parseInt(position)) {
            case 0:
                rg_nav.check(R.id.rb_nav_recommend);
                final String cposition = intent.getStringExtra("cposition");
                if (StringUtils.isEmpty(cposition)) {
                    break;
                }
                String goldcorn = intent.getStringExtra("goldcorn");
                if (!StringUtils.isEmpty(goldcorn)) {
                    GoldCornFragment.GoldCornExpireInfo info = new GoldCornFragment.GoldCornExpireInfo();
                    info.goldcorn = goldcorn;
                    //2分钟
                    info.expireTime = System.currentTimeMillis() + 1000 * 60 * 2;
                    BeibeiConstant.watchVideoGoldCorn = info;
                }
                rg_nav.post(new Runnable() {
                    @Override
                    public void run() {
                        EventBus.getDefault().post(new HomeTabChangeInfo(Integer.parseInt(cposition)));
                    }
                });
                break;
            case 1:
                rg_nav.check(R.id.rb_nav_discover);
                break;
            case 2:
                rg_nav.check(R.id.rb_guess_like);
                rg_nav.check(R.id.rb_gold_corn);
                break;
            case 3:
                rg_nav.check(R.id.rb_nav_category);
                rg_nav.check(R.id.rb_guess_like);
                break;
            case 4:
                rg_nav.check(R.id.rb_nav_mine);
BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoDetailActivity2.java
@@ -11,11 +11,13 @@
import android.database.Cursor;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
@@ -71,6 +73,7 @@
import com.weikou.beibeivideo.util.UmengEventUtil;
import com.weikou.beibeivideo.util.VideoUtil;
import com.weikou.beibeivideo.util.ad.FullVideoAdManager;
import com.weikou.beibeivideo.util.goldcorn.GoldCornUtil;
import com.weikou.beibeivideo.util.ui.IPageEventListener;
import com.weikou.beibeivideo.util.ui.TopStatusSettings;
@@ -746,6 +749,9 @@
        });
    }
    //赚影视豆
    private Runnable makeGoldCornRunnable;
    private void getVideoDetail(final Context context, String videoId,
                                String videoThirdType, final boolean isSetup, final String fromName) {
        int position = getIntent().getIntExtra(
@@ -797,6 +803,15 @@
                            e.printStackTrace();
                        }
                        if (jsonObject.getBoolean("IsPost")) {
                            if (BeibeiConstant.watchVideoGoldCorn != null && BeibeiConstant.watchVideoGoldCorn.expireTime > System.currentTimeMillis() && getIntent() != null) {
                                getIntent().putExtra("goldcorn", BeibeiConstant.watchVideoGoldCorn.goldcorn);
                                BeibeiConstant.watchVideoGoldCorn = null;
                            }
                            //挣影视豆
                            makeGoldCornRunnable = GoldCornUtil.makeGoldCorn(getIntent(), fl_video_play_background, videoId, resourceId, null, null);
                            JSONObject data = jsonObject.optJSONObject("Data");
                            boolean pptv = data.optBoolean("pptv", false);
                            if (pptv) {
@@ -1175,5 +1190,6 @@
        if (BeibeiConstant.AD_TYPE != null && BeibeiConstant.AD_TYPE.isVideoDetailSplashAd())
            FullVideoAdManager.getInstance().loadAd(BeibeiVideoApplication.application, null);
        uploadSession();
        GoldCornUtil.removeCallbacks(fl_video_play_background, makeGoldCornRunnable);
    }
}
BuWanVideo/src/com/weikou/beibeivideo/ui/mine/BrowserActivity.java
@@ -249,6 +249,10 @@
        tv_top_bar_middle = findViewById(R.id.tv_top_bar_middle);
        tv_top_bar_left2.setText("关闭");
        if (getIntent().getBooleanExtra("close", true))
            tv_top_bar_left2.setVisibility(View.VISIBLE);
        else
            tv_top_bar_left2.setVisibility(View.GONE);
        tv_top_bar_left.setOnClickListener(this);
        tv_top_bar_left2.setOnClickListener(this);
BuWanVideo/src/com/weikou/beibeivideo/ui/mine/PPTVPlayFragment.java
@@ -10,8 +10,10 @@
import android.net.http.SslError;
import android.os.Build;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -337,7 +339,11 @@
        }
        DialogUtil.dismiss(vipNewDialog);
        //放弃请求
        if (vipNewDialog != null && vipNewDialog.isShowing()) {
            return;
        }
        BeibeiVideoAPI.getPPTVVIPVideoActivity(getContext(), url, cid, vid, new BasicTextHttpResponseHandler() {
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
@@ -345,6 +351,7 @@
                if (jsonObject.optBoolean("IsPost")) {
                    JSONObject data = jsonObject.optJSONObject("Data");
                    PPTVVideoActivityInfoVO vo = new Gson().fromJson(data.toString(), PPTVVideoActivityInfoVO.class);
                    vipNewDialog = new VIPNewDialog.Builder(getActivity()).setActivityData(vo.getWayList(), vo.getVideoName()).setCloseListener(new OnClickListener() {
                        @Override
                        public void onClick(View v) {
@@ -358,8 +365,7 @@
                                jumpToVIP();
                            } else {
                                if (way.getJumpDetail() != null)
                                    JumpActivityUtil.jumpPage(getActivity(), way.getJumpDetail(), way.getParams() != null ? com.alibaba.fastjson.JSONObject.parseObject(way.getParams().replace(
                                            "\\" + "\"", "\"")) : null);
                                    JumpActivityUtil.jumpPage(getActivity(), way.getJumpDetail(), JumpActivityUtil.getParamsJSON(way.getParams()));
                            }
                        }
                    }).create();
@@ -747,7 +753,6 @@
                    @Override
                    public void noAdRewardClick() {
                        //测试广告
                        int width = DimenUtils.getScreenWidth(getContext());
                        int height = DimenUtils.getScreenHeight(getContext());
BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/SearchActivity.java
@@ -60,6 +60,7 @@
import com.weikou.beibeivideo.util.DimenUtils;
import com.weikou.beibeivideo.util.ad.AdUtil;
import com.weikou.beibeivideo.util.ad.ExpressAdManager;
import com.weikou.beibeivideo.util.goldcorn.GoldCornUtil;
import com.weikou.beibeivideo.util.ui.TopStatusSettings;
import org.apache.http.Header;
@@ -93,6 +94,9 @@
    private String value = "";
    private boolean touchSearchInput = false;
    //赚影视豆
    private Runnable makeGoldCornRunnable;
    private void initView() {
        fl_advertisement = findViewById(R.id.fl_advertisement);
@@ -473,9 +477,12 @@
                                            }
                                        });
                                    }
                                }
                            });
                        }
                        //挣影视豆
                        makeGoldCornRunnable = GoldCornUtil.makeGoldCorn(getIntent(), et_search_key, null, null, 2, null);
                    }
                });
            }
@@ -606,4 +613,9 @@
        }
    }
    @Override
    protected void onDestroy() {
        super.onDestroy();
        GoldCornUtil.removeCallbacks(et_search_key, makeGoldCornRunnable);
    }
}
BuWanVideo/src/com/weikou/beibeivideo/util/BeibeiConstant.java
@@ -1,6 +1,7 @@
package com.weikou.beibeivideo.util;
import com.weikou.beibeivideo.entity.ad.AdTypeVO;
import com.weikou.beibeivideo.ui.main.GoldCornFragment;
public class BeibeiConstant {
@@ -133,4 +134,7 @@
    public static boolean AD_CLICK_DOWNLOAD = false;//广告下载提示框是否展示
    public static final boolean DEBUG = true;
    //观看视频得影視豆
    public static GoldCornFragment.GoldCornExpireInfo watchVideoGoldCorn;
}
BuWanVideo/src/com/weikou/beibeivideo/util/JumpActivityUtil.java
@@ -25,9 +25,16 @@
import com.tencent.mm.opensdk.modelbiz.WXLaunchMiniProgram;
import com.tencent.mm.opensdk.openapi.IWXAPI;
import com.tencent.mm.opensdk.openapi.WXAPIFactory;
import com.weikou.beibeivideo.BeibeiVideoApplication;
import com.weikou.beibeivideo.entity.JumpDetail;
import com.weikou.beibeivideo.entity.ad.RewardVideoAdContainer;
import com.weikou.beibeivideo.ui.dialog.LoadingDialogUtil;
import com.weikou.beibeivideo.ui.login.LoginActivity;
import com.weikou.beibeivideo.ui.mine.BrowserActivity;
import com.weikou.beibeivideo.util.ad.AdUtil;
import com.weikou.beibeivideo.util.ad.RewardVideoAdManager;
import com.weikou.beibeivideo.util.ad.RewardVideoAdUtil;
import com.weikou.beibeivideo.util.goldcorn.GoldCornUtil;
import org.json.JSONException;
@@ -198,6 +205,60 @@
            break;
            case "rewardVideo": {
                LoadingDialogUtil.show(context);
                AdUtil.AD_TYPE adType = AdUtil.AD_TYPE.valueOf(params.getString("adType"));
                String pid = params.getString("pid");
                RewardVideoAdManager.IAdShowListener showListener = new RewardVideoAdManager.IAdShowListener() {
                    @Override
                    public void onShow() {
                    }
                    @Override
                    public void onReward() {
                        String code = params.getString("goldcorn");
                        if (!StringUtils.isEmpty(code)) {
                            GoldCornUtil.makeGoldCorn(code, null, null, null);
                        }
                    }
                    @Override
                    public void onError(String msg) {
                        LoadingDialogUtil.dismiss();
                    }
                    @Override
                    public void onClose() {
                        LoadingDialogUtil.dismiss();
                    }
                };
                RewardVideoAdUtil.showAd(context, adType, pid, new RewardVideoAdManager.IAdLoadListener() {
                    @Override
                    public void onSuccess(RewardVideoAdContainer ad) {
                        LoadingDialogUtil.dismiss();
                        if (context != null)
                            context.runOnUiThread(new Runnable() {
                                @Override
                                public void run() {
                                    LoadingDialogUtil.dismiss();
                                    RewardVideoAdManager.showAd(context, ad, showListener);
                                }
                            });
                    }
                    @Override
                    public void onError(String msg) {
                        LoadingDialogUtil.dismiss();
                    }
                }, showListener);
            }
            break;
            default: {
                try {
                    Intent intent = new Intent(context, Class.forName(JumpActivityUtil.filterActivityName(detail.getActivity())));
@@ -222,4 +283,16 @@
        return activity;
    }
    public static JSONObject getParamsJSON(String params) {
        if (params == null || StringUtils.isEmpty(params))
            return null;
        String fparams = params.replace(
                "\\" + "\"", "\"");
        try {
            return JSONObject.parseObject(fparams);
        } catch (Exception e) {
            return null;
        }
    }
}
BuWanVideo/src/com/weikou/beibeivideo/util/ad/RewardVideoAdUtil.java
New file
@@ -0,0 +1,25 @@
package com.weikou.beibeivideo.util.ad;
import android.app.Activity;
import com.weikou.beibeivideo.BeibeiVideoApplication;
import com.weikou.beibeivideo.util.DimenUtils;
public class RewardVideoAdUtil {
    /**
     * 展示广告
     *
     * @param context
     * @param adSource
     * @param pid
     * @param adLoadListener
     * @param showListener
     */
    public static void showAd(Activity context, AdUtil.AD_TYPE adSource, String pid, RewardVideoAdManager.IAdLoadListener adLoadListener, RewardVideoAdManager.IAdShowListener showListener) {
        int width = DimenUtils.px2dip(context, DimenUtils.getScreenWidth(context));
        int height = DimenUtils.px2dip(context, DimenUtils.getScreenHeight(context));
        new RewardVideoAdManager(adSource, BeibeiVideoApplication.application).loadAd(width, height, pid, false, adLoadListener, showListener);
    }
}
BuWanVideo/src/com/weikou/beibeivideo/util/goldcorn/GoldCornUtil.java
New file
@@ -0,0 +1,104 @@
package com.weikou.beibeivideo.util.goldcorn;
import android.content.Intent;
import android.view.View;
import com.weikou.beibeivideo.BasicTextHttpResponseHandler;
import com.weikou.beibeivideo.BeibeiVideoAPI;
import com.weikou.beibeivideo.BeibeiVideoApplication;
import com.weikou.beibeivideo.util.downutil.StringUtils;
import com.weikou.beibeivideo.util.ui.ToastUtil;
import org.apache.http.Header;
import org.json.JSONObject;
public class GoldCornUtil {
    /**
     * 是否为赚影视豆
     *
     * @param intent
     * @return
     */
    public static String getGoldCornCode(Intent intent) {
        if (intent == null)
            return null;
        if (!StringUtils.isNullOrEmpty(intent.getStringExtra("goldcorn")))
            return intent.getStringExtra("goldcorn");
        return null;
    }
    public static Runnable makeGoldCorn(Intent intent, View view, String param1, String param2, Integer delaySeconds, GetGoldCornListener goldCornListener) {
        if (view == null)
            return null;
        String code = getGoldCornCode(intent);
        if (code != null) {
            Runnable runnable = new Runnable() {
                @Override
                public void run() {
                    BeibeiVideoAPI.makeGoldCorn(BeibeiVideoApplication.application, code, param1, param2, new BasicTextHttpResponseHandler() {
                        @Override
                        public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
                            if (jsonObject.optBoolean("IsPost")) {
                                JSONObject data = jsonObject.optJSONObject("Data");
                                if (data == null)
                                    return;
                                int goldCorn = data.optInt("goldCorn");
                                ToastUtil.showGetGoldGornToast(BeibeiVideoApplication.application, "+" + goldCorn);
                                if (goldCornListener != null)
                                    goldCornListener.onGetSuccess(code, goldCorn);
                            } else {
                                if (goldCornListener != null)
                                    goldCornListener.onGetFail(code, jsonObject.optString("Error"));
                            }
                        }
                    });
                }
            };
            if (view != null) {
                view.postDelayed(runnable, delaySeconds == null ? 4000 : delaySeconds * 1000);
                return runnable;
            }
        }
        return null;
    }
    public static void makeGoldCorn(String code, String param1, String param2, GetGoldCornListener goldCornListener) {
        if (code != null) {
            BeibeiVideoAPI.makeGoldCorn(BeibeiVideoApplication.application, code, param1, param2, new BasicTextHttpResponseHandler() {
                @Override
                public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
                    if (jsonObject.optBoolean("IsPost")) {
                        JSONObject data = jsonObject.optJSONObject("Data");
                        if (data == null)
                            return;
                        int goldCorn = data.optInt("goldCorn");
                        ToastUtil.showGetGoldGornToast(BeibeiVideoApplication.application, "+" + goldCorn);
                        if (goldCornListener != null)
                            goldCornListener.onGetSuccess(code, goldCorn);
                    } else {
                        if (goldCornListener != null)
                            goldCornListener.onGetFail(code, jsonObject.optString("Error"));
                    }
                }
            });
        }
    }
    public static void removeCallbacks(View view, Runnable runnable) {
        if (view != null && runnable != null) {
            view.removeCallbacks(runnable);
        }
    }
    public interface GetGoldCornListener {
        public void onGetSuccess(String code, int goldCorn);
        public void onGetFail(String code, String msg);
    }
}
BuWanVideo/src/com/weikou/beibeivideo/util/ui/ToastUtil.java
@@ -2,9 +2,12 @@
import android.content.Context;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import com.weikou.beibeivideo.R;
public class ToastUtil {
@@ -19,11 +22,12 @@
    public static Toast showGetGoldGornToast(Context context, String text) {
        View view = LayoutInflater.from(context).inflate(R.layout.item_gold_corn_toast, null);
        Toast toast = new Toast(context);
        TextView textView = new TextView(context);
        textView.setText(text);
        toast.setView(textView);
        toast.setDuration(Toast.LENGTH_SHORT);
        TextView textView = view.findViewById(R.id.tv_content);
        textView.setText(text+" 影视豆");
        toast.setView(view);
        toast.setDuration(Toast.LENGTH_LONG);
        toast.setGravity(Gravity.CENTER, 0, 0);
        toast.show();
        return toast;