admin
2021-12-24 f6b84428fce7453689956eae44e71b33a69a4665
UI修改
1个文件已删除
102个文件已修改
36个文件已添加
2870 ■■■■■ 已修改文件
app/AndroidManifest.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/build.gradle 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/color/selector_bottom_bar_text.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/arrow_right.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/ic_activity_main_search.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/ic_auth_notify_top.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/ic_like.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/ic_like_highlight.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/ic_mine_about.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/ic_mine_advice.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/ic_mine_settings.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/ic_scan_count.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/ic_splash_bg.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/ic_user_agreement_checked.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/ic_user_agreement_unchecked.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/icon_auth_notify_phone.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/icon_auth_notify_storage.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/icon_home_search.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/icon_home_special_novel.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/icon_login_account.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/icon_login_code.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/icon_login_password.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/icon_mine_collect.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/icon_mine_download.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/icon_mine_watch_history.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/icon_mine_youth.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/icon_nav_category.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/icon_nav_category_highlight.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/icon_nav_discover.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/icon_nav_discover_highlight.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/icon_nav_draw_video.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/icon_nav_draw_video_highlight.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/icon_nav_home.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/icon_nav_home_highlight.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/icon_nav_mine.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xhdpi/icon_nav_mine_highlight.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable-xxhdpi/arrow_right.png 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable/selector_nav_category.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable/selector_nav_discover.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable/selector_nav_draw_video.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable/selector_nav_home.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable/selector_nav_mine.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable/shape_default_cover.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable/shape_login_btn.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable/shape_login_input_bg.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable/shape_login_send_code_btn.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable/shape_mine_desc_bg.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable/shape_mine_desc_bg_1.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable/shape_mine_item_bg.xml 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable/shape_mine_portrait_bg.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable/shape_movie_item_tag_bg.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable/shape_search_bg.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable/shape_search_keyword_bg.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable/shape_theme_corner_radius_8.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable/shape_video_detail_episode_resource.xml 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable/shape_video_detail_episode_selected.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable/shape_video_detail_episode_unselected.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable/shape_video_detail_follow_bg.xml 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable/shape_video_detail_follow_btn.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable/shape_video_detail_indicator.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable/shape_video_search_result_album_play.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable/shape_white_corner_radius_10.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/drawable/shape_white_corner_radius_20.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/activity_download.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/activity_follow.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/activity_forget_pwd.xml 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/activity_login.xml 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/activity_main.xml 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/activity_register.xml 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/activity_splash.xml 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/activity_video_player.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/activity_watch_history.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/browser_activity.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/browser_fengxing_activity.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/browser_pptv_activity.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/category_fragment.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/category_unique.xml 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/dialog_auth_notify.xml 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/dialog_user_protocol.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/download_group_activity.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/fragment_cate_recommend.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/fragment_episode.xml 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/fragment_feed_videos.xml 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/fragment_guess_like.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/fragment_recommend_category.xml 228 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/item_category_unique_lv.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/item_follow2.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/item_guess_like.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/item_home_special.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/item_movie.xml 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/item_recommend_home_dy_videos.xml 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/item_recommend_home_type.xml 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/item_recommend_home_type_ad.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/item_resource.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/item_search_result_sugguest.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/item_star_work.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/item_video_search_result_album.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/item_video_search_result_video.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/mine_fragment.xml 423 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/mvideo_activity.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/myfavourites_activity.xml 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/navigation_bottom_bar.xml 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/navigation_top_bar.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/navigation_top_bar_goods.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/offine_cache_fragment2.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/recommend_fragment.xml 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/search_actvity.xml 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/search_result_activity.xml 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/search_result_top_bar.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/settings_activity.xml 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/specific_detail_fragment.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/specific_detail_top.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/suggestion_grid_item.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/video_detail_activity.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/video_detail_fragment.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/video_episode_fragment.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/layout/videos_activity.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/values/colors.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/res/values/styles.xml 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/com/hanju/video/app/entity/recommend/RecommendContent.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/com/hanju/video/app/ui/SplashActivity.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/com/hanju/video/app/ui/common/VideosFragment.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/com/hanju/video/app/ui/dialog/PermissionAuthNotifyDialog.java 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/com/hanju/video/app/ui/main/DYFeedFragment.java 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/com/hanju/video/app/ui/main/DYNewsFragment.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/com/hanju/video/app/ui/main/DiscoverNowFragment.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/com/hanju/video/app/ui/main/HomeFragment.java 392 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/com/hanju/video/app/ui/main/MainActivity.java 85 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/com/hanju/video/app/ui/main/MineFragment.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/com/hanju/video/app/ui/media/EpisodeFragment.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/com/hanju/video/app/ui/media/VideoDetailActivity.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/com/hanju/video/app/ui/recommend/HomeSpecialAdapter.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/com/hanju/video/app/ui/recommend/RecommendFragment.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/com/hanju/video/app/ui/recommend/RecommendNewAdapter.java 206 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/com/hanju/video/app/ui/video/SearchResultAdapter.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/com/hanju/video/app/ui/video/VideoColumn2Adapter.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/com/hanju/video/app/util/ui/ScrollAppBarLayoutBehavior.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/com/hanju/video/app/util/ui/StatusBarUtil.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-mine/src/com/hanju/lib/library/util/FragmentSwitchHelperV2.java 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/AndroidManifest.xml
@@ -83,6 +83,7 @@
        <activity
            android:name="com.hanju.video.app.ui.main.MainActivity"
            android:label="@string/app_name"
            android:configChanges="keyboard|orientation|screenSize"
            android:launchMode="singleTask"
            android:theme="@style/AppTabTheme3"></activity>
        <activity
app/build.gradle
@@ -37,6 +37,7 @@
    //----------阿里百川结束------------
    implementation 'androidx.cardview:cardview:1.0.0'
    implementation 'com.google.android.material:material:1.3.0'
    compile ('com.android.support:support-v4:23.4.0'){
        force = true;
app/res/color/selector_bottom_bar_text.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="@color/white" android:state_checked="true"></item>
    <item android:color="#999999" android:state_checked="false"></item>
    <item android:color="@color/theme" android:state_checked="true"></item>
    <item android:color="#FFD1D1D1" android:state_checked="false"></item>
</selector>
app/res/drawable-xhdpi/arrow_right.png

app/res/drawable-xhdpi/ic_activity_main_search.png

app/res/drawable-xhdpi/ic_auth_notify_top.png
app/res/drawable-xhdpi/ic_like.png

app/res/drawable-xhdpi/ic_like_highlight.png

app/res/drawable-xhdpi/ic_mine_about.png

app/res/drawable-xhdpi/ic_mine_advice.png

app/res/drawable-xhdpi/ic_mine_settings.png

app/res/drawable-xhdpi/ic_scan_count.png

app/res/drawable-xhdpi/ic_splash_bg.png

app/res/drawable-xhdpi/ic_user_agreement_checked.png

app/res/drawable-xhdpi/ic_user_agreement_unchecked.png

app/res/drawable-xhdpi/icon_auth_notify_phone.png
app/res/drawable-xhdpi/icon_auth_notify_storage.png
app/res/drawable-xhdpi/icon_home_search.png
app/res/drawable-xhdpi/icon_home_special_novel.png
app/res/drawable-xhdpi/icon_login_account.png

app/res/drawable-xhdpi/icon_login_code.png

app/res/drawable-xhdpi/icon_login_password.png

app/res/drawable-xhdpi/icon_mine_collect.png
app/res/drawable-xhdpi/icon_mine_download.png
app/res/drawable-xhdpi/icon_mine_watch_history.png
app/res/drawable-xhdpi/icon_mine_youth.png

app/res/drawable-xhdpi/icon_nav_category.png
app/res/drawable-xhdpi/icon_nav_category_highlight.png
app/res/drawable-xhdpi/icon_nav_discover.png
app/res/drawable-xhdpi/icon_nav_discover_highlight.png
app/res/drawable-xhdpi/icon_nav_draw_video.png
app/res/drawable-xhdpi/icon_nav_draw_video_highlight.png
app/res/drawable-xhdpi/icon_nav_home.png
app/res/drawable-xhdpi/icon_nav_home_highlight.png
app/res/drawable-xhdpi/icon_nav_mine.png
app/res/drawable-xhdpi/icon_nav_mine_highlight.png
app/res/drawable-xxhdpi/arrow_right.png

app/res/drawable/selector_nav_category.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/icon_nav_category_highlight" android:state_checked="true"></item>
    <item android:drawable="@drawable/icon_nav_category" android:state_checked="false"></item>
</selector>
app/res/drawable/selector_nav_discover.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/icon_nav_discover_highlight" android:state_checked="true"></item>
    <item android:drawable="@drawable/icon_nav_discover" android:state_checked="false"></item>
</selector>
app/res/drawable/selector_nav_draw_video.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/icon_nav_draw_video_highlight" android:state_checked="true"></item>
    <item android:drawable="@drawable/icon_nav_draw_video" android:state_checked="false"></item>
</selector>
app/res/drawable/selector_nav_home.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/icon_nav_home_highlight" android:state_checked="true"></item>
    <item android:drawable="@drawable/icon_nav_home" android:state_checked="false"></item>
</selector>
app/res/drawable/selector_nav_mine.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/icon_nav_mine_highlight" android:state_checked="true"></item>
    <item android:drawable="@drawable/icon_nav_mine" android:state_checked="false"></item>
</selector>
app/res/drawable/shape_default_cover.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
  <solid android:color="@color/black"></solid>
  <solid android:color="#FFFFE8F0"></solid>
</shape>
app/res/drawable/shape_login_btn.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#FFFFFF" />
    <corners android:radius="30dp" />
    <solid android:color="@color/theme" />
    <corners android:radius="8dp" />
</shape>
app/res/drawable/shape_login_input_bg.xml
File was deleted
app/res/drawable/shape_login_send_code_btn.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/white" />
    <corners android:radius="20dp" />
    <solid android:color="@color/theme" />
    <corners android:radius="8dp" />
</shape>
app/res/drawable/shape_mine_desc_bg.xml
New file
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <gradient
        android:angle="90"
        android:endColor="#00ff4d88"
        android:startColor="#A0ff4d88"
        android:type="linear"
        android:useLevel="true" />
</shape>
app/res/drawable/shape_mine_desc_bg_1.xml
New file
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="#ffff4d88" />
    <corners
        android:bottomLeftRadius="0dp"
        android:bottomRightRadius="0dp"
        android:topLeftRadius="15dp"
        android:topRightRadius="15dp" />
</shape>
app/res/drawable/shape_mine_item_bg.xml
@@ -2,10 +2,9 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="#33252121" />
    <corners
        android:bottomLeftRadius="10dp"
        android:bottomRightRadius="10dp"
        android:topLeftRadius="10dp"
        android:topRightRadius="10dp" />
    <solid android:color="@color/white" />
    <corners android:radius="12.5dp" />
    <stroke
        android:width="1dp"
        android:color="#FFDDDDDD"></stroke>
</shape>
app/res/drawable/shape_mine_portrait_bg.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#3B3B3B"></solid>
    <solid android:color="@color/gray"></solid>
    <corners android:radius="100dp"></corners>
</shape>
app/res/drawable/shape_movie_item_tag_bg.xml
New file
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <gradient
        android:angle="90"
        android:endColor="#00000000"
        android:startColor="#80000000"
        android:type="linear"
        android:useLevel="true" />
</shape>
app/res/drawable/shape_search_bg.xml
@@ -3,6 +3,6 @@
    <corners android:radius="20dp" />
    <solid android:color="@color/gray1" />
    <solid android:color="#FFEEEDED" />
</shape>
app/res/drawable/shape_search_keyword_bg.xml
@@ -2,5 +2,5 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="40dp" />
    <solid android:color="#3D3D3D" />
    <solid android:color="#FFF7F7F7" />
</shape>
app/res/drawable/shape_theme_corner_radius_8.xml
New file
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="8dp" />
    <solid android:color="@color/theme" />
</shape>
app/res/drawable/shape_video_detail_episode_resource.xml
@@ -2,8 +2,14 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="#3C3C3C" />
    <corners android:radius="5dp" />
    <solid android:color="#ffffffff" />
    <stroke
        android:width="1dp"
        android:color="#FFBBBBBB" />
    <corners
        android:bottomLeftRadius="10dp"
        android:bottomRightRadius="10dp"
        android:topLeftRadius="10dp"
        android:topRightRadius="10dp" />
</shape>
app/res/drawable/shape_video_detail_episode_selected.xml
@@ -2,8 +2,8 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="#0051F5" />
    <corners android:radius="5dp" />
    <solid android:color="@color/theme" />
    <corners android:radius="10dp" />
</shape>
app/res/drawable/shape_video_detail_episode_unselected.xml
@@ -1,8 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="#666666" />
    <corners android:radius="5dp" />
    <solid android:color="@color/white" />
    <corners android:radius="10dp" />
    <stroke android:width="1px" android:color="#FFBBBBBB" />
</shape>
app/res/drawable/shape_video_detail_follow_bg.xml
@@ -1,11 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#3b3b3b" />
    <solid android:color="@color/white" />
    <corners
        android:bottomLeftRadius="5dp"
        android:bottomRightRadius="5dp"
        android:topLeftRadius="5dp"
        android:topRightRadius="5dp" />
    <stroke android:width="1px" android:color="#FFBBBBBB" />
</shape>
app/res/drawable/shape_video_detail_follow_btn.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#0B78E3" />
    <solid android:color="@color/theme" />
    <corners android:radius="5dp" />
</shape>
app/res/drawable/shape_video_detail_indicator.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
  <solid android:color="#ff0b78e3" />
  <solid android:color="@color/theme" />
  <corners android:topLeftRadius="2dp" android:topRightRadius="2dp" android:bottomLeftRadius="2dp" android:bottomRightRadius="2dp" />
</shape>
app/res/drawable/shape_video_search_result_album_play.xml
@@ -2,5 +2,5 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="5dp" />
    <solid android:color="#407CF3" />
    <solid android:color="@color/theme" />
</shape>
app/res/drawable/shape_white_corner_radius_10.xml
New file
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="10dp" />
    <solid android:color="@color/white" />
</shape>
app/res/drawable/shape_white_corner_radius_20.xml
New file
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="20dp" />
    <solid android:color="@color/white" />
</shape>
app/res/layout/activity_download.xml
@@ -7,7 +7,7 @@
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:background="@color/top_bar_color"
        android:background="@color/white"
        android:gravity="center_vertical"
        android:orientation="horizontal">
@@ -33,6 +33,7 @@
            android:layout_centerInParent="true"
            android:ellipsize="end"
            android:maxLength="10"
            android:textColor="@color/page_title_text_color"
            android:singleLine="true" />
        <FrameLayout
app/res/layout/activity_follow.xml
@@ -2,14 +2,14 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/theme"
    android:background="@color/white"
    android:orientation="vertical">
    <View
        android:id="@+id/v_status_bar"
        android:layout_width="match_parent"
        android:layout_height="15dp"
        android:background="@color/top_bar_color" />
        android:background="@color/white" />
    <include layout="@layout/navigation_top_bar" />
app/res/layout/activity_forget_pwd.xml
@@ -2,27 +2,26 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/white"
    android:orientation="vertical">
    <View
        android:id="@+id/v_status_bar"
        android:layout_width="match_parent"
        android:layout_height="15dp"
        android:background="@color/top_bar_color" />
        android:background="@color/white" />
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/ic_login_bg"
        android:orientation="vertical">
        <FrameLayout
            android:id="@+id/fl_nav"
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:background="@color/transparent">
            android:layout_height="48dp">
            <TextView
                android:id="@+id/tv_back"
@@ -44,7 +43,7 @@
                android:paddingTop="6dp"
                android:paddingBottom="6dp"
                android:text="忘记密码"
                android:textColor="@color/white"
                android:textColor="@color/page_title_text_color"
                android:textSize="24sp" />
        </FrameLayout>
@@ -70,6 +69,7 @@
                    android:background="@drawable/ic_login_input_bg"
                    android:gravity="center_vertical"
                    android:orientation="horizontal"
                    android:paddingLeft="5dp"
                    android:paddingTop="12dp"
                    android:paddingBottom="4dp">
@@ -86,8 +86,16 @@
                        android:layout_marginLeft="18dp"
                        android:digits="@string/rule_email"
                        android:hint="请输入注册时邮箱"
                        android:inputType="textEmailAddress" />
                        android:inputType="textEmailAddress"
                        android:textColor="#333333"
                        android:textColorHint="#FFCACACA" />
                </LinearLayout>
                <View
                    android:layout_width="match_parent"
                    android:layout_height="1dp"
                    android:layout_marginTop="10dp"
                    android:background="#FFDDDDDD"></View>
                <FrameLayout
                    android:layout_width="match_parent"
@@ -96,6 +104,7 @@
                    android:background="@drawable/ic_login_input_bg"
                    android:gravity="end|bottom"
                    android:orientation="horizontal"
                    android:paddingLeft="5dp"
                    android:paddingTop="12dp"
                    android:paddingBottom="4dp">
@@ -105,9 +114,9 @@
                        android:layout_gravity="bottom">
                        <ImageView
                            android:layout_width="wrap_content"
                            android:layout_height="18dp"
                            android:src="@drawable/icon_login_password"></ImageView>
                            android:layout_width="17dp"
                            android:layout_height="wrap_content"
                            android:src="@drawable/icon_login_code"></ImageView>
                        <EditText
                            android:id="@+id/et_verfication_code"
@@ -119,8 +128,11 @@
                            android:layout_weight="1"
                            android:digits="@string/rule_password"
                            android:hint="请输入验证码"
                            android:inputType="textPassword" />
                            android:inputType="textPassword"
                            android:textColor="#333333"
                            android:textColorHint="#FFCACACA" />
                    </LinearLayout>
                    <TextView
                        android:id="@+id/tv_obtain_verfication_code"
@@ -133,9 +145,15 @@
                        android:paddingLeft="15dp"
                        android:paddingRight="15dp"
                        android:text="发送验证码"
                        android:textColor="#181818"
                        android:textColor="@color/white"
                        android:textSize="12sp"></TextView>
                </FrameLayout>
                <View
                    android:layout_width="match_parent"
                    android:layout_height="1dp"
                    android:layout_marginTop="10dp"
                    android:background="#FFDDDDDD"></View>
                <LinearLayout
@@ -145,6 +163,7 @@
                    android:background="@drawable/ic_login_input_bg"
                    android:gravity="center_vertical"
                    android:orientation="horizontal"
                    android:paddingLeft="5dp"
                    android:paddingTop="12dp"
                    android:paddingBottom="4dp">
@@ -161,8 +180,16 @@
                        android:layout_marginLeft="18dp"
                        android:digits="@string/rule_password"
                        android:hint="输入新密码"
                        android:inputType="textPassword" />
                        android:inputType="textPassword"
                        android:textColor="#333333"
                        android:textColorHint="#FFCACACA" />
                </LinearLayout>
                <View
                    android:layout_width="match_parent"
                    android:layout_height="1dp"
                    android:layout_marginTop="10dp"
                    android:background="#FFDDDDDD"></View>
                <TextView
                    android:id="@+id/tv_confirm"
@@ -174,7 +201,7 @@
                    android:paddingLeft="14dp"
                    android:paddingRight="14dp"
                    android:text="确认"
                    android:textColor="#181818"
                    android:textColor="@color/white"
                    android:textSize="15sp" />
            </LinearLayout>
app/res/layout/activity_login.xml
@@ -2,14 +2,14 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#F1F1F1"
    android:background="@color/white"
    android:orientation="vertical">
    <View
        android:id="@+id/v_status_bar"
        android:layout_width="match_parent"
        android:layout_height="15dp"
        android:background="@color/top_bar_color" />
        android:background="@color/white" />
    <FrameLayout
        android:layout_width="match_parent"
@@ -20,7 +20,8 @@
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scaleType="centerCrop"
            android:src="@drawable/ic_login_bg"></ImageView>
            android:src="@drawable/ic_login_bg"
            android:visibility="gone"></ImageView>
        <LinearLayout
@@ -56,7 +57,7 @@
                    android:paddingTop="6dp"
                    android:paddingBottom="6dp"
                    android:text="登录"
                    android:textColor="@color/white"
                    android:textColor="@color/page_title_text_color"
                    android:textSize="24sp" />
            </FrameLayout>
@@ -87,12 +88,13 @@
                        android:background="@drawable/ic_login_input_bg"
                        android:gravity="center_vertical"
                        android:orientation="horizontal"
                        android:paddingLeft="5dp"
                        android:paddingTop="12dp"
                        android:paddingBottom="4dp">
                        <ImageView
                            android:layout_width="wrap_content"
                            android:layout_height="18dp"
                            android:layout_width="17dp"
                            android:layout_height="wrap_content"
                            android:src="@drawable/icon_login_account"></ImageView>
                        <EditText
@@ -103,9 +105,17 @@
                            android:layout_marginLeft="18dp"
                            android:background="@null"
                            android:digits="@string/rule_email"
                            android:hint="邮箱"
                            android:inputType="textEmailAddress" />
                            android:hint="请输入您的邮箱"
                            android:inputType="textEmailAddress"
                            android:textColor="#333333"
                            android:textColorHint="#FFCACACA" />
                    </LinearLayout>
                    <View
                        android:layout_width="match_parent"
                        android:layout_height="1dp"
                        android:layout_marginTop="10dp"
                        android:background="#FFDDDDDD"></View>
                    <LinearLayout
                        android:layout_width="match_parent"
@@ -114,12 +124,13 @@
                        android:background="@drawable/ic_login_input_bg"
                        android:gravity="center_vertical"
                        android:orientation="horizontal"
                        android:paddingLeft="5dp"
                        android:paddingTop="12dp"
                        android:paddingBottom="4dp">
                        <ImageView
                            android:layout_width="wrap_content"
                            android:layout_height="18dp"
                            android:layout_width="17dp"
                            android:layout_height="wrap_content"
                            android:src="@drawable/icon_login_password"></ImageView>
                        <EditText
@@ -130,9 +141,17 @@
                            android:layout_marginLeft="18dp"
                            android:background="@null"
                            android:digits="@string/rule_password"
                            android:hint="密码"
                            android:inputType="textPassword" />
                            android:hint="请输入密码"
                            android:inputType="textPassword"
                            android:textColor="#333333"
                            android:textColorHint="#FFCACACA" />
                    </LinearLayout>
                    <View
                        android:layout_width="match_parent"
                        android:layout_height="1dp"
                        android:layout_marginTop="10dp"
                        android:background="#FFDDDDDD"></View>
                    <FrameLayout
                        android:layout_width="match_parent"
@@ -177,7 +196,7 @@
                            android:paddingLeft="14dp"
                            android:paddingRight="14dp"
                            android:text="登录"
                            android:textColor="#181818"
                            android:textColor="@color/white"
                            android:textSize="15sp" />
                    </LinearLayout>
@@ -210,7 +229,7 @@
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="6.5dp"
                        android:text="勾选表示同意"
                        android:textColor="#FFFFFF"
                        android:textColor="#FF999999"
                        android:textSize="11sp" />
                    <TextView
@@ -225,7 +244,7 @@
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="、"
                        android:textColor="#FFFFFF"
                        android:textColor="#FF999999"
                        android:textSize="11sp" />
                    <TextView
app/res/layout/activity_main.xml
@@ -2,15 +2,15 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/theme"
    android:background="@color/white"
    android:orientation="vertical">
    <View
        android:id="@+id/v_status_bar"
        android:layout_width="match_parent"
        android:layout_height="15dp"
        android:visibility="visible"
        android:background="@color/top_bar_color" />
<!--    <View-->
<!--        android:id="@+id/v_status_bar"-->
<!--        android:layout_width="match_parent"-->
<!--        android:layout_height="0dp"-->
<!--        android:visibility="visible"-->
<!--        android:background="@color/top_bar_color" />-->
    <FrameLayout
        android:layout_width="match_parent"
app/res/layout/activity_register.xml
@@ -2,7 +2,7 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/theme"
    android:background="@color/white"
    android:orientation="vertical">
@@ -10,12 +10,11 @@
        android:id="@+id/v_status_bar"
        android:layout_width="match_parent"
        android:layout_height="15dp"
        android:background="@color/top_bar_color" />
        android:background="@color/white" />
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/ic_login_bg"
        android:orientation="vertical">
        <FrameLayout
@@ -43,7 +42,7 @@
                android:paddingTop="6dp"
                android:paddingBottom="6dp"
                android:text="注册"
                android:textColor="@color/white"
                android:textColor="@color/page_title_text_color"
                android:textSize="20sp" />
        </FrameLayout>
@@ -68,11 +67,12 @@
                android:gravity="center_vertical"
                android:orientation="horizontal"
                android:paddingTop="12dp"
                android:paddingLeft="5dp"
                android:paddingBottom="4dp">
                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="18dp"
                    android:layout_width="17dp"
                    android:layout_height="wrap_content"
                    android:src="@drawable/icon_login_account"></ImageView>
                <EditText
@@ -80,18 +80,25 @@
                    style="@style/loginInputStyle"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="18dp"
                    android:digits="@string/rule_email"
                    android:hint="请输入邮箱"
                    android:inputType="textEmailAddress" />
                    android:inputType="textEmailAddress"
                    android:textColorHint="#FFCACACA" />
            </LinearLayout>
            <View
                android:layout_marginTop="10dp"
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:background="#FFDDDDDD"></View>
            <FrameLayout
                android:paddingLeft="5dp"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="15dp"
                android:background="@drawable/ic_login_input_bg"
                android:gravity="end|bottom"
                android:orientation="horizontal"
                android:paddingTop="12dp"
@@ -103,9 +110,9 @@
                    android:layout_gravity="bottom">
                    <ImageView
                        android:layout_width="wrap_content"
                        android:layout_height="18dp"
                        android:src="@drawable/icon_login_password"></ImageView>
                        android:layout_width="17dp"
                        android:layout_height="wrap_content"
                        android:src="@drawable/icon_login_code"></ImageView>
                    <EditText
                        android:id="@+id/et_verfication_code"
@@ -117,7 +124,8 @@
                        android:layout_weight="1"
                        android:digits="@string/rule_password"
                        android:hint="请输入验证码"
                        android:inputType="textPassword" />
                        android:inputType="textPassword"
                        android:textColorHint="#FFCACACA" />
                </LinearLayout>
                <TextView
@@ -131,12 +139,19 @@
                    android:paddingLeft="15dp"
                    android:paddingRight="15dp"
                    android:text="发送验证码"
                    android:textColor="#181818"
                    android:textColor="@color/white"
                    android:textSize="12sp"></TextView>
            </FrameLayout>
            <View
                android:layout_marginTop="10dp"
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:background="#FFDDDDDD"></View>
            <LinearLayout
                android:paddingLeft="5dp"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="15dp"
@@ -147,8 +162,8 @@
                android:paddingBottom="4dp">
                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="18dp"
                    android:layout_width="17dp"
                    android:layout_height="wrap_content"
                    android:src="@drawable/icon_login_password"></ImageView>
                <EditText
@@ -159,8 +174,17 @@
                    android:layout_marginLeft="18dp"
                    android:background="@null"
                    android:digits="@string/rule_password"
                    android:hint="请设置密码" />
                    android:hint="请设置密码"
                    android:textColorHint="#FFCACACA"
                    android:textColor="#333333"
                    />
            </LinearLayout>
            <View
                android:layout_marginTop="10dp"
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:background="#FFDDDDDD"></View>
            <LinearLayout
                android:layout_width="match_parent"
@@ -172,13 +196,13 @@
                <TextView
                    android:id="@+id/tv_confirm"
                    android:layout_width="match_parent"
                    android:layout_height="37dp"
                    android:layout_height="40dp"
                    android:background="@drawable/shape_login_btn"
                    android:gravity="center"
                    android:paddingLeft="14dp"
                    android:paddingRight="14dp"
                    android:text="提交注册"
                    android:textColor="#181818"
                    android:textColor="@color/white"
                    android:textSize="15sp" />
            </LinearLayout>
        </LinearLayout>
@@ -205,7 +229,7 @@
                android:layout_height="wrap_content"
                android:layout_marginLeft="6.5dp"
                android:text="注册并同意"
                android:textColor="#FFFFFF"
                android:textColor="#FF999999"
                android:textSize="11sp" />
            <TextView
@@ -220,7 +244,7 @@
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="、"
                android:textColor="#FFFFFF"
                android:textColor="#FF999999"
                android:textSize="11sp" />
            <TextView
app/res/layout/activity_splash.xml
@@ -3,14 +3,14 @@
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#010005"
    android:background="@color/white"
    android:orientation="vertical">
<!--    <View-->
<!--        android:id="@+id/v_status_bar"-->
<!--        android:layout_width="match_parent"-->
<!--        android:layout_height="15dp"-->
<!--        android:background="@color/top_bar_color" />-->
    <!--    <View-->
    <!--        android:id="@+id/v_status_bar"-->
    <!--        android:layout_width="match_parent"-->
    <!--        android:layout_height="15dp"-->
    <!--        android:background="@color/top_bar_color" />-->
    <LinearLayout
        android:layout_width="match_parent"
@@ -25,15 +25,31 @@
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical">
                android:layout_height="wrap_content"
                android:layout_gravity="center">
                <View
                    android:layout_width="0dp"
                    android:layout_height="1dp"
                    android:layout_weight="1"></View>
                <ImageView
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:scaleType="centerCrop"
                    android:src="@drawable/ic_splash_bg"></ImageView>
                <com.hanju.lib.library.widget.RatioLayout
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="2"
                    app:ratio="1.1738">
                    <ImageView
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:src="@drawable/ic_splash_bg"></ImageView>
                </com.hanju.lib.library.widget.RatioLayout>
                <View
                    android:layout_width="0dp"
                    android:layout_height="1dp"
                    android:layout_weight="1"></View>
            </LinearLayout>
@@ -92,11 +108,11 @@
        <LinearLayout
            android:visibility="gone"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:padding="15dp">
            android:padding="15dp"
            android:visibility="gone">
            <ImageView
                android:id="@+id/iv_logo"
app/res/layout/activity_video_player.xml
@@ -2,14 +2,14 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/theme"
    android:background="@color/white"
    android:orientation="vertical">
    <View
        android:id="@+id/v_status_bar"
        android:layout_width="match_parent"
        android:layout_height="15dp"
        android:background="@color/top_bar_color" />
        android:background="@color/white" />
    <LinearLayout
        android:layout_width="match_parent"
app/res/layout/activity_watch_history.xml
@@ -13,7 +13,7 @@
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:background="@color/top_bar_color"
        android:background="@color/white"
        android:gravity="center_vertical"
        android:orientation="horizontal">
@@ -39,6 +39,7 @@
            android:layout_centerInParent="true"
            android:ellipsize="end"
            android:maxLength="10"
            android:textColor="@color/page_title_text_color"
            android:singleLine="true" />
        <FrameLayout
@@ -63,7 +64,7 @@
    </RelativeLayout>
    <FrameLayout
        android:background="@color/theme"
        android:background="@color/white"
        android:id="@+id/fl_watch_history"
        android:layout_width="match_parent"
        android:layout_height="0dp"
app/res/layout/browser_activity.xml
@@ -9,7 +9,7 @@
        android:id="@+id/v_status_bar"
        android:layout_width="match_parent"
        android:layout_height="15dp"
        android:background="@color/top_bar_color" />
        android:background="@color/white" />
    <include layout="@layout/navigation_top_bar" />
@@ -18,7 +18,7 @@
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="match_parent"
        android:layout_height="1px"
        android:background="#0B78E3" />
        android:background="@color/theme" />
    <com.hanju.video.app.util.x5web.X5WebView
app/res/layout/browser_fengxing_activity.xml
@@ -3,14 +3,14 @@
    android:id="@+id/ll_all"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/theme"
    android:background="@color/white"
    android:orientation="vertical">
    <View
        android:id="@+id/v_status_bar"
        android:layout_width="match_parent"
        android:layout_height="15dp"
        android:background="@color/top_bar_color"
        android:background="@color/white"
        android:visibility="visible" />
app/res/layout/browser_pptv_activity.xml
@@ -2,7 +2,7 @@
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/theme"
    android:background="@color/white"
    android:orientation="vertical">
    <LinearLayout
app/res/layout/category_fragment.xml
@@ -2,7 +2,7 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/theme"
    android:background="@color/white"
    android:orientation="vertical">
    <TextView
app/res/layout/category_unique.xml
@@ -3,13 +3,18 @@
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="@color/theme">
    android:background="@color/white">
    <View
        android:id="@+id/v_status_bar"
        android:layout_width="match_parent"
        android:layout_height="15dp"
        android:background="@color/top_bar_color" />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:background="#000000"
        android:background="@color/theme"
        android:gravity="center"
        android:text="发现"
        android:textColor="#ffffffff"
app/res/layout/dialog_auth_notify.xml
New file
@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/shape_user_protocol_dialog_bg"
    android:orientation="vertical">
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="17dp"
        android:layout_marginBottom="20dp"
        android:src="@drawable/ic_auth_notify_top"></ImageView>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:orientation="vertical"
        android:padding="20dp">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:gravity="center_vertical">
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="7dp"
                android:src="@drawable/icon_auth_notify_phone">
            </ImageView>
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="vertical">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="手机"
                    android:textColor="#ff333333"
                    android:textSize="16sp" />
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="10dp"
                    android:text="校验手机识别码,防止账号被盗"
                    android:textColor="#ff999999"
                    android:textSize="11sp" />
            </LinearLayout>
        </LinearLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:gravity="center_vertical">
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="7dp"
                android:src="@drawable/icon_auth_notify_storage"></ImageView>
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="vertical">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="存储"
                    android:textColor="#ff333333"
                    android:textSize="16sp" />
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="10dp"
                    android:text="存储图片和视频,降低网络消耗"
                    android:textColor="#ff999999"
                    android:textSize="11sp" />
            </LinearLayout>
        </LinearLayout>
        <TextView
            android:id="@+id/tv_positive"
            android:layout_width="match_parent"
            android:layout_height="38dp"
            android:layout_gravity="center"
            android:layout_marginTop="40dp"
            android:layout_marginBottom="10dp"
            android:layout_weight="1"
            android:background="@drawable/shape_theme_corner_radius_8"
            android:gravity="center"
            android:text="立即开启"
            android:textColor="@color/white"
            android:textSize="15sp" />
    </LinearLayout>
</LinearLayout>
app/res/layout/dialog_user_protocol.xml
@@ -28,6 +28,7 @@
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:autoLink="all"
            android:textColor="#FF333333"
            android:background="@null"
            android:lineSpacingExtra="8sp"
            android:textSize="14sp"></TextView>
app/res/layout/download_group_activity.xml
@@ -38,6 +38,7 @@
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:ellipsize="end"
            android:textColor="@color/page_title_text_color"
            android:maxLength="10"
            android:singleLine="true" />
app/res/layout/fragment_cate_recommend.xml
@@ -3,7 +3,7 @@
    android:id="@+id/rl_cate_recommend"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/theme">
    android:background="@color/white">
    <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
        android:id="@+id/rl_cate_recommed"
app/res/layout/fragment_episode.xml
@@ -3,7 +3,7 @@
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#323232">
    android:background="#FF999999">
    <LinearLayout
        android:layout_width="match_parent"
@@ -14,14 +14,14 @@
            android:id="@+id/fl_native_ad_1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/theme"
            android:background="@color/white"
            android:padding="8dp"></FrameLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/theme"
            android:background="@color/white"
            android:orientation="vertical"
            android:padding="8dp">
@@ -33,7 +33,7 @@
                android:ellipsize="end"
                android:maxLines="2"
                android:text="未知的餐桌"
                android:textColor="#FFFFFF"
                android:textColor="#FF5C5C5C"
                android:textSize="28sp"></TextView>
@@ -45,7 +45,7 @@
                android:ellipsize="end"
                android:maxLines="5"
                android:text="未知的餐桌第11期上 岳云鹏原创曲听哭郁可唯 沙溢自信对标李易峰"
                android:textColor="#FFFFFF"
                android:textColor="#FF5C5C5C"
                android:textSize="16sp"></TextView>
@@ -74,7 +74,7 @@
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="8.8"
                        android:textColor="#fffff339"
                        android:textColor="#FFFB9F00"
                        android:textSize="21sp" />
                    <LinearLayout
@@ -93,8 +93,8 @@
                            android:numStars="5"
                            android:rating="2.5"
                            android:stepSize="0.5"
                            app:bgColor="#FFFFFF"
                            app:starColor="#FFF33A"
                            app:bgColor="#FFB8AFB5"
                            app:starColor="#FFFB9F00"
                            app:starSpacing="0dp"></per.wsj.library.AndRatingBar>
                    </LinearLayout>
@@ -109,7 +109,8 @@
        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/theme">
            android:padding="10dp"
            android:background="@color/white">
            <include layout="@layout/item_follow2" />
        </FrameLayout>
@@ -120,7 +121,7 @@
            android:layout_height="wrap_content"
            android:layout_marginTop="1px"
            android:layout_marginBottom="1px"
            android:background="@color/theme"
            android:background="@color/white"
            android:paddingLeft="30dp"
            android:paddingTop="15dp"
            android:paddingRight="30dp">
@@ -206,7 +207,7 @@
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/theme"
            android:background="@color/white"
            android:descendantFocusability="blocksDescendants">
            <androidx.recyclerview.widget.RecyclerView
@@ -246,7 +247,7 @@
        <View
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:background="@color/theme"></View>
            android:background="@color/white"></View>
    </LinearLayout>
</ScrollView>
app/res/layout/fragment_feed_videos.xml
New file
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <com.hanju.video.app.ui.widget.MyRefreshLayout
        android:id="@+id/srl_feed"
        android:layout_width="match_parent"
        android:paddingTop="10dp"
        android:layout_height="match_parent">
        <FrameLayout
            android:id="@+id/fl_container"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
        </FrameLayout>
    </com.hanju.video.app.ui.widget.MyRefreshLayout>
</FrameLayout>
app/res/layout/fragment_guess_like.xml
@@ -2,7 +2,7 @@
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/theme">
    android:background="@color/white">
    <com.hanju.lib.library.util.RefreshLayout
        android:id="@+id/rl_guess_like"
app/res/layout/fragment_recommend_category.xml
@@ -1,172 +1,78 @@
<?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:id="@+id/srl_recommend"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <LinearLayout
        android:id="@+id/ll_top"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/top_bar_color"
        android:gravity="center_vertical">
        <LinearLayout
            android:id="@+id/ll_activity_main_search"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="8dp"
            android:layout_weight="2"
            android:background="@drawable/shape_search_bg"
            android:orientation="horizontal">
            <ImageView
                android:id="@+id/iv_activity_main_search"
                android:layout_width="18dp"
                android:layout_height="18dp"
                android:layout_gravity="left|center_vertical"
                android:layout_marginLeft="15dp"
                android:layout_marginTop="8dp"
                android:layout_marginBottom="8dp"
                android:scaleType="fitCenter"
                android:src="@drawable/ic_activity_main_search"></ImageView>
            <TextView
                android:id="@+id/tv_activity_main_search"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_gravity="left|center_vertical"
                android:layout_marginLeft="5dp"
                android:gravity="center_vertical"
                android:textColor="#BDBDBD"
                android:textSize="13sp"></TextView>
        </LinearLayout>
        <FrameLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_gravity="center_vertical"
            android:layout_weight="1"
            android:visibility="gone">
            <ImageView
                android:id="@+id/iv_sliding_hint"
                android:layout_width="9dp"
                android:layout_height="16dp"
                android:layout_gravity="center_vertical"
                android:src="@drawable/ic_sliding_hint"
                android:visibility="invisible" />
            <LinearLayout
                android:id="@+id/ll_activity_login"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_marginLeft="20dp"
                android:visibility="gone">
                <ImageView
                    android:id="@+id/iv_activity_protrait"
                    android:layout_width="30dp"
                    android:layout_height="30dp"
                    android:scaleType="centerInside"
                    android:src="@drawable/img_head_portrait" />
                <TextView
                    android:id="@+id/tv_activity_main_login"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_vertical"
                    android:drawablePadding="3dp"
                    android:gravity="center_vertical"
                    android:paddingLeft="8dp"
                    android:paddingRight="8dp"
                    android:singleLine="true"
                    android:text="@string/activity_main_login"
                    android:textAppearance="?android:attr/textAppearance"
                    android:textColor="@color/white"
                    android:visibility="gone" />
            </LinearLayout>
        </FrameLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="48dp"
            android:layout_marginLeft="10dp"
            android:background="@color/top_bar_color"
            android:orientation="horizontal"
            android:padding="8dp">
            <FrameLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1">
                <ImageView
                    android:id="@+id/iv_recommend_watch_history"
                    android:layout_width="30dp"
                    android:layout_height="30dp"
                    android:layout_gravity="center"
                    android:padding="4dp"
                    android:scaleType="fitCenter"
                    android:src="@drawable/ic_recommend_watch_history"></ImageView>
            </FrameLayout>
            <FrameLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="8dp"
                android:layout_weight="1">
                <ImageView
                    android:id="@+id/iv_recommend_download"
                    android:layout_width="30dp"
                    android:layout_height="30dp"
                    android:layout_gravity="center"
                    android:padding="4dp"
                    android:scaleType="fitCenter"
                    android:src="@drawable/ic_recommend_download"></ImageView>
            </FrameLayout>
            <FrameLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:visibility="gone">
                <ImageView
                    android:id="@+id/iv_activity_main_download"
                    android:layout_width="30dp"
                    android:layout_height="30dp"
                    android:layout_gravity="center"
                    android:layout_margin="5dp"
                    android:layout_toLeftOf="@id/iv_activity_main_search"
                    android:scaleType="fitCenter"
                    android:src="@drawable/ic_activity_main_download"
                    android:visibility="gone"></ImageView>
            </FrameLayout>
        </LinearLayout>
    </LinearLayout>
    <FrameLayout
        android:id="@+id/fl_indicator"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="-6dp"
        android:background="#000000"></FrameLayout>
    <androidx.viewpager.widget.ViewPager
        android:id="@+id/pager_recomend_category"
    <View
        android:id="@+id/v_status_bar"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" />
        android:background="@color/top_bar_color"
        android:visibility="visible" />
    <androidx.coordinatorlayout.widget.CoordinatorLayout
        android:id="@+id/cl_recommend"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <com.google.android.material.appbar.AppBarLayout
            android:id="@+id/abl_recommend"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <LinearLayout
                app:layout_scrollFlags="scroll|enterAlways"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@color/theme">
                <View
                    android:layout_width="0dp"
                    android:layout_height="1dp"
                    android:layout_weight="1">
                </View>
                <net.lucode.hackware.magicindicator.MagicIndicator
                    android:id="@+id/magic_indicator"
                    android:layout_width="0dp"
                    android:layout_height="32sp"
                    android:layout_marginTop="5dp"
                    android:layout_marginBottom="5dp"
                    android:layout_weight="3"
                    android:gravity="center" />
                <View
                    android:layout_width="0dp"
                    android:layout_height="1dp"
                    android:layout_weight="1">
                </View>
            </LinearLayout>
        </com.google.android.material.appbar.AppBarLayout>
        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:layout_behavior="@string/appbar_scrolling_view_behavior">
            <androidx.viewpager.widget.ViewPager
                android:id="@+id/pager_recomend_category"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />
        </FrameLayout>
    </androidx.coordinatorlayout.widget.CoordinatorLayout>
</LinearLayout>
app/res/layout/item_category_unique_lv.xml
@@ -3,7 +3,7 @@
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#3C3C3C"
    android:background="@color/white"
    android:orientation="vertical">
@@ -45,7 +45,6 @@
        android:id="@+id/item_unique_tv"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/theme"
        android:ellipsize="end"
        android:maxLines="2"
        android:paddingLeft="10dp"
@@ -53,7 +52,7 @@
        android:paddingRight="10dp"
        android:paddingBottom="6dp"
        android:text=""
        android:textColor="@color/white"
        android:textColor="#FF5F5F5F"
        android:textSize="20sp" />
    <LinearLayout
@@ -83,7 +82,7 @@
                android:ellipsize="end"
                android:lines="1"
                android:text="UB8 Music News"
                android:textColor="#ffffffff"
                android:textColor="#FF5F5F5F"
                android:textSize="15sp" />
            <TextView
@@ -93,7 +92,7 @@
                android:ellipsize="end"
                android:lines="1"
                android:text="11:03 - Thursday, August 27"
                android:textColor="#ff8f8e94"
                android:textColor="#FF8F8E94"
                android:textSize="12sp" />
        </LinearLayout>
app/res/layout/item_follow2.xml
@@ -39,7 +39,7 @@
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="刘涛"
            android:textColor="#EFEFEF"
            android:textColor="#FF666666"
            android:textSize="12sp" />
        <TextView
@@ -49,7 +49,7 @@
            android:layout_height="wrap_content"
            android:layout_marginTop="8.5dp"
            android:text="更新 4天前"
            android:textColor="#ffefefef"
            android:textColor="#FF999999"
            android:textSize="10sp" />
    </LinearLayout>
app/res/layout/item_guess_like.xml
@@ -3,7 +3,7 @@
    xmlns:app="http://schemas.android.com/apk/res/com.hanju.video"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/theme"
    android:background="@color/white"
    android:orientation="vertical">
    <com.hanju.lib.library.widget.RatioLayout
app/res/layout/item_home_special.xml
@@ -17,8 +17,8 @@
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:gravity="center"
        android:textColor="#818181"
        android:textSize="15sp" />
        android:textColor="#FF3B3B3B"
        android:textSize="12sp" />
</LinearLayout>
app/res/layout/item_movie.xml
@@ -11,54 +11,65 @@
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <com.hanju.lib.library.widget.RatioLayout
            android:id="@+id/rl_ratio"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:ratio="0.625">
            <FrameLayout
            <androidx.cardview.widget.CardView
                android:layout_width="match_parent"
                android:layout_height="match_parent">
                android:layout_height="match_parent"
                app:cardCornerRadius="4dp">
                <ImageView
                    android:id="@+id/iv_movie_cover"
                <FrameLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:scaleType="centerCrop" />
                    android:layout_height="match_parent">
                <ImageView
                    android:id="@+id/iv_spread"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="top|right"
                    android:src="@drawable/spread"
                    android:visibility="gone" />
                    <ImageView
                        android:id="@+id/iv_movie_cover"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:scaleType="centerCrop" />
                <TextView
                    android:id="@+id/tv_movie_rating"
                    style="@style/TextWhiteSmall"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity="bottom"
                    android:background="#80000000"
                    android:ellipsize="end"
                    android:gravity="end"
                    android:paddingLeft="8dp"
                    android:paddingRight="8dp"
                    android:textSize="10sp"
                    android:singleLine="true"
                    android:textColor="@color/videoTag" />
                    <ImageView
                        android:id="@+id/iv_spread"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="top|right"
                        android:src="@drawable/spread"
                        android:visibility="gone" />
                <ImageView
                    android:id="@+id/iv_ad_logo"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="bottom|right"
                    android:src="@drawable/tsa_ad_logo"
                    android:visibility="gone" />
            </FrameLayout>
                    <TextView
                        android:id="@+id/tv_movie_rating"
                        style="@style/TextWhiteSmall"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_gravity="bottom"
                        android:background="@drawable/shape_movie_item_tag_bg"
                        android:ellipsize="end"
                        android:gravity="end"
                        android:paddingLeft="8dp"
                        android:paddingRight="8dp"
                        android:paddingTop="2dp"
                        android:paddingBottom="2dp"
                        android:singleLine="true"
                        android:textColor="@color/white"
                        android:textSize="12sp" />
                    <ImageView
                        android:id="@+id/iv_ad_logo"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="bottom|right"
                        android:src="@drawable/tsa_ad_logo"
                        android:visibility="gone" />
                </FrameLayout>
            </androidx.cardview.widget.CardView>
        </com.hanju.lib.library.widget.RatioLayout>
        <TextView
            android:id="@+id/tv_movie_title"
@@ -67,9 +78,9 @@
            android:layout_height="wrap_content"
            android:ellipsize="end"
            android:lines="2"
            android:textSize="12sp"
            android:paddingRight="8dp"
            android:textColor="@color/videoTitle" />
            android:textColor="#FF464646"
            android:textSize="12sp" />
        <LinearLayout
            android:layout_width="match_parent"
app/res/layout/item_recommend_home_dy_videos.xml
New file
@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/white"
    android:orientation="vertical">
    <TextView
        android:id="@+id/tv_title"
        android:visibility="gone"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_gravity="left|center_vertical"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="5dp"
        android:paddingBottom="2dp"
        android:text="今日热点"
        android:textColor="#000000"
        android:textSize="15sp" />
    <FrameLayout
        android:layout_marginLeft="-7dp"
        android:id="@+id/fl_container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="6dp"></FrameLayout>
</LinearLayout>
app/res/layout/item_recommend_home_type.xml
@@ -2,39 +2,35 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/theme"
    android:background="@color/white"
    android:orientation="vertical"
    android:paddingBottom="6dp">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <FrameLayout
            android:id="@+id/rl_title_item"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="10dp">
            <View
                android:layout_width="3dp"
                android:layout_height="18dp"
                android:layout_gravity="left|center_vertical"
                android:background="@drawable/shape_recommend_home_type_tag"></View>
            android:paddingLeft="10dp"
            android:paddingRight="10dp">
            <TextView
                android:id="@+id/tv_category_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:layout_gravity="left|center_vertical"
                android:layout_marginLeft="15dp"
                android:layout_marginLeft="0dp"
                android:paddingBottom="2dp"
                android:text="什么鬼"
                android:textColor="@color/white"
                android:textSize="18sp" />
                android:textColor="#000000"
                android:textSize="15sp" />
            <TextView
                android:id="@+id/tv_more"
app/res/layout/item_recommend_home_type_ad.xml
@@ -2,7 +2,7 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/theme"
    android:background="@color/white"
    android:orientation="vertical">
    <LinearLayout
app/res/layout/item_resource.xml
@@ -2,7 +2,7 @@
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="30dp"
    android:background="#585858">
    android:background="#FF999999">
    <!-- 585858 -->
    <LinearLayout
app/res/layout/item_search_result_sugguest.xml
@@ -2,7 +2,7 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#656565"
    android:background="#FFF7F7F7"
    android:orientation="vertical"
    android:paddingLeft="17dp"
    android:paddingRight="17dp">
@@ -15,14 +15,14 @@
        android:layout_marginTop="12dp"
        android:layout_marginBottom="12dp"
        android:text="那奶奶在哪里"
        android:textColor="#ffdddddd"
        android:textColor="#FF3D3D3D"
        android:textSize="12sp" />
    <View
        android:id="@+id/view_cutline"
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="#505050"></View>
        android:background="#FFD5D5D5"></View>
</LinearLayout>
app/res/layout/item_star_work.xml
@@ -2,7 +2,7 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/theme"
    android:background="@color/white"
    android:orientation="horizontal">
    <ImageView
app/res/layout/item_video_search_result_album.xml
@@ -44,8 +44,8 @@
                android:ellipsize="end"
                android:maxLines="2"
                android:text="以家人之名"
                android:textColor="@color/white"
                android:textSize="15sp" />
                android:textColor="#FF232323"
                android:textSize="16sp" />
            <TextView
                android:id="@+id/tv_type"
app/res/layout/item_video_search_result_video.xml
@@ -39,7 +39,7 @@
            android:ellipsize="end"
            android:maxLines="3"
            android:text="琅琊榜"
            android:textColor="#ffffffff"
            android:textColor="#FF232323"
            android:textSize="15sp" />
@@ -50,7 +50,7 @@
            android:layout_height="wrap_content"
            android:layout_marginTop="2dp"
            android:text="琅琊榜"
            android:textColor="#DCDCDC"
            android:textColor="#FFAEAEAE"
            android:textSize="14sp" />
app/res/layout/mine_fragment.xml
@@ -4,13 +4,20 @@
    android:id="@+id/ll_mine_info"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/white"
    android:orientation="vertical">
    <View
        android:id="@+id/v_status_bar"
        android:layout_width="match_parent"
        android:layout_height="15dp"
        android:background="@color/top_bar_color" />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:background="#000000"
        android:gravity="center_vertical|left"
        android:background="@color/theme"
        android:gravity="center"
        android:paddingLeft="25dp"
        android:text="我的"
        android:textColor="#ffffffff"
@@ -24,8 +31,7 @@
    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="@color/theme">
        android:layout_weight="1">
        <LinearLayout
            android:layout_width="match_parent"
@@ -36,7 +42,6 @@
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#000000"
                android:orientation="vertical"
                android:paddingLeft="25dp"
                android:paddingRight="25dp">
@@ -45,7 +50,6 @@
                    android:id="@+id/mine_rl_head"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:background="#000000"
                    android:orientation="vertical"
                    android:paddingTop="40dp"
                    android:paddingBottom="20dp">
@@ -63,8 +67,8 @@
                            <ImageView
                                android:id="@+id/mine_ci_head"
                                android:layout_width="71dp"
                                android:layout_height="71dp"
                                android:layout_width="75dp"
                                android:layout_height="75dp"
                                android:layout_gravity="center"
                                android:src="@drawable/img_head_portrait" />
@@ -83,7 +87,7 @@
                                android:layout_height="wrap_content"
                                android:paddingTop="12dp"
                                android:text="未登录"
                                android:textColor="@color/white"
                                android:textColor="@color/theme"
                                android:textSize="22sp" />
@@ -104,111 +108,127 @@
                </LinearLayout>
            </LinearLayout>
            <FrameLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/shape_mine_desc_bg"
                android:paddingTop="22dp">
                <TextView
                    android:id="@+id/tv_desc"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_height="64dp"
                    android:layout_marginLeft="12.5dp"
                    android:layout_marginTop="10dp"
                    android:text="你还没有编辑你的个人简介,所以空空如也~"
                    android:textColor="#ff6b6b6b"
                    android:layout_marginRight="12.5dp"
                    android:background="@drawable/shape_mine_desc_bg_1"
                    android:gravity="center_vertical|left"
                    android:paddingLeft="23dp"
                    android:paddingBottom="5dp"
                    android:textSize="15sp" />
                    android:text="个性签名:你还没有编辑你的个人简介,所以空空如也~"
                    android:textColor="@color/white"
                    android:textSize="12sp" />
            </FrameLayout>
            <LinearLayout
                android:id="@+id/ll_video_mine"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_marginTop="24dp"
                android:layout_marginBottom="10dp"
                android:orientation="horizontal">
                <LinearLayout
                    android:id="@+id/ll_video_mine"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_marginTop="60dp"
                    android:layout_marginBottom="10dp"
                    android:orientation="horizontal">
                    android:id="@+id/ll_mine_favourite"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:gravity="center_horizontal"
                    android:orientation="vertical"
                    android:padding="8dp">
                    <LinearLayout
                        android:id="@+id/ll_mine_favourite"
                        android:layout_width="0dp"
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:gravity="center_horizontal"
                        android:orientation="vertical"
                        android:padding="8dp">
                        android:text="@string/my_favourites"
                        android:textColor="#FF9D9D9D"
                        android:textSize="21sp" />
                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="@string/my_favourites"
                            android:textColor="@color/white"
                            android:textSize="21sp" />
                        <TextView
                            android:id="@+id/tv_mine_favourite"
                            style="@style/TextBlackMedium"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginTop="9dp"
                            android:drawablePadding="15dp"
                            android:text="0"
                            android:textColor="#DCDCDC"
                            android:textSize="16sp" />
                    </LinearLayout>
                    <LinearLayout
                        android:id="@+id/ll_mine_follow"
                        android:layout_width="0dp"
                    <TextView
                        android:id="@+id/tv_mine_favourite"
                        style="@style/TextBlackMedium"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:gravity="center_horizontal"
                        android:orientation="vertical"
                        android:padding="8dp">
                        android:layout_marginTop="9dp"
                        android:drawablePadding="15dp"
                        android:text="0"
                        android:textColor="#DCDCDC"
                        android:textSize="16sp" />
                </LinearLayout>
                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="追剧"
                            android:textColor="@color/white"
                            android:textSize="21sp" />
                <LinearLayout
                    android:id="@+id/ll_mine_follow"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:gravity="center_horizontal"
                    android:orientation="vertical"
                    android:padding="8dp">
                        <TextView
                            android:id="@+id/tv_mine_follow"
                            style="@style/TextBlackMedium"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginTop="9dp"
                            android:drawablePadding="15dp"
                            android:text="0"
                            android:textColor="#DCDCDC"
                            android:textSize="16sp" />
                    </LinearLayout>
                    <LinearLayout
                        android:id="@+id/ll_mine_save"
                        android:layout_width="0dp"
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:gravity="center_horizontal"
                        android:orientation="vertical"
                        android:padding="8dp">
                        android:text="追剧"
                        android:textColor="#FF9D9D9D"
                        android:textSize="21sp" />
                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="缓存"
                            android:textColor="@color/white"
                            android:textSize="21sp" />
                    <TextView
                        android:id="@+id/tv_mine_follow"
                        style="@style/TextBlackMedium"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="9dp"
                        android:drawablePadding="15dp"
                        android:text="0"
                        android:textColor="#DCDCDC"
                        android:textSize="16sp" />
                </LinearLayout>
                        <TextView
                            android:id="@+id/tv_mine_save"
                            style="@style/TextBlackMedium"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginTop="9dp"
                            android:drawablePadding="15dp"
                            android:text="0"
                            android:textColor="#DCDCDC"
                            android:textSize="16sp" />
                    </LinearLayout>
                <LinearLayout
                    android:id="@+id/ll_mine_save"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:gravity="center_horizontal"
                    android:orientation="vertical"
                    android:padding="8dp">
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="缓存"
                        android:textColor="#9D9D9D"
                        android:textSize="21sp" />
                    <TextView
                        android:id="@+id/tv_mine_save"
                        style="@style/TextBlackMedium"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="9dp"
                        android:drawablePadding="15dp"
                        android:text="0"
                        android:textColor="#DCDCDC"
                        android:textSize="16sp" />
                </LinearLayout>
            </LinearLayout>
            <LinearLayout
                android:layout_width="match_parent"
@@ -228,7 +248,7 @@
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="历史记录"
                        android:textColor="@color/white"
                        android:textColor="#FF9D9D9D"
                        android:textSize="15sp" />
                    <TextView
@@ -239,7 +259,7 @@
                        android:drawableRight="@drawable/arrow_right"
                        android:drawablePadding="5dp"
                        android:text="全部"
                        android:textColor="@color/white"
                        android:textColor="#FF9D9D9D"
                        android:textSize="14sp" />
                </FrameLayout>
@@ -251,120 +271,125 @@
                <LinearLayout
                    android:id="@+id/ll_youth"
                    android:layout_width="match_parent"
                    android:layout_height="50dp"
                    android:layout_marginTop="12dp"
                    android:background="@drawable/shape_mine_item_bg"
                    android:gravity="center_vertical"
                    android:orientation="horizontal">
                    <ImageView
                        android:layout_width="wrap_content"
                        android:layout_height="20dp"
                        android:layout_centerHorizontal="true"
                        android:layout_marginLeft="25dp"
                        android:src="@drawable/icon_mine_youth"></ImageView>
                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="20dp"
                        android:layout_weight="1"
                        android:drawableRight="@drawable/ic_mine_item_array"
                        android:paddingRight="15dp"
                        android:text="青少年模式"
                        android:textColor="@color/white"
                        android:textSize="15sp" />
                </LinearLayout>
                <LinearLayout
                    android:id="@+id/ll_mine_advice"
                    android:layout_width="match_parent"
                    android:layout_height="50dp"
                    android:layout_marginTop="12dp"
                    android:background="@drawable/shape_mine_item_bg"
                    android:gravity="center_vertical"
                    android:orientation="horizontal">
                    android:layout_height="wrap_content"
                    android:layout_marginTop="10dp"
                    android:orientation="vertical">
                    <LinearLayout
                        android:id="@+id/ll_youth"
                        android:layout_width="match_parent"
                        android:layout_height="50dp"
                        android:layout_marginTop="12dp"
                        android:gravity="center_vertical"
                        android:orientation="horizontal">
                    <ImageView
                        android:layout_width="wrap_content"
                        android:layout_height="20dp"
                        android:layout_centerHorizontal="true"
                        android:layout_marginLeft="25dp"
                        android:src="@drawable/ic_mine_advice"></ImageView>
                        <ImageView
                            android:layout_width="wrap_content"
                            android:layout_height="20dp"
                            android:layout_centerHorizontal="true"
                            android:layout_marginLeft="25dp"
                            android:src="@drawable/icon_mine_youth"></ImageView>
                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="20dp"
                        android:layout_weight="1"
                        android:drawableRight="@drawable/ic_mine_item_array"
                        android:paddingRight="15dp"
                        android:text="反馈吐槽"
                        android:textColor="@color/white"
                        android:textSize="15sp" />
                </LinearLayout>
                        <TextView
                            android:layout_width="0dp"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="20dp"
                            android:layout_weight="1"
                            android:drawableRight="@drawable/arrow_right"
                            android:paddingRight="15dp"
                            android:text="青少年模式"
                            android:textColor="#FFAAAAAA"
                            android:textSize="15sp" />
                    </LinearLayout>
                <LinearLayout
                    android:id="@+id/ll_mine_about"
                    android:layout_width="match_parent"
                    android:layout_height="50dp"
                    android:layout_marginTop="12dp"
                    android:background="@drawable/shape_mine_item_bg"
                    android:gravity="center_vertical"
                    android:orientation="horizontal">
                    <LinearLayout
                        android:id="@+id/ll_mine_advice"
                        android:layout_width="match_parent"
                        android:layout_height="50dp"
                        android:layout_marginTop="12dp"
                        android:gravity="center_vertical"
                        android:orientation="horizontal">
                    <ImageView
                        android:layout_width="wrap_content"
                        android:layout_height="20dp"
                        android:layout_centerHorizontal="true"
                        android:layout_marginLeft="25dp"
                        android:src="@drawable/ic_mine_about"></ImageView>
                        <ImageView
                            android:layout_width="wrap_content"
                            android:layout_height="20dp"
                            android:layout_centerHorizontal="true"
                            android:layout_marginLeft="25dp"
                            android:src="@drawable/ic_mine_advice"></ImageView>
                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="20dp"
                        android:layout_weight="1"
                        android:drawableRight="@drawable/ic_mine_item_array"
                        android:paddingRight="15dp"
                        android:text="关于我们"
                        android:textColor="@color/white"
                        android:textSize="15sp" />
                </LinearLayout>
                        <TextView
                            android:layout_width="0dp"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="20dp"
                            android:layout_weight="1"
                            android:drawableRight="@drawable/arrow_right"
                            android:paddingRight="15dp"
                            android:text="反馈吐槽"
                            android:textColor="#FFAAAAAA"
                            android:textSize="15sp" />
                    </LinearLayout>
                    <LinearLayout
                        android:id="@+id/ll_mine_about"
                        android:layout_width="match_parent"
                        android:layout_height="50dp"
                        android:layout_marginTop="12dp"
                        android:gravity="center_vertical"
                        android:orientation="horizontal">
                        <ImageView
                            android:layout_width="wrap_content"
                            android:layout_height="20dp"
                            android:layout_centerHorizontal="true"
                            android:layout_marginLeft="25dp"
                            android:src="@drawable/ic_mine_about"></ImageView>
                        <TextView
                            android:layout_width="0dp"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="20dp"
                            android:layout_weight="1"
                            android:drawableRight="@drawable/arrow_right"
                            android:paddingRight="15dp"
                            android:text="关于我们"
                            android:textColor="#FFAAAAAA"
                            android:textSize="15sp" />
                    </LinearLayout>
                    <LinearLayout
                        android:id="@+id/ll_mine_setting"
                        android:layout_width="match_parent"
                        android:layout_height="50dp"
                        android:layout_marginBottom="12dp"
                        android:layout_marginTop="12dp"
                        android:gravity="center_vertical"
                        android:orientation="horizontal">
                        <ImageView
                            android:layout_width="wrap_content"
                            android:layout_height="20dp"
                            android:layout_centerHorizontal="true"
                            android:layout_marginLeft="25dp"
                            android:src="@drawable/ic_mine_settings"></ImageView>
                        <TextView
                            android:layout_width="0dp"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="20dp"
                            android:layout_weight="1"
                            android:drawableRight="@drawable/arrow_right"
                            android:paddingRight="15dp"
                            android:text="设置"
                            android:textColor="#FFAAAAAA"
                            android:textSize="15sp" />
                    </LinearLayout>
                <LinearLayout
                    android:id="@+id/ll_mine_setting"
                    android:layout_width="match_parent"
                    android:layout_height="50dp"
                    android:layout_marginTop="12dp"
                    android:background="@drawable/shape_mine_item_bg"
                    android:gravity="center_vertical"
                    android:orientation="horizontal">
                    <ImageView
                        android:layout_width="wrap_content"
                        android:layout_height="20dp"
                        android:layout_centerHorizontal="true"
                        android:layout_marginLeft="25dp"
                        android:src="@drawable/ic_mine_settings"></ImageView>
                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="20dp"
                        android:layout_weight="1"
                        android:drawableRight="@drawable/ic_mine_item_array"
                        android:paddingRight="15dp"
                        android:text="设置"
                        android:textColor="@color/white"
                        android:textSize="15sp" />
                </LinearLayout>
app/res/layout/mvideo_activity.xml
@@ -14,7 +14,7 @@
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:background="@color/top_bar_color"
        android:background="@color/white"
        android:gravity="center_vertical"
        android:orientation="horizontal">
@@ -32,6 +32,7 @@
                android:drawableLeft="@drawable/ic_back_two"
                android:drawablePadding="5dp"
                android:gravity="center"
                android:textColor="@color/page_title_text_color"
                android:layout_gravity="center_vertical"
                android:padding="8dp" />
        </FrameLayout>
app/res/layout/myfavourites_activity.xml
@@ -2,19 +2,19 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/theme"
    android:background="@color/white"
    android:orientation="vertical">
    <View
        android:id="@+id/v_status_bar"
        android:layout_width="match_parent"
        android:layout_height="15dp"
        android:background="@color/top_bar_color" />
        android:background="@color/white" />
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:background="@color/top_bar_color"
        android:background="@color/white"
        android:gravity="center_vertical"
        android:orientation="horizontal">
@@ -41,7 +41,8 @@
            android:layout_centerInParent="true"
            android:ellipsize="end"
            android:maxLength="10"
            android:singleLine="true" />
            android:singleLine="true"
            android:textColor="@color/page_title_text_color" />
        <FrameLayout
            android:layout_width="wrap_content"
@@ -97,7 +98,7 @@
            android:id="@+id/favourite_empty"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@color/theme"
            android:background="@color/white"
            android:visibility="visible">
            <LinearLayout
app/res/layout/navigation_bottom_bar.xml
@@ -1,72 +1,60 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_height="wrap_content"
    android:background="#FFFFFF"
    android:orientation="vertical">
    <View
        android:layout_width="match_parent"
        android:layout_height="1px"
        android:background="#616161" />
        android:background="#FFE9E9E9" />
    <RadioGroup
        android:id="@+id/rg_nav"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal"
        android:paddingTop="8dp"
        android:gravity="center_vertical"
        android:paddingBottom="8dp">
        android:orientation="horizontal"
        android:paddingTop="9dp"
        android:paddingBottom="9dp">
        <RadioButton
            android:textSize="0dp"
            android:id="@+id/rb_nav_recommend"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:button="@null"
            android:drawableTop="@drawable/selector_recommend"
            android:gravity="center"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="@color/selector_bottom_bar_text" />
            style="@style/homeNavStyle"
            android:drawableTop="@drawable/selector_nav_home"
            android:text="首页" />
        <RadioButton
            android:textSize="0dp"
            android:id="@+id/rb_nav_discover"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:button="@null"
            android:drawableTop="@drawable/selector_discover"
            android:gravity="center"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="@color/selector_bottom_bar_text" />
            android:id="@+id/rb_nav_draw_video"
            style="@style/homeNavStyle"
            android:drawableTop="@drawable/selector_nav_draw_video"
            android:text="热刷" />
        <RadioButton
            android:textSize="0dp"
            android:id="@+id/rb_nav_feed_videos"
            style="@style/homeNavStyle"
            android:drawableTop="@drawable/selector_nav_category"
            android:text="爱看" />
        <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:gravity="center"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="@color/selector_bottom_bar_text" />
            style="@style/homeNavStyle"
            android:drawableTop="@drawable/selector_nav_category"
            android:text="分类" />
        <RadioButton
            android:id="@+id/rb_nav_discover"
            style="@style/homeNavStyle"
            android:drawableTop="@drawable/selector_nav_discover"
            android:text="发现" />
        <RadioButton
            android:id="@+id/rb_nav_mine"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:button="@null"
            android:textSize="0dp"
            android:drawableTop="@drawable/v1_selector_mine"
            android:gravity="center"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="@color/selector_bottom_bar_text" />
            style="@style/homeNavStyle"
            android:drawableTop="@drawable/selector_nav_mine"
            android:text="我的" />
    </RadioGroup>
</LinearLayout>
app/res/layout/navigation_top_bar.xml
@@ -2,7 +2,7 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/top_bar_color"
    android:background="@color/white"
    android:orientation="vertical">
    <RelativeLayout
@@ -48,6 +48,7 @@
            android:ellipsize="end"
            android:maxLength="6"
            android:singleLine="true"
            android:textColor="@color/page_title_text_color"
            android:textSize="@dimen/text_size_title" />
        <TextView
app/res/layout/navigation_top_bar_goods.xml
@@ -45,6 +45,7 @@
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:ellipsize="end"
            android:textColor="@color/page_title_text_color"
            android:maxLength="6"
            android:singleLine="true" />
app/res/layout/offine_cache_fragment2.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:background="@color/theme"
    android:background="@color/white"
    android:layout_height="match_parent">
    <LinearLayout
@@ -21,7 +21,7 @@
        android:id="@+id/fl_empty"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/theme"
        android:background="@color/white"
        android:visibility="visible">
        <LinearLayout
app/res/layout/recommend_fragment.xml
@@ -2,7 +2,7 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/theme"
    android:background="@color/white"
    android:orientation="vertical">
    <include layout="@layout/no_network" />
@@ -18,6 +18,34 @@
        android:gravity="center"
        android:orientation="vertical"></LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/theme"
        android:paddingLeft="12dp"
        android:paddingTop="5dp"
        android:paddingRight="12dp"
        android:paddingBottom="12dp">
        <TextView
            android:id="@+id/tv_search"
            android:layout_width="match_parent"
            android:layout_height="31dp"
            android:background="@drawable/shape_white_corner_radius_20"
            android:drawableLeft="@drawable/icon_home_search"
            android:drawablePadding="11dp"
            android:ellipsize="end"
            android:gravity="center_vertical|left"
            android:lines="1"
            android:paddingLeft="11dp"
            android:text="那年花开月正圆"
            android:textColor="#FF787878"
            android:textSize="14sp"></TextView>
    </LinearLayout>
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
@@ -25,6 +53,7 @@
        <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
            android:id="@+id/rl_recommend"
            android:descendantFocusability="blocksDescendants"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
app/res/layout/search_actvity.xml
@@ -2,14 +2,14 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/top_bar_color"
    android:background="@color/white"
    android:orientation="vertical">
    <View
        android:id="@+id/v_status_bar"
        android:layout_width="match_parent"
        android:layout_height="15dp"
        android:background="@color/top_bar_color" />
        android:background="@color/white" />
    <LinearLayout
        android:layout_width="match_parent"
@@ -18,7 +18,7 @@
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:layout_height="50dp"
            android:gravity="center_vertical"
            android:orientation="horizontal"
            android:padding="8dp">
@@ -33,11 +33,10 @@
                <ImageView
                    android:id="@+id/iv_activity_main_search"
                    android:layout_width="30dp"
                    android:layout_height="30dp"
                    android:layout_width="16dp"
                    android:layout_height="17dp"
                    android:layout_gravity="left|center_vertical"
                    android:layout_marginLeft="11dp"
                    android:padding="4dp"
                    android:layout_marginLeft="14dp"
                    android:scaleType="fitCenter"
                    android:src="@drawable/ic_activity_main_search"></ImageView>
@@ -50,11 +49,12 @@
                    android:background="@null"
                    android:completionThreshold="1"
                    android:hint="请输入搜索内容"
                    android:textColorHint="#FF787878"
                    android:imeOptions="actionSearch"
                    android:inputType="text"
                    android:padding="5dp"
                    android:textAppearance="?android:attr/textAppearance"
                    android:textColor="@color/white"
                    android:textColor="#333333"
                    android:textCursorDrawable="@null"
                    android:textSize="12sp" />
@@ -68,7 +68,7 @@
                android:paddingLeft="17dp"
                android:paddingRight="18dp"
                android:text="取消"
                android:textColor="#ffffffff"
                android:textColor="@color/theme"
                android:textSize="12sp"></TextView>
        </LinearLayout>
@@ -98,7 +98,7 @@
                    android:layout_height="wrap_content"
                    android:padding="8dp"
                    android:text="@string/hot_search"
                    android:textColor="#DDDDDD" />
                    android:textColor="#FFA6A6A6" />
                <com.hanju.lib.library.widget.MyGridView
                    android:id="@+id/gv_hot_search"
@@ -147,7 +147,7 @@
                        android:layout_height="wrap_content"
                        android:padding="8dp"
                        android:text="@string/history_search"
                        android:textColor="#DDDDDD" />
                        android:textColor="#FFA6A6A6" />
                    <TextView
                        android:id="@+id/tv_search_clear_his"
@@ -157,7 +157,7 @@
                        android:layout_centerVertical="true"
                        android:padding="8dp"
                        android:text="@string/clear_history_search"
                        android:textColor="@color/gray" />
                        android:textColor="#FFA6A6A6" />
                </RelativeLayout>
                <com.hanju.lib.library.widget.MyGridView
app/res/layout/search_result_activity.xml
@@ -2,19 +2,19 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/theme"
    android:background="@color/white"
    android:orientation="vertical">
    <View
        android:id="@+id/v_status_bar"
        android:layout_width="match_parent"
        android:layout_height="15dp"
        android:background="@color/top_bar_color" />
        android:background="@color/white" />
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:layout_height="50dp"
        android:gravity="center_vertical"
        android:orientation="horizontal"
        android:padding="8dp">
@@ -29,11 +29,10 @@
            <ImageView
                android:id="@+id/iv_activity_main_search"
                android:layout_width="30dp"
                android:layout_height="30dp"
                android:layout_width="16dp"
                android:layout_height="17dp"
                android:layout_gravity="left|center_vertical"
                android:layout_marginLeft="11dp"
                android:padding="4dp"
                android:layout_marginLeft="14dp"
                android:scaleType="fitCenter"
                android:src="@drawable/ic_activity_main_search"></ImageView>
@@ -45,12 +44,13 @@
                android:layout_weight="1"
                android:background="@null"
                android:completionThreshold="1"
                android:textColor="#333333"
                android:hint="请输入搜索内容"
                android:imeOptions="actionSearch"
                android:textColorHint="#FF787878"
                android:inputType="text"
                android:padding="5dp"
                android:textAppearance="?android:attr/textAppearance"
                android:textColor="@color/white"
                android:textCursorDrawable="@null"
                android:textSize="12sp" />
@@ -64,7 +64,7 @@
            android:paddingLeft="17dp"
            android:paddingRight="18dp"
            android:text="取消"
            android:textColor="#ffffffff"
            android:textColor="@color/theme"
            android:textSize="12sp"></TextView>
    </LinearLayout>
app/res/layout/search_result_top_bar.xml
@@ -2,7 +2,7 @@
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/theme"
    android:background="@color/white"
    android:orientation="horizontal"
    android:paddingLeft="8dp"
    android:paddingRight="8dp"
app/res/layout/settings_activity.xml
@@ -2,14 +2,14 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/theme"
    android:background="#FFF5F5F5"
    android:orientation="vertical">
    <View
        android:id="@+id/v_status_bar"
        android:layout_width="match_parent"
        android:layout_height="15dp"
        android:background="@color/top_bar_color" />
        android:background="@color/white" />
    <include layout="@layout/navigation_top_bar" />
@@ -19,8 +19,10 @@
        android:layout_weight="1">
        <LinearLayout
            android:background="@color/white"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginTop="10dp"
            android:orientation="vertical"
            android:paddingLeft="23.5dp">
@@ -94,7 +96,6 @@
                android:visibility="gone" />
            <TextView
                android:visibility="gone"
                style="@style/TextBlackMedium"
                android:layout_width="wrap_content"
                android:layout_height="30dp"
@@ -106,7 +107,8 @@
                android:padding="8dp"
                android:text="当前下载位置"
                android:textColor="@color/gray"
                android:textSize="12sp" />
                android:textSize="12sp"
                android:visibility="gone" />
            <RelativeLayout
                android:id="@+id/rl_storage_sdcard"
@@ -128,10 +130,11 @@
                    android:checked="true" />
            </RelativeLayout>
            <View android:visibility="gone" style="@style/settingItemCutLineStyle"></View>
            <View
                style="@style/settingItemCutLineStyle"
                android:visibility="gone"></View>
            <RelativeLayout
                style="@style/settingItemBgStyle">
            <RelativeLayout style="@style/settingItemBgStyle">
                <TextView
                    android:id="@+id/tv_storage_sdcard"
@@ -150,6 +153,7 @@
            </RelativeLayout>
            <View style="@style/settingItemCutLineStyle"></View>
            <RelativeLayout
                android:id="@+id/rl_check_update"
                style="@style/settingItemBgStyle">
@@ -261,7 +265,9 @@
                    android:gravity="center_vertical" />
            </RelativeLayout>
            <View android:visibility="gone" style="@style/settingItemCutLineStyle"></View>
            <View
                style="@style/settingItemCutLineStyle"
                android:visibility="gone"></View>
            <RelativeLayout
                android:id="@+id/rl_privacy_policy"
app/res/layout/specific_detail_fragment.xml
@@ -2,7 +2,7 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/theme"
    android:background="@color/white"
    android:orientation="vertical">
    <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
app/res/layout/specific_detail_top.xml
@@ -20,7 +20,7 @@
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/theme"
        android:background="@color/white"
        android:orientation="vertical">
        <TextView
app/res/layout/suggestion_grid_item.xml
@@ -17,7 +17,7 @@
        android:singleLine="true"
        android:text="123123"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#DDDDDD"
        android:textColor="#FF000000"
        android:textSize="12sp" />
</LinearLayout>
app/res/layout/video_detail_activity.xml
@@ -2,14 +2,14 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/theme"
    android:background="@color/white"
    android:orientation="vertical">
    <View
        android:id="@+id/v_status_bar"
        android:layout_width="match_parent"
        android:layout_height="15dp"
        android:background="@color/top_bar_color" />
        android:background="@color/white" />
    <FrameLayout
@@ -27,7 +27,7 @@
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/v_status_bar"
                android:background="@color/top_bar_color">
                android:background="@color/white">
                <FrameLayout
                    android:id="@+id/fragment_video_parser"
@@ -208,7 +208,7 @@
                    android:paddingTop="10dp"
                    android:paddingBottom="10dp"
                    android:text="来源:爱奇艺"
                    android:textColor="@color/white"
                    android:textColor="#FF666666"
                    android:textSize="9sp"></TextView>
                <View
app/res/layout/video_detail_fragment.xml
@@ -3,7 +3,7 @@
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    android:background="@color/theme">
    android:background="@color/white">
    <LinearLayout
        android:id="@+id/ll_video_detail"
app/res/layout/video_episode_fragment.xml
@@ -2,7 +2,7 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/theme">
    android:background="@color/white">
    <ScrollView
        android:id="@+id/sv_detail"
app/res/layout/videos_activity.xml
@@ -2,7 +2,7 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/theme"
    android:background="@color/white"
    android:orientation="vertical">
    <FrameLayout
app/res/values/colors.xml
@@ -33,11 +33,11 @@
    <color name="transparent_gray">#99666666</color>
    <color name="text_color_small">#ffff7300</color>
    <color name="message_backgroud_gray">#f5f5f5</color>
    <color name="top_bar_color">#FF000000</color>
    <color name="top_bar_color">#FFFF4D88</color>
    <color name="green">#2ac600</color>
    <color name="light_light_gray">#F2F2F2</color>
    <color name="news_title_color_gray">#333333</color>
    <color name="theme">#3C3C3C</color>
    <color name="theme">#FFFF4D88</color>
    <color name="blue">#FFffffff</color>
    <color name="main_color">#fff9644e</color>
    <color name="black">#ff333333</color>
@@ -48,4 +48,6 @@
    <color name="qq_blue">#4CAFEA</color>
    <color name="black1">#ff161514</color>
    <color name="bg_download_so">#FF987b63</color>
    <color name="page_title_text_color">#FF000000</color>
</resources>
app/res/values/styles.xml
@@ -65,13 +65,19 @@
        <item name="android:textSize">10sp</item>
    </style>
    <!-- Application theme. -->
    <style name="AppTheme" parent="AppBaseTheme">
    <style name="AppTheme" parent="Theme.MaterialComponents">
        <!-- All customizations that are NOT specific to a particular API-level can go here. -->
        <!--半透明  已经删除-->
        <!--<item name="android:windowIsTranslucent">true</item>-->
        <item name="android:windowNoTitle">true</item>
        <item name="android:navigationBarColor">@color/top_bar_color</item>
        <item name="android:navigationBarColor">@color/white</item>
        <item name="android:colorControlNormal">@color/white</item>
        <item name="colorAccent">@color/white</item>
        <item name="colorPrimaryDark">@color/white</item>
        <item name="statusBarForeground">@color/transparent</item>
        <item name="statusBarBackground">@color/transparent</item>
        <item name="android:statusBarColor">@color/black</item>
    </style>
    <style name="AppTabTheme" parent="AppTheme">
@@ -292,14 +298,14 @@
        <item name="android:gravity">center</item>
        <item name="android:textSize">12sp</item>
        <item name="android:layout_marginLeft">11dp</item>
        <item name="android:textColor">@color/white</item>
        <item name="android:textColor">#FF232323</item>
    </style>
    <style name="loginInputStyle">
        <item name="android:background">@null</item>
        <item name="android:singleLine">true</item>
        <item name="android:textColor">#FFFFFF</item>
        <item name="android:textColor">#FFCACACA</item>
        <item name="android:textCursorDrawable">@drawable/shape_login_input_cursor</item>
        <item name="android:textSize">14sp</item>
    </style>
@@ -314,8 +320,8 @@
    <style name="settingItemBgStyle">
        <item name="android:paddingRight">23.5dp</item>
        <item name="android:paddingTop">26.5dp</item>
        <item name="android:paddingBottom">26.5dp</item>
        <item name="android:paddingTop">19dp</item>
        <item name="android:paddingBottom">19dp</item>
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>
    </style>
@@ -332,7 +338,7 @@
    <style name="settingItemCutLineStyle">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">1dp</item>
        <item name="android:background">#000000</item>
        <item name="android:background">#FFF5F5F5</item>
    </style>
    <style name="settingItemTitleStyle">
@@ -343,7 +349,7 @@
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textColor">#DCDEEA</item>
        <item name="android:textColor">#FF333333</item>
        <item name="android:textSize">17sp</item>
    </style>
@@ -385,4 +391,17 @@
        <item name="android:background">@color/white</item>
    </style>
    <style name="homeNavStyle">
        <item name="android:layout_width">0dp</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_weight">1</item>
        <item name="android:button">@null</item>
        <item name="android:gravity">center</item>
        <item name="android:textSize">9sp</item>
        <item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
        <item name="android:textColor">@color/selector_bottom_bar_text</item>
        <item name="android:drawablePadding">5dp</item>
    </style>
</resources>
app/src/com/hanju/video/app/entity/recommend/RecommendContent.java
@@ -11,6 +11,7 @@
    public final static int TYPE_BANNER = 1;
    public final static int TYPE_AD = 2;
    public final static int TYPE_HOMETYPE = 3;
    public final static int TYPE_DY_VIDEOS = 4;
    private int type;
    private List<HomeAd> homeBannerList;
app/src/com/hanju/video/app/ui/SplashActivity.java
@@ -19,6 +19,7 @@
import com.bumptech.glide.Glide;
import com.google.gson.Gson;
import com.hanju.video.app.ui.dialog.PermissionAuthNotifyDialog;
import com.hanju.video.app.util.http.BasicTextHttpResponseHandler;
import com.hanju.video.app.HanJuApplication;
import com.hanju.video.app.util.http.HttpApiUtil;
@@ -132,7 +133,24 @@
                public void onClick(DialogInterface dialog, int which) {
                    dialog.dismiss();
                    UserUtil.agreeUserProtocol(getApplicationContext());
                    myRequetPermission();
                    //请求权限
                    vg_ad.post(new Runnable() {
                        @Override
                        public void run() {
                            new PermissionAuthNotifyDialog.Builder(SplashActivity.this).setPositiveButton(null, new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialogInterface, int i) {
                                    dialogInterface.dismiss();
                                    myRequetPermission();
                                }
                            }).create().show();
                        }
                    });
                }
            }).setData(data).create().show();
        }
app/src/com/hanju/video/app/ui/common/VideosFragment.java
@@ -17,9 +17,6 @@
import android.widget.TextView;
import android.widget.Toast;
import com.google.gson.FieldNamingPolicy;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import com.hanju.video.app.entity.recommend.HomeSpecial;
import com.hanju.video.app.util.JsonUtil;
app/src/com/hanju/video/app/ui/dialog/PermissionAuthNotifyDialog.java
New file
@@ -0,0 +1,86 @@
package com.hanju.video.app.ui.dialog;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.TextView;
import com.hanju.lib.library.util.SystemCommon;
import com.hanju.lib.library.util.common.StringUtils;
import com.hanju.video.app.R;
/**
 * 权限请求之前的弹框
 */
public class PermissionAuthNotifyDialog extends Dialog {
    private static String TAG = "UserProtocolDialog";
    public PermissionAuthNotifyDialog(Context context) {
        super(context);
        this.setCancelable(false);
    }
    public PermissionAuthNotifyDialog(Context context, int theme) {
        super(context, theme);
        this.setCancelable(false);
    }
    public static class Builder {
        private Activity context;
        private String positiveButtonText;
        private OnClickListener positiveButtonClickListener;
        public Builder(Activity context) {
            this.context = context;
        }
        public Builder setPositiveButton(String positiveButtonText,
                                         OnClickListener listener) {
            this.positiveButtonText = positiveButtonText;
            this.positiveButtonClickListener = listener;
            return this;
        }
        public PermissionAuthNotifyDialog create() {
            LayoutInflater inflater = (LayoutInflater) context
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            final PermissionAuthNotifyDialog dialog = new PermissionAuthNotifyDialog(context, R.style.Dialog);
            dialog.setCanceledOnTouchOutside(false);
            final View layout = inflater.inflate(R.layout.dialog_auth_notify, null);
            dialog.addContentView(layout, new FrameLayout.LayoutParams(
                    FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT));
            TextView tv_positive = layout.findViewById(R.id.tv_positive);
            // set the confirm button
            if (positiveButtonClickListener != null) {
                if (!StringUtils.isEmpty(positiveButtonText))
                    tv_positive.setText(positiveButtonText);
                tv_positive.setOnClickListener(new View.OnClickListener() {
                    public void onClick(View v) {
                        positiveButtonClickListener.onClick(dialog,
                                DialogInterface.BUTTON_POSITIVE);
                    }
                });
            }
            dialog.setContentView(layout);
            android.view.WindowManager.LayoutParams params = dialog.getWindow()
                    .getAttributes();
            params.width = (int) ((SystemCommon.getScreenWidth(context) * 3) / 4);
            params.height = android.view.WindowManager.LayoutParams.WRAP_CONTENT;
            dialog.getWindow().setAttributes(params);
            return dialog;
        }
    }
}
app/src/com/hanju/video/app/ui/main/DYFeedFragment.java
New file
@@ -0,0 +1,106 @@
package com.hanju.video.app.ui.main;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import com.bytedance.sdk.dp.DPSdk;
import com.bytedance.sdk.dp.DPWidgetGridParams;
import com.bytedance.sdk.dp.IDPGridListener;
import com.bytedance.sdk.dp.IDPWidget;
import com.hanju.lib.library.widget.myswiperefreshlayout.MySwipeRefreshLayout;
import com.hanju.video.app.R;
import com.hanju.video.app.ui.MyRetainViewFragment;
import com.hanju.video.app.ui.widget.MyRefreshLayout;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
/**
 * 主页面--抖音视频流
 */
public class DYFeedFragment extends MyRetainViewFragment {
    private static final String TAG = "DYFeedFragment";
    private IDPWidget mIDPWidget;
    private MyRefreshLayout swipeRefreshLayout;
    public DYFeedFragment() {
        super();
    }
    private Fragment fragment;
    @Override
    public int getContentResource() {
        return R.layout.fragment_feed_videos;
    }
    @Override
    public void onResume() {
        super.onResume();
        if (mIDPWidget != null && mIDPWidget.getFragment() != null) {
            mIDPWidget.getFragment().onResume();
        }
    }
    @Override
    public void onPause() {
        super.onPause();
        if (mIDPWidget != null && mIDPWidget.getFragment() != null) {
            mIDPWidget.getFragment().onPause();
        }
    }
    @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
        if (mIDPWidget != null && mIDPWidget.getFragment() != null) {
            mIDPWidget.getFragment().setUserVisibleHint(isVisibleToUser);
        }
    }
    @Override
    public void onHiddenChanged(boolean hidden) {
        super.onHiddenChanged(hidden);
        if (mIDPWidget != null && mIDPWidget.getFragment() != null) {
            mIDPWidget.getFragment().onHiddenChanged(hidden);
        }
    }
    @Override
    public void onCreateView(View contentView, Bundle savedInstanceState) {
        Log.i(TAG, "onCreateView");
        swipeRefreshLayout = contentView.findViewById(R.id.srl_feed);
        swipeRefreshLayout.setEnabled(true);
        swipeRefreshLayout.setOnRefreshListener(new MyRefreshLayout.OnRefreshListener() {
            @Override
            public void onRefresh() {
                mIDPWidget.refresh();
            }
        });
        init();
    }
    private void init() {
        mIDPWidget = DPSdk.factory().createDoubleFeed(DPWidgetGridParams.obtain().listener(new IDPGridListener() {
                    @Override
                    public void onDPRefreshFinish() {
                        super.onDPRefreshFinish();
                        swipeRefreshLayout.setRefreshing(false);
                    }
                })
        );
        Fragment fragment = mIDPWidget.getFragment();
        if (fragment != null) {
            getChildFragmentManager().beginTransaction().replace(R.id.fl_container, fragment).commitAllowingStateLoss();
        }
    }
    private static void log(String msg) {
        Log.d(TAG, String.valueOf(msg));
    }
}
app/src/com/hanju/video/app/ui/main/DYNewsFragment.java
@@ -80,7 +80,9 @@
    }
    private void initNewsWidget() {
        mIDPWidget = DPSdk.factory().createNewsTabs(DPWidgetNewsParams.obtain().channelCategory("视频")
        //热点 news_hot
        //娱乐 news_entertainment
        mIDPWidget = DPSdk.factory().createNewsOneTab(DPWidgetNewsParams.obtain().channelCategory("news_entertainment")
                .listener(new IDPNewsListener() {
                    @Override
                    public void onDPRefreshFinish() {
app/src/com/hanju/video/app/ui/main/DiscoverNowFragment.java
@@ -8,6 +8,7 @@
import android.widget.ListView;
import android.widget.ProgressBar;
import com.androidquery.AQuery;
import com.google.gson.FieldNamingPolicy;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -19,6 +20,7 @@
import com.hanju.video.app.util.downutils.StringUtils;
import com.hanju.lib.library.util.RefreshLayout;
import com.hanju.lib.library.util.SingleToast;
import com.hanju.video.app.util.ui.StatusBarUtil;
import com.qq.e.ads.cfg.VideoOption;
import com.qq.e.ads.nativ.ADSize;
import com.qq.e.ads.nativ.NativeExpressAD;
@@ -47,6 +49,7 @@
    private ListView uniqueView;
    private RefreshLayout rl_unique;
    private DiscoverVideosAdapter uniqueAdapter;
    private AQuery mAQuery;
    public DiscoverNowFragment() {
@@ -70,6 +73,8 @@
    @Override
    public void onCreateView(View contentView, Bundle savedInstanceState) {
        mAQuery = new AQuery(contentView);
        mAQuery.id(R.id.v_status_bar).height(StatusBarUtil.getStatusBarHeight(getActivity()),false);
        rl_unique = contentView.findViewById(R.id.rl_unique_ptrlv);
        uniqueView = contentView.findViewById(R.id.unique_ptrlv);
        uniqueView.addHeaderView(new View(uniqueView.getContext()));
@@ -111,7 +116,7 @@
                            JSONObject data = jsonObject.getJSONObject("Data");
                            List<VideoInfo> videoInfos =  JsonUtil.videoGson.fromJson(
                            List<VideoInfo> videoInfos = JsonUtil.videoGson.fromJson(
                                    data.getJSONArray("list").toString(),
                                    new TypeToken<List<VideoInfo>>() {
                                    }.getType());
app/src/com/hanju/video/app/ui/main/HomeFragment.java
@@ -5,10 +5,13 @@
import android.content.SharedPreferences;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.coordinatorlayout.widget.CoordinatorLayout;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentStatePagerAdapter;
@@ -21,6 +24,7 @@
import android.widget.Toast;
import com.androidquery.AQuery;
import com.google.android.material.appbar.AppBarLayout;
import com.google.gson.FieldNamingPolicy;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -36,6 +40,7 @@
import com.hanju.video.app.util.ad.CSJADConstant;
import com.hanju.video.app.util.ad.GDTADConstant;
import com.hanju.video.app.util.ad.IntertitialAdUtil;
import com.hanju.video.app.util.ui.StatusBarUtil;
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.video.youth.util.YouthUtil;
import com.viewpagerindicator.MainTabPageIndicator;
@@ -52,6 +57,15 @@
import com.hanju.video.app.ui.recommend.RecommendFragment;
import com.hanju.video.app.ui.recommend.SearchActivity;
import com.hanju.video.app.R;
import net.lucode.hackware.magicindicator.MagicIndicator;
import net.lucode.hackware.magicindicator.ViewPagerHelper;
import net.lucode.hackware.magicindicator.buildins.commonnavigator.CommonNavigator;
import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.CommonNavigatorAdapter;
import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerIndicator;
import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerTitleView;
import net.lucode.hackware.magicindicator.buildins.commonnavigator.indicators.LinePagerIndicator;
import net.lucode.hackware.magicindicator.buildins.commonnavigator.titles.ColorTransitionPagerTitleView;
import org.apache.http.Header;
import org.json.JSONObject;
@@ -78,20 +92,14 @@
     */
    HomePageAdapter adapter;
    ViewPager pager;
    MainTabPageIndicator indicator;
    TextView tv_search;
    ImageView iv_msg_dot;
    FrameLayout fl_indicator;
    private DiskLruCache cache;
    private boolean isLogin = false;
    SharedPreferences preferences;//
    SharedPreferences preferences;
    private AQuery mAquery;
    private MagicIndicator mMagicIndicator;
    private DYNewsFragment mDYNewsFragment;
    private NovelFragment mNovelFragment;
    private AppBarLayout mAppBarLayout;
    CoordinatorLayout mCoordinatorLayout;
    private DiskLruCache cache;
    public HomeFragment() {
        super(HomeFragment.class.getClass().getName());
@@ -109,11 +117,9 @@
        } catch (IOException e) {
            e.printStackTrace();
        }
        preferences = getContext().getSharedPreferences("user",
                Context.MODE_PRIVATE);
    }
    public static int getVersionNum(Context context) {
        try {
@@ -126,6 +132,7 @@
        }
    }
    @Override
    public int getContentResource() {
        return R.layout.fragment_recommend_category;
@@ -133,73 +140,60 @@
    private void initView(View view) {
        view.findViewById(R.id.iv_activity_main_download).setOnClickListener(this);
        view.findViewById(R.id.ll_activity_main_search).setOnClickListener(this);
        view.findViewById(R.id.iv_recommend_watch_history).setOnClickListener(this);
        view.findViewById(R.id.ll_activity_login).setOnClickListener(this);
        view.findViewById(R.id.iv_recommend_download).setOnClickListener(this);
        mAquery = new AQuery(view);
        mMagicIndicator = view.findViewById(R.id.magic_indicator);
        pager = view.findViewById(R.id.pager_recomend_category);
        mAquery.id(R.id.v_status_bar).height(StatusBarUtil.getStatusBarHeight(getActivity()), false);
        mAppBarLayout = view.findViewById(R.id.abl_recommend);
        mCoordinatorLayout = view.findViewById(R.id.cl_recommend);
    }
    private void init() {
        adapter = new HomePageAdapter(
                getChildFragmentManager());
        pager.setAdapter(adapter);
        pager.setOffscreenPageLimit(2);
        CommonNavigator commonNavigator = new CommonNavigator(getActivity());
        commonNavigator.setAdapter(navigatorAdapter);
        commonNavigator.setAdjustMode(true);
        mMagicIndicator.setNavigator(commonNavigator);
        ViewPagerHelper.bind(mMagicIndicator, pager);
        if (adapter.getCount() <= 1) {
            mMagicIndicator.setVisibility(View.GONE);
        } else {
            pager.setCurrentItem(1);
        }
        pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
        tv_search = view.findViewById(R.id.tv_activity_main_search);
        iv_msg_dot = view.findViewById(R.id.iv_msg_dot);
            }
            @Override
            public void onPageSelected(int position) {
                mAppBarLayout.setExpanded(true);
            }
            @Override
            public void onPageScrollStateChanged(int state) {
            }
        });
//        getCategories();
    }
    @Override
    public void onCreateView(View contentView, Bundle savedInstanceState) {
        getActivity().setTheme(R.style.AppTabThemeMain);
        mAquery = new AQuery(contentView);
        initView(contentView);
        pager = contentView.findViewById(R.id.pager_recomend_category);
        fl_indicator = contentView.findViewById(R.id.fl_indicator);
        if (fl_indicator.getChildCount() > 0) {
            fl_indicator.removeAllViews();
        }
        DiskLruCache.Snapshot snapshot = null;
        try {
            if (cache != null) {
                snapshot = cache.get(getKey("getCategories"));
                if (snapshot != null) {
                    List<HomeNav> list =  JsonUtil.videoGson.fromJson(
                            snapshot.getString(0),
                            new TypeToken<List<HomeNav>>() {
                            }.getType());
                    categories.addAll(list);
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (snapshot != null) {
                snapshot.close();
            }
        }
        init();
        adapter = new HomePageAdapter(
                getChildFragmentManager(), categories);
        pager.setAdapter(adapter);
        indicator = new MainTabPageIndicator(
                pager.getContext());
        indicator.setViewPager(pager, 0);
        fl_indicator.addView(indicator);
        if (categories.size() > 1) {
            fl_indicator.setVisibility(View.VISIBLE);
        } else {
            fl_indicator.setVisibility(View.GONE);
        }
        getHotSearch();
        getCategories();
    }
    private String getKey(String method) {
        return new Md5FileNameGenerator().generate(method);
    }
    @Override
    public void onResume() {
        super.onResume();
        isLogin = !StringUtils.isEmpty(preferences.getString("LoginUid", ""));
        EventBus.getDefault().register(this);
//        EventBus.getDefault().register(this);
        if (YouthUtil.isOpenYouthMode(getContext())) {
            mAquery.id(R.id.ll_top).visibility(View.GONE);
        } else {
@@ -219,15 +213,79 @@
        EventBus.getDefault().unregister(this);
    }
    class HomePageAdapter extends FragmentStatePagerAdapter {
        private FragmentManager fm;
        private List<Fragment> fragments = new ArrayList();
        public HomePageAdapter(FragmentManager fm) {
            super(fm);
            this.fm = fm;
            if (AdUtil.isCanInitCSJ()) {
                mDYNewsFragment = new DYNewsFragment();
                mNovelFragment = new NovelFragment(fm);
                fragments.add(mNovelFragment);
                fragments.add(mDYNewsFragment);
            }
            HomeNav homeNav = new HomeNav();
            homeNav.setName("推荐");
            homeNav.setDataKey("recommend");
            homeNav.setDataType("recommend");
            fragments.add(fragments.size() > 0 ? 1 : 0, RecommendFragment.newInstance(homeNav, 0 + ""));
        }
        @Override
        public Fragment getItem(int position) {
            return fragments.get(position);
        }
        @Override
        public int getCount() {
            return fragments.size();
        }
        @Nullable
        @Override
        public CharSequence getPageTitle(int position) {
            if (fragments.size() > 1) {
                switch (position) {
                    case 0:
                        return "小说";
                    case 1:
                        return "推荐";
                    case 2:
                        return "话题";
                    default:
                        return "";
                }
            } else {
                return "推荐";
            }
        }
    }
    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.iv_recommend_watch_history: {
                startActivity(new Intent(getContext(),
                        WatchHistoryActivity.class));
            }
            break;
        }
    }
    public void onEventMainThread(VideoType type) {
        getCategories();
    }
    private String getKey(String method) {
        return new Md5FileNameGenerator().generate(method);
    }
    List<HomeNav> categories = new ArrayList<>();
    int count = 1;
    private void getCategories() {
        SharedPreferences preferences = pager.getContext().getSharedPreferences(
                "user", Context.MODE_PRIVATE);
@@ -239,10 +297,12 @@
                                                 Header[] headers, JSONObject jsonObject)
                            throws Exception {
                        if (jsonObject.getBoolean("IsPost")) {
                            Gson gson = new GsonBuilder().setFieldNamingPolicy(
                                    FieldNamingPolicy.UPPER_CAMEL_CASE)
                                    .create();
                            categories.clear();
                            List<HomeNav> list =  JsonUtil.videoGson.fromJson(
                            List<HomeNav> list = gson.fromJson(
                                    jsonObject.getJSONObject("Data")
                                            .getJSONArray("data").toString(),
                                    new TypeToken<List<HomeNav>>() {
@@ -250,14 +310,7 @@
                            categories.addAll(list);
                            if (categories.size() > 1) {
                                fl_indicator.setVisibility(View.VISIBLE);
                            } else {
                                fl_indicator.setVisibility(View.GONE);
                            }
                            adapter.notifyDataSetChanged();
                            indicator.notifyDataSetChanged();
                            pager.setCurrentItem(0);
@@ -266,7 +319,7 @@
                            try {
                                DiskLruCache.Editor editor = cache
                                        .edit(getKey("getCategories"));
                                editor.set(0, JsonUtil.videoGson.toJson(categories));
                                editor.set(0, gson.toJson(categories));
                                editor.commit();
                            } catch (IOException e) {
                            }
@@ -294,157 +347,58 @@
                });
    }
    class HomePageAdapter extends FragmentStatePagerAdapter {
        private FragmentManager fm;
        private List<HomeNav> mlist;
        private Map<Integer, Fragment> fragments = new HashMap<>();
        public HomePageAdapter(FragmentManager fm, List<HomeNav> list) {
            super(fm);
            this.fm = fm;
            this.mlist = list;
        }
        @Override
        public Fragment getItem(int position) {
            Fragment fragment = RecommendFragment.newInstance(mlist.get(position), position + "");
            return fragment;
        }
    private CommonNavigatorAdapter navigatorAdapter = new CommonNavigatorAdapter() {
        @Override
        public int getCount() {
            return mlist.size();
            return adapter.getCount();
        }
//        @Override
//        public Object instantiateItem(ViewGroup container, int position) {
//            Fragment fragment = (Fragment) super.instantiateItem(container, position);
//            fm.beginTransaction().show(fragment).commit();
//            return fragment;
//        }
//
//        @Override
//        public void destroyItem(ViewGroup container, int position, Object object) {
//            Fragment fragment = fragments.get(position);
//            try {
//                fm.beginTransaction().hide(fragment).commit();
//            } catch (Exception e) {
//
//            }
//        }
        @Nullable
        @Override
        public CharSequence getPageTitle(int position) {
            return mlist.get(position).getName();
        }
    }
        public IPagerTitleView getTitleView(final Context context, final int index) {
            ColorTransitionPagerTitleView colorTransitionPagerTitleView = new ColorTransitionPagerTitleView(context) {
                @Override
                public void onSelected(int index, int totalCount) {
                    super.onSelected(index, totalCount);
    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.iv_recommend_watch_history: {
                startActivity(new Intent(getContext(),
                        WatchHistoryActivity.class));
            }
            break;
            case R.id.iv_activity_main_download: {
                Toast.makeText(getContext(), "暂时不支持下载!", Toast.LENGTH_LONG).show();
            }
            break;
            case R.id.ll_activity_main_search: {
                Intent intent = new Intent(getContext(), SearchActivity.class);
                intent.putExtra("key", tv_search.getText().toString());
                startActivity(intent);
            }
            break;
            case R.id.nat:
                openMyselfSpread();
                break;
            case R.id.iv_recommend_download:
                startActivity(new Intent(getContext(), DownloadActivity.class));
                break;
            case R.id.mine_rl_head:
                Intent intent = new Intent();
                if (isLogin) {// 登录后 逻辑
                    intent.setClass(getContext(), PersonInfoActivity.class);
                } else {// 登录前
                    intent.setClass(getContext(), LoginActivity.class);
                    setTextSize(20);
                    getPaint().setFakeBoldText(true);
                }
                startActivity(intent);
                break;
//            case R.id.rl_mine_message:
//                openMsg();
//                break;
                @Override
                public void onDeselected(int index, int totalCount) {
                    super.onDeselected(index, totalCount);
                    setTextSize(14);
                    getPaint().setFakeBoldText(false);
                }
            };
            colorTransitionPagerTitleView.setNormalColor(Color.parseColor("#80FFFFFF"));
            colorTransitionPagerTitleView.setSelectedColor(Color.WHITE);
            colorTransitionPagerTitleView.setText(adapter.getPageTitle(index));
            colorTransitionPagerTitleView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    pager.setCurrentItem(index);
                }
            });
            colorTransitionPagerTitleView.setTextSize(14);
            return colorTransitionPagerTitleView;
        }
    }
    /**
     * 打开顶部自我推广
     */
    private void openMyselfSpread() {
        SharedPreferences preferences = getContext().getSharedPreferences(
                "user", Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = preferences.edit();
        editor.putLong("latestAdtime", System.currentTimeMillis());
        editor.commit();
        Intent intent = new Intent(getContext(), BrowserActivity.class);
        intent.putExtra("url", preferences.getString("tuiguang_add", ""));
        startActivity(intent);
    }
    /**
     * 打开消息页面
     */
    private void openMsg() {
        EventBus.getDefault().post(new NewComment(true));
        SharedPreferences preferences = getContext().getSharedPreferences(
                "user", Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = preferences.edit();
        editor.putBoolean("isCheckedCom", false);
        editor.commit();
        startActivity(new Intent(getContext(),
                SystemMessageActivity.class));
    }
    private void getHotSearch() {
        SharedPreferences preferences = getContext().getSharedPreferences("user",
                Context.MODE_PRIVATE);
        String uid = preferences.getString("uid", "");
        HttpApiUtil.getHotSearch(getContext(), uid,
                new BasicTextHttpResponseHandler() {
                    @Override
                    public void onSuccessPerfect(int statusCode,
                                                 Header[] headers, JSONObject jsonObject)
                            throws Exception {
                        if (jsonObject.getBoolean("IsPost")) {
                            Gson gson = new GsonBuilder()
                                    .create();
                            List<String> hotSearchs = gson.fromJson(jsonObject
                                    .getJSONObject("Data").getJSONArray("data")
                                    .toString(), new TypeToken<List<String>>() {
                            }.getType());
                            if (hotSearchs != null && hotSearchs.size() > 0) {
                                Random random = new Random();
                                int p = random.nextInt(hotSearchs.size());
                                tv_search.setText(hotSearchs.get(p));
                            }
                        }
                    }
                });
    }
    private String getDay(long time) {
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        String date = format.format(new Date(time));
        return date;
    }
        //此为tab指示器回调
        @Override
        public IPagerIndicator getIndicator(Context context) {
            LinePagerIndicator indicator = new LinePagerIndicator(context);
            indicator.setLineHeight(0);
            indicator.setColors(Color.WHITE);
            indicator.setMode(LinePagerIndicator.MODE_WRAP_CONTENT);
            indicator.setRoundRadius(5);
            return indicator;
        }
    };
}
app/src/com/hanju/video/app/ui/main/MainActivity.java
@@ -14,7 +14,9 @@
import android.widget.RadioGroup;
import android.widget.Toast;
import com.androidquery.AQuery;
import com.hanju.lib.library.util.FragmentSwitchHelper;
import com.hanju.lib.library.util.FragmentSwitchHelperV2;
import com.hanju.video.app.entity.ad.AdPositionEnum;
import com.hanju.video.app.ui.media.VideoDetailActivity;
import com.hanju.video.app.util.ad.AdUtil;
@@ -34,25 +36,78 @@
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import androidx.fragment.app.Fragment;
import de.greenrobot.event.EventBus;
public class MainActivity extends BaseActivity implements View.OnClickListener {
    private ProgressDialog pd = null;
    SharedPreferences preferences;// 广告商城,获取图标状态信息
    private RadioGroup rg_nav;
    private FragmentSwitchHelper mFragmentSwitchHelper;
    private FragmentSwitchHelperV2 mFragmentSwitchHelper;
    private AQuery mAQuery;
    @Override
    protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
    }
    private void initFragment() {
        List<Fragment> list = new ArrayList<>();
        list.add(new HomeFragment());
        list.add(new MineFragment());
        list.add(new DiscoverNowFragment());
        if (AdUtil.isCanInitCSJ()) {
            list.add(new DYVideoFragment());
            list.add(new DYFeedFragment());
            mAQuery.id(R.id.rb_nav_category).visibility(View.GONE);
            mAQuery.id(R.id.rb_nav_feed_videos).visibility(View.VISIBLE);
            mAQuery.id(R.id.rb_nav_draw_video).visibility(View.VISIBLE);
        } else {
            list.add(new CategoryFragment());
            mAQuery.id(R.id.rb_nav_category).visibility(View.VISIBLE);
            mAQuery.id(R.id.rb_nav_feed_videos).visibility(View.GONE);
            mAQuery.id(R.id.rb_nav_draw_video).visibility(View.GONE);
        }
        Fragment[] fs = new Fragment[list.size()];
        list.toArray(fs);
        mFragmentSwitchHelper = FragmentSwitchHelperV2.create(R.id.fl_main_fragment_container, getSupportFragmentManager(), fs);
    }
    private void setNavShow() {
        if (YouthUtil.isOpenYouthMode(getApplicationContext())) {
            findViewById(R.id.rb_nav_discover).setVisibility(View.GONE);
            findViewById(R.id.rb_nav_category).setVisibility(View.GONE);
            mAQuery.id(R.id.rb_nav_feed_videos).visibility(View.GONE);
            mAQuery.id(R.id.rb_nav_draw_video).visibility(View.GONE);
        } else {
            findViewById(R.id.rb_nav_discover).setVisibility(View.VISIBLE);
            if (AdUtil.isCanInitCSJ()) {
                mAQuery.id(R.id.rb_nav_category).visibility(View.GONE);
                mAQuery.id(R.id.rb_nav_feed_videos).visibility(View.VISIBLE);
                mAQuery.id(R.id.rb_nav_draw_video).visibility(View.VISIBLE);
            } else {
                mAQuery.id(R.id.rb_nav_category).visibility(View.VISIBLE);
                mAQuery.id(R.id.rb_nav_feed_videos).visibility(View.GONE);
                mAQuery.id(R.id.rb_nav_draw_video).visibility(View.GONE);
            }
        }
    }
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);// 锁定竖屏
        setContentView(R.layout.activity_main);
        mAQuery = new AQuery(this);
        initFragment();
        exitDialogBuilder = new ExitDialog.Builder(this);
@@ -65,7 +120,6 @@
                    exitDialogBuilder.refreshAd();
            }
        });
        StatusBarUtil.init(this);
        pd = new ProgressDialog(this);
        pd.setMessage("正在请求网络...");
@@ -73,14 +127,8 @@
        preferences = getSharedPreferences("user",
                Context.MODE_PRIVATE);
        StatusBarUtil.init(this);
//        StatusBarUtil.init(this);
//        initialer.run();
        mFragmentSwitchHelper = FragmentSwitchHelper.create(
                R.id.fl_main_fragment_container, getSupportFragmentManager(),
                new HomeFragment(), new CategoryFragment(),
                new DiscoverNowFragment(), new MineFragment(), new GuessLikeFragment());
        rg_nav = findViewById(R.id.rg_nav);
        rg_nav.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@@ -90,6 +138,16 @@
                    case R.id.rb_nav_recommend: {
                        mFragmentSwitchHelper
                                .changeFragment(HomeFragment.class);
                    }
                    break;
                    case R.id.rb_nav_draw_video: {
                        mFragmentSwitchHelper
                                .changeFragment(DYVideoFragment.class);
                    }
                    break;
                    case R.id.rb_nav_feed_videos: {
                        mFragmentSwitchHelper
                                .changeFragment(DYFeedFragment.class);
                    }
                    break;
                    case R.id.rb_nav_category: {
@@ -127,14 +185,7 @@
    @Override
    public void onResume() {
        super.onResume();
        if (YouthUtil.isOpenYouthMode(getApplicationContext())) {
            findViewById(R.id.rb_nav_discover).setVisibility(View.GONE);
            findViewById(R.id.rb_nav_category).setVisibility(View.GONE);
        } else {
            findViewById(R.id.rb_nav_discover).setVisibility(View.VISIBLE);
            findViewById(R.id.rb_nav_category).setVisibility(View.VISIBLE);
        }
        setNavShow();
    }
    @Override
app/src/com/hanju/video/app/ui/main/MineFragment.java
@@ -34,6 +34,7 @@
import com.hanju.lib.library.content.ConnectivityChangeHelper;
import com.hanju.lib.library.content.ConnectivityChangeHelper.OnConnectivityChangeListener;
import com.hanju.lib.library.util.common.StringUtils;
import com.hanju.video.app.util.ui.StatusBarUtil;
import com.umeng.analytics.MobclickAgent;
import com.umeng.socialize.UMShareAPI;
import com.umeng.socialize.UMShareListener;
@@ -118,6 +119,7 @@
    @Override
    public void onCreateView(View contentView, Bundle savedInstanceState) {
        mAquery = new AQuery(contentView);
        mAquery.id(R.id.v_status_bar).height(StatusBarUtil.getStatusBarHeight(getActivity()),false);
        tv_no_network = contentView.findViewById(R.id.tv_no_network);
        rv_watch_history = contentView.findViewById(R.id.rv_watch_history);
        tv_no_network.setOnClickListener(this);
@@ -173,15 +175,15 @@
                        WatchHistoryActivity.class));
            }
            break;
            case R.id.iv_activity_main_download: {
                Toast.makeText(tv_no_network.getContext(), "暂时不支持下载!", Toast.LENGTH_LONG).show();
            }
            break;
            case R.id.ll_activity_main_search: {
                startActivity(new Intent(tv_no_network.getContext(),
                        SearchActivity.class));
            }
            break;
//            case R.id.iv_activity_main_download: {
//                Toast.makeText(tv_no_network.getContext(), "暂时不支持下载!", Toast.LENGTH_LONG).show();
//            }
//            break;
//            case R.id.ll_activity_main_search: {
//                startActivity(new Intent(tv_no_network.getContext(),
//                        SearchActivity.class));
//            }
//            break;
            case R.id.mine_rl_head:
                Intent intent = new Intent();
                if (isLogin) {// 登录后 逻辑
app/src/com/hanju/video/app/ui/media/EpisodeFragment.java
@@ -512,10 +512,10 @@
            TextView tv = (TextView) child.getChildAt(0);
            View view = child.getChildAt(1);
            if (i == index) {
                tv.setTextColor(Color.parseColor("#FFFFFF"));
                tv.setTextColor(getContext().getColor(R.color.theme));
                view.setVisibility(View.VISIBLE);
            } else {
                tv.setTextColor(Color.parseColor("#ADADAD"));
                tv.setTextColor(Color.parseColor("#FF999999"));
                view.setVisibility(View.GONE);
            }
        }
app/src/com/hanju/video/app/ui/media/VideoDetailActivity.java
@@ -1017,7 +1017,7 @@
                            }
                            //加载视频广告
                            loadFullVideoAd();
//                            loadFullVideoAd();
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
@@ -1396,7 +1396,7 @@
            fl.setPadding(DimenUtils.dip2px(getApplicationContext(), 8), 0, DimenUtils.dip2px(getApplicationContext(), 8), 0);
            GradientDrawable gd = new GradientDrawable(GradientDrawable.Orientation.LEFT_RIGHT,
                    new int[]{Color.parseColor("#585858"), Color.parseColor("#585858")});
                    new int[]{Color.parseColor("#FF999999"), Color.parseColor("#FF999999")});
            int radius = DimenUtils.dip2px(getApplicationContext(), 5);
            gd.setCornerRadii(new float[]{radius, radius, radius, radius, 0, 0, 0, 0});
            fl.setBackground(gd);
app/src/com/hanju/video/app/ui/recommend/HomeSpecialAdapter.java
@@ -11,6 +11,7 @@
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.bytedance.novel.pangolin.NovelSDK;
import com.hanju.video.app.R;
import com.hanju.video.app.entity.recommend.HomeSpecial;
import com.hanju.video.app.ui.category.MVideosActivity;
@@ -63,13 +64,24 @@
        HomeSpecial homeSpecial = mHomeSpecials.get(position);
        Holder holder = (Holder) convertView.getTag();
        holder.tv_name.setText(homeSpecial.getName());
        Glide.with(context).load(homeSpecial.getIcon()).transform(new GlideCircleTransform(context)).into(holder.iv_icon);
        if (homeSpecial.getName().contains("小说")) {
            //.transform(new GlideCircleTransform(context))
            holder.iv_icon.setImageResource(R.drawable.icon_home_special_novel);
//            Glide.with(context).load(context.getDrawable(R.drawable.icon_home_special_novel)).into(holder.iv_icon);
        } else {
            //.transform(new GlideCircleTransform(context))
            Glide.with(context).load(homeSpecial.getIcon()).into(holder.iv_icon);
        }
        convertView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(context, MVideosActivity.class);
                intent.putExtra("special", homeSpecial);
                context.startActivity(intent);
                if (homeSpecial.getName().contains("小说")) {
                    NovelSDK.INSTANCE.openNovelPage(context);
                } else {
                    Intent intent = new Intent(context, MVideosActivity.class);
                    intent.putExtra("special", homeSpecial);
                    context.startActivity(intent);
                }
            }
        });
app/src/com/hanju/video/app/ui/recommend/RecommendFragment.java
@@ -85,6 +85,7 @@
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Random;
import java.util.Set;
import static com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions.withCrossFade;
@@ -134,6 +135,8 @@
    private View loading;
    private TextView tv_search;
    private int totalCount = 0;
    private Set<String> emptyHomeTypes = new HashSet<>();
@@ -144,6 +147,8 @@
            if (position == 0) {
                getHotStars();
            }
            if (mRecommendNewAdapter != null)
                mRecommendNewAdapter.refresh();
            page = 1;
            //加载广告
            loadAd();
@@ -169,6 +174,33 @@
            fragment.setArguments(bundle);
            return fragment;
        }
    }
    private void getHotSearch() {
        SharedPreferences preferences = getContext().getSharedPreferences("user",
                Context.MODE_PRIVATE);
        String uid = preferences.getString("uid", "");
        HttpApiUtil.getHotSearch(getContext(), uid,
                new BasicTextHttpResponseHandler() {
                    @Override
                    public void onSuccessPerfect(int statusCode,
                                                 Header[] headers, JSONObject jsonObject)
                            throws Exception {
                        if (jsonObject.getBoolean("IsPost")) {
                            Gson gson = new GsonBuilder()
                                    .create();
                            List<String> hotSearchs = gson.fromJson(jsonObject
                                    .getJSONObject("Data").getJSONArray("data")
                                    .toString(), new TypeToken<List<String>>() {
                            }.getType());
                            if (hotSearchs != null && hotSearchs.size() > 0) {
                                Random random = new Random();
                                int p = random.nextInt(hotSearchs.size());
                                tv_search.setText(hotSearchs.get(p));
                            }
                        }
                    }
                });
    }
    @Override
@@ -322,6 +354,9 @@
                    }
                });
        tv_search = contentView.findViewById(R.id.tv_search);
        tv_search.setOnClickListener(this);
        int width = (int) SystemCommon.getScreenWidth(context);
        rl_recommend = contentView.findViewById(R.id.rl_recommend);
@@ -412,6 +447,8 @@
        if (position == 0) {
            getAdRecommendRight();
        }
        getHotSearch();
    }
    private List<ExpressAdContainer> adList;
@@ -563,9 +600,12 @@
        }
        if (gv_special.getAdapter() == null) {
            mHomeSpecialAdapter = new HomeSpecialAdapter(mHomeSpecials, getActivity());
            gv_special.setNumColumns(mHomeSpecials.size());
            gv_special.setAdapter(mHomeSpecialAdapter);
        } else
        } else {
            gv_special.setNumColumns(mHomeSpecials.size());
            mHomeSpecialAdapter.notifyDataSetChanged();
        }
    }
    private void loadCacheData() {
@@ -633,7 +673,7 @@
                    snapshot = cache.get(getKey("getHomeType") + type.getId());
                    if (snapshot != null) {
                        List<HomeType> homeTypes =  JsonUtil.videoGson.fromJson(
                        List<HomeType> homeTypes = JsonUtil.videoGson.fromJson(
                                snapshot.getString(0),
                                new TypeToken<List<HomeType>>() {
                                }.getType());
@@ -657,13 +697,16 @@
                    snapshot = cache.get(getKey("getRecommendSearchSpecial") + type.getId());
                    if (snapshot != null) {
                        List<HomeSpecial> homeSpecials =  JsonUtil.videoGson.fromJson(
                        List<HomeSpecial> homeSpecials = JsonUtil.videoGson.fromJson(
                                snapshot.getString(0),
                                new TypeToken<List<HomeSpecial>>() {
                                }.getType());
                        mHomeSpecials.clear();
                        if (homeSpecials != null) {
                            mHomeSpecials.addAll(homeSpecials);
                            HomeSpecial novel = new HomeSpecial();
                            novel.setName("小说");
                            mHomeSpecials.add(novel);
//                            mRecommendNewAdapter.notifyDataSetChanged();
                        }
                    }
@@ -762,6 +805,12 @@
            }
        }
        if (YouthUtil.isOpenYouthMode(getContext())) {
            tv_search.setVisibility(View.GONE);
        } else {
            tv_search.setVisibility(View.VISIBLE);
        }
    }
@@ -828,7 +877,7 @@
                            throws Exception {
                        if (jsonObject.getBoolean("IsPost")) {
                            List<HomeAd> homeAds =  JsonUtil.videoGson.fromJson(jsonObject
                            List<HomeAd> homeAds = JsonUtil.videoGson.fromJson(jsonObject
                                    .getJSONObject("Data").getJSONArray("data")
                                    .toString(), new TypeToken<List<HomeAd>>() {
                            }.getType());
@@ -879,6 +928,9 @@
                    if (homeSpecials != null) {
                        mHomeSpecials.clear();
                        mHomeSpecials.addAll(homeSpecials);
                        HomeSpecial novel = new HomeSpecial();
                        novel.setName("小说");
                        mHomeSpecials.add(novel);
                    }
                    setHomeSpecialData();
//                    //缓存
@@ -945,7 +997,7 @@
                                List<HomeVideo> homeList = new ArrayList<HomeVideo>();
                                if (homeArray != null && homeArray.length() > 0) {
                                    for (int j = 0; j < homeArray.length(); j++) {
                                        homeList.add( JsonUtil.videoGson.fromJson(homeArray
                                        homeList.add(JsonUtil.videoGson.fromJson(homeArray
                                                        .optJSONObject(j).toString(),
                                                HomeVideo.class));
                                    }
@@ -1024,6 +1076,12 @@
                startActivity(intent);
            }
            break;
            case R.id.tv_search: {
                startActivity(new Intent(getContext(), SearchActivity.class));
            }
            break;
            default:
                break;
        }
@@ -1053,7 +1111,7 @@
                        if (jsonObject.getBoolean("IsPost")) {
                            hotStars.clear();
                            List<HotStar> hotStarList =  JsonUtil.videoGson.fromJson(
                            List<HotStar> hotStarList = JsonUtil.videoGson.fromJson(
                                    jsonObject.getJSONObject("Data")
                                            .getJSONArray("data").toString(),
                                    new TypeToken<List<HotStar>>() {
app/src/com/hanju/video/app/ui/recommend/RecommendNewAdapter.java
@@ -14,6 +14,11 @@
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
import com.bytedance.sdk.dp.DPSdk;
import com.bytedance.sdk.dp.DPWidgetVideoCardParams;
import com.bytedance.sdk.dp.IDPElement;
import com.bytedance.sdk.dp.IDPVideoCardListener;
import com.bytedance.sdk.dp.IDPWidgetFactory;
import com.bytedance.sdk.openadsdk.TTAdDislike;
import com.google.gson.FieldNamingPolicy;
import com.google.gson.Gson;
@@ -45,8 +50,10 @@
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.TreeSet;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.RecyclerView;
public class RecommendNewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
@@ -68,6 +75,11 @@
    private List<View> headerViewList;
    private View footerView;
    //视频卡片
    private FrameLayout mVideoCardLayout;
    private IDPElement mVideoCardElement;
    private TextView mVideoCardTitle;
    public void setHeaderView(List<View> viewList) {
        this.headerViewList = viewList;
@@ -160,6 +172,10 @@
                return new HomeTypeHolder(inflater.inflate(R.layout.item_recommend_home_type, null, false), new RecyclerView.RecycledViewPool());
            case RecommendContent.TYPE_AD:
                return new AdHolder(inflater.inflate(R.layout.item_recommend_home_type_ad, parent, false));
            case RecommendContent.TYPE_DY_VIDEOS:
                loadVideoCard();
                return new DYVideosHolder(inflater.inflate(R.layout.item_recommend_home_dy_videos, parent, false));
        }
        return null;
    }
@@ -176,6 +192,8 @@
        int p = i;
        if (headerViewList != null)
            p -= headerViewList.size();
        p -= (hasDYVideos() ? 1 : 0);
        if (viewHolder instanceof HomeTypeHolder) {
@@ -249,7 +267,7 @@
                                v.getContext().startActivity(intent);
                            } else {
                                VideoType type =  JsonUtil.videoGson.fromJson(homeType.getParams().replace(
                                VideoType type = JsonUtil.videoGson.fromJson(homeType.getParams().replace(
                                        "\\" + "\"", "\""), VideoType.class);
                                try {
                                    intent = new Intent(v.getContext(), Class.forName(homeType.getActivity()));
@@ -275,8 +293,13 @@
            } else {
                holder.ll_container.setVisibility(View.GONE);
            }
        } else if (viewHolder instanceof DYVideosHolder) {
            final DYVideosHolder holder = (DYVideosHolder) viewHolder;
            mVideoCardLayout = holder.fl_container;
            mVideoCardTitle = holder.tv_title;
        }
    }
    @Override
    public int getItemCount() {
@@ -285,6 +308,9 @@
            count += headerViewList.size();
        if (footerView != null)
            count += 1;
        count += (hasDYVideos() ? 1 : 0);
        return count;
    }
@@ -313,14 +339,33 @@
        if (headerViewList != null)
            position -= headerViewList.size();
        if (position >= contentList.size() && footerView != null) {
        if (position >= contentList.size() + (hasDYVideos() ? 1 : 0) && footerView != null) {
            return TYPE_FOOTER;
        }
        if (hasDYVideos() && position == 0) {
            return RecommendContent.TYPE_DY_VIDEOS;
        }
        if (hasDYVideos()) {
            position--;
        }
        if (contentList.get(position) instanceof HomeType)
            return RecommendContent.TYPE_HOMETYPE;
        else
            return RecommendContent.TYPE_AD;
    }
    private boolean hasDYVideos() {
        return AdUtil.isCanInitCSJ();
    }
    public void refresh() {
        loadVideoCard();
    }
    class HomeTypeHolder extends RecyclerView.ViewHolder {
@@ -358,6 +403,23 @@
            ll_container = view.findViewById(R.id.ll_container);
            fl_ad = view.findViewById(R.id.fl_ad);
            rl_title_item = view.findViewById(R.id.rl_title_item);
        }
    }
    class DYVideosHolder extends RecyclerView.ViewHolder {
        FrameLayout fl_container;
        TextView tv_title;
        View view;
        public DYVideosHolder(View view) {
            super(view);
            this.view = view;
            fl_container = view.findViewById(R.id.fl_container);
            tv_title = view.findViewById(R.id.tv_title);
        }
    }
@@ -563,4 +625,144 @@
    }
    private void loadVideoCard() {
        if (!AdUtil.isCanInitCSJ()) {
            return;
        }
        DPWidgetVideoCardParams params = DPWidgetVideoCardParams.obtain()
                .hideTitle(true)
                .listener(new IDPVideoCardListener() {
                    @Override
                    public void onDPItemClick(Map<String, Object> map) {
                        log("onDPItemClick map = " + map.toString());
                    }
                    @Override
                    public void onDPLSwipeEnter() {
                        log("onDPLSwipeEnter");
                    }
                    @Override
                    public void onDPRequestStart(@Nullable Map<String, Object> map) {
                        log("onDPRequestStart");
                    }
                    @Override
                    public void onDPRequestSuccess(List<Map<String, Object>> list) {
                        if (list == null) {
                            return;
                        }
                        for (int i = 0; i < list.size(); i++) {
                            log("onDPRequestSuccess i = " + i + ", map = " + list.get(i).toString());
                        }
                    }
                    @Override
                    public void onDPRequestFail(int code, String msg, @Nullable Map<String, Object> map) {
                        if (map == null) {
                            log("onDPRequestFail code = " + code + ", msg = " + msg);
                            return;
                        }
                        log("onDPRequestFail  code = " + code + ", msg = " + msg + ", map = " + map.toString());
                    }
                    @Override
                    public void onDPClientShow(@Nullable Map<String, Object> map) {
                        log("onDPClientShow");
                    }
                    @Override
                    public void onDPClickAuthorName(Map<String, Object> map) {
                        log("onDPClickAuthorName map = " + map.toString());
                    }
                    @Override
                    public void onDPClickAvatar(Map<String, Object> map) {
                        log("onDPClickAvatar map = " + map.toString());
                    }
                    @Override
                    public void onDPClickComment(Map<String, Object> map) {
                        log("onDPClickComment map = " + map.toString());
                    }
                    @Override
                    public void onDPClickLike(boolean isLike, Map<String, Object> map) {
                        log("onDPClickLike isLike = " + isLike + ", map = " + map.toString());
                    }
                    @Override
                    public void onDPVideoPlay(Map<String, Object> map) {
                        log("onDPVideoPlay map = " + map.toString());
                    }
                    @Override
                    public void onDPVideoPause(Map<String, Object> map) {
                        log("onDPVideoPause map = " + map.toString());
                    }
                    @Override
                    public void onDPVideoContinue(Map<String, Object> map) {
                        log("onDPVideoContinue map = " + map.toString());
                    }
                    @Override
                    public void onDPVideoOver(Map<String, Object> map) {
                        log("onDPVideoOver map = " + map.toString());
                    }
                    @Override
                    public void onDPVideoCompletion(Map<String, Object> map) {
                        log("onDPVideoCompletion map = " + map.toString());
                    }
                })
                .dislikeListener(mContext, new DPWidgetVideoCardParams.IDislikeListener() {
                    @Override
                    public void onSelected(String msg) {
                        // 如果 hideTitle 为 true,可以不做任何处理
                        log("dislike msg = " + msg);
                        if (mVideoCardLayout == null) {
                            return;
                        }
                        mVideoCardLayout.removeAllViews();
                        mVideoCardTitle.setVisibility(View.GONE);
                    }
                });
        DPSdk.factory().loadSmallVideoCard(params, new IDPWidgetFactory.Callback() {
            @Override
            public void onError(int code, String msg) {
                log("onError code = " + code + ", msg = " + msg);
            }
            @Override
            public void onSuccess(IDPElement data) {
                mVideoCardElement = data;
                View view = data.getView();
                if (view == null || mVideoCardLayout == null) {
                    return;
                }
                mVideoCardLayout.removeAllViews();
                ViewGroup viewGroup = (ViewGroup) view.getParent();
                if (viewGroup != null) {
                    viewGroup.removeAllViews();
                }
                mVideoCardLayout.addView(view);
                mVideoCardElement.reportShow();
                mVideoCardTitle.setVisibility(View.VISIBLE);
                notifyDataSetChanged();
            }
        });
    }
    private static void log(String msg) {
        Log.d(TAG, String.valueOf(msg));
    }
}
app/src/com/hanju/video/app/ui/video/SearchResultAdapter.java
@@ -127,7 +127,7 @@
                } else {
                    requestBuilder = Glide.with(mContext).load(pic);
                }
                requestBuilder.transition(withCrossFade()).placeholder(R.color.black).into(albumVideoHolder.iv_picture);
                requestBuilder.transition(withCrossFade()).placeholder(R.drawable.shape_default_cover).into(albumVideoHolder.iv_picture);
            } catch (IllegalArgumentException e) {
                e.printStackTrace();
@@ -226,7 +226,7 @@
            final VideoInfo info = videoContent.getVideo();
            SimpleVideoHolder simpleVideoHolder = (SimpleVideoHolder) holder;
            try {
                Glide.with(mContext).load(info.getPicture()).transition(withCrossFade()).placeholder(R.color.black).into(simpleVideoHolder.iv_movie_cover);
                Glide.with(mContext).load(info.getPicture()).transition(withCrossFade()).placeholder(R.drawable.shape_default_cover).into(simpleVideoHolder.iv_movie_cover);
            } catch (IllegalArgumentException e) {
                e.printStackTrace();
            }
app/src/com/hanju/video/app/ui/video/VideoColumn2Adapter.java
@@ -93,7 +93,7 @@
            super.getItemOffsets(outRect, view, parent, state);
            int index = parent.getChildAdapterPosition(view);
            int total = parent.getAdapter().getItemCount();
            int minWidth = DimenUtils.dipToPixels(2, view.getContext());
            int minWidth = DimenUtils.dipToPixels(3, view.getContext());
            if (index % 2 == 0) {
                outRect.left = 0; //第一列左边贴边
                outRect.right = minWidth;
@@ -137,7 +137,7 @@
            super.getItemOffsets(outRect, view, parent, state);
            int index = parent.getChildAdapterPosition(view);
            int total = parent.getAdapter().getItemCount();
            int minWidth = DimenUtils.dipToPixels(2, view.getContext());
            int minWidth = DimenUtils.dipToPixels(3, view.getContext());
            if (index == 0) {
                outRect.left = minWidth * 2; //第一列左边贴边
                outRect.right = minWidth;
@@ -167,7 +167,7 @@
            super.getItemOffsets(outRect, view, parent, state);
            int index = parent.getChildAdapterPosition(view);
            int total = parent.getAdapter().getItemCount();
            int minWidth = DimenUtils.dipToPixels(4, view.getContext());
            int minWidth = DimenUtils.dipToPixels(2, view.getContext());
            if (index % 3 == 0) {
                outRect.left = 0; //第一列左边贴边
                outRect.right = minWidth * 2;
@@ -204,9 +204,9 @@
    public static int getItemWidth(Activity activity, int column, int padding) {
        int deviceWidth = DimenUtils.getScreenWidth(activity);
        if (column == 3)
            return (deviceWidth - DimenUtils.dip2px(activity, 3 * 2) - padding) / 3;
            return (deviceWidth - DimenUtils.dip2px(activity, 6 * 2) - padding) / 3;
        else if (column == 2)
            return (deviceWidth - DimenUtils.dip2px(activity, 3) - padding) / 2;
            return (deviceWidth - DimenUtils.dip2px(activity, 6) - padding) / 2;
        else
            return (int) (deviceWidth / 2.5f);
    }
app/src/com/hanju/video/app/util/ui/ScrollAppBarLayoutBehavior.java
New file
@@ -0,0 +1,47 @@
package com.hanju.video.app.util.ui;
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import com.google.android.material.appbar.AppBarLayout;
import androidx.coordinatorlayout.widget.CoordinatorLayout;
import androidx.core.view.ViewCompat;
public class ScrollAppBarLayoutBehavior extends  AppBarLayout.Behavior {
    public ScrollAppBarLayoutBehavior() {
        super();
    }
    public ScrollAppBarLayoutBehavior(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
    @Override
    public void onNestedPreScroll(CoordinatorLayout coordinatorLayout, AppBarLayout child,
                                  View target, int dx, int dy, int[] consumed, int type) {
        super.onNestedPreScroll(coordinatorLayout, child, target, dx, dy, consumed, type);
        stopNestedScrollIfNeeded(dy, child, target, type);
    }
    @Override
    public void onNestedScroll(CoordinatorLayout coordinatorLayout, AppBarLayout child, View target,
                               int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed, int type) {
        super.onNestedScroll(coordinatorLayout, child, target, dxConsumed, dyConsumed, dxUnconsumed, dyUnconsumed, type);
        stopNestedScrollIfNeeded(dyUnconsumed, child, target, type);
    }
    private void stopNestedScrollIfNeeded(int dy, AppBarLayout child, View target, int type) {
        if (type == ViewCompat.TYPE_NON_TOUCH) {
            final int currOffset = getTopAndBottomOffset();
            if ((dy < 0 && currOffset == 0) || (dy > 0 && currOffset == -child.getTotalScrollRange())) {
                ViewCompat.stopNestedScroll(target, ViewCompat.TYPE_NON_TOUCH);
            }
        }
    }
}
app/src/com/hanju/video/app/util/ui/StatusBarUtil.java
@@ -28,4 +28,19 @@
    }
    public static int getStatusBarHeight(Activity context) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            int result = 0;
            int resourceId = context.getResources().getIdentifier("status_bar_height",
                    "dimen", "android");
            if (resourceId > 0) {
                result = context.getResources().getDimensionPixelSize(resourceId);
            }
            return result;
        } else {
            return 0;
        }
    }
}
library-mine/src/com/hanju/lib/library/util/FragmentSwitchHelperV2.java
New file
@@ -0,0 +1,81 @@
package com.hanju.lib.library.util;
import android.util.Log;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
public class FragmentSwitchHelperV2 {
    private static final String TAG = "FragmentSwitchHelper";
    public FragmentManager mFragmentManager;
    private Fragment[] mFragments;
    private Fragment mCurrentFragment;
    private int mContainerId;
    public Fragment getFragmentByName(String name) {
        if (mFragments == null || mFragments.length == 0)
            return null;
        for (Fragment m : mFragments)
            if (name.contains(m.getClass().getName())) {
                return m;
            }
        return null;
    }
    public static FragmentSwitchHelperV2 create(int containerId,
                                                FragmentManager fragmentManager, Fragment... fragments) {
        return new FragmentSwitchHelperV2(containerId, fragmentManager, fragments);
    }
    private FragmentSwitchHelperV2(int containerId,
                                   FragmentManager fragmentManager, Fragment... fragments) {
        this.mContainerId = containerId;
        this.mFragments = fragments;
        this.mFragmentManager = fragmentManager;
    }
    public void changeFragment(Class<? extends Fragment> replaceFragmentClass) {
        if (!mFragmentManager.isDestroyed()) {
            Fragment replaceFragment = mFragmentManager
                    .findFragmentByTag(replaceFragmentClass.getName());
            if (mCurrentFragment == replaceFragment && mCurrentFragment != null) {
                Log.d(TAG, "changeFragment noChange ");
                return;
            }
            FragmentTransaction fragmentTransaction = mFragmentManager
                    .beginTransaction();
            if (mCurrentFragment != null) {
                fragmentTransaction.hide(mCurrentFragment);
                Log.d(TAG, "changeFragment detach "
                        + mCurrentFragment.getClass().getName());
            }
            if (replaceFragment == null) {
                for (Fragment item : mFragments) {
                    if (item.getClass().getName()
                            .equals(replaceFragmentClass.getName())) {
                        replaceFragment = item;
                        break;
                    }
                }
                fragmentTransaction.add(mContainerId, replaceFragment,
                        replaceFragmentClass.getName());
                mCurrentFragment = replaceFragment;
                Log.d(TAG,
                        "changeFragment add " + replaceFragmentClass.getName());
            } else {
                fragmentTransaction.show(replaceFragment);
                mCurrentFragment = replaceFragment;
                Log.d(TAG,
                        "changeFragment attach "
                                + replaceFragmentClass.getName());
            }
            fragmentTransaction.commitAllowingStateLoss();
        }
    }
}