Merge branch '6.8.2' into dev_poyo_6.8.3

# Conflicts:
#	app/src/main/java/com/shayu/phonelive/activity/LauncherActivity.java
#	app/src/main/res/mipmap-hdpi/ic_launcher.png
#	app/src/main/res/mipmap-mdpi/ic_launcher.png
#	app/src/main/res/mipmap-xhdpi/ic_launcher.png
#	app/src/main/res/mipmap-xxhdpi/ic_launcher.png
#	app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
#	app/src/samsung_test/google-services.json
#	common/src/main/java/com/yunbao/common/utils/MicStatusManager.java
#	common/src/main/java/com/yunbao/common/utils/RouteUtil.java
#	common/src/main/res/mipmap-hdpi/face_001.webp
#	common/src/main/res/mipmap-hdpi/face_002.webp
#	common/src/main/res/mipmap-hdpi/face_003.webp
#	common/src/main/res/mipmap-hdpi/face_004.webp
#	common/src/main/res/mipmap-hdpi/face_005.webp
#	common/src/main/res/mipmap-hdpi/face_006.webp
#	common/src/main/res/mipmap-hdpi/face_007.webp
#	common/src/main/res/mipmap-hdpi/face_008.webp
#	common/src/main/res/mipmap-hdpi/face_009.webp
#	common/src/main/res/mipmap-hdpi/face_010.webp
#	common/src/main/res/mipmap-hdpi/face_011.webp
#	common/src/main/res/mipmap-hdpi/face_012.webp
#	common/src/main/res/mipmap-hdpi/face_013.webp
#	common/src/main/res/mipmap-hdpi/face_014.webp
#	common/src/main/res/mipmap-hdpi/face_015.webp
#	common/src/main/res/mipmap-hdpi/face_016.webp
#	common/src/main/res/mipmap-hdpi/face_017.webp
#	common/src/main/res/mipmap-hdpi/face_018.webp
#	common/src/main/res/mipmap-hdpi/face_019.webp
#	common/src/main/res/mipmap-hdpi/face_020.webp
#	common/src/main/res/mipmap-hdpi/face_021.webp
#	common/src/main/res/mipmap-hdpi/face_022.webp
#	common/src/main/res/mipmap-hdpi/face_023.webp
#	common/src/main/res/mipmap-hdpi/face_024.webp
#	common/src/main/res/mipmap-hdpi/face_025.webp
#	common/src/main/res/mipmap-hdpi/face_026.webp
#	common/src/main/res/mipmap-hdpi/face_027.webp
#	common/src/main/res/mipmap-hdpi/face_028.webp
#	common/src/main/res/mipmap-hdpi/face_029.webp
#	common/src/main/res/mipmap-hdpi/face_030.webp
#	common/src/main/res/mipmap-hdpi/face_031.webp
#	common/src/main/res/mipmap-hdpi/face_032.webp
#	common/src/main/res/mipmap-hdpi/face_033.webp
#	common/src/main/res/mipmap-hdpi/face_034.webp
#	common/src/main/res/mipmap-hdpi/face_035.webp
#	common/src/main/res/mipmap-hdpi/face_036.webp
#	common/src/main/res/mipmap-hdpi/face_037.webp
#	common/src/main/res/mipmap-hdpi/face_038.webp
#	common/src/main/res/mipmap-hdpi/face_039.webp
#	common/src/main/res/mipmap-hdpi/face_040.webp
#	common/src/main/res/mipmap-hdpi/face_041.webp
#	common/src/main/res/mipmap-hdpi/face_042.webp
#	common/src/main/res/mipmap-hdpi/face_043.webp
#	common/src/main/res/mipmap-hdpi/face_044.webp
#	common/src/main/res/mipmap-hdpi/face_045.webp
#	common/src/main/res/mipmap-hdpi/face_046.webp
#	common/src/main/res/mipmap-hdpi/face_047.webp
#	common/src/main/res/mipmap-hdpi/face_048.webp
#	common/src/main/res/mipmap-hdpi/face_049.webp
#	common/src/main/res/mipmap-hdpi/face_050.webp
#	common/src/main/res/mipmap-hdpi/face_051.webp
#	common/src/main/res/mipmap-hdpi/face_052.webp
#	common/src/main/res/mipmap-hdpi/face_053.webp
#	common/src/main/res/mipmap-hdpi/face_054.webp
#	common/src/main/res/mipmap-hdpi/face_055.webp
#	common/src/main/res/mipmap-hdpi/face_056.webp
#	common/src/main/res/mipmap-hdpi/face_057.webp
#	common/src/main/res/mipmap-hdpi/face_058.webp
#	common/src/main/res/mipmap-hdpi/face_059.webp
#	common/src/main/res/mipmap-hdpi/face_060.webp
#	common/src/main/res/mipmap-hdpi/face_061.webp
#	common/src/main/res/mipmap-hdpi/face_062.webp
#	common/src/main/res/mipmap-hdpi/face_063.webp
#	common/src/main/res/mipmap-hdpi/face_064.webp
#	common/src/main/res/mipmap-hdpi/face_065.webp
#	common/src/main/res/mipmap-hdpi/face_066.webp
#	common/src/main/res/mipmap-hdpi/face_067.webp
#	common/src/main/res/mipmap-hdpi/face_068.webp
#	common/src/main/res/mipmap-hdpi/face_069.webp
#	common/src/main/res/mipmap-hdpi/face_070.webp
#	common/src/main/res/mipmap-hdpi/face_071.webp
#	common/src/main/res/mipmap-hdpi/face_072.webp
#	common/src/main/res/mipmap-hdpi/face_073.webp
#	common/src/main/res/mipmap-hdpi/face_074.webp
#	common/src/main/res/mipmap-hdpi/face_075.webp
#	common/src/main/res/mipmap-hdpi/face_076.webp
#	common/src/main/res/mipmap-hdpi/face_077.webp
#	common/src/main/res/mipmap-hdpi/face_078.webp
#	common/src/main/res/mipmap-hdpi/face_079.webp
#	common/src/main/res/mipmap-hdpi/face_080.webp
#	common/src/main/res/mipmap-hdpi/face_081.webp
#	common/src/main/res/mipmap-hdpi/face_082.webp
#	common/src/main/res/mipmap-hdpi/face_083.webp
#	common/src/main/res/mipmap-hdpi/face_084.webp
#	common/src/main/res/mipmap-hdpi/face_085.webp
#	common/src/main/res/mipmap-hdpi/face_086.webp
#	common/src/main/res/mipmap-hdpi/face_087.webp
#	common/src/main/res/mipmap-hdpi/face_088.webp
#	common/src/main/res/mipmap-hdpi/face_089.webp
#	common/src/main/res/mipmap-hdpi/face_090.webp
#	common/src/main/res/mipmap-hdpi/face_091.webp
#	common/src/main/res/mipmap-hdpi/face_092.webp
#	common/src/main/res/mipmap-hdpi/face_093.webp
#	common/src/main/res/mipmap-hdpi/face_094.webp
#	common/src/main/res/mipmap-hdpi/face_095.webp
#	common/src/main/res/mipmap-hdpi/face_096.webp
#	common/src/main/res/mipmap-hdpi/face_097.webp
#	common/src/main/res/mipmap-hdpi/face_098.webp
#	common/src/main/res/mipmap-hdpi/face_099.webp
#	common/src/main/res/mipmap-hdpi/face_100.webp
#	common/src/main/res/mipmap-hdpi/face_101.webp
#	common/src/main/res/mipmap-hdpi/face_102.webp
#	common/src/main/res/mipmap-hdpi/face_103.webp
#	common/src/main/res/mipmap-hdpi/icon_microphone.webp
#	common/src/main/res/mipmap-hdpi/icon_pd_pao.webp
#	common/src/main/res/mipmap-xhdpi/sub_1.webp
#	common/src/main/res/mipmap-xhdpi/sub_2.webp
#	common/src/main/res/mipmap-xhdpi/sub_3.webp
#	common/src/main/res/mipmap-xhdpi/sub_again_en.webp
#	common/src/main/res/mipmap-xhdpi/sub_again_zh.webp
#	common/src/main/res/mipmap-xhdpi/sub_bg.webp
#	common/src/main/res/mipmap-xhdpi/sub_bg2.webp
#	common/src/main/res/mipmap-xhdpi/sub_draw_en.webp
#	common/src/main/res/mipmap-xhdpi/sub_draw_zh.webp
#	common/src/main/res/mipmap-xhdpi/sub_leave_en.webp
#	common/src/main/res/mipmap-xhdpi/sub_leave_zh.webp
#	common/src/main/res/mipmap-xhdpi/sub_loss_en.webp
#	common/src/main/res/mipmap-xhdpi/sub_loss_zh.webp
#	common/src/main/res/mipmap-xhdpi/sub_over_en.webp
#	common/src/main/res/mipmap-xhdpi/sub_over_zh.webp
#	common/src/main/res/mipmap-xhdpi/sub_vs.webp
#	common/src/main/res/mipmap-xhdpi/sub_win_en.webp
#	common/src/main/res/mipmap-xhdpi/sub_win_hat.webp
#	common/src/main/res/mipmap-xhdpi/sub_win_zh.webp
#	common/src/main/res/mipmap-xhdpi/sud_load_bg_double.webp
#	common/src/main/res/mipmap-xhdpi/sud_load_bg_multiple.webp
#	common/src/main/res/mipmap-xhdpi/sud_load_double.webp
#	common/src/main/res/mipmap-xhdpi/sud_load_en.webp
#	common/src/main/res/mipmap-xhdpi/sud_load_multiple.webp
#	common/src/main/res/mipmap-xhdpi/sud_load_skip_en.webp
#	common/src/main/res/mipmap-xhdpi/sud_load_skip_zh.webp
#	common/src/main/res/mipmap-xhdpi/sud_load_zh.webp
#	common/src/main/res/mipmap-xxhdpi/back_slice_367.webp
#	common/src/main/res/mipmap-xxhdpi/backgroud_sud_game_small_window.webp
#	common/src/main/res/mipmap-xxhdpi/background_all_server_notify_god_zh.webp
#	common/src/main/res/mipmap-xxhdpi/background_all_server_notify_king_en.webp
#	common/src/main/res/mipmap-xxhdpi/background_all_server_notify_king_zh.webp
#	common/src/main/res/mipmap-xxhdpi/background_all_server_notify_sgod_en.webp
#	common/src/main/res/mipmap-xxhdpi/background_all_server_notify_star_en.webp
#	common/src/main/res/mipmap-xxhdpi/background_all_server_notify_star_zh.webp
#	common/src/main/res/mipmap-xxhdpi/background_dragon_rule.webp
#	common/src/main/res/mipmap-xxhdpi/background_dragon_sends_money.webp
#	common/src/main/res/mipmap-xxhdpi/background_gift_already_wall.webp
#	common/src/main/res/mipmap-xxhdpi/background_gift_wall.webp
#	common/src/main/res/mipmap-xxhdpi/background_gift_wall_item.webp
#	common/src/main/res/mipmap-xxhdpi/background_gift_wall_lock.webp
#	common/src/main/res/mipmap-xxhdpi/background_gift_wall_masking.webp
#	common/src/main/res/mipmap-xxhdpi/background_gift_without_wall.webp
#	common/src/main/res/mipmap-xxhdpi/background_guard_upgrade.webp
#	common/src/main/res/mipmap-xxhdpi/background_guarding_the_anchor.webp
#	common/src/main/res/mipmap-xxhdpi/background_home_sud_game_list.webp
#	common/src/main/res/mipmap-xxhdpi/background_live_gift_gift_itle.webp
#	common/src/main/res/mipmap-xxhdpi/background_medal_achievement.webp
#	common/src/main/res/mipmap-xxhdpi/background_quick_gift_reminder.webp
#	common/src/main/res/mipmap-xxhdpi/background_sud_game_float.webp
#	common/src/main/res/mipmap-xxhdpi/background_sud_game_list.webp
#	common/src/main/res/mipmap-xxhdpi/background_sud_history.webp
#	common/src/main/res/mipmap-xxhdpi/background_view_dragon_send_money_list.webp
#	common/src/main/res/mipmap-xxhdpi/background_wish_item.webp
#	common/src/main/res/mipmap-xxhdpi/bg_blind_bottom.webp
#	common/src/main/res/mipmap-xxhdpi/bg_day_wish.webp
#	common/src/main/res/mipmap-xxhdpi/bg_dialog_battlepass_btn.webp
#	common/src/main/res/mipmap-xxhdpi/bg_dialog_battlepass_exchange.webp
#	common/src/main/res/mipmap-xxhdpi/bg_dialog_gift_wall_main_tab1_tips.webp
#	common/src/main/res/mipmap-xxhdpi/bg_float_red_packet.webp
#	common/src/main/res/mipmap-xxhdpi/bg_game_list_activity_top.webp
#	common/src/main/res/mipmap-xxhdpi/bg_gift_completely.webp
#	common/src/main/res/mipmap-xxhdpi/bg_gift_wall_main_achievement.webp
#	common/src/main/res/mipmap-xxhdpi/bg_gift_wall_main_root.webp
#	common/src/main/res/mipmap-xxhdpi/bg_gift_wall_main_root2.webp
#	common/src/main/res/mipmap-xxhdpi/bg_live_sign.webp
#	common/src/main/res/mipmap-xxhdpi/bg_live_sud_game_back_new2.webp
#	common/src/main/res/mipmap-xxhdpi/bg_lunar_wish.webp
#	common/src/main/res/mipmap-xxhdpi/bg_lwhqz.webp
#	common/src/main/res/mipmap-xxhdpi/bg_main_item_bottom.webp
#	common/src/main/res/mipmap-xxhdpi/bg_seasonal_wish.webp
#	common/src/main/res/mipmap-xxhdpi/bg_trickery_top.webp
#	common/src/main/res/mipmap-xxhdpi/bg_xyd_button.webp
#	common/src/main/res/mipmap-xxhdpi/bg_zg.webp
#	common/src/main/res/mipmap-xxhdpi/btn_god_guard.webp
#	common/src/main/res/mipmap-xxhdpi/btn_god_guard_onlookers.webp
#	common/src/main/res/mipmap-xxhdpi/btn_golive.webp
#	common/src/main/res/mipmap-xxhdpi/btn_icon_quit.webp
#	common/src/main/res/mipmap-xxhdpi/btn_king_guard.webp
#	common/src/main/res/mipmap-xxhdpi/btn_king_guard_onlookers.webp
#	common/src/main/res/mipmap-xxhdpi/btn_more_black.webp
#	common/src/main/res/mipmap-xxhdpi/btn_star_guard.webp
#	common/src/main/res/mipmap-xxhdpi/btn_star_guard_onlookers.webp
#	common/src/main/res/mipmap-xxhdpi/button_buying_experience.webp
#	common/src/main/res/mipmap-xxhdpi/button_enjoy.webp
#	common/src/main/res/mipmap-xxhdpi/button_liberal_battle_cancel.webp
#	common/src/main/res/mipmap-xxhdpi/button_liberal_battle_sure.webp
#	common/src/main/res/mipmap-xxhdpi/button_quintessence.webp
#	common/src/main/res/mipmap-xxhdpi/button_war_order.webp
#	common/src/main/res/mipmap-xxhdpi/dialog_gift_wall_achieve.webp
#	common/src/main/res/mipmap-xxhdpi/dialog_gift_wall_achieve_top_bg.webp
#	common/src/main/res/mipmap-xxhdpi/dialog_gift_wall_achieve_top_icon.webp
#	common/src/main/res/mipmap-xxhdpi/dialog_gift_wall_achieve_wear_bg.webp
#	common/src/main/res/mipmap-xxhdpi/dialog_gift_wall_achieve_wear_cancel.webp
#	common/src/main/res/mipmap-xxhdpi/dialog_gift_wall_achieve_wear_item_bg.webp
#	common/src/main/res/mipmap-xxhdpi/dialog_gift_wall_achieve_wear_item_unlock.webp
#	common/src/main/res/mipmap-xxhdpi/dialog_gift_wall_back.webp
#	common/src/main/res/mipmap-xxhdpi/dialog_gift_wall_more.webp
#	common/src/main/res/mipmap-xxhdpi/dialog_gift_wall_tab2_list2_bg.webp
#	common/src/main/res/mipmap-xxhdpi/gift_wall_gift_info_bg.webp
#	common/src/main/res/mipmap-xxhdpi/gift_wall_gift_info_botton.webp
#	common/src/main/res/mipmap-xxhdpi/gift_wall_gift_info_light.webp
#	common/src/main/res/mipmap-xxhdpi/gift_wall_gift_info_list_time.webp
#	common/src/main/res/mipmap-xxhdpi/gift_wall_hide.webp
#	common/src/main/res/mipmap-xxhdpi/gift_wall_main_item_bg.webp
#	common/src/main/res/mipmap-xxhdpi/gift_wall_main_item_bg1.webp
#	common/src/main/res/mipmap-xxhdpi/gift_wall_main_item_select.webp
#	common/src/main/res/mipmap-xxhdpi/gift_wall_main_item_select1.webp
#	common/src/main/res/mipmap-xxhdpi/gift_wall_main_item_unselect.webp
#	common/src/main/res/mipmap-xxhdpi/gift_wall_main_item_unselect1.webp
#	common/src/main/res/mipmap-xxhdpi/gift_wall_main_list_bottom.webp
#	common/src/main/res/mipmap-xxhdpi/gift_wall_main_list_top.webp
#	common/src/main/res/mipmap-xxhdpi/gift_wall_main_tab1_down_bg.webp
#	common/src/main/res/mipmap-xxhdpi/gift_wall_main_tab1_down_ic.webp
#	common/src/main/res/mipmap-xxhdpi/gift_wall_tab2_classic_info_avatar1.webp
#	common/src/main/res/mipmap-xxhdpi/gift_wall_tab2_classic_info_avatar2.webp
#	common/src/main/res/mipmap-xxhdpi/gift_wall_tab2_classic_info_bg.webp
#	common/src/main/res/mipmap-xxhdpi/gift_wall_tab2_classic_info_bg_one.webp
#	common/src/main/res/mipmap-xxhdpi/gift_wall_tab2_classic_info_bg_three.webp
#	common/src/main/res/mipmap-xxhdpi/gift_wall_tab2_classic_info_bg_two.webp
#	common/src/main/res/mipmap-xxhdpi/gift_wall_tab2_classic_info_one.webp
#	common/src/main/res/mipmap-xxhdpi/gift_wall_tab2_classic_info_star.webp
#	common/src/main/res/mipmap-xxhdpi/gift_wall_tab2_classic_info_three.webp
#	common/src/main/res/mipmap-xxhdpi/gift_wall_tab2_classic_info_tips.webp
#	common/src/main/res/mipmap-xxhdpi/gift_wall_tab2_classic_info_twwo.webp
#	common/src/main/res/mipmap-xxhdpi/gift_wall_tab2_item_bg1.webp
#	common/src/main/res/mipmap-xxhdpi/gift_wall_tab2_item_bg2.webp
#	common/src/main/res/mipmap-xxhdpi/gift_wall_tab2_item_icon1.webp
#	common/src/main/res/mipmap-xxhdpi/guard_buy_tips_cancel_bg.webp
#	common/src/main/res/mipmap-xxhdpi/ic_custom_share.webp
#	common/src/main/res/mipmap-xxhdpi/ic_game_activity_rank_coin.webp
#	common/src/main/res/mipmap-xxhdpi/ic_game_ticket.webp
#	common/src/main/res/mipmap-xxhdpi/ic_gift_wall_time.webp
#	common/src/main/res/mipmap-xxhdpi/ic_gift_wall_time2.webp
#	common/src/main/res/mipmap-xxhdpi/ic_home_game_search.webp
#	common/src/main/res/mipmap-xxhdpi/ic_integral.webp
#	common/src/main/res/mipmap-xxhdpi/ic_live_fun_anchor_letter.webp
#	common/src/main/res/mipmap-xxhdpi/ic_live_fun_anchor_say.webp
#	common/src/main/res/mipmap-xxhdpi/ic_prank_gift_add_gift_to.webp
#	common/src/main/res/mipmap-xxhdpi/ic_prank_gift_del.webp
#	common/src/main/res/mipmap-xxhdpi/ic_prank_gift_switch.webp
#	common/src/main/res/mipmap-xxhdpi/ic_zl_rule.webp
#	common/src/main/res/mipmap-xxhdpi/icon_012x.webp
#	common/src/main/res/mipmap-xxhdpi/icon_013x.webp
#	common/src/main/res/mipmap-xxhdpi/icon_022x.webp
#	common/src/main/res/mipmap-xxhdpi/icon_032x.webp
#	common/src/main/res/mipmap-xxhdpi/icon_042x.webp
#	common/src/main/res/mipmap-xxhdpi/icon_052x.webp
#	common/src/main/res/mipmap-xxhdpi/icon_activate_the_elite_battle_order.webp
#	common/src/main/res/mipmap-xxhdpi/icon_aristocrat_tip.webp
#	common/src/main/res/mipmap-xxhdpi/icon_attention_noanchor.webp
#	common/src/main/res/mipmap-xxhdpi/icon_bfsz.webp
#	common/src/main/res/mipmap-xxhdpi/icon_bg_king_guard_open.webp
#	common/src/main/res/mipmap-xxhdpi/icon_bg_star_guard_open.webp
#	common/src/main/res/mipmap-xxhdpi/icon_cancel.webp
#	common/src/main/res/mipmap-xxhdpi/icon_change.webp
#	common/src/main/res/mipmap-xxhdpi/icon_close.webp
#	common/src/main/res/mipmap-xxhdpi/icon_close_tip.webp
#	common/src/main/res/mipmap-xxhdpi/icon_collectibles.webp
#	common/src/main/res/mipmap-xxhdpi/icon_combo.webp
#	common/src/main/res/mipmap-xxhdpi/icon_create_sud_game.webp
#	common/src/main/res/mipmap-xxhdpi/icon_cry_face.webp
#	common/src/main/res/mipmap-xxhdpi/icon_diamond.webp
#	common/src/main/res/mipmap-xxhdpi/icon_diamond2.webp
#	common/src/main/res/mipmap-xxhdpi/icon_dragon_close.webp
#	common/src/main/res/mipmap-xxhdpi/icon_dragon_rule.webp
#	common/src/main/res/mipmap-xxhdpi/icon_empty_parcel.webp
#	common/src/main/res/mipmap-xxhdpi/icon_enjoy_image.webp
#	common/src/main/res/mipmap-xxhdpi/icon_established_nobility.webp
#	common/src/main/res/mipmap-xxhdpi/icon_female_default.webp
#	common/src/main/res/mipmap-xxhdpi/icon_female_highlight.webp
#	common/src/main/res/mipmap-xxhdpi/icon_fhd.webp
#	common/src/main/res/mipmap-xxhdpi/icon_game_close_wheat.webp
#	common/src/main/res/mipmap-xxhdpi/icon_game_close_wheat_mute.webp
#	common/src/main/res/mipmap-xxhdpi/icon_game_hang_up.webp
#	common/src/main/res/mipmap-xxhdpi/icon_game_hang_up_en.webp
#	common/src/main/res/mipmap-xxhdpi/icon_game_open_wheat.webp
#	common/src/main/res/mipmap-xxhdpi/icon_game_review_input.webp
#	common/src/main/res/mipmap-xxhdpi/icon_game_seat.webp
#	common/src/main/res/mipmap-xxhdpi/icon_game_seat_en.webp
#	common/src/main/res/mipmap-xxhdpi/icon_game_status.webp
#	common/src/main/res/mipmap-xxhdpi/icon_general_message.webp
#	common/src/main/res/mipmap-xxhdpi/icon_general_message_p.webp
#	common/src/main/res/mipmap-xxhdpi/icon_gift_wall.webp
#	common/src/main/res/mipmap-xxhdpi/icon_gift_wall_main_switch_full.webp
#	common/src/main/res/mipmap-xxhdpi/icon_gift_wall_main_switch_main.webp
#	common/src/main/res/mipmap-xxhdpi/icon_gift_wall_main_tips.webp
#	common/src/main/res/mipmap-xxhdpi/icon_gift_wall_main_tips2.webp
#	common/src/main/res/mipmap-xxhdpi/icon_god_guard_open.webp
#	common/src/main/res/mipmap-xxhdpi/icon_grade_angle_mark.webp
#	common/src/main/res/mipmap-xxhdpi/icon_guard_rule.webp
#	common/src/main/res/mipmap-xxhdpi/icon_guardian_task.webp
#	common/src/main/res/mipmap-xxhdpi/icon_hd.webp
#	common/src/main/res/mipmap-xxhdpi/icon_home_interactive_game_add.webp
#	common/src/main/res/mipmap-xxhdpi/icon_home_interactive_game_arrow.webp
#	common/src/main/res/mipmap-xxhdpi/icon_home_interactive_game_ranking.webp
#	common/src/main/res/mipmap-xxhdpi/icon_home_interactive_game_search.webp
#	common/src/main/res/mipmap-xxhdpi/icon_horizontally.webp
#	common/src/main/res/mipmap-xxhdpi/icon_interactive_game__add.webp
#	common/src/main/res/mipmap-xxhdpi/icon_interactive_game__ranking.webp
#	common/src/main/res/mipmap-xxhdpi/icon_interactive_game__search.webp
#	common/src/main/res/mipmap-xxhdpi/icon_interactive_game_arrow.webp
#	common/src/main/res/mipmap-xxhdpi/icon_interactive_game_create_room_back.webp
#	common/src/main/res/mipmap-xxhdpi/icon_interactive_game_create_room_seats.webp
#	common/src/main/res/mipmap-xxhdpi/icon_interactive_game_room_random_start.webp
#	common/src/main/res/mipmap-xxhdpi/icon_leave_p.webp
#	common/src/main/res/mipmap-xxhdpi/icon_live.webp
#	common/src/main/res/mipmap-xxhdpi/icon_live_dragon_money.webp
#	common/src/main/res/mipmap-xxhdpi/icon_live_gift_2.webp
#	common/src/main/res/mipmap-xxhdpi/icon_live_gift_gift_itle.webp
#	common/src/main/res/mipmap-xxhdpi/icon_live_gift_gift_itle_en.webp
#	common/src/main/res/mipmap-xxhdpi/icon_live_random_pk.webp
#	common/src/main/res/mipmap-xxhdpi/icon_live_type_normal_1.webp
#	common/src/main/res/mipmap-xxhdpi/icon_live_type_normal_2.webp
#	common/src/main/res/mipmap-xxhdpi/icon_live_type_pay_1.webp
#	common/src/main/res/mipmap-xxhdpi/icon_live_type_pay_2.webp
#	common/src/main/res/mipmap-xxhdpi/icon_live_type_pwd_1.webp
#	common/src/main/res/mipmap-xxhdpi/icon_live_type_pwd_2.webp
#	common/src/main/res/mipmap-xxhdpi/icon_live_type_time_1.webp
#	common/src/main/res/mipmap-xxhdpi/icon_live_type_time_2.webp
#	common/src/main/res/mipmap-xxhdpi/icon_love.webp
#	common/src/main/res/mipmap-xxhdpi/icon_love_message.webp
#	common/src/main/res/mipmap-xxhdpi/icon_male_default.webp
#	common/src/main/res/mipmap-xxhdpi/icon_male_highlighted.webp
#	common/src/main/res/mipmap-xxhdpi/icon_message_copy.webp
#	common/src/main/res/mipmap-xxhdpi/icon_message_quote.webp
#	common/src/main/res/mipmap-xxhdpi/icon_message_withdraw.webp
#	common/src/main/res/mipmap-xxhdpi/icon_min_game.webp
#	common/src/main/res/mipmap-xxhdpi/icon_min_game_new.webp
#	common/src/main/res/mipmap-xxhdpi/icon_more.webp
#	common/src/main/res/mipmap-xxhdpi/icon_more_01.webp
#	common/src/main/res/mipmap-xxhdpi/icon_more_02.webp
#	common/src/main/res/mipmap-xxhdpi/icon_more_down.webp
#	common/src/main/res/mipmap-xxhdpi/icon_more_open.webp
#	common/src/main/res/mipmap-xxhdpi/icon_more_up.webp
#	common/src/main/res/mipmap-xxhdpi/icon_new_game.webp
#	common/src/main/res/mipmap-xxhdpi/icon_open_chaohuang.webp
#	common/src/main/res/mipmap-xxhdpi/icon_open_gongjue.webp
#	common/src/main/res/mipmap-xxhdpi/icon_open_guowang.webp
#	common/src/main/res/mipmap-xxhdpi/icon_open_houjue.webp
#	common/src/main/res/mipmap-xxhdpi/icon_open_huangdi.webp
#	common/src/main/res/mipmap-xxhdpi/icon_open_nanjue.webp
#	common/src/main/res/mipmap-xxhdpi/icon_open_zijue.webp
#	common/src/main/res/mipmap-xxhdpi/icon_order_rule.webp
#	common/src/main/res/mipmap-xxhdpi/icon_order_rule_close.webp
#	common/src/main/res/mipmap-xxhdpi/icon_order_score.webp
#	common/src/main/res/mipmap-xxhdpi/icon_participate.webp
#	common/src/main/res/mipmap-xxhdpi/icon_popup_screen.webp
#	common/src/main/res/mipmap-xxhdpi/icon_popup_screen_p.webp
#	common/src/main/res/mipmap-xxhdpi/icon_protocol_check.webp
#	common/src/main/res/mipmap-xxhdpi/icon_protocol_uncheck.webp
#	common/src/main/res/mipmap-xxhdpi/icon_red_packet_float_text_en.webp
#	common/src/main/res/mipmap-xxhdpi/icon_red_packet_float_text_zh.webp
#	common/src/main/res/mipmap-xxhdpi/icon_regular_black.webp
#	common/src/main/res/mipmap-xxhdpi/icon_right.webp
#	common/src/main/res/mipmap-xxhdpi/icon_robot.webp
#	common/src/main/res/mipmap-xxhdpi/icon_sd.webp
#	common/src/main/res/mipmap-xxhdpi/icon_selected.webp
#	common/src/main/res/mipmap-xxhdpi/icon_send_benefits.webp
#	common/src/main/res/mipmap-xxhdpi/icon_send_game.webp
#	common/src/main/res/mipmap-xxhdpi/icon_sex_man.webp
#	common/src/main/res/mipmap-xxhdpi/icon_sex_woman.webp
#	common/src/main/res/mipmap-xxhdpi/icon_slice_368.webp
#	common/src/main/res/mipmap-xxhdpi/icon_smiling_face.webp
#	common/src/main/res/mipmap-xxhdpi/icon_ssssbbbbbsd.webp
#	common/src/main/res/mipmap-xxhdpi/icon_star_guardian_medal_grey.webp
#	common/src/main/res/mipmap-xxhdpi/icon_start.webp
#	common/src/main/res/mipmap-xxhdpi/icon_start_number.webp
#	common/src/main/res/mipmap-xxhdpi/icon_sud_game_min.webp
#	common/src/main/res/mipmap-xxhdpi/icon_sud_history.webp
#	common/src/main/res/mipmap-xxhdpi/icon_sud_history_back.webp
#	common/src/main/res/mipmap-xxhdpi/icon_sud_history_live.webp
#	common/src/main/res/mipmap-xxhdpi/icon_sud_history_live2.webp
#	common/src/main/res/mipmap-xxhdpi/icon_sud_history_live_new.webp
#	common/src/main/res/mipmap-xxhdpi/icon_sud_no_data.webp
#	common/src/main/res/mipmap-xxhdpi/icon_sud_rule.webp
#	common/src/main/res/mipmap-xxhdpi/icon_sud_rule_bottom.webp
#	common/src/main/res/mipmap-xxhdpi/icon_sud_rule_close.webp
#	common/src/main/res/mipmap-xxhdpi/icon_sud_rule_close_bottom.webp
#	common/src/main/res/mipmap-xxhdpi/icon_tip.webp
#	common/src/main/res/mipmap-xxhdpi/icon_user_card_t1.webp
#	common/src/main/res/mipmap-xxhdpi/icon_user_card_t2.webp
#	common/src/main/res/mipmap-xxhdpi/icon_user_game_living.webp
#	common/src/main/res/mipmap-xxhdpi/icon_user_home_edit.webp
#	common/src/main/res/mipmap-xxhdpi/icon_vacancy_sud_game.webp
#	common/src/main/res/mipmap-xxhdpi/icon_vacant_position_awaits.webp
#	common/src/main/res/mipmap-xxhdpi/icon_voice.webp
#	common/src/main/res/mipmap-xxhdpi/icon_war_order_diamond.webp
#	common/src/main/res/mipmap-xxhdpi/icon_war_order_gift.webp
#	common/src/main/res/mipmap-xxhdpi/icon_weekstar.webp
#	common/src/main/res/mipmap-xxhdpi/icon_what.webp
#	common/src/main/res/mipmap-xxhdpi/icon_wish_anchor.webp
#	common/src/main/res/mipmap-xxhdpi/icon_wish_live.webp
#	common/src/main/res/mipmap-xxhdpi/icon_withdraw.webp
#	common/src/main/res/mipmap-xxhdpi/icon_world_horn.webp
#	common/src/main/res/mipmap-xxhdpi/icon_world_horn_p.webp
#	common/src/main/res/mipmap-xxhdpi/icon_xinyuandan.webp
#	common/src/main/res/mipmap-xxhdpi/icon_zhenggu.webp
#	common/src/main/res/mipmap-xxhdpi/img_aristocrat_chaohuang.webp
#	common/src/main/res/mipmap-xxhdpi/img_aristocrat_gongjue.webp
#	common/src/main/res/mipmap-xxhdpi/img_aristocrat_guowang.webp
#	common/src/main/res/mipmap-xxhdpi/img_aristocrat_houjue.webp
#	common/src/main/res/mipmap-xxhdpi/img_aristocrat_huangdi.webp
#	common/src/main/res/mipmap-xxhdpi/img_aristocrat_nanjue.webp
#	common/src/main/res/mipmap-xxhdpi/img_aristocrat_notopen.webp
#	common/src/main/res/mipmap-xxhdpi/img_aristocrat_zijue.webp
#	common/src/main/res/mipmap-xxhdpi/img_chaohuang.webp
#	common/src/main/res/mipmap-xxhdpi/img_fans_default.webp
#	common/src/main/res/mipmap-xxhdpi/img_honor_default.webp
#	common/src/main/res/mipmap-xxhdpi/img_huangdi.webp
#	common/src/main/res/mipmap-xxhdpi/img_lu_bg.webp
#	common/src/main/res/mipmap-xxhdpi/img_mess.webp
#	common/src/main/res/mipmap-xxhdpi/img_no_anchor.webp
#	common/src/main/res/mipmap-xxhdpi/img_no_anchor0.webp
#	common/src/main/res/mipmap-xxhdpi/imng_guowang.webp
#	common/src/main/res/mipmap-xxhdpi/live_bg.webp
#	common/src/main/res/mipmap-xxhdpi/live_dialog_top_game_icon.webp
#	common/src/main/res/mipmap-xxhdpi/live_icon_data.webp
#	common/src/main/res/mipmap-xxhdpi/live_icon_news.webp
#	common/src/main/res/mipmap-xxhdpi/live_more_icon_aristocrat.webp
#	common/src/main/res/mipmap-xxhdpi/live_more_icon_connect.webp
#	common/src/main/res/mipmap-xxhdpi/live_more_icon_connect_new.webp
#	common/src/main/res/mipmap-xxhdpi/live_more_icon_events.webp
#	common/src/main/res/mipmap-xxhdpi/live_more_icon_fans.webp
#	common/src/main/res/mipmap-xxhdpi/live_more_icon_fenestrule.webp
#	common/src/main/res/mipmap-xxhdpi/live_more_icon_fenestrule_new.webp
#	common/src/main/res/mipmap-xxhdpi/live_more_icon_guard.webp
#	common/src/main/res/mipmap-xxhdpi/live_more_icon_hd.webp
#	common/src/main/res/mipmap-xxhdpi/live_more_icon_moods.webp
#	common/src/main/res/mipmap-xxhdpi/live_more_icon_report.webp
#	common/src/main/res/mipmap-xxhdpi/live_more_icon_robot.webp
#	common/src/main/res/mipmap-xxhdpi/live_more_icon_service.webp
#	common/src/main/res/mipmap-xxhdpi/live_more_icon_sliding_new.webp
#	common/src/main/res/mipmap-xxhdpi/live_more_icon_special.webp
#	common/src/main/res/mipmap-xxhdpi/live_more_icon_special_new.webp
#	common/src/main/res/mipmap-xxhdpi/live_more_icon_system.webp
#	common/src/main/res/mipmap-xxhdpi/live_more_icon_task.webp
#	common/src/main/res/mipmap-xxhdpi/live_more_icon_zhouxinglist.webp
#	common/src/main/res/mipmap-xxhdpi/loading.webp
#	common/src/main/res/mipmap-xxhdpi/special_icon_off.webp
#	common/src/main/res/mipmap-xxhdpi/special_icon_on.webp
#	common/src/main/res/mipmap-xxhdpi/start_level.webp
#	common/src/main/res/mipmap-xxhdpi/sub_1.webp
#	common/src/main/res/mipmap-xxhdpi/sub_2.webp
#	common/src/main/res/mipmap-xxhdpi/sub_3.webp
#	common/src/main/res/mipmap-xxhdpi/sub_again_en.webp
#	common/src/main/res/mipmap-xxhdpi/sub_again_zh.webp
#	common/src/main/res/mipmap-xxhdpi/sub_bg.webp
#	common/src/main/res/mipmap-xxhdpi/sub_bg2.webp
#	common/src/main/res/mipmap-xxhdpi/sub_draw_en.webp
#	common/src/main/res/mipmap-xxhdpi/sub_draw_zh.webp
#	common/src/main/res/mipmap-xxhdpi/sub_leave_en.webp
#	common/src/main/res/mipmap-xxhdpi/sub_leave_zh.webp
#	common/src/main/res/mipmap-xxhdpi/sub_loss_en.webp
#	common/src/main/res/mipmap-xxhdpi/sub_loss_zh.webp
#	common/src/main/res/mipmap-xxhdpi/sub_over_en.webp
#	common/src/main/res/mipmap-xxhdpi/sub_over_zh.webp
#	common/src/main/res/mipmap-xxhdpi/sub_vs.webp
#	common/src/main/res/mipmap-xxhdpi/sub_win_en.webp
#	common/src/main/res/mipmap-xxhdpi/sub_win_hat.webp
#	common/src/main/res/mipmap-xxhdpi/sub_win_zh.webp
#	common/src/main/res/mipmap-xxhdpi/sud_load_bg_double.webp
#	common/src/main/res/mipmap-xxhdpi/sud_load_bg_multiple.webp
#	common/src/main/res/mipmap-xxhdpi/sud_load_double.webp
#	common/src/main/res/mipmap-xxhdpi/sud_load_en.webp
#	common/src/main/res/mipmap-xxhdpi/sud_load_multiple.webp
#	common/src/main/res/mipmap-xxhdpi/sud_load_skip_en.webp
#	common/src/main/res/mipmap-xxhdpi/sud_load_skip_zh.webp
#	common/src/main/res/mipmap-xxhdpi/sud_load_zh.webp
#	common/src/main/res/mipmap-xxhdpi/tab_recommend.webp
#	common/src/main/res/mipmap-xxhdpi/tequan_1.webp
#	common/src/main/res/mipmap-xxhdpi/tip_box.webp
#	common/src/main/res/mipmap-xxhdpi/top_zhidao_bg.webp
#	common/src/main/res/mipmap-xxhdpi/update_tip_box.webp
#	common/src/main/res/mipmap-xxxhdpi/backgroud_tickets_plus_minus.webp
#	common/src/main/res/mipmap-xxxhdpi/background_cinema_ticket.webp
#	common/src/main/res/mipmap-xxxhdpi/backgroundn_cinema_ticket_exchange.webp
#	common/src/main/res/mipmap-xxxhdpi/bg_main_home_sub_game.webp
#	common/src/main/res/mipmap-xxxhdpi/icon_cinema_ticket.webp
#	common/src/main/res/mipmap-xxxhdpi/icon_cinema_ticket_close.webp
#	common/src/main/res/mipmap-xxxhdpi/icon_cinema_ticket_title.webp
#	common/src/main/res/mipmap-xxxhdpi/icon_collectibles2.webp
#	common/src/main/res/mipmap-xxxhdpi/iconlive_tool_game.webp
#	common/src/main/res/mipmap-zh/background_quick_gift_reminder.webp
#	common/src/main/res/mipmap-zh/backgroundn_cinema_ticket_exchange.webp
#	common/src/main/res/mipmap-zh/bg_xyd_button.webp
#	common/src/main/res/mipmap-zh/dialog_gift_wall_achieve_top_icon.webp
#	common/src/main/res/mipmap-zh/gift_wall_tab2_classic_info_tips.webp
#	common/src/main/res/mipmap-zh/ic_guard_not.webp
#	common/src/main/res/mipmap-zh/icon_activate_the_elite_battle_order.webp
#	common/src/main/res/mipmap-zh/icon_cinema_ticket_title.webp
#	common/src/main/res/mipmap-zh/icon_enjoy_image.webp
#	common/src/main/res/mipmap-zh/icon_order_rule.webp
#	common/src/main/res/mipmap-zh/icon_user_game_living.webp
#	common/src/main/res/values-zh/strings.xml
#	common/src/main/res/values/colors.xml
#	common/src/main/res/values/strings.xml
#	config.gradle
#	live/src/main/java/com/yunbao/live/activity/LiveReportActivity.java
#	live/src/main/java/com/yunbao/live/activity/LiveRyAnchorActivity.java
#	live/src/main/java/com/yunbao/live/http/ImHttpUtil.java
#	live/src/main/java/com/yunbao/live/presenter/LiveRyLinkMicPkPresenter.java
#	live/src/main/java/com/yunbao/live/socket/SocketRyClient.java
#	live/src/main/java/com/yunbao/live/socket/SocketRyLinkMicPkUtil.java
#	live/src/main/java/com/yunbao/live/views/LiveNewReadyRyViewHolder.java
#	live/src/main/java/com/yunbao/live/views/LivePlayRyViewHolder.java
#	live/src/main/java/com/yunbao/live/views/LivePushRyViewHolder.java
#	live/src/main/res/drawable/guard_buy_center_bg.webp
#	live/src/main/res/drawable/guard_buy_top_bg.webp
#	live/src/main/res/mipmap-mdpi/address_choice.webp
#	live/src/main/res/mipmap-mdpi/annual_bg.webp
#	live/src/main/res/mipmap-mdpi/backdrop_luck.webp
#	live/src/main/res/mipmap-mdpi/beauty_jingbai.webp
#	live/src/main/res/mipmap-mdpi/beauty_keai.webp
#	live/src/main/res/mipmap-mdpi/beauty_nvshen.webp
#	live/src/main/res/mipmap-mdpi/beauty_ziran.webp
#	live/src/main/res/mipmap-mdpi/bg_chat_active.webp
#	live/src/main/res/mipmap-mdpi/bg_dragon_notify.webp
#	live/src/main/res/mipmap-mdpi/bg_gift_list.webp
#	live/src/main/res/mipmap-mdpi/bg_guard_buy_top_1.webp
#	live/src/main/res/mipmap-mdpi/bg_guard_buy_top_2.webp
#	live/src/main/res/mipmap-mdpi/bg_kirin_notify.webp
#	live/src/main/res/mipmap-mdpi/bg_phoenix_notify.webp
#	live/src/main/res/mipmap-mdpi/bg_pk_black_bg.webp
#	live/src/main/res/mipmap-mdpi/bg_time_box.webp
#	live/src/main/res/mipmap-mdpi/bg_wishlist_audience.webp
#	live/src/main/res/mipmap-mdpi/bixin.webp
#	live/src/main/res/mipmap-mdpi/box.webp
#	live/src/main/res/mipmap-mdpi/bright_eyes.webp
#	live/src/main/res/mipmap-mdpi/btn_big_blue.webp
#	live/src/main/res/mipmap-mdpi/btn_joinfans.webp
#	live/src/main/res/mipmap-mdpi/btn_login.webp
#	live/src/main/res/mipmap-mdpi/btn_openprotection.webp
#	live/src/main/res/mipmap-mdpi/btn_openvip.webp
#	live/src/main/res/mipmap-mdpi/btn_purple.webp
#	live/src/main/res/mipmap-mdpi/btn_reg.webp
#	live/src/main/res/mipmap-mdpi/btn_white.webp
#	live/src/main/res/mipmap-mdpi/chin.webp
#	live/src/main/res/mipmap-mdpi/day_list_no_1.webp
#	live/src/main/res/mipmap-mdpi/day_list_no_2.webp
#	live/src/main/res/mipmap-mdpi/day_list_no_3.webp
#	live/src/main/res/mipmap-mdpi/filter_baixixx.webp
#	live/src/main/res/mipmap-mdpi/filter_fugu.webp
#	live/src/main/res/mipmap-mdpi/filter_heibai.webp
#	live/src/main/res/mipmap-mdpi/filter_huaxiang.webp
#	live/src/main/res/mipmap-mdpi/filter_mingliang.webp
#	live/src/main/res/mipmap-mdpi/filter_nuanguang.webp
#	live/src/main/res/mipmap-mdpi/filter_qingyang.webp
#	live/src/main/res/mipmap-mdpi/filter_rii.webp
#	live/src/main/res/mipmap-mdpi/filter_rouhe.webp
#	live/src/main/res/mipmap-mdpi/filter_shenhai.webp
#	live/src/main/res/mipmap-mdpi/filter_xianming.webp
#	live/src/main/res/mipmap-mdpi/filter_xiyang.webp
#	live/src/main/res/mipmap-mdpi/filter_yuanqi.webp
#	live/src/main/res/mipmap-mdpi/filter_zhiyu.webp
#	live/src/main/res/mipmap-mdpi/filter_ziran.webp
#	live/src/main/res/mipmap-mdpi/fuul.webp
#	live/src/main/res/mipmap-mdpi/gif_rose.webp
#	live/src/main/res/mipmap-mdpi/gift_naming_icon.webp
#	live/src/main/res/mipmap-mdpi/grayicon.webp
#	live/src/main/res/mipmap-mdpi/guard_bg.webp
#	live/src/main/res/mipmap-mdpi/guard_notice.webp
#	live/src/main/res/mipmap-mdpi/guardstar.webp
#	live/src/main/res/mipmap-mdpi/ic_guard_not.webp
#	live/src/main/res/mipmap-mdpi/ic_live_anchor_say_hide.webp
#	live/src/main/res/mipmap-mdpi/ic_live_anchor_say_show.webp
#	live/src/main/res/mipmap-mdpi/ic_live_float_call_me.webp
#	live/src/main/res/mipmap-mdpi/ic_live_ready_channel.webp
#	live/src/main/res/mipmap-mdpi/ic_live_ready_letter.webp
#	live/src/main/res/mipmap-mdpi/ic_live_ready_say.webp
#	live/src/main/res/mipmap-mdpi/ic_live_ready_xjd.webp
#	live/src/main/res/mipmap-mdpi/ic_live_user_mailbox.webp
#	live/src/main/res/mipmap-mdpi/ico_si.webp
#	live/src/main/res/mipmap-mdpi/icon_arrow_right_3.webp
#	live/src/main/res/mipmap-mdpi/icon_arrow_right_more.webp
#	live/src/main/res/mipmap-mdpi/icon_beans.webp
#	live/src/main/res/mipmap-mdpi/icon_blind_box_headlines.webp
#	live/src/main/res/mipmap-mdpi/icon_blue_mvp.webp
#	live/src/main/res/mipmap-mdpi/icon_blue_no1.webp
#	live/src/main/res/mipmap-mdpi/icon_blue_no2.webp
#	live/src/main/res/mipmap-mdpi/icon_blue_no3.webp
#	live/src/main/res/mipmap-mdpi/icon_blue_smvp.webp
#	live/src/main/res/mipmap-mdpi/icon_cancel.webp
#	live/src/main/res/mipmap-mdpi/icon_collectibles.webp
#	live/src/main/res/mipmap-mdpi/icon_crystal_1.webp
#	live/src/main/res/mipmap-mdpi/icon_crystal_2.webp
#	live/src/main/res/mipmap-mdpi/icon_crystal_3.webp
#	live/src/main/res/mipmap-mdpi/icon_gift_luck_1.webp
#	live/src/main/res/mipmap-mdpi/icon_gift_prize_pool_2.webp
#	live/src/main/res/mipmap-mdpi/icon_gift_prize_pool_4.webp
#	live/src/main/res/mipmap-mdpi/icon_gift_prize_pool_5.webp
#	live/src/main/res/mipmap-mdpi/icon_gift_prize_pool_6.webp
#	live/src/main/res/mipmap-mdpi/icon_gongjue.webp
#	live/src/main/res/mipmap-mdpi/icon_guard_buy_0_0.webp
#	live/src/main/res/mipmap-mdpi/icon_guard_buy_0_1.webp
#	live/src/main/res/mipmap-mdpi/icon_guard_top_0.webp
#	live/src/main/res/mipmap-mdpi/icon_guard_top_1.webp
#	live/src/main/res/mipmap-mdpi/icon_guard_top_11.webp
#	live/src/main/res/mipmap-mdpi/icon_guard_type_0.webp
#	live/src/main/res/mipmap-mdpi/icon_guard_type_1.webp
#	live/src/main/res/mipmap-mdpi/icon_guard_type_2.webp
#	live/src/main/res/mipmap-mdpi/icon_guowang.webp
#	live/src/main/res/mipmap-mdpi/icon_head_1.webp
#	live/src/main/res/mipmap-mdpi/icon_houjue.webp
#	live/src/main/res/mipmap-mdpi/icon_huangdi.webp
#	live/src/main/res/mipmap-mdpi/icon_line_x.webp
#	live/src/main/res/mipmap-mdpi/icon_live_admin_delete.webp
#	live/src/main/res/mipmap-mdpi/icon_live_beauty_1.webp
#	live/src/main/res/mipmap-mdpi/icon_live_chat.webp
#	live/src/main/res/mipmap-mdpi/icon_live_chat_guard_1.webp
#	live/src/main/res/mipmap-mdpi/icon_live_chat_guard_2.webp
#	live/src/main/res/mipmap-mdpi/icon_live_chat_liang.webp
#	live/src/main/res/mipmap-mdpi/icon_live_chat_m.webp
#	live/src/main/res/mipmap-mdpi/icon_live_chat_vip.webp
#	live/src/main/res/mipmap-mdpi/icon_live_close.webp
#	live/src/main/res/mipmap-mdpi/icon_live_close_2.webp
#	live/src/main/res/mipmap-mdpi/icon_live_close_3.webp
#	live/src/main/res/mipmap-mdpi/icon_live_danmu_0.webp
#	live/src/main/res/mipmap-mdpi/icon_live_danmu_1.webp
#	live/src/main/res/mipmap-mdpi/icon_live_func_1.webp
#	live/src/main/res/mipmap-mdpi/icon_live_func_beauty.webp
#	live/src/main/res/mipmap-mdpi/icon_live_func_camera.webp
#	live/src/main/res/mipmap-mdpi/icon_live_func_flash.webp
#	live/src/main/res/mipmap-mdpi/icon_live_func_flash_1.webp
#	live/src/main/res/mipmap-mdpi/icon_live_func_game.webp
#	live/src/main/res/mipmap-mdpi/icon_live_func_lm.webp
#	live/src/main/res/mipmap-mdpi/icon_live_func_music.webp
#	live/src/main/res/mipmap-mdpi/icon_live_func_rp.webp
#	live/src/main/res/mipmap-mdpi/icon_live_func_share.webp
#	live/src/main/res/mipmap-mdpi/icon_live_gift.webp
#	live/src/main/res/mipmap-mdpi/icon_live_gift_1.webp
#	live/src/main/res/mipmap-mdpi/icon_live_gift_3.webp
#	live/src/main/res/mipmap-mdpi/icon_live_gift_anim_11.webp
#	live/src/main/res/mipmap-mdpi/icon_live_gift_anim_3.webp
#	live/src/main/res/mipmap-mdpi/icon_live_gift_anim_7.webp
#	live/src/main/res/mipmap-mdpi/icon_live_gift_count_1.webp
#	live/src/main/res/mipmap-mdpi/icon_live_gift_count_4.webp
#	live/src/main/res/mipmap-mdpi/icon_live_gift_count_5.webp
#	live/src/main/res/mipmap-mdpi/icon_live_gift_count_7.webp
#	live/src/main/res/mipmap-mdpi/icon_live_gift_guard.webp
#	live/src/main/res/mipmap-mdpi/icon_live_gift_hao.webp
#	live/src/main/res/mipmap-mdpi/icon_live_gift_hot.webp
#	live/src/main/res/mipmap-mdpi/icon_live_gift_lian_0.webp
#	live/src/main/res/mipmap-mdpi/icon_live_gift_lian_1.webp
#	live/src/main/res/mipmap-mdpi/icon_live_gift_luck.webp
#	live/src/main/res/mipmap-mdpi/icon_live_gift_weekstar.webp
#	live/src/main/res/mipmap-mdpi/icon_live_light_1.webp
#	live/src/main/res/mipmap-mdpi/icon_live_light_2.webp
#	live/src/main/res/mipmap-mdpi/icon_live_light_3.webp
#	live/src/main/res/mipmap-mdpi/icon_live_light_4.webp
#	live/src/main/res/mipmap-mdpi/icon_live_light_5.webp
#	live/src/main/res/mipmap-mdpi/icon_live_light_6.webp
#	live/src/main/res/mipmap-mdpi/icon_live_link_mic.webp
#	live/src/main/res/mipmap-mdpi/icon_live_link_mic_1.webp
#	live/src/main/res/mipmap-mdpi/icon_live_more.webp
#	live/src/main/res/mipmap-mdpi/icon_live_msg.webp
#	live/src/main/res/mipmap-mdpi/icon_live_pk.webp
#	live/src/main/res/mipmap-mdpi/icon_live_ready_close.webp
#	live/src/main/res/mipmap-mdpi/icon_live_ready_location_0.webp
#	live/src/main/res/mipmap-mdpi/icon_live_ready_location_1.webp
#	live/src/main/res/mipmap-mdpi/icon_live_ready_room_type.webp
#	live/src/main/res/mipmap-mdpi/icon_live_red_pack.webp
#	live/src/main/res/mipmap-mdpi/icon_live_room_msg.webp
#	live/src/main/res/mipmap-mdpi/icon_live_search.webp
#	live/src/main/res/mipmap-mdpi/icon_live_search_back.webp
#	live/src/main/res/mipmap-mdpi/icon_live_send_0.webp
#	live/src/main/res/mipmap-mdpi/icon_live_send_1.webp
#	live/src/main/res/mipmap-mdpi/icon_live_share.webp
#	live/src/main/res/mipmap-mdpi/icon_live_star.webp
#	live/src/main/res/mipmap-mdpi/icon_live_title_laba.webp
#	live/src/main/res/mipmap-mdpi/icon_live_user_3.webp
#	live/src/main/res/mipmap-mdpi/icon_live_user_5.webp
#	live/src/main/res/mipmap-mdpi/icon_live_user_6.webp
#	live/src/main/res/mipmap-mdpi/icon_live_user_7.webp
#	live/src/main/res/mipmap-mdpi/icon_live_user_8.webp
#	live/src/main/res/mipmap-mdpi/icon_live_user_list_1.webp
#	live/src/main/res/mipmap-mdpi/icon_live_user_list_2.webp
#	live/src/main/res/mipmap-mdpi/icon_live_user_list_3.webp
#	live/src/main/res/mipmap-mdpi/icon_live_usercard_setting.webp
#	live/src/main/res/mipmap-mdpi/icon_lollipop.webp
#	live/src/main/res/mipmap-mdpi/icon_luck.webp
#	live/src/main/res/mipmap-mdpi/icon_msg_sys_gift.webp
#	live/src/main/res/mipmap-mdpi/icon_msg_sys_gifted.webp
#	live/src/main/res/mipmap-mdpi/icon_nanjue.webp
#	live/src/main/res/mipmap-mdpi/icon_new.webp
#	live/src/main/res/mipmap-mdpi/icon_no1.webp
#	live/src/main/res/mipmap-mdpi/icon_no2.webp
#	live/src/main/res/mipmap-mdpi/icon_no3.webp
#	live/src/main/res/mipmap-mdpi/icon_no4.webp
#	live/src/main/res/mipmap-mdpi/icon_no5.webp
#	live/src/main/res/mipmap-mdpi/icon_pk_lose.webp
#	live/src/main/res/mipmap-mdpi/icon_pk_tie.webp
#	live/src/main/res/mipmap-mdpi/icon_public.webp
#	live/src/main/res/mipmap-mdpi/icon_red_mvp.webp
#	live/src/main/res/mipmap-mdpi/icon_red_no1.webp
#	live/src/main/res/mipmap-mdpi/icon_red_no2.webp
#	live/src/main/res/mipmap-mdpi/icon_red_no3.webp
#	live/src/main/res/mipmap-mdpi/icon_red_pack_2.webp
#	live/src/main/res/mipmap-mdpi/icon_red_pack_3.webp
#	live/src/main/res/mipmap-mdpi/icon_red_pack_4.webp
#	live/src/main/res/mipmap-mdpi/icon_red_pack_5.webp
#	live/src/main/res/mipmap-mdpi/icon_red_pack_7.webp
#	live/src/main/res/mipmap-mdpi/icon_red_pack_btn_0.webp
#	live/src/main/res/mipmap-mdpi/icon_red_pack_btn_1.webp
#	live/src/main/res/mipmap-mdpi/icon_red_smvp.webp
#	live/src/main/res/mipmap-mdpi/icon_rosebouquet.webp
#	live/src/main/res/mipmap-mdpi/icon_share_link.webp
#	live/src/main/res/mipmap-mdpi/icon_sofa_blue.webp
#	live/src/main/res/mipmap-mdpi/icon_sofa_red.webp
#	live/src/main/res/mipmap-mdpi/icon_sys_receive.webp
#	live/src/main/res/mipmap-mdpi/icon_sys_received.webp
#	live/src/main/res/mipmap-mdpi/icon_user_card_follow.webp
#	live/src/main/res/mipmap-mdpi/icon_wechat_x.webp
#	live/src/main/res/mipmap-mdpi/icon_whatsapp_x.webp
#	live/src/main/res/mipmap-mdpi/icon_wish_live.webp
#	live/src/main/res/mipmap-mdpi/icon_zijue.webp
#	live/src/main/res/mipmap-mdpi/iconhot.webp
#	live/src/main/res/mipmap-mdpi/img_bg.webp
#	live/src/main/res/mipmap-mdpi/img_guardian_empty.webp
#	live/src/main/res/mipmap-mdpi/lianmai.webp
#	live/src/main/res/mipmap-mdpi/lip_size.webp
#	live/src/main/res/mipmap-mdpi/live_close.webp
#	live/src/main/res/mipmap-mdpi/live_icon_vacancy.webp
#	live/src/main/res/mipmap-mdpi/live_pk.webp
#	live/src/main/res/mipmap-mdpi/live_user_more.webp
#	live/src/main/res/mipmap-mdpi/live_users_more.webp
#	live/src/main/res/mipmap-mdpi/live_xyd.webp
#	live/src/main/res/mipmap-mdpi/login_input.webp
#	live/src/main/res/mipmap-mdpi/lw_ico.webp
#	live/src/main/res/mipmap-mdpi/meiyan_icon_close.webp
#	live/src/main/res/mipmap-mdpi/momo_dy.webp
#	live/src/main/res/mipmap-mdpi/momo_mb.webp
#	live/src/main/res/mipmap-mdpi/momo_mp.webp
#	live/src/main/res/mipmap-mdpi/momo_sl.webp
#	live/src/main/res/mipmap-mdpi/momo_xl.webp
#	live/src/main/res/mipmap-mdpi/nope.webp
#	live/src/main/res/mipmap-mdpi/nose_size.webp
#	live/src/main/res/mipmap-mdpi/one_one.webp
#	live/src/main/res/mipmap-mdpi/one_th.webp
#	live/src/main/res/mipmap-mdpi/one_two.webp
#	live/src/main/res/mipmap-mdpi/originalss.webp
#	live/src/main/res/mipmap-mdpi/refresh.webp
#	live/src/main/res/mipmap-mdpi/ruddy.webp
#	live/src/main/res/mipmap-mdpi/shuijing_box.webp
#	live/src/main/res/mipmap-mdpi/super_notice.webp
#	live/src/main/res/mipmap-mdpi/title_back.webp
#	live/src/main/res/mipmap-mdpi/user_info_bg.webp
#	live/src/main/res/mipmap-mdpi/vip_notice.webp
#	live/src/main/res/mipmap-mdpi/white_teeth.webp
#	live/src/main/res/mipmap-mdpi/wrap_empty.webp
#	live/src/main/res/mipmap-xhdpi/background_red_packet.webp
#	live/src/main/res/mipmap-xhdpi/bg_god_guard.webp
#	live/src/main/res/mipmap-xhdpi/bg_god_guard_en.webp
#	live/src/main/res/mipmap-xhdpi/bg_king_guard.webp
#	live/src/main/res/mipmap-xhdpi/bg_king_guard_en.webp
#	live/src/main/res/mipmap-xhdpi/bg_main_item_bottom.webp
#	live/src/main/res/mipmap-xhdpi/bg_star_guard.webp
#	live/src/main/res/mipmap-xhdpi/bg_star_guard_en.webp
#	live/src/main/res/mipmap-xhdpi/black_bg.webp
#	live/src/main/res/mipmap-xhdpi/black_tip_bg.webp
#	live/src/main/res/mipmap-xhdpi/bottom_icon.webp
#	live/src/main/res/mipmap-xhdpi/btn_more_black.webp
#	live/src/main/res/mipmap-xhdpi/btn_morefeatures.webp
#	live/src/main/res/mipmap-xhdpi/btn_sand.webp
#	live/src/main/res/mipmap-xhdpi/btn_sand1.webp
#	live/src/main/res/mipmap-xhdpi/dialog_task_hot.webp
#	live/src/main/res/mipmap-xhdpi/dialog_task_info.webp
#	live/src/main/res/mipmap-xhdpi/dialog_task_new_star.webp
#	live/src/main/res/mipmap-xhdpi/dialog_task_star.webp
#	live/src/main/res/mipmap-xhdpi/exp_box.webp
#	live/src/main/res/mipmap-xhdpi/ffsx.webp
#	live/src/main/res/mipmap-xhdpi/freegift_box.webp
#	live/src/main/res/mipmap-xhdpi/guard_btn_buy_first_icon.webp
#	live/src/main/res/mipmap-xhdpi/hot_back.webp
#	live/src/main/res/mipmap-xhdpi/ic_contact_details_back.webp
#	live/src/main/res/mipmap-xhdpi/ic_live_anchor_edit_call_me_edit.webp
#	live/src/main/res/mipmap-xhdpi/ic_live_anchor_edit_call_me_r.webp
#	live/src/main/res/mipmap-xhdpi/ic_live_fans_group_info_colse.webp
#	live/src/main/res/mipmap-xhdpi/ic_random_pk_like.webp
#	live/src/main/res/mipmap-xhdpi/ic_random_pk_pk.webp
#	live/src/main/res/mipmap-xhdpi/ic_random_pk_pk_unselect.webp
#	live/src/main/res/mipmap-xhdpi/ic_random_pk_search.webp
#	live/src/main/res/mipmap-xhdpi/icon_big_mic.webp
#	live/src/main/res/mipmap-xhdpi/icon_camera.webp
#	live/src/main/res/mipmap-xhdpi/icon_cash_ali.webp
#	live/src/main/res/mipmap-xhdpi/icon_cash_bank.webp
#	live/src/main/res/mipmap-xhdpi/icon_cash_wx.webp
#	live/src/main/res/mipmap-xhdpi/icon_change.webp
#	live/src/main/res/mipmap-xhdpi/icon_comments.webp
#	live/src/main/res/mipmap-xhdpi/icon_ellipse.webp
#	live/src/main/res/mipmap-xhdpi/icon_fans_danmu_avatar.webp
#	live/src/main/res/mipmap-xhdpi/icon_free_pk_waring.webp
#	live/src/main/res/mipmap-xhdpi/icon_god_guardian_medal.webp
#	live/src/main/res/mipmap-xhdpi/icon_god_guardian_medal_grey.webp
#	live/src/main/res/mipmap-xhdpi/icon_grieved_red_packet.webp
#	live/src/main/res/mipmap-xhdpi/icon_guize.webp
#	live/src/main/res/mipmap-xhdpi/icon_king_guardian_medal.webp
#	live/src/main/res/mipmap-xhdpi/icon_king_guardian_medal_grey.webp
#	live/src/main/res/mipmap-xhdpi/icon_live_beans.webp
#	live/src/main/res/mipmap-xhdpi/icon_live_exp.webp
#	live/src/main/res/mipmap-xhdpi/icon_live_prank_gift_item_close.webp
#	live/src/main/res/mipmap-xhdpi/icon_live_room_sud_close.webp
#	live/src/main/res/mipmap-xhdpi/icon_main_live_num.webp
#	live/src/main/res/mipmap-xhdpi/icon_main_live_type_0.webp
#	live/src/main/res/mipmap-xhdpi/icon_main_live_type_1.webp
#	live/src/main/res/mipmap-xhdpi/icon_main_live_type_2.webp
#	live/src/main/res/mipmap-xhdpi/icon_main_live_type_3.webp
#	live/src/main/res/mipmap-xhdpi/icon_main_rest_spot.webp
#	live/src/main/res/mipmap-xhdpi/icon_main_rest_work.webp
#	live/src/main/res/mipmap-xhdpi/icon_messagelist_read.webp
#	live/src/main/res/mipmap-xhdpi/icon_photo.webp
#	live/src/main/res/mipmap-xhdpi/icon_selected.webp
#	live/src/main/res/mipmap-xhdpi/icon_star_guardian_medal.webp
#	live/src/main/res/mipmap-xhdpi/icon_star_guardian_medal_grey.webp
#	live/src/main/res/mipmap-xhdpi/icon_uncheck.webp
#	live/src/main/res/mipmap-xhdpi/icon_video.webp
#	live/src/main/res/mipmap-xhdpi/icon_zhuansi.webp
#	live/src/main/res/mipmap-xhdpi/img_buoy.webp
#	live/src/main/res/mipmap-xhdpi/img_buoy2.webp
#	live/src/main/res/mipmap-xhdpi/instructors.webp
#	live/src/main/res/mipmap-xhdpi/item_frame_gift_naming_bg.webp
#	live/src/main/res/mipmap-xhdpi/ixon_attention.webp
#	live/src/main/res/mipmap-xhdpi/jindou_box.webp
#	live/src/main/res/mipmap-xhdpi/live_gift_light_bg.webp
#	live/src/main/res/mipmap-xhdpi/live_icon_role.webp
#	live/src/main/res/mipmap-xhdpi/live_icon_role_en.webp
#	live/src/main/res/mipmap-xhdpi/live_mission_box.webp
#	live/src/main/res/mipmap-xhdpi/live_new_tip.webp
#	live/src/main/res/mipmap-xhdpi/live_room_sud_hint_icon.webp
#	live/src/main/res/mipmap-xhdpi/live_zt.webp
#	live/src/main/res/mipmap-xhdpi/monster_1.webp
#	live/src/main/res/mipmap-xhdpi/monster_2.webp
#	live/src/main/res/mipmap-xhdpi/monster_3.webp
#	live/src/main/res/mipmap-xhdpi/monster_4.webp
#	live/src/main/res/mipmap-xhdpi/monster_5.webp
#	live/src/main/res/mipmap-xhdpi/monster_6.webp
#	live/src/main/res/mipmap-xhdpi/monster_7.webp
#	live/src/main/res/mipmap-xhdpi/monster_8.webp
#	live/src/main/res/mipmap-xhdpi/multiplayerpk.webp
#	live/src/main/res/mipmap-xhdpi/prank_icon.webp
#	live/src/main/res/mipmap-xhdpi/turntable_icon.webp
#	live/src/main/res/mipmap-xhdpi/voice.webp
#	live/src/main/res/mipmap-xxxhdpi/background_full_service_notice_new.webp
#	live/src/main/res/mipmap-xxxhdpi/background_gift_wall_title.webp
#	live/src/main/res/mipmap-xxxhdpi/background_giftwall_tab.webp
#	live/src/main/res/mipmap-xxxhdpi/background_regular_title.webp
#	live/src/main/res/mipmap-xxxhdpi/bg_dragon.webp
#	live/src/main/res/mipmap-xxxhdpi/bg_dragon_expire.webp
#	live/src/main/res/mipmap-xxxhdpi/bg_fans_group_buy_dialog.webp
#	live/src/main/res/mipmap-xxxhdpi/bg_funs_group_send_dialog_item.webp
#	live/src/main/res/mipmap-xxxhdpi/bg_funs_live_anchor_start.webp
#	live/src/main/res/mipmap-xxxhdpi/bg_funs_live_go_start.webp
#	live/src/main/res/mipmap-xxxhdpi/bg_kirin.webp
#	live/src/main/res/mipmap-xxxhdpi/bg_live_user_mailbox.webp
#	live/src/main/res/mipmap-xxxhdpi/bg_live_user_mailbox_top.webp
#	live/src/main/res/mipmap-xxxhdpi/bg_live_user_mailbox_top2.webp
#	live/src/main/res/mipmap-xxxhdpi/bg_phoenix.webp
#	live/src/main/res/mipmap-xxxhdpi/bg_red_packet_info_en.webp
#	live/src/main/res/mipmap-xxxhdpi/bg_red_packet_info_zh.webp
#	live/src/main/res/mipmap-xxxhdpi/bg_xyd.webp
#	live/src/main/res/mipmap-xxxhdpi/bottom_icon.webp
#	live/src/main/res/mipmap-xxxhdpi/btn_attention.webp
#	live/src/main/res/mipmap-xxxhdpi/btn_guard_open.webp
#	live/src/main/res/mipmap-xxxhdpi/dialog_live_buy_guard_bg.webp
#	live/src/main/res/mipmap-xxxhdpi/emperor_rom.webp
#	live/src/main/res/mipmap-xxxhdpi/emphasis_cn.webp
#	live/src/main/res/mipmap-xxxhdpi/emphasis_en.webp
#	live/src/main/res/mipmap-xxxhdpi/full_service_notice_new_tmp_bg.webp
#	live/src/main/res/mipmap-xxxhdpi/full_service_notice_new_tmp_icon.webp
#	live/src/main/res/mipmap-xxxhdpi/guard_btn_buy_icon.webp
#	live/src/main/res/mipmap-xxxhdpi/guardian_img_wings.png
#	live/src/main/res/mipmap-xxxhdpi/guardian_img_wings_p.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_back.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_cange.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_download_gift.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_emphasis.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_fans_group_buy_dialog_buy.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_fans_group_buy_dialog_day.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_fans_group_buy_dialog_item.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_following_anchor.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_gift.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_guard_me.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_instructions.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_live_dragon_money_back.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_livepk_no1.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_livepk_no2.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_livepk_no3.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_livepk_no4.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_loading_gift.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_masking.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_masking_dragon.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_masking_kirin.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_masking_phoenix.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_message.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_message_read.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_message_unread.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_more_live_menu.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_notification_speaker.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_one_guard.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_prank.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_private.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_privilege.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_red_packet.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_regular_bubble.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_small_download.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_tag_king.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_three_guard.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_two_guard.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_vip_gold.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_vip_gold_new.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_voice.webp
#	live/src/main/res/mipmap-xxxhdpi/icon_voice_press.webp
#	live/src/main/res/mipmap-xxxhdpi/img_guardian_online.webp
#	live/src/main/res/mipmap-xxxhdpi/img_live_search_list_empty.webp
#	live/src/main/res/mipmap-xxxhdpi/img_news_instructor_tags_chinese.webp
#	live/src/main/res/mipmap-xxxhdpi/img_news_instructor_tags_english.webp
#	live/src/main/res/mipmap-xxxhdpi/img_no_anchor.webp
#	live/src/main/res/mipmap-xxxhdpi/img_p.webp
#	live/src/main/res/mipmap-xxxhdpi/img_pop_bg.webp
#	live/src/main/res/mipmap-xxxhdpi/img_xian.webp
#	live/src/main/res/mipmap-xxxhdpi/live_bg.webp
#	live/src/main/res/mipmap-xxxhdpi/live_icon_cheat.webp
#	live/src/main/res/mipmap-xxxhdpi/live_icon_cheat_en.webp
#	live/src/main/res/mipmap-xxxhdpi/live_icon_leftt_sliding.webp
#	live/src/main/res/mipmap-xxxhdpi/live_icon_new_people_cn.webp
#	live/src/main/res/mipmap-xxxhdpi/live_icon_newpeople_en.webp
#	live/src/main/res/mipmap-xxxhdpi/live_icon_play.webp
#	live/src/main/res/mipmap-xxxhdpi/live_icon_play_en.webp
#	live/src/main/res/mipmap-xxxhdpi/live_icon_seat.webp
#	live/src/main/res/mipmap-xxxhdpi/live_icon_wishlist.webp
#	live/src/main/res/mipmap-xxxhdpi/live_icon_zhouxing.webp
#	live/src/main/res/mipmap-xxxhdpi/live_pk_time_bg.webp
#	live/src/main/res/mipmap-xxxhdpi/new_message_cn.webp
#	live/src/main/res/mipmap-xxxhdpi/new_message_en.webp
#	live/src/main/res/mipmap-xxxhdpi/news_icon_clearance.webp
#	live/src/main/res/mipmap-xxxhdpi/prank_icon.webp
#	live/src/main/res/mipmap-xxxhdpi/rc_unread_count_bg_normal.webp
#	live/src/main/res/mipmap-xxxhdpi/sh_img_title.webp
#	live/src/main/res/mipmap-xxxhdpi/super_emperor_rom.webp
#	live/src/main/res/mipmap-xxxhdpi/tag_god.webp
#	live/src/main/res/mipmap-xxxhdpi/tag_god_hui.webp
#	live/src/main/res/mipmap-xxxhdpi/tag_king.webp
#	live/src/main/res/mipmap-xxxhdpi/tag_king_hui.webp
#	live/src/main/res/mipmap-xxxhdpi/tag_start.webp
#	live/src/main/res/mipmap-xxxhdpi/tag_start_hui.webp
#	live/src/main/res/mipmap-xxxhdpi/turntable_icon.webp
#	live/src/main/res/mipmap-xxxhdpi/viptip_box.webp
#	live/src/main/res/mipmap-xxxhdpi/white_bg.webp
#	live/src/main/res/mipmap-zh/bixin.webp
#	live/src/main/res/mipmap-zh/btn_attention.webp
#	live/src/main/res/mipmap-zh/dialog_task_info.webp
#	live/src/main/res/mipmap-zh/dialog_task_new_star.webp
#	live/src/main/res/mipmap-zh/gift_naming_icon.webp
#	live/src/main/res/mipmap-zh/grayicon.webp
#	live/src/main/res/mipmap-zh/guard_btn_buy_first_icon.webp
#	live/src/main/res/mipmap-zh/guard_btn_buy_icon.webp
#	live/src/main/res/mipmap-zh/guard_notice.webp
#	live/src/main/res/mipmap-zh/guardian_img_wings_p.webp
#	live/src/main/res/mipmap-zh/ic_live_float_call_me.webp
#	live/src/main/res/mipmap-zh/ic_live_user_mailbox.webp
#	live/src/main/res/mipmap-zh/icon_blind_box_headlines.webp
#	live/src/main/res/mipmap-zh/icon_cange.webp
#	live/src/main/res/mipmap-zh/img_guardian_empty.webp
#	live/src/main/res/mipmap-zh/img_guardian_online.webp
#	live/src/main/res/mipmap-zh/report_add.webp
#	live/src/main/res/mipmap-zh/sh_img_title.webp
#	live/src/main/res/mipmap-zh/super_notice.webp
#	live/src/main/res/mipmap-zh/vip_notice.webp
#	main/src/main/res/mipmap-mdpi/bg_main_item_bottom.webp
#	main/src/main/res/mipmap-mdpi/bg_share_1.webp
#	main/src/main/res/mipmap-mdpi/bg_user_home_detail_1.webp
#	main/src/main/res/mipmap-mdpi/bonus_gold.webp
#	main/src/main/res/mipmap-mdpi/btn_camera.webp
#	main/src/main/res/mipmap-mdpi/btn_close.webp
#	main/src/main/res/mipmap-mdpi/btn_f1ollowing.webp
#	main/src/main/res/mipmap-mdpi/btn_goto.webp
#	main/src/main/res/mipmap-mdpi/btn_signin.webp
#	main/src/main/res/mipmap-mdpi/df_nobe.webp
#	main/src/main/res/mipmap-mdpi/home_btn_edit.webp
#	main/src/main/res/mipmap-mdpi/home_me_diamonds.webp
#	main/src/main/res/mipmap-mdpi/home_me_gold.webp
#	main/src/main/res/mipmap-mdpi/home_type.webp
#	main/src/main/res/mipmap-mdpi/icon_arrow_right_2.webp
#	main/src/main/res/mipmap-mdpi/icon_bonus_0.webp
#	main/src/main/res/mipmap-mdpi/icon_bonus_1.webp
#	main/src/main/res/mipmap-mdpi/icon_bonus_2.webp
#	main/src/main/res/mipmap-mdpi/icon_bonus_5.webp
#	main/src/main/res/mipmap-mdpi/icon_bonus_top.webp
#	main/src/main/res/mipmap-mdpi/icon_cash_ali.webp
#	main/src/main/res/mipmap-mdpi/icon_cash_bank.webp
#	main/src/main/res/mipmap-mdpi/icon_cash_delete.webp
#	main/src/main/res/mipmap-mdpi/icon_cash_radio_0.webp
#	main/src/main/res/mipmap-mdpi/icon_cash_radio_1.webp
#	main/src/main/res/mipmap-mdpi/icon_cash_wx.webp
#	main/src/main/res/mipmap-mdpi/icon_charge_bg.webp
#	main/src/main/res/mipmap-mdpi/icon_csd.webp
#	main/src/main/res/mipmap-mdpi/icon_csd2.webp
#	main/src/main/res/mipmap-mdpi/icon_home_top_follow.webp
#	main/src/main/res/mipmap-mdpi/icon_home_top_live.webp
#	main/src/main/res/mipmap-mdpi/icon_home_top_video.webp
#	main/src/main/res/mipmap-mdpi/icon_invite_share_icon.webp
#	main/src/main/res/mipmap-mdpi/icon_live_user_home_1.webp
#	main/src/main/res/mipmap-mdpi/icon_login_down.webp
#	main/src/main/res/mipmap-mdpi/icon_main_follow.webp
#	main/src/main/res/mipmap-mdpi/icon_main_list_head_1.webp
#	main/src/main/res/mipmap-mdpi/icon_main_list_head_2.webp
#	main/src/main/res/mipmap-mdpi/icon_main_list_head_3.webp
#	main/src/main/res/mipmap-mdpi/icon_main_list_medal_1.webp
#	main/src/main/res/mipmap-mdpi/icon_main_list_medal_2.webp
#	main/src/main/res/mipmap-mdpi/icon_main_list_medal_3.webp
#	main/src/main/res/mipmap-mdpi/icon_main_list_no_data.webp
#	main/src/main/res/mipmap-mdpi/icon_main_live_num.webp
#	main/src/main/res/mipmap-mdpi/icon_main_live_type_0.webp
#	main/src/main/res/mipmap-mdpi/icon_main_live_type_1.webp
#	main/src/main/res/mipmap-mdpi/icon_main_live_type_2.webp
#	main/src/main/res/mipmap-mdpi/icon_main_live_type_3.webp
#	main/src/main/res/mipmap-mdpi/icon_main_me_detail.webp
#	main/src/main/res/mipmap-mdpi/icon_main_me_msg.webp
#	main/src/main/res/mipmap-mdpi/icon_main_me_shop.webp
#	main/src/main/res/mipmap-mdpi/icon_main_me_wallet.webp
#	main/src/main/res/mipmap-mdpi/icon_main_msg.webp
#	main/src/main/res/mipmap-mdpi/icon_main_msg_clean.webp
#	main/src/main/res/mipmap-mdpi/icon_main_near_location.webp
#	main/src/main/res/mipmap-mdpi/icon_main_rest_spot.webp
#	main/src/main/res/mipmap-mdpi/icon_main_rest_work.webp
#	main/src/main/res/mipmap-mdpi/icon_main_search.webp
#	main/src/main/res/mipmap-mdpi/icon_main_start.webp
#	main/src/main/res/mipmap-mdpi/icon_main_start_close.webp
#	main/src/main/res/mipmap-mdpi/icon_main_start_live.webp
#	main/src/main/res/mipmap-mdpi/icon_main_start_video.webp
#	main/src/main/res/mipmap-mdpi/icon_main_tab_list_00.webp
#	main/src/main/res/mipmap-mdpi/icon_main_tab_list_01.webp
#	main/src/main/res/mipmap-mdpi/icon_main_tab_near_00.webp
#	main/src/main/res/mipmap-mdpi/icon_main_video_num.webp
#	main/src/main/res/mipmap-mdpi/icon_more_gray.webp
#	main/src/main/res/mipmap-mdpi/icon_position.webp
#	main/src/main/res/mipmap-mdpi/icon_profit_1.webp
#	main/src/main/res/mipmap-mdpi/icon_reg_code.webp
#	main/src/main/res/mipmap-mdpi/icon_reg_phone.webp
#	main/src/main/res/mipmap-mdpi/icon_reg_pwd.webp
#	main/src/main/res/mipmap-mdpi/icon_sex_female_0.webp
#	main/src/main/res/mipmap-mdpi/icon_sex_male.webp
#	main/src/main/res/mipmap-mdpi/icon_shop.webp
#	main/src/main/res/mipmap-mdpi/icon_user_home_avatar_empty.webp
#	main/src/main/res/mipmap-mdpi/icon_user_home_black.webp
#	main/src/main/res/mipmap-mdpi/icon_user_home_follow_1.webp
#	main/src/main/res/mipmap-mdpi/icon_user_home_follow_11.webp
#	main/src/main/res/mipmap-mdpi/icon_user_home_follow_33.webp
#	main/src/main/res/mipmap-mdpi/icon_user_home_share.webp
#	main/src/main/res/mipmap-mdpi/icon_user_home_share_1.webp
#	main/src/main/res/mipmap-mdpi/icon_userid.webp
#	main/src/main/res/mipmap-mdpi/icon_userlv.webp
#	main/src/main/res/mipmap-mdpi/icon_video.webp
#	main/src/main/res/mipmap-mdpi/icon_vip_gold.webp
#	main/src/main/res/mipmap-mdpi/icon_war_order.webp
#	main/src/main/res/mipmap-mdpi/icon_zhubolv.webp
#	main/src/main/res/mipmap-mdpi/live_zt.webp
#	main/src/main/res/mipmap-mdpi/logo_bg.webp
#	main/src/main/res/mipmap-mdpi/me_msagess.webp
#	main/src/main/res/mipmap-mdpi/multiplayerpk.webp
#	main/src/main/res/mipmap-mdpi/new_bg.webp
#	main/src/main/res/mipmap-mdpi/search_del.webp
#	main/src/main/res/mipmap-mdpi/title_back.webp
#	main/src/main/res/mipmap-mdpi/top_back.webp
#	main/src/main/res/mipmap-mdpi/top_dms.webp
#	main/src/main/res/mipmap-mdpi/top_list_more.webp
#	main/src/main/res/mipmap-mdpi/user_info_more.webp
#	main/src/main/res/mipmap-xxhdpi/bg_battlepass_reward_item_mark.webp
#	main/src/main/res/mipmap-xxhdpi/bg_glamour3_top.webp
#	main/src/main/res/mipmap-xxhdpi/bg_zl_battlepass_exchange_btn_exchange.webp
#	main/src/main/res/mipmap-xxhdpi/bg_zl_battlepass_exchange_btn_lock.webp
#	main/src/main/res/mipmap-xxhdpi/bg_zl_battlepass_exchange_btn_over.webp
#	main/src/main/res/mipmap-xxhdpi/bg_zl_battlepass_exchange_item2.webp
#	main/src/main/res/mipmap-xxhdpi/bg_zl_battlepass_reward_item.webp
#	main/src/main/res/mipmap-xxhdpi/bg_zl_battlepass_reward_item_unlock.webp
#	main/src/main/res/mipmap-xxhdpi/bg_zl_user_bottom.webp
#	main/src/main/res/mipmap-xxhdpi/bg_zl_user_button.webp
#	main/src/main/res/mipmap-xxhdpi/bg_zl_user_top.webp
#	main/src/main/res/mipmap-xxhdpi/btn_add.webp
#	main/src/main/res/mipmap-xxhdpi/chat_back.webp
#	main/src/main/res/mipmap-xxhdpi/emperor_recommendation.webp
#	main/src/main/res/mipmap-xxhdpi/home_00000.webp
#	main/src/main/res/mipmap-xxhdpi/home_00001.webp
#	main/src/main/res/mipmap-xxhdpi/home_00002.webp
#	main/src/main/res/mipmap-xxhdpi/home_00003.webp
#	main/src/main/res/mipmap-xxhdpi/home_00004.webp
#	main/src/main/res/mipmap-xxhdpi/home_00005.webp
#	main/src/main/res/mipmap-xxhdpi/home_00006.webp
#	main/src/main/res/mipmap-xxhdpi/home_00007.webp
#	main/src/main/res/mipmap-xxhdpi/home_00008.webp
#	main/src/main/res/mipmap-xxhdpi/home_00009.webp
#	main/src/main/res/mipmap-xxhdpi/home_00010.webp
#	main/src/main/res/mipmap-xxhdpi/home_00011.webp
#	main/src/main/res/mipmap-xxhdpi/home_00012.webp
#	main/src/main/res/mipmap-xxhdpi/home_00013.webp
#	main/src/main/res/mipmap-xxhdpi/home_00014.webp
#	main/src/main/res/mipmap-xxhdpi/home_00015.webp
#	main/src/main/res/mipmap-xxhdpi/home_00016.webp
#	main/src/main/res/mipmap-xxhdpi/home_00017.webp
#	main/src/main/res/mipmap-xxhdpi/home_00018.webp
#	main/src/main/res/mipmap-xxhdpi/home_00019.webp
#	main/src/main/res/mipmap-xxhdpi/home_00020.webp
#	main/src/main/res/mipmap-xxhdpi/home_00021.webp
#	main/src/main/res/mipmap-xxhdpi/home_00022.webp
#	main/src/main/res/mipmap-xxhdpi/home_00023.webp
#	main/src/main/res/mipmap-xxhdpi/home_00024.webp
#	main/src/main/res/mipmap-xxhdpi/home_00025.webp
#	main/src/main/res/mipmap-xxhdpi/home_00026.webp
#	main/src/main/res/mipmap-xxhdpi/home_00027.webp
#	main/src/main/res/mipmap-xxhdpi/home_00028.webp
#	main/src/main/res/mipmap-xxhdpi/home_00029.webp
#	main/src/main/res/mipmap-xxhdpi/home_00030.webp
#	main/src/main/res/mipmap-xxhdpi/home_00031.webp
#	main/src/main/res/mipmap-xxhdpi/home_00032.webp
#	main/src/main/res/mipmap-xxhdpi/home_00033.webp
#	main/src/main/res/mipmap-xxhdpi/home_00034.webp
#	main/src/main/res/mipmap-xxhdpi/home_00035.webp
#	main/src/main/res/mipmap-xxhdpi/home_00036.webp
#	main/src/main/res/mipmap-xxhdpi/home_00037.webp
#	main/src/main/res/mipmap-xxhdpi/home_00038.webp
#	main/src/main/res/mipmap-xxhdpi/home_00039.webp
#	main/src/main/res/mipmap-xxhdpi/ic_feedback_edit_image_del.webp
#	main/src/main/res/mipmap-xxhdpi/ic_reward_tab_normal.webp
#	main/src/main/res/mipmap-xxhdpi/ic_reward_tab_ultimate.webp
#	main/src/main/res/mipmap-xxhdpi/ic_reward_tab_ultimate_unselect.webp
#	main/src/main/res/mipmap-xxhdpi/ic_reward_tab_upgrade.webp
#	main/src/main/res/mipmap-xxhdpi/ic_reward_tab_upgrade_unselect.webp
#	main/src/main/res/mipmap-xxhdpi/ic_zl_back.webp
#	main/src/main/res/mipmap-xxhdpi/ic_zl_battlepass_reward_item_received.webp
#	main/src/main/res/mipmap-xxhdpi/ic_zl_battlepass_reward_item_unlock.webp
#	main/src/main/res/mipmap-xxhdpi/ic_zl_battlpas_exchange_subscript.webp
#	main/src/main/res/mipmap-xxhdpi/ic_zl_battlpas_exchange_subscript2.webp
#	main/src/main/res/mipmap-xxhdpi/ic_zl_battlpas_exchange_top_subscript.webp
#	main/src/main/res/mipmap-xxhdpi/ic_zl_battlpas_exchange_top_subscript2.webp
#	main/src/main/res/mipmap-xxhdpi/ic_zl_tab1.webp
#	main/src/main/res/mipmap-xxhdpi/ic_zl_tab1_unselect.webp
#	main/src/main/res/mipmap-xxhdpi/ic_zl_tab2.webp
#	main/src/main/res/mipmap-xxhdpi/ic_zl_tab2_unselect.webp
#	main/src/main/res/mipmap-xxhdpi/ic_zl_tab3.webp
#	main/src/main/res/mipmap-xxhdpi/ic_zl_tab3_unselect.webp
#	main/src/main/res/mipmap-xxhdpi/icon_activity_feedback_edit_img_add.webp
#	main/src/main/res/mipmap-xxhdpi/icon_activity_feedback_success.webp
#	main/src/main/res/mipmap-xxhdpi/icon_back_community.webp
#	main/src/main/res/mipmap-xxhdpi/icon_back_white.webp
#	main/src/main/res/mipmap-xxhdpi/icon_battle_all_get.webp
#	main/src/main/res/mipmap-xxhdpi/icon_bp_flot.webp
#	main/src/main/res/mipmap-xxhdpi/icon_contribute.webp
#	main/src/main/res/mipmap-xxhdpi/icon_edit.webp
#	main/src/main/res/mipmap-xxhdpi/icon_invitecode.webp
#	main/src/main/res/mipmap-xxhdpi/icon_more.webp
#	main/src/main/res/mipmap-xxhdpi/icon_quxiao.webp
#	main/src/main/res/mipmap-xxhdpi/icon_searchbar.webp
#	main/src/main/res/mipmap-xxhdpi/icon_username.webp
#	main/src/main/res/mipmap-xxhdpi/icon_yongh.webp
#	main/src/main/res/mipmap-xxhdpi/icon_zhubo.webp
#	main/src/main/res/mipmap-xxhdpi/img_bg.webp
#	main/src/main/res/mipmap-xxhdpi/img_news_instructor_bg.webp
#	main/src/main/res/mipmap-xxhdpi/img_news_interaction.webp
#	main/src/main/res/mipmap-xxhdpi/img_news_notice.webp
#	main/src/main/res/mipmap-xxhdpi/img_news_online.webp
#	main/src/main/res/mipmap-xxhdpi/img_search_empty.webp
#	main/src/main/res/mipmap-xxhdpi/img_system_messages.webp
#	main/src/main/res/mipmap-xxhdpi/rc_unread_count_bg_normal.webp
#	main/src/main/res/mipmap-xxhdpi/superemperor_recommendation.webp
#	main/src/main/res/mipmap-xxhdpi/waiting_tip.webp
#	main/src/main/res/mipmap-xxhdpi/zl_user_pass.webp
#	main/src/main/res/mipmap-xxxhdpi/bg_complete_information_progress.webp
#	main/src/main/res/mipmap-xxxhdpi/bg_complete_information_progress2.webp
#	main/src/main/res/mipmap-xxxhdpi/bg_submit.webp
#	main/src/main/res/mipmap-xxxhdpi/bg_submit_cancel.webp
#	main/src/main/res/mipmap-xxxhdpi/bg_zl.webp
#	main/src/main/res/mipmap-xxxhdpi/icon_code.webp
#	main/src/main/res/mipmap-xxxhdpi/icon_complete_information.webp
#	main/src/main/res/mipmap-xxxhdpi/icon_facebook.webp
#	main/src/main/res/mipmap-xxxhdpi/icon_golden_bean.webp
#	main/src/main/res/mipmap-xxxhdpi/icon_medal.webp
#	main/src/main/res/mipmap-xxxhdpi/icon_password.webp
#	main/src/main/res/mipmap-xxxhdpi/icon_phone.webp
#	main/src/main/res/mipmap-xxxhdpi/icon_phone2.webp
#	main/src/main/res/mipmap-xxxhdpi/icon_position.webp
#	main/src/main/res/mipmap-xxxhdpi/icon_profile_photo.webp
#	main/src/main/res/mipmap-xxxhdpi/icon_twitter.webp
#	main/src/main/res/mipmap-xxxhdpi/icons_password.webp
#	main/src/main/res/mipmap-xxxhdpi/img_no_gz.webp
#	main/src/main/res/mipmap-xxxhdpi/login_facebook.webp
#	main/src/main/res/mipmap-xxxhdpi/login_google.webp
#	main/src/main/res/mipmap-xxxhdpi/login_line.webp
#	main/src/main/res/mipmap-xxxhdpi/login_phone.webp
#	main/src/main/res/mipmap-xxxhdpi/login_ties_bg.webp
#	main/src/main/res/mipmap-xxxhdpi/special_icon_off.webp
#	main/src/main/res/mipmap-xxxhdpi/special_icon_on.webp
#	main/src/main/res/mipmap-xxxhdpi/successfully.webp
#	main/src/main/res/mipmap-zh/ic_reward_tab_normal.webp
#	main/src/main/res/mipmap-zh/ic_reward_tab_ultimate.webp
#	main/src/main/res/mipmap-zh/ic_reward_tab_ultimate_unselect.webp
#	main/src/main/res/mipmap-zh/ic_reward_tab_upgrade.webp
#	main/src/main/res/mipmap-zh/ic_reward_tab_upgrade_unselect.webp
#	main/src/main/res/mipmap-zh/ic_zl_battlepass_reward_item_received.webp
#	main/src/main/res/mipmap-zh/ic_zl_tab1.webp
#	main/src/main/res/mipmap-zh/ic_zl_tab1_unselect.webp
#	main/src/main/res/mipmap-zh/ic_zl_tab2.webp
#	main/src/main/res/mipmap-zh/ic_zl_tab2_unselect.webp
#	main/src/main/res/mipmap-zh/ic_zl_tab3.webp
#	main/src/main/res/mipmap-zh/ic_zl_tab3_unselect.webp
#	main/src/main/res/mipmap-zh/icon_bp_flot.webp
#	main/src/main/res/mipmap-zh/icon_main_live_type_1.webp
#	main/src/main/res/mipmap-zh/multiplayerpk.webp
#	main/src/main/res/mipmap-zh/zl_user_pass.webp
This commit is contained in:
老皮
2024-10-30 14:35:30 +08:00
2269 changed files with 3659 additions and 66911 deletions

View File

@@ -145,6 +145,10 @@ public class CommonAppConfig {
private int mAppIconRes;
private String mAppName;
private Boolean mTiBeautyEnable;//是否使用萌颜 true使用萌颜 false 使用基础美颜
// 美颜SDK是否已经加载成功
public static boolean faceSDKIsLoadSuceness;
// 美颜SDK是否下载失败或者解压失败(自动试3次)
public static boolean faceSDKDownLoadOrUnZipFailed = false;
public String getUid() {
if (TextUtils.isEmpty(mUid)) {

View File

@@ -205,7 +205,9 @@ public class Constants {
public static final String Lucky100Check = "Lucky100Check";//幸运天使
public static final String PrankSendData = "PrankSendData";//整蛊进度
public static final String SOCKET_SEND_NEW_TASK_PUSH="SendNewTaskPush";//直播间-新用户完成任务push
public static final String SOCKET_SEND_NEW_TASK_IM ="SendNewTaskIM"; //直播间—新用户领取礼物IM
public static final int SOCKET_WHAT_CONN = 0;
public static final int SOCKET_WHAT_DISCONN = 2;
public static final int SOCKET_WHAT_BROADCAST = 1;
@@ -315,4 +317,11 @@ public class Constants {
public static boolean isShowLiveDialog = false;//是否在直播间打开单聊
public static int firstInto = 0;//
// 声网so
public static final String DOWNLOAD_Agora_SO = "agora_lib";
public static final String Agora_SO_Name = "agora_lib.zip";
// 美颜SO
public static final String DOWNLOAD_FaceUnity_SO = "faceunity_lib";
public static final String FaceUnity_SO_Name = "faceunity_lib.zip";
}

View File

@@ -9,11 +9,6 @@ import android.view.ViewGroup;
import android.view.animation.AccelerateInterpolator;
import android.widget.RelativeLayout;
import com.tencent.rtmp.ITXVodPlayListener;
import com.tencent.rtmp.TXLiveConstants;
import com.tencent.rtmp.TXVodPlayConfig;
import com.tencent.rtmp.TXVodPlayer;
import com.tencent.rtmp.ui.TXCloudVideoView;
import com.yunbao.common.R;
import com.yunbao.common.bean.ImageEntity;
@@ -23,13 +18,13 @@ import java.util.List;
* Created by Haoxuan Chen on 2022/05/4.
* Description:查看视频
*/
public class PreviewVideoActivity extends AbsActivity implements ITXVodPlayListener, View.OnClickListener {
public class PreviewVideoActivity extends AbsActivity implements View.OnClickListener {
View v_back;
private List<ImageEntity> mSelectedImages;
private TXCloudVideoView mTXCloudVideoView;
private TXVodPlayer mPlayer;
private TXVodPlayConfig mTXVodPlayConfig;
// private TXCloudVideoView mTXCloudVideoView;
// private TXVodPlayer mPlayer;
// private TXVodPlayConfig mTXVodPlayConfig;
private boolean mStartPlay;
private String mCachePath;
private boolean mPaused;//生命周期暂停
@@ -43,7 +38,7 @@ public class PreviewVideoActivity extends AbsActivity implements ITXVodPlayListe
public void main(Bundle savedInstanceState) {
mSelectedImages = getIntent().getParcelableArrayListExtra("preview_images");
v_back = findViewById(R.id.v_back);
mTXCloudVideoView = (TXCloudVideoView) findViewById(R.id.video_view);
// mTXCloudVideoView = (TXCloudVideoView) findViewById(R.id.video_view);
v_back.setOnClickListener(new View.OnClickListener() {
@Override
@@ -65,7 +60,7 @@ public class PreviewVideoActivity extends AbsActivity implements ITXVodPlayListe
*/
private void playAdVideo() {
mCachePath = mContext.getCacheDir().getAbsolutePath();
mTXCloudVideoView = (TXCloudVideoView) findViewById(R.id.video_view);
/* mTXCloudVideoView = (TXCloudVideoView) findViewById(R.id.video_view);
mTXCloudVideoView.setRenderMode(TXLiveConstants.RENDER_MODE_FULL_FILL_SCREEN);
mPlayer = new TXVodPlayer(mContext);
mTXVodPlayConfig = new TXVodPlayConfig();
@@ -74,7 +69,7 @@ public class PreviewVideoActivity extends AbsActivity implements ITXVodPlayListe
mPlayer.setConfig(mTXVodPlayConfig);
mPlayer.setAutoPlay(true);
mPlayer.setVodListener(this);
mPlayer.setPlayerView(mTXCloudVideoView);
mPlayer.setPlayerView(mTXCloudVideoView);*/
findViewById(R.id.root).setOnClickListener(this);
mVideoCover = findViewById(R.id.video_cover);
mPlayBtn = findViewById(R.id.btn_play);
@@ -104,7 +99,7 @@ public class PreviewVideoActivity extends AbsActivity implements ITXVodPlayListe
if (TextUtils.isEmpty(url)) {
return;
}
if (mTXVodPlayConfig == null) {
/* if (mTXVodPlayConfig == null) {
mTXVodPlayConfig = new TXVodPlayConfig();
mTXVodPlayConfig.setMaxCacheItems(15);
mTXVodPlayConfig.setProgressInterval(200);
@@ -117,14 +112,14 @@ public class PreviewVideoActivity extends AbsActivity implements ITXVodPlayListe
mPlayer.setConfig(mTXVodPlayConfig);
if (mPlayer != null) {
mPlayer.startPlay(url);
}
}*/
}
/**
* 获取到视频宽高回调
*/
public void onVideoSizeChanged(float videoWidth, float videoHeight) {
if (mTXCloudVideoView != null && videoWidth > 0 && videoHeight > 0) {
/*if (mTXCloudVideoView != null && videoWidth > 0 && videoHeight > 0) {
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) mTXCloudVideoView.getLayoutParams();
int targetH = 0;
if (videoWidth / videoHeight > 0.5625f) {//横屏 9:16=0.5625
@@ -139,26 +134,26 @@ public class PreviewVideoActivity extends AbsActivity implements ITXVodPlayListe
if (mVideoCover != null && mVideoCover.getVisibility() == View.VISIBLE) {
mVideoCover.setVisibility(View.INVISIBLE);
}
}
}*/
}
/**
* 停止播放
*/
public void stopPlay() {
if (mPlayer != null) {
/* if (mPlayer != null) {
mPlayer.stopPlay(false);
}
}*/
}
/**
* 循环播放
*/
private void replay() {
if (mPlayer != null) {
/* if (mPlayer != null) {
mPlayer.seek(0);
mPlayer.resume();
}
}*/
}
/**
@@ -194,13 +189,13 @@ public class PreviewVideoActivity extends AbsActivity implements ITXVodPlayListe
if (!mStartPlay) {
return;
}
if (mPlayer != null) {
/* if (mPlayer != null) {
if (mClickPaused) {
mPlayer.resume();
} else {
mPlayer.pause();
}
}
}*/
mClickPaused = !mClickPaused;
if (mClickPaused) {
showPlayBtn();
@@ -212,52 +207,13 @@ public class PreviewVideoActivity extends AbsActivity implements ITXVodPlayListe
}
}
/**
* 播放器事件回调
*/
@Override
public void onPlayEvent(TXVodPlayer txVodPlayer, int e, Bundle bundle) {
switch (e) {
case TXLiveConstants.PLAY_EVT_PLAY_BEGIN://加载完成,开始播放的回调
mStartPlay = true;
if (mActionListener != null) {
mActionListener.onPlayBegin();
}
break;
case TXLiveConstants.PLAY_EVT_PLAY_LOADING: //开始加载的回调
if (mActionListener != null) {
mActionListener.onPlayLoading();
}
break;
case TXLiveConstants.PLAY_EVT_PLAY_END://获取到视频播放完毕的回调
replay();
break;
case TXLiveConstants.PLAY_EVT_RCV_FIRST_I_FRAME://获取到视频首帧回调
if (mActionListener != null) {
mActionListener.onFirstFrame();
}
if (mPaused && mPlayer != null) {
mPlayer.pause();
}
break;
case TXLiveConstants.PLAY_EVT_CHANGE_RESOLUTION://获取到视频宽高回调
onVideoSizeChanged(bundle.getInt("EVT_PARAM1", 0), bundle.getInt("EVT_PARAM2", 0));
break;
}
}
@Override
public void onNetStatus(TXVodPlayer txVodPlayer, Bundle bundle) {
}
public void release() {
if (mPlayer != null) {
/* if (mPlayer != null) {
mPlayer.stopPlay(false);
mPlayer.setPlayListener(null);
}
mPlayer = null;
mPlayer = null;*/
mActionListener = null;
}
@@ -279,9 +235,9 @@ public class PreviewVideoActivity extends AbsActivity implements ITXVodPlayListe
*/
public void pausePlay() {
mPaused = true;
if (!mClickPaused && mPlayer != null) {
/* if (!mClickPaused && mPlayer != null) {
mPlayer.pause();
}
}*/
}
/**
@@ -289,9 +245,9 @@ public class PreviewVideoActivity extends AbsActivity implements ITXVodPlayListe
*/
public void resumePlay() {
if (mPaused) {
if (!mClickPaused && mPlayer != null) {
/* if (!mClickPaused && mPlayer != null) {
mPlayer.resume();
}
}*/
}
mPaused = false;
}

View File

@@ -34,7 +34,9 @@ import com.yunbao.common.CommonAppContext;
import com.yunbao.common.Constants;
import com.yunbao.common.HtmlConfig;
import com.yunbao.common.R;
import com.yunbao.common.bean.IMLoginModel;
import com.yunbao.common.bean.LiveBean;
import com.yunbao.common.dialog.GiftWallDialog;
import com.yunbao.common.event.JavascriptInterfaceEvent;
import com.yunbao.common.event.LiveRoomChangeEvent;
import com.yunbao.common.http.LiveHttpUtil;

View File

@@ -117,6 +117,37 @@ public class EnterRoomInfoModel extends BaseModel {
@SerializedName("connection_info")
private LivePkMicModel connectionInfo;
@SerializedName("is_first_entry")
private String isFirstEntry;
@SerializedName("is_new_user")
private String isNewUser;
@SerializedName("is_com_all")
private String isComAll;
public String getIsFirstEntry() {
return isFirstEntry;
}
public void setIsFirstEntry(String isFirstEntry) {
this.isFirstEntry = isFirstEntry;
}
public String getIsNewUser() {
return isNewUser;
}
public void setIsNewUser(String isNewUser) {
this.isNewUser = isNewUser;
}
public String getIsComAll() {
return isComAll;
}
public void setIsComAll(String isComAll) {
this.isComAll = isComAll;
}
public LivePkMicModel getConnectionInfo() {
return connectionInfo;
}

View File

@@ -19,6 +19,21 @@ public class LiveAiRobotBean extends BaseModel {
@SerializedName("ai_gz")
private int autoRequestFollowNumber;//自动求关注已配置数量
@SerializedName("ai_langue")//0中文1英文
private int aiLangue;
public int getAiLangue() {
return aiLangue;
}
public Boolean isLangueCn(){
return aiLangue==0;
}
public void setAiLangue(int aiLangue) {
this.aiLangue = aiLangue;
}
public LiveAiRobotBean() {
}

View File

@@ -0,0 +1,37 @@
package com.yunbao.common.bean;
public class ReportInfoBean {
/* {
"touid": 99455,
"user_nicename": "小盒主播2",
"avatar": "https://downs.yaoulive.com/20240516102555_cf329486d39121125b182a779bbc3278?imageView2/2/w/600/h/600"
}*/
private String touid;
private String user_nicename;
private String avatar;
public String getTouid() {
return touid;
}
public void setTouid(String touid) {
this.touid = touid;
}
public String getUser_nicename() {
return user_nicename;
}
public void setUser_nicename(String user_nicename) {
this.user_nicename = user_nicename;
}
public String getAvatar() {
return avatar;
}
public void setAvatar(String avatar) {
this.avatar = avatar;
}
}

View File

@@ -27,6 +27,7 @@ public abstract class AbsDialogFragment extends DialogFragment {
protected Context mContext;
protected View mRootView;
protected Dialog dialog;
@NonNull
@Override
@@ -37,7 +38,7 @@ public abstract class AbsDialogFragment extends DialogFragment {
} else {
mRootView = LayoutInflater.from(mContext).inflate(getLayoutId(), null);
}
Dialog dialog = new Dialog(mContext, getDialogStyle());
dialog = new Dialog(mContext, getDialogStyle());
dialog.setContentView(mRootView);
dialog.setCancelable(canCancel());
dialog.setCanceledOnTouchOutside(canCancel());

View File

@@ -0,0 +1,81 @@
package com.yunbao.common.dialog;
import android.content.Context;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
import com.lxj.xpopup.core.CenterPopupView;
import com.yunbao.common.R;
import com.yunbao.common.http.live.LiveNetManager;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
public class DragonRuleConfirmPopup extends CenterPopupView {
private TextView text_1;
private TextView text_2;
private TextView text_3;
private ImageView closed_iv;
private String mLiveUid;
private int mGoldMoney;// 總數
private int mMoney;// 輸入的
public DragonRuleConfirmPopup(Context context, long goldMoney, long money, String mLiveUid) {
super(context);
this.mGoldMoney = (int) goldMoney;
this.mMoney =(int) money;
this.mLiveUid = mLiveUid;
}
// 返回自定义弹窗的布局
@Override
protected int getImplLayoutId() {
return R.layout.dragon_rule_popup_3;
}
// 执行初始化操作比如findView设置点击或者任何你弹窗内的业务逻辑
@Override
protected void onCreate() {
super.onCreate();
text_1 = findViewById(R.id.text_1);
text_2 = findViewById(R.id.text_2);
text_3 = findViewById(R.id.text_3);
closed_iv = findViewById(R.id.closed_iv);
text_1.setText(String.format(WordUtil.getString(R.string.dialog_jin_dou_1), mMoney));
text_2.setText(String.format(WordUtil.getString(R.string.dialog_jin_dou_2), (mMoney/10)));
text_3.setText(String.format(WordUtil.getString(R.string.dialog_jin_dou_3), mGoldMoney-mMoney));
ViewClicksAntiShake.clicksAntiShake(closed_iv, new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
dismiss();
}
});
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.btn_confirm), new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
LiveNetManager.get(getContext())
.sendMoneyLong(mLiveUid, String.valueOf(mMoney), new com.yunbao.common.http.base.HttpCallback<String>() {
@Override
public void onSuccess(String data) {
dismiss();
ToastUtil.show(WordUtil.isNewZh() ? "開啓成功" : "Open successfully");
}
@Override
public void onError(String error) {
ToastUtil.show(error);
}
});
}
});
}
}

View File

@@ -15,7 +15,6 @@ import com.yunbao.common.R;
import com.yunbao.common.interfaces.ActivityResultCallback;
import com.yunbao.common.utils.ToastUtil;
import cn.rongcloud.rtc.api.RCRTCEngine;
/**
* Created by cxf on 2018/9/29.
@@ -117,11 +116,6 @@ public class ProcessFragment extends Fragment {
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
try {
RCRTCEngine.getInstance().getDefaultVideoStream().startCamera(null);
}catch (Exception e){
}
if (mActivityResultCallback != null) {
if (resultCode == -1) {//RESULT_OK
mActivityResultCallback.onSuccess(data);

View File

@@ -5,6 +5,7 @@ import android.content.Context;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.text.TextUtils;
import android.util.Log;
import android.widget.ImageView;
import androidx.annotation.NonNull;
@@ -240,13 +241,12 @@ public class ImgLoader {
if (width != -1 && height != -1) {
builder = builder.override(width, height);
}
builder.thumbnail(thumbnail).skipMemoryCache(SKIP_MEMORY_CACHE).into(new CustomTarget<Drawable>() {
builder.skipMemoryCache(SKIP_MEMORY_CACHE).into(new CustomTarget<Drawable>() {
@Override
public void onResourceReady(@NonNull Drawable resource, @Nullable Transition<? super Drawable> transition) {
if (callback != null) {
callback.onLoadSuccess(resource);
}
}

View File

@@ -68,5 +68,7 @@ public class LiveHttpConsts {
public static final String ISHOTCARD = "isHotCard";
public static final String USEHOTCARDUSERLIST = "useHotCardUserList";
public static final String SETINSTRUCTORREMARK = "getInstructorRemark";
public static final String SETREPORTREPLENISHMENT = "setReportReplenishment";
public static final String GETREPORTINFO = "getReportInfo";
}

View File

@@ -237,6 +237,7 @@ public class LiveHttpUtil {
HttpClient.getInstance().get("yonghujubao", LiveHttpConsts.SET_REPORT)
.params("touid", touid)
.params("content", content)
.params("app_type", "1")
.execute(callback);
}
@@ -248,6 +249,7 @@ public class LiveHttpUtil {
.isMultipart(true)
.params("touid", touid)
.params("report_argument", report_argument)
.params("app_type", "1")
.params("content", content);
if (file1 != null) {
request.params("file1", file1);
@@ -264,6 +266,36 @@ public class LiveHttpUtil {
request.execute(callback);
}
/**
* 举报用户 + 图片 二次补充证据
*/
public static void setReportToSecondReport(int report_id, String content, File file1, File file2, File file3, HttpCallback callback) {
PostRequest<JsonBean> request = HttpClient.getInstance().post("Live.setReportReplenishment", LiveHttpConsts.SETREPORTREPLENISHMENT)
.isMultipart(true)
.params("report_id", report_id)
.params("content", content);
if (file1 != null) {
request.params("file1", file1);
}
if (file2 != null) {
request.params("file2", file2);
}
if (file3 != null) {
request.params("file3", file3);
}
request.execute(callback);
}
/**
* 获取被举报人的名字
*/
public static void getReportName(int report_id, HttpCallback callback) {
HttpClient.getInstance().get("Live.getReportInfo", LiveHttpConsts.GETREPORTINFO)
.params("report_id", report_id)
.execute(callback);
}
/**
* 直播间点击聊天列表和头像出现的弹窗
*/

View File

@@ -635,7 +635,8 @@ public interface PDLiveApi {
@GET("/huoquxitongxiaoxixiangqing")
Observable<ResponseModel<List<ListInfoMessageModel>>> getListInfo(
@Query("type") String type,
@Query("p") int p);
@Query("p") int p,
@Query("app_type") String app_type);
/**
* 获取主播任务列表

View File

@@ -26,5 +26,5 @@ public interface CheckLiveCallBack {
*
* @param error
*/
void onError(String error);
void onError(String error,int code);
}

View File

@@ -445,12 +445,12 @@ public class LiveNetManager {
}
} else {
if (callBack != null) {
callBack.onError(listResponseModel.getData().getMsg());
callBack.onError(listResponseModel.getData().getMsg(), listResponseModel.getData().getCode());
}
}
} else {
if (callBack != null) {
callBack.onError(listResponseModel.getData().getMsg());
callBack.onError(listResponseModel.getData().getMsg(), listResponseModel.getData().getCode());
}
}
}
@@ -459,7 +459,7 @@ public class LiveNetManager {
public void accept(Throwable throwable) throws Exception {
Log.e("异常", "checkLive: ", throwable);
if (callBack != null) {
callBack.onError(throwable.getMessage());
callBack.onError(throwable.getMessage(), -1008611);
}
}
}).isDisposed();
@@ -1194,7 +1194,7 @@ public class LiveNetManager {
public void getListInfo(String type, int p, HttpCallback<List<ListInfoMessageModel>> callback) {
API.get().pdLiveApi(mContext)
.getListInfo(type, p)
.getListInfo(type, p,"1")
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(listResponseModel -> {

View File

@@ -1,270 +0,0 @@
package com.yunbao.common.manager;
import static cn.rongcloud.rtc.base.RTCErrorCode.JOIN_CHAT_ROOM_TIMEOUT;
import android.os.Handler;
import android.os.Looper;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Timer;
import java.util.TimerTask;
import cn.rongcloud.rtc.api.RCRTCEngine;
import cn.rongcloud.rtc.api.RCRTCRemoteUser;
import cn.rongcloud.rtc.api.RCRTCRoom;
import cn.rongcloud.rtc.api.callback.IRCRTCResultCallback;
import cn.rongcloud.rtc.api.callback.IRCRTCRoomEventsListener;
import cn.rongcloud.rtc.api.stream.RCRTCInputStream;
import cn.rongcloud.rtc.base.RTCErrorCode;
/**
* RTC管理类负责管理申请、同意、拒绝PK
*/
public class IMRTCManager {
private static IMRTCManager manager;
private RCRTCRoom rtcRoom;
private List<String> requestUid;
private IMRTCManager() {
requestUid = new ArrayList<>();
}
public static IMRTCManager getInstance() {
if (manager == null) {
manager = new IMRTCManager();
}
return manager;
}
public void setRtcRoom(RCRTCRoom rtcRoom) {
this.rtcRoom = rtcRoom;
}
/**
* 响应PK请求
*
* @param liveUid 对方房间号
* @param agree 是否同意
* @param extra 扩展参数
* @param callback 回调
*/
public void responseJoinOtherRoom(String liveUid, boolean agree, String extra, IRCRTCResultCallback callback) {
if (rtcRoom != null) {
/*
inviterRoomId - 邀请者所在房间 id
inviterUserId - 邀请者用户 id
agree - 被邀请者是否同意连麦邀请
inviteeAutoMix - 是否将被邀请者音视频资源发送到邀请人房间中合流
1inviteeAutoMix 为true时
1.1:如果邀请方在发送连麦请求之前发布了资源,当被邀请方加入邀请者房间成功后,服务器会把邀请方流资源合并到被邀请方视图(默认仅悬浮布局合流)上。
1.2:如果邀请方在发送连麦请求之前没有发布资源,将会在邀请方发布资源成功后,服务器才会把邀请方的资源合并到被邀请方视图(默认仅悬浮布局合流)上。
2: 无论为true或false双方都可以使用RCRTCLiveInfo.setMixConfig(RCRTCMixConfig, IRCRTCResultCallback) 方法主动设置合流布局。一旦主动设置过合流布局,后续音视频直播过程中设置的自动合流参数将失效。
extra - 扩展字段,默认为空
*/
rtcRoom.getLocalUser().responseJoinOtherRoom(liveUid, liveUid, agree, agree, extra, callback);
} else {
callback.onFailed(RTCErrorCode.RongRTCCodeIMError);
}
}
/**
* 申请PK
*
* @param liveUid 对方房间号
* @param inviterAutoMix 是否将邀请者音视频资源发送到被邀请人房间中合流
* @param extra 扩展参数
* @param callback 回调
*/
public void requestJoinOtherRoom(String liveUid, boolean inviterAutoMix, String extra, IRCRTCResultCallback callback) {
if (requestUid.contains(liveUid)) {
callback.onFailed(RTCErrorCode.RongRTCCodeJoinRepeatedRoom);
return;
}
if (rtcRoom != null && rtcRoom.getLocalUser() != null) {
/*
inviteeRoomId - 被邀请者所在房间 id
inviteeUserId - 被邀请用户 id
inviterAutoMix - 是否将邀请者音视频资源发送到被邀请人房间中合流
1: inviterAutoMix为true时
1.1:如果被邀请方在加入邀请方房间之前发布了资源,当被邀请方加入邀请者房间成功后,服务器会把被邀请方流资源合并到邀请方视图 ·(默认仅悬浮布局合流)上。
1.2:如果被邀请方在加入邀请方房间之前没有发布过资源,将会在被邀请方发布资源成功后,服务器会把被邀请方流资源合并到邀请方视图(默认仅悬浮布局合流)上。
2:无论为true或false双方都可以使用RCRTCLiveInfo.setMixConfig(RCRTCMixConfig, IRCRTCResultCallback) 方法主动设置合流布局。一旦主动设置过合流布局,后续音视频直播过程中设置的自动合流参数将失效。
extra - 扩展字段,默认为空
*/
rtcRoom.getLocalUser().requestJoinOtherRoom(liveUid, liveUid, inviterAutoMix, extra, new IRCRTCResultCallback() {
@Override
public void onSuccess() {
callback.onSuccess();
if (!RandomPkManager.getInstance().isRandomModel()) {
if(WordUtil.isNewZh()) {
ToastUtil.show("发起邀请成功");
}else{
ToastUtil.show("successful");
}
}
requestUid.add(liveUid);
startRequestTimeoutTask(liveUid);
}
@Override
public void onFailed(RTCErrorCode errorCode) {
if (!RandomPkManager.getInstance().isRandomModel()) {
if(WordUtil.isNewZh()) {
ToastUtil.show("邀请失败 " + errorCode.getValue());
}else{
ToastUtil.show("invite failed:" +errorCode.getValue());
}
}
if (RandomPkManager.getInstance().isRequestPk()) {
RandomPkManager.getInstance().setPkStatus(RandomPkManager.PK_STATUS_REFUSE);
}
requestUid.remove(liveUid);
callback.onFailed(errorCode);
}
});
} else {
callback.onFailed(RTCErrorCode.RongRTCCodeIMError);
}
}
/**
* 注册监听对方通知类,还没搞清楚具体用法,先搁置
*
* @param listener
*/
public void registerRoomListener(IRCRTCRoomEventsListener listener) {
if (rtcRoom != null && rtcRoom.getLocalUser() != null) {
rtcRoom.registerRoomListener(new IRCRTCRoomEventsListener() {
@Override
public void onRemoteUserPublishResource(RCRTCRemoteUser remoteUser, List<RCRTCInputStream> streams) {
listener.onRemoteUserPublishResource(remoteUser, streams);
}
@Override
public void onRemoteUserMuteAudio(RCRTCRemoteUser remoteUser, RCRTCInputStream stream, boolean mute) {
listener.onRemoteUserMuteAudio(remoteUser, stream, mute);
}
@Override
public void onRemoteUserMuteVideo(RCRTCRemoteUser remoteUser, RCRTCInputStream stream, boolean mute) {
listener.onRemoteUserMuteVideo(remoteUser, stream, mute);
}
@Override
public void onRemoteUserUnpublishResource(RCRTCRemoteUser remoteUser, List<RCRTCInputStream> streams) {
listener.onRemoteUserUnpublishResource(remoteUser, streams);
}
@Override
public void onUserJoined(RCRTCRemoteUser remoteUser) {
listener.onUserJoined(remoteUser);
}
@Override
public void onUserLeft(RCRTCRemoteUser remoteUser) {
listener.onUserLeft(remoteUser);
}
@Override
public void onUserOffline(RCRTCRemoteUser remoteUser) {
listener.onUserOffline(remoteUser);
}
@Override
public void onPublishLiveStreams(List<RCRTCInputStream> streams) {
listener.onPublishLiveStreams(streams);
}
@Override
public void onUnpublishLiveStreams(List<RCRTCInputStream> streams) {
listener.onUnpublishLiveStreams(streams);
}
});
}
}
/**
* 取消邀请
*
* @param liveUid 房间号
* @param extra 扩展参数
* @param callback 回调
*/
public void cancelRequestJoinOtherRoom(String liveUid, String extra, IRCRTCResultCallback callback) {
if (rtcRoom != null && rtcRoom.getLocalUser() != null) {
rtcRoom.getLocalUser().cancelRequestJoinOtherRoom(liveUid, liveUid, extra, new IRCRTCResultCallback() {
@Override
public void onSuccess() {
callback.onSuccess();
}
@Override
public void onFailed(RTCErrorCode errorCode) {
callback.onFailed(errorCode);
}
});
} else {
callback.onFailed(RTCErrorCode.RongRTCCodeIMError);
}
}
public void callPkSuccess(String liveUid) {
requestUid.remove(liveUid);
}
private void startRequestTimeoutTask(String liveUid) {
new Timer().schedule(new TimerTask() {
int waitTime = 15;
@Override
public void run() {
if (!requestUid.contains(liveUid)) {
cancel();
return;
}
if (waitTime-- == 0) {
//callback.onFailed(JOIN_CHAT_ROOM_TIMEOUT);
cancelRequestJoinOtherRoom(liveUid, "extra", new IRCRTCResultCallback() {
@Override
public void onSuccess() {
requestUid.remove(liveUid);
if (RandomPkManager.getInstance().isRandomModel()) {
RandomPkManager.getInstance().setPkStatus(RandomPkManager.PK_STATUS_REFUSE);
}
}
@Override
public void onFailed(RTCErrorCode errorCode) {
requestUid.remove(liveUid);
if (RandomPkManager.getInstance().isRandomModel()) {
RandomPkManager.getInstance().setPkStatus(RandomPkManager.PK_STATUS_REFUSE);
}
}
});
cancel();
}
}
}, 1000, 1000);
}
public void leaveOtherRoom(String roomId,
boolean notifyFinished,
IRCRTCResultCallback callBack) {
RCRTCEngine.getInstance().leaveOtherRoom(roomId, notifyFinished, new IRCRTCResultCallback() {
@Override
public void onSuccess() {
callBack.onSuccess();
}
@Override
public void onFailed(RTCErrorCode rtcErrorCode) {
callBack.onFailed(rtcErrorCode);
}
});
}
}

View File

@@ -1,559 +0,0 @@
package com.yunbao.common.manager.imrongcloud;
import android.content.Context;
import android.text.TextUtils;
import android.util.Log;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.yunbao.common.CommonAppContext;
import com.yunbao.common.bean.IMLoginModel;
import com.yunbao.common.bean.SudGameChatImModel;
import com.yunbao.common.bean.SudGameUserModel;
import com.yunbao.common.event.SudGameSocketImEvent;
import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import java.util.ArrayList;
import java.util.List;
import cn.rongcloud.rtc.api.RCRTCEngine;
import cn.rongcloud.rtc.api.RCRTCRemoteUser;
import cn.rongcloud.rtc.api.RCRTCRoom;
import cn.rongcloud.rtc.api.RCRTCRoomConfig;
import cn.rongcloud.rtc.api.callback.IRCRTCResultCallback;
import cn.rongcloud.rtc.api.callback.IRCRTCResultDataCallback;
import cn.rongcloud.rtc.api.callback.IRCRTCRoomEventsListener;
import cn.rongcloud.rtc.api.stream.RCRTCInputStream;
import cn.rongcloud.rtc.base.RCRTCParamsType;
import cn.rongcloud.rtc.base.RCRTCRoomType;
import cn.rongcloud.rtc.base.RTCErrorCode;
import io.rong.imlib.IRongCallback;
import io.rong.imlib.IRongCoreCallback;
import io.rong.imlib.IRongCoreEnum;
import io.rong.imlib.RongIMClient;
import io.rong.imlib.chatroom.base.RongChatRoomClient;
import io.rong.imlib.model.Conversation;
import io.rong.imlib.model.Message;
import io.rong.message.TextMessage;
public class GameRyMicManager {
MeetingCallback mMeetingCallback = null;
private RCRTCRoom mRtcRoom = null;
private String mRoomID = "";
private final IRCRTCRoomEventsListener roomEventsListener = new IRCRTCRoomEventsListener() {
/**
* 房间内用户发布资源
*
* @param rcrtcRemoteUser 远端用户
* @param list 发布的资源
*/
@Override
public void onRemoteUserPublishResource(RCRTCRemoteUser rcrtcRemoteUser, final List<RCRTCInputStream> list) {
// subscribeAVStream();
}
@Override
public void onRemoteUserMuteAudio(RCRTCRemoteUser rcrtcRemoteUser, RCRTCInputStream rcrtcInputStream, boolean b) {
}
@Override
public void onRemoteUserMuteVideo(RCRTCRemoteUser rcrtcRemoteUser, RCRTCInputStream rcrtcInputStream, boolean b) {
}
@Override
public void onRemoteUserUnpublishResource(RCRTCRemoteUser rcrtcRemoteUser, List<RCRTCInputStream> list) {
}
/**
* 用户加入房间
*
* @param rcrtcRemoteUser 远端用户
*/
@Override
public void onUserJoined(final RCRTCRemoteUser rcrtcRemoteUser) {
try {
getView().onUserJoined(rcrtcRemoteUser);
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
/**
* 用户离开房间
*
* @param rcrtcRemoteUser 远端用户
*/
@Override
public void onUserLeft(RCRTCRemoteUser rcrtcRemoteUser) {
try {
getView().onUserLeft(rcrtcRemoteUser);
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
@Override
public void onUserOffline(RCRTCRemoteUser rcrtcRemoteUser) {
}
@Override
public void onPublishLiveStreams(List<RCRTCInputStream> list) {
}
@Override
public void onUnpublishLiveStreams(List<RCRTCInputStream> list) {
}
/**
* 自己退出房间。 例如断网退出等
* @param i 状态码
*/
@Override
public void onLeaveRoom(int i) {
}
};
protected MeetingCallback getView() {
if (mMeetingCallback == null) {
throw new IllegalStateException("view is not attached");
} else {
return mMeetingCallback;
}
}
public void attachView(MeetingCallback callback) {
mMeetingCallback = callback;
}
public void detachView() {
mMeetingCallback = null;
}
/**
* 主动订阅远端用户发布的流
* 视频流需要用户设置用于显示载体的videoview
*/
public void subscribeAVStream() {
if (mRtcRoom == null || mRtcRoom.getRemoteUsers() == null) {
return;
}
final List<RCRTCInputStream> inputStreams = new ArrayList<>();
for (final RCRTCRemoteUser remoteUser : mRtcRoom.getRemoteUsers()) {
if (remoteUser.getStreams().size() == 0) {
continue;
}
inputStreams.addAll(remoteUser.getStreams());
}
if (inputStreams.size() == 0) {
return;
}
mRtcRoom.getLocalUser().subscribeStreams(inputStreams, new IRCRTCResultCallback() {
@Override
public void onSuccess() {
try {
getView().onSubscribeSuccess(inputStreams);
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
@Override
public void onFailed(RTCErrorCode errorCode) {
try {
getView().onSubscribeFailed();
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
});
}
public void refreshStreams(List<SudGameUserModel> personList) {
final List<RCRTCInputStream> inputStreams = new ArrayList<>();
for (SudGameUserModel sudGameUserModel : personList) {
List<RCRTCRemoteUser> rcrtcRemoteUsers = mRtcRoom.getRemoteUsers();
for (RCRTCRemoteUser rcrtcRemoteUser : rcrtcRemoteUsers) {
if (TextUtils.equals(rcrtcRemoteUser.getUserId(), String.valueOf(sudGameUserModel.getId()))) {
for (RCRTCInputStream rcrtcInputStream : rcrtcRemoteUser.getStreams()) {
rcrtcInputStream.mute(sudGameUserModel.getMicStatus() == 3);
}
inputStreams.addAll(rcrtcRemoteUser.getStreams());
}
}
}
if (inputStreams.size() == 0) {
return;
}
mRtcRoom.getLocalUser().subscribeStreams(inputStreams, new IRCRTCResultCallback() {
@Override
public void onSuccess() {
try {
getView().onSubscribeSuccess(inputStreams);
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
@Override
public void onFailed(RTCErrorCode errorCode) {
try {
getView().onSubscribeFailed();
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
});
}
public void refreshStreams(String userID, boolean mute, int position) {
final List<RCRTCInputStream> inputStreams = new ArrayList<>();
List<RCRTCRemoteUser> rcrtcRemoteUsers = mRtcRoom.getRemoteUsers();
for (RCRTCRemoteUser rcrtcRemoteUser : rcrtcRemoteUsers) {
if (TextUtils.equals(rcrtcRemoteUser.getUserId(), String.valueOf(userID))) {
for (RCRTCInputStream rcrtcInputStream : rcrtcRemoteUser.getStreams()) {
rcrtcInputStream.mute(mute);
}
inputStreams.addAll(rcrtcRemoteUser.getStreams());
}
}
if (inputStreams.size() == 0) {
return;
}
mRtcRoom.getLocalUser().subscribeStreams(inputStreams, new IRCRTCResultCallback() {
@Override
public void onSuccess() {
try {
getView().onSubscribeSuccess(userID, mute, position);
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
@Override
public void onFailed(RTCErrorCode errorCode) {
try {
getView().onSubscribeFailed(userID);
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
});
}
public void unPublishStreams() {
if (mRtcRoom == null) {
return;
}
mRtcRoom.getLocalUser().unpublishStream(RCRTCEngine.getInstance().getDefaultAudioStream(), new IRCRTCResultCallback() {
@Override
public void onSuccess() {
try {
getView().onUnPublishStreamsSuccess();
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
@Override
public void onFailed(RTCErrorCode errorCode) {
try {
getView().onUnPublishStreamsFailed();
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
});
}
/**
* 发布默认流
*/
public void publishDefaultAVStream() {
if (mRtcRoom == null) {
return;
}
mRtcRoom.getLocalUser().publishStream(RCRTCEngine.getInstance().getDefaultAudioStream(), new IRCRTCResultCallback() {
@Override
public void onSuccess() {
try {
getView().onPublishSuccess();
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
@Override
public void onFailed(RTCErrorCode rtcErrorCode) {
try {
getView().onPublishFailed();
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
});
}
/**
* 配置rtc sdk
*/
public void config(Context context) {
// RCRTCConfig.Builder configBuilder = RCRTCConfig.Builder.create();
// // 是否硬解码
// configBuilder.enableHardwareDecoder(true);
// // 是否硬编码
// configBuilder.enableHardwareEncoder(true);
//
// // init 需结合 uninit 使用,否则有些配置无法重新初始化
// RCRTCEngine.getInstance().unInit();
// RCRTCEngine.getInstance().init(context, configBuilder.build());
// RCRTCVideoStreamConfig.Builder videoConfigBuilder = RCRTCVideoStreamConfig.Builder.create();
// // 设置分辨率
// videoConfigBuilder.setVideoResolution(RCRTCParamsType.RCRTCVideoResolution.RESOLUTION_720_1280);
// // 设置帧率
// videoConfigBuilder.setVideoFps(RCRTCParamsType.RCRTCVideoFps.Fps_30);
// /**
// * 设置最小码率可根据分辨率RCRTCVideoResolution设置
// * {@link RCRTCParamsType.RCRTCVideoResolution)}
// */
// videoConfigBuilder.setMinRate(250);
// /**
// * 设置最大码率可根据分辨率RCRTCVideoResolution设置
// * {@link RCRTCParamsType.RCRTCVideoResolution)}
// */
// videoConfigBuilder.setMaxRate(2200);
// RCRTCEngine.getInstance().getDefaultVideoStream().setVideoConfig(videoConfigBuilder.build());
//打开扬声器。
RCRTCEngine.getInstance().enableSpeaker(true);
// 启用耳返功能
RCRTCEngine.getInstance().getDefaultAudioStream().enableEarMonitoring(true);
RCRTCEngine.getInstance().getDefaultAudioStream().setMicrophoneDisable(false);
RCRTCEngine.getInstance().getDefaultAudioStream().setAudioQuality(RCRTCParamsType.AudioQuality.MUSIC_HIGH, RCRTCParamsType.AudioScenario.MUSIC_CHATROOM);
}
public void joinRoom(String roomId, boolean imOff) {
mRoomID = roomId;
if (imOff) {
RCRTCRoomConfig roomConfig = RCRTCRoomConfig.Builder.create()
// 根据实际场景选择音视频直播LIVE_AUDIO_VIDEO 或音频直播LIVE_AUDIO
.setRoomType(RCRTCRoomType.MEETING)
.build();
RCRTCEngine.getInstance().joinRoom("v" + roomId, roomConfig, new IRCRTCResultDataCallback<RCRTCRoom>() {
@Override
public void onSuccess(final RCRTCRoom rcrtcRoom) {
GameRyMicManager.this.mRtcRoom = rcrtcRoom;
// 注册房间回调
rcrtcRoom.registerRoomListener(roomEventsListener);
try {
getView().onJoinRoomSuccess(rcrtcRoom);
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
@Override
public void onFailed(RTCErrorCode rtcErrorCode) {
try {
getView().onJoinRoomFailed(rtcErrorCode);
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
});
}
RongChatRoomClient.getInstance().joinChatRoom("v" + roomId, -1, new IRongCoreCallback.OperationCallback() {
@Override
public void onSuccess() {
Log.i("tx", "加入成功");
enterRoom();
}
@Override
public void onError(IRongCoreEnum.CoreErrorCode coreErrorCode) {
Log.i("tx", "加入" + "失败" + coreErrorCode);
if (WordUtil.isNewZh()) {
ToastUtil.show("網絡不佳無法連接,請重新進入");
} else {
ToastUtil.show("The network is not connected, please re-enter");
}
}
});
}
public void leaveRoom() {
RCRTCEngine.getInstance().leaveRoom(new IRCRTCResultCallback() {
@Override
public void onFailed(RTCErrorCode rtcErrorCode) {
}
@Override
public void onSuccess() {
}
});
RongChatRoomClient.getInstance().quitChatRoom("v" + mRoomID, new IRongCoreCallback.OperationCallback() {
@Override
public void onSuccess() {
Log.i("tx", "退出成功");
}
@Override
public void onError(IRongCoreEnum.CoreErrorCode coreErrorCode) {
Log.i("tx", "退出" + "" + coreErrorCode);
}
});
}
/**
* 处理游戏房Im消息
*/
public void processingMessage(SudGameSocketImEvent socketImModel) {
List<SudGameSocketImEvent.MsgDTO> msgDTOS = socketImModel.getMsg();
if (msgDTOS.isEmpty()) return;
SudGameSocketImEvent.MsgDTO msgDTO = msgDTOS.get(0);
//正常文字消息
if (TextUtils.equals(msgDTO.getMethod(), "SendMsg")) {
getView().insertItem(new SudGameChatImModel().setWelcomMessage(false).setNickname(msgDTO.getUname()).setTextMessage(msgDTO.getCt()));
} else if (TextUtils.equals(msgDTO.getMethod(), "welcomMessage")) {
// 欢迎(用户名)进入房间 Welcome (username) to the room
StringBuffer stringBuffer = new StringBuffer();
if (WordUtil.isNewZh()) {
stringBuffer.append("歡迎 ").append(msgDTO.getCt()).append(" 進入房間");
} else {
stringBuffer.append("Welcome ").append(msgDTO.getCt()).append(" to enter the room");
}
getView().insertItem(new SudGameChatImModel().setWelcomMessage(true).setNickname(msgDTO.getCt()).setTextMessage(stringBuffer.toString()));
} else if (TextUtils.equals(msgDTO.getMethod(), "sudGameRoomVoiceList")) {
List<SudGameUserModel> personList = new Gson().fromJson(msgDTO.getCt(), new TypeToken<List<SudGameUserModel>>() {
}.getType());
getView().refreshSudGameUserList(personList);
refreshStreams(personList);
}
}
private void sendChatMessage(String textMessage, String method) {
IMLoginModel loginModel = IMLoginManager.get(CommonAppContext.sInstance.getApplicationContext()).getUserInfo();
SudGameSocketImEvent sudGameSocketImEvent = new SudGameSocketImEvent();
sudGameSocketImEvent.setRetcode("000000");
sudGameSocketImEvent.setRetmsg("ok");
SudGameSocketImEvent.MsgDTO msgDTO = new SudGameSocketImEvent.MsgDTO();
msgDTO.setAction("0")
.setCt(textMessage)
.setEquipment("app")
.setUid(String.valueOf(loginModel.getId()))
.setMethod(method)
.setUname(loginModel.getUserNicename())
.setRoomnum(mRoomID);
List<SudGameSocketImEvent.MsgDTO> msgDTOS = new ArrayList<>();
msgDTOS.add(msgDTO);
sudGameSocketImEvent.setMsg(msgDTOS);
Conversation.ConversationType conversationType = Conversation.ConversationType.CHATROOM;
TextMessage messageContent = TextMessage.obtain(new Gson().toJson(sudGameSocketImEvent));
Message message = Message.obtain("v" + mRoomID, conversationType, messageContent);
RongcloudIMManager.sendMessage(message, null, null, new IRongCallback.ISendMessageCallback() {
@Override
public void onAttached(Message message) {
}
@Override
public void onSuccess(Message message) {
Log.i("tx", "发送成功");
String contentJson = ((TextMessage) message.getContent()).getContent();
Log.e("wewe", contentJson);
SudGameSocketImEvent sudGameSocketImEvent = new Gson().fromJson(contentJson, SudGameSocketImEvent.class);
processingMessage(sudGameSocketImEvent);
}
@Override
public void onError(Message message, RongIMClient.ErrorCode errorCode) {
Log.i("tx", "发送成功" + errorCode.toString());
}
});
}
/**
* 发送聊天信息
*
* @param textMessage
*/
public void sendMessage(String textMessage) {
sendChatMessage(textMessage, "SendMsg");
}
/**
* 进房间
*/
public void enterRoom() {
IMLoginModel loginModel = IMLoginManager.get(CommonAppContext.sInstance.getApplicationContext()).getUserInfo();
sendChatMessage(loginModel.getUserNicename(), "welcomMessage");
}
/**
* activity相关回调
*/
public interface MeetingCallback {
void onJoinRoomSuccess(RCRTCRoom rcrtcRoom);
void onJoinRoomFailed(RTCErrorCode rtcErrorCode);
void onPublishSuccess();
void onPublishFailed();
void onUnPublishStreamsSuccess();
void onUnPublishStreamsFailed();
void onSubscribeSuccess(List<RCRTCInputStream> inputStreamList);
void onSubscribeFailed();
void onSubscribeSuccess(String userID, boolean mute, int position);
void onSubscribeFailed(String userID);
void onUserJoined(RCRTCRemoteUser rcrtcRemoteUser);
void onUserLeft(RCRTCRemoteUser rcrtcRemoteUser);
void insertItem(SudGameChatImModel sudGameChatImModel);
void refreshSudGameUserList(List<SudGameUserModel> personList);
}
}

View File

@@ -1,6 +1,5 @@
package com.yunbao.common.manager.imrongcloud;
import android.content.Context;
import android.text.TextUtils;
import android.util.Log;
@@ -12,116 +11,25 @@ import com.yunbao.common.bean.SudGameChatImModel;
import com.yunbao.common.bean.SudGameUserModel;
import com.yunbao.common.event.SudGameSocketImEvent;
import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import java.util.ArrayList;
import java.util.List;
import cn.rongcloud.rtc.api.RCRTCEngine;
import cn.rongcloud.rtc.api.RCRTCRemoteUser;
import cn.rongcloud.rtc.api.RCRTCRoom;
import cn.rongcloud.rtc.api.RCRTCRoomConfig;
import cn.rongcloud.rtc.api.callback.IRCRTCResultCallback;
import cn.rongcloud.rtc.api.callback.IRCRTCResultDataCallback;
import cn.rongcloud.rtc.api.callback.IRCRTCRoomEventsListener;
import cn.rongcloud.rtc.api.stream.RCRTCInputStream;
import cn.rongcloud.rtc.base.RCRTCParamsType;
import cn.rongcloud.rtc.base.RCRTCRoomType;
import cn.rongcloud.rtc.base.RTCErrorCode;
import io.rong.imlib.IRongCallback;
import io.rong.imlib.IRongCoreCallback;
import io.rong.imlib.IRongCoreEnum;
import io.rong.imlib.RongIMClient;
import io.rong.imlib.chatroom.base.RongChatRoomClient;
import io.rong.imlib.model.Conversation;
import io.rong.imlib.model.Message;
import io.rong.message.TextMessage;
public class GameSwMicManager {
MeetingCallback mMeetingCallback = null;
private RCRTCRoom mRtcRoom = null;
private String mRoomID = "";
public void setmRoomID(String mRoomID) {
this.mRoomID = mRoomID;
}
private final IRCRTCRoomEventsListener roomEventsListener = new IRCRTCRoomEventsListener() {
/**
* 房间内用户发布资源
*
* @param rcrtcRemoteUser 远端用户
* @param list 发布的资源
*/
@Override
public void onRemoteUserPublishResource(RCRTCRemoteUser rcrtcRemoteUser, final List<RCRTCInputStream> list) {
// subscribeAVStream();
}
@Override
public void onRemoteUserMuteAudio(RCRTCRemoteUser rcrtcRemoteUser, RCRTCInputStream rcrtcInputStream, boolean b) {
}
@Override
public void onRemoteUserMuteVideo(RCRTCRemoteUser rcrtcRemoteUser, RCRTCInputStream rcrtcInputStream, boolean b) {
}
@Override
public void onRemoteUserUnpublishResource(RCRTCRemoteUser rcrtcRemoteUser, List<RCRTCInputStream> list) {
}
/**
* 用户加入房间
*
* @param rcrtcRemoteUser 远端用户
*/
@Override
public void onUserJoined(final RCRTCRemoteUser rcrtcRemoteUser) {
try {
getView().onUserJoined(rcrtcRemoteUser);
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
/**
* 用户离开房间
*
* @param rcrtcRemoteUser 远端用户
*/
@Override
public void onUserLeft(RCRTCRemoteUser rcrtcRemoteUser) {
try {
getView().onUserLeft(rcrtcRemoteUser);
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
@Override
public void onUserOffline(RCRTCRemoteUser rcrtcRemoteUser) {
}
@Override
public void onPublishLiveStreams(List<RCRTCInputStream> list) {
}
@Override
public void onUnpublishLiveStreams(List<RCRTCInputStream> list) {
}
/**
* 自己退出房间。 例如断网退出等
* @param i 状态码
*/
@Override
public void onLeaveRoom(int i) {
}
};
protected MeetingCallback getView() {
if (mMeetingCallback == null) {
throw new IllegalStateException("view is not attached");
@@ -138,302 +46,6 @@ public class GameSwMicManager {
mMeetingCallback = null;
}
/**
* 主动订阅远端用户发布的流
* 视频流需要用户设置用于显示载体的videoview
*/
public void subscribeAVStream() {
if (mRtcRoom == null || mRtcRoom.getRemoteUsers() == null) {
return;
}
final List<RCRTCInputStream> inputStreams = new ArrayList<>();
for (final RCRTCRemoteUser remoteUser : mRtcRoom.getRemoteUsers()) {
if (remoteUser.getStreams().size() == 0) {
continue;
}
inputStreams.addAll(remoteUser.getStreams());
}
if (inputStreams.size() == 0) {
return;
}
mRtcRoom.getLocalUser().subscribeStreams(inputStreams, new IRCRTCResultCallback() {
@Override
public void onSuccess() {
try {
getView().onSubscribeSuccess(inputStreams);
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
@Override
public void onFailed(RTCErrorCode errorCode) {
try {
getView().onSubscribeFailed();
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
});
}
public void refreshStreams(List<SudGameUserModel> personList) {
final List<RCRTCInputStream> inputStreams = new ArrayList<>();
if(mRtcRoom!=null){
for (SudGameUserModel sudGameUserModel : personList) {
List<RCRTCRemoteUser> rcrtcRemoteUsers = mRtcRoom.getRemoteUsers();
for (RCRTCRemoteUser rcrtcRemoteUser : rcrtcRemoteUsers) {
if (TextUtils.equals(rcrtcRemoteUser.getUserId(), String.valueOf(sudGameUserModel.getId()))) {
for (RCRTCInputStream rcrtcInputStream : rcrtcRemoteUser.getStreams()) {
rcrtcInputStream.mute(sudGameUserModel.getMicStatus() == 3);
}
inputStreams.addAll(rcrtcRemoteUser.getStreams());
}
}
}
if (inputStreams.size() == 0) {
return;
}
mRtcRoom.getLocalUser().subscribeStreams(inputStreams, new IRCRTCResultCallback() {
@Override
public void onSuccess() {
try {
getView().onSubscribeSuccess(inputStreams);
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
@Override
public void onFailed(RTCErrorCode errorCode) {
try {
getView().onSubscribeFailed();
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
});
}
}
public void refreshStreams(String userID, boolean mute, int position) {
final List<RCRTCInputStream> inputStreams = new ArrayList<>();
List<RCRTCRemoteUser> rcrtcRemoteUsers = mRtcRoom.getRemoteUsers();
for (RCRTCRemoteUser rcrtcRemoteUser : rcrtcRemoteUsers) {
if (TextUtils.equals(rcrtcRemoteUser.getUserId(), String.valueOf(userID))) {
for (RCRTCInputStream rcrtcInputStream : rcrtcRemoteUser.getStreams()) {
rcrtcInputStream.mute(mute);
}
inputStreams.addAll(rcrtcRemoteUser.getStreams());
}
}
if (inputStreams.size() == 0) {
return;
}
mRtcRoom.getLocalUser().subscribeStreams(inputStreams, new IRCRTCResultCallback() {
@Override
public void onSuccess() {
try {
getView().onSubscribeSuccess(userID, mute, position);
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
@Override
public void onFailed(RTCErrorCode errorCode) {
try {
getView().onSubscribeFailed(userID);
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
});
}
public void unPublishStreams() {
if (mRtcRoom == null) {
return;
}
mRtcRoom.getLocalUser().unpublishStream(RCRTCEngine.getInstance().getDefaultAudioStream(), new IRCRTCResultCallback() {
@Override
public void onSuccess() {
try {
getView().onUnPublishStreamsSuccess();
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
@Override
public void onFailed(RTCErrorCode errorCode) {
try {
getView().onUnPublishStreamsFailed();
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
});
}
/**
* 发布默认流
*/
public void publishDefaultAVStream() {
if (mRtcRoom == null) {
return;
}
mRtcRoom.getLocalUser().publishStream(RCRTCEngine.getInstance().getDefaultAudioStream(), new IRCRTCResultCallback() {
@Override
public void onSuccess() {
try {
getView().onPublishSuccess();
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
@Override
public void onFailed(RTCErrorCode rtcErrorCode) {
try {
getView().onPublishFailed();
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
});
}
/**
* 配置rtc sdk
*/
public void config(Context context) {
// RCRTCConfig.Builder configBuilder = RCRTCConfig.Builder.create();
// // 是否硬解码
// configBuilder.enableHardwareDecoder(true);
// // 是否硬编码
// configBuilder.enableHardwareEncoder(true);
//
// // init 需结合 uninit 使用,否则有些配置无法重新初始化
// RCRTCEngine.getInstance().unInit();
// RCRTCEngine.getInstance().init(context, configBuilder.build());
// RCRTCVideoStreamConfig.Builder videoConfigBuilder = RCRTCVideoStreamConfig.Builder.create();
// // 设置分辨率
// videoConfigBuilder.setVideoResolution(RCRTCParamsType.RCRTCVideoResolution.RESOLUTION_720_1280);
// // 设置帧率
// videoConfigBuilder.setVideoFps(RCRTCParamsType.RCRTCVideoFps.Fps_30);
// /**
// * 设置最小码率可根据分辨率RCRTCVideoResolution设置
// * {@link RCRTCParamsType.RCRTCVideoResolution)}
// */
// videoConfigBuilder.setMinRate(250);
// /**
// * 设置最大码率可根据分辨率RCRTCVideoResolution设置
// * {@link RCRTCParamsType.RCRTCVideoResolution)}
// */
// videoConfigBuilder.setMaxRate(2200);
// RCRTCEngine.getInstance().getDefaultVideoStream().setVideoConfig(videoConfigBuilder.build());
//打开扬声器。
RCRTCEngine.getInstance().enableSpeaker(true);
// 启用耳返功能
RCRTCEngine.getInstance().getDefaultAudioStream().enableEarMonitoring(true);
RCRTCEngine.getInstance().getDefaultAudioStream().setMicrophoneDisable(false);
RCRTCEngine.getInstance().getDefaultAudioStream().setAudioQuality(RCRTCParamsType.AudioQuality.MUSIC_HIGH, RCRTCParamsType.AudioScenario.MUSIC_CHATROOM);
}
public void joinRoom(String roomId, boolean imOff) {
mRoomID = roomId;
if (imOff) {
RCRTCRoomConfig roomConfig = RCRTCRoomConfig.Builder.create()
// 根据实际场景选择音视频直播LIVE_AUDIO_VIDEO 或音频直播LIVE_AUDIO
.setRoomType(RCRTCRoomType.MEETING)
.build();
RCRTCEngine.getInstance().joinRoom("v" + roomId, roomConfig, new IRCRTCResultDataCallback<RCRTCRoom>() {
@Override
public void onSuccess(final RCRTCRoom rcrtcRoom) {
GameSwMicManager.this.mRtcRoom = rcrtcRoom;
// 注册房间回调
rcrtcRoom.registerRoomListener(roomEventsListener);
try {
getView().onJoinRoomSuccess(rcrtcRoom);
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
@Override
public void onFailed(RTCErrorCode rtcErrorCode) {
try {
getView().onJoinRoomFailed(rtcErrorCode);
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
});
}
RongChatRoomClient.getInstance().joinChatRoom("v" + roomId, -1, new IRongCoreCallback.OperationCallback() {
@Override
public void onSuccess() {
Log.i("tx", "加入成功");
enterRoom();
}
@Override
public void onError(IRongCoreEnum.CoreErrorCode coreErrorCode) {
Log.i("tx", "加入" + "失败" + coreErrorCode);
if (WordUtil.isNewZh()) {
ToastUtil.show("網絡不佳無法連接,請重新進入");
} else {
ToastUtil.show("The network is not connected, please re-enter");
}
}
});
}
public void leaveRoom() {
RCRTCEngine.getInstance().leaveRoom(new IRCRTCResultCallback() {
@Override
public void onFailed(RTCErrorCode rtcErrorCode) {
}
@Override
public void onSuccess() {
}
});
RongChatRoomClient.getInstance().quitChatRoom("v" + mRoomID, new IRongCoreCallback.OperationCallback() {
@Override
public void onSuccess() {
Log.i("tx", "退出成功");
}
@Override
public void onError(IRongCoreEnum.CoreErrorCode coreErrorCode) {
Log.i("tx", "退出" + "" + coreErrorCode);
}
});
}
/**
* 处理游戏房Im消息
*/
@@ -443,7 +55,6 @@ public class GameSwMicManager {
if (msgDTOS.isEmpty()) return;
SudGameSocketImEvent.MsgDTO msgDTO = msgDTOS.get(0);
//正常文字消息
if (TextUtils.equals(msgDTO.getMethod(), "SendMsg")) {
getView().insertItem(new SudGameChatImModel().setWelcomMessage(false).setNickname(msgDTO.getUname()).setTextMessage(msgDTO.getCt()));
@@ -462,12 +73,15 @@ public class GameSwMicManager {
List<SudGameUserModel> personList = new Gson().fromJson(msgDTO.getCt(), new TypeToken<List<SudGameUserModel>>() {
}.getType());
getView().refreshSudGameUserList(personList);
refreshStreams(personList);
//refreshStreams(personList);
}
}
public void refreshStreams(String userID, boolean mute, int position) {
getView().onSubscribeSuccess(userID, mute, position);
}
private void sendChatMessage(String textMessage, String method) {
IMLoginModel loginModel = IMLoginManager.get(CommonAppContext.sInstance.getApplicationContext()).getUserInfo();
SudGameSocketImEvent sudGameSocketImEvent = new SudGameSocketImEvent();
@@ -533,31 +147,12 @@ public class GameSwMicManager {
* activity相关回调
*/
public interface MeetingCallback {
void onJoinRoomSuccess(RCRTCRoom rcrtcRoom);
void onJoinRoomFailed(RTCErrorCode rtcErrorCode);
void onPublishSuccess();
void onPublishFailed();
void onUnPublishStreamsSuccess();
void onUnPublishStreamsFailed();
void onSubscribeSuccess(List<RCRTCInputStream> inputStreamList);
void onSubscribeFailed();
void onSubscribeSuccess(String userID, boolean mute, int position);
void onSubscribeFailed(String userID);
void onUserJoined(RCRTCRemoteUser rcrtcRemoteUser);
void onUserLeft(RCRTCRemoteUser rcrtcRemoteUser);
void insertItem(SudGameChatImModel sudGameChatImModel);
void refreshSudGameUserList(List<SudGameUserModel> personList);

View File

@@ -104,6 +104,7 @@ public class MessageIMManager {
HttpClient.getInstance().get("huoquxitongxiaoxiliebiaov2", "huoquxitongxiaoxiliebiaov2")
.params("uid", userInfo.getId())
.params("token", userInfo.getToken())
.params("app_type", "1")
.execute(new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
@@ -167,6 +168,7 @@ public class MessageIMManager {
HttpClient.getInstance().get("huoquxitongxiaoxiliebiaov2", "huoquxitongxiaoxiliebiaov2")
.params("uid", userInfo.getId())
.params("token", userInfo.getToken())
.params("app_type", "1")
.execute(new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {

View File

@@ -3,13 +3,9 @@ package com.yunbao.common.pay.samsung;
import android.content.Context;
import com.yunbao.common.R;
import com.yunbao.common.utils.L;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.util.ArrayList;
public class SamsungUtil {
@@ -29,7 +25,7 @@ public class SamsungUtil {
public SamsungUtil(Context mContext) {
this.mContext = mContext;
try {
samsung = mContext.getClassLoader().loadClass("com.samsung.android.sdk.iap.lib.SamsungUtil")
samsung = mContext.getClassLoader().loadClass("com.samsung.utils.SamsungUtil")
.getConstructor(Context.class)
.newInstance(mContext);
} catch (Exception e) {
@@ -67,7 +63,7 @@ public class SamsungUtil {
public void buy(String skuId, OnSamsungPaymentListener onPaymentListener) {
if(samsung==null)return;
try {
Class<?> listenerClass = Class.forName("com.samsung.android.sdk.iap.lib.SamsungUtil$OnPaymentListener");
Class<?> listenerClass = Class.forName("com.samsung.utils.SamsungUtil$OnPaymentListener");
Object listenerObj = Proxy.newProxyInstance(mContext.getClassLoader(), new Class[]{listenerClass}, new InvocationHandler() {
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {

View File

@@ -11,6 +11,7 @@ import android.util.Log;
import com.blankj.utilcode.util.LogUtils;
import com.yunbao.common.event.CheckRemainingBalanceEvent;
import com.yunbao.common.manager.RandomSudGameManager;
import com.yunbao.common.sud.decorator.game.JumpEvent;
import com.yunbao.common.sud.state.SudMGPMGState;
import com.yunbao.common.utils.AppManager;
import com.yunbao.common.utils.Bus;
@@ -369,6 +370,10 @@ public class SudFSMMGDecorator implements ISudFSMMG {
mgCommonGameCreateOrder.gameRoomId = gameRoomId;
mgCommonGameCreateOrder.userId = userId;
mgCommonGameCreateOrder.dataJson = dataJson;
/* if (1800792634548629505L == gameId){
// 如果是方块大师formID写死为自己
mgCommonGameCreateOrder.fromUid = mgCommonGameCreateOrder.toUid;
}*/
}
Log.i(TAG, "onGameStateChange: " + dataJson);
@@ -377,6 +382,10 @@ public class SudFSMMGDecorator implements ISudFSMMG {
} else {
listener.onGameMGCommonGameCreateOrder(handle, mgCommonGameCreateOrder);
}
// 调用创建订单接口
JumpEvent.hit(mgCommonGameCreateOrder);
break;
case SudMGPMGState.MG_COMMON_PLAYER_ROLE_ID: // 26. 游戏通知app玩家角色(仅对狼人杀有效)
SudMGPMGState.MGCommonPlayerRoleId mgCommonPlayerRoleId = SudJsonUtils.fromJson(dataJson, SudMGPMGState.MGCommonPlayerRoleId.class);

View File

@@ -168,6 +168,15 @@ public class DialogUitl {
showSimpleDialog(context, content, false, callback);
}
public static void showSimpleDialogString(Context context, String content,String confirmString, SimpleCallback callback) {
if (context instanceof Activity) {
if (((Activity) context).isDestroyed() || ((Activity) context).isFinishing()) {
return;
}
}
new Builder(context).setTitle(null).setContent(content).setCancelable(false).setClickCallback(callback).setConfirmString(confirmString).build().show();
}
public static void showSimpleDialog(Context context, String content, boolean cancelable, SimpleCallback callback) {
showSimpleDialog(context, null, content, cancelable, callback);
}

View File

@@ -43,8 +43,9 @@ public class LiveRoomCheckLivePresenter {
* @param context 上下文
* @param liveUid 直播间ID
* @param stream
* @param isPk 是否是pk时点击头像打开弹窗后跳转来的
*/
public LiveRoomCheckLivePresenter(Context context, String liveUid, String stream, NewActionListener actionListener) {
public LiveRoomCheckLivePresenter(Context context, String liveUid, String stream, NewActionListener actionListener,boolean... isPk) {
mContext = context;
LiveNetManager.get(context)
.checkLive(liveUid, stream, new CheckLiveCallBack() {
@@ -106,9 +107,14 @@ public class LiveRoomCheckLivePresenter {
}
@Override
public void onError(String error) {
Log.e("直播间异常", "onError: " + error);
Bus.get().post(new LiveErrorEvent());
public void onError(String error,int code) {
Log.e("直播间异常", "onError: " + error + " code = " + code);
if (code == 1004 && isPk != null && isPk.length > 0 && isPk[0]) {
// 1004 为用户被踢过,不能进入直播间但是不能随机再进入别的直播间
Log.e("直播间异常", "onError: " + error + " code = " + code);
}else {
Bus.get().post(new LiveErrorEvent());
}
ToastUtil.show(error);
}
});

View File

@@ -16,10 +16,6 @@ import com.yunbao.common.http.ResponseModel;
import java.util.ArrayList;
import java.util.List;
import cn.rongcloud.rtc.api.RCRTCEngine;
import cn.rongcloud.rtc.api.callback.IRCRTCResultCallback;
import cn.rongcloud.rtc.api.callback.IRCRTCSwitchRoleCallback;
import cn.rongcloud.rtc.base.RTCErrorCode;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.functions.Consumer;
import io.reactivex.schedulers.Schedulers;

View File

@@ -59,6 +59,7 @@ public class RouteUtil {
public static final String PATH_LIVE_PUNISHACTIVITY = "/live/PunishActivity";
public static final String PATH_NEW_MESSAGE = "/main/NewMessageActivity";
public static final String PATH_Community_Video= "/main/CommunityVideoActivity";
public static final String PATH_LIVE_REPORT_SECOND = "/live/ReportSecondActivity";
public static void forwardCommunityActivity() {
@@ -180,6 +181,12 @@ public class RouteUtil {
.navigation();
}
public static void forwardLiveSecondReportActivity(int users_report_id) {
ARouter.getInstance().build(PATH_LIVE_REPORT_SECOND)
.withInt("users_report_id", users_report_id)
.navigation();
}
/**
* 跳转到装扮

View File

@@ -1,5 +1,6 @@
package com.yunbao.common.views;
import android.app.Dialog;
import android.content.Context;
import android.view.KeyEvent;
import android.view.View;
@@ -7,6 +8,8 @@ import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
@@ -23,6 +26,11 @@ import com.yunbao.common.http.base.HttpCallback;
import com.yunbao.common.http.live.LiveNetManager;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.utils.MicStatusManager;
import com.yunbao.common.manager.MicUserManager;
import com.yunbao.common.manager.MicedUserManager;
import com.yunbao.common.manager.RandomPkManager;
import com.yunbao.common.utils.DialogUitl;
public class LiveRobotSettingCustomPopup extends BottomPopupView implements View.OnClickListener {
private static String TAG = "AI机器人";
@@ -32,6 +40,11 @@ public class LiveRobotSettingCustomPopup extends BottomPopupView implements View
private String time = "";
private ImageView robotState;
private ImageView languageZhImgView;
private AppCompatTextView languageZhTv;
private ImageView languageEnImgView;
private AppCompatTextView languageEnTv;
private int lastLanguage = 1;
private int robotStateInt = 1;
public int getRobotStateInt() {
@@ -60,6 +73,10 @@ public class LiveRobotSettingCustomPopup extends BottomPopupView implements View
robotNameSetting = findViewById(R.id.robot_name_setting);
robotNameText = findViewById(R.id.robot_name_text);
robotState = findViewById(R.id.robot_state);
languageZhImgView = findViewById(R.id.languageZhImgView);
languageZhTv = findViewById(R.id.languageZhTv);
languageEnImgView = findViewById(R.id.languageEnImgView);
languageEnTv = findViewById(R.id.languageEnTv);
automaticGreetingNumber = findViewById(R.id.automatic_greeting_number);
automaticMessageNumber = findViewById(R.id.automatic_message_number);
findViewById(R.id.automatic_message_sending).setOnClickListener(this);
@@ -91,8 +108,65 @@ public class LiveRobotSettingCustomPopup extends BottomPopupView implements View
return false;
}
});
languageZhImgView.setOnClickListener(v -> {
if (lastLanguage == 0) {
return;
}
ShowChangeLanguagePopup(0);
});
languageZhTv.setOnClickListener(v -> {
if (lastLanguage == 0) {
return;
}
ShowChangeLanguagePopup(0);
});
languageEnImgView.setOnClickListener(v -> {
if (lastLanguage == 1) {
return;
}
ShowChangeLanguagePopup(1);
});
languageEnTv.setOnClickListener(v -> {
if (lastLanguage == 1) {
return;
}
ShowChangeLanguagePopup(1);
});
}
private void ShowChangeLanguagePopup(int i) {
DialogUitl.showSimpleDialogString(getContext(), getContext().getString(R.string.chang_langue_tips), getContext().getString(R.string.aristocrat_determine) ,new DialogUitl.SimpleCallback() {
@Override
public void onConfirmClick(Dialog dialog, String content) {
LiveNetManager.get(getContext())
.setAiRobotDate("ai_langue", i+"", new HttpCallback<HttpCallbackModel>() {
@Override
public void onSuccess(HttpCallbackModel data) {
if (i==0) {
languageZhImgView.setSelected(true);
languageEnImgView.setSelected(false);
lastLanguage = 0;
} else {
languageZhImgView.setSelected(false);
languageEnImgView.setSelected(true);
lastLanguage = 1;
}
}
@Override
public void onError(String error) {
ToastUtil.show(error);
}
});
}
});
}
@Override
public void onClick(View v) {
int viewID = v.getId();
@@ -243,6 +317,15 @@ public class LiveRobotSettingCustomPopup extends BottomPopupView implements View
robotNameText.setText(data.getName());
automaticGreetingNumber.setText(String.valueOf(data.getAutoSeyHiNumber()));
automaticMessageNumber.setText(String.valueOf(data.getAutoRequestFollowNumber()));
if (data.isLangueCn()) {
languageZhImgView.setSelected(true);
languageEnImgView.setSelected(false);
lastLanguage = 0;
} else {
languageZhImgView.setSelected(false);
languageEnImgView.setSelected(true);
lastLanguage = 1;
}
time = String.valueOf(data.getTime());
robotStateInt = data.getStatus();
if (data.getStatus() == 1) {
@@ -252,7 +335,7 @@ public class LiveRobotSettingCustomPopup extends BottomPopupView implements View
@Override
public void onError(String error) {
ToastUtil.show(WordUtil.isNewZh()?"抱歉!出錯了!":"i \\'m sorry! An error occurred");
ToastUtil.show(WordUtil.isNewZh() ? "抱歉!出錯了!" : "i \\'m sorry! An error occurred");
}
});

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 873 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!--设置ProgressBar背景色-->
<item android:id="@android:id/background">
<shape>
<!--设置ProgressBar进度条圆角半径-->
<corners android:radius="1dp" />
<solid android:color="#A5A193" />
</shape>
</item>
<!--设置ProgressBar进度条颜色-->
<item android:id="@android:id/progress">
<scale android:scaleWidth="100%">
<shape>
<corners android:radius="1dp" />
<gradient
android:endColor="#FFC949"
android:startColor="#FFC949" />
</shape>
</scale>
</item>
</layer-list>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 535 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 286 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 421 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 439 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 797 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 464 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 252 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Some files were not shown because too many files have changed in this diff Show More