Compare commits
60 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4e4b5f90bb | |||
| bcd8f7af52 | |||
| 3595b89672 | |||
| 6e8842d30d | |||
| 7b5cd9b797 | |||
| 9ec241f2a3 | |||
| a876018b0a | |||
| ea397af123 | |||
| a475e5dc2f | |||
| 54258c3f13 | |||
| d383a08013 | |||
| d1edf6bdd8 | |||
|
|
7ca8694aed | ||
|
|
406c67bf3a | ||
|
|
d643df72bc | ||
| a3dacf1f59 | |||
| 37605f46b7 | |||
|
|
a4895df622 | ||
| fc63cbbf50 | |||
| b7ba717cb9 | |||
| 0c5ef0befe | |||
|
|
84d4423069 | ||
|
|
0721ff4f37 | ||
| a5b0ee757c | |||
|
|
82fd35305a | ||
| e89e82483b | |||
| 57bda40a82 | |||
|
|
93aa8e55e5 | ||
| 2e907bc1ed | |||
| 8d984951c3 | |||
|
|
dd6600a89e | ||
|
|
233469c7e4 | ||
| 357ece2ebe | |||
|
|
72e9633045 | ||
|
|
7a31ca52da | ||
|
|
33930f3e32 | ||
| 8e19ddcc99 | |||
|
|
1a58311e26 | ||
| 9360e5438c | |||
| fa8d8a7421 | |||
|
|
bebf0820ca | ||
| e1f4e8dde4 | |||
| 2b59b1b4fe | |||
| cee1476ab1 | |||
| 20a6bae5ff | |||
| b6732adfd2 | |||
| bec031688e | |||
| 7f11195ede | |||
| d4ff9c3072 | |||
| 0a442e7df9 | |||
| 52f1a78e36 | |||
|
|
6bcaf2ba9c | ||
|
|
75b176a81e | ||
|
|
3de972d12c | ||
|
|
95252f2f02 | ||
|
|
3b351ffad8 | ||
| 2332255b37 | |||
|
|
90c2f3e2da | ||
|
|
644615ffc0 | ||
|
|
345c9067aa |
@@ -1,96 +1,96 @@
|
||||
<resources>
|
||||
|
||||
<string name="camera_dialog_title">警告</string>
|
||||
<string name="sorry_no_permission">抱歉,你所使用的证书权限或SDK不包括该功能。</string>
|
||||
<string name="camera_dialog_message">相机权限被禁用或者相机被别的应用占用!</string>
|
||||
<string name="camera_dialog_open">重试</string>
|
||||
<string name="sorry_no_permission">抱歉,你所使用的證書權限或SDK不包括該功能。</string>
|
||||
<string name="camera_dialog_message">相機權限被禁用或者相機被別的應用佔用!</string>
|
||||
<string name="camera_dialog_open">重試</string>
|
||||
<string name="camera_dialog_back">退出</string>
|
||||
|
||||
<string name="fu_base_debug">Resolution:\n\t%dX%d\nFPS: %d\nRender time:\n\t%dms</string>
|
||||
<string name="save_photo_success">保存照片成功!</string>
|
||||
<string name="save_video_success">保存视频成功!</string>
|
||||
<string name="save_video_failed">保存视频失败!</string>
|
||||
<string name="save_video_too_short">视频太短啦!</string>
|
||||
<string name="save_video_wait">视频处理中请稍等</string>
|
||||
<string name="fu_base_is_tracking_text">未检测到人脸</string>
|
||||
<string name="fu_base_incomplete_face_text">人脸不全</string>
|
||||
<string name="fu_base_input_type_single">单输入</string>
|
||||
<string name="fu_base_input_type_double">双输入</string>
|
||||
<string name="save_video_success">保存視頻成功!</string>
|
||||
<string name="save_video_failed">保存視頻失敗!</string>
|
||||
<string name="save_video_too_short">視頻太短啦!</string>
|
||||
<string name="save_video_wait">視頻處理中請稍等</string>
|
||||
<string name="fu_base_is_tracking_text">未檢測到人臉</string>
|
||||
<string name="fu_base_incomplete_face_text">人臉不全</string>
|
||||
<string name="fu_base_input_type_single">單輸入</string>
|
||||
<string name="fu_base_input_type_double">雙輸入</string>
|
||||
|
||||
<string name="beauty_box_heavy_blur_fine">磨皮</string>
|
||||
<string name="beauty_box_color_level">美白</string>
|
||||
<string name="beauty_box_red_level">红润</string>
|
||||
<string name="beauty_box_sharpen">锐化</string>
|
||||
<string name="beauty_box_red_level">紅潤</string>
|
||||
<string name="beauty_box_sharpen">銳化</string>
|
||||
<string name="beauty_box_eye_bright">亮眼</string>
|
||||
<string name="beauty_box_tooth_whiten">美牙</string>
|
||||
<string name="beauty_box_eye_enlarge">大眼</string>
|
||||
<string name="beauty_box_eye_circle">圆眼</string>
|
||||
<string name="beauty_box_eye_circle">圓眼</string>
|
||||
<string name="beauty_box_cheek_natural">自然</string>
|
||||
<string name="beauty_box_cheek_goddess">女神</string>
|
||||
<string name="beauty_box_cheek_long_face">长脸</string>
|
||||
<string name="beauty_box_cheek_round_face">圆脸</string>
|
||||
<string name="beauty_box_cheek_thinning">瘦脸</string>
|
||||
<string name="beauty_box_cheek_v">V脸</string>
|
||||
<string name="beauty_box_cheek_narrow">窄脸</string>
|
||||
<string name="beauty_box_cheek_short">短脸</string>
|
||||
<string name="beauty_box_cheek_small">小脸</string>
|
||||
<string name="beauty_box_cheek_long_face">長臉</string>
|
||||
<string name="beauty_box_cheek_round_face">圓臉</string>
|
||||
<string name="beauty_box_cheek_thinning">瘦臉</string>
|
||||
<string name="beauty_box_cheek_v">V臉</string>
|
||||
<string name="beauty_box_cheek_narrow">窄臉</string>
|
||||
<string name="beauty_box_cheek_short">短臉</string>
|
||||
<string name="beauty_box_cheek_small">小臉</string>
|
||||
<string name="beauty_box_intensity_chin">下巴</string>
|
||||
<string name="beauty_box_intensity_forehead">额头</string>
|
||||
<string name="beauty_box_intensity_forehead">額頭</string>
|
||||
<string name="beauty_box_intensity_nose">瘦鼻</string>
|
||||
<string name="beauty_box_intensity_mouth">嘴型</string>
|
||||
<string name="beauty_box_cheekbones">瘦颧骨</string>
|
||||
<string name="beauty_box_lower_jaw">瘦下颌骨</string>
|
||||
<string name="beauty_radio_skin_beauty">美肤</string>
|
||||
<string name="beauty_box_cheekbones">瘦顴骨</string>
|
||||
<string name="beauty_box_lower_jaw">瘦下頜骨</string>
|
||||
<string name="beauty_radio_skin_beauty">美膚</string>
|
||||
<string name="beauty_radio_face_shape">美型</string>
|
||||
<string name="beauty_radio_filter">滤镜</string>
|
||||
<string name="beauty_radio_style">风格推荐</string>
|
||||
<string name="beauty_radio_filter">濾鏡</string>
|
||||
<string name="beauty_radio_style">風格推薦</string>
|
||||
<string name="beauty_micro_pouch">去黑眼圈</string>
|
||||
<string name="beauty_micro_nasolabial">去法令纹</string>
|
||||
<string name="beauty_micro_nasolabial">去法令紋</string>
|
||||
<string name="beauty_micro_smile">微笑嘴角</string>
|
||||
<string name="beauty_brow_height">眉毛上下</string>
|
||||
<string name="beauty_brow_space">眉间距</string>
|
||||
<string name="beauty_micro_canthus">开眼角</string>
|
||||
<string name="beauty_micro_philtrum">缩人中</string>
|
||||
<string name="beauty_micro_long_nose">长鼻</string>
|
||||
<string name="beauty_brow_space">眉間距</string>
|
||||
<string name="beauty_micro_canthus">開眼角</string>
|
||||
<string name="beauty_micro_philtrum">縮人中</string>
|
||||
<string name="beauty_micro_long_nose">長鼻</string>
|
||||
<string name="beauty_micro_eye_space">眼距</string>
|
||||
<string name="beauty_micro_eye_rotate">眼睛角度</string>
|
||||
|
||||
<string name="makeup_radio_lipstick">口红</string>
|
||||
<string name="makeup_radio_blusher">腮红</string>
|
||||
<string name="makeup_radio_lipstick">口紅</string>
|
||||
<string name="makeup_radio_blusher">腮紅</string>
|
||||
<string name="makeup_radio_eyebrow">眉毛</string>
|
||||
<string name="makeup_radio_eye_shadow">眼影</string>
|
||||
<string name="makeup_radio_eye_liner">眼线</string>
|
||||
<string name="makeup_radio_eye_liner">眼線</string>
|
||||
<string name="makeup_radio_eyelash">睫毛</string>
|
||||
<string name="makeup_radio_contact_lens">美瞳</string>
|
||||
<string name="makeup_radio_foundation">粉底</string>
|
||||
<string name="makeup_radio_highlight">高光</string>
|
||||
<string name="makeup_radio_shadow">阴影</string>
|
||||
<string name="makeup_radio_remove">卸妆</string>
|
||||
<string name="makeup_customize">自定义</string>
|
||||
<string name="makeup_radio_shadow">陰影</string>
|
||||
<string name="makeup_radio_remove">卸妝</string>
|
||||
<string name="makeup_customize">自定義</string>
|
||||
<string name="makeup_peach_blossom">桃花</string>
|
||||
<string name="makeup_boyfriend">男友</string>
|
||||
<string name="makeup_clear">清透</string>
|
||||
<string name="makeup_grapefruit">西柚</string>
|
||||
<string name="select_data_photo">选择图片</string>
|
||||
<string name="select_data_video">选择视频</string>
|
||||
<string name="select_data_title">请从相册中选择图片或视频</string>
|
||||
<string name="image_file_does_not_exist">所选图片文件不存在。</string>
|
||||
<string name="video_file_does_not_exist">所选视频文件不存在。</string>
|
||||
<string name="select_data_photo">選擇圖片</string>
|
||||
<string name="select_data_video">選擇視頻</string>
|
||||
<string name="select_data_title">請從相冊中選擇圖片或視頻</string>
|
||||
<string name="image_file_does_not_exist">所選圖片文件不存在。</string>
|
||||
<string name="video_file_does_not_exist">所選視頻文件不存在。</string>
|
||||
|
||||
<string name="future_warrior">张嘴试试</string>
|
||||
<string name="jet_mask">鼓腮帮子</string>
|
||||
<string name="sdx2">皱眉试试</string>
|
||||
<string name="future_warrior">張嘴試試</string>
|
||||
<string name="jet_mask">鼓腮幫子</string>
|
||||
<string name="sdx2">皺眉試試</string>
|
||||
<string name="luhantongkuan_ztt_fu">眨一眨眼</string>
|
||||
<string name="qingqing_ztt_fu">嘟嘴试试</string>
|
||||
<string name="xiaobianzi_zh_fu">微笑触发</string>
|
||||
<string name="xiaoxueshen_ztt_fu">吹气触发</string>
|
||||
<string name="hez_ztt_fu">张嘴试试</string>
|
||||
<string name="qingqing_ztt_fu">嘟嘴試試</string>
|
||||
<string name="xiaobianzi_zh_fu">微笑觸發</string>
|
||||
<string name="xiaoxueshen_ztt_fu">吹氣觸發</string>
|
||||
<string name="hez_ztt_fu">張嘴試試</string>
|
||||
<string name="push_hand">推出手掌</string>
|
||||
<string name="fu_lm_koreaheart">单手手指比心</string>
|
||||
<string name="ssd_thread_six">比个六</string>
|
||||
<string name="ssd_thread_cute">双拳靠近脸颊卖萌</string>
|
||||
<string name="fu_lm_koreaheart">單手手指比心</string>
|
||||
<string name="ssd_thread_six">比個六</string>
|
||||
<string name="ssd_thread_cute">雙拳靠近臉頰賣萌</string>
|
||||
|
||||
<string name="origin">原图</string>
|
||||
<string name="origin">原圖</string>
|
||||
<string name="bailiang_1">白亮 1</string>
|
||||
<string name="bailiang_2">白亮 2</string>
|
||||
<string name="bailiang_3">白亮 3</string>
|
||||
@@ -109,23 +109,23 @@
|
||||
<string name="xiaoqingxin_3">小清新 3</string>
|
||||
<string name="xiaoqingxin_4">小清新 4</string>
|
||||
<string name="xiaoqingxin_6">小清新 6</string>
|
||||
<string name="lengsediao_1">冷色调 1</string>
|
||||
<string name="lengsediao_2">冷色调 2</string>
|
||||
<string name="lengsediao_3">冷色调 3</string>
|
||||
<string name="lengsediao_4">冷色调 4</string>
|
||||
<string name="lengsediao_7">冷色调 7</string>
|
||||
<string name="lengsediao_8">冷色调 8</string>
|
||||
<string name="lengsediao_11">冷色调 11</string>
|
||||
<string name="nuansediao_1">暖色调 1</string>
|
||||
<string name="nuansediao_2">暖色调 2</string>
|
||||
<string name="gexing_1">个性 1</string>
|
||||
<string name="gexing_2">个性 2</string>
|
||||
<string name="gexing_3">个性 3</string>
|
||||
<string name="gexing_4">个性 4</string>
|
||||
<string name="gexing_5">个性 5</string>
|
||||
<string name="gexing_7">个性 7</string>
|
||||
<string name="gexing_10">个性 10</string>
|
||||
<string name="gexing_11">个性 11</string>
|
||||
<string name="lengsediao_1">冷色調 1</string>
|
||||
<string name="lengsediao_2">冷色調 2</string>
|
||||
<string name="lengsediao_3">冷色調 3</string>
|
||||
<string name="lengsediao_4">冷色調 4</string>
|
||||
<string name="lengsediao_7">冷色調 7</string>
|
||||
<string name="lengsediao_8">冷色調 8</string>
|
||||
<string name="lengsediao_11">冷色調 11</string>
|
||||
<string name="nuansediao_1">暖色調 1</string>
|
||||
<string name="nuansediao_2">暖色調 2</string>
|
||||
<string name="gexing_1">個性 1</string>
|
||||
<string name="gexing_2">個性 2</string>
|
||||
<string name="gexing_3">個性 3</string>
|
||||
<string name="gexing_4">個性 4</string>
|
||||
<string name="gexing_5">個性 5</string>
|
||||
<string name="gexing_7">個性 7</string>
|
||||
<string name="gexing_10">個性 10</string>
|
||||
<string name="gexing_11">個性 11</string>
|
||||
<string name="heibai_1">黑白 1</string>
|
||||
<string name="heibai_2">黑白 2</string>
|
||||
<string name="heibai_3">黑白 3</string>
|
||||
@@ -138,14 +138,14 @@
|
||||
<string name="ziran_6">自然 6</string>
|
||||
<string name="ziran_7">自然 7</string>
|
||||
<string name="ziran_8">自然 8</string>
|
||||
<string name="zhiganhui_1">质感灰 1</string>
|
||||
<string name="zhiganhui_2">质感灰 2</string>
|
||||
<string name="zhiganhui_3">质感灰 3</string>
|
||||
<string name="zhiganhui_4">质感灰 4</string>
|
||||
<string name="zhiganhui_5">质感灰 5</string>
|
||||
<string name="zhiganhui_6">质感灰 6</string>
|
||||
<string name="zhiganhui_7">质感灰 7</string>
|
||||
<string name="zhiganhui_8">质感灰 8</string>
|
||||
<string name="zhiganhui_1">質感灰 1</string>
|
||||
<string name="zhiganhui_2">質感灰 2</string>
|
||||
<string name="zhiganhui_3">質感灰 3</string>
|
||||
<string name="zhiganhui_4">質感灰 4</string>
|
||||
<string name="zhiganhui_5">質感灰 5</string>
|
||||
<string name="zhiganhui_6">質感灰 6</string>
|
||||
<string name="zhiganhui_7">質感灰 7</string>
|
||||
<string name="zhiganhui_8">質感灰 8</string>
|
||||
<string name="mitao_1">蜜桃 1</string>
|
||||
<string name="mitao_2">蜜桃 2</string>
|
||||
<string name="mitao_3">蜜桃 3</string>
|
||||
@@ -155,85 +155,85 @@
|
||||
<string name="mitao_7">蜜桃 7</string>
|
||||
<string name="mitao_8">蜜桃 8</string>
|
||||
|
||||
<string name="beauty_face_style_none">无</string>
|
||||
<string name="beauty_face_style_1">风格 1</string>
|
||||
<string name="beauty_face_style_2">风格 2</string>
|
||||
<string name="beauty_face_style_3">风格 3</string>
|
||||
<string name="beauty_face_style_4">风格 4</string>
|
||||
<string name="beauty_face_style_5">风格 5</string>
|
||||
<string name="beauty_face_style_6">风格 6</string>
|
||||
<string name="beauty_face_style_7">风格 7</string>
|
||||
<string name="beauty_face_style_toast">使用%s先取消“风格推荐”</string>
|
||||
<string name="beauty_face_style_none">無</string>
|
||||
<string name="beauty_face_style_1">風格 1</string>
|
||||
<string name="beauty_face_style_2">風格 2</string>
|
||||
<string name="beauty_face_style_3">風格 3</string>
|
||||
<string name="beauty_face_style_4">風格 4</string>
|
||||
<string name="beauty_face_style_5">風格 5</string>
|
||||
<string name="beauty_face_style_6">風格 6</string>
|
||||
<string name="beauty_face_style_7">風格 7</string>
|
||||
<string name="beauty_face_style_toast">使用%s先取消“風格推薦”</string>
|
||||
|
||||
<string name="poster_take_photo">对准线框 正脸拍摄</string>
|
||||
<string name="poster_change_face_error">替换失败</string>
|
||||
<string name="poster_template_face_none">未识别模板的人脸,请重新选择模板</string>
|
||||
<string name="dialog_no_track_face">未检测到人脸,请重新拍摄</string>
|
||||
<string name="dialog_no_incomplete_face">人脸不全,请重新拍摄</string>
|
||||
<string name="dialog_face_rotation_not_valid">人脸偏转角度过大,请正脸拍摄。</string>
|
||||
<string name="poster_take_photo">對準線框 正臉拍攝</string>
|
||||
<string name="poster_change_face_error">替換失敗</string>
|
||||
<string name="poster_template_face_none">未識別模板的人臉,請重新選擇模板</string>
|
||||
<string name="dialog_no_track_face">未檢測到人臉,請重新拍攝</string>
|
||||
<string name="dialog_no_incomplete_face">人臉不全,請重新拍攝</string>
|
||||
<string name="dialog_face_rotation_not_valid">人臉偏轉角度過大,請正臉拍攝。</string>
|
||||
<string name="dialog_got">知道啦</string>
|
||||
<string name="tip_dual_face">检测到多人,请选择一人进行换脸</string>
|
||||
<string name="tip_dual_face">檢測到多人,請選擇一人進行換臉</string>
|
||||
|
||||
<string name="animoji_filter">Animoji</string>
|
||||
<string name="cartoon_filter">动漫滤镜</string>
|
||||
<string name="cartoon_filter">動漫濾鏡</string>
|
||||
|
||||
<string name="delete_avatar_model">删除模型</string>
|
||||
<string name="delete_avatar_model">刪除模型</string>
|
||||
<string name="new_avatar_model">新建模型</string>
|
||||
<string name="edit_avatar_model">编辑模型</string>
|
||||
<string name="edit_avatar_model">編輯模型</string>
|
||||
|
||||
<string name="avatar_face_hair">发型</string>
|
||||
<string name="avatar_face_face">脸型</string>
|
||||
<string name="avatar_face_hair">髮型</string>
|
||||
<string name="avatar_face_face">臉型</string>
|
||||
<string name="avatar_face_eye">眼睛</string>
|
||||
<string name="avatar_face_lip">嘴唇</string>
|
||||
<string name="avatar_face_nose">鼻子</string>
|
||||
|
||||
<string name="avatar_face_length">脸型长度</string>
|
||||
<string name="avatar_face_width">脸颊宽度</string>
|
||||
<string name="avatar_chin_width">下颚宽度</string>
|
||||
<string name="avatar_face_length">臉型長度</string>
|
||||
<string name="avatar_face_width">臉頰寬度</string>
|
||||
<string name="avatar_chin_width">下顎寬度</string>
|
||||
<string name="avatar_chin_height">下巴高低</string>
|
||||
<string name="avatar_eye_position">眼睛位置</string>
|
||||
<string name="avatar_eye_corner_height">眼角高度</string>
|
||||
<string name="avatar_eye_height">眼睛高低</string>
|
||||
<string name="avatar_eye_width">眼睛宽窄</string>
|
||||
<string name="avatar_eye_width">眼睛寬窄</string>
|
||||
<string name="avatar_nose_position">鼻子位置</string>
|
||||
<string name="avatar_nose_width">鼻翼宽窄</string>
|
||||
<string name="avatar_nose_height">鼻头高低</string>
|
||||
<string name="avatar_nose_width">鼻翼寬窄</string>
|
||||
<string name="avatar_nose_height">鼻頭高低</string>
|
||||
<string name="avatar_mouth_position">嘴部位置</string>
|
||||
<string name="avatar_up_lip_thickness">上唇厚度</string>
|
||||
<string name="avatar_down_lip_thickness">下唇厚度</string>
|
||||
<string name="avatar_lip_width">嘴唇宽度</string>
|
||||
<string name="model_empty_tip">你还没有创建过模型哦</string>
|
||||
<string name="dialog_reset_avatar_model">是否将所有参数恢复到默认值?</string>
|
||||
<string name="avatar_face_customize">自定义</string>
|
||||
<string name="avatar_lip_width">嘴唇寬度</string>
|
||||
<string name="model_empty_tip">你還沒有創建過模型哦</string>
|
||||
<string name="dialog_reset_avatar_model">是否將所有參數恢復到默認值?</string>
|
||||
<string name="avatar_face_customize">自定義</string>
|
||||
<string name="avatar_save_succeed">保存成功</string>
|
||||
|
||||
<string name="live_photo_back_not_save">返回后当前操作将不会被保存哦</string>
|
||||
<string name="live_photo_btn_delete">删除</string>
|
||||
<string name="live_photo_back_not_save">返回后當前操作將不會被保存哦</string>
|
||||
<string name="live_photo_btn_delete">刪除</string>
|
||||
<string name="live_photo_btn_cancel">取消</string>
|
||||
<string name="live_photo_btn_delete_">删除(%d)</string>
|
||||
<string name="live_photo_delete_effect">删除道具</string>
|
||||
<string name="live_photo__delete_all">全选</string>
|
||||
<string name="live_photo_empty_list_tip">你还没有创建过道具哦</string>
|
||||
<string name="confirm">确定</string>
|
||||
<string name="live_photo_btn_delete_">刪除(%d)</string>
|
||||
<string name="live_photo_delete_effect">刪除道具</string>
|
||||
<string name="live_photo__delete_all">全選</string>
|
||||
<string name="live_photo_empty_list_tip">你還沒有創建過道具哦</string>
|
||||
<string name="confirm">確定</string>
|
||||
<string name="cancel">取消</string>
|
||||
<string name="dialog_confirm_delete">确定删除所选中的道具?</string>
|
||||
<string name="toast_delete_succeed">删除成功</string>
|
||||
<string name="toast_delete_failed">删除失败</string>
|
||||
<string name="dialog_confirm_delete">確定刪除所選中的道具?</string>
|
||||
<string name="toast_delete_succeed">刪除成功</string>
|
||||
<string name="toast_delete_failed">刪除失敗</string>
|
||||
<string name="live_photo_save_succeed">道具保存成功</string>
|
||||
<string name="recover">恢复</string>
|
||||
<string name="recover">恢復</string>
|
||||
|
||||
<string name="makeup_lip_fog">雾面</string>
|
||||
<string name="makeup_lip_moist1">润泽Ⅰ</string>
|
||||
<string name="makeup_lip_moist2">润泽Ⅱ</string>
|
||||
<string name="makeup_lip_fog">霧面</string>
|
||||
<string name="makeup_lip_moist1">潤澤Ⅰ</string>
|
||||
<string name="makeup_lip_moist2">潤澤Ⅱ</string>
|
||||
<string name="makeup_lip_pearl">珠光</string>
|
||||
<string name="makeup_lip_bitelip">咬唇</string>
|
||||
<string name="makeup_blusher_apple">苹果肌</string>
|
||||
<string name="makeup_blusher_apple">蘋果肌</string>
|
||||
<string name="makeup_blusher_fan">扇形</string>
|
||||
<string name="makeup_blusher_eye_corner">眼角</string>
|
||||
<string name="makeup_blusher_slight_drunk">微醺</string>
|
||||
<string name="makeup_highlight_one">高光 I</string>
|
||||
<string name="makeup_highlight_two">高光 II</string>
|
||||
<string name="makeup_shadow_one">阴影 I</string>
|
||||
<string name="makeup_shadow_one">陰影 I</string>
|
||||
<string name="makeup_pupil_1">蜜糖</string>
|
||||
<string name="makeup_pupil_2">奶茶</string>
|
||||
<string name="makeup_pupil_3">水波</string>
|
||||
@@ -241,106 +241,106 @@
|
||||
<string name="makeup_pupil_5">孔雀</string>
|
||||
<string name="makeup_pupil_6">星河</string>
|
||||
<string name="makeup_pupil_7">落目</string>
|
||||
<string name="makeup_pupil_8">极光</string>
|
||||
<string name="makeup_eyebrow_willow">柳叶眉</string>
|
||||
<string name="makeup_pupil_8">極光</string>
|
||||
<string name="makeup_eyebrow_willow">柳恭弘=叶 恭弘眉</string>
|
||||
<string name="makeup_eyebrow_wild">野生眉</string>
|
||||
<string name="makeup_eyebrow_classical">古典眉</string>
|
||||
<string name="makeup_eyebrow_standard">标准眉</string>
|
||||
<string name="makeup_eye_shadow_single">单色眼影</string>
|
||||
<string name="makeup_eye_shadow_double1">双色眼影 I</string>
|
||||
<string name="makeup_eye_shadow_double2">双色眼影 II</string>
|
||||
<string name="makeup_eye_shadow_double3">双色眼影 III</string>
|
||||
<string name="makeup_eyebrow_standard">標準眉</string>
|
||||
<string name="makeup_eye_shadow_single">單色眼影</string>
|
||||
<string name="makeup_eye_shadow_double1">雙色眼影 I</string>
|
||||
<string name="makeup_eye_shadow_double2">雙色眼影 II</string>
|
||||
<string name="makeup_eye_shadow_double3">雙色眼影 III</string>
|
||||
<string name="makeup_eye_shadow_triple1">三色眼影 I</string>
|
||||
<string name="makeup_eye_shadow_triple2">三色眼影 II</string>
|
||||
<string name="makeup_eyelash_natural1">自然型 I</string>
|
||||
<string name="makeup_eyelash_natural2">自然型 II</string>
|
||||
<string name="makeup_eyelash_thick1">浓密型 I</string>
|
||||
<string name="makeup_eyelash_thick2">浓密型 II</string>
|
||||
<string name="makeup_eyelash_exaggerate1">夸张型 I</string>
|
||||
<string name="makeup_eyelash_exaggerate2">夸张型 II</string>
|
||||
<string name="makeup_eye_linear_cat">猫眼</string>
|
||||
<string name="makeup_eyelash_thick1">濃密型 I</string>
|
||||
<string name="makeup_eyelash_thick2">濃密型 II</string>
|
||||
<string name="makeup_eyelash_exaggerate1">誇張型 I</string>
|
||||
<string name="makeup_eyelash_exaggerate2">誇張型 II</string>
|
||||
<string name="makeup_eye_linear_cat">貓眼</string>
|
||||
<string name="makeup_eye_linear_drooping">下垂眼</string>
|
||||
<string name="makeup_eye_linear_pull_open">拉开眼距</string>
|
||||
<string name="makeup_eye_linear_pull_open">拉開眼距</string>
|
||||
<string name="makeup_eye_linear_pull_close">拉近眼距</string>
|
||||
<string name="makeup_eye_linear_long">长眼</string>
|
||||
<string name="makeup_eye_linear_circular">圆眼</string>
|
||||
<string name="makeup_eye_linear_long">長眼</string>
|
||||
<string name="makeup_eye_linear_circular">圓眼</string>
|
||||
|
||||
<string name="makeup_combination_diadiatu">嗲嗲兔</string>
|
||||
<string name="makeup_combination_dongling">冻龄</string>
|
||||
<string name="makeup_combination_guofeng">国风</string>
|
||||
<string name="makeup_combination_dongling">凍齡</string>
|
||||
<string name="makeup_combination_guofeng">國風</string>
|
||||
<string name="makeup_combination_hunxie">混血</string>
|
||||
<string name="makeup_combination_sexy">性感</string>
|
||||
<string name="makeup_combination_sweet">甜美</string>
|
||||
<string name="makeup_combination_neighbor">邻家</string>
|
||||
<string name="makeup_combination_occident">欧美</string>
|
||||
<string name="makeup_combination_charming">妩媚</string>
|
||||
<string name="makeup_combination_jianling">减龄</string>
|
||||
<string name="makeup_combination_neighbor">鄰家</string>
|
||||
<string name="makeup_combination_occident">歐美</string>
|
||||
<string name="makeup_combination_charming">嫵媚</string>
|
||||
<string name="makeup_combination_jianling">減齡</string>
|
||||
<string name="makeup_combination_nuandong">暖冬</string>
|
||||
<string name="makeup_combination_hongfeng">红枫</string>
|
||||
<string name="makeup_combination_hongfeng">紅楓</string>
|
||||
<string name="makeup_combination_shaonv">少女</string>
|
||||
<string name="makeup_combination_ziyun">紫韵</string>
|
||||
<string name="makeup_combination_yanshimao">厌世猫</string>
|
||||
<string name="makeup_combination_renyu">人鱼</string>
|
||||
<string name="makeup_combination_ziyun">紫韻</string>
|
||||
<string name="makeup_combination_yanshimao">厭世貓</string>
|
||||
<string name="makeup_combination_renyu">人魚</string>
|
||||
<string name="makeup_combination_chuqiu">初秋</string>
|
||||
<string name="makeup_combination_qianzhihe">千纸鹤</string>
|
||||
<string name="makeup_combination_qianzhihe">千紙鶴</string>
|
||||
<string name="makeup_combination_chaomo">超模</string>
|
||||
<string name="makeup_combination_chuju">雏菊</string>
|
||||
<string name="makeup_combination_gangfeng">港风</string>
|
||||
<string name="makeup_combination_chuju">雛菊</string>
|
||||
<string name="makeup_combination_gangfeng">港風</string>
|
||||
<string name="makeup_combination_rose">Rose</string>
|
||||
|
||||
<string name="slimming">瘦身</string>
|
||||
<string name="long_legs">长腿</string>
|
||||
<string name="thin_waist">细腰</string>
|
||||
<string name="long_legs">長腿</string>
|
||||
<string name="thin_waist">細腰</string>
|
||||
<string name="beautify_shoulder">美肩</string>
|
||||
<string name="beautify_hip_slim">美臀</string>
|
||||
<string name="beautify_head_slim">小头</string>
|
||||
<string name="beautify_head_slim">小頭</string>
|
||||
<string name="beautify_leg_thin_slim">瘦腿</string>
|
||||
<string name="toast_not_detect_body">未检测到人体</string>
|
||||
<string name="pta_human_full_body">全身驱动</string>
|
||||
<string name="pta_human_half_body">半身驱动</string>
|
||||
<string name="toast_not_detect_body">未檢測到人體</string>
|
||||
<string name="pta_human_full_body">全身驅動</string>
|
||||
<string name="pta_human_half_body">半身驅動</string>
|
||||
|
||||
|
||||
<string name="select_data_photo_or_video">载入图片或视频</string>
|
||||
<string name="toast_not_detect_gesture">未检测到手势</string>
|
||||
<string name="select_data_photo_or_video">載入圖片或視頻</string>
|
||||
<string name="toast_not_detect_gesture">未檢測到手勢</string>
|
||||
|
||||
<string name="bg_seg_green_graphic">抠像</string>
|
||||
<string name="bg_seg_green_graphic">摳像</string>
|
||||
<string name="bg_seg_green_background">背景</string>
|
||||
<string name="bg_seg_green_key_color">关键颜色</string>
|
||||
<string name="bg_seg_green_key_color">關鍵顏色</string>
|
||||
<string name="bg_seg_green_similarity">相似度</string>
|
||||
<string name="bg_seg_green_smooth">平滑</string>
|
||||
<string name="bg_seg_green_alpha">祛色度</string>
|
||||
<string name="bg_seg_green_safe_area">安全区域</string>
|
||||
<string name="bg_seg_green_safe_area">安全區域</string>
|
||||
<string name="bg_seg_green_science">科技</string>
|
||||
<string name="bg_seg_green_beach">沙滩</string>
|
||||
<string name="bg_seg_green_beach">沙灘</string>
|
||||
<string name="bg_seg_green_classroom">教室</string>
|
||||
<string name="bg_seg_green_forest">森林</string>
|
||||
<string name="bg_seg_green_ink">水墨画</string>
|
||||
<string name="dialog_guide_bg_seg_green">请使用纯色背景拍摄,推荐绿色幕布效果最佳</string>
|
||||
<string name="bg_seg_green_ink">水墨畫</string>
|
||||
<string name="dialog_guide_bg_seg_green">請使用純色背景拍攝,推薦綠色幕布效果最佳</string>
|
||||
<string name="dialog_i_know">我知道了</string>
|
||||
|
||||
<string name="download_error">下载失败</string>
|
||||
<string name="download_error">下載失敗</string>
|
||||
<string name="back">返回</string>
|
||||
|
||||
<string name="safe_area_tips">白色区域为安全区域,不参与绿幕抠像</string>
|
||||
<string name="safe_area_tips">白色區域為安全區域,不參与綠幕摳像</string>
|
||||
|
||||
<string name="brow_height_tips">眉毛上下功能仅支持在高端机上使用</string>
|
||||
<string name="brow_space_tips">眉间距功能仅支持在高端机上使用</string>
|
||||
<string name="brow_height_tips">眉毛上下功能僅支持在高端機上使用</string>
|
||||
<string name="brow_space_tips">眉間距功能僅支持在高端機上使用</string>
|
||||
|
||||
|
||||
<string name="home_function_name_beauty">美颜</string>
|
||||
<string name="home_function_name_makeup">美妆</string>
|
||||
<string name="home_function_name_sticker">贴纸</string>
|
||||
<string name="home_function_name_beauty_body">美体</string>
|
||||
<string name="home_function_name_beauty">美顏</string>
|
||||
<string name="home_function_name_makeup">美妝</string>
|
||||
<string name="home_function_name_sticker">貼紙</string>
|
||||
<string name="home_function_name_beauty_body">美體</string>
|
||||
|
||||
<string name="toast_not_detect_face">未检测到人脸</string>
|
||||
<string name="toast_not_detect_face_or_body">未检测到人脸或人体</string>
|
||||
<string name="toast_not_detect_face">未檢測到人臉</string>
|
||||
<string name="toast_not_detect_face_or_body">未檢測到人臉或人體</string>
|
||||
|
||||
<string name="makeup_combination_naicha">奶茶</string>
|
||||
<string name="makeup_combination_dousha">豆沙</string>
|
||||
<string name="makeup_combination_chaoa">超A</string>
|
||||
<string name="home_function_name_big_head">搞笑大头</string>
|
||||
<string name="home_function_name_big_head">搞笑大頭</string>
|
||||
<string name="home_function_name_animoji">Animoji</string>
|
||||
<string name="home_function_name_fine_sticker">精品贴纸</string>
|
||||
<string name="home_function_name_fine_sticker">精品貼紙</string>
|
||||
<string name="dialog_reset">重置</string>
|
||||
<string name="menu_diy">自定義</string>
|
||||
|
||||
|
||||
@@ -16,33 +16,33 @@
|
||||
<string name="fu_base_input_type_single">SingleInput</string>
|
||||
<string name="fu_base_input_type_double">DualInput</string>
|
||||
|
||||
<string name="beauty_box_heavy_blur_fine">Fine smooth</string>
|
||||
<string name="beauty_box_color_level">Whiten</string>
|
||||
<string name="beauty_box_red_level">Ruddy</string>
|
||||
<string name="beauty_box_heavy_blur_fine">Buffing</string>
|
||||
<string name="beauty_box_color_level">Skin Tone</string>
|
||||
<string name="beauty_box_red_level">Rosy</string>
|
||||
<string name="beauty_box_sharpen">Sharpen</string>
|
||||
<string name="beauty_box_eye_bright">Eye brighten</string>
|
||||
<string name="beauty_box_tooth_whiten">Tooth whiten</string>
|
||||
<string name="beauty_box_eye_enlarge">Eye enlarge</string>
|
||||
<string name="beauty_box_eye_circle">Eye round</string>
|
||||
<string name="beauty_box_cheek_natural">Natural</string>
|
||||
<string name="beauty_box_eye_bright">Brighen</string>
|
||||
<string name="beauty_box_tooth_whiten">Whiten</string>
|
||||
<string name="beauty_box_eye_enlarge">Enlarge</string>
|
||||
<string name="beauty_box_eye_circle">Round</string>
|
||||
<string name="beauty_box_cheek_natural">Origin</string>
|
||||
<string name="beauty_box_cheek_goddess">Goddess</string>
|
||||
<string name="beauty_box_cheek_long_face">Long face</string>
|
||||
<string name="beauty_box_cheek_round_face">Round face</string>
|
||||
<string name="beauty_box_cheekbones">Cheekbone</string>
|
||||
<string name="beauty_box_lower_jaw">Jawbone</string>
|
||||
<string name="beauty_box_cheek_thinning">Cheek thin</string>
|
||||
<string name="beauty_box_cheek_v">V face</string>
|
||||
<string name="beauty_box_cheek_narrow">CheekNarrow</string>
|
||||
<string name="beauty_box_cheek_short">Cheek short</string>
|
||||
<string name="beauty_box_cheek_small">Cheek small</string>
|
||||
<string name="beauty_box_intensity_chin">Chin</string>
|
||||
<string name="beauty_box_intensity_forehead">Forehead</string>
|
||||
<string name="beauty_box_intensity_nose">Nose</string>
|
||||
<string name="beauty_box_intensity_mouth">Mouth</string>
|
||||
<string name="beauty_radio_skin_beauty">Skin</string>
|
||||
<string name="beauty_radio_face_shape">Reshape</string>
|
||||
<string name="beauty_box_cheekbones">Cheek</string>
|
||||
<string name="beauty_box_lower_jaw">Jaw</string>
|
||||
<string name="beauty_box_cheek_thinning">Lower Width</string>
|
||||
<string name="beauty_box_cheek_v">V Shape</string>
|
||||
<string name="beauty_box_cheek_narrow">Upper Width</string>
|
||||
<string name="beauty_box_cheek_short">Short Face</string>
|
||||
<string name="beauty_box_cheek_small">Size Face</string>
|
||||
<string name="beauty_box_intensity_chin">Chin Length</string>
|
||||
<string name="beauty_box_intensity_forehead">Hairline</string>
|
||||
<string name="beauty_box_intensity_nose">Nose Size</string>
|
||||
<string name="beauty_box_intensity_mouth">Mouth Size</string>
|
||||
<string name="beauty_radio_skin_beauty">Skincare</string>
|
||||
<string name="beauty_radio_face_shape">Beauty type</string>
|
||||
<string name="beauty_radio_filter">Filter</string>
|
||||
<string name="beauty_radio_style">Presets</string>
|
||||
<string name="beauty_radio_style">Style recommend</string>
|
||||
<string name="makeup_radio_lipstick">Lipstick</string>
|
||||
<string name="makeup_radio_blusher">Blush</string>
|
||||
<string name="makeup_radio_eyebrow">Eyebrow</string>
|
||||
@@ -59,16 +59,16 @@
|
||||
<string name="makeup_boyfriend">Boyfriend</string>
|
||||
<string name="makeup_clear">Clear</string>
|
||||
<string name="makeup_grapefruit">Grapefruit</string>
|
||||
<string name="beauty_micro_pouch">Circle</string>
|
||||
<string name="beauty_micro_nasolabial">Wrinkles</string>
|
||||
<string name="beauty_micro_pouch">Dark Circles</string>
|
||||
<string name="beauty_micro_nasolabial">Laugh Line</string>
|
||||
<string name="beauty_micro_smile">Smile</string>
|
||||
<string name="beauty_brow_height">Brow height</string>
|
||||
<string name="beauty_brow_space">Brow space</string>
|
||||
<string name="beauty_micro_canthus">Canthus</string>
|
||||
<string name="beauty_micro_philtrum">Philtrum</string>
|
||||
<string name="beauty_micro_long_nose">Length</string>
|
||||
<string name="beauty_micro_eye_space">Eye distance</string>
|
||||
<string name="beauty_micro_eye_rotate">Slant</string>
|
||||
<string name="beauty_brow_height">Brow Position</string>
|
||||
<string name="beauty_brow_space">Brow Distance</string>
|
||||
<string name="beauty_micro_canthus">Inner Corner</string>
|
||||
<string name="beauty_micro_philtrum">Mouth Position</string>
|
||||
<string name="beauty_micro_long_nose">Nose Lift</string>
|
||||
<string name="beauty_micro_eye_space">Eye Distance</string>
|
||||
<string name="beauty_micro_eye_rotate">Eye Upturn</string>
|
||||
<string name="beauty_face_style_none">None</string>
|
||||
<string name="beauty_face_style_1">Style 1</string>
|
||||
<string name="beauty_face_style_2">Style 2</string>
|
||||
@@ -77,7 +77,7 @@
|
||||
<string name="beauty_face_style_5">Style 5</string>
|
||||
<string name="beauty_face_style_6">Style 6</string>
|
||||
<string name="beauty_face_style_7">Style 7</string>
|
||||
<string name="beauty_face_style_toast">To use %s, cancel \'Presets\' first.</string>
|
||||
<string name="beauty_face_style_toast">To use %s, cancel \'Style recommend\' first.</string>
|
||||
|
||||
<string name="select_data_photo">Photo</string>
|
||||
<string name="select_data_video">Video</string>
|
||||
|
||||
19
app/proguard-rules.pro
vendored
19
app/proguard-rules.pro
vendored
@@ -235,4 +235,23 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
}
|
||||
-keep class com.faceunity.wrapper.faceunity$LoadConfig*{
|
||||
private static boolean sLoadedLibrary;
|
||||
}
|
||||
-keep class com.umeng.** {*;}
|
||||
|
||||
-keep class org.repackage.** {*;}
|
||||
|
||||
-keep class com.uyumao.** { *; }
|
||||
|
||||
-keepclassmembers class * {
|
||||
public <init> (org.json.JSONObject);
|
||||
}
|
||||
|
||||
-keepclassmembers enum * {
|
||||
public static **[] values();
|
||||
public static ** valueOf(java.lang.String);
|
||||
}
|
||||
#----svga
|
||||
-keep class com.opensource.svgaplayer.**{
|
||||
public <methods>;
|
||||
public static <fields>;
|
||||
}
|
||||
@@ -6,7 +6,8 @@
|
||||
<uses-permission
|
||||
android:name="android.permission.CALL_PHONE"
|
||||
tools:node="remove" />
|
||||
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION"
|
||||
<uses-permission
|
||||
android:name="android.permission.CHANGE_CONFIGURATION"
|
||||
tools:ignore="ProtectedPermissions" />
|
||||
<uses-permission
|
||||
android:name="android.permission.READ_LOGS"
|
||||
@@ -62,6 +63,9 @@
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
<uses-permission android:name="android.permission.FLASHLIGHT" />
|
||||
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
|
||||
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
|
||||
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<uses-permission
|
||||
@@ -81,12 +85,12 @@
|
||||
<uses-permission android:name="com.android.vending.BILLING" />
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
||||
<!-- Android11新增 -->
|
||||
<!-- <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />-->
|
||||
<!-- <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />-->
|
||||
<!-- <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />-->
|
||||
<!-- <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />-->
|
||||
<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" />
|
||||
<queries>
|
||||
<package android:name="com.twitter.android"/>
|
||||
<package android:name="jp.naver.line.android"/>
|
||||
<package android:name="com.twitter.android" />
|
||||
<package android:name="jp.naver.line.android" />
|
||||
|
||||
</queries>
|
||||
<application
|
||||
@@ -95,30 +99,30 @@
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
android:largeHeap="true"
|
||||
android:supportsRtl="true"
|
||||
android:preserveLegacyExternalStorage="true"
|
||||
android:requestLegacyExternalStorage="true"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/AppTheme"
|
||||
tools:replace="theme,label,icon,allowBackup">
|
||||
<!-- <service-->
|
||||
<!-- android:name="com.shayu.phonelive.utils.MyNotificationService">-->
|
||||
<!-- <intent-filter>-->
|
||||
<!-- <action android:name="com.google.firebase.MESSAGING_EVENT" />-->
|
||||
<!-- </intent-filter>-->
|
||||
<!-- </service>-->
|
||||
<!-- <service-->
|
||||
<!-- android:name="com.shayu.phonelive.utils.MyNotificationService">-->
|
||||
<!-- <intent-filter>-->
|
||||
<!-- <action android:name="com.google.firebase.MESSAGING_EVENT" />-->
|
||||
<!-- </intent-filter>-->
|
||||
<!-- </service>-->
|
||||
<service
|
||||
android:name="io.rong.push.platform.google.RongFirebaseMessagingService"
|
||||
android:stopWithTask="false"
|
||||
android:exported="false">
|
||||
android:exported="false"
|
||||
android:stopWithTask="false">
|
||||
<intent-filter>
|
||||
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
|
||||
<action android:name="com.google.firebase.MESSAGING_EVENT" />
|
||||
</intent-filter>
|
||||
</service>
|
||||
<activity
|
||||
android:name="com.shayu.phonelive.activity.LauncherActivity"
|
||||
android:exported="true"
|
||||
android:screenOrientation="portrait"
|
||||
tools:ignore="LockedOrientationActivity"
|
||||
android:exported="true">
|
||||
tools:ignore="LockedOrientationActivity">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
||||
@@ -130,7 +134,8 @@
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<category android:name="android.intent.category.BROWSABLE" />
|
||||
|
||||
<data android:scheme="smvslm" />
|
||||
|
||||
<data android:scheme="um.64e40ee55488fe7b3afa2c96" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
@@ -162,13 +167,16 @@
|
||||
<meta-data
|
||||
android:name="com.facebook.sdk.ClientToken"
|
||||
android:value="@string/facebook_client_token" />
|
||||
<meta-data android:name="com.facebook.sdk.AutoLogAppEventsEnabled" android:value="false"/>
|
||||
<meta-data
|
||||
android:name="com.facebook.sdk.AutoLogAppEventsEnabled"
|
||||
android:value="false" />
|
||||
<meta-data
|
||||
android:name="firebase_messaging_auto_init_enabled"
|
||||
android:value="false" />
|
||||
<meta-data
|
||||
android:name="firebase_analytics_collection_enabled"
|
||||
android:value="false" />
|
||||
|
||||
<receiver
|
||||
android:name="com.shayu.phonelive.utils.CustomMessageReceiver"
|
||||
android:exported="true">
|
||||
@@ -186,12 +194,12 @@
|
||||
<action android:name="com.huawei.push.action.MESSAGING_EVENT" />
|
||||
</intent-filter>
|
||||
</service>
|
||||
<!-- <meta-data-->
|
||||
<!-- android:name="com.huawei.hms.client.appid"-->
|
||||
<!-- android:value="106936673"/>-->
|
||||
<!-- <meta-data-->
|
||||
<!-- android:name="com.huawei.hms.client.cpid"-->
|
||||
<!-- android:value="30086000612391734"/>-->
|
||||
<!-- <meta-data-->
|
||||
<!-- android:name="com.huawei.hms.client.appid"-->
|
||||
<!-- android:value="106936673"/>-->
|
||||
<!-- <meta-data-->
|
||||
<!-- android:name="com.huawei.hms.client.cpid"-->
|
||||
<!-- android:value="30086000612391734"/>-->
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
@@ -32,6 +32,8 @@ import com.tencent.imsdk.v2.V2TIMGroupMemberInfo;
|
||||
import com.tencent.imsdk.v2.V2TIMManager;
|
||||
import com.tencent.imsdk.v2.V2TIMSimpleMsgListener;
|
||||
import com.tencent.imsdk.v2.V2TIMUserInfo;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.umeng.commonsdk.UMConfigure;
|
||||
import com.yunbao.common.BuildConfig;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.CommonAppContext;
|
||||
@@ -163,8 +165,23 @@ public class AppContext extends CommonAppContext {
|
||||
if (isMainProcess()) {
|
||||
OpenInstall.init(this);
|
||||
}
|
||||
//设置LOG开关,默认为false
|
||||
UMConfigure.setLogEnabled(true);
|
||||
|
||||
|
||||
//友盟正式初始化
|
||||
UMConfigure.init(getApplicationContext(), "64e40ee55488fe7b3afa2c96", "PDLive", UMConfigure.DEVICE_TYPE_PHONE,
|
||||
"64e40ee55488fe7b3afa2c96");
|
||||
|
||||
//集成umeng-crash-vx.x.x.aar,则需要关闭原有统计SDK异常捕获功能
|
||||
MobclickAgent.setCatchUncaughtExceptions(false);
|
||||
//PushSDK初始化(如使用推送SDK,必须调用此方法)
|
||||
|
||||
//统计SDK是否支持采集在子进程中打点的自定义事件,默认不支持
|
||||
UMConfigure.setProcessEvent(true);//支持多进程打点
|
||||
MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.AUTO);
|
||||
UMConfigure.submitPolicyGrantResult(getApplicationContext(), true);
|
||||
|
||||
registerActivityLifecycleCallbacks(new AdjustLifecycleCallbacks());
|
||||
//初始化 AndroidUtilCode
|
||||
Utils.init(this);
|
||||
|
||||
@@ -229,8 +229,11 @@ public class LauncherActivity extends AppCompatActivity implements View.OnClickL
|
||||
} else {
|
||||
checkUidAndToken();
|
||||
}
|
||||
}else{
|
||||
ToastUtil.show(getString(R.string.net_error));
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ buildscript {
|
||||
maven { url 'https://maven.aliyun.com/repository/google' }
|
||||
maven { url 'https://maven.fabric.io/public' }
|
||||
maven { url 'http://maven.faceunity.com/repository/maven-public/' }//美颜库
|
||||
maven { url 'https://repo1.maven.org/maven2/' }//埋点
|
||||
google()
|
||||
mavenCentral()
|
||||
}
|
||||
@@ -41,6 +42,7 @@ allprojects {
|
||||
maven { url 'https://maven.fabric.io/public' }
|
||||
maven { url 'http://maven.faceunity.com/repository/maven-public/' }//美颜库
|
||||
maven { url "https://jitpack.io" }
|
||||
maven { url 'https://repo1.maven.org/maven2/' }//埋点
|
||||
google() // Google's Maven repository
|
||||
}
|
||||
}
|
||||
|
||||
@@ -196,4 +196,8 @@ dependencies {
|
||||
api 'com.github.gzu-liyujiang.AndroidPicker:WheelView:4.1.11'
|
||||
//自定义圆角图片
|
||||
api 'com.makeramen:roundedimageview:2.3.0'
|
||||
// 友盟统计SDK
|
||||
api 'com.umeng.umsdk:common:9.6.3'// 必选
|
||||
api 'com.umeng.umsdk:asms:1.8.0'// 必选
|
||||
api 'com.umeng.umsdk:uyumao:1.1.2' //高级运营分析功能依赖库,使用卸载分析、开启反作弊能力请务必集成,以免影响高级功能使用。common需搭配v9.6.3及以上版本,asms需搭配v1.7.0及以上版本。需更新隐私声明。
|
||||
}
|
||||
|
||||
@@ -185,6 +185,7 @@ public class Constants {
|
||||
public static final String LIVE_PK_END = "endPK";//结束PK,以这个PK获取到的参数为准
|
||||
public static final String RED_PACKET = "RedPacket";//红包通知
|
||||
public static final String RED_PACKET_SUPER_JACKPOT = "RedPacketSuperJackpot";//超级红包通知
|
||||
public static final String SOCKET_LIVE_MSG_TO_USER = "SendMsgToUser";//七日用户主播提示语
|
||||
|
||||
//游戏socket
|
||||
public static final String SOCKET_GAME_ZJH = "startGame";//炸金花
|
||||
|
||||
@@ -24,6 +24,7 @@ import android.widget.TextView;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.interfaces.LifeCycleListener;
|
||||
@@ -178,11 +179,15 @@ public abstract class AbsActivity extends AppCompatActivity {
|
||||
}
|
||||
//友盟统计
|
||||
// MobclickAgent.onResume(this);
|
||||
MobclickAgent.onPageStart(this.mTag);
|
||||
Log.e("MobclickAgent","MobclickAgent:_onResume_"+this.mTag);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
super.onPause();
|
||||
MobclickAgent.onPageEnd(this.mTag);
|
||||
Log.e("MobclickAgent","MobclickAgent:_onPause_"+this.mTag);
|
||||
if (mLifeCycleListeners != null) {
|
||||
for (LifeCycleListener listener : mLifeCycleListeners) {
|
||||
listener.onPause();
|
||||
@@ -376,4 +381,5 @@ public abstract class AbsActivity extends AppCompatActivity {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ import androidx.annotation.RequiresApi;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.CommonAppContext;
|
||||
import com.yunbao.common.Constants;
|
||||
@@ -169,7 +170,7 @@ public class WebViewActivity extends AbsActivity {
|
||||
mWebView.getSettings().setJavaScriptEnabled(true);
|
||||
mWebView.getSettings().setDomStorageEnabled(true);
|
||||
String appCachePath = mContext.getCacheDir().getAbsolutePath();
|
||||
mWebView.getSettings().setAppCachePath(appCachePath);
|
||||
// mWebView.getSettings().setAppCachePath(appCachePath);
|
||||
mWebView.getSettings().setAllowFileAccess(true);
|
||||
mWebView.getSettings().setUseWideViewPort(true); // 关键点
|
||||
mWebView.getSettings().setAllowFileAccess(true); // 允许访问文件
|
||||
@@ -248,7 +249,10 @@ public class WebViewActivity extends AbsActivity {
|
||||
mValueCallback2 = null;
|
||||
}
|
||||
|
||||
public static void forward(Context context, String url, boolean addArgs) {
|
||||
private static boolean mIsLive = false;
|
||||
|
||||
public static void forward(Context context, String url, boolean addArgs, boolean isLive) {
|
||||
mIsLive = isLive;
|
||||
if (Constants.LoginKefu) {
|
||||
if (addArgs) {
|
||||
url += "&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken();
|
||||
@@ -259,8 +263,8 @@ public class WebViewActivity extends AbsActivity {
|
||||
context.startActivity(intent);
|
||||
}
|
||||
|
||||
public static void forward(Context context, String url) {
|
||||
forward(context, url, true);
|
||||
public static void forward(Context context, String url,boolean isLive) {
|
||||
forward(context, url, true, isLive);
|
||||
}
|
||||
|
||||
|
||||
@@ -327,6 +331,7 @@ public class WebViewActivity extends AbsActivity {
|
||||
if (Constants.isShowPage != -1) {
|
||||
finish();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
@@ -405,7 +410,16 @@ public class WebViewActivity extends AbsActivity {
|
||||
MicStatusManager.getInstance().showDownMicDialog(mContext);
|
||||
return;
|
||||
}
|
||||
EventBus.getDefault().post(new LiveRoomChangeEvent(liveBean, liveType, Integer.parseInt(liveTypeVal)).setLiveEnd(true));
|
||||
if (mIsLive) {
|
||||
finish();
|
||||
if (MicStatusManager.getInstance().isMic(liveUid)) {
|
||||
MicStatusManager.getInstance().showDownMicDialog(mContext);
|
||||
return;
|
||||
}
|
||||
EventBus.getDefault().post(new LiveRoomChangeEvent(liveBean, liveType, Integer.parseInt(liveTypeVal)));
|
||||
} else {
|
||||
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveTypeVal), Integer.parseInt(liveSdk));
|
||||
}
|
||||
finish();
|
||||
}
|
||||
|
||||
@@ -422,4 +436,10 @@ public class WebViewActivity extends AbsActivity {
|
||||
|
||||
|
||||
}
|
||||
@Override
|
||||
protected void onPause() {
|
||||
super.onPause();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -12,6 +12,17 @@ public class GiftWallGiftDetail extends BaseModel {
|
||||
private String avatar;
|
||||
@SerializedName("naming_coin")
|
||||
private String namingCoin;
|
||||
@SerializedName("default_naming_coin")
|
||||
private String default_naming_coin;
|
||||
|
||||
public String getDefault_naming_coin() {
|
||||
return default_naming_coin;
|
||||
}
|
||||
|
||||
public GiftWallGiftDetail setDefault_naming_coin(String default_naming_coin) {
|
||||
this.default_naming_coin = default_naming_coin;
|
||||
return this;
|
||||
}
|
||||
|
||||
public int getUid() {
|
||||
return uid;
|
||||
|
||||
@@ -54,7 +54,8 @@ public class LiveBean implements Parcelable {
|
||||
private String recommendCardIconSizeThree = "";
|
||||
@SerializedName("red_packet_status")
|
||||
private int redPacketStatus;
|
||||
|
||||
@SerializedName("giftId")
|
||||
private String giftId;
|
||||
private Map<String,String> params;//用于跳转Activity时扩展参数,例:从首页Banner跳转到直播间时需要根据携带参数判断是否弹出新人特惠对话框
|
||||
|
||||
public String getRecommendCardIconSizeTwo() {
|
||||
@@ -66,6 +67,14 @@ public class LiveBean implements Parcelable {
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getGiftId() {
|
||||
return giftId;
|
||||
}
|
||||
|
||||
public void setGiftId(String giftId) {
|
||||
this.giftId = giftId;
|
||||
}
|
||||
|
||||
public String getRecommendCardIcon() {
|
||||
if (TextUtils.isEmpty(recommendCardIconSizeThree)) {
|
||||
if (!TextUtils.isEmpty(recommendCardIconSizeTwo)) {
|
||||
@@ -444,6 +453,7 @@ public class LiveBean implements Parcelable {
|
||||
this.recommendCardtype = in.readString();
|
||||
this.recommendCardIconSizeTwo = in.readString();
|
||||
this.recommendCardIconSizeThree = in.readString();
|
||||
this.giftId = in.readString();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -488,6 +498,7 @@ public class LiveBean implements Parcelable {
|
||||
dest.writeString(this.recommendCardtype);
|
||||
dest.writeString(this.recommendCardIconSizeTwo);
|
||||
dest.writeString(this.recommendCardIconSizeThree);
|
||||
dest.writeString(this.giftId);
|
||||
}
|
||||
|
||||
public static final Creator<LiveBean> CREATOR = new Creator<LiveBean>() {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.yunbao.common.bean;
|
||||
|
||||
import com.alibaba.fastjson.annotation.JSONField;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
/**
|
||||
* Created by cxf on 2018/9/25.
|
||||
@@ -16,6 +17,8 @@ public class LiveClassBean {
|
||||
private boolean checked;
|
||||
private String chinese;
|
||||
private String english;
|
||||
@SerializedName("channel_show")
|
||||
private int channel_show;
|
||||
|
||||
public String getChinese() {
|
||||
return chinese;
|
||||
@@ -92,4 +95,12 @@ public class LiveClassBean {
|
||||
public void setChecked(boolean checked) {
|
||||
this.checked = checked;
|
||||
}
|
||||
|
||||
public int getChannel_show() {
|
||||
return channel_show;
|
||||
}
|
||||
|
||||
public void setChannel_show(int channel_show) {
|
||||
this.channel_show = channel_show;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,28 @@ public class LiveGiftBean {
|
||||
private String namingCoin;
|
||||
@JSONField(name = "naming_user_coin")
|
||||
private String namingUserCoin;
|
||||
@JSONField(name = "blind_box_ticket")
|
||||
private int blindBoxTicket;
|
||||
@JSONField(name = "blind_box_ticket_id")
|
||||
private int blindBoxTicketId;
|
||||
|
||||
public int getBlindBoxTicketId() {
|
||||
return blindBoxTicketId;
|
||||
}
|
||||
|
||||
public LiveGiftBean setBlindBoxTicketId(int blindBoxTicketId) {
|
||||
this.blindBoxTicketId = blindBoxTicketId;
|
||||
return this;
|
||||
}
|
||||
|
||||
public int getBlindBoxTicket() {
|
||||
return blindBoxTicket;
|
||||
}
|
||||
|
||||
public LiveGiftBean setBlindBoxTicket(int blindBoxTicket) {
|
||||
this.blindBoxTicket = blindBoxTicket;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getNamingUserCoin() {
|
||||
return namingUserCoin;
|
||||
@@ -202,7 +224,7 @@ public class LiveGiftBean {
|
||||
return this;
|
||||
}
|
||||
|
||||
private int fansGiftLevel=0;//粉丝团礼物等级要求
|
||||
private int fansGiftLevel = 0;//粉丝团礼物等级要求
|
||||
|
||||
public int getFansGiftLevel() {
|
||||
return fansGiftLevel;
|
||||
|
||||
169
common/src/main/java/com/yunbao/common/bean/OpenAdModel.java
Normal file
169
common/src/main/java/com/yunbao/common/bean/OpenAdModel.java
Normal file
@@ -0,0 +1,169 @@
|
||||
package com.yunbao.common.bean;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.Locale;
|
||||
|
||||
public class OpenAdModel extends BaseModel {
|
||||
public static final int TYPE_HOME = 1;//主页
|
||||
public static final int TYPE_LIVE = 2;//直播间
|
||||
public static final int TYPE_LIVE_DELAY = 3;//直播间延迟
|
||||
public static final int MODEL_SQUARE = 1;//正方形
|
||||
public static final int MODEL_RECTANGLE = 2;//长方形
|
||||
public static final int MODEL_BOTTOM = 3;//底部
|
||||
@SerializedName("id")
|
||||
private int id;
|
||||
@SerializedName("popup_location")
|
||||
private int type = TYPE_HOME;
|
||||
@SerializedName("activity_url")
|
||||
private String url;
|
||||
@SerializedName("image_url")
|
||||
private String imageUrl;
|
||||
@SerializedName("display_time")
|
||||
private int showTime; //持续展示时间
|
||||
@SerializedName("delay_show_time")
|
||||
private int delayShowTime;//延迟展示时间
|
||||
@SerializedName("popup_model")
|
||||
private int model = MODEL_SQUARE;
|
||||
@SerializedName("start_show_time")
|
||||
private String startTime;//活动开始时间
|
||||
@SerializedName("end_show_time")
|
||||
private String endTime;//活动结束时间
|
||||
@SerializedName("popup_permission")
|
||||
private int permission;
|
||||
|
||||
|
||||
public OpenAdModel() {
|
||||
}
|
||||
|
||||
public int getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(int type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public String getUrl() {
|
||||
if (!url.startsWith("http://") || !url.startsWith("https://")) {
|
||||
url = CommonAppConfig.HOST + url;
|
||||
}
|
||||
return url + "?t=" + System.currentTimeMillis() / 1000;
|
||||
}
|
||||
|
||||
public void setUrl(String url) {
|
||||
this.url = url;
|
||||
}
|
||||
|
||||
public int getShowTime() {
|
||||
return showTime * 1000;
|
||||
}
|
||||
|
||||
public void setShowTime(int showTime) {
|
||||
this.showTime = showTime;
|
||||
}
|
||||
|
||||
public int getDelayShowTime() {
|
||||
return delayShowTime * 1000;
|
||||
}
|
||||
|
||||
public void setDelayShowTime(int delayShowTime) {
|
||||
this.delayShowTime = delayShowTime;
|
||||
}
|
||||
|
||||
public String getImageUrl() {
|
||||
return imageUrl;
|
||||
}
|
||||
|
||||
public void setImageUrl(String imageUrl) {
|
||||
this.imageUrl = imageUrl;
|
||||
}
|
||||
|
||||
public int getModel() {
|
||||
return model;
|
||||
}
|
||||
|
||||
public String getStartTime() {
|
||||
return startTime;
|
||||
}
|
||||
|
||||
public void setStartTime(String startTime) {
|
||||
this.startTime = startTime;
|
||||
}
|
||||
|
||||
public String getEndTime() {
|
||||
return endTime;
|
||||
}
|
||||
|
||||
public void setEndTime(String endTime) {
|
||||
this.endTime = endTime;
|
||||
}
|
||||
|
||||
public void setModel(int model) {
|
||||
this.model = model;
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public int getPermission() {
|
||||
return permission;
|
||||
}
|
||||
|
||||
public void setPermission(int permission) {
|
||||
this.permission = permission;
|
||||
}
|
||||
|
||||
public boolean isInTime() {
|
||||
if (StringUtil.isEmpty(startTime, endTime)) {
|
||||
return true;
|
||||
}
|
||||
Date startTime = null;
|
||||
Date endTime = null;
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
|
||||
|
||||
try {
|
||||
startTime = sdf.parse(this.startTime);
|
||||
endTime = sdf.parse(this.endTime);
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
long time = System.currentTimeMillis();
|
||||
return startTime.getTime() <= time && time <= endTime.getTime();
|
||||
}
|
||||
|
||||
public boolean userIsPermission(boolean isGuard) {
|
||||
if (permission == 4 && !isGuard) {//守护不可见
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "OpenAdModel{" +
|
||||
"id=" + id +
|
||||
", type=" + type +
|
||||
", url='" + url + '\'' +
|
||||
", imageUrl='" + imageUrl + '\'' +
|
||||
", showTime=" + showTime +
|
||||
", delayShowTime=" + delayShowTime +
|
||||
", model=" + model +
|
||||
", startTime='" + startTime + '\'' +
|
||||
", endTime='" + endTime + '\'' +
|
||||
", permission='" + permission + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
@@ -19,6 +19,8 @@ public class RedPacketInfoModel extends BaseModel {
|
||||
private String redPacketMoney;
|
||||
@SerializedName("red_packet_quantity")
|
||||
private String redPacketQuantity;
|
||||
@SerializedName("is_fans")
|
||||
private String isFans;
|
||||
@SerializedName("conditions")
|
||||
private String conditions;
|
||||
@SerializedName("create_time")
|
||||
@@ -270,4 +272,12 @@ public class RedPacketInfoModel extends BaseModel {
|
||||
this.userGoldenBean = userGoldenBean;
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean getIsFans() {
|
||||
return isFans.equals("1");
|
||||
}
|
||||
|
||||
public void setIsFans(String isFans) {
|
||||
this.isFans = isFans;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.yunbao.common.dialog;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.lxj.xpopup.impl.FullScreenPopupView;
|
||||
|
||||
/**
|
||||
* 居中弹窗
|
||||
*/
|
||||
public abstract class AbsDialogFullScreenPopupWindow extends FullScreenPopupView {
|
||||
public final Context mContext;
|
||||
|
||||
public AbsDialogFullScreenPopupWindow(@NonNull Context context) {
|
||||
super(context);
|
||||
this.mContext = context;
|
||||
}
|
||||
|
||||
/**
|
||||
* <a href="https://github.com/li-xiaojun/XPopup/wiki/5.-%E5%B8%B8%E7%94%A8%E8%AE%BE%E7%BD%AE">参考配置</a>
|
||||
*/
|
||||
public abstract void buildDialog(XPopup.Builder builder);
|
||||
public abstract int bindLayoutId();
|
||||
|
||||
@Override
|
||||
protected int getImplLayoutId() {
|
||||
return bindLayoutId();
|
||||
}
|
||||
|
||||
public void showDialog() {
|
||||
XPopup.Builder builder = new XPopup.Builder(mContext);
|
||||
builder.isDestroyOnDismiss(true);
|
||||
builder.enableDrag(false);
|
||||
buildDialog(builder);
|
||||
builder.asCustom(this).show();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
package com.yunbao.common.dialog;
|
||||
|
||||
import android.content.Context;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.activity.WebViewActivity;
|
||||
import com.yunbao.common.bean.OpenAdModel;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
|
||||
public class OpenAdBottomDialogPopup extends AbsDialogPopupWindow {
|
||||
private ImageView mImageView;
|
||||
private ImageView mClose;
|
||||
private OpenAdModel model;
|
||||
private OnItemClickListener<OpenAdModel> mListener;
|
||||
|
||||
public OpenAdBottomDialogPopup(@NonNull Context context, OpenAdModel model) {
|
||||
super(context);
|
||||
this.model = model;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void buildDialog(XPopup.Builder builder) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int bindLayoutId() {
|
||||
return R.layout.dialog_open_bottom_ad;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dismiss() {
|
||||
super.dismiss();
|
||||
if (mListener != null) {
|
||||
mListener.onItemClick(model, 0);
|
||||
mListener = null;
|
||||
}
|
||||
}
|
||||
|
||||
public OpenAdBottomDialogPopup setListener(OnItemClickListener<OpenAdModel> mListener) {
|
||||
this.mListener = mListener;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate() {
|
||||
super.onCreate();
|
||||
mImageView = findViewById(R.id.img);
|
||||
mClose = findViewById(R.id.close);
|
||||
mImageView.setOnClickListener(v -> {
|
||||
WebViewActivity.forward(mContext, model.getUrl(), model.getType() != OpenAdModel.TYPE_HOME);
|
||||
if (mListener != null) {
|
||||
mListener.onItemClick(model, 1);
|
||||
mListener = null;
|
||||
}
|
||||
dismiss();
|
||||
});
|
||||
mClose.setOnClickListener(v -> dismiss());
|
||||
ImgLoader.display(mContext, model.getImageUrl(), mImageView);
|
||||
if (model.getShowTime() > 0) {
|
||||
mClose.postDelayed(this::dismiss, model.getShowTime());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
package com.yunbao.common.dialog;
|
||||
|
||||
import android.content.Context;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.activity.WebViewActivity;
|
||||
import com.yunbao.common.bean.OpenAdModel;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.ScreenDimenUtil;
|
||||
|
||||
public class OpenAdCenterDialogPopup extends AbsDialogFullScreenPopupWindow {
|
||||
private ImageView mImageView;
|
||||
private ImageView mClose;
|
||||
private OpenAdModel model;
|
||||
private OnItemClickListener<OpenAdModel> mListener;
|
||||
|
||||
public OpenAdCenterDialogPopup(@NonNull Context context, OpenAdModel model) {
|
||||
super(context);
|
||||
this.model = model;
|
||||
}
|
||||
|
||||
public OpenAdCenterDialogPopup setListener(OnItemClickListener<OpenAdModel> mListener) {
|
||||
this.mListener = mListener;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void buildDialog(XPopup.Builder builder) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int bindLayoutId() {
|
||||
return R.layout.dialog_open_center_ad;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dismiss() {
|
||||
super.dismiss();
|
||||
if (mListener != null) {
|
||||
mListener.onItemClick(model, 0);
|
||||
mListener = null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onCreate() {
|
||||
super.onCreate();
|
||||
mImageView = findViewById(R.id.img);
|
||||
mClose = findViewById(R.id.close);
|
||||
findViewById(R.id.layout).setOnClickListener(v -> dismiss());
|
||||
mImageView.setOnClickListener(v -> {
|
||||
WebViewActivity.forward(mContext, model.getUrl(), model.getType() != OpenAdModel.TYPE_HOME);
|
||||
if (mListener != null) {
|
||||
mListener.onItemClick(model, 1);
|
||||
mListener = null;
|
||||
}
|
||||
dismiss();
|
||||
});
|
||||
mClose.setOnClickListener(v -> dismiss());
|
||||
ImgLoader.display(mContext, model.getImageUrl(), mImageView);
|
||||
int width = ScreenDimenUtil.getInstance().getScreenWdith() - DpUtil.dp2px(40);
|
||||
int height = (int) (width * 1.4);
|
||||
if (model.getModel() == OpenAdModel.MODEL_SQUARE) {
|
||||
height = width;
|
||||
}
|
||||
ConstraintLayout.LayoutParams params = (ConstraintLayout.LayoutParams) mImageView.getLayoutParams();
|
||||
params.width = width;
|
||||
params.height = height;
|
||||
mImageView.setLayoutParams(params);
|
||||
if (model.getShowTime() > 0) {
|
||||
mClose.postDelayed(this::dismiss, model.getShowTime());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,6 +7,16 @@ public class GiftWallItemEvent extends BaseModel {
|
||||
private GiftWallModel giftWallModel;
|
||||
private boolean unlit;
|
||||
|
||||
private boolean csb;
|
||||
|
||||
public boolean isCsb() {
|
||||
return csb;
|
||||
}
|
||||
|
||||
public GiftWallItemEvent setCsb(boolean csb) {
|
||||
this.csb = csb;
|
||||
return this;
|
||||
}
|
||||
|
||||
public GiftWallModel getGiftWallModel() {
|
||||
return giftWallModel;
|
||||
|
||||
@@ -13,6 +13,7 @@ import com.lzy.okgo.callback.StringCallback;
|
||||
import com.lzy.okgo.model.Response;
|
||||
import com.lzy.okgo.request.PostRequest;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.CommonAppContext;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.activity.ErrorActivity;
|
||||
import com.yunbao.common.bean.ConfigBean;
|
||||
@@ -260,6 +261,8 @@ public class CommonHttpUtil {
|
||||
AppManager.getInstance().AppExit();
|
||||
}
|
||||
}).build().show();
|
||||
} else {
|
||||
ToastUtil.show(CommonAppContext.getTopActivity().getString(R.string.net_error) + "code:" + code + " msg:" + msg);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6,10 +6,6 @@ import com.lzy.okgo.request.GetRequest;
|
||||
import com.lzy.okgo.request.PostRequest;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.CommonAppContext;
|
||||
import com.yunbao.common.http.CommonHttpUtil;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.HttpClient;
|
||||
import com.yunbao.common.http.JsonBean;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.utils.L;
|
||||
import com.yunbao.common.utils.MD5Util;
|
||||
@@ -292,6 +288,7 @@ public class LiveHttpUtil {
|
||||
|
||||
/**
|
||||
* 主播或管理员禁言
|
||||
*
|
||||
* @param time 禁言时间 (分)
|
||||
*/
|
||||
public static void setShutUp(String liveUid, String stream, int type, String touid, String time, HttpCallback callback) {
|
||||
@@ -619,17 +616,19 @@ public class LiveHttpUtil {
|
||||
* 观众给主播送礼物
|
||||
*/
|
||||
public static void sendGift(String by, String liveUid, String stream, int giftId, String giftCount, HttpCallback callback) {
|
||||
sendGift(by, liveUid, stream, giftId, giftCount, 0, false,callback);
|
||||
sendGift(by, liveUid, stream, giftId, giftCount, 0, false, callback);
|
||||
}
|
||||
public static void sendGift(String by, String liveUid, String stream, int giftId, String giftCount, int isContactGift, HttpCallback callback) {
|
||||
sendGift(by, liveUid, stream, giftId, giftCount, isContactGift, false,callback);
|
||||
|
||||
public static void sendGift(String by, String liveUid, String stream, int giftId, String giftCount, int isContactGift, HttpCallback callback) {
|
||||
sendGift(by, liveUid, stream, giftId, giftCount, isContactGift, false, callback);
|
||||
}
|
||||
|
||||
/**
|
||||
* 观众给主播送礼物
|
||||
*
|
||||
* @param isContactGift 是否为联系方式礼物
|
||||
*/
|
||||
public static void sendGift(String by, String liveUid, String stream, int giftId, String giftCount, int isContactGift, boolean isFansGroupGift,HttpCallback callback) {
|
||||
public static void sendGift(String by, String liveUid, String stream, int giftId, String giftCount, int isContactGift, boolean isFansGroupGift, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.sendGift", LiveHttpConsts.SEND_GIFT)
|
||||
.params("liveuid", liveUid)
|
||||
.params("stream", stream)
|
||||
@@ -637,7 +636,20 @@ public class LiveHttpUtil {
|
||||
.params("isContactGift", isContactGift)
|
||||
.params("giftcount", giftCount)
|
||||
.params("isprank", by)
|
||||
.params("fans_exclusive_pack",isFansGroupGift?"1":"0")
|
||||
.params("fans_exclusive_pack", isFansGroupGift ? "1" : "0")
|
||||
.params("appVersion", CommonAppConfig.getInstance().getVersion())
|
||||
.execute(callback);
|
||||
}
|
||||
|
||||
public static void sendBlindBoxTicket(String by, String liveUid, String stream, int giftId, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Live.sendBlindBoxTicket", LiveHttpConsts.SEND_GIFT)
|
||||
.params("liveuid", liveUid)
|
||||
.params("stream", stream)
|
||||
.params("giftid", giftId)
|
||||
.params("isContactGift", 0)
|
||||
.params("giftcount", "1")
|
||||
.params("isprank", by)
|
||||
.params("fans_exclusive_pack", "0")
|
||||
.params("appVersion", CommonAppConfig.getInstance().getVersion())
|
||||
.execute(callback);
|
||||
}
|
||||
|
||||
@@ -40,6 +40,7 @@ import com.yunbao.common.bean.MsgSwitchDetailModel;
|
||||
import com.yunbao.common.bean.NewPeopleInfo;
|
||||
import com.yunbao.common.bean.NobleRankHideUserListModel;
|
||||
import com.yunbao.common.bean.NobleTrumpetModel;
|
||||
import com.yunbao.common.bean.OpenAdModel;
|
||||
import com.yunbao.common.bean.PkRankBean;
|
||||
import com.yunbao.common.bean.PrankGiftBean;
|
||||
import com.yunbao.common.bean.PrankHttpTurntableBean;
|
||||
@@ -766,18 +767,19 @@ public interface PDLiveApi {
|
||||
|
||||
|
||||
/**
|
||||
* 获取盲盒礼物当前数据
|
||||
* 创建红包
|
||||
*/
|
||||
@GET("/api/public/?service=Live.createRedPacket")
|
||||
Observable<ResponseModel<Object>> createRedPacket(
|
||||
@Query("liveuid") String liveUid,
|
||||
@Query("is_fans") int needFansGroup,
|
||||
@Query("red_packet_money") String redPacketMoney,
|
||||
@Query("red_packet_quantity") String redPacketQuantity,
|
||||
@Query("conditions") String conditions
|
||||
);
|
||||
|
||||
/**
|
||||
* 获取盲盒礼物当前数据
|
||||
* 获取红包数据
|
||||
*/
|
||||
@GET("/api/public/?service=Live.redPacketInfo")
|
||||
Observable<ResponseModel<RedPacketInfoModel>> redPacketInfo(
|
||||
@@ -889,7 +891,8 @@ public interface PDLiveApi {
|
||||
@GET("/api/public/?service=Gift.giftDetail")
|
||||
Observable<ResponseModel<GiftWallGiftDetail>> giftDetail(
|
||||
@Query("liveuid") String liveUid,
|
||||
@Query("gift_id") String giftId
|
||||
@Query("gift_id") String giftId,
|
||||
@Query("to_uid") String toUid
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -967,5 +970,11 @@ public interface PDLiveApi {
|
||||
@GET("/api/public/?service=gift.getGiftNamingInfo")
|
||||
Observable<ResponseModel<GiftNamingInfoModel>> getGiftNamingInfo(@Query("gift_id") String giftId);
|
||||
|
||||
/**
|
||||
* 活动弹窗
|
||||
*/
|
||||
@GET("/api/public/?service=Home.activityPopup")
|
||||
Observable<ResponseModel<List<OpenAdModel>>> activityPopup();
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -39,6 +39,7 @@ import com.yunbao.common.bean.LiveUserMailBoxModel;
|
||||
import com.yunbao.common.bean.MedalAchievementModel;
|
||||
import com.yunbao.common.bean.NobleRankHideUserListModel;
|
||||
import com.yunbao.common.bean.NobleTrumpetModel;
|
||||
import com.yunbao.common.bean.OpenAdModel;
|
||||
import com.yunbao.common.bean.PkRankBean;
|
||||
import com.yunbao.common.bean.PrankGiftBean;
|
||||
import com.yunbao.common.bean.PrankHttpTurntableBean;
|
||||
@@ -1631,10 +1632,11 @@ public class LiveNetManager {
|
||||
* @param redPacketMoney 红包金额
|
||||
* @param redPacketQuantity 红包数量
|
||||
* @param conditions 红包领取条件 0.无 1.关注主播
|
||||
* @param needFansGroup 是否需要加入粉丝团条件
|
||||
*/
|
||||
public void createRedPacket(String liveUid, String redPacketMoney, String redPacketQuantity, String conditions, HttpCallback<String> callback) {
|
||||
public void createRedPacket(String liveUid, String redPacketMoney, String redPacketQuantity, String conditions, boolean needFansGroup, HttpCallback<String> callback) {
|
||||
API.get().pdLiveApi(mContext)
|
||||
.createRedPacket(liveUid, redPacketMoney, redPacketQuantity, conditions)
|
||||
.createRedPacket(liveUid, needFansGroup ? 1 : 0, redPacketMoney, redPacketQuantity, conditions)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Consumer<ResponseModel<Object>>() {
|
||||
@@ -1929,9 +1931,9 @@ public class LiveNetManager {
|
||||
}).isDisposed();
|
||||
}
|
||||
|
||||
public void giftDetail(String liveUid, String giftId, HttpCallback<GiftWallGiftDetail> callback) {
|
||||
public void giftDetail(String liveUid, String giftId, String toUid, HttpCallback<GiftWallGiftDetail> callback) {
|
||||
API.get().pdLiveApi(mContext)
|
||||
.giftDetail(liveUid, giftId)
|
||||
.giftDetail(liveUid, giftId, toUid)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Consumer<ResponseModel<GiftWallGiftDetail>>() {
|
||||
@@ -2171,7 +2173,7 @@ public class LiveNetManager {
|
||||
}).isDisposed();
|
||||
}
|
||||
|
||||
public void getGiftNamingInfo(String giftId,HttpCallback<GiftNamingInfoModel> callback) {
|
||||
public void getGiftNamingInfo(String giftId, HttpCallback<GiftNamingInfoModel> callback) {
|
||||
API.get().pdLiveApi(mContext)
|
||||
.getGiftNamingInfo(giftId)
|
||||
.subscribeOn(Schedulers.io())
|
||||
@@ -2179,7 +2181,7 @@ public class LiveNetManager {
|
||||
.subscribe(new Consumer<ResponseModel<GiftNamingInfoModel>>() {
|
||||
@Override
|
||||
public void accept(ResponseModel<GiftNamingInfoModel> liveGiftBeanResponseModel) throws Exception {
|
||||
if (callback!=null){
|
||||
if (callback != null) {
|
||||
callback.onSuccess(liveGiftBeanResponseModel.getData().getInfo());
|
||||
}
|
||||
}
|
||||
@@ -2193,6 +2195,29 @@ public class LiveNetManager {
|
||||
}).isDisposed();
|
||||
}
|
||||
|
||||
public void activityPopup(HttpCallback<List<OpenAdModel>> callback) {
|
||||
API.get().pdLiveApi(mContext)
|
||||
.activityPopup()
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Consumer<ResponseModel<List<OpenAdModel>>>() {
|
||||
@Override
|
||||
public void accept(ResponseModel<List<OpenAdModel>> listResponseModel) throws Exception {
|
||||
if (callback != null) {
|
||||
callback.onSuccess(listResponseModel.getData().getInfo());
|
||||
}
|
||||
}
|
||||
}, new Consumer<Throwable>() {
|
||||
@Override
|
||||
public void accept(Throwable throwable) throws Exception {
|
||||
throwable.printStackTrace();
|
||||
if (callback != null) {
|
||||
callback.onError(mContext.getString(R.string.net_error));
|
||||
}
|
||||
}
|
||||
}).isDisposed();
|
||||
}
|
||||
|
||||
/**
|
||||
* 直播间取消网络请求
|
||||
*/
|
||||
|
||||
@@ -10,6 +10,7 @@ import androidx.annotation.NonNull;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.lzf.easyfloat.EasyFloat;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.CommonAppContext;
|
||||
import com.yunbao.common.bean.IMLoginModel;
|
||||
import com.yunbao.common.event.DataUserInfoEvent;
|
||||
@@ -301,6 +302,8 @@ public class IMLoginManager extends BaseCacheManager {
|
||||
* @param model
|
||||
*/
|
||||
public void setupLoginUser(@NonNull IMLoginModel model) {
|
||||
//当用户使用自有账号登录时,可以这样统计:
|
||||
MobclickAgent.onProfileSignIn(String.valueOf(model.getId()));
|
||||
this.userInfo = model;
|
||||
if (userInfo != null && !TextUtils.isEmpty(userInfo.getToken())) {
|
||||
token = userInfo.getToken();
|
||||
@@ -425,6 +428,8 @@ public class IMLoginManager extends BaseCacheManager {
|
||||
// IMCenter.getInstance().clearConversations(null, Conversation.ConversationType.PRIVATE);
|
||||
RongcloudIMManager.logoutIM();
|
||||
MessageIMManager.get(activity).logout();
|
||||
//登出
|
||||
MobclickAgent.onProfileSignOff();
|
||||
put(IS_HINT, 0);
|
||||
APPEasyFloat.getInstance().dismiss(activity);
|
||||
if (EasyFloat.isShow("LiveFloatView")) {
|
||||
|
||||
@@ -0,0 +1,175 @@
|
||||
package com.yunbao.common.manager;
|
||||
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.util.Log;
|
||||
|
||||
import com.yunbao.common.CommonAppContext;
|
||||
import com.yunbao.common.bean.OpenAdModel;
|
||||
import com.yunbao.common.dialog.OpenAdBottomDialogPopup;
|
||||
import com.yunbao.common.dialog.OpenAdCenterDialogPopup;
|
||||
import com.yunbao.common.http.base.HttpCallback;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
public class OpenAdManager {
|
||||
public static final int TYPE_HOME = 1;
|
||||
public static final int TYPE_LIVE = 2;
|
||||
private static final String TAG = "-----弹窗-----";
|
||||
private Map<Integer, Boolean> showMap;
|
||||
private List<OpenAdModel> list = null;
|
||||
private Handler handler = new Handler(Looper.getMainLooper());
|
||||
private Map<Integer, AdRunnable> runnableMap = new HashMap<>();
|
||||
private int showType;
|
||||
|
||||
private OpenAdManager() {
|
||||
showMap = new HashMap<>();
|
||||
init(false);
|
||||
}
|
||||
|
||||
public void reset() {
|
||||
dismiss();
|
||||
runnableMap.clear();
|
||||
showMap.clear();
|
||||
list.clear();
|
||||
}
|
||||
|
||||
private static final class MInstanceHolder {
|
||||
static final OpenAdManager mInstance = new OpenAdManager();
|
||||
}
|
||||
|
||||
public static OpenAdManager getInstance() {
|
||||
return MInstanceHolder.mInstance;
|
||||
}
|
||||
|
||||
private void init(boolean isShow) {
|
||||
if (list != null && list.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
LiveNetManager.get(CommonAppContext.getTopActivity())
|
||||
.activityPopup(new HttpCallback<List<OpenAdModel>>() {
|
||||
@Override
|
||||
public void onSuccess(List<OpenAdModel> data) {
|
||||
if (data == null || data.isEmpty()) {
|
||||
Log.i(TAG, "onSuccess: 没有数据");
|
||||
list = new ArrayList<>();
|
||||
return;
|
||||
}
|
||||
list = data;
|
||||
if (isShow) {
|
||||
show(TYPE_HOME, false);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
System.err.println("弹框列表:" + error);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
public synchronized void show(int type, boolean isGuard) {
|
||||
if (list == null) {
|
||||
init(true);
|
||||
return;
|
||||
}
|
||||
showType = type;
|
||||
for (OpenAdModel model : list) {
|
||||
if (model.getType() == type) {
|
||||
if (type == OpenAdModel.TYPE_LIVE && !model.userIsPermission(isGuard)) {
|
||||
continue;
|
||||
}
|
||||
if (runnableMap.containsKey(model.getId())) {
|
||||
AdRunnable runnable = runnableMap.get(model.getId());
|
||||
if (runnable != null) {
|
||||
Log.d(TAG, "reset: " + model);
|
||||
handler.removeCallbacks(runnable);
|
||||
runnableMap.remove(model.getId());
|
||||
}
|
||||
}
|
||||
|
||||
if (!isShow(model)) {
|
||||
Log.i(TAG, "show: " + model);
|
||||
handler.postDelayed(new AdRunnable(model), model.getDelayShowTime());
|
||||
} else {
|
||||
Log.i(TAG, "notshow: " + model);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Log.i(TAG, "------------------------------");
|
||||
|
||||
}
|
||||
|
||||
public synchronized void dismiss() {
|
||||
Log.d(TAG, "准备dismiss:" + runnableMap.size());
|
||||
for (Integer model : runnableMap.keySet()) {
|
||||
AdRunnable runnable = runnableMap.get(model);
|
||||
Log.d(TAG, "dismiss:" + runnable);
|
||||
if (runnable != null) {
|
||||
runnable.dismiss();
|
||||
handler.removeCallbacks(runnable);
|
||||
}
|
||||
}
|
||||
runnableMap.clear();
|
||||
}
|
||||
|
||||
private synchronized boolean isShow(OpenAdModel type) {
|
||||
if (showMap.containsKey(type.getId()) && showMap.get(type.getId()) != null) {
|
||||
return Boolean.TRUE.equals(showMap.get(type.getId()));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private class AdRunnable implements Runnable {
|
||||
OpenAdModel model;
|
||||
|
||||
public AdRunnable(OpenAdModel model) {
|
||||
this.model = model;
|
||||
runnableMap.put(model.getId(), this);
|
||||
}
|
||||
|
||||
public void dismiss() {
|
||||
Log.e(TAG, "dismiss: " + model);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized void run() {
|
||||
Log.i(TAG, "run: " + model);
|
||||
if (model == null) {
|
||||
ToastUtil.showDebug("model为空");
|
||||
return;
|
||||
}
|
||||
if (!model.isInTime()) {
|
||||
ToastUtil.showDebug("不在展示时间内:" + model.getStartTime() + "|" + model.getEndTime());
|
||||
return;
|
||||
}
|
||||
if (isShow(model)) {
|
||||
ToastUtil.showDebug(model.getId() + "|model展示过了");
|
||||
return;
|
||||
}
|
||||
if (model.getType() != showType) {
|
||||
return;
|
||||
}
|
||||
showMap.put(model.getId(), true);
|
||||
if (model.getModel() == OpenAdModel.MODEL_BOTTOM) {
|
||||
new OpenAdBottomDialogPopup(CommonAppContext.getTopActivity(), model)
|
||||
.setListener((bean, position) -> {
|
||||
})
|
||||
.showDialog();
|
||||
} else {
|
||||
new OpenAdCenterDialogPopup(CommonAppContext.getTopActivity(), model)
|
||||
.setListener((bean, position) -> {
|
||||
})
|
||||
.showDialog();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -239,7 +239,7 @@ public class PayPresenter {
|
||||
|
||||
public void open(String url){
|
||||
//支付时内部跳转 false要添加
|
||||
WebViewActivity.forward(mActivity,url,false);
|
||||
WebViewActivity.forward(mActivity,url,false,false);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.io.PrintWriter;
|
||||
|
||||
/**
|
||||
@@ -88,7 +89,11 @@ public class FileUtil {
|
||||
duration= Long.parseLong(time);
|
||||
} catch (Exception ex) {
|
||||
} finally {
|
||||
mmr.release();
|
||||
try {
|
||||
mmr.release();
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
return duration;
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.yunbao.common.utils;
|
||||
import android.content.Context;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
@@ -151,16 +152,19 @@ public class GiftCacheUtil {
|
||||
return;
|
||||
}
|
||||
clickId.add(bean.getId()+"");
|
||||
getFile(context,getDownloadSaveName(bean.getId()), bean.getSwf(), "0", new CommonCallback<File>() {
|
||||
@Override
|
||||
public void callback(File bean) {
|
||||
if(bean!=null) {
|
||||
clickId.remove(getIdForFileName(bean.getName())+"");
|
||||
downloadCache.remove(getIdForFileName(bean.getName()));
|
||||
if (!TextUtils.isEmpty( bean.getSwf())){
|
||||
getFile(context,getDownloadSaveName(bean.getId()), bean.getSwf(), "0", new CommonCallback<File>() {
|
||||
@Override
|
||||
public void callback(File bean) {
|
||||
if(bean!=null) {
|
||||
clickId.remove(getIdForFileName(bean.getName())+"");
|
||||
downloadCache.remove(getIdForFileName(bean.getName()));
|
||||
}
|
||||
mDownloadGifCallback.callback(bean);
|
||||
}
|
||||
mDownloadGifCallback.callback(bean);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -241,7 +245,7 @@ public class GiftCacheUtil {
|
||||
if (clickId.contains(id+"")) {
|
||||
continue;
|
||||
}
|
||||
if (bean.getSwf().isEmpty()) {
|
||||
if (TextUtils.isEmpty(bean.getSwf())) {
|
||||
handler.post(() -> commonCallback.callback(null));
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -17,13 +17,16 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.bean.IMLoginModel;
|
||||
import com.yunbao.common.bean.LiveBean;
|
||||
import com.yunbao.common.bean.ReportCommunityBean;
|
||||
import com.yunbao.common.bean.UserBean;
|
||||
import com.yunbao.common.bean.VideoBean;
|
||||
import com.yunbao.common.bean.VideoListBean;
|
||||
import com.yunbao.common.event.JavascriptInterfaceEvent;
|
||||
import com.yunbao.common.event.LiveRoomChangeEvent;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.HttpClient;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.interfaces.CommonCallback;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
|
||||
@@ -253,6 +256,49 @@ public class JavascriptInterfaceUtils {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 跳转直播并打开礼物栏选中礼物
|
||||
* @param liveId 直播间id
|
||||
* @param giftId 礼物id
|
||||
*/
|
||||
@JavascriptInterface
|
||||
public void androidMethodLookToLiveGift(String liveId,String giftId){
|
||||
LiveHttpUtil.getLiveInfo(liveId, new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
if (code == 0 && info.length > 0) {
|
||||
LiveBean liveBean = JSON.parseObject(info[0], LiveBean.class);
|
||||
|
||||
if (liveBean == null) {
|
||||
return;
|
||||
}
|
||||
liveBean.setGiftId(giftId);
|
||||
new LiveRoomCheckLivePresenter(mContext, liveBean.getUid(), liveBean.getStream(), new LiveRoomCheckLivePresenter.NewActionListener() {
|
||||
@Override
|
||||
public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk) {
|
||||
|
||||
if (!"".endsWith(Constants.mStream)) {
|
||||
|
||||
if (MicStatusManager.getInstance().isMic(liveUid)) {
|
||||
MicStatusManager.getInstance().showDownMicDialog(mContext);
|
||||
return;
|
||||
}
|
||||
EventBus.getDefault().post(new LiveRoomChangeEvent(liveBean, liveType, Integer.parseInt(liveTypeVal)).setLiveEnd(true));
|
||||
} else {
|
||||
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveTypeVal), Integer.parseInt(liveSdk));
|
||||
}
|
||||
androidGoBack();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCheckError(String contextError) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
@JavascriptInterface
|
||||
public void androidMethodLookToLive(String liveId) {
|
||||
Bus.get().post(new JavascriptInterfaceEvent()
|
||||
@@ -550,28 +596,32 @@ public class JavascriptInterfaceUtils {
|
||||
Bus.get().post(new JavascriptInterfaceEvent()
|
||||
.setMethod("clickLogOffAccount"));
|
||||
}
|
||||
|
||||
@JavascriptInterface
|
||||
public void androidFansGroupBuy(String id){
|
||||
public void androidFansGroupBuy(String id) {
|
||||
Bus.get().post(new JavascriptInterfaceEvent()
|
||||
.setMethod("androidFansGroupBuy").setUserId(id));
|
||||
}
|
||||
|
||||
@JavascriptInterface
|
||||
public void androidFansGroupPack(){
|
||||
public void androidFansGroupPack() {
|
||||
Bus.get().post(new JavascriptInterfaceEvent()
|
||||
.setMethod("androidFansGroupPack"));
|
||||
}
|
||||
|
||||
@JavascriptInterface
|
||||
public void androidFansGroupInfo(){
|
||||
public void androidFansGroupInfo() {
|
||||
Bus.get().post(new JavascriptInterfaceEvent()
|
||||
.setMethod("androidFansGroupInfo"));
|
||||
}
|
||||
|
||||
@JavascriptInterface
|
||||
public void toGiftNamingAlertAllPageView(String mAnchorName, String mLiveUid, String mAvatarUrl,int isAnchor ) {
|
||||
RouteUtil.forwardGiftWallActivity("", mAnchorName, mLiveUid, mAvatarUrl, 0,isAnchor==1);
|
||||
public void toGiftNamingAlertAllPageView(String mAnchorName, String mLiveUid, String mAvatarUrl, int isAnchor) {
|
||||
RouteUtil.forwardGiftWallActivity("", mAnchorName, mLiveUid, mAvatarUrl, 0, isAnchor == 1);
|
||||
}
|
||||
|
||||
@JavascriptInterface
|
||||
public void wearOrCancelFanMedal(){
|
||||
public void wearOrCancelFanMedal() {
|
||||
HttpClient.getInstance().get("User.getBaseInfos", "getBaseInfo")
|
||||
.params("uid", IMLoginManager.get(mContext).getUserInfo().getId())
|
||||
.params("token", IMLoginManager.get(mContext).getUserInfo().getToken())
|
||||
@@ -587,8 +637,9 @@ public class JavascriptInterfaceUtils {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@JavascriptInterface
|
||||
public void androidCancelAnchorAttention(){
|
||||
public void androidCancelAnchorAttention() {
|
||||
Bus.get().post(new JavascriptInterfaceEvent()
|
||||
.setMethod("androidCancelAnchorAttention"));
|
||||
}
|
||||
|
||||
@@ -134,7 +134,11 @@ public class MicStatusManager {
|
||||
new Handler(Looper.getMainLooper()).post(new Runnable() {
|
||||
public void run() {
|
||||
MicStatusManager.getInstance().clear();
|
||||
ToastUtil.show("已成功退出語音連麥");
|
||||
if(WordUtil.isNewZh()) {
|
||||
ToastUtil.show("已成功退出語音連麥");
|
||||
}else{
|
||||
ToastUtil.show("You have successfully exited the voice connection");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -193,7 +197,11 @@ public class MicStatusManager {
|
||||
* 显示退出连麦状态对话框
|
||||
*/
|
||||
public void showDownMicDialog(Context context) {
|
||||
DialogUitl.showSimpleDialog(context, "當前正在連麥中", new DialogUitl.SimpleCallback() {
|
||||
String content="當前正在連麥中";
|
||||
if(!WordUtil.isNewZh()){
|
||||
content="Currently connecting the wheat";
|
||||
}
|
||||
DialogUitl.showSimpleDialog(context, content, new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
// downMic(); //不做下麦跳转
|
||||
|
||||
@@ -49,6 +49,15 @@ public class ProcessImageUtil extends ProcessResultUtil {
|
||||
Manifest.permission.READ_EXTERNAL_STORAGE,
|
||||
Manifest.permission.WRITE_EXTERNAL_STORAGE,
|
||||
};
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
mCameraPermissions = new String[]{
|
||||
Manifest.permission.READ_MEDIA_IMAGES,
|
||||
Manifest.permission.CAMERA
|
||||
};
|
||||
mAlumbPermissions = new String[]{
|
||||
Manifest.permission.READ_MEDIA_IMAGES,
|
||||
};
|
||||
}
|
||||
mCameraPermissionCallback = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
|
||||
@@ -80,7 +80,7 @@ public class ToastUtil {
|
||||
}
|
||||
public static void showDebug(String s){
|
||||
if(BuildConfig.DEBUG){
|
||||
show(s);
|
||||
show("开发模式:"+s);
|
||||
}
|
||||
}
|
||||
public static void showDebug(int s){
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.yunbao.common.utils;
|
||||
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
|
||||
import com.yunbao.common.CommonAppContext;
|
||||
@@ -31,8 +32,20 @@ public class WordUtil {
|
||||
String language = locale.getLanguage();
|
||||
return language.endsWith("zh");
|
||||
}
|
||||
public static boolean isNewZh(){
|
||||
return IMLoginManager.get(CommonAppContext.sInstance).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE;
|
||||
|
||||
public static boolean isNewZh() {
|
||||
return IMLoginManager.get(CommonAppContext.sInstance).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE;
|
||||
}
|
||||
|
||||
public static String getNewString(int res) {
|
||||
Configuration config = new Configuration();
|
||||
Configuration tmp = sResources.getConfiguration();
|
||||
config.setToDefaults();
|
||||
config.locale = IMLoginManager.get(CommonAppContext.sInstance).getLocaleLanguage();
|
||||
sResources.updateConfiguration(config, sResources.getDisplayMetrics());
|
||||
String str = sResources.getString(res);
|
||||
sResources.updateConfiguration(tmp, sResources.getDisplayMetrics());
|
||||
return str;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -9,6 +9,7 @@ import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.adapter.FunGamesAdapter;
|
||||
@@ -22,7 +23,9 @@ import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class FunGamesViewHolder extends RecyclerView.ViewHolder {
|
||||
private FunGamesAdapter funGamesAdapter;
|
||||
@@ -76,6 +79,7 @@ public class FunGamesViewHolder extends RecyclerView.ViewHolder {
|
||||
.append("&token=")
|
||||
.append(userInfo.getToken());
|
||||
}
|
||||
|
||||
Bus.get().post(new CustomDrawerPopupEvent()
|
||||
.setDisMiss(true)
|
||||
.setHtmlUrl(htmlUrl.toString())
|
||||
|
||||
@@ -25,14 +25,14 @@ public class GiftAlreadyWallViewHolder extends RecyclerView.ViewHolder {
|
||||
giftNumber = itemView.findViewById(R.id.gift_number);
|
||||
}
|
||||
|
||||
public void showData(GiftWallModel giftWallModel,boolean sbWy) {
|
||||
public void showData(GiftWallModel giftWallModel, boolean sbWy) {
|
||||
giftTitle.setText(giftWallModel.getGiftname());
|
||||
giftNumber.setText("*" + giftWallModel.getGiftCountNumber());
|
||||
ImgLoader.display(itemView.getContext(), giftWallModel.getGifticon(), giftImg);
|
||||
ViewClicksAntiShake.clicksAntiShake(itemView, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
Bus.get().post(new GiftWallItemEvent().setGiftWallModel(giftWallModel).setUnlit(true));
|
||||
Bus.get().post(new GiftWallItemEvent().setGiftWallModel(giftWallModel).setUnlit(true).setCsb(true));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ public class GiftWithoutWallViewHolder extends RecyclerView.ViewHolder {
|
||||
ViewClicksAntiShake.clicksAntiShake(itemView, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
Bus.get().post(new GiftWallItemEvent().setGiftWallModel(giftWallModel).setUnlit(false));
|
||||
Bus.get().post(new GiftWallItemEvent().setGiftWallModel(giftWallModel).setUnlit(false).setCsb(false));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -250,7 +250,8 @@ public class NobleNoticeView extends FrameLayout {
|
||||
@Override
|
||||
public void onStep(int frame, double v) {
|
||||
System.out.println("frame = " + frame);
|
||||
if (frame == 20) {
|
||||
System.out.println("scrollLayout.getMeasuredWidth() = " + scrollLayout.getMeasuredWidth());
|
||||
if (frame == 21) {
|
||||
setButtonPosition(roleType);
|
||||
observable.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(bitmap -> {
|
||||
|
||||
@@ -6,77 +6,194 @@
|
||||
android:layout_gravity="bottom"
|
||||
android:orientation="vertical">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/operate_image"
|
||||
android:layout_width="122dp"
|
||||
android:layout_height="50dp"
|
||||
android:layout_gravity="end|bottom"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:scaleType="fitXY" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/blind_box"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end"
|
||||
android:visibility="invisible">
|
||||
|
||||
<include
|
||||
|
||||
layout="@layout/view_blind_box" />
|
||||
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/naming_layout"
|
||||
android:id="@+id/overlay"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="28dp"
|
||||
|
||||
android:layout_gravity="bottom"
|
||||
android:layout_marginStart="25dp"
|
||||
android:layout_marginEnd="25dp"
|
||||
android:layout_marginBottom="5dp">
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/operate_image"
|
||||
android:layout_width="122dp"
|
||||
android:layout_height="50dp"
|
||||
android:layout_gravity="end|bottom"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:scaleType="fitXY" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/blind_box"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end"
|
||||
android:visibility="invisible">
|
||||
|
||||
<include
|
||||
|
||||
layout="@layout/view_blind_box" />
|
||||
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/naming_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="28dp"
|
||||
|
||||
android:layout_gravity="bottom"
|
||||
android:layout_marginStart="25dp"
|
||||
android:layout_marginEnd="25dp"
|
||||
android:layout_marginBottom="5dp">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@mipmap/background_live_gift_gift_itle" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center_vertical">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/gift_itle"
|
||||
android:layout_width="54dp"
|
||||
android:layout_height="13dp"
|
||||
android:layout_marginStart="13dp"
|
||||
android:src="@mipmap/icon_live_gift_gift_itle" />
|
||||
|
||||
<com.makeramen.roundedimageview.RoundedImageView
|
||||
android:id="@+id/naming_avatar"
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginStart="6dp"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@drawable/m_chu_xia"
|
||||
app:riv_oval="true" />
|
||||
|
||||
<com.yunbao.common.views.weight.MarqueeTextView
|
||||
android:id="@+id/naming_name"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="4dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_weight="1"
|
||||
android:ellipsize="marquee"
|
||||
android:focusable="true"
|
||||
android:focusableInTouchMode="true"
|
||||
android:gravity="center"
|
||||
android:marqueeRepeatLimit="marquee_forever"
|
||||
android:scrollHorizontally="true"
|
||||
android:singleLine="true"
|
||||
android:textColor="#FFFFFFFF"
|
||||
android:textSize="12sp" />
|
||||
</LinearLayout>
|
||||
</FrameLayout>
|
||||
</FrameLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/gift_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="323dp"
|
||||
android:animateLayoutChanges="true"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.makeramen.roundedimageview.RoundedImageView
|
||||
android:id="@+id/git_background2"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@mipmap/background_live_gift_gift_itle" />
|
||||
android:src="@drawable/backgroud_custom_gift2"
|
||||
app:riv_corner_radius_bottom_left="0dp"
|
||||
app:riv_corner_radius_bottom_right="0dp"
|
||||
app:riv_corner_radius_top_left="10dp"
|
||||
app:riv_corner_radius_top_right="10dp" />
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/git_title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center_vertical">
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="5dp"
|
||||
android:animateLayoutChanges="true">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/gift_itle"
|
||||
android:layout_width="54dp"
|
||||
android:layout_height="13dp"
|
||||
android:layout_marginStart="13dp"
|
||||
android:src="@mipmap/icon_live_gift_gift_itle" />
|
||||
<LinearLayout
|
||||
android:id="@+id/leveling_layout"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:visibility="gone">
|
||||
|
||||
<com.makeramen.roundedimageview.RoundedImageView
|
||||
android:id="@+id/naming_avatar"
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginStart="6dp"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@drawable/m_chu_xia"
|
||||
app:riv_oval="true" />
|
||||
<FrameLayout
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="22dp"
|
||||
android:layout_marginStart="17dp"
|
||||
android:layout_marginTop="9dp"
|
||||
android:background="@mipmap/icon_grade_angle_mark">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/lv_str"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:text="Lv.8"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
</FrameLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="6dp"
|
||||
android:layout_marginTop="12dp"
|
||||
android:layout_marginEnd="18dp"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/progressBar"
|
||||
style="?android:attr/progressBarStyleHorizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="4dp"
|
||||
android:max="100"
|
||||
android:progress="0"
|
||||
android:progressDrawable="@drawable/progress_bg_user" />
|
||||
|
||||
<com.yunbao.common.views.weight.MarqueeTextView
|
||||
android:id="@+id/leave_hint"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginTop="2dp"
|
||||
android:ellipsize="marquee"
|
||||
android:focusable="true"
|
||||
android:focusableInTouchMode="true"
|
||||
android:gravity="center"
|
||||
android:marqueeRepeatLimit="marquee_forever"
|
||||
android:scrollHorizontally="true"
|
||||
android:singleLine="true"
|
||||
android:text="@string/leveling_points"
|
||||
android:textColor="#BBBBBB"
|
||||
android:textSize="9sp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<ImageView
|
||||
android:layout_width="16dp"
|
||||
android:layout_height="16dp"
|
||||
android:layout_marginTop="14dp"
|
||||
android:layout_marginEnd="14dp"
|
||||
android:background="@mipmap/icon_right" />
|
||||
</LinearLayout>
|
||||
|
||||
<com.yunbao.common.views.weight.MarqueeTextView
|
||||
android:id="@+id/naming_name"
|
||||
android:id="@+id/gift_description"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="4dp"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_weight="1"
|
||||
android:ellipsize="marquee"
|
||||
@@ -86,361 +203,245 @@
|
||||
android:marqueeRepeatLimit="marquee_forever"
|
||||
android:scrollHorizontally="true"
|
||||
android:singleLine="true"
|
||||
android:textColor="#FFFFFFFF"
|
||||
android:textColor="#80FFFFFF"
|
||||
android:textSize="12sp" />
|
||||
</LinearLayout>
|
||||
</FrameLayout>
|
||||
</FrameLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/gift_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="323dp"
|
||||
android:animateLayoutChanges="true"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.makeramen.roundedimageview.RoundedImageView
|
||||
android:id="@+id/git_background2"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@drawable/backgroud_custom_gift2"
|
||||
app:riv_corner_radius_bottom_left="0dp"
|
||||
app:riv_corner_radius_bottom_right="0dp"
|
||||
app:riv_corner_radius_top_left="10dp"
|
||||
app:riv_corner_radius_top_right="10dp" />
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/git_title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="5dp"
|
||||
android:animateLayoutChanges="true">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/leveling_layout"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:visibility="gone">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="22dp"
|
||||
android:layout_marginStart="17dp"
|
||||
android:layout_marginTop="9dp"
|
||||
android:background="@mipmap/icon_grade_angle_mark">
|
||||
android:id="@+id/btn_luck_gift_tip"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="5dp">
|
||||
|
||||
<include layout="@layout/view_nobility" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/lv_str"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:text="Lv.8"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
</FrameLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/gift_bottom"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:paddingStart="16dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="6dp"
|
||||
android:layout_marginTop="12dp"
|
||||
android:layout_marginEnd="18dp"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical">
|
||||
android:id="@+id/diamond_linear"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="32dp"
|
||||
android:background="@drawable/background_gift_money"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingStart="4dp"
|
||||
android:paddingTop="7dp"
|
||||
android:paddingBottom="7dp">
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/progressBar"
|
||||
style="?android:attr/progressBarStyleHorizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="4dp"
|
||||
android:max="100"
|
||||
android:progress="0"
|
||||
android:progressDrawable="@drawable/progress_bg_user" />
|
||||
<ImageView
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"
|
||||
android:clickable="false"
|
||||
android:focusable="false"
|
||||
android:src="@mipmap/diamond" />
|
||||
|
||||
<com.yunbao.common.views.weight.MarqueeTextView
|
||||
android:id="@+id/leave_hint"
|
||||
android:layout_width="match_parent"
|
||||
<TextView
|
||||
android:id="@+id/diamond_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginTop="2dp"
|
||||
android:ellipsize="marquee"
|
||||
android:focusable="true"
|
||||
android:focusableInTouchMode="true"
|
||||
android:layout_marginStart="4dp"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:clickable="false"
|
||||
android:focusable="false"
|
||||
android:text="0"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="8dp"
|
||||
android:layout_height="8dp"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:background="@mipmap/icon_right" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/gold_layout"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_toRightOf="@id/diamond_linear"
|
||||
android:gravity="center_vertical">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:clickable="false"
|
||||
android:focusable="false"
|
||||
android:src="@mipmap/gold_coin" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/gold_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="4dp"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:clickable="false"
|
||||
android:focusable="false"
|
||||
android:text="10000000"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/gift_send_layout"
|
||||
android:layout_width="130dp"
|
||||
android:layout_height="32dp"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginEnd="14dp">
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/gift_number_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginEnd="42dp"
|
||||
android:background="@drawable/background_gift_money2">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/gift_number"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="15dp"
|
||||
android:text="1"
|
||||
android:textColor="#F5C05A"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icon_arrow"
|
||||
android:layout_width="10dp"
|
||||
android:layout_height="10dp"
|
||||
android:layout_gravity="center_vertical|end"
|
||||
android:layout_marginEnd="30dp"
|
||||
android:src="@mipmap/icon_arrow_right_2" />
|
||||
</FrameLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/live_gift_send"
|
||||
android:layout_width="62dp"
|
||||
android:layout_height="32dp"
|
||||
android:layout_gravity="end"
|
||||
android:background="@drawable/bg_live_gift_send_new"
|
||||
android:gravity="center"
|
||||
android:marqueeRepeatLimit="marquee_forever"
|
||||
android:scrollHorizontally="true"
|
||||
android:singleLine="true"
|
||||
android:text="@string/leveling_points"
|
||||
android:textColor="#BBBBBB"
|
||||
android:textSize="9sp" />
|
||||
android:text="@string/live_gift_send"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="14sp" />
|
||||
</FrameLayout>
|
||||
</RelativeLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_above="@id/gift_bottom"
|
||||
android:layout_below="@id/git_title"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="18dp">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/gift_title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginEnd="10dp" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="27dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="end"
|
||||
android:background="@drawable/icon_covering_layer"
|
||||
android:scaleType="centerCrop" />
|
||||
</FrameLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="11dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:background="@color/white" />
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="6dp"
|
||||
android:layout_marginEnd="10dp">
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/live_wrap"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingEnd="8dp"
|
||||
android:text="@string/live_wrap"
|
||||
android:textColor="#CCCDCE"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<View
|
||||
android:id="@+id/red_point"
|
||||
android:layout_width="6dp"
|
||||
android:layout_height="6dp"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginEnd="6dp"
|
||||
android:background="@drawable/bg_red_point" />
|
||||
</FrameLayout>
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<ImageView
|
||||
android:layout_width="16dp"
|
||||
android:layout_height="16dp"
|
||||
android:layout_marginTop="14dp"
|
||||
android:layout_marginEnd="14dp"
|
||||
android:background="@mipmap/icon_right" />
|
||||
</LinearLayout>
|
||||
|
||||
<com.yunbao.common.views.weight.MarqueeTextView
|
||||
android:id="@+id/gift_description"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_weight="1"
|
||||
android:ellipsize="marquee"
|
||||
android:focusable="true"
|
||||
android:focusableInTouchMode="true"
|
||||
android:gravity="center"
|
||||
android:marqueeRepeatLimit="marquee_forever"
|
||||
android:scrollHorizontally="true"
|
||||
android:singleLine="true"
|
||||
android:textColor="#80FFFFFF"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/btn_luck_gift_tip"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="5dp">
|
||||
|
||||
<include layout="@layout/view_nobility" />
|
||||
|
||||
</FrameLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/gift_bottom"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:paddingStart="16dp">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/diamond_linear"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="32dp"
|
||||
android:background="@drawable/background_gift_money"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingStart="4dp"
|
||||
android:paddingTop="7dp"
|
||||
android:paddingBottom="7dp">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"
|
||||
android:clickable="false"
|
||||
android:focusable="false"
|
||||
android:src="@mipmap/diamond" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/diamond_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="4dp"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:clickable="false"
|
||||
android:focusable="false"
|
||||
android:text="0"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="8dp"
|
||||
android:layout_height="8dp"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:background="@mipmap/icon_right" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/gold_layout"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_toRightOf="@id/diamond_linear"
|
||||
android:gravity="center_vertical">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:clickable="false"
|
||||
android:focusable="false"
|
||||
android:src="@mipmap/gold_coin" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/gold_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="4dp"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:clickable="false"
|
||||
android:focusable="false"
|
||||
android:text="10000000"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/gift_send_layout"
|
||||
android:layout_width="130dp"
|
||||
android:layout_height="32dp"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginEnd="14dp">
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/gift_number_layout"
|
||||
android:id="@+id/context_layout_gift"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginEnd="42dp"
|
||||
android:background="@drawable/background_gift_money2">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/gift_number"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="15dp"
|
||||
android:text="1"
|
||||
android:textColor="#F5C05A"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icon_arrow"
|
||||
android:layout_width="10dp"
|
||||
android:layout_height="10dp"
|
||||
android:layout_gravity="center_vertical|end"
|
||||
android:layout_marginEnd="30dp"
|
||||
android:src="@mipmap/icon_arrow_right_2" />
|
||||
</FrameLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/live_gift_send"
|
||||
android:layout_width="62dp"
|
||||
android:layout_height="32dp"
|
||||
android:layout_gravity="end"
|
||||
android:background="@drawable/bg_live_gift_send_new"
|
||||
android:gravity="center"
|
||||
android:text="@string/live_gift_send"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="14sp" />
|
||||
</FrameLayout>
|
||||
</RelativeLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_above="@id/gift_bottom"
|
||||
android:layout_below="@id/git_title"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="18dp">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/gift_title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginEnd="10dp" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="27dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="end"
|
||||
android:background="@drawable/icon_covering_layer"
|
||||
android:scaleType="centerCrop" />
|
||||
</FrameLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="11dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:background="@color/white" />
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="6dp"
|
||||
android:layout_marginEnd="10dp">
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/live_wrap"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingEnd="8dp"
|
||||
android:text="@string/live_wrap"
|
||||
android:textColor="#CCCDCE"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<View
|
||||
android:id="@+id/red_point"
|
||||
android:layout_width="6dp"
|
||||
android:layout_height="6dp"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginEnd="6dp"
|
||||
android:background="@drawable/bg_red_point" />
|
||||
</FrameLayout>
|
||||
android:layout_height="196dp"
|
||||
android:layout_marginTop="12dp" />
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/context_layout_gift"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="196dp"
|
||||
android:layout_marginTop="12dp" />
|
||||
<RelativeLayout
|
||||
android:id="@+id/btn_send_lian"
|
||||
android:layout_width="70dp"
|
||||
android:layout_height="70dp"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginRight="10dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:background="@mipmap/icon_live_gift_lian"
|
||||
android:visibility="gone">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginTop="20dp"
|
||||
android:text="@string/live_gift_send_lian"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
|
||||
</LinearLayout>
|
||||
<TextView
|
||||
android:id="@+id/lian_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginTop="35dp"
|
||||
android:textColor="#fff"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/btn_send_lian"
|
||||
android:layout_width="70dp"
|
||||
android:layout_height="70dp"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginRight="10dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:background="@mipmap/icon_live_gift_lian"
|
||||
android:visibility="gone">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginTop="20dp"
|
||||
android:text="@string/live_gift_send_lian"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/lian_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginTop="35dp"
|
||||
android:textColor="#fff"
|
||||
android:textSize="14sp" />
|
||||
|
||||
</RelativeLayout>
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="主播:"
|
||||
android:text="@string/live_mic_anchor_to_user_dialog"
|
||||
android:textColor="#161616"
|
||||
android:textStyle="bold"
|
||||
android:textSize="16sp"
|
||||
|
||||
29
common/src/main/res/layout/dialog_open_bottom_ad.xml
Normal file
29
common/src/main/res/layout/dialog_open_bottom_ad.xml
Normal file
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/img"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:scaleType="fitXY"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:adjustViewBounds="true"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:srcCompat="@mipmap/background_gift_wall" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/close"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_marginEnd="14dp"
|
||||
android:layout_marginBottom="12dp"
|
||||
app:layout_constraintBottom_toTopOf="@+id/img"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:srcCompat="@mipmap/ic_open_ad_close" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
32
common/src/main/res/layout/dialog_open_center_ad.xml
Normal file
32
common/src/main/res/layout/dialog_open_center_ad.xml
Normal file
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/img"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="20dp"
|
||||
android:layout_marginEnd="20dp"
|
||||
android:layout_marginBottom="12dp"
|
||||
android:scaleType="fitEnd"
|
||||
app:layout_constraintBottom_toTopOf="@+id/close"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:srcCompat="@drawable/type1" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/close"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_marginBottom="202dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="@+id/img"
|
||||
app:layout_constraintStart_toStartOf="@+id/img"
|
||||
app:srcCompat="@mipmap/ic_open_ad_close" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -19,12 +19,14 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="9dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/instant_light"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/gift_number"
|
||||
android:gravity="center"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="9dp"
|
||||
android:text="@string/instant_light"
|
||||
android:gravity="center"
|
||||
android:textColor="#54618F"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="19dp"
|
||||
android:layout_marginStart="75dp"
|
||||
android:layout_marginTop="42dp"
|
||||
android:layout_marginEnd="20dp"
|
||||
android:layout_toStartOf="@+id/goto_room_view"
|
||||
|
||||
BIN
common/src/main/res/mipmap-b+en+us/icon_user_home_living.gif
Normal file
BIN
common/src/main/res/mipmap-b+en+us/icon_user_home_living.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 37 KiB |
BIN
common/src/main/res/mipmap-mdpi/ic_open_ad_close.png
Normal file
BIN
common/src/main/res/mipmap-mdpi/ic_open_ad_close.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 807 B |
@@ -1,16 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<resources>
|
||||
<string name="refresh_header_pulling">Drop down to refresh</string>
|
||||
<string name="refresh_header_refreshing">Refreshing</string>
|
||||
<string name="refresh_header_pulling">Pull down to refresh</string>
|
||||
<string name="refresh_header_refreshing">Loading...</string>
|
||||
<string name="refresh_header_loading">Loading</string>
|
||||
<string name="refresh_header_release">Release refresh now</string>
|
||||
<string name="refresh_header_release">Release to refresh</string>
|
||||
<string name="refresh_header_finish">Refresh finish</string>
|
||||
<string name="refresh_header_failed">refresh failed</string>
|
||||
<string name="refresh_header_update">M-d HH:mm</string>
|
||||
<string name="refresh_footer_pulling">Pull up to load more</string>
|
||||
<string name="refresh_footer_release">Release load now</string>
|
||||
<string name="refresh_footer_loading">Loading</string>
|
||||
<string name="refresh_footer_refreshing">Refreshing</string>
|
||||
<string name="refresh_footer_refreshing">Loading...</string>
|
||||
<string name="refresh_footer_finish">Load complete</string>
|
||||
<string name="refresh_footer_failed">Failed to load</string>
|
||||
<string name="edit_one_1">Are you sure to use the data?</string>
|
||||
@@ -56,14 +56,14 @@
|
||||
<string name="coin_qq_not_install">No QQ installed</string>
|
||||
<string name="copy_link">Replication link</string>
|
||||
<string name="copy_success">Replication success</string>
|
||||
<string name="edit_profile">Editing materials</string>
|
||||
<string name="edit_profile_avatar">Head portrait</string>
|
||||
<string name="edit_profile_nickname">Nickname</string>
|
||||
<string name="edit_profile">Edit</string>
|
||||
<string name="edit_profile_avatar">Photo</string>
|
||||
<string name="edit_profile_nickname">Name</string>
|
||||
<string name="edit_profile_update_nickname">ModifyName</string>
|
||||
<string name="edit_profile_update_remarks">Modify remarks</string>
|
||||
<string name="edit_profile_remarks">Please enter comments~</string>
|
||||
<string name="edit_profile_update_sign">Signature</string>
|
||||
<string name="edit_profile_sign">autograph</string>
|
||||
<string name="edit_profile_sign">Bio</string>
|
||||
<string name="bind_phone">Binding phone</string>
|
||||
<string name="task1">TASK1</string>
|
||||
<string name="task2">TASK2</string>
|
||||
@@ -181,7 +181,7 @@
|
||||
<string name="guard_tip_2">You are the current anchor\'s annual guardian \ n the guardian date expires</string>
|
||||
<string name="guard_gift_tip">Special gift for annual guard</string>
|
||||
<string name="guard_no_data_2">You haven\'t guarded</string>
|
||||
<string name="guard_buy_tip">您為當前主播的月守護\n無法開通周守護</string>
|
||||
<string name="guard_buy_tip">You are the monthly guardian of the current anchor\nUnable to enable weekly guard</string>
|
||||
<string name="guard_buy_tip_2">You are the monthly guard of the current anchor. Opening the annual guard will cover your monthly guard time. Do you want to open it?</string>
|
||||
<string name="guard_buy_tip_3">You will spend%1$s%2$s to open%3$s for the anchor</string>
|
||||
<!-- <string name="guard_name_1">Guardian of the 7 day</string>-->
|
||||
@@ -242,8 +242,8 @@
|
||||
<string name="login_tip_2">Service and privacy terms</string>
|
||||
<string name="login_other_type">Other login methods</string>
|
||||
<string name="login_tip_3">More exciting experience after registering!</string>
|
||||
<string name="login_input_phone">Please enter your mobile number</string>
|
||||
<string name="login_input_pwd">Please input a password</string>
|
||||
<string name="login_input_phone">Phone Number</string>
|
||||
<string name="login_input_pwd">Password</string>
|
||||
<string name="login_immediately_login">Login immediately</string>
|
||||
<string name="login_ing">Logon</string>
|
||||
<string name="login_immediately_register">Immediate registration</string>
|
||||
@@ -254,9 +254,9 @@
|
||||
<string name="login_auth_failure">privilege grant failed</string>
|
||||
<string name="login_auth_cancle">Authorization cancelled</string>
|
||||
<string name="live">Live broadcast</string>
|
||||
<string name="login_tip_4">Login</string>
|
||||
<string name="login_tip_4">Log in</string>
|
||||
<string name="shopmall">shopmall</string>
|
||||
<string name="recomment">Recomm</string>
|
||||
<string name="recomment">Recommend</string>
|
||||
<string name="cust_server">CSD</string>
|
||||
<string name="live_anchor">anchor</string>
|
||||
<string name="live_start">Live broadcast</string>
|
||||
@@ -289,7 +289,7 @@
|
||||
<string name="live_zg">Trickster</string>
|
||||
<string name="live_dr">MultiplayerPK</string>
|
||||
<string name="live_mic">Voice Link</string>
|
||||
<string name="live_wks">Start</string>
|
||||
<string name="live_wks">billboard</string>
|
||||
<string name="live_zslk">LeaveTemporarily</string>
|
||||
<string name="live_zslk1">ResumeLive</string>
|
||||
<string name="live_flash">Flash lamp</string>
|
||||
@@ -491,11 +491,11 @@
|
||||
<string name="reg_register">register</string>
|
||||
<string name="reg_input_phone">Please enter your mobile number</string>
|
||||
<string name="reg_input_code">Please enter the verification code</string>
|
||||
<string name="reg_input_pwd_1">Please fill in the password</string>
|
||||
<string name="reg_input_pwd_2">Please confirm the password</string>
|
||||
<string name="reg_input_pwd_3">Fill in the invitation code (optional)</string>
|
||||
<string name="reg_input_pwd_1">Password</string>
|
||||
<string name="reg_input_pwd_2">Password Again</string>
|
||||
<string name="reg_input_pwd_3">Invite Code(Optional)</string>
|
||||
<string name="reg_register_and_login">Register and log in</string>
|
||||
<string name="reg_get_code">Get verification code</string>
|
||||
<string name="reg_get_code">Get Code</string>
|
||||
<string name="reg_get_code_again">Regain</string>
|
||||
<string name="reg_pwd_error">Passwords are inconsistent</string>
|
||||
<string name="reg_register_ing">In registration</string>
|
||||
@@ -659,7 +659,7 @@
|
||||
<string name="save">Preservation</string>
|
||||
<string name="reg">Register</string>
|
||||
<string name="no_more_mic">No one is currently in the voice link</string>
|
||||
<string name="welcome_pdlive">Welcome to PDLIVE</string>
|
||||
<string name="welcome_pdlive">Welcome to PDLive</string>
|
||||
<string name="newcomer">Newcomer Bonus</string>
|
||||
<string name="exp">EXP</string>
|
||||
<string name="new_rewards">Complete newcomer tasks for more rewards</string>
|
||||
@@ -829,17 +829,17 @@
|
||||
|
||||
<string name="live_issend">You can only speak after completing the previous task</string>
|
||||
|
||||
<string name="live_hot_give">Heat addition</string>
|
||||
<string name="live_hot_time">Hot & Time</string>
|
||||
<string name="live_hot_give">HEATING</string>
|
||||
<string name="live_hot_time">Heat & Time</string>
|
||||
|
||||
<string name="live_hot_ruletext1"> 熱度可以給主播的房間增加曝光度,熱度越高的直播間,在首頁的排名也越靠前,從而帶來更多的進房用戶,幫助主播在一段時間內迅速提高房間熱度,送出之後立即生效。</string>
|
||||
<string name="live_hot_ruletext2">熱度卡如何獲得?</string>
|
||||
<string name="live_hot_ruletext3">1、周星榜主播冠軍的第一名用戶每週可自動獲得;</string>
|
||||
<string name="live_hot_ruletext4">2、通過參與官方活動,具體活動可留意官方消息。</string>
|
||||
<string name="live_hot_ruletext21">熱度卡如何使用?</string>
|
||||
<string name="live_hot_ruletext22">前往「個人中心」-「我的包裹」中,即可使用熱度卡。</string>
|
||||
<string name="live_hot_ruletext31">熱度卡生效多久?</string>
|
||||
<string name="live_hot_ruletext32">對指定主播使用熱度卡後,將會立即生效,效果時長為24小時,不管主播是否在線,熱度時長都將會持續減少</string>
|
||||
<string name="live_hot_ruletext1">The popularity can increase the exposure to the anchor\'s room. The higher the live broadcast room, the more popular on the homepage, which will bring more users in the house and help the anchor to quickly increase the room heat in a period of time. Immediately after the delivery Effective.</string>
|
||||
<string name="live_hot_ruletext2">How to get the heat card?</string>
|
||||
<string name="live_hot_ruletext3">1. The first user of Zhou Xingbang\'s anchor champion can automatically get it every week;</string>
|
||||
<string name="live_hot_ruletext4">2. By participating in the official activities, the official news can be paid attention to.</string>
|
||||
<string name="live_hot_ruletext21">How to use the heat card?</string>
|
||||
<string name="live_hot_ruletext22">Go to the \"Personal Center\"-\"My Package\" to use the heat card.</string>
|
||||
<string name="live_hot_ruletext31">How long does the heat card take effect?</string>
|
||||
<string name="live_hot_ruletext32">After using the hot card for the designated anchor, it will take effect immediately. The effect time is 24 hours. Regardless of whether the anchor is online, the heat time will continue to decrease</string>
|
||||
<string name="welcome_pd">Rewards coming!</string>
|
||||
<string name="welcome_pd_tip">Receive free
|
||||
Limited ride And limited avatar frame</string>
|
||||
@@ -888,7 +888,7 @@ Limited ride And limited avatar frame</string>
|
||||
<string name="online_service">Online Service</string>
|
||||
<string name="popular_tickets">Hot Ticket</string>
|
||||
<string name="register_and_log_in">Register and log in</string>
|
||||
<string name="sign_up_for">Sign up for PD LIVE</string>
|
||||
<string name="sign_up_for">Sign in PDlive</string>
|
||||
<string name="tell_the_world">Tell the world!</string>
|
||||
<string name="better_emperor_hint">Tell the world! %s recommends anchor %s to everyone!</string>
|
||||
<string name="emperor_hint">Tell the world! %s recommends the anchor %s to everyone, and the splendid glance is amazing!</string>
|
||||
@@ -1018,7 +1018,7 @@ Limited ride And limited avatar frame</string>
|
||||
<string name="live_user_ban_fhd">There is no choice, the anchor is not turned on FHD live.</string>
|
||||
<string name="live_user_ban_hd">There is no choice, the anchor is not turned on HD live.</string>
|
||||
<string name="function_is_suspended">Sorry, this feature is on hold.</string>
|
||||
<string name="phone_number">phone</string>
|
||||
<string name="phone_number">Phone Number</string>
|
||||
<string name="broadcast_data">Broadcast</string>
|
||||
<string name="click_to_view">Click To View</string>
|
||||
<string name="anchor_task">Anchor Task</string>
|
||||
@@ -1047,14 +1047,14 @@ Limited ride And limited avatar frame</string>
|
||||
<string name="go_to_the_sign">Go to the sign-in center</string>
|
||||
<string name="confirm_pick_up">Confirm pick up</string>
|
||||
<string name="customer_service2">Unable to login? Click here to contact customer service</string>
|
||||
<string name="next_step_is_consent">By logging in, you agree to the Terms of</string>
|
||||
<string name="user_protocol2"> Service</string>
|
||||
<string name="and">and</string>
|
||||
<string name="privacy_terms">Privacy</string>
|
||||
<string name="next_step_is_consent">By continuing, you are agree to our Terms of </string>
|
||||
<string name="user_protocol2"> use</string>
|
||||
<string name="and">&</string>
|
||||
<string name="privacy_terms">Privacy Policy</string>
|
||||
<string name="terms_and_policies">Terms and policies</string>
|
||||
<string name="install_the_application">For details, please read the following message to install the application:</string>
|
||||
<string name="treat_and_protect">Welcome to PD LIVE. For your personal information and privacy, we will adopt the highest standards of treatment and protection.</string>
|
||||
<string name="anti_cheating_services">In order to provide you with one-click sharing service, our product integrates Mob+U-Share SDK, The Mob+SDK needs to collect your device Mac address, unique device identifier (1MEIandroid IDIDFAOPENUDIDGUID, SIM card IMSI information), and public social account information that you need to share in order to complete the one-click sharing service. And through the geographical location calibration report data accuracy, provide basic anti-cheating services. For the sake of your information security, we have made data security and confidentiality agreements with third-party SDK service providers, and these companies will strictly abide by our data privacy and security requirements. We will not share your personally identifiable information with them unless we have your consent. To facilitate you better understand/Mob + data types and USES, and how to protect your personal information, you can log on to https:www.mob.com aboutpolicy understand [Mob +] privacy policy).</string>
|
||||
<string name="anti_cheating_services">In order to provide users with better services, our products integrate [Alliance SDK], SDK needs to collect your device information (IMEI/MAC/Android ID/IDFA/OpenUDID/GUID/IP address /SIM card IMSI information, etc.), In order for you to better understand the types and purposes of the data collected by [Alliance SDK] and how to protect your personal information, you can log on to: https://www.umeng.com/page/policy Learn about [Alliance SDK] Privacy Policy [Alliance +] Privacy Policy [Alliance +], a third-party global big data service provider, providing customers with PC/APP/ offline statistics, advertising effect monitoring, message push/micro community/sharing /IM and other operating tools,DIP, global index and industry reports. https://www.umeng.com/page/policy</string>
|
||||
<string name="read_and_agre">Clicking Agree means you have read and agree to all of the above.。</string>
|
||||
<string name="agreement">agreement</string>
|
||||
<string name="come_to">Welcome to PD LIVE.</string>
|
||||
@@ -1126,7 +1126,7 @@ Limited ride And limited avatar frame</string>
|
||||
<string name="unfollow_cancel">unfollow</string>
|
||||
<string name="unfollow"> Where is the host doing badly~\nBrother, are you sure you want to unfollow?</string>
|
||||
<string name="unfollow_confrim">follow</string>
|
||||
<string name="heat_add">Heat Add</string>
|
||||
<string name="heat_add">Heating</string>
|
||||
<string name="live_room_chat_fount_size_low">LOW</string>
|
||||
<string name="live_room_chat_fount_size_def">DEFAULT</string>
|
||||
<string name="live_room_chat_fount_size_high">HIGH</string>
|
||||
@@ -1150,7 +1150,7 @@ Limited ride And limited avatar frame</string>
|
||||
<string name="delete_account1">Do you want to delete the account</string>
|
||||
<string name="delete_account2">After clicking delete, it will take effect immediately and cannot be restored. Are you sure you want to continue?</string>
|
||||
<string name="delete_account3">Confirm deletion</string>
|
||||
<string name="complete_information">Fill And gift</string>
|
||||
<string name="complete_information">Fill for Gift</string>
|
||||
<string name="complete_information_consumable">Fill in the \'*\' option to complete</string>
|
||||
<string name="love_powder">True love powder\nPhoto Frame(7 days)</string>
|
||||
<string name="golden_beans_128">128 Golden Beans</string>
|
||||
@@ -1211,7 +1211,7 @@ Limited ride And limited avatar frame</string>
|
||||
<string name="red_packet_info_residue_none">None</string>
|
||||
<string name="red_packet_info_residue_back">Return to account</string>
|
||||
<string name="red_packet_user_tips2">Popularity Red packet</string>
|
||||
<string name="main_tabs_red_packet">Red packets</string>
|
||||
<string name="main_tabs_red_packet">Earn Cash</string>
|
||||
<string name="save_popular_red_packets">Popular red packets</string>
|
||||
<string name="amount">amount</string>
|
||||
<string name="drill">Diamonds</string>
|
||||
@@ -1312,6 +1312,12 @@ Limited ride And limited avatar frame</string>
|
||||
<string name="cancel_ca">cancel</string>
|
||||
<string name="settings_ser">settings</string>
|
||||
<string name="too_many_gifts">Too many gifts</string>
|
||||
|
||||
|
||||
<string name="list_for_lianmai">Current</string>
|
||||
<string name="user_apply_for_lianmai">Apply for list</string>
|
||||
<string name="live_mic_anchor_to_user_dialog">Anchor:</string>
|
||||
<string name="trial_coupon">Whether to use trial coupons</string>
|
||||
<string name="use_diamonds">Use diamonds</string>
|
||||
<string name="live_send_red_packge_fans_group">Join a fans club</string>
|
||||
<string name="live_pk_link_error">Sorry, your network failed to pull the other party.</string>
|
||||
<string name="live_user_dialog_tips">say something</string>
|
||||
</resources>
|
||||
|
||||
@@ -1080,7 +1080,7 @@
|
||||
<string name="terms_and_policies">條款和政策</string>
|
||||
<string name="treat_and_protect">歡迎來到PD LIVE,對於您的個人信息及隱私,我們將採用最高標準對待和保護。</string>
|
||||
<string name="install_the_application">詳情請您閱讀以下安裝應用程序的消息:</string>
|
||||
<string name="anti_cheating_services">為了向您提供一鍵分享服務,我們的產品集成Mob+U-Share SDK,Mob+SDK需要收集您的設備Mac地址、唯一設備識別碼(1MEI/android ID/IDFA/OPENUDID/GUID、 SIM卡IMSI信息)以及您需要分享的社交賬號公開信息,以便完成一鍵分享服務。並通過地理位置校準報表數據準確性,提供基礎反作弊服務。為了您的信息安全,我們已與第三方SDK服務商進行數據安全保密約定,這些公司會嚴格遵守我們的數據隱私和安全要求。 除非得到您的同意,我們不會與其共享您的個人身份信息。為便於您更好地了解[Mob+]采集的數據類型及用途,以及何保護您的個人信息,您可以登陸https://www.mob.com/about/policy了解[Mob+]隱私權政)。</string>
|
||||
<string name="anti_cheating_services">為了給用戶提供更好的服務,我們的產品集成[友盟SDK],SDK需要收集您的设备信息(IMEI/MAC/Android ID/IDFA/OpenUDID/GUID/IP地址/SIM 卡 IMSI 信息等),為便於您更好地了解[友盟SDK]采集的數據類型及用途,以及何保護您的個人信息,您可以登陸:https://www.umeng.com/page/policy 了解[友盟SDK]隱私權政策【友盟+】隐私政策【友盟+】,第三方全域大数据服务提供商,为客户提供PC/APP/线下统计,广告效果监测,消息推送/微社区/分享/IM等运营工具,DIP,全域指数与行业报告等。https://www.umeng.com/page/policy</string>
|
||||
<string name="agreement">同意</string>
|
||||
<string name="read_and_agre">點擊同意後即代表您已閱讀並同意以上所有內容。</string>
|
||||
<string name="support_login">本應用會收集位置數據以支持登錄和註冊的功能使用。</string>
|
||||
@@ -1308,4 +1308,13 @@
|
||||
<string name="cancel_ca">不再設置</string>
|
||||
<string name="settings_ser">去設置</string>
|
||||
<string name="too_many_gifts">重複添加禮物</string>
|
||||
<string name="list_for_lianmai">當前連麥</string>
|
||||
<string name="user_apply_for_lianmai">連麥申請</string>
|
||||
<string name="live_mic_anchor_to_user_dialog">主播:</string>
|
||||
<string name="trial_coupon">是否使用試用劵</string>
|
||||
<string name="use_diamonds">使用鑽石</string>
|
||||
<string name="live_send_red_packge_fans_group">加入粉絲團</string>
|
||||
|
||||
<string name="live_pk_link_error">抱歉,您的網絡不佳拉取對方畫面失敗</string>
|
||||
<string name="live_user_dialog_tips">這家夥很懶,什麽都沒留下</string>
|
||||
</resources>
|
||||
|
||||
@@ -1080,7 +1080,7 @@
|
||||
<string name="terms_and_policies">條款和政策</string>
|
||||
<string name="treat_and_protect">歡迎來到PD LIVE,對於您的個人信息及隱私,我們將採用最高標準對待和保護。</string>
|
||||
<string name="install_the_application">詳情請您閱讀以下安裝應用程序的消息:</string>
|
||||
<string name="anti_cheating_services">為了向您提供一鍵分享服務,我們的產品集成Mob+U-Share SDK,Mob+SDK需要收集您的設備Mac地址、唯一設備識別碼(1MEI/android ID/IDFA/OPENUDID/GUID、 SIM卡IMSI信息)以及您需要分享的社交賬號公開信息,以便完成一鍵分享服務。並通過地理位置校準報表數據準確性,提供基礎反作弊服務。為了您的信息安全,我們已與第三方SDK服務商進行數據安全保密約定,這些公司會嚴格遵守我們的數據隱私和安全要求。 除非得到您的同意,我們不會與其共享您的個人身份信息。為便於您更好地了解[Mob+]采集的數據類型及用途,以及何保護您的個人信息,您可以登陸https://www.mob.com/about/policy了解[Mob+]隱私權政)。</string>
|
||||
<string name="anti_cheating_services">為了給用戶提供更好的服務,我們的產品集成[友盟SDK],SDK需要收集您的设备信息(IMEI/MAC/Android ID/IDFA/OpenUDID/GUID/IP地址/SIM 卡 IMSI 信息等),為便於您更好地了解[友盟SDK]采集的數據類型及用途,以及何保護您的個人信息,您可以登陸:https://www.umeng.com/page/policy 了解[友盟SDK]隱私權政策【友盟+】隐私政策【友盟+】,第三方全域大数据服务提供商,为客户提供PC/APP/线下统计,广告效果监测,消息推送/微社区/分享/IM等运营工具,DIP,全域指数与行业报告等。https://www.umeng.com/page/policy</string>
|
||||
<string name="agreement">同意</string>
|
||||
<string name="read_and_agre">點擊同意後即代表您已閱讀並同意以上所有內容。</string>
|
||||
<string name="support_login">本應用會收集位置數據以支持登錄和註冊的功能使用。</string>
|
||||
@@ -1307,4 +1307,13 @@
|
||||
<string name="cancel_ca">不再設置</string>
|
||||
<string name="settings_ser">去設置</string>
|
||||
<string name="too_many_gifts">重複添加禮物</string>
|
||||
<string name="live_send_red_packge_fans_group">加入粉絲團</string>
|
||||
<string name="list_for_lianmai">當前連麥</string>
|
||||
<string name="user_apply_for_lianmai">連麥申請</string>
|
||||
<string name="live_mic_anchor_to_user_dialog">主播:</string>
|
||||
<string name="trial_coupon">是否使用試用劵</string>
|
||||
<string name="use_diamonds">使用鑽石</string>
|
||||
|
||||
<string name="live_pk_link_error">抱歉,您的網絡不佳拉取對方畫面失敗</string>
|
||||
<string name="live_user_dialog_tips">這家夥很懶,什麽都沒留下</string>
|
||||
</resources>
|
||||
|
||||
@@ -1080,7 +1080,7 @@
|
||||
<string name="terms_and_policies">條款和政策</string>
|
||||
<string name="treat_and_protect">歡迎來到PD LIVE,對於您的個人信息及隱私,我們將採用最高標準對待和保護。</string>
|
||||
<string name="install_the_application">詳情請您閱讀以下安裝應用程序的消息:</string>
|
||||
<string name="anti_cheating_services">為了向您提供一鍵分享服務,我們的產品集成Mob+U-Share SDK,Mob+SDK需要收集您的設備Mac地址、唯一設備識別碼(1MEI/android ID/IDFA/OPENUDID/GUID、 SIM卡IMSI信息)以及您需要分享的社交賬號公開信息,以便完成一鍵分享服務。並通過地理位置校準報表數據準確性,提供基礎反作弊服務。為了您的信息安全,我們已與第三方SDK服務商進行數據安全保密約定,這些公司會嚴格遵守我們的數據隱私和安全要求。 除非得到您的同意,我們不會與其共享您的個人身份信息。為便於您更好地了解[Mob+]採集的數據類型及用途,以及何保護您的個人信息,您可以登陸https://www.mob.com/about/policy了解[Mob+]隱私權政)。</string>
|
||||
<string name="anti_cheating_services">為了給用戶提供更好的服務,我們的產品集成[友盟SDK],SDK需要收集您的设备信息(IMEI/MAC/Android ID/IDFA/OpenUDID/GUID/IP地址/SIM 卡 IMSI 信息等),為便於您更好地了解[友盟SDK]采集的數據類型及用途,以及何保護您的個人信息,您可以登陸:https://www.umeng.com/page/policy 了解[友盟SDK]隱私權政策【友盟+】隐私政策【友盟+】,第三方全域大数据服务提供商,为客户提供PC/APP/线下统计,广告效果监测,消息推送/微社区/分享/IM等运营工具,DIP,全域指数与行业报告等。https://www.umeng.com/page/policy</string>
|
||||
<string name="agreement">同意</string>
|
||||
<string name="read_and_agre">點擊同意後即代表您已閱讀並同意以上所有內容。</string>
|
||||
<string name="support_login">本應用會收集位置數據以支持登錄和註冊的功能使用。</string>
|
||||
@@ -1307,6 +1307,13 @@
|
||||
<string name="cancel_ca">不再設置</string>
|
||||
<string name="settings_ser">去設置</string>
|
||||
<string name="too_many_gifts">重複添加禮物</string>
|
||||
<string name="trial_coupon">是否使用試用劵</string>
|
||||
<string name="use_diamonds">使用鑽石</string>
|
||||
<string name="list_for_lianmai">當前連麥</string>
|
||||
<string name="user_apply_for_lianmai">連麥申請</string>
|
||||
<string name="live_mic_anchor_to_user_dialog">主播:</string>
|
||||
|
||||
|
||||
<string name="live_send_red_packge_fans_group">加入粉絲團</string>
|
||||
<string name="live_pk_link_error">抱歉,您的網絡不佳拉取對方畫面失敗</string>
|
||||
<string name="live_user_dialog_tips">這家夥很懶,什麽都沒留下</string>
|
||||
</resources>
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<resources>
|
||||
<string name="refresh_header_pulling">Drop down to refresh</string>
|
||||
<string name="refresh_header_refreshing">Refreshing</string>
|
||||
<string name="refresh_header_pulling">Pull down to refresh</string>
|
||||
<string name="refresh_header_refreshing">Loading...</string>
|
||||
<string name="refresh_header_loading">Loading</string>
|
||||
<string name="refresh_header_release">Release refresh now</string>
|
||||
<string name="refresh_header_release">Release to refresh</string>
|
||||
<string name="refresh_header_finish">Refresh finish</string>
|
||||
<string name="refresh_header_failed">refresh failed</string>
|
||||
<string name="refresh_header_update">M-d HH:mm</string>
|
||||
<string name="refresh_footer_pulling">Pull up to load more</string>
|
||||
<string name="refresh_footer_release">Release load now</string>
|
||||
<string name="refresh_footer_loading">Loading</string>
|
||||
<string name="refresh_footer_refreshing">Refreshing</string>
|
||||
<string name="refresh_footer_refreshing">Loading...</string>
|
||||
<string name="refresh_footer_finish">Load complete</string>
|
||||
<string name="refresh_footer_failed">Failed to load</string>
|
||||
<string name="edit_one_1">Are you sure to use the data?</string>
|
||||
@@ -56,14 +56,14 @@
|
||||
<string name="coin_qq_not_install">No QQ installed</string>
|
||||
<string name="copy_link">Replication link</string>
|
||||
<string name="copy_success">Replication success</string>
|
||||
<string name="edit_profile">Editing materials</string>
|
||||
<string name="edit_profile_avatar">Head portrait</string>
|
||||
<string name="edit_profile_nickname">Nickname</string>
|
||||
<string name="edit_profile">Edit</string>
|
||||
<string name="edit_profile_avatar">Photo</string>
|
||||
<string name="edit_profile_nickname">Name</string>
|
||||
<string name="edit_profile_update_nickname">ModifyName</string>
|
||||
<string name="edit_profile_update_remarks">Modify remarks</string>
|
||||
<string name="edit_profile_remarks">Please enter comments~</string>
|
||||
<string name="edit_profile_update_sign">Signature</string>
|
||||
<string name="edit_profile_sign">autograph</string>
|
||||
<string name="edit_profile_sign">Bio</string>
|
||||
<string name="bind_phone">Binding phone</string>
|
||||
<string name="task1">TASK1</string>
|
||||
<string name="task2">TASK2</string>
|
||||
@@ -181,7 +181,7 @@
|
||||
<string name="guard_tip_2">You are the current anchor\'s annual guardian \ n the guardian date expires</string>
|
||||
<string name="guard_gift_tip">Special gift for annual guard</string>
|
||||
<string name="guard_no_data_2">You haven\'t guarded</string>
|
||||
<string name="guard_buy_tip">您為當前主播的月守護\n無法開通周守護</string>
|
||||
<string name="guard_buy_tip">You are the monthly guardian of the current anchor\nUnable to enable weekly guard</string>
|
||||
<string name="guard_buy_tip_2">You are the monthly guard of the current anchor. Opening the annual guard will cover your monthly guard time. Do you want to open it?</string>
|
||||
<string name="guard_buy_tip_3">You will spend%1$s%2$s to open%3$s for the anchor</string>
|
||||
<!-- <string name="guard_name_1">Guardian of the 7 day</string>-->
|
||||
@@ -242,8 +242,8 @@
|
||||
<string name="login_tip_2">Service and privacy terms</string>
|
||||
<string name="login_other_type">Other login methods</string>
|
||||
<string name="login_tip_3">More exciting experience after registering!</string>
|
||||
<string name="login_input_phone">Please enter your mobile number</string>
|
||||
<string name="login_input_pwd">Please input a password</string>
|
||||
<string name="login_input_phone">Phone Number</string>
|
||||
<string name="login_input_pwd">Password</string>
|
||||
<string name="login_immediately_login">Login immediately</string>
|
||||
<string name="login_ing">Logon</string>
|
||||
<string name="login_immediately_register">Immediate registration</string>
|
||||
@@ -254,9 +254,9 @@
|
||||
<string name="login_auth_failure">privilege grant failed</string>
|
||||
<string name="login_auth_cancle">Authorization cancelled</string>
|
||||
<string name="live">Live broadcast</string>
|
||||
<string name="login_tip_4">Login</string>
|
||||
<string name="login_tip_4">Log in</string>
|
||||
<string name="shopmall">shopmall</string>
|
||||
<string name="recomment">Recomm</string>
|
||||
<string name="recomment">Recommend</string>
|
||||
<string name="cust_server">CSD</string>
|
||||
<string name="live_anchor">anchor</string>
|
||||
<string name="live_start">Live broadcast</string>
|
||||
@@ -289,7 +289,7 @@
|
||||
<string name="live_zg">Trickster</string>
|
||||
<string name="live_dr">MultiplayerPK</string>
|
||||
<string name="live_mic">Voice Link</string>
|
||||
<string name="live_wks">Start</string>
|
||||
<string name="live_wks">billboard</string>
|
||||
<string name="live_zslk">LeaveTemporarily</string>
|
||||
<string name="live_zslk1">ResumeLive</string>
|
||||
<string name="live_flash">Flash lamp</string>
|
||||
@@ -491,11 +491,11 @@
|
||||
<string name="reg_register">register</string>
|
||||
<string name="reg_input_phone">Please enter your mobile number</string>
|
||||
<string name="reg_input_code">Please enter the verification code</string>
|
||||
<string name="reg_input_pwd_1">Please fill in the password</string>
|
||||
<string name="reg_input_pwd_2">Please confirm the password</string>
|
||||
<string name="reg_input_pwd_3">Fill in the invitation code (optional)</string>
|
||||
<string name="reg_input_pwd_1">Password</string>
|
||||
<string name="reg_input_pwd_2">Password Again</string>
|
||||
<string name="reg_input_pwd_3">Invite Code(Optional)</string>
|
||||
<string name="reg_register_and_login">Register and log in</string>
|
||||
<string name="reg_get_code">Get verification code</string>
|
||||
<string name="reg_get_code">Get Code</string>
|
||||
<string name="reg_get_code_again">Regain</string>
|
||||
<string name="reg_pwd_error">Passwords are inconsistent</string>
|
||||
<string name="reg_register_ing">In registration</string>
|
||||
@@ -659,7 +659,7 @@
|
||||
<string name="save">Preservation</string>
|
||||
<string name="reg">Register</string>
|
||||
<string name="no_more_mic">No one is currently in the voice link</string>
|
||||
<string name="welcome_pdlive">Welcome to PDLIVE</string>
|
||||
<string name="welcome_pdlive">Welcome to PDLive</string>
|
||||
<string name="newcomer">Newcomer Bonus</string>
|
||||
<string name="exp">EXP</string>
|
||||
<string name="new_rewards">Complete newcomer tasks for more rewards</string>
|
||||
@@ -829,17 +829,17 @@
|
||||
|
||||
<string name="live_issend">You can only speak after completing the previous task</string>
|
||||
|
||||
<string name="live_hot_give">Heat addition</string>
|
||||
<string name="live_hot_time">Hot & Time</string>
|
||||
<string name="live_hot_give">HEATING</string>
|
||||
<string name="live_hot_time">Heat & Time</string>
|
||||
|
||||
<string name="live_hot_ruletext1"> 熱度可以給主播的房間增加曝光度,熱度越高的直播間,在首頁的排名也越靠前,從而帶來更多的進房用戶,幫助主播在一段時間內迅速提高房間熱度,送出之後立即生效。</string>
|
||||
<string name="live_hot_ruletext2">熱度卡如何獲得?</string>
|
||||
<string name="live_hot_ruletext3">1、周星榜主播冠軍的第一名用戶每週可自動獲得;</string>
|
||||
<string name="live_hot_ruletext4">2、通過參與官方活動,具體活動可留意官方消息。</string>
|
||||
<string name="live_hot_ruletext21">熱度卡如何使用?</string>
|
||||
<string name="live_hot_ruletext22">前往「個人中心」-「我的包裹」中,即可使用熱度卡。</string>
|
||||
<string name="live_hot_ruletext31">熱度卡生效多久?</string>
|
||||
<string name="live_hot_ruletext32">對指定主播使用熱度卡後,將會立即生效,效果時長為24小時,不管主播是否在線,熱度時長都將會持續減少</string>
|
||||
<string name="live_hot_ruletext1">The popularity can increase the exposure to the anchor\'s room. The higher the live broadcast room, the more popular on the homepage, which will bring more users in the house and help the anchor to quickly increase the room heat in a period of time. Immediately after the delivery Effective.</string>
|
||||
<string name="live_hot_ruletext2">How to get the heat card?</string>
|
||||
<string name="live_hot_ruletext3">1. The first user of Zhou Xingbang\'s anchor champion can automatically get it every week;</string>
|
||||
<string name="live_hot_ruletext4">2. By participating in the official activities, the official news can be paid attention to.</string>
|
||||
<string name="live_hot_ruletext21">How to use the heat card?</string>
|
||||
<string name="live_hot_ruletext22">Go to the \"Personal Center\"-\"My Package\" to use the heat card.</string>
|
||||
<string name="live_hot_ruletext31">How long does the heat card take effect?</string>
|
||||
<string name="live_hot_ruletext32">After using the hot card for the designated anchor, it will take effect immediately. The effect time is 24 hours. Regardless of whether the anchor is online, the heat time will continue to decrease</string>
|
||||
<string name="welcome_pd">Rewards coming!</string>
|
||||
<string name="welcome_pd_tip">Receive free
|
||||
Limited ride And limited avatar frame</string>
|
||||
@@ -888,7 +888,7 @@ Limited ride And limited avatar frame</string>
|
||||
<string name="online_service">Online Service</string>
|
||||
<string name="popular_tickets">Hot Ticket</string>
|
||||
<string name="register_and_log_in">Register and log in</string>
|
||||
<string name="sign_up_for">Sign up for PD LIVE</string>
|
||||
<string name="sign_up_for">Sign in PDlive</string>
|
||||
<string name="tell_the_world">Tell the world!</string>
|
||||
<string name="better_emperor_hint">Tell the world! %s recommends anchor %s to everyone!</string>
|
||||
<string name="emperor_hint">Tell the world! %s recommends the anchor %s to everyone, and the splendid glance is amazing!</string>
|
||||
@@ -956,7 +956,7 @@ Limited ride And limited avatar frame</string>
|
||||
<string name="chat_chat">Chat</string>
|
||||
<string name="lucky_angel">Congratulations %s have won %s in the Lucky Angel! The next lucky angel will be you!</string>
|
||||
<string name="lucky_100">Congratulations on %s winning %s in Luck 100 %%! Go pass on the good luck!</string>
|
||||
<string name="user_card_guard">Guardian %s </string>
|
||||
<string name="user_card_guard">guard %s </string>
|
||||
<string name="to_receive">receive</string>
|
||||
<string name="to_complete">To finish</string>
|
||||
<string name="already_collected">Already collected</string>
|
||||
@@ -1018,7 +1018,7 @@ Limited ride And limited avatar frame</string>
|
||||
<string name="live_user_ban_fhd">There is no choice, the anchor is not turned on FHD live.</string>
|
||||
<string name="live_user_ban_hd">There is no choice, the anchor is not turned on HD live.</string>
|
||||
<string name="function_is_suspended">Sorry, this feature is on hold.</string>
|
||||
<string name="phone_number">phone</string>
|
||||
<string name="phone_number">Phone Number</string>
|
||||
<string name="broadcast_data">Broadcast</string>
|
||||
<string name="click_to_view">Click To View</string>
|
||||
<string name="anchor_task">Anchor Task</string>
|
||||
@@ -1047,14 +1047,14 @@ Limited ride And limited avatar frame</string>
|
||||
<string name="go_to_the_sign">Go to the sign-in center</string>
|
||||
<string name="confirm_pick_up">Confirm pick up</string>
|
||||
<string name="customer_service2">Unable to login? Click here to contact customer service</string>
|
||||
<string name="next_step_is_consent">By logging in, you agree to the Terms of</string>
|
||||
<string name="user_protocol2"> Service</string>
|
||||
<string name="and">and</string>
|
||||
<string name="privacy_terms">Privacy</string>
|
||||
<string name="next_step_is_consent">By continuing, you are agree to our Terms of </string>
|
||||
<string name="user_protocol2"> use</string>
|
||||
<string name="and">&</string>
|
||||
<string name="privacy_terms">Privacy Policy</string>
|
||||
<string name="terms_and_policies">Terms and policies</string>
|
||||
<string name="install_the_application">For details, please read the following message to install the application:</string>
|
||||
<string name="treat_and_protect">Welcome to PD LIVE. For your personal information and privacy, we will adopt the highest standards of treatment and protection.</string>
|
||||
<string name="anti_cheating_services">In order to provide you with one-click sharing service, our product integrates Mob+U-Share SDK, The Mob+SDK needs to collect your device Mac address, unique device identifier (1MEIandroid IDIDFAOPENUDIDGUID, SIM card IMSI information), and public social account information that you need to share in order to complete the one-click sharing service. And through the geographical location calibration report data accuracy, provide basic anti-cheating services. For the sake of your information security, we have made data security and confidentiality agreements with third-party SDK service providers, and these companies will strictly abide by our data privacy and security requirements. We will not share your personally identifiable information with them unless we have your consent. To facilitate you better understand/Mob + data types and USES, and how to protect your personal information, you can log on to https:www.mob.com aboutpolicy understand [Mob +] privacy policy).</string>
|
||||
<string name="anti_cheating_services">In order to provide users with better services, our products integrate [Alliance SDK], SDK needs to collect your device information (IMEI/MAC/Android ID/IDFA/OpenUDID/GUID/IP address /SIM card IMSI information, etc.), In order for you to better understand the types and purposes of the data collected by [Alliance SDK] and how to protect your personal information, you can log on to: https://www.umeng.com/page/policy Learn about [Alliance SDK] Privacy Policy [Alliance +] Privacy Policy [Alliance +], a third-party global big data service provider, providing customers with PC/APP/ offline statistics, advertising effect monitoring, message push/micro community/sharing /IM and other operating tools,DIP, global index and industry reports. https://www.umeng.com/page/policy</string>
|
||||
<string name="read_and_agre">Clicking Agree means you have read and agree to all of the above.。</string>
|
||||
<string name="agreement">agreement</string>
|
||||
<string name="come_to">Welcome to PD LIVE.</string>
|
||||
@@ -1126,7 +1126,7 @@ Limited ride And limited avatar frame</string>
|
||||
<string name="unfollow_cancel">unfollow</string>
|
||||
<string name="unfollow"> Where is the host doing badly~\nBrother, are you sure you want to unfollow?</string>
|
||||
<string name="unfollow_confrim">follow</string>
|
||||
<string name="heat_add">Heat Add</string>
|
||||
<string name="heat_add">Heating</string>
|
||||
<string name="live_room_chat_fount_size_low">LOW</string>
|
||||
<string name="live_room_chat_fount_size_def">DEFAULT</string>
|
||||
<string name="live_room_chat_fount_size_high">HIGH</string>
|
||||
@@ -1168,7 +1168,7 @@ Limited ride And limited avatar frame</string>
|
||||
<string name="live_vote_hide_text">VOTE</string>
|
||||
<string name="live_room_vote_over_tip">%s <br /> box disappears after %s seconds</string>
|
||||
<string name="live_anchor_vote_tip">Please complete the form.</string>
|
||||
<string name="complete_information">Fill And gift</string>
|
||||
<string name="complete_information">Fill for Gift</string>
|
||||
<string name="complete_information_consumable">Fill in the \'*\' option to complete</string>
|
||||
<string name="love_powder">True love powder\nPhoto Frame(7 days)</string>
|
||||
<string name="golden_beans_128">128 Golden Beans</string>
|
||||
@@ -1212,7 +1212,7 @@ Limited ride And limited avatar frame</string>
|
||||
<string name="red_packet_info_residue_none">None</string>
|
||||
<string name="red_packet_info_residue_back">Return to account</string>
|
||||
<string name="red_packet_user_tips2">Popularity Red packet</string>
|
||||
<string name="main_tabs_red_packet">Red packets</string>
|
||||
<string name="main_tabs_red_packet">Earn Cash</string>
|
||||
<string name="save_popular_red_packets">Popular red packets</string>
|
||||
<string name="amount">amount</string>
|
||||
<string name="drill">Diamonds</string>
|
||||
@@ -1313,5 +1313,14 @@ Limited ride And limited avatar frame</string>
|
||||
<string name="cancel_ca">cancel</string>
|
||||
<string name="settings_ser">settings</string>
|
||||
<string name="too_many_gifts">Too many gifts</string>
|
||||
<string name="trial_coupon">Whether to use trial coupons</string>
|
||||
<string name="use_diamonds">Use diamonds</string>
|
||||
<string name="list_for_lianmai">Current</string>
|
||||
<string name="user_apply_for_lianmai">Apply for list</string>
|
||||
<string name="live_mic_anchor_to_user_dialog">Anchor:</string>
|
||||
|
||||
<string name="live_send_red_packge_fans_group">Join a fans club</string>
|
||||
<string name="live_pk_link_error">Sorry, your network failed to pull the other party.</string>
|
||||
|
||||
<string name="live_user_dialog_tips">say something</string>
|
||||
</resources>
|
||||
|
||||
@@ -1,30 +1,30 @@
|
||||
ext {
|
||||
android = [
|
||||
compileSdkVersion: 31,
|
||||
compileSdkVersion: 33,
|
||||
buildToolsVersion: "29.0.2",
|
||||
minSdkVersion : 21,
|
||||
targetSdkVersion : 31,
|
||||
versionCode : 444,
|
||||
versionName : "6.5.4"
|
||||
targetSdkVersion : 33,
|
||||
versionCode : 450,
|
||||
versionName : "6.5.5"
|
||||
]
|
||||
manifestPlaceholders = [
|
||||
//正式、
|
||||
serverHost : "https://napi.yaoulive.com",
|
||||
// 测试
|
||||
// serverHost : "https://ceshi.yaoulive.com",
|
||||
// serverHost : "https://napi.yaoulive.com",
|
||||
// 测试
|
||||
serverHost : " https://ceshi.yaoulive.com",
|
||||
|
||||
|
||||
|
||||
//百度语音识别
|
||||
|
||||
baiduAppId : "23774720",
|
||||
baiduAppKey : "zgCgFhUKEOV7I3ZXDFpTfnRB",
|
||||
baiduAppKey : "zgCgFhUKEOV7I3ZXDFpTfnR B",
|
||||
|
||||
baiduAppSecretKey: "nEVSgmuGpU0pjPr6VleEGGAl0hzGW52S",
|
||||
// true表示谷歌支付 false
|
||||
isGooglePlay : false,
|
||||
//是否上报异常日志
|
||||
isUploadLog : true,
|
||||
//是否打包成插件包模式
|
||||
isPluginModel : true,
|
||||
]
|
||||
isPluginModel : true, ]
|
||||
}
|
||||
|
||||
@@ -198,7 +198,7 @@ public class GiftWallActivity extends AbsActivity {
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onGiftWallItemEvent(GiftWallItemEvent event) {
|
||||
new XPopup.Builder(this)
|
||||
.asCustom(new GiftWallItemPopup(this, event.getGiftWallModel(), event.isUnlit(), mLiveUid, mLiveUid, mStream, false))
|
||||
.asCustom(new GiftWallItemPopup(this, event.getGiftWallModel(), event.isUnlit(), mLiveUid, mLiveUid, mStream, false,event.isCsb()))
|
||||
.show();
|
||||
}
|
||||
|
||||
|
||||
@@ -898,7 +898,7 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
String url = CommonAppConfig.HOST + "/index.php?g=Appapi&m=task&a=index&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&tabIndex=1";
|
||||
WebViewActivity.forward(mContext, url);
|
||||
WebViewActivity.forward(mContext, url,true);
|
||||
dialog.dismiss();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -282,7 +282,7 @@ public class LiveAnchorActivity extends LiveActivity implements LiveFunctionClic
|
||||
+ CommonAppConfig.getInstance().getUid() + "&token="
|
||||
+ CommonAppConfig.getInstance().getToken() + "&anchorUid=" + mLiveUid
|
||||
+ "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0");
|
||||
ZhuangBanActivity.forward(mContext, url, false);
|
||||
ZhuangBanActivity.forward(mContext, url, false,0);
|
||||
break;
|
||||
case Constants.LIVE_FUNC_LINK_MIC://连麦
|
||||
openLinkMicAnchorWindow();
|
||||
|
||||
@@ -37,6 +37,7 @@ import com.lxj.xpopup.core.BasePopupView;
|
||||
import com.lxj.xpopup.enums.PopupPosition;
|
||||
import com.lxj.xpopup.interfaces.XPopupCallback;
|
||||
import com.lzf.easyfloat.EasyFloat;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.HtmlConfig;
|
||||
@@ -63,21 +64,26 @@ import com.yunbao.common.event.FollowEvent;
|
||||
import com.yunbao.common.event.GiftWallIlluminateEvent;
|
||||
import com.yunbao.common.event.JavascriptInterfaceEvent;
|
||||
import com.yunbao.common.event.LiveErrorEvent;
|
||||
import com.yunbao.common.event.LiveRoomChangeEvent;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.CommonHttpConsts;
|
||||
import com.yunbao.common.http.CommonHttpUtil;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.HttpClient;
|
||||
import com.yunbao.common.http.LiveHttpConsts;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.http.main.MainNetManager;
|
||||
import com.yunbao.common.interfaces.CommonCallback;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.manager.OpenAdManager;
|
||||
import com.yunbao.common.pay.PayCallback;
|
||||
import com.yunbao.common.pay.PayPresenter;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.GiftCacheUtil;
|
||||
import com.yunbao.common.utils.L;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.common.utils.MicStatusManager;
|
||||
import com.yunbao.common.utils.ProcessResultUtil;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
@@ -90,6 +96,7 @@ import com.yunbao.live.R;
|
||||
import com.yunbao.live.adapter.VerticalPagerAdapter;
|
||||
import com.yunbao.live.bean.ImUserBean;
|
||||
import com.yunbao.live.bean.LiveChatBean;
|
||||
import com.yunbao.live.bean.LiveGuardInfo;
|
||||
import com.yunbao.live.dialog.LiveFansFragment;
|
||||
import com.yunbao.live.dialog.LiveGameDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveGiftPopup;
|
||||
@@ -101,12 +108,9 @@ import com.yunbao.live.dialog.LiveWishListDialogFragment4Audience;
|
||||
import com.yunbao.live.dialog.SignDialogFragment;
|
||||
import com.yunbao.live.event.LinkMicTxAccEvent;
|
||||
import com.yunbao.live.event.LiveAudienceEvent;
|
||||
import com.yunbao.common.event.LiveRoomChangeEvent;
|
||||
import com.yunbao.live.http.ImHttpUtil;
|
||||
import com.yunbao.common.http.LiveHttpConsts;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.live.views.LiveRoomPlayViewHolder;
|
||||
import com.yunbao.live.views.LiveRoomViewHolder;
|
||||
import com.yunbao.live.views.PortraitLiveManager;
|
||||
import com.yunbao.share.ui.SharePopDialog;
|
||||
|
||||
@@ -119,6 +123,10 @@ import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import io.rong.imlib.IRongCoreCallback;
|
||||
import io.rong.imlib.IRongCoreEnum;
|
||||
import io.rong.imlib.chatroom.base.RongChatRoomClient;
|
||||
|
||||
/**
|
||||
* Created by cxf on 2018/10/10.
|
||||
* 看直播
|
||||
@@ -129,7 +137,7 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
private static final String TAG = "LiveAudienceActivity";
|
||||
public static String anyway;
|
||||
public JSONObject pkInfo;
|
||||
public static LiveAudienceActivity liveAudienceActivity;
|
||||
public LiveAudienceActivity liveAudienceActivity;
|
||||
|
||||
// 竖直滑动 ViewPager
|
||||
private VerticalViewPager verticalViewPager;
|
||||
@@ -194,6 +202,7 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
mLiveBean = intent.getParcelableExtra(Constants.LIVE_BEAN);
|
||||
mLiveUid = mLiveBean.getUid();
|
||||
mStream = mLiveBean.getStream();
|
||||
Constants.mStream = mStream;
|
||||
initData();
|
||||
MicStatusManager.getInstance().addOnMicListener(onMicStatusListener);
|
||||
if (!IMLoginManager.get(mContext).IsXiaJBG() && (Build.VERSION.SDK_INT < Build.VERSION_CODES.O)) {
|
||||
@@ -392,9 +401,11 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
mLiveTypeVal = 0;
|
||||
}
|
||||
mLiveType = liveType;
|
||||
String giftId = mLiveBean.getGiftId();
|
||||
String json = GsonUtils.toJson(data);
|
||||
mLiveBean = GsonUtils.fromJson(json, LiveBean.class);
|
||||
mLiveBean.setUserNiceName(data.getUserNicename());
|
||||
mLiveBean.setGiftId(giftId);
|
||||
mLiveUid = mLiveBean.getUid();
|
||||
mStream = mLiveBean.getStream();
|
||||
mAncherName = mLiveBean.getUserNiceName();
|
||||
@@ -502,6 +513,7 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
LiveHttpUtil.cancel(LiveHttpConsts.ROOM_CHARGE);
|
||||
CommonHttpUtil.cancel(CommonHttpConsts.GET_BALANCE);
|
||||
PortraitLiveManager.liveID = "";
|
||||
Constants.mStream = "";
|
||||
super.release();
|
||||
}
|
||||
|
||||
@@ -549,6 +561,8 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
MobclickAgent.onEvent(mContext, "live_room_close", "退出直播间");
|
||||
OpenAdManager.getInstance().dismiss();
|
||||
try {
|
||||
manager.onBackPressed();
|
||||
if (MicStatusManager.getInstance().getMicStatus() == MicStatusManager.MIC_TYPE_REQUEST) {
|
||||
@@ -722,26 +736,33 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onLiveRoomChangeEvent(LiveRoomChangeEvent e) {
|
||||
|
||||
LiveBean liveBean = e.getLiveBean();
|
||||
if (e.isLiveEnd()) {
|
||||
manager.removeLiveEnd();
|
||||
}
|
||||
if (liveBean != null) {
|
||||
LiveHttpUtil.cancel(LiveHttpConsts.CHECK_LIVE);
|
||||
LiveHttpUtil.cancel(LiveHttpConsts.ENTER_ROOM);
|
||||
LiveHttpUtil.cancel(LiveHttpConsts.ROOM_CHARGE);
|
||||
manager.onRemove(false);
|
||||
mLiveType = e.getLiveType();
|
||||
mLiveTypeVal = e.getLiveTypeVal();
|
||||
mLiveBean = liveBean;
|
||||
mLiveUid = liveBean.getUid();
|
||||
mStream = liveBean.getStream();
|
||||
mAncherName = liveBean.getUserNiceName();
|
||||
mAncherIcon = liveBean.getAvatar();
|
||||
manager.onAdd(liveBean, mLiveType, mLiveTypeVal, mLiveSDK);
|
||||
if (TextUtils.equals(mLiveUid, liveBean.getUid())) {
|
||||
ToastUtil.show(R.string.current_live_room);
|
||||
} else {
|
||||
if (e.isLiveEnd()) {
|
||||
manager.removeLiveEnd();
|
||||
}
|
||||
if (LiveRoomViewHolder.mHandler != null) {
|
||||
LiveRoomViewHolder.mHandler.removeCallbacksAndMessages(null);
|
||||
}
|
||||
if (liveBean != null) {
|
||||
LiveHttpUtil.cancel(LiveHttpConsts.CHECK_LIVE);
|
||||
LiveHttpUtil.cancel(LiveHttpConsts.ENTER_ROOM);
|
||||
LiveHttpUtil.cancel(LiveHttpConsts.ROOM_CHARGE);
|
||||
manager.onRemove(false);
|
||||
mLiveType = e.getLiveType();
|
||||
mLiveTypeVal = e.getLiveTypeVal();
|
||||
mLiveBean = liveBean;
|
||||
mLiveUid = liveBean.getUid();
|
||||
mStream = liveBean.getStream();
|
||||
mAncherName = liveBean.getUserNiceName();
|
||||
mAncherIcon = liveBean.getAvatar();
|
||||
manager.onAdd(liveBean, mLiveType, mLiveTypeVal, mLiveSDK);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -753,10 +774,15 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
if (manager != null && !StringUtil.isEmpty(is_fans)) {
|
||||
if (is_fans.equals("-2")) {
|
||||
manager.setAttention(0);
|
||||
mLiveRoomViewHolder.setFansGroup("0");
|
||||
is_fans = "2";
|
||||
}
|
||||
}
|
||||
GiftCacheUtil.getInstance().restart();
|
||||
if (manager.isEnterRoom()) {
|
||||
new Handler(Looper.getMainLooper()).postDelayed(() -> OpenAdManager.getInstance().show(OpenAdManager.TYPE_LIVE,
|
||||
LiveGuardInfo.isGuard(mLiveGuardInfo)), 400);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -886,7 +912,7 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
RouteUtil.forwardEditProfileActivity();
|
||||
} else {
|
||||
if (!screen) {
|
||||
ZhuangBanActivity.forward(mContext, htmlUrl, false);
|
||||
ZhuangBanActivity.forward(mContext, htmlUrl, false, 1);
|
||||
} else {
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putString("url", htmlUrl);
|
||||
@@ -1093,7 +1119,7 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
String weeklyStarUrl = CommonAppConfig.HOST + "/h5/activity/weekStar/index.html?&uid="
|
||||
+ userInfo.getId() +
|
||||
"&token=" + userInfo.getToken() + "&anchorUid=" + mLiveUid;
|
||||
ZhuangBanActivity.forward(mContext, weeklyStarUrl, false);
|
||||
ZhuangBanActivity.forward(mContext, weeklyStarUrl, false, 1);
|
||||
break;
|
||||
case NOBLE:
|
||||
Constants.isTitle = true;
|
||||
@@ -1103,7 +1129,7 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
+ "&anchorUid=" + mLiveBean.getUid()
|
||||
+ "&ancherName=" + mLiveBean.getUserNiceName()
|
||||
+ "&uid=" + userInfo.getId();
|
||||
ZhuangBanActivity.forward(mContext, nobleUrl, false);
|
||||
ZhuangBanActivity.forward(mContext, nobleUrl, false, 1);
|
||||
break;
|
||||
case LIAN_MAI:
|
||||
if (event.getMicIng() == 1) {
|
||||
@@ -1131,7 +1157,7 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
fragment.show(((LiveAudienceActivity) mContext).getSupportFragmentManager(), "LiveUserMoreDialogFragment");
|
||||
LiveMicUserDialogFragment.activity = ((LiveAudienceActivity) mContext);
|
||||
} else {
|
||||
ToastUtil.show(R.string.no_mic_opn);
|
||||
ToastUtil.show(mContext.getString(R.string.no_mic_opn));
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -1468,11 +1494,12 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onLiveErrorEvent(LiveErrorEvent event){
|
||||
public void onLiveErrorEvent(LiveErrorEvent event) {
|
||||
//主播未直播时自动下滑至下一个直播间
|
||||
mCurrentPage = mCurrentPage + 1;
|
||||
liveHandler.post(liveRunnable);
|
||||
}
|
||||
|
||||
/**
|
||||
* 跳转到消息中心的系统信息web
|
||||
*
|
||||
@@ -1500,7 +1527,7 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
FirebaseAnalytics.getInstance(mContext).logEvent("FS_customer_service", null);
|
||||
AppEventsLogger.newLogger(mContext).logEvent("FB_customer_service");
|
||||
if (bean.getLink() != null && !"".equals(bean.getLink())) {
|
||||
WebViewActivity.forward(mContext, bean.getLink());
|
||||
WebViewActivity.forward(mContext, bean.getLink(), true);
|
||||
} else {
|
||||
startActivity(new Intent(mContext, SystemMessageActivity.class)
|
||||
.putExtra("type", bean.getType())
|
||||
|
||||
@@ -488,7 +488,7 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
break;
|
||||
case Constants.LIVE_FUNC_WKS:
|
||||
String url = CommonAppConfig.HOST + "/h5/activity/weekStar/index.html?&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&anchorUid=" + mLiveUid;
|
||||
ZhuangBanActivity.forward(mContext, url, false);
|
||||
ZhuangBanActivity.forward(mContext, url, false,0);
|
||||
break;
|
||||
case Constants.LIVE_FUNC_LINK_MIC://连麦
|
||||
if (isDRPK != 1) {
|
||||
@@ -1539,7 +1539,7 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
String weeklyStarUrl = CommonAppConfig.HOST + "/h5/activity/weekStar/index.html?&uid="
|
||||
+ userInfo.getId() +
|
||||
"&token=" + userInfo.getToken() + "&anchorUid=" + mLiveUid;
|
||||
ZhuangBanActivity.forward(mContext, weeklyStarUrl, false);
|
||||
ZhuangBanActivity.forward(mContext, weeklyStarUrl, false,0);
|
||||
break;
|
||||
case WISH_LIST:
|
||||
LiveWishListDialogFragment4Audience fragment4Audience = new LiveWishListDialogFragment4Audience();
|
||||
|
||||
@@ -29,6 +29,7 @@ import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.L;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.common.bean.LiveRoomTypeBean;
|
||||
import com.yunbao.live.dialog.LiveBeautyDialogFragment;
|
||||
@@ -208,7 +209,7 @@ public class LiveTRTCAnchorActivity extends TRTCBaseActivity {
|
||||
*/
|
||||
private void createRoom() {
|
||||
if (mLiveClassID == 0) {
|
||||
ToastUtil.show(R.string.live_choose_live_class);
|
||||
ToastUtil.show(WordUtil.getNewString(R.string.live_choose_live_class));
|
||||
return;
|
||||
}
|
||||
String title = mEditTitle.getText().toString().trim();
|
||||
|
||||
@@ -172,7 +172,7 @@ public class MyTUIConversationFragment extends Fragment {
|
||||
systemMessageActivity.forward(getContext(), bean.getType(), "", bean.getTitle(), "");
|
||||
} else if ("3".equals(bean.getType())) {
|
||||
if (bean.getLink() != null && !"".equals(bean.getLink())) {
|
||||
WebViewActivity.forward(getActivity(), bean.getLink());
|
||||
WebViewActivity.forward(getActivity(), bean.getLink(),false);
|
||||
} else {
|
||||
systemMessageActivity.forward(getContext(), bean.getType(), "", bean.getTitle(), "");
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import android.Manifest;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Build;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
@@ -164,15 +165,22 @@ public class PDLiveConversationActivity extends AbsActivity implements View.OnCl
|
||||
|
||||
//intoIndex 1=调用相机,2=照片选取,3=视频选取
|
||||
public void jumpPic(int intoIndex) {
|
||||
String permission1=Manifest.permission.READ_EXTERNAL_STORAGE;
|
||||
String permission2= Manifest.permission.WRITE_EXTERNAL_STORAGE;
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
permission1=Manifest.permission.READ_MEDIA_IMAGES;
|
||||
permission2=Manifest.permission.READ_MEDIA_VIDEO;
|
||||
}
|
||||
|
||||
//选择图片
|
||||
int isPermission1 = ContextCompat.checkSelfPermission(mContext, Manifest.permission.READ_EXTERNAL_STORAGE);
|
||||
int isPermission2 = ContextCompat.checkSelfPermission(mContext, Manifest.permission.WRITE_EXTERNAL_STORAGE);
|
||||
int isPermission1 = ContextCompat.checkSelfPermission(mContext, permission1);
|
||||
int isPermission2 = ContextCompat.checkSelfPermission(mContext, permission2);
|
||||
if (isPermission1 == PackageManager.PERMISSION_GRANTED && isPermission2 == PackageManager.PERMISSION_GRANTED) {
|
||||
startActivity(intoIndex);
|
||||
} else {
|
||||
//申请权限
|
||||
ActivityCompat.requestPermissions(mContext, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,
|
||||
Manifest.permission.WRITE_EXTERNAL_STORAGE}, PERMISSION_REQUEST_CODE);
|
||||
ActivityCompat.requestPermissions(mContext, new String[]{permission1,
|
||||
permission2}, PERMISSION_REQUEST_CODE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -32,16 +32,17 @@ import com.yunbao.common.activity.AbsActivity;
|
||||
import com.yunbao.common.bean.LiveBean;
|
||||
import com.yunbao.common.event.JavascriptInterfaceEvent;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.JavascriptInterfaceUtils;
|
||||
import com.yunbao.common.utils.L;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.common.utils.MicStatusManager;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.live.dialog.LiveUserDialogFragment;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
@@ -172,7 +173,15 @@ public class WebViewActivityMedal extends AbsActivity {
|
||||
new LiveRoomCheckLivePresenter(mContext, liveBean.getUid(), liveBean.getStream(), new LiveRoomCheckLivePresenter.NewActionListener() {
|
||||
@Override
|
||||
public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk) {
|
||||
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveSdk), Integer.parseInt(liveTypeVal));
|
||||
if (liveBean == null) {
|
||||
return;
|
||||
}
|
||||
if (MicStatusManager.getInstance().isMic(liveUid)) {
|
||||
MicStatusManager.getInstance().showDownMicDialog(mContext);
|
||||
return;
|
||||
}
|
||||
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveTypeVal), Integer.parseInt(liveSdk));
|
||||
finish();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -293,7 +302,7 @@ public class WebViewActivityMedal extends AbsActivity {
|
||||
url += "&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken();
|
||||
}
|
||||
Intent intent = new Intent(context, WebViewActivityMedal.class);
|
||||
intent.putExtra(Constants.URL, url+ "&isZh=" + ((IMLoginManager.get(CommonAppContext.sInstance.getBaseContext()).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
|
||||
intent.putExtra(Constants.URL, url + "&isZh=" + ((IMLoginManager.get(CommonAppContext.sInstance.getBaseContext()).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
|
||||
context.startActivity(intent);
|
||||
}
|
||||
|
||||
|
||||
@@ -39,19 +39,19 @@ import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.activity.AbsActivity;
|
||||
import com.yunbao.common.bean.LiveBean;
|
||||
import com.yunbao.common.event.JavascriptInterfaceEvent;
|
||||
import com.yunbao.common.event.LiveRoomChangeEvent;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.JavascriptInterfaceUtils;
|
||||
import com.yunbao.common.utils.L;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.common.utils.MicStatusManager;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.common.utils.SVGAViewUtils;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.common.event.LiveRoomChangeEvent;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.share.ui.InvitePopDialog;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
@@ -76,6 +76,7 @@ public class ZhuangBanActivity extends AbsActivity {
|
||||
private FrameLayout title;
|
||||
private TextView titleView, htmlError;
|
||||
private RelativeLayout rootView;
|
||||
private boolean mIsLive = false;
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
@@ -87,6 +88,7 @@ public class ZhuangBanActivity extends AbsActivity {
|
||||
Bus.getOn(this);
|
||||
String url = getIntent().getStringExtra(Constants.URL);
|
||||
String titleString = getIntent().getStringExtra("title");
|
||||
mIsLive = getIntent().getIntExtra("isLive", 0) == 1;
|
||||
L.e("H5---2s>" + url);
|
||||
LinearLayout rootView = (LinearLayout) findViewById(R.id.rootView);
|
||||
mProgressBar = (ProgressBar) findViewById(R.id.progressbar);
|
||||
@@ -275,11 +277,7 @@ public class ZhuangBanActivity extends AbsActivity {
|
||||
if (isNeedExitActivity()) {
|
||||
finish();
|
||||
} else {
|
||||
// if (canGoBack()) {
|
||||
// mWebView.goBack();
|
||||
// } else {
|
||||
finish();
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -296,7 +294,8 @@ public class ZhuangBanActivity extends AbsActivity {
|
||||
return false;
|
||||
}
|
||||
|
||||
public static void forward(Context context, String url, boolean addArgs) {
|
||||
|
||||
public static void forward(Context context, String url, boolean addArgs, int isLive) {
|
||||
if (addArgs) {
|
||||
url += "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken();
|
||||
}
|
||||
@@ -306,11 +305,12 @@ public class ZhuangBanActivity extends AbsActivity {
|
||||
if (url.contains("Noble/index.html") || url.contains("RongYuQiang")) {
|
||||
intent.putExtra("title", "");
|
||||
}
|
||||
intent.putExtra("isLive", isLive);
|
||||
context.startActivity(intent);
|
||||
}
|
||||
|
||||
public static void forward(Context context, String url) {
|
||||
forward(context, url, true);
|
||||
public static void forward(Context context, String url, int isLive) {
|
||||
forward(context, url, true, isLive);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -406,7 +406,17 @@ public class ZhuangBanActivity extends AbsActivity {
|
||||
MicStatusManager.getInstance().showDownMicDialog(mContext);
|
||||
return;
|
||||
}
|
||||
EventBus.getDefault().post(new LiveRoomChangeEvent(liveBean, liveType, Integer.parseInt(liveTypeVal)).setLiveEnd(true));
|
||||
|
||||
if (mIsLive) {
|
||||
if (MicStatusManager.getInstance().isMic(liveUid)) {
|
||||
MicStatusManager.getInstance().showDownMicDialog(mContext);
|
||||
return;
|
||||
}
|
||||
EventBus.getDefault().post(new LiveRoomChangeEvent(liveBean, liveType, Integer.parseInt(liveTypeVal)));
|
||||
finish();
|
||||
} else {
|
||||
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveTypeVal), Integer.parseInt(liveSdk));
|
||||
}
|
||||
finish();
|
||||
}
|
||||
|
||||
|
||||
@@ -66,4 +66,14 @@ public class FrameGiftAdapter extends RecyclerView.Adapter {
|
||||
public int getItemCount() {
|
||||
return giftJson.size();
|
||||
}
|
||||
|
||||
public void refreshWrapListAfterSend(LiveGiftBean model) {
|
||||
for (int i = 0; i < giftJson.size(); i++) {
|
||||
if (giftJson.get(i).getId() == model.getId()) {
|
||||
int giftNum = giftJson.get(i).getBlindBoxTicket();
|
||||
giftJson.get(i).setBlindBoxTicket(giftNum - 1);
|
||||
}
|
||||
}
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ import com.yunbao.common.glide.ImgLoader;
|
||||
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.live.R;
|
||||
import com.yunbao.live.activity.LiveRyAnchorActivity;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
@@ -81,10 +82,17 @@ public class FreePkRecyclerAdapter extends RefreshAdapter<RandomPkUserBean> {
|
||||
|
||||
public HeadViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
|
||||
}
|
||||
|
||||
public void setData(RandomPkUserBean bean, int position) {
|
||||
|
||||
if (!WordUtil.isNewZh() && itemView.findViewById(R.id.text1)!=null) {
|
||||
((TextView) itemView.findViewById(R.id.text1)).setText("number");
|
||||
((TextView) itemView.findViewById(R.id.text2)).setText("user");
|
||||
((TextView) itemView.findViewById(R.id.text3)).setText("status");
|
||||
((TextView) itemView.findViewById(R.id.text4)).setText("Controls");
|
||||
((TextView) itemView.findViewById(R.id.text5)).setText("follow");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -115,7 +123,7 @@ public class FreePkRecyclerAdapter extends RefreshAdapter<RandomPkUserBean> {
|
||||
}
|
||||
if (freePkNum == 0 && mDrPkNum == -1) {
|
||||
ToastUtil.show(R.string.free_pk_num_null);
|
||||
// return;
|
||||
// return;
|
||||
}
|
||||
|
||||
LiveHttpUtil.getMicList(LiveRyAnchorActivity.mLiveUid, 0, new com.yunbao.common.http.HttpCallback() {
|
||||
@@ -125,7 +133,11 @@ public class FreePkRecyclerAdapter extends RefreshAdapter<RandomPkUserBean> {
|
||||
//非0认为未开通连麦权限
|
||||
if (code != 0) {
|
||||
if (mDrPkNum == -1) {
|
||||
ToastUtil.show("邀请 " + bean.getUserNiceName() + " 发送成功");
|
||||
if (WordUtil.isNewZh()) {
|
||||
ToastUtil.show("邀请 " + bean.getUserNiceName() + " 发送成功");
|
||||
} else {
|
||||
ToastUtil.show("invite " + bean.getUserNiceName() + " successful");
|
||||
}
|
||||
mOnItemClickListener.onItemClick(bean, -1);
|
||||
((LiveRyAnchorActivity) mContext).linkMicAnchorApply(bean.getId(), bean.getId(),
|
||||
((LiveRyAnchorActivity) mContext).buildLinkMicJSON().toString()
|
||||
@@ -133,13 +145,21 @@ public class FreePkRecyclerAdapter extends RefreshAdapter<RandomPkUserBean> {
|
||||
return;
|
||||
}
|
||||
if (mDrPkNum <= 0) {
|
||||
ToastUtil.show("多人次數已用完");
|
||||
if (WordUtil.isNewZh()) {
|
||||
ToastUtil.show("多人次數已用完");
|
||||
} else {
|
||||
ToastUtil.show("Multiple times have been used up");
|
||||
}
|
||||
return;
|
||||
}
|
||||
((LiveRyAnchorActivity) mContext).linkDrMicAnchorApply(bean.getId(), bean.getId());
|
||||
|
||||
} else {
|
||||
ToastUtil.show("請先關閉語言連麥");
|
||||
if (WordUtil.isNewZh()) {
|
||||
ToastUtil.show("請先關閉語音連麥");
|
||||
} else {
|
||||
ToastUtil.show("Please disable the voice connection first");
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -192,9 +212,15 @@ public class FreePkRecyclerAdapter extends RefreshAdapter<RandomPkUserBean> {
|
||||
if (bean.isPk()) {
|
||||
mStatus.setText("PK中");
|
||||
ImgLoader.display(mContext, R.mipmap.ic_random_pk_pk, mPkStatus);
|
||||
if (!WordUtil.isNewZh()) {
|
||||
mStatus.setText("PK");
|
||||
}
|
||||
} else {
|
||||
mStatus.setText("空闲");
|
||||
ImgLoader.display(mContext, R.mipmap.ic_random_pk_pk_unselect, mPkStatus);
|
||||
if (!WordUtil.isNewZh()) {
|
||||
mStatus.setText("free");
|
||||
}
|
||||
}
|
||||
if (bean.isAttention()) {
|
||||
ImgLoader.display(mContext, R.mipmap.ic_random_pk_like, mFollow);
|
||||
|
||||
@@ -39,7 +39,7 @@ public class GiftTitleAdapter extends RecyclerView.Adapter {
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
});
|
||||
itemViewHolder.selectData(index == position);
|
||||
itemViewHolder.selectData(index == position,name.get(position).getName());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -57,4 +57,9 @@ public class GiftTitleAdapter extends RecyclerView.Adapter {
|
||||
index = -1;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
public void setTitleIndex(int i) {
|
||||
index=i;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -137,6 +137,9 @@ public class GuardAdapter extends RefreshAdapter<GuardUserBean> {
|
||||
mSex = (ImageView) itemView.findViewById(R.id.sex);
|
||||
mLevel = (ImageView) itemView.findViewById(R.id.level);
|
||||
mVotes = (TextView) itemView.findViewById(R.id.votes);
|
||||
if(!WordUtil.isNewZh()) {
|
||||
((TextView) itemView.findViewById(R.id.votesTitle)).setText("Contribution");
|
||||
}
|
||||
}
|
||||
|
||||
void setData(GuardUserBean bean) {
|
||||
|
||||
@@ -6,6 +6,7 @@ import static com.yunbao.live.bean.LiveChatBean.LUCKY_ANGEL;
|
||||
import static com.yunbao.live.bean.LiveChatBean.RECOMMEND_CARD_NOTIFY;
|
||||
import static com.yunbao.live.bean.LiveChatBean.STAR_CHALLENGE_UPGRADE_NOTIFY;
|
||||
import static com.yunbao.live.bean.LiveChatBean.SYSTEM3_COLOR;
|
||||
import static com.yunbao.live.bean.LiveChatBean.TYPE_TO_USER_MSG;
|
||||
import static com.yunbao.live.bean.LiveChatBean.WISH_LIST_PROGRESS;
|
||||
import static com.yunbao.live.bean.LiveChatBean.XYD_COMPLETE;
|
||||
|
||||
@@ -39,6 +40,7 @@ import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.makeramen.roundedimageview.RoundedImageView;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.bean.IMLoginModel;
|
||||
@@ -158,6 +160,7 @@ public class LiveChatAdapter extends RecyclerView.Adapter {
|
||||
Log.i(TAG, "onScrolled: " + dy);
|
||||
mRecyclerViewScrolledDy = dy;
|
||||
isBottom = false;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -242,7 +245,7 @@ public class LiveChatAdapter extends RecyclerView.Adapter {
|
||||
itemView.setOnLongClickListener(new View.OnLongClickListener() {
|
||||
@Override
|
||||
public boolean onLongClick(View v) {
|
||||
if (!TextUtils.isEmpty(bean.getId())&&!TextUtils.isEmpty(bean.getUserNiceName())){
|
||||
if (!TextUtils.isEmpty(bean.getId()) && !TextUtils.isEmpty(bean.getUserNiceName())) {
|
||||
Bus.get().post(new LiveAudienceEvent()
|
||||
.setType(LiveAudienceEvent.LiveAudienceType.INPUT_DIALOG)
|
||||
.setOlineUserlistModel(new OlineUserlistModel().setId(bean.getId()).setUserNicename(bean.getUserNiceName())));
|
||||
@@ -391,10 +394,13 @@ public class LiveChatAdapter extends RecyclerView.Adapter {
|
||||
new LoadDian9TuUtil().loadDian9TuAssets(mContext, mBg, 1);
|
||||
mTextView.setText(bean.getContent());
|
||||
}
|
||||
} else if (bean.getType() == LiveChatBean.SYSTEM2) {
|
||||
} else if (bean.getType() == LiveChatBean.SYSTEM2 ) {
|
||||
mTextView.setTextColor(Color.parseColor("#ffffff"));
|
||||
new LoadDian9TuUtil().loadDian9TuAssets(mContext, mBg, 1);
|
||||
mTextView.setText(bean.getContent());
|
||||
}else if(bean.getType()==TYPE_TO_USER_MSG){
|
||||
mTextView.setText(Html.fromHtml("<font color='#FBEABF'>@" + bean.getUserNiceName() + "</font> " + bean.getContent()));
|
||||
new LoadDian9TuUtil().loadDian9TuAssets(mContext, mBg, 1);
|
||||
}
|
||||
// else if (bean.getType() == -1) {//自动消息,关注
|
||||
// boolean isContains = false;
|
||||
@@ -530,6 +536,10 @@ public class LiveChatAdapter extends RecyclerView.Adapter {
|
||||
if (bean == null) {
|
||||
return;
|
||||
}
|
||||
if(bean.getType()==LiveChatBean.TYPE_TO_USER_MSG
|
||||
&&!CommonAppConfig.getInstance().getUid().equals(bean.getAtUserID())){
|
||||
return;
|
||||
}
|
||||
// Log.i(TAG, "insertItem: " + bean.getContent()+" size = "+(mList.size()+1));
|
||||
int size = mList.size();
|
||||
//设置最大展示99条消息
|
||||
@@ -551,7 +561,9 @@ public class LiveChatAdapter extends RecyclerView.Adapter {
|
||||
Bus.get().post(new LiveAudienceEvent()
|
||||
.setType(LiveAudienceEvent.LiveAudienceType.NEW_MESSAGE_REMINDER));
|
||||
|
||||
if (bean.getAtUserID() != null && bean.getAtUserID().contains(String.valueOf(model.getId()))) {
|
||||
if (bean.getType() != LiveChatBean.TYPE_TO_USER_MSG &&
|
||||
bean.getAtUserID() != null
|
||||
&& bean.getAtUserID().contains(String.valueOf(model.getId()))) {
|
||||
Bus.get().post(new LiveAudienceEvent()
|
||||
.setType(LiveAudienceEvent.LiveAudienceType.AT_MESSAGE));
|
||||
mPosition = size;
|
||||
|
||||
@@ -98,7 +98,7 @@ public class SystemChatMessageAdapter extends RecyclerView.Adapter {
|
||||
forward(mContext, model1.getType(), "", model1.getTitle(), "");
|
||||
} else if ("3".equals(model1.getType())) {
|
||||
if (model1.getLink() != null && !"".equals(model1.getLink())) {
|
||||
WebViewActivity.forward(mContext, model1.getLink());
|
||||
WebViewActivity.forward(mContext, model1.getLink(),false);
|
||||
} else {
|
||||
forward(mContext, model1.getType(), "", model1.getTitle(), "");
|
||||
}
|
||||
|
||||
@@ -34,15 +34,20 @@ public class CoinModel extends BaseModel {
|
||||
|
||||
public String getCoin() {
|
||||
long coinMoney = Long.parseLong(coin);
|
||||
String coinStr = coin;
|
||||
if (999999999 < coinMoney && coinMoney <= 999999999999L) {
|
||||
coin = coin.substring(0, coin.length() - 3);
|
||||
coin = coin + "k";
|
||||
coinStr = coinStr.substring(0, coinStr.length() - 3);
|
||||
coinStr = coinStr + "k";
|
||||
}
|
||||
if (999999999999L < coinMoney && coinMoney <= 999999999999999L) {
|
||||
coin = coin.substring(0, coin.length() - 6);
|
||||
coin = coin + "M";
|
||||
coinStr = coinStr.substring(0, coinStr.length() - 6);
|
||||
coinStr = coinStr + "M";
|
||||
}
|
||||
return coin;
|
||||
return coinStr;
|
||||
}
|
||||
|
||||
public Long getCoinLong() {
|
||||
return Long.parseLong(coin);
|
||||
}
|
||||
|
||||
public CoinModel setCoin(String coin) {
|
||||
|
||||
@@ -27,6 +27,7 @@ public class LiveChatBean {
|
||||
public static final int XYD_COMPLETE = 207;//心愿单完成通知
|
||||
public static final int WISH_LIST_PROGRESS = 307;//心愿单进度通知
|
||||
public static final int BLIND_BOX = 409;//盲盒礼物消息
|
||||
public static final int TYPE_TO_USER_MSG=500;//指定信息
|
||||
|
||||
|
||||
private String id;
|
||||
@@ -53,6 +54,7 @@ public class LiveChatBean {
|
||||
private String hot_card;
|
||||
private MsgModel msgModel = new MsgModel();//自定义消息体
|
||||
private String giftName;
|
||||
private String toUid;
|
||||
|
||||
public String getGiftName() {
|
||||
return giftName;
|
||||
@@ -63,6 +65,14 @@ public class LiveChatBean {
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getToUid() {
|
||||
return toUid;
|
||||
}
|
||||
|
||||
public void setToUid(String toUid) {
|
||||
this.toUid = toUid;
|
||||
}
|
||||
|
||||
private AiAutomaticSpeechModel aiAutomaticSpeechModel = new AiAutomaticSpeechModel();//机器人消息体
|
||||
|
||||
public AiAutomaticSpeechModel getAiAutomaticSpeechModel() {
|
||||
|
||||
@@ -3,6 +3,8 @@ package com.yunbao.live.bean;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
import com.yunbao.common.Constants;
|
||||
|
||||
/**
|
||||
* Created by cxf on 2018/11/14.
|
||||
*/
|
||||
@@ -72,5 +74,8 @@ public class LiveGuardInfo implements Parcelable {
|
||||
}
|
||||
};
|
||||
|
||||
public static boolean isGuard(LiveGuardInfo info){
|
||||
return info != null && info.getMyGuardType() != Constants.GUARD_TYPE_NONE;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ import android.widget.ImageView;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.dialog.AbsDialogFragment;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
@@ -135,6 +136,7 @@ public class BlowkissDialog extends AbsDialogFragment {
|
||||
btn_confirm.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
MobclickAgent.onEvent(mContext, "live_room_follow_sendgif", "弹的关注并送礼的按钮");
|
||||
follow();
|
||||
LiveHttpUtil.sendGift("0", mLiveUid, LiveActivity.mStream, gif_id, "1", new HttpCallback() {
|
||||
@Override
|
||||
|
||||
@@ -27,6 +27,7 @@ import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.utils.WordsTypeUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.adapter.FreePkRecyclerAdapter;
|
||||
@@ -128,8 +129,15 @@ public class FreePkDialogFragment extends AbsDialogFragment implements View.OnCl
|
||||
|
||||
}
|
||||
});
|
||||
if(!WordUtil.isNewZh()){
|
||||
mPkNumText.setText("Free PK remaining number");
|
||||
((TextView)findViewById(R.id.tmp_text2)).setText("Updated daily at 6am");
|
||||
}
|
||||
if (mDrPkNum != -1) {
|
||||
mPkNumText.setText("多人PK剩余次數");
|
||||
if(!WordUtil.isNewZh()){
|
||||
mPkNumText.setText("multi-user PK remaining number");
|
||||
}
|
||||
}
|
||||
initRecycler();
|
||||
}
|
||||
@@ -183,6 +191,10 @@ public class FreePkDialogFragment extends AbsDialogFragment implements View.OnCl
|
||||
searchTag.setText("主播搜索");
|
||||
listTag.setTag(TAB_STATUS_FOLLOW);
|
||||
listTag.setText("關注列表");
|
||||
if (!WordUtil.isNewZh()) {
|
||||
searchTag.setText("search");
|
||||
listTag.setText("follow list");
|
||||
}
|
||||
tabLayout.addTab(searchTag);
|
||||
tabLayout.addTab(listTag);
|
||||
tabStatus = TAB_STATUS_SEARCH;
|
||||
|
||||
@@ -232,7 +232,8 @@ public class GiftWallDialog extends AbsDialogFragment {
|
||||
mLiveUid,
|
||||
toUid,
|
||||
mStream,
|
||||
sbWy))
|
||||
sbWy,
|
||||
event.isCsb()))
|
||||
.show();
|
||||
}
|
||||
|
||||
|
||||
@@ -31,10 +31,10 @@ public class GiftWallItemPopup extends CenterPopupView {
|
||||
private GiftWallModel giftWallModel;
|
||||
private boolean unlit;
|
||||
private String mLiveUid, mStream, toUid;
|
||||
private boolean isAnchor = false, sbWy;
|
||||
private boolean isAnchor = false, sbWy, csb;
|
||||
|
||||
public GiftWallItemPopup(@NonNull Context context, GiftWallModel giftWallModel,
|
||||
boolean unlit, String mLiveUid, String toUid, String mStream, boolean sbWy) {
|
||||
boolean unlit, String mLiveUid, String toUid, String mStream, boolean sbWy, boolean csb) {
|
||||
super(context);
|
||||
this.giftWallModel = giftWallModel;
|
||||
this.unlit = unlit;
|
||||
@@ -42,6 +42,7 @@ public class GiftWallItemPopup extends CenterPopupView {
|
||||
this.toUid = toUid;
|
||||
this.mStream = mStream;
|
||||
this.sbWy = sbWy;
|
||||
this.csb = csb;
|
||||
if (this.mLiveUid.equals(CommonAppConfig.getInstance().getUid())) {
|
||||
isAnchor = true;
|
||||
}
|
||||
@@ -100,10 +101,10 @@ public class GiftWallItemPopup extends CenterPopupView {
|
||||
|
||||
public void loadData() {
|
||||
LiveNetManager.get(getContext()).
|
||||
giftDetail(mLiveUid, String.valueOf(giftWallModel.getId()), new HttpCallback<GiftWallGiftDetail>() {
|
||||
giftDetail(mLiveUid, String.valueOf(giftWallModel.getId()), toUid, new HttpCallback<GiftWallGiftDetail>() {
|
||||
@Override
|
||||
public void onSuccess(GiftWallGiftDetail data) {
|
||||
if (data.getUid() == 0) {
|
||||
if (data.getUid() == 0 || !csb) {
|
||||
ImgLoader.display(getContext(), R.mipmap.icon_vacant_position_awaits, avatar);
|
||||
vacantPositionAwaits.setText(getContext().getText(R.string.vacant_position_awaits));
|
||||
vacantPosition.setText("?");
|
||||
@@ -112,17 +113,36 @@ public class GiftWallItemPopup extends CenterPopupView {
|
||||
vacantPositionAwaits.setText(data.getUserNicename());
|
||||
vacantPosition.setText(giftWallModel.getGiftname());
|
||||
}
|
||||
if (TextUtils.isEmpty(data.getNamingCoin()) || TextUtils.equals(data.getNamingCoin(), "0")) {
|
||||
distanceNaming.setVisibility(GONE);
|
||||
if (csb) {
|
||||
if (TextUtils.isEmpty(data.getNamingCoin()) || TextUtils.equals(data.getNamingCoin(), "0")) {
|
||||
distanceNaming.setVisibility(GONE);
|
||||
} else {
|
||||
distanceNaming.setVisibility(VISIBLE);
|
||||
|
||||
distanceNaming.setText(String.format(getContext().getString(R.string.distance_naming), String.valueOf(data.getNamingCoin())));
|
||||
|
||||
|
||||
}
|
||||
} else {
|
||||
distanceNaming.setVisibility(VISIBLE);
|
||||
distanceNaming.setText(String.format(getContext().getString(R.string.distance_naming), String.valueOf(data.getNamingCoin())));
|
||||
if (TextUtils.isEmpty(data.getDefault_naming_coin()) || TextUtils.equals(data.getDefault_naming_coin(), "0")) {
|
||||
distanceNaming.setVisibility(GONE);
|
||||
} else {
|
||||
distanceNaming.setVisibility(VISIBLE);
|
||||
|
||||
distanceNaming.setText(String.format(getContext().getString(R.string.distance_naming), String.valueOf(data.getDefault_naming_coin())));
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
ToastUtil.show(error);
|
||||
ImgLoader.display(getContext(), R.mipmap.icon_vacant_position_awaits, avatar);
|
||||
vacantPositionAwaits.setText(getContext().getText(R.string.vacant_position_awaits));
|
||||
vacantPosition.setText("?");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ public class HighNobilityDialog extends AbsDialogFragment {
|
||||
String url = CommonAppConfig.HOST + "/h5/Noble/index.html?nickname="
|
||||
+ u.getUserNiceName() + "&usernobId=" + u.getNoble_id() + "&uid="
|
||||
+ CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken();
|
||||
ZhuangBanActivity.forward(mContext, url, false);
|
||||
ZhuangBanActivity.forward(mContext, url, false,0);
|
||||
});
|
||||
|
||||
|
||||
|
||||
@@ -186,7 +186,7 @@ public class LiveChatListDialogFragment extends AbsDialogFragment {
|
||||
systemMessageActivity.forward(getContext(), bean.getType(), "", bean.getTitle(), "");
|
||||
} else if ("3".equals(bean.getType())) {
|
||||
if (bean.getLink() != null && !"".equals(bean.getLink())) {
|
||||
WebViewActivity.forward(getActivity(), bean.getLink());
|
||||
WebViewActivity.forward(getActivity(), bean.getLink(),false);
|
||||
} else {
|
||||
systemMessageActivity.forward(getContext(), bean.getType(), "", bean.getTitle(), "");
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.bean.LiveGiftBean;
|
||||
import com.yunbao.common.dialog.AbsDialogPopupWindow;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
@@ -148,6 +149,7 @@ public class LiveContactDetailsSendGiftDialog extends AbsDialogPopupWindow {
|
||||
}
|
||||
|
||||
private void send() {
|
||||
MobclickAgent.onEvent(mContext, "contact_obtain", "点获取联系方式");
|
||||
LiveHttpUtil.sendGift("0", mLiveUid, mStream, bean.getId(), "1", 1, new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
@@ -164,6 +166,7 @@ public class LiveContactDetailsSendGiftDialog extends AbsDialogPopupWindow {
|
||||
}
|
||||
}).build().show();
|
||||
} else {
|
||||
MobclickAgent.onEvent(mContext, "contact_obtain_send_gif", "送出联系方式礼物");
|
||||
dismiss();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -132,6 +132,7 @@ public class LiveFansFragment extends AbsDialogFragment {
|
||||
int num = LiveAudienceActivity.fansNum - 1;
|
||||
LiveRoomViewHolder.setFansNum(num);
|
||||
ToastUtil.show("退出成功");
|
||||
EventBus.getDefault().post("exitFansGroup");
|
||||
dismiss();
|
||||
} else if (TextUtils.equals(event.getMethod(), "sendFansCard")) {
|
||||
if (LiveRoomViewHolder.mBtnFollow != null && LiveRoomViewHolder.mBtnFollow.getVisibility() == View.VISIBLE) {
|
||||
|
||||
@@ -23,6 +23,7 @@ import androidx.annotation.Nullable;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.google.android.material.tabs.TabLayout;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.bean.ActiveModel;
|
||||
@@ -31,11 +32,13 @@ import com.yunbao.common.bean.LiveBean;
|
||||
import com.yunbao.common.dialog.AbsDialogFragment;
|
||||
import com.yunbao.common.event.JavascriptInterfaceEvent;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.JavascriptInterfaceUtils;
|
||||
import com.yunbao.common.utils.L;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
@@ -43,13 +46,13 @@ import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveActivity;
|
||||
import com.yunbao.live.activity.LiveAudienceActivity;
|
||||
import com.yunbao.live.activity.LiveRyAnchorActivity;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 趣味游戏对话框
|
||||
@@ -160,9 +163,9 @@ public class LiveGameDialogFragment extends AbsDialogFragment {
|
||||
mWebView.getSettings().setJavaScriptEnabled(true);
|
||||
mWebView.getSettings().setDomStorageEnabled(true);
|
||||
String appCachePath = mContext.getCacheDir().getAbsolutePath();
|
||||
mWebView.getSettings().setAppCachePath(appCachePath);
|
||||
// mWebView.getSettings().setAppCachePath(appCachePath);
|
||||
mWebView.getSettings().setAllowFileAccess(true);
|
||||
mWebView.getSettings().setAppCacheEnabled(true);
|
||||
// mWebView.getSettings().setAppCacheEnabled(true);
|
||||
|
||||
mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); // 是否允许JS打开新窗口
|
||||
mWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
|
||||
@@ -202,7 +205,7 @@ public class LiveGameDialogFragment extends AbsDialogFragment {
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
Log.i("debug", "onError: " + error);
|
||||
ToastUtil.show( R.string.net_error);
|
||||
ToastUtil.show(R.string.net_error);
|
||||
dismiss();
|
||||
}
|
||||
});
|
||||
@@ -252,6 +255,25 @@ public class LiveGameDialogFragment extends AbsDialogFragment {
|
||||
if (tab != null) {
|
||||
tab.select();
|
||||
ActiveModel model = (ActiveModel) tab.getTag();
|
||||
Map<String, String> map_ekv = new HashMap<String, String>();
|
||||
map_ekv.put("link", model.getActiveSrc());
|
||||
MobclickAgent.onEvent(mContext, "live_room_slide", map_ekv);
|
||||
switch (model.getActiveName()) {
|
||||
case "闖關熱戀":
|
||||
MobclickAgent.onEvent(mContext, "through_index", "进入闯关页面");
|
||||
break;
|
||||
case "怪物大作戰":
|
||||
MobclickAgent.onEvent(mContext, "plant_index", "进入怪物页面");
|
||||
break;
|
||||
case "甜蜜約會":
|
||||
MobclickAgent.onEvent(mContext, "sweet_index", "进入甜蜜页面");
|
||||
break;
|
||||
case "娛樂整蠱":
|
||||
MobclickAgent.onEvent(mContext, "tricky_index", "进入娱乐整蛊页面");
|
||||
break;
|
||||
case "幸运天使":
|
||||
MobclickAgent.onEvent(mContext, "angel_index", "进入幸运天使页面");
|
||||
break; }
|
||||
if (model != null) {
|
||||
if (!StringUtil.isEmpty(model.getBgColor()) && !"#".equals(model.getBgColor())) {
|
||||
tabLayout.setBackgroundColor(Color.parseColor(model.getBgColor()));
|
||||
@@ -297,7 +319,7 @@ public class LiveGameDialogFragment extends AbsDialogFragment {
|
||||
new LiveRoomCheckLivePresenter(mContext, liveBean.getUid(), liveBean.getStream(), new LiveRoomCheckLivePresenter.NewActionListener() {
|
||||
@Override
|
||||
public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk) {
|
||||
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveSdk), Integer.parseInt(liveTypeVal));
|
||||
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveSdk), Integer.parseInt(liveTypeVal));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -2,7 +2,9 @@ package com.yunbao.live.dialog;
|
||||
|
||||
import static com.yunbao.common.CommonAppConfig.isGetNewWrap;
|
||||
import static com.yunbao.common.utils.RouteUtil.PATH_COIN;
|
||||
import static com.yunbao.live.views.LiveRoomViewHolder.bean1;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Dialog;
|
||||
import android.content.DialogInterface;
|
||||
import android.graphics.Color;
|
||||
@@ -15,6 +17,7 @@ import android.text.TextUtils;
|
||||
import android.text.style.ForegroundColorSpan;
|
||||
import android.util.Log;
|
||||
import android.view.Gravity;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
@@ -39,6 +42,7 @@ import com.opensource.svgaplayer.SVGADrawable;
|
||||
import com.opensource.svgaplayer.SVGAImageView;
|
||||
import com.opensource.svgaplayer.SVGAParser;
|
||||
import com.opensource.svgaplayer.SVGAVideoEntity;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.R;
|
||||
@@ -55,6 +59,7 @@ import com.yunbao.common.event.SendBlindGiftEvent;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.HttpClient;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.utils.AppManager;
|
||||
@@ -65,6 +70,7 @@ import com.yunbao.common.utils.NobleUtil;
|
||||
import com.yunbao.common.utils.SVGAViewUtils;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.GiftNumberPopup;
|
||||
import com.yunbao.common.views.weight.MarqueeTextView;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
@@ -78,7 +84,6 @@ import com.yunbao.live.event.GiftTitleEvent;
|
||||
import com.yunbao.live.event.LiveAudienceEvent;
|
||||
import com.yunbao.live.event.LiveGiftItemEvent;
|
||||
import com.yunbao.live.event.LiveParcelItemRefreshEvent;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.live.views.LiveGiftFragment;
|
||||
import com.yunbao.live.views.LiveParcelFragment;
|
||||
|
||||
@@ -102,7 +107,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
private TextView diamondText, goldText, liveWrap, vipGoldDesc, vipGoldTitle, giftNumber;
|
||||
private RecyclerView giftTitle;
|
||||
private GiftTitleAdapter giftTitleAdapter;
|
||||
private FrameLayout contextLayoutGift;
|
||||
private FrameLayout contextLayoutGift, overlay;
|
||||
private String mStream, mLiveUid;
|
||||
private FrameLayout blindBox, frameBlindTop, noNobility, giftNumberLayout, giftSendLayout, namingLayout;
|
||||
private ProgressBar progressBlind, progressBlind1, progressBlind2;
|
||||
@@ -140,6 +145,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
|
||||
}
|
||||
|
||||
@SuppressLint("ClickableViewAccessibility")
|
||||
private void initView() {
|
||||
gitBackground = mRootView.findViewById(R.id.git_background2);
|
||||
contextLayoutGift = mRootView.findViewById(R.id.context_layout_gift);
|
||||
@@ -181,6 +187,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
leaveHint = mRootView.findViewById(R.id.leave_hint);
|
||||
progressBar = mRootView.findViewById(R.id.progressBar);
|
||||
levelingLayout = mRootView.findViewById(R.id.leveling_layout);
|
||||
overlay = mRootView.findViewById(R.id.overlay);
|
||||
namingLayout.setVisibility(View.GONE);
|
||||
//设置礼物弹窗背景
|
||||
ImgLoader.displayBlurLive(getContext(), R.drawable.backgroud_custom_gift2, gitBackground);
|
||||
@@ -198,10 +205,32 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
giftDescription.setVisibility(View.GONE);
|
||||
operateImage.setVisibility(View.GONE);
|
||||
levelingLayout.setVisibility(View.VISIBLE);
|
||||
updateOverlayVisibility();
|
||||
blindBox.setOnTouchListener((v, event) -> {
|
||||
if (event.getAction() == MotionEvent.ACTION_UP) {
|
||||
v.performClick();
|
||||
}
|
||||
return true;
|
||||
});
|
||||
namingLayout.setOnTouchListener((v, event) -> {
|
||||
if (event.getAction() == MotionEvent.ACTION_UP) {
|
||||
v.performClick();
|
||||
}
|
||||
return true;
|
||||
});
|
||||
operateImage.setOnTouchListener((v, event) -> {
|
||||
if (event.getAction() == MotionEvent.ACTION_UP) {
|
||||
v.performClick();
|
||||
}
|
||||
return true;
|
||||
});
|
||||
|
||||
overlay.setOnClickListener(v -> dismiss());
|
||||
//点击包裹
|
||||
ViewClicksAntiShake.clicksAntiShake(liveWrap, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
MobclickAgent.onEvent(mContext, "gif_list_pack_list", "用户点礼物栏包裹礼物按钮");
|
||||
giftTitleAdapter.uncheck();
|
||||
liveWrap.setAlpha(1.0f);
|
||||
liveWrap.setTypeface(Typeface.SANS_SERIF, Typeface.BOLD);
|
||||
@@ -216,6 +245,8 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
mBtnSendGroup.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
|
||||
MobclickAgent.onEvent(mContext, "gif_list_seed_gif", "用户送礼物");
|
||||
sendGiftHandler.post(sendGiftRunnble);
|
||||
}
|
||||
});
|
||||
@@ -224,7 +255,37 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
ViewClicksAntiShake.clicksAntiShake(liveGiftSend, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
sendGiftHandler.post(sendGiftRunnble);
|
||||
MobclickAgent.onEvent(mContext, "gif_list_seed_gif", "用户送礼物");
|
||||
|
||||
if (liveGiftModel != null && liveGiftModel.getBlindBoxTicket() > 0) {
|
||||
BigDecimal needcoin = new BigDecimal(liveGiftModel.getPrice()).multiply(new BigDecimal(mCount));
|
||||
|
||||
if (needcoin.longValue() > diamond) {
|
||||
|
||||
sendBlindBoxTicket();
|
||||
} else {
|
||||
new DialogUitl.Builder(mContext)
|
||||
.setView(R.layout.dialog_live_unfollow)
|
||||
.setConfirmString(mContext.getString(R.string.aristocrat_determine))
|
||||
.setCancelString(mContext.getString(R.string.use_diamonds))
|
||||
.setContent(mContext.getString(R.string.trial_coupon))
|
||||
.setClickCallback(new DialogUitl.SimpleCallback2() {
|
||||
@Override
|
||||
public void onCancelClick() {
|
||||
sendGiftHandler.post(sendGiftRunnble);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
sendBlindBoxTicket();
|
||||
}
|
||||
}).setCancelable(true).build().show();
|
||||
}
|
||||
|
||||
} else {
|
||||
sendGiftHandler.post(sendGiftRunnble);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
@@ -232,6 +293,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.diamond_linear), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
MobclickAgent.onEvent(mContext, "gif_list_recharge_list", "用户点礼物栏充值按钮");
|
||||
forwardMyCoin(0);
|
||||
}
|
||||
});
|
||||
@@ -246,17 +308,21 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
ViewClicksAntiShake.clicksAntiShake(description, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
MobclickAgent.onEvent(mContext, "gif_list_blind_box_info", "用户点开礼物列表盲盒页面的盲盒说明");
|
||||
IMLoginModel userInfo = IMLoginManager.get(mContext).getUserInfo();
|
||||
StringBuffer htmlUrl = new StringBuffer();
|
||||
htmlUrl.append(CommonAppConfig.HOST)
|
||||
.append("/h5/info/index.html?uid=")
|
||||
.append("/h5/blindBoxInfo/index.html?uid=")
|
||||
.append(userInfo.getId())
|
||||
.append("&token=")
|
||||
.append(userInfo.getToken())
|
||||
.append("&no_back=1")
|
||||
.append("&type=")
|
||||
.append(blindBoxType-1)
|
||||
;
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putString("url", htmlUrl.toString());
|
||||
// System.out.println("盲盒页面 = "+htmlUrl.toString());
|
||||
LiveHDDialogFragment fragment = new LiveHDDialogFragment();
|
||||
fragment.setArguments(bundle);
|
||||
fragment.show(((LiveAudienceActivity) mContext).getSupportFragmentManager(), "LiveHDDialogFragment");
|
||||
@@ -266,6 +332,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.btn_luck_gift_tip), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
MobclickAgent.onEvent(mContext, "gif_list_opened_noble", "用户点击开通贵族");
|
||||
dismiss();
|
||||
((LiveActivity) mContext).openLuckGiftTip();
|
||||
}
|
||||
@@ -274,6 +341,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.leveling_layout), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
MobclickAgent.onEvent(mContext, "gif_list_grade", "用户点击等级页面");
|
||||
IMLoginModel userInfo = IMLoginManager.get(mContext).getUserInfo();
|
||||
StringBuffer htmlUrl = new StringBuffer();
|
||||
htmlUrl.append(CommonAppConfig.HOST)
|
||||
@@ -282,7 +350,9 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
.append("&token=")
|
||||
.append(userInfo.getToken())
|
||||
.append("&no_back=1")
|
||||
.append("&for");
|
||||
.append("&for")
|
||||
.append("&isZh=")
|
||||
.append(WordUtil.isNewZh() ? "1" : 0);
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putString("url", htmlUrl.toString());
|
||||
bundle.putInt("height", DeviceUtils.getScreenHeight(getActivity()) / 5 * 3);
|
||||
@@ -313,6 +383,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
StringBuffer htmlUrl = new StringBuffer();
|
||||
htmlUrl.append(CommonAppConfig.HOST)
|
||||
.append(liveGiftModel.getOperateUrl())
|
||||
.append("?uid=")
|
||||
.append(userInfo.getId())
|
||||
.append("&token=")
|
||||
.append(userInfo.getToken())
|
||||
@@ -325,6 +396,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
fragment.show(((LiveAudienceActivity) mContext).getSupportFragmentManager(), "LiveHDDialogFragment");
|
||||
}
|
||||
});
|
||||
|
||||
if (IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) {
|
||||
ImgLoader.display(mContext, R.mipmap.icon_live_gift_gift_itle, giftItle);
|
||||
} else {
|
||||
@@ -376,6 +448,16 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
GiftTopBean giftTopBean = new GiftTopBean();
|
||||
giftTopBean.setName(data.getString("name"));
|
||||
name.add(giftTopBean);
|
||||
if (bean1 != null && IMLoginManager.get(mContext).isNewUserGif() && (data.getString("name").equals("熱門") || data.getString("name").equals("Hot"))) {
|
||||
String giftJson = data.getString("giftlist");
|
||||
List<LiveGiftBean> liveGiftBeans = JSONArray.parseArray(giftJson, LiveGiftBean.class);
|
||||
liveGiftBeans.add(0, bean1);
|
||||
if (mWishGiftId == null) {
|
||||
mWishGiftId = "" + bean1.getId();
|
||||
}
|
||||
liveGiftList.getJSONObject(i).put("giftlist", JSONArray.toJSONString(liveGiftBeans));
|
||||
}
|
||||
|
||||
}
|
||||
giftTitleAdapter.addAllData(name);
|
||||
if (!TextUtils.isEmpty(mWishGiftId) && liveGiftList.size() > 0) {
|
||||
@@ -390,6 +472,8 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
liveGiftList.getJSONObject(i).getString("name"),
|
||||
mStream, mLiveUid, mWishGiftId));
|
||||
transaction.commit();
|
||||
giftTitleAdapter.setTitleIndex(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -440,6 +524,8 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
/**
|
||||
* 获取砖石和金豆余额
|
||||
*/
|
||||
long diamond = 0;
|
||||
|
||||
private void getCoin() {
|
||||
LiveHttpUtil.getCoin(new HttpCallback() {
|
||||
@Override
|
||||
@@ -449,6 +535,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
CoinModel coinModel = GsonUtils.fromJson(info[0], CoinModel.class);
|
||||
goldText.setText(coinModel.getGold());
|
||||
diamondText.setText(coinModel.getCoin());
|
||||
diamond = coinModel.getCoinLong();
|
||||
lvStr.setText("Lv." + coinModel.getUserLevel());
|
||||
|
||||
findViewById(R.id.red_point).setVisibility((!TextUtils.isEmpty(coinModel.getUsersPackRedDot())) &&
|
||||
@@ -457,7 +544,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
int nextLeve = Integer.parseInt(coinModel.getUserNextLevelRewards());
|
||||
|
||||
|
||||
BigDecimal maxLeve = new BigDecimal(coinModel.getUserLevelUpgrades()).add( new BigDecimal(coinModel.getUserLevelCurrentConsumption()));
|
||||
BigDecimal maxLeve = new BigDecimal(coinModel.getUserLevelUpgrades()).add(new BigDecimal(coinModel.getUserLevelCurrentConsumption()));
|
||||
try {
|
||||
String leveNext = String.valueOf(nextLeve);
|
||||
String userNextLevel = coinModel.getUserLevelUpgrades();
|
||||
@@ -515,15 +602,102 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
private Runnable sendGiftRunnble = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
sendGift();
|
||||
if (isWrap && liveGiftModel.getType() == 7) {
|
||||
sendBlindBoxTicket();
|
||||
} else {
|
||||
sendGift();
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
//使用优惠券
|
||||
public void sendBlindBoxTicket() {
|
||||
if (TextUtils.isEmpty(mLiveUid) ||
|
||||
TextUtils.isEmpty(mStream) ||
|
||||
liveGiftModel == null)
|
||||
return;
|
||||
|
||||
LiveHttpUtil.sendBlindBoxTicket((by != null ? "1" : "0"),
|
||||
mLiveUid,
|
||||
mStream,
|
||||
isWrap ? liveGiftModel.getId() : liveGiftModel.getBlindBoxTicketId(), new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
if (code == 0) {
|
||||
if (liveGiftModel.getSwf().contains("svga")) {
|
||||
dismiss();
|
||||
}
|
||||
if (info.length > 0) {
|
||||
JSONObject obj = JSON.parseObject(info[0]);
|
||||
String coin = obj.getString("coin");
|
||||
String goldCoin = obj.getString("gold");
|
||||
UserBean u = CommonAppConfig.getInstance().getUserBean();
|
||||
if (u != null) {
|
||||
u.setLevel(obj.getIntValue("level"));
|
||||
//送礼物后更新粉丝徽章等级
|
||||
u.setMedalLevel(obj.getIntValue("medal_level"));
|
||||
u.setMedalName(obj.getString("medal_name"));
|
||||
u.setCoin(coin);
|
||||
}
|
||||
if (diamondText != null) {
|
||||
diamondText.setText(coin);
|
||||
}
|
||||
if (goldText != null) {
|
||||
goldText.setText(goldCoin);
|
||||
}
|
||||
if (!isWrap) {
|
||||
liveGiftModel.setBlindBoxTicket(liveGiftModel.getBlindBoxTicket() - 1);
|
||||
} else {
|
||||
for (int i = 0; i < liveGiftList.size(); i++) {
|
||||
JSONObject data = liveGiftList.getJSONObject(i);
|
||||
String giftJson = data.getString("giftlist");
|
||||
List<LiveGiftBean> liveGiftBeans = JSONArray.parseArray(giftJson, LiveGiftBean.class);
|
||||
List<LiveGiftBean> liveGiftModels = new ArrayList<>();
|
||||
for (LiveGiftBean model : liveGiftBeans) {
|
||||
if (model.getBlindBoxTicketId() == liveGiftModel.getId() && model.getBlindBoxTicket() > 0) {
|
||||
model.setBlindBoxTicket(model.getBlindBoxTicket() - 1);
|
||||
}
|
||||
liveGiftModels.add(model);
|
||||
}
|
||||
liveGiftList.getJSONObject(i).put("giftlist", JSONArray.toJSONString(liveGiftModels));
|
||||
}
|
||||
LiveHttpUtil.getNewGiftList(new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
if (code == 0 && info.length > 0) {
|
||||
JSONObject obj = JSON.parseObject(info[0]);
|
||||
liveGiftList = obj.getJSONArray("listarray");
|
||||
CommonAppConfig.getInstance().setGiftListJson(obj.getString("listarray"));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFinish() {
|
||||
}
|
||||
});
|
||||
}
|
||||
isGetNewWrap = true;
|
||||
if (isWrap) {
|
||||
Bus.get().post(new LiveParcelItemRefreshEvent().setLiveGiftModel(liveGiftModel));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
ToastUtil.show(msg);
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 赠送礼物
|
||||
*/
|
||||
public void sendGift() {
|
||||
if (liveGiftModel == null) return;
|
||||
if (liveGiftModel.getType() == 7) {
|
||||
MobclickAgent.onEvent(mContext, "gif_list_blind_box_seed", "用户发送盲盒");
|
||||
}
|
||||
if (liveGiftModel.getTag() != null) {
|
||||
if (mCount.equals("1")) {
|
||||
LiveHttpUtil.setFrontTask("sendgift", mLiveUid, new HttpCallback() {
|
||||
@@ -639,39 +813,45 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
lianSongHandler.removeCallbacks(lianSongRunnable);
|
||||
mShowLianBtn = false;
|
||||
getCoin();
|
||||
|
||||
LiveNetManager.get(mContext)
|
||||
.getGiftNamingInfo(liveGiftModel.getId() + "", new com.yunbao.common.http.base.HttpCallback<GiftNamingInfoModel>() {
|
||||
@Override
|
||||
public void onSuccess(GiftNamingInfoModel data) {
|
||||
liveGiftModel = JSONObject.parseObject(GsonUtils.toJson(data), LiveGiftBean.class);
|
||||
if (!TextUtils.isEmpty(liveGiftModel.getNamingLiveuid()) &&
|
||||
!TextUtils.isEmpty(liveGiftModel.getNamingUid()) &&
|
||||
!TextUtils.equals(liveGiftModel.getNamingLiveuid(), "0") &&
|
||||
!TextUtils.equals(liveGiftModel.getNamingUid(), "0")) {
|
||||
namingLayout.setVisibility(View.VISIBLE);
|
||||
ImgLoader.display(mContext, liveGiftModel.getNamingLiveAvatar(), namingAvatar);
|
||||
StringBuffer namingNameText = new StringBuffer();
|
||||
if (IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) {
|
||||
namingNameText.append("获取冠名:")
|
||||
.append(liveGiftModel.getNamingUserCoin())
|
||||
.append(" ");
|
||||
if (TextUtils.equals(data.getNamingStatus(), "1")) {
|
||||
liveGiftModel = JSONObject.parseObject(GsonUtils.toJson(data), LiveGiftBean.class);
|
||||
if (!TextUtils.isEmpty(liveGiftModel.getNamingLiveuid()) &&
|
||||
!TextUtils.isEmpty(liveGiftModel.getNamingUid()) &&
|
||||
!TextUtils.equals(liveGiftModel.getNamingLiveuid(), "0") &&
|
||||
!TextUtils.equals(liveGiftModel.getNamingUid(), "0")) {
|
||||
namingLayout.setVisibility(View.VISIBLE);
|
||||
ImgLoader.display(mContext, liveGiftModel.getNamingLiveAvatar(), namingAvatar);
|
||||
StringBuffer namingNameText = new StringBuffer();
|
||||
if (IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) {
|
||||
namingNameText.append("获取冠名:")
|
||||
.append(liveGiftModel.getNamingUserCoin())
|
||||
.append(" ");
|
||||
|
||||
} else {
|
||||
namingNameText.append("Get title: ")
|
||||
.append(liveGiftModel.getNamingUserCoin())
|
||||
.append(" ");
|
||||
}
|
||||
namingNameText.append(mContext.getText(com.yunbao.live.R.string.title_anchor))
|
||||
.append(liveGiftModel.getNamingLiveName())
|
||||
.append(" ")
|
||||
.append(mContext.getText(com.yunbao.live.R.string.the_title_financier))
|
||||
.append(" ")
|
||||
.append(liveGiftModel.getNamingUserName());
|
||||
namingName.setText(namingNameText.toString());
|
||||
} else {
|
||||
namingNameText.append("Get title: ")
|
||||
.append(liveGiftModel.getNamingUserCoin())
|
||||
.append(" ");
|
||||
namingLayout.setVisibility(View.GONE);
|
||||
|
||||
}
|
||||
namingNameText.append(mContext.getText(com.yunbao.live.R.string.title_anchor))
|
||||
.append(liveGiftModel.getNamingLiveName())
|
||||
.append(" ")
|
||||
.append(mContext.getText(com.yunbao.live.R.string.the_title_financier))
|
||||
.append(" ")
|
||||
.append(liveGiftModel.getNamingUserName());
|
||||
namingName.setText(namingNameText.toString());
|
||||
} else {
|
||||
namingLayout.setVisibility(View.GONE);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -728,7 +908,9 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onLiveGiftItemEvent(LiveGiftItemEvent event) {
|
||||
liveGiftModel = event.getLiveGiftModel();
|
||||
MobclickAgent.onEvent(mContext, "gif_list_choose", "用户选中某个礼物:" + liveGiftModel.getName());
|
||||
|
||||
updateOverlayVisibility();
|
||||
if (!TextUtils.isEmpty(liveGiftModel.getNamingLiveuid()) &&
|
||||
!TextUtils.isEmpty(liveGiftModel.getNamingUid()) &&
|
||||
!TextUtils.equals(liveGiftModel.getNamingLiveuid(), "0") &&
|
||||
@@ -756,8 +938,10 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
}
|
||||
|
||||
if (liveGiftModel.getType() == 7) {
|
||||
MobclickAgent.onEvent(mContext, "gif_list_blind_box", "用户点开礼物列表盲盒");
|
||||
iconArrow.setVisibility(View.GONE);
|
||||
showBlindProgress(liveGiftModel.getBlind_box_type());
|
||||
description.setTag(liveGiftModel.getBlind_box_type());
|
||||
} else {
|
||||
blindBox.setVisibility(View.INVISIBLE);
|
||||
mCount = DEFAULT_COUNT;
|
||||
@@ -782,6 +966,8 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
if (!TextUtils.isEmpty(liveGiftModel.getOperateImage())) {
|
||||
operateImage.setVisibility(View.VISIBLE);
|
||||
ImgLoader.display(getContext(), liveGiftModel.getOperateImage(), operateImage);
|
||||
} else {
|
||||
operateImage.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1165,12 +1351,15 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
if (goldText != null) {
|
||||
goldText.setText(goldCoin);
|
||||
}
|
||||
|
||||
if (!mGiftBean.getSwf().contains("svga")) {
|
||||
showLianBtn();
|
||||
}
|
||||
if (mGiftBean.getType() == 7) {
|
||||
showLianBtn();
|
||||
|
||||
}
|
||||
|
||||
// //刷新包裹列表wrap_gift_num -1:表示数量没有变化
|
||||
// mObjGiftSendback = obj;
|
||||
isGetNewWrap = true;
|
||||
@@ -1228,6 +1417,8 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
forwardMyCoin(0);
|
||||
|
||||
MobclickAgent.onEvent(mContext, "user_to_recharge", "app内任意提示用户余额不足 用户充值点了提示里面的去充值");
|
||||
}
|
||||
}).build().show();
|
||||
} else {
|
||||
@@ -1237,4 +1428,15 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
}
|
||||
}
|
||||
|
||||
private void updateOverlayVisibility() {
|
||||
/* if (
|
||||
blindBox.getVisibility() == View.VISIBLE ||
|
||||
operateImage.getVisibility() == View.VISIBLE ||
|
||||
namingLayout.getVisibility() == View.VISIBLE
|
||||
) {
|
||||
overlay.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
overlay.setVisibility(View.GONE);
|
||||
}*/
|
||||
}
|
||||
}
|
||||
|
||||
@@ -157,9 +157,9 @@ public class LiveHDDialogFragment extends AbsDialogFragment {
|
||||
mWebView.getSettings().setJavaScriptEnabled(true);
|
||||
mWebView.getSettings().setDomStorageEnabled(true);
|
||||
String appCachePath = mContext.getCacheDir().getAbsolutePath();
|
||||
mWebView.getSettings().setAppCachePath(appCachePath);
|
||||
// mWebView.getSettings().setAppCachePath(appCachePath);
|
||||
mWebView.getSettings().setAllowFileAccess(true);
|
||||
mWebView.getSettings().setAppCacheEnabled(true);
|
||||
// mWebView.getSettings().setAppCacheEnabled(true);
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
||||
mWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
|
||||
@@ -371,7 +371,7 @@ public class LiveHDDialogFragment extends AbsDialogFragment {
|
||||
String url = CommonAppConfig.HOST + "/h5/Noble/index.html?nickname="
|
||||
+ u.getUserNiceName() + "&usernobId=" + u.getNoble_id() + "&uid="
|
||||
+ CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&active=" + event.getData() + "&anchorUid=" + mLiveUid;
|
||||
ZhuangBanActivity.forward(mContext, url, false);
|
||||
ZhuangBanActivity.forward(mContext, url, false,0);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@ import android.widget.RadioGroup;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
|
||||
import com.blankj.utilcode.util.GsonUtils;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.bean.BaseModel;
|
||||
import com.yunbao.common.bean.NobleTrumpetModel;
|
||||
@@ -143,6 +144,7 @@ public class LiveInputDialogFragment extends AbsDialogFragment implements View.O
|
||||
|
||||
@Override
|
||||
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||
MobclickAgent.onEvent(mContext, "chat_btn_enter", "用户输入文字");
|
||||
if (s.length() == 0) {
|
||||
mMyRadioButton.doChecked(false);
|
||||
} else {
|
||||
@@ -190,6 +192,7 @@ public class LiveInputDialogFragment extends AbsDialogFragment implements View.O
|
||||
ViewClicksAntiShake.clicksAntiShake(mRootView.findViewById(R.id.ai_te), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
MobclickAgent.onEvent(mContext, "chat_btn_at", "用户点聊天框上的艾特");
|
||||
Intent intent = new Intent(getActivity(), OlineListActivity.class);
|
||||
intent.putExtra("liveID", mLiveUid);
|
||||
intent.putExtra("stream", bundle.getString(Constants.LIVE_STREAM));
|
||||
@@ -211,6 +214,7 @@ public class LiveInputDialogFragment extends AbsDialogFragment implements View.O
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
MobclickAgent.onEvent(mContext, "chat_btn_seed_msg", "用户点发送按钮");
|
||||
sendMessage();
|
||||
}
|
||||
|
||||
@@ -318,10 +322,12 @@ public class LiveInputDialogFragment extends AbsDialogFragment implements View.O
|
||||
mInput.setHint(mHint2);
|
||||
messageType = SendMessageType.GENERALMESSAGE;
|
||||
} else if (radioButton.getId() == R.id.btn_1) {
|
||||
MobclickAgent.onEvent(mContext, "chat_btn_wind", "用户点输入框上飘屏按钮");
|
||||
radioButton.setCompoundDrawablesRelativeWithIntrinsicBounds(popupScreenP, null, null, null);
|
||||
mInput.setHint(mHint1);
|
||||
messageType = SendMessageType.POPUPSCREEN;
|
||||
} else {
|
||||
MobclickAgent.onEvent(mContext, "chat_btn_trumpet", "用户点输入框上全站喇叭按钮");
|
||||
radioButton.setCompoundDrawablesRelativeWithIntrinsicBounds(worldHornP, null, null, null);
|
||||
mInput.setHint(String.format(mContext.getString(R.string.whole_station_horn_hint), trumpetNum + ""));
|
||||
messageType = SendMessageType.WORLDHORN;
|
||||
|
||||
@@ -27,6 +27,7 @@ import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.ResponseModel;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveActivity;
|
||||
import com.yunbao.live.adapter.AnchorUserMicInfoAdapter;
|
||||
@@ -151,7 +152,17 @@ public class LiveMicAnchorDialogFragment extends AbsDialogFragment implements Vi
|
||||
mOpenMicBtn = mRootView.findViewById(R.id.open_mic);
|
||||
mNoMoreDesc = mRootView.findViewById(R.id.no_more_desc);
|
||||
Tips = bundle.getString("By");
|
||||
|
||||
requestMicBtn = mRootView.findViewById(R.id.guard_btn);
|
||||
mDisconnectMic = mRootView.findViewById(R.id.apply_btn);
|
||||
inviteMicBtn = mRootView.findViewById(R.id.fans_btn);
|
||||
if (!WordUtil.isNewZh()) {
|
||||
listMicbtn.setText("connection");
|
||||
requestMicBtn.setText("apply list");
|
||||
mDisconnectMic.setText("apply");
|
||||
inviteMicBtn.setText("invite");
|
||||
((TextView) mRootView.findViewById(R.id.title)).setText("Open the voice permission");
|
||||
((TextView) mRootView.findViewById(R.id.des)).setText("fan level 5 or above can apply for voice");
|
||||
}
|
||||
listMicbtn.setOnClickListener(view -> {
|
||||
if (!MicStatusManager.getInstance().isAnchorOpenRoom()) {
|
||||
return;
|
||||
@@ -161,7 +172,6 @@ public class LiveMicAnchorDialogFragment extends AbsDialogFragment implements Vi
|
||||
type = "guanzhong";
|
||||
mRefreshView.initData();
|
||||
});
|
||||
requestMicBtn = mRootView.findViewById(R.id.guard_btn);
|
||||
requestMicBtn.setOnClickListener(view -> {
|
||||
if (!MicStatusManager.getInstance().isAnchorOpenRoom()) {
|
||||
return;
|
||||
@@ -171,7 +181,7 @@ public class LiveMicAnchorDialogFragment extends AbsDialogFragment implements Vi
|
||||
type = "guard";
|
||||
mRefreshView.initData();
|
||||
});
|
||||
inviteMicBtn = mRootView.findViewById(R.id.fans_btn);
|
||||
|
||||
inviteMicBtn.setVisibility(View.VISIBLE);
|
||||
inviteMicBtn.setOnClickListener(view -> {
|
||||
if (!MicStatusManager.getInstance().isAnchorOpenRoom()) {
|
||||
@@ -202,13 +212,13 @@ public class LiveMicAnchorDialogFragment extends AbsDialogFragment implements Vi
|
||||
|
||||
mRefreshView = mRootView.findViewById(R.id.refreshView);
|
||||
view_no = mRootView.findViewById(R.id.view_no);
|
||||
mDisconnectMic = mRootView.findViewById(R.id.apply_btn);
|
||||
|
||||
mDisconnectMic.setBackgroundResource(R.drawable.background_eb6877);
|
||||
mDisconnectMic.setText(R.string.close_mic);
|
||||
mDisconnectMic.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
DialogUitl.showSimpleDialog(mContext, "是否確認關閉語音連麥", new DialogUitl.SimpleCallback() {
|
||||
DialogUitl.showSimpleDialog(mContext, WordUtil.isNewZh()?"是否確認關閉語音連麥":"Whether to disable the voice", new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
MicStatusManager.getInstance().closeMic(mContext);
|
||||
@@ -340,12 +350,18 @@ public class LiveMicAnchorDialogFragment extends AbsDialogFragment implements Vi
|
||||
requestMicBtn.setTextColor(Color.parseColor("#fff6f7fb"));
|
||||
inviteMicBtn.setTextColor(Color.parseColor("#ff646464"));
|
||||
mNoMoreDesc.setText("當前沒有人申請");
|
||||
if (!WordUtil.isNewZh()) {
|
||||
mNoMoreDesc.setText("No one has applied at the moment");
|
||||
}
|
||||
type = "guard";
|
||||
} else if (Tips.equals("3")) {
|
||||
listMicbtn.setTextColor(Color.parseColor("#ff646464"));
|
||||
requestMicBtn.setTextColor(Color.parseColor("#ff646464"));
|
||||
inviteMicBtn.setTextColor(Color.parseColor("#fff6f7fb"));
|
||||
mNoMoreDesc.setText("當前沒有觀眾");
|
||||
if (!WordUtil.isNewZh()) {
|
||||
mNoMoreDesc.setText("No audience at the moment");
|
||||
}
|
||||
type = "fans";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import android.Manifest;
|
||||
import android.app.ActionBar;
|
||||
import android.app.Dialog;
|
||||
import android.graphics.Color;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.Gravity;
|
||||
@@ -27,6 +28,7 @@ import com.yunbao.common.http.HttpClient;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveActivity;
|
||||
import com.yunbao.live.activity.LiveAudienceActivity;
|
||||
@@ -149,23 +151,32 @@ public class LiveMicUserDialogFragment extends AbsDialogFragment implements View
|
||||
apply_btn = mRootView.findViewById(R.id.apply_btn);
|
||||
if (MicStatusManager.getInstance().getMicStatus() == MicStatusManager.MIC_TYPE_DEFAULT) {
|
||||
apply_btn.setBackgroundResource(R.drawable.background_0fdab8);
|
||||
apply_btn.setText(R.string.apply_for_lianmai);
|
||||
apply_btn.setText(mContext.getString(R.string.apply_for_lianmai));
|
||||
} else if (MicStatusManager.getInstance().getMicStatus() == MicStatusManager.MIC_TYPE_REQUEST) {
|
||||
apply_btn.setBackgroundResource(R.drawable.background_00a0e9);
|
||||
apply_btn.setText(R.string.cancel_application);
|
||||
apply_btn.setText(mContext.getString(R.string.cancel_application));
|
||||
} else if (MicStatusManager.getInstance().getMicStatus() == MicStatusManager.MIC_TYPE_OPEN) {
|
||||
apply_btn.setBackgroundResource(R.drawable.background_eb6877);
|
||||
apply_btn.setText(R.string.quit_mic);
|
||||
apply_btn.setText(mContext.getString(R.string.quit_mic));
|
||||
}
|
||||
apply_btn.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (MicStatusManager.getInstance().getMicStatus() == MicStatusManager.MIC_TYPE_DEFAULT) {
|
||||
LiveAudienceActivity.mProcessResultUtil.requestPermissions(new String[]{
|
||||
Manifest.permission.READ_EXTERNAL_STORAGE,
|
||||
Manifest.permission.WRITE_EXTERNAL_STORAGE,
|
||||
Manifest.permission.RECORD_AUDIO
|
||||
}, new Runnable() {
|
||||
String[] permissions;
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
permissions=new String[]{
|
||||
Manifest.permission.READ_MEDIA_IMAGES,
|
||||
Manifest.permission.RECORD_AUDIO
|
||||
};
|
||||
}else{
|
||||
permissions=new String[]{
|
||||
Manifest.permission.READ_EXTERNAL_STORAGE,
|
||||
Manifest.permission.WRITE_EXTERNAL_STORAGE,
|
||||
Manifest.permission.RECORD_AUDIO
|
||||
};
|
||||
}
|
||||
LiveAudienceActivity.mProcessResultUtil.requestPermissions(permissions, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
|
||||
@@ -267,8 +278,12 @@ public class LiveMicUserDialogFragment extends AbsDialogFragment implements View
|
||||
});
|
||||
|
||||
} else if (MicStatusManager.getInstance().getMicStatus() == MicStatusManager.MIC_TYPE_OPEN) {
|
||||
String content="連麥中,退出將斷開語音連麥!";
|
||||
if(!WordUtil.isNewZh()){
|
||||
content="Connect, exit will disconnect voice connect!";
|
||||
}
|
||||
//退出连麦
|
||||
DialogUitl.showSimpleDialog(mContext, "連麥中,退出將斷開語音連麥!", new DialogUitl.SimpleCallback() {
|
||||
DialogUitl.showSimpleDialog(mContext,content , new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
Log.e("ry", "退出112");
|
||||
|
||||
@@ -64,13 +64,7 @@ public class LiveNewRoomClassDialogFragment extends AbsDialogFragment implements
|
||||
if (configBean != null) {
|
||||
List<LiveClassBean> list1 = configBean.getLiveClass();
|
||||
for (int i = 0; i < list1.size(); i++) {
|
||||
if (!list1.get(i).getName().equals("New") &&
|
||||
!list1.get(i).getName().equals("新秀") &&
|
||||
!list1.get(i).getName().equals("熱門") &&
|
||||
!list1.get(i).getName().equals("Hot") &&
|
||||
!list1.get(i).getName().equals("男神") &&
|
||||
!list1.get(i).getName().equals("Mr.Right")
|
||||
) {
|
||||
if(list1.get(i).getChannel_show()==1){
|
||||
list.add(list1.get(i));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,12 +31,16 @@ import com.yunbao.common.bean.LevelBean;
|
||||
import com.yunbao.common.bean.LiveBean;
|
||||
import com.yunbao.common.bean.UserBean;
|
||||
import com.yunbao.common.dialog.AbsDialogFragment;
|
||||
import com.yunbao.common.event.LiveRoomChangeEvent;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.CommonHttpUtil;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.LiveHttpConsts;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.interfaces.CommonCallback;
|
||||
import com.yunbao.common.utils.CommonIconUtil;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.common.utils.SVGAViewUtils;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
@@ -45,11 +49,10 @@ import com.yunbao.live.activity.LiveActivity;
|
||||
import com.yunbao.live.activity.LiveReportActivity;
|
||||
import com.yunbao.live.bean.ImpressBean;
|
||||
import com.yunbao.live.custom.MyTextView;
|
||||
import com.yunbao.common.http.LiveHttpConsts;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.live.utils.LiveTextRender;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
@@ -137,43 +140,7 @@ public class LiveOldUserDialogFragment extends AbsDialogFragment implements View
|
||||
DialogUitl.showSimpleDialog(mContext, "是否確認前往對方直播間?", new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
RongChatRoomClient.getInstance().quitChatRoom("g" + mLiveUid, new IRongCoreCallback.OperationCallback() {
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
Log.i("tx", "退出成功");
|
||||
//连接socket
|
||||
LiveHttpUtil.qBackRoom(mLiveUid, mStream, new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(IRongCoreEnum.CoreErrorCode coreErrorCode) {
|
||||
|
||||
}
|
||||
});
|
||||
V2TIMManager.getInstance().quitGroup("g" + mLiveUid, new V2TIMCallback() {
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
|
||||
Log.i("tx", "退出成功" + mLiveUid);
|
||||
//连接socket
|
||||
LiveHttpUtil.qBackRoom(mLiveUid, mStream, new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(int code, String desc) {
|
||||
Log.i("tx", "退出失败");
|
||||
}
|
||||
});
|
||||
LiveHttpUtil.getLiveInfo(live_id, new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
@@ -182,7 +149,11 @@ public class LiveOldUserDialogFragment extends AbsDialogFragment implements View
|
||||
new LiveRoomCheckLivePresenter(mContext, liveBean.getUid(), liveBean.getStream(), new LiveRoomCheckLivePresenter.NewActionListener() {
|
||||
@Override
|
||||
public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk) {
|
||||
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveSdk), Integer.parseInt(liveTypeVal));
|
||||
if (liveBean == null) {
|
||||
return;
|
||||
}
|
||||
EventBus.getDefault().post(new LiveRoomChangeEvent(liveBean, liveType, Integer.parseInt(liveTypeVal)).setLiveEnd(true));
|
||||
dismiss();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -457,7 +428,7 @@ public class LiveOldUserDialogFragment extends AbsDialogFragment implements View
|
||||
}
|
||||
mFollowing = obj.getIntValue("isattention") == 1;
|
||||
if (mFollowText != null) {
|
||||
mFollowText.setText(mFollowing ?mContext.getString(R.string.following) :mContext.getString(R.string.follow));
|
||||
mFollowText.setText(mFollowing ? mContext.getString(R.string.following) : mContext.getString(R.string.follow));
|
||||
}
|
||||
if (mFollowImage != null) {
|
||||
mFollowImage.setImageDrawable(mFollowing ? mFollowDrawable : mUnFollowDrawable);
|
||||
@@ -570,7 +541,7 @@ public class LiveOldUserDialogFragment extends AbsDialogFragment implements View
|
||||
}
|
||||
if (isAttention == 1 && mLiveUid.equals(mToUid)) {//关注了主播
|
||||
((LiveActivity) mContext).sendSystemMessage(
|
||||
CommonAppConfig.getInstance().getUserBean().getUserNiceName() +mContext.getString(R.string.live_follow_anchor));
|
||||
CommonAppConfig.getInstance().getUserBean().getUserNiceName() + mContext.getString(R.string.live_follow_anchor));
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -69,9 +69,9 @@ public class LiveUserAnchorMailBoxWebInfoPopDialog extends AbsDialogPopupWindow
|
||||
mWebView.getSettings().setJavaScriptEnabled(true);
|
||||
mWebView.getSettings().setDomStorageEnabled(true);
|
||||
String appCachePath = getContext().getCacheDir().getAbsolutePath();
|
||||
mWebView.getSettings().setAppCachePath(appCachePath);
|
||||
// mWebView.getSettings().setAppCachePath(appCachePath);
|
||||
mWebView.getSettings().setAllowFileAccess(true);
|
||||
mWebView.getSettings().setAppCacheEnabled(true);
|
||||
// mWebView.getSettings().setAppCacheEnabled(true);
|
||||
mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); // 是否允许JS打开新窗口
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
||||
mWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
|
||||
|
||||
@@ -24,6 +24,7 @@ import com.opensource.svgaplayer.SVGAParser;
|
||||
import com.opensource.svgaplayer.SVGAVideoEntity;
|
||||
import com.tencent.imsdk.v2.V2TIMCallback;
|
||||
import com.tencent.imsdk.v2.V2TIMManager;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.bean.FansModel;
|
||||
@@ -32,14 +33,17 @@ import com.yunbao.common.bean.LiveBean;
|
||||
import com.yunbao.common.bean.OlineUserlistModel;
|
||||
import com.yunbao.common.bean.UserBean;
|
||||
import com.yunbao.common.dialog.AbsDialogFragment;
|
||||
import com.yunbao.common.event.LiveRoomChangeEvent;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.CommonHttpUtil;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.interfaces.CommonCallback;
|
||||
import com.yunbao.common.manager.NewLevelManager;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.CommonIconUtil;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.common.utils.MicStatusManager;
|
||||
import com.yunbao.common.utils.NobleUtil;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
@@ -52,9 +56,6 @@ import com.yunbao.live.activity.LiveActivity;
|
||||
import com.yunbao.live.activity.LiveReportActivity;
|
||||
import com.yunbao.live.activity.LiveRyAnchorActivity;
|
||||
import com.yunbao.live.event.LiveAudienceEvent;
|
||||
import com.yunbao.common.event.LiveRoomChangeEvent;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.live.utils.LiveTextRender;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
@@ -249,7 +250,18 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
|
||||
mLvVal = mRootView.findViewById(R.id.user_card_lv_val);
|
||||
mNobleIconLayout.setOnClickListener(this);
|
||||
mSetting.setOnClickListener(this);
|
||||
mHonorLayout.setOnClickListener(v -> forwardHomePage());
|
||||
mHonorLayout.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
if (!isAnchor) {
|
||||
MobclickAgent.onEvent(mContext, "user_avatar_honor", "荣誉墙按钮");
|
||||
} else {
|
||||
|
||||
MobclickAgent.onEvent(mContext, "anchor_avatar_honor", "主播荣誉墙");
|
||||
}
|
||||
forwardHomePage();
|
||||
}
|
||||
});
|
||||
|
||||
//用户名片连点三次粉丝弹出视频debug窗
|
||||
/*mFansVal.setOnClickListener(new View.OnClickListener() {
|
||||
@@ -610,6 +622,7 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
|
||||
* 跳转到个人主页
|
||||
*/
|
||||
private void forwardHomePage() {
|
||||
|
||||
dismiss();
|
||||
Constants.mStream = mStream;
|
||||
RouteUtil.forwardUserHome(mContext, mToUid, true, mLiveUid, 0);
|
||||
@@ -627,44 +640,8 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
|
||||
DialogUitl.showSimpleDialog(mContext, mContext.getString(R.string.party_studio), new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
LiveUserDialogFragment.this.dismiss();
|
||||
RongChatRoomClient.getInstance().quitChatRoom("g" + mLiveUid, new IRongCoreCallback.OperationCallback() {
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
Log.i("tx", "退出成功");
|
||||
//连接socket
|
||||
LiveHttpUtil.qBackRoom(mLiveUid, mStream, new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(IRongCoreEnum.CoreErrorCode coreErrorCode) {
|
||||
|
||||
}
|
||||
});
|
||||
V2TIMManager.getInstance().quitGroup("g" + mLiveUid, new V2TIMCallback() {
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
|
||||
Log.i("tx", "退出成功" + mLiveUid);
|
||||
//连接socket
|
||||
LiveHttpUtil.qBackRoom(mLiveUid, mStream, new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(int code, String desc) {
|
||||
Log.i("tx", "退出失败");
|
||||
}
|
||||
});
|
||||
LiveHttpUtil.getLiveInfo(live_id, new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
@@ -681,6 +658,7 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
|
||||
return;
|
||||
}
|
||||
EventBus.getDefault().post(new LiveRoomChangeEvent(liveBean, liveType, Integer.parseInt(liveTypeVal)).setLiveEnd(true));
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -702,14 +680,30 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
|
||||
public void onClick(View v) {
|
||||
int i = v.getId();
|
||||
if (i == R.id.btn_follow) {
|
||||
if (isAnchor) {
|
||||
|
||||
MobclickAgent.onEvent(mContext, "anchor_avatar_follow", "点关注主播");
|
||||
} else {
|
||||
|
||||
MobclickAgent.onEvent(mContext, "user_avatar_follow", "点关注用户");
|
||||
}
|
||||
setAttention();
|
||||
} else if (i == R.id.btn_home_page) {
|
||||
if (isAnchor) {
|
||||
MobclickAgent.onEvent(mContext, "anchor_avatar_index", "点主播主页");
|
||||
} else {
|
||||
MobclickAgent.onEvent(mContext, "user_avatar_index", "主页按钮");
|
||||
}
|
||||
forwardHomePage();
|
||||
} else if (i == R.id.btn_report) {
|
||||
report();
|
||||
} else if (i == R.id.avatar) {
|
||||
if (isAnchor) {
|
||||
MobclickAgent.onEvent(mContext, "anchor_avatar_btn", "点主播头像");
|
||||
}
|
||||
forwardHomePage();
|
||||
} else if (i == R.id.btn_guard) {
|
||||
MobclickAgent.onEvent(mContext, "anchor_avatar_guard", "守护按钮");
|
||||
((LiveActivity) mContext).openNewGuardListWindow(mContext instanceof LiveRyAnchorActivity, mToUid);
|
||||
} else if (i == R.id.btn_live) {
|
||||
gotoLive(mToUid);
|
||||
@@ -718,6 +712,7 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
|
||||
dismiss();
|
||||
((LiveActivity) mContext).openFansWindow(mToUid);
|
||||
} else {
|
||||
MobclickAgent.onEvent(mContext, "user_avatar_noble", "贵族按钮");
|
||||
Bus.get().post(new LiveAudienceEvent()
|
||||
.setType(LiveAudienceEvent.LiveAudienceType.NOBLE));
|
||||
}
|
||||
|
||||
@@ -111,7 +111,7 @@ public class MedalAchievementPopup extends BottomPopupView {
|
||||
.append(userInfo.getToken())
|
||||
.append("&uid=")
|
||||
.append(userInfo.getId());
|
||||
ZhuangBanActivity.forward(getContext(), htmlUrl.toString(), false);
|
||||
ZhuangBanActivity.forward(getContext(), htmlUrl.toString(), false,0);
|
||||
}
|
||||
});
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.close_btn), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.yunbao.live.dialog;
|
||||
import android.Manifest;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
@@ -162,15 +163,21 @@ public class PDLIiveChatConversationFragment extends AbsDialogFragment implement
|
||||
|
||||
//intoIndex 1=调用相机,2=照片选取,3=视频选取
|
||||
public void jumpPic(int intoIndex) {
|
||||
String permission1=Manifest.permission.READ_EXTERNAL_STORAGE;
|
||||
String permission2= Manifest.permission.WRITE_EXTERNAL_STORAGE;
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
permission1=Manifest.permission.READ_MEDIA_IMAGES;
|
||||
permission2=Manifest.permission.READ_MEDIA_IMAGES;
|
||||
}
|
||||
//选择图片
|
||||
int isPermission1 = ContextCompat.checkSelfPermission(mContext, Manifest.permission.READ_EXTERNAL_STORAGE);
|
||||
int isPermission2 = ContextCompat.checkSelfPermission(mContext, Manifest.permission.WRITE_EXTERNAL_STORAGE);
|
||||
int isPermission1 = ContextCompat.checkSelfPermission(mContext, permission1);
|
||||
int isPermission2 = ContextCompat.checkSelfPermission(mContext, permission2);
|
||||
if (isPermission1 == PackageManager.PERMISSION_GRANTED && isPermission2 == PackageManager.PERMISSION_GRANTED) {
|
||||
startActivity(intoIndex);
|
||||
} else {
|
||||
//申请权限
|
||||
ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,
|
||||
Manifest.permission.WRITE_EXTERNAL_STORAGE}, PERMISSION_REQUEST_CODE);
|
||||
ActivityCompat.requestPermissions(getActivity(), new String[]{permission1,
|
||||
permission2}, PERMISSION_REQUEST_CODE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.common.manager.RandomPkManager;
|
||||
import com.yunbao.live.activity.LiveRyAnchorActivity;
|
||||
@@ -223,7 +224,13 @@ public class RandomPkDialogFragment extends AbsDialogFragment implements View.On
|
||||
if (data.getCode() == 0) {
|
||||
setSwitchBtn(!(boolean) mRandomPkSwitch.getTag());
|
||||
} else if (data.getCode() == 500) {
|
||||
DialogUitl.showSimpleDialog(mContext, "您因拒绝随机PK,被限制关闭中", "随机PK可打开时间:" + data.getMsg(), false, new DialogUitl.SimpleCallback() {
|
||||
String title="您因拒絕隨機PK,被限制關閉中";
|
||||
String content="隨機PK可打開時間:";
|
||||
if(!WordUtil.isNewZh()){
|
||||
title="You are restricted for refusing random PK";
|
||||
content="Random PK can open time:";
|
||||
}
|
||||
DialogUitl.showSimpleDialog(mContext,title , content + data.getMsg(), false, new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
dialog.dismiss();
|
||||
@@ -248,7 +255,12 @@ public class RandomPkDialogFragment extends AbsDialogFragment implements View.On
|
||||
*/
|
||||
private void randomPk() {
|
||||
if (mRandomPkSwitch.getTag() == null || !(boolean) mRandomPkSwitch.getTag()) {
|
||||
ToastUtil.show("未开启随机PK开关");
|
||||
if (WordUtil.isNewZh()) {
|
||||
ToastUtil.show("未開啟隨機PK開關");
|
||||
} else {
|
||||
ToastUtil.show("The random PK switch is not enabled");
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
if ((mPkBtn.getTag() != null && (boolean) mPkBtn.getTag()) || RandomPkManager.getInstance().isRequestPk()) {
|
||||
@@ -267,7 +279,11 @@ public class RandomPkDialogFragment extends AbsDialogFragment implements View.On
|
||||
mPkBtn.setTag(true);
|
||||
}
|
||||
} else {
|
||||
ToastUtil.show("請先關閉語言連麥");
|
||||
if (WordUtil.isNewZh()) {
|
||||
ToastUtil.show("請先關閉語音連麥");
|
||||
} else {
|
||||
ToastUtil.show("Please disable the voice connection first");
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -25,6 +25,7 @@ import com.yunbao.common.interfaces.CommonCallback;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.utils.TimeUtils;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.weight.CircleProgress;
|
||||
import com.yunbao.common.views.weight.ClipPathCircleImage;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
@@ -46,10 +47,13 @@ public class ReceiveRendPacketPopup extends CenterPopupView {
|
||||
private ImageView isAttention;
|
||||
private RedPacketInfoModel redPacketInfoModel;
|
||||
private boolean isSuperJackpot;
|
||||
private boolean isFans = false;
|
||||
|
||||
public ReceiveRendPacketPopup(@NonNull Context context, int time, String mLiveUid, String stream,
|
||||
String redPacketId, RedPacketInfoModel redPacketInfoModel,
|
||||
boolean isSuperJackpot) {
|
||||
boolean isSuperJackpot,
|
||||
boolean isFans
|
||||
) {
|
||||
|
||||
super(context);
|
||||
this.time = time;
|
||||
@@ -58,7 +62,7 @@ public class ReceiveRendPacketPopup extends CenterPopupView {
|
||||
this.redPacketId = redPacketId;
|
||||
this.redPacketInfoModel = redPacketInfoModel;
|
||||
this.isSuperJackpot = isSuperJackpot;
|
||||
|
||||
this.isFans = isFans;
|
||||
}
|
||||
|
||||
// 返回自定义弹窗的布局离开
|
||||
@@ -95,6 +99,7 @@ public class ReceiveRendPacketPopup extends CenterPopupView {
|
||||
}
|
||||
|
||||
userID = redPacketInfoModel.getUserId();
|
||||
|
||||
}
|
||||
|
||||
private Handler timeHandler = new Handler();
|
||||
@@ -102,7 +107,7 @@ public class ReceiveRendPacketPopup extends CenterPopupView {
|
||||
private Runnable timeRunnable = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (time > 0) {
|
||||
if (time > 1) {
|
||||
circleProgress.setCurrent(time--);
|
||||
timeHandler.postDelayed(timeRunnable, 1000);
|
||||
String countdown = TimeUtils.getTime(time);
|
||||
@@ -149,6 +154,11 @@ public class ReceiveRendPacketPopup extends CenterPopupView {
|
||||
redPacketTimeLayout.setVisibility(GONE);
|
||||
redPacketOpen.setVisibility(VISIBLE);
|
||||
}
|
||||
ViewClicksAntiShake.clicksAntiShake(redPacketTimeLayout, () -> {
|
||||
if (!isFans && redPacketInfoModel.getIsFans()) {
|
||||
ToastUtil.show(getContext().getString(R.string.live_rad_pack_join_fans_group_click_tip));
|
||||
}
|
||||
});
|
||||
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.red_packet_open), () -> {
|
||||
if (isSuperJackpot) {
|
||||
@@ -179,6 +189,10 @@ public class ReceiveRendPacketPopup extends CenterPopupView {
|
||||
}
|
||||
});
|
||||
} else {
|
||||
if (!isFans && redPacketInfoModel.getIsFans()) {
|
||||
ToastUtil.show(getContext().getString(R.string.live_rad_pack_join_fans_group_click_tip));
|
||||
return;
|
||||
}
|
||||
if (TextUtils.equals(redPacketInfoModel.getConditions(), "1") && LiveAudienceActivity.isattention == 0) {
|
||||
LiveRoomViewHolder.follow();
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ import androidx.annotation.NonNull;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.lxj.xpopup.core.CenterPopupView;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.http.base.HttpCallback;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
@@ -24,7 +25,7 @@ import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.live.R;
|
||||
|
||||
public class SendRendPacketPopup extends CenterPopupView {
|
||||
private Button thereIsNo, followingAnchor;
|
||||
private Button thereIsNo, followingAnchor, joinFansGroup;
|
||||
private TextView redEnvelopeRill, totalConsumptionOfDrill;
|
||||
private TextView rill, total;
|
||||
private FrameLayout redPacketIllustrate;
|
||||
@@ -58,6 +59,7 @@ public class SendRendPacketPopup extends CenterPopupView {
|
||||
redPacketIllustrate = findViewById(R.id.red_packet_illustrate);
|
||||
illustrateClose = findViewById(R.id.illustrate_close);
|
||||
iconInstructions = findViewById(R.id.icon_instructions);
|
||||
joinFansGroup = findViewById(R.id.fans_group);
|
||||
rill = findViewById(R.id.rill);
|
||||
total = findViewById(R.id.total);
|
||||
selectText(thereIsNo, true);
|
||||
@@ -65,13 +67,21 @@ public class SendRendPacketPopup extends CenterPopupView {
|
||||
ViewClicksAntiShake.clicksAntiShake(thereIsNo, () -> {
|
||||
selectText(thereIsNo, true);
|
||||
selectText(followingAnchor, false);
|
||||
selectText(joinFansGroup, false);
|
||||
conditions = "0";
|
||||
});
|
||||
ViewClicksAntiShake.clicksAntiShake(followingAnchor, () -> {
|
||||
selectText(thereIsNo, false);
|
||||
selectText(joinFansGroup, false);
|
||||
selectText(followingAnchor, true);
|
||||
conditions = "1";
|
||||
});
|
||||
ViewClicksAntiShake.clicksAntiShake(joinFansGroup, () -> {
|
||||
selectText(thereIsNo, false);
|
||||
selectText(joinFansGroup, true);
|
||||
selectText(followingAnchor, false);
|
||||
conditions = "0";
|
||||
});
|
||||
redEnvelopeRill.setText(String.format(getContext().getString(R.string.red_envelope_rill), "0"));
|
||||
totalConsumptionOfDrill.setText(String.format(getContext().getString(R.string.total_consumption_of_drill), "0"));
|
||||
rill.addTextChangedListener(new TextWatcher() {
|
||||
@@ -156,7 +166,13 @@ public class SendRendPacketPopup extends CenterPopupView {
|
||||
//红包初始数量
|
||||
rill.setText("200");
|
||||
total.setText("10");
|
||||
ViewClicksAntiShake.clicksAntiShake(iconInstructions, () -> redPacketIllustrate.setVisibility(VISIBLE));
|
||||
ViewClicksAntiShake.clicksAntiShake(iconInstructions, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
MobclickAgent.onEvent(getContext(), "gif_list_redpk_info", "用户点开礼物列表红包页面的红包说明");
|
||||
redPacketIllustrate.setVisibility(VISIBLE);
|
||||
}
|
||||
});
|
||||
ViewClicksAntiShake.clicksAntiShake(illustrateClose, () -> redPacketIllustrate.setVisibility(GONE));
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.top_up_now), () -> {
|
||||
//我们的
|
||||
@@ -198,9 +214,13 @@ public class SendRendPacketPopup extends CenterPopupView {
|
||||
.createRedPacket(mLiveID,
|
||||
rillNumber,
|
||||
number,
|
||||
conditions, new HttpCallback<String>() {
|
||||
conditions,
|
||||
joinFansGroup.getTag() != null && (boolean) joinFansGroup.getTag(),
|
||||
new HttpCallback<String>() {
|
||||
@Override
|
||||
public void onSuccess(String data) {
|
||||
|
||||
MobclickAgent.onEvent(getContext(), "gif_list_redpk_seed", "用户发送红包");
|
||||
ToastUtil.show(getContext().getString(R.string.red_envelope_released_successfully));
|
||||
dismiss();
|
||||
}
|
||||
@@ -214,10 +234,10 @@ public class SendRendPacketPopup extends CenterPopupView {
|
||||
|
||||
}
|
||||
});
|
||||
if(WordUtil.isNewZh()){
|
||||
((ImageView)findViewById(R.id.red_packet_info_img)).setImageResource(R.mipmap.bg_red_packet_info_zh);
|
||||
}else{
|
||||
((ImageView)findViewById(R.id.red_packet_info_img)).setImageResource(R.mipmap.bg_red_packet_info_en);
|
||||
if (WordUtil.isNewZh()) {
|
||||
((ImageView) findViewById(R.id.red_packet_info_img)).setImageResource(R.mipmap.bg_red_packet_info_zh);
|
||||
} else {
|
||||
((ImageView) findViewById(R.id.red_packet_info_img)).setImageResource(R.mipmap.bg_red_packet_info_en);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -225,8 +245,10 @@ public class SendRendPacketPopup extends CenterPopupView {
|
||||
textView.setSelected(select);
|
||||
if (select) {
|
||||
textView.setTextColor(Color.parseColor("#E12801"));
|
||||
textView.setTag(true);
|
||||
} else {
|
||||
textView.setTextColor(Color.parseColor("#FDD04A"));
|
||||
textView.setTag(false);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.yunbao.live.event;
|
||||
|
||||
import com.yunbao.common.bean.BaseModel;
|
||||
import com.yunbao.common.bean.LiveGiftBean;
|
||||
|
||||
public class LiveGiftItemRefreshEvent extends BaseModel {
|
||||
private LiveGiftBean liveGiftModel;
|
||||
|
||||
public LiveGiftBean getLiveGiftModel() {
|
||||
return liveGiftModel;
|
||||
}
|
||||
|
||||
public LiveGiftItemRefreshEvent setLiveGiftModel(LiveGiftBean liveGiftModel) {
|
||||
this.liveGiftModel = liveGiftModel;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -373,7 +373,7 @@ public class LiveGiftAnimPresenter {
|
||||
mGifGiftTipGroupBuyZuoji.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
WebViewActivity.forward(mContext, HtmlConfig.SHOP + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
|
||||
WebViewActivity.forward(mContext, HtmlConfig.SHOP + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"),true);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -382,7 +382,7 @@ public class LiveGiftAnimPresenter {
|
||||
mGifGiftTipGroupBuyLiangName.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
WebViewActivity.forward(mContext, HtmlConfig.SHOP + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
|
||||
WebViewActivity.forward(mContext, HtmlConfig.SHOP + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"),true);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
@@ -587,12 +588,22 @@ public class LiveLinkMicPresenter implements View.OnClickListener {
|
||||
if (processResultUtil == null) {
|
||||
return;
|
||||
}
|
||||
processResultUtil.requestPermissions(new String[]{
|
||||
Manifest.permission.READ_EXTERNAL_STORAGE,
|
||||
Manifest.permission.WRITE_EXTERNAL_STORAGE,
|
||||
Manifest.permission.CAMERA,
|
||||
Manifest.permission.RECORD_AUDIO
|
||||
}, new Runnable() {
|
||||
String[] permissions;
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
permissions=new String[]{
|
||||
Manifest.permission.READ_MEDIA_IMAGES,
|
||||
Manifest.permission.CAMERA,
|
||||
Manifest.permission.RECORD_AUDIO,
|
||||
};
|
||||
}else{
|
||||
permissions=new String[]{
|
||||
Manifest.permission.READ_EXTERNAL_STORAGE,
|
||||
Manifest.permission.WRITE_EXTERNAL_STORAGE,
|
||||
Manifest.permission.CAMERA,
|
||||
Manifest.permission.RECORD_AUDIO
|
||||
};
|
||||
}
|
||||
processResultUtil.requestPermissions(permissions, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
SocketLinkMicUtil.audienceApplyLinkMic(mSocketClient);
|
||||
|
||||
@@ -642,6 +642,7 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
|
||||
@Override
|
||||
public void onFailed(RTCErrorCode rtcErrorCode) {
|
||||
Log.i("ry", "订阅资源失败: " + rtcErrorCode.getReason());
|
||||
ToastUtil.show(mContext.getString(R.string.live_pk_link_error));
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -768,6 +769,7 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
|
||||
@Override
|
||||
public void onFailed(RTCErrorCode rtcErrorCode) {
|
||||
Log.i("ry", "订阅资源失败: " + rtcErrorCode.getReason());
|
||||
ToastUtil.show(mContext.getString(R.string.live_pk_link_error));
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -924,6 +926,7 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
|
||||
@Override
|
||||
public void onFailed(RTCErrorCode rtcErrorCode) {
|
||||
Log.i("ry", "订阅资源失败: " + rtcErrorCode);
|
||||
ToastUtil.show(mContext.getString(R.string.live_pk_link_error));
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -1000,6 +1003,7 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
|
||||
@Override
|
||||
public void onFailed(RTCErrorCode rtcErrorCode) {
|
||||
Log.e("ry", "订阅资源失败: " + rtcErrorCode);
|
||||
ToastUtil.show(mContext.getString(R.string.live_pk_link_error));
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -1773,6 +1777,7 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
|
||||
@Override
|
||||
public void onFailed(RTCErrorCode rtcErrorCode) {
|
||||
Log.i("ry", "订阅资源失败: " + rtcErrorCode.getReason());
|
||||
ToastUtil.show(mContext.getString(R.string.live_pk_link_error));
|
||||
}
|
||||
});
|
||||
//2. 合流画布设置
|
||||
@@ -1963,6 +1968,7 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
|
||||
@Override
|
||||
public void onFailed(RTCErrorCode rtcErrorCode) {
|
||||
Log.i("ry", "订阅资源失败: " + rtcErrorCode.getReason());
|
||||
ToastUtil.show(mContext.getString(R.string.live_pk_link_error));
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user