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

@@ -173,12 +173,12 @@ dependencies {
api 'com.squareup.picasso:picasso:2.5.2'
api "com.immomo.cosmos.mediax:beautyutils:2.2.1_01071700"
api files('libs/liteavsdk.jar')
// 腾讯播放器 liteavsdk.jar、libtxffmpeg.so、libliteavsdk.so、libtxsoundtouch.so https://cloud.tencent.com/document/product/881/81205
api 'com.xw.repo:bubbleseekbar:3.20-lite'
//腾讯im
api 'com.tencent.imsdk:imsdk-plus:5.4.666'
api 'com.google.code.gson:gson:2.8.8'
api 'cn.rongcloud.sdk:rtc_lib:5.7.0' // 音视频通话基础能力库
//此处以集成 5.1.2 版本为例
api 'cn.rongcloud.sdk:im_lib:5.7.0'
@@ -186,6 +186,7 @@ dependencies {
api 'cn.rongcloud.sdk:im_kit:5.7.0' // 即时通讯 UI 基础组件
//融云小视频模块
api 'cn.rongcloud.sdk:sight:5.7.0'
api 'com.facebook.android:facebook-android-sdk:15.2.0'
implementation 'com.facebook.android:facebook-android-sdk:15.2.0'

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

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

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