Compare commits

...

1177 Commits

Author SHA1 Message Date
49a610deee feat: 动态java方法注册 2023-10-11 19:41:28 +08:00
61f43d53b2 feat: 文章详情WebView预加载 2023-10-11 15:52:35 +08:00
0dcf5d2097 Merge branch 'fix/GHZS-3596' into 'dev'
fix: 【光环助手】APP内图片显示问题 https://jira.shanqu.cc/browse/GHZS-3596

See merge request halo/android/assistant-android!1375
2023-10-09 15:08:09 +08:00
32e584c04c Merge remote-tracking branch 'origin/dev' into dev-5.32.0
# Conflicts:
#	dependencies.gradle
2023-10-09 10:45:04 +08:00
f726a4629f chore: 版本更新至 5.31.1 2023-10-09 10:40:01 +08:00
fbe29d82be fix: 【光环助手】APP内图片显示问题 https://jira.shanqu.cc/browse/GHZS-3596 2023-10-08 16:54:13 +08:00
a6c2254db3 Merge branch 'fix/GHZS-3600' into 'dev'
fix: 光环助手使用微信登录问题 https://jira.shanqu.cc/browse/GHZS-3600

See merge request halo/android/assistant-android!1374
2023-10-08 16:16:21 +08:00
3d4977dc87 Merge branch 'feature-GHZS-3462' into 'dev-5.32.0'
feat: 帖子加载问题优化—客户端 https://jira.shanqu.cc/browse/GHZS-3462

See merge request halo/android/assistant-android!1373
2023-10-08 16:14:05 +08:00
4d0fda6157 feat: 帖子加载问题优化—客户端 https://jira.shanqu.cc/browse/GHZS-3462 2023-10-08 16:14:05 +08:00
34fb8ccf93 fix: 光环助手使用微信登录问题 https://jira.shanqu.cc/browse/GHZS-3600 2023-10-08 16:07:48 +08:00
49b9c3a135 Merge branch 'release' into 'dev'
Release

See merge request halo/android/assistant-android!1372
2023-10-08 09:23:54 +08:00
bc04dcc94b Merge branch 'feature-article-detail-comment-no-data' into 'dev'
feat: 文章详情评论列表缺省图修改

See merge request halo/android/assistant-android!1371
2023-10-08 09:16:48 +08:00
eb0bba47f9 feat: 文章详情评论列表缺省图修改 2023-10-08 09:16:48 +08:00
9ba4e9c2cf Merge branch 'fix/GHZS-3532' into 'dev'
fix:【光环助手】同步正式环境问题-帮助视频问题 https://jira.shanqu.cc/browse/GHZS-3532

See merge request halo/android/assistant-android!1370
2023-10-07 14:06:48 +08:00
3a69bb4452 fix:【光环助手】同步正式环境问题-帮助视频问题 https://jira.shanqu.cc/browse/GHZS-3532 2023-10-07 14:06:48 +08:00
0581ebf409 Merge branch 'hotfix/v5.30.6-956/vivo_culprit' into 'release'
fix: 特殊处理 vivo 设备获取已安装列表权限的异常问题

See merge request halo/android/assistant-android!1369
2023-09-27 15:11:30 +08:00
44607a9039 fix: 特殊处理 vivo 设备获取已安装列表权限的异常问题 2023-09-27 15:06:23 +08:00
00db8c00c6 Merge branch 'feature-GHZS-3528' into 'dev'
fix 【光环助手】同步正式环境问题—帖子详情页相关问题 https://jira.shanqu.cc/browse/GHZS-3528

See merge request halo/android/assistant-android!1367
2023-09-26 11:14:31 +08:00
c64713117e fix 【光环助手】同步正式环境问题—帖子详情页相关问题 https://jira.shanqu.cc/browse/GHZS-3528 2023-09-26 11:14:31 +08:00
28e28d0775 feat: 畅玩游戏启动中转页面内容调整—客户端 https://jira.shanqu.cc/browse/CWZS-101 2023-09-26 09:33:09 +08:00
6f53a67554 feat: 畅玩游戏启动中转页面内容调整—客户端 https://jira.shanqu.cc/browse/CWZS-101 2023-09-26 09:33:09 +08:00
f2b965b447 Merge branch 'fix/GHZS-3513' into 'dev'
fix:【光环助手】同步正式环境问题-新游开测相关 https://jira.shanqu.cc/browse/GHZS-3513

See merge request halo/android/assistant-android!1365
2023-09-21 10:18:58 +08:00
0ae4f745ee fix:【光环助手】同步正式环境问题-新游开测相关 https://jira.shanqu.cc/browse/GHZS-3513 2023-09-21 10:10:05 +08:00
bcfd9cdfef Merge remote-tracking branch 'origin/release' into dev
# Conflicts:
#	dependencies.gradle
2023-09-20 16:32:53 +08:00
94ffe5a86f chore: 版本更新至 5.30.6 2023-09-20 11:03:34 +08:00
c3ddd28bad Merge branch 'pack/v5.29.2-932/remove_storage_permission_and_change_to_v5.30.4-954_rebased' into 'release'
feat: 合规代码合并 https://jira.shanqu.cc/browse/GHZS-3510

See merge request halo/android/assistant-android!1364
2023-09-20 11:01:41 +08:00
eab8bc846c feat: 合规代码合并 https://jira.shanqu.cc/browse/GHZS-3510 2023-09-20 11:01:41 +08:00
05268442f8 Merge branch 'fix/GHZS-3500' into 'dev-5.32.0'
fix: 求版本下载跳转问题 https://jira.shanqu.cc/browse/GHZS-2674

See merge request halo/android/assistant-android!1362
2023-09-20 10:42:45 +08:00
55521e6f29 fix: 求版本下载跳转问题 https://jira.shanqu.cc/browse/GHZS-2674 2023-09-20 10:42:45 +08:00
db5b09cc11 Merge branch 'feature-GHZS-3493' into 'dev-5.32.0'
fix: 插件求版本相关优化—0915测试 https://jira.shanqu.cc/browse/GHZS-3493

See merge request halo/android/assistant-android!1361
2023-09-19 10:51:12 +08:00
b0922b4c29 fix: 插件求版本相关优化—0915测试 https://jira.shanqu.cc/browse/GHZS-3493 2023-09-19 10:51:12 +08:00
455ed32ac6 Merge branch 'hotfix/v5.30.3-953/GHZS-3484' into 'dev'
修复普通微信登录也会触发 QQ 小游戏的微信登录异常 toast 问题

See merge request halo/android/assistant-android!1360
2023-09-18 09:39:47 +08:00
fd92979481 fix: 微信登录提示问题 https://jira.shanqu.cc/browse/GHZS-3484 2023-09-18 09:39:47 +08:00
3d322b29c1 Merge branch 'hotfix/v5.30.3-953/GHZS-3484' into 'release'
修复普通微信登录也会触发 QQ 小游戏的微信登录异常 toast 问题

See merge request halo/android/assistant-android!1359
2023-09-18 09:34:12 +08:00
dcfc2f44cb fix: 微信登录提示问题 https://jira.shanqu.cc/browse/GHZS-3484 2023-09-18 09:34:12 +08:00
b809ae6687 Merge branch 'fix/GHZS-3452' into 'dev-5.32.0'
fix: 开发者中心及其配套优化—0912测试(2) https://jira.shanqu.cc/browse/GHZS-3452

See merge request halo/android/assistant-android!1358
2023-09-15 09:42:17 +08:00
c575e589ae fix: 开发者中心及其配套优化—0912测试(2) https://jira.shanqu.cc/browse/GHZS-3452 2023-09-15 09:30:57 +08:00
2af47af681 Merge branch 'feat/GHZS-3437' into 'dev-5.32.0'
feat: 游戏下载增加文件格式 https://jira.shanqu.cc/browse/GHZS-3437

See merge request halo/android/assistant-android!1354
2023-09-14 17:12:49 +08:00
b1228bdd2a feat: 游戏下载增加文件格式 https://jira.shanqu.cc/browse/GHZS-3437 2023-09-14 17:12:49 +08:00
4008c7fa4d Merge branch 'feature-GHZS-3424-patch-2' into 'dev'
fix: 神策数据埋点第二期-0914测试...

See merge request halo/android/assistant-android!1357
2023-09-14 17:08:30 +08:00
f2d714280b fix: 神策数据埋点第二期-0914测试... 2023-09-14 17:08:30 +08:00
6862609bba Merge branch 'release' into 'dev'
Release

See merge request halo/android/assistant-android!1356
2023-09-14 16:31:22 +08:00
3afae78477 Merge branch 'hotfix/GHZS-3479' into 'release'
fix:【光环助手】通用内容合集首页显示问题 https://jira.shanqu.cc/browse/GHZS-3479

See merge request halo/android/assistant-android!1355
2023-09-14 16:26:20 +08:00
b03df595bc fix:【光环助手】通用内容合集首页显示问题 https://jira.shanqu.cc/browse/GHZS-3479 2023-09-14 16:15:52 +08:00
c6f0825fb5 Merge branch 'feature-GHZS-3432-patch-1' into 'dev'
fix: 神策数据埋点第二期—0912测试...

See merge request halo/android/assistant-android!1353
2023-09-14 09:08:08 +08:00
cbc2902613 fix: 神策数据埋点第二期—0912测试... 2023-09-14 09:08:08 +08:00
db725a417d Merge branch 'chen/202309/fix-upload-archive-crash' into 'dev'
存档上传bug

See merge request halo/android/assistant-android!1352
2023-09-13 12:09:08 +08:00
4270924d0f fix:登陆光环账号,然后断网,在光环助手游戏详情页上传存档,有的手机是上传存档弹窗一闪而过没有任何提示,有的手机是弹窗一闪而过后提示‘当前页面未捕获的异常....’ 2023-09-13 11:58:57 +08:00
69fc206377 Merge branch 'feature-GHZs-3038-patch' into 'dev'
fix: 帖子详情页UI优化 https://jira.shanqu.cc/browse/GHZS-3038

See merge request halo/android/assistant-android!1350
2023-09-13 11:07:47 +08:00
8468ec45c2 fix: 帖子详情页UI优化 https://jira.shanqu.cc/browse/GHZS-3038 2023-09-13 11:07:47 +08:00
256a4c2b0a Merge branch 'feature-GHZS-3424-patch' into 'dev'
feat: 【光环助手】帖子详情页UI优化 https://jira.shanqu.cc/browse/GHZS-3038

See merge request halo/android/assistant-android!1349
2023-09-12 17:37:46 +08:00
7d01e47c26 feat: 【光环助手】帖子详情页UI优化 https://jira.shanqu.cc/browse/GHZS-3038 2023-09-12 17:37:46 +08:00
5814f468b3 Merge branch 'feature-GHZS-3432-patch' into 'dev'
fix: 神策数据埋点第二期—0907测试(2) https://jira.shanqu.cc/browse/GHZS-3432

See merge request halo/android/assistant-android!1348
2023-09-12 16:24:01 +08:00
a5730e0ffd fix: 神策数据埋点第二期—0907测试(2) https://jira.shanqu.cc/browse/GHZS-3432 2023-09-12 16:24:00 +08:00
0dfd87db25 Merge branch 'feature-GHZS-3420' into 'dev'
fix: 帖子详情页UI优化—0906UI测试 https://jira.shanqu.cc/browse/GHZS-3420

See merge request halo/android/assistant-android!1347
2023-09-12 14:49:18 +08:00
31aa16f155 fix: 帖子详情页UI优化—0906UI测试 https://jira.shanqu.cc/browse/GHZS-3420 2023-09-12 14:49:18 +08:00
b22c6b9a5b Merge branch 'feature-GHZS-3432' into 'dev'
fix: 神策数据埋点第二期—0907测试(2) https://jira.shanqu.cc/browse/GHZS-3432

See merge request halo/android/assistant-android!1344
2023-09-12 14:46:11 +08:00
ffae0d1b1d Merge branch 'dev' into 'dev-5.32.0'
Dev

See merge request halo/android/assistant-android!1346
2023-09-12 13:59:06 +08:00
5d8a31c725 Merge branch 'release' into 'dev'
Release

See merge request halo/android/assistant-android!1345
2023-09-12 13:58:25 +08:00
1c35982db0 Merge branch 'feature-GHZS-qq-game-crash' into 'release'
fix: 修复QQ小游戏调用stopAllMiniApp方法Context为空导致的崩溃问题

See merge request halo/android/assistant-android!1343
2023-09-12 13:46:54 +08:00
52f71dc79e fix: 修复QQ小游戏调用stopAllMiniApp方法Context为空导致的崩溃问题 2023-09-12 13:46:53 +08:00
f1c0155379 fix: 神策数据埋点第二期—0907测试(2) https://jira.shanqu.cc/browse/GHZS-3432 2023-09-12 11:38:30 +08:00
19dc23d98a Merge branch 'fix/GHZS-3434' into 'dev'
fix: 首页推荐入口数据上报问题 https://jira.shanqu.cc/browse/GHZS-3434

See merge request halo/android/assistant-android!1342
2023-09-12 11:00:30 +08:00
69c82ec0e6 fix: 首页推荐入口数据上报问题 https://jira.shanqu.cc/browse/GHZS-3434 2023-09-12 11:00:29 +08:00
b1a9d96c3b Merge branch 'fix/GHZS-3426' into 'dev'
fix: 神策数据埋点第二期—0907测试(1)(0911测试) https://jira.shanqu.cc/browse/GHZS-3426

See merge request halo/android/assistant-android!1340
2023-09-11 17:45:22 +08:00
a88500576f Merge branch 'hotfix/home_game_collection_refresh' into 'release'
fix: 修复首页/版块在特定情况下显示空白的问题

See merge request halo/android/assistant-android!1341
2023-09-11 17:45:05 +08:00
058eaf0a4a fix: 修复首页/版块在特定情况下显示空白的问题 2023-09-11 17:10:40 +08:00
1b326a0515 fix: 神策数据埋点第二期—0907测试(1)(0911测试) https://jira.shanqu.cc/browse/GHZS-3426 2023-09-11 15:44:02 +08:00
3fc1fd821a Merge branch 'feature/GHZS-3408' into 'dev-5.32.0'
feat: 开发者中心及配套优化—客户端 https://jira.shanqu.cc/browse/GHZS-3408

See merge request halo/android/assistant-android!1339
2023-09-11 09:55:00 +08:00
b3af44cc4c feat: 开发者中心及配套优化—客户端 https://jira.shanqu.cc/browse/GHZS-3408 2023-09-11 09:49:25 +08:00
44c1711be7 Merge branch 'fix/GHZS-3426' into 'dev'
fix: 神策数据埋点第二期—0907测试(1) https://jira.shanqu.cc/browse/GHZS-3426

See merge request halo/android/assistant-android!1338
2023-09-08 16:19:21 +08:00
c616df87ea fix: 神策数据埋点第二期—0907测试(1) https://jira.shanqu.cc/browse/GHZS-3426 2023-09-08 16:11:02 +08:00
dd7072eea4 Merge branch 'feature-GHZS-3412' into 'dev-5.32.0'
feat: 插件求版本相关优化—0905测试 https://jira.shanqu.cc/browse/GHZS-3412

See merge request halo/android/assistant-android!1337
2023-09-08 15:55:50 +08:00
4ee463f03e feat: 插件求版本相关优化—0905测试 https://jira.shanqu.cc/browse/GHZS-3412 2023-09-08 15:55:49 +08:00
d3dc31eeaf Update README.md 2023-09-08 15:27:26 +08:00
08b364a626 Merge branch 'fix/GHZS-3421' into 'dev'
fix: 右下悬浮窗优化-新增悬浮窗展开交互—0907测试(补充) https://jira.shanqu.cc/browse/GHZS-3421

See merge request halo/android/assistant-android!1336
2023-09-08 14:59:40 +08:00
9e6d1e5fbd fix: 右下悬浮窗优化-新增悬浮窗展开交互—0907测试(补充) https://jira.shanqu.cc/browse/GHZS-3421 2023-09-08 14:59:40 +08:00
75a21ee04e Merge branch 'feature-GHZS-3424' into 'dev'
feat: 帖子详情页UI优化—0907UI测试 https://jira.shanqu.cc/browse/GHZS-3424

See merge request halo/android/assistant-android!1335
2023-09-08 13:59:49 +08:00
27d13d4ce9 feat: 帖子详情页UI优化—0907UI测试 https://jira.shanqu.cc/browse/GHZS-3424 2023-09-08 13:59:49 +08:00
16526ddfbd Merge branch 'feature/GHZS-3346' into 'dev-5.32.0'
feat: 插件管理功能优化(第2期)—客户端 https://jira.shanqu.cc/browse/GHZS-3346

See merge request halo/android/assistant-android!1334
2023-09-08 11:20:21 +08:00
d6e676300e feat: 插件管理功能优化(第2期)—客户端 https://jira.shanqu.cc/browse/GHZS-3346 2023-09-08 11:15:30 +08:00
7852972e01 feat: 插件管理功能优化(第2期)—客户端 https://jira.shanqu.cc/browse/GHZS-3346 2023-09-08 11:15:22 +08:00
6ff76ea1ed Merge branch 'fix/help_video' into 'dev'
修复帮助视频相关问题

See merge request halo/android/assistant-android!1333
2023-09-07 18:05:18 +08:00
39d51ceeb3 fix: 处理帮助视频全屏播放时全面屏手势与进度条冲突导致无法拖动进度条的问题 2023-09-07 17:49:54 +08:00
00fc6e447c fix: 修复帮助视频上报埋点数据异常的问题 2023-09-07 16:23:22 +08:00
76fff608ed Merge branch 'fix/GHZS-3421' into 'dev'
fix: 右下悬浮窗优化-新增悬浮窗展开交互—0907测试 https://jira.shanqu.cc/browse/GHZS-3421

See merge request halo/android/assistant-android!1332
2023-09-07 11:03:51 +08:00
460409ac30 fix: 右下悬浮窗优化-新增悬浮窗展开交互—0907测试 https://jira.shanqu.cc/browse/GHZS-3421 2023-09-07 10:57:45 +08:00
80403e1684 Merge remote-tracking branch 'origin/dev' into dev-5.32.0 2023-09-07 10:30:53 +08:00
ef32fd946b Merge branch 'feature-GHZS-3373-patch-1' into 'dev'
feat: 帖子详情页UI优化—0901UI测试-客户端 https://jira.shanqu.cc/browse/GHZS-3373

See merge request halo/android/assistant-android!1331
2023-09-07 09:50:49 +08:00
23d57c8bbd feat: 帖子详情页UI优化—0901UI测试-客户端 https://jira.shanqu.cc/browse/GHZS-3373 2023-09-07 09:50:49 +08:00
c46b93769d Merge branch 'fix/GHZS-3415' into 'dev'
fix: 意见反馈页面改版—0906UI测试 https://jira.shanqu.cc/browse/GHZS-3415

See merge request halo/android/assistant-android!1330
2023-09-06 17:52:07 +08:00
2305229919 fix: 意见反馈页面改版—0906UI测试 https://jira.shanqu.cc/browse/GHZS-3415 2023-09-06 17:48:39 +08:00
0e9453b1b2 Merge branch 'fix/floating_window_api_crash' into 'dev'
fix: 修复右下悬浮窗接口结构未同步造成的闪退

See merge request halo/android/assistant-android!1329
2023-09-06 16:58:32 +08:00
420290bc87 fix: 修复右下悬浮窗接口结构未同步造成的闪退 2023-09-06 16:55:43 +08:00
91be2cea1d Merge branch 'fix/GHZS-3415' into 'dev'
fix: 意见反馈页面改版—0906UI测试 https://jira.shanqu.cc/browse/GHZS-3415

See merge request halo/android/assistant-android!1328
2023-09-06 15:52:13 +08:00
4dc3a8edc3 fix: 意见反馈页面改版—0906UI测试 https://jira.shanqu.cc/browse/GHZS-3415 2023-09-06 15:27:43 +08:00
5ba9c74583 Merge branch 'feature-GHZS-3373' into 'dev'
feat: 帖子详情页UI优化—0901UI测试-Web前端 https://jira.shanqu.cc/browse/GHZS-3374

See merge request halo/android/assistant-android!1326
2023-09-06 11:38:43 +08:00
a694e401d3 feat: 帖子详情页UI优化—0901UI测试-Web前端 https://jira.shanqu.cc/browse/GHZS-3374 2023-09-06 11:38:43 +08:00
a6cb0b9fa0 Merge branch 'fix/feedback' into 'dev'
fix: 修改意见反馈页面文案

See merge request halo/android/assistant-android!1327
2023-09-06 11:34:26 +08:00
9b599fd28d fix: 修改意见反馈页面文案 2023-09-06 11:33:10 +08:00
f04fecc11e Merge branch 'feature-GHZS-3373' into 'dev'
feat: 帖子详情页UI优化—0901UI测试-客户端 https://jira.shanqu.cc/browse/GHZS-3373

See merge request halo/android/assistant-android!1323
2023-09-06 10:05:54 +08:00
471e28099b Merge branch 'fix/GHZS-3371' into 'dev'
fix: 意见反馈页面改版—0901UI测试(4) https://jira.shanqu.cc/browse/GHZS-3371

See merge request halo/android/assistant-android!1325
2023-09-05 17:31:44 +08:00
5a3031ae87 fix: 意见反馈页面改版—0901UI测试(4) https://jira.shanqu.cc/browse/GHZS-3371 2023-09-05 17:30:30 +08:00
1421f27bd3 Merge branch 'fix/GHZS-3371' into 'dev'
fix: 意见反馈页面改版—0901UI测试(2) https://jira.shanqu.cc/browse/GHZS-3371

See merge request halo/android/assistant-android!1324
2023-09-05 16:12:51 +08:00
e9e152eeee fix: 意见反馈页面改版—0901UI测试(2) https://jira.shanqu.cc/browse/GHZS-3371 2023-09-05 16:01:31 +08:00
aae6904e4b feat: 帖子详情页UI优化—0901UI测试-客户端 https://jira.shanqu.cc/browse/GHZS-3373 2023-09-05 16:00:36 +08:00
db7fbe057e Merge remote-tracking branch 'origin/dev' into dev-5.32.0 2023-09-05 14:35:39 +08:00
042508e8e6 Merge branch 'release' into dev
# Conflicts:
#	dependencies.gradle
2023-09-05 14:35:09 +08:00
af5736f54d Merge branch 'fix/GHZS-3371' into 'dev'
fix: 意见反馈页面改版—0901UI测试(1-2) https://jira.shanqu.cc/browse/GHZS-3371

See merge request halo/android/assistant-android!1322
2023-09-05 14:21:11 +08:00
56816fa682 fix: 意见反馈页面改版—0901UI测试(1-2) https://jira.shanqu.cc/browse/GHZS-3371 2023-09-05 14:17:47 +08:00
05e0609f94 Merge branch 'fix/GHZS-3382' into 'dev'
fix: 帮助与反馈页面改版—0904测试 https://jira.shanqu.cc/browse/GHZS-3382

See merge request halo/android/assistant-android!1320
2023-09-05 14:05:25 +08:00
7a080851ae Merge branch 'feature-GHZS-3276-patch-2' into 'dev'
feat: 游戏详情-开服日历表-反馈优化—0822UI测试 https://jira.shanqu.cc/browse/GHZS-3276

See merge request halo/android/assistant-android!1321
2023-09-05 13:56:46 +08:00
e1ce989d43 feat: 游戏详情-开服日历表-反馈优化—0822UI测试 https://jira.shanqu.cc/browse/GHZS-3276 2023-09-05 13:56:46 +08:00
6e00a0c2a6 fix: 帮助与反馈页面改版—0904测试 https://jira.shanqu.cc/browse/GHZS-3382 2023-09-05 10:19:58 +08:00
71318fa9ef chore: 版本更新至 5.30.3 2023-09-05 10:03:01 +08:00
05b4896d6e Merge branch 'feature-GHZS-sentry-327680' into 'release'
fix: 修复QQ小游戏Activity未校验导致的BUG

See merge request halo/android/assistant-android!1319
2023-09-05 10:02:07 +08:00
7f40e45ef2 fix: 修复QQ小游戏Activity未校验导致的BUG 2023-09-05 10:02:07 +08:00
2928c59b87 Merge branch 'fix/help_and_feedback_help_video' into 'dev'
fix: 修复帮助视频轮播显示问题

See merge request halo/android/assistant-android!1318
2023-09-04 17:58:39 +08:00
ceb2442f3f fix: 修复帮助视频轮播显示问题 2023-09-04 17:56:43 +08:00
cec684c325 Merge branch 'fix/GHZS-3361' into 'dev'
fix: 帮助与反馈页面改版—0831测试(特殊处理【与我相关】接口内容) https://jira.shanqu.cc/browse/GHZS-3361

See merge request halo/android/assistant-android!1317
2023-09-04 16:23:31 +08:00
b5e4bf772b fix: 帮助与反馈页面改版—0901UI测试(8) https://jira.shanqu.cc/browse/GHZS-3370 2023-09-04 15:08:11 +08:00
9f3fe9e30d fix: 帮助与反馈页面改版—0831测试(特殊处理【与我相关】接口内容) https://jira.shanqu.cc/browse/GHZS-3361 2023-09-04 14:53:54 +08:00
c7174bbaec Merge branch 'fix/help_and_feedback_swipe_refresh' into 'dev'
fix: 修复帮助与反馈页面左右滑动会触发下拉刷新的问题

See merge request halo/android/assistant-android!1316
2023-09-04 11:53:42 +08:00
de013e0129 fix: 修复帮助与反馈页面左右滑动会触发下拉刷新的问题 2023-09-04 11:51:30 +08:00
412ea87668 Merge branch 'hotfix/v5.30.2-952/sql_crashes' into 'release'
fix: 捕抓卸载畅玩游戏时的数据库闪退问题...

See merge request halo/android/assistant-android!1315
2023-09-04 11:23:33 +08:00
dc40f81ff2 fix: 捕抓卸载畅玩游戏时的数据库闪退问题 https://sentry.shanqu.cc/organizations/lightgame/issues/299251/events/0dd11c01f5a5465face2b6849e5cffc4/?project=22 2023-09-04 11:15:14 +08:00
25c849ccad Merge branch 'fix/GHZS-3371' into 'dev'
fix: 意见反馈页面改版—UI测试 https://jira.shanqu.cc/browse/GHZS-3371

See merge request halo/android/assistant-android!1314
2023-09-04 10:26:54 +08:00
927c846bcb Merge branch 'fix/GHZS-3361' into 'dev'
fix: 帮助与反馈页面改版—0831测试 https://jira.shanqu.cc/browse/GHZS-3361

See merge request halo/android/assistant-android!1313
2023-09-04 10:26:40 +08:00
fcd13ba8b0 fix: 意见反馈页面改版—UI测试 https://jira.shanqu.cc/browse/GHZS-3371 2023-09-04 10:23:48 +08:00
bccd161762 Merge branch 'feature-GHZS-3276-patch-1' into 'dev'
feat: 【光环助手】游戏详情-开服日历表-反馈优化 https://jira.shanqu.cc/browse/GHZS-3049

See merge request halo/android/assistant-android!1312
2023-09-04 10:05:55 +08:00
776dfddc34 feat: 【光环助手】游戏详情-开服日历表-反馈优化 https://jira.shanqu.cc/browse/GHZS-3049 2023-09-04 10:05:55 +08:00
b31b529ca7 Merge branch 'feature-GHZS-3367' into 'dev'
feat: 帖子详情页UI优化—0831测试 https://jira.shanqu.cc/browse/GHZS-3367

See merge request halo/android/assistant-android!1311
2023-09-04 09:40:19 +08:00
1cc2f5387a feat: 帖子详情页UI优化—0831测试 https://jira.shanqu.cc/browse/GHZS-3367 2023-09-02 21:38:19 +08:00
5c79a01cc6 fix: 帮助与反馈页面改版—UI测试 https://jira.shanqu.cc/browse/GHZS-3370 2023-09-01 18:01:06 +08:00
1e3704c1ed fix: 帮助与反馈页面改版—0831测试 https://jira.shanqu.cc/browse/GHZS-3361 2023-09-01 14:17:17 +08:00
41340f7333 Merge branch 'feature-GHZS-3295' into 'dev-5.32.0'
feat: 插件求版本相关优化—客户端 https://jira.shanqu.cc/browse/GHZS-3295

See merge request halo/android/assistant-android!1310
2023-09-01 11:45:18 +08:00
e73fc09d9b feat: 插件求版本相关优化—客户端 https://jira.shanqu.cc/browse/GHZS-3295 2023-09-01 11:35:50 +08:00
d593c54262 Merge branch 'hotfix/v5.30.2-952/number-format-issue' into 'release'
fix: 修复在部分语言设备上解压 XAPK 文件时的闪退问题...

See merge request halo/android/assistant-android!1309
2023-09-01 11:18:29 +08:00
b1e5d48098 fix: 修复在部分语言设备上解压 XAPK 文件时的闪退问题 https://sentry.shanqu.cc/organizations/lightgame/issues/318692/?project=22&query=NumberFormatException&statsPeriod=14d 2023-09-01 11:10:21 +08:00
f9d652d629 Merge branch 'fix/floating_window_issue' into 'dev'
fix: 修复右下悬浮窗及启动弹窗的一些显示问题

See merge request halo/android/assistant-android!1308
2023-08-31 17:05:54 +08:00
77ee092b5b chore: 版本更新至 5.30.2 2023-08-31 16:58:17 +08:00
0a61d29f37 fix: 修复右下悬浮窗及启动弹窗的一些显示问题 2023-08-31 16:50:14 +08:00
c65147e309 Merge branch 'hotfix/v5.30.1-951/ad-sdk-init-issue' into 'release'
fix: 修复开屏广告有机率因为初始化问题导致无法显示的问题

See merge request halo/android/assistant-android!1307
2023-08-31 16:02:13 +08:00
1ff2bb0bcc fix: 修复开屏广告有机率因为初始化问题导致无法显示的问题 2023-08-31 15:45:46 +08:00
f8ce9ffc90 Merge branch 'fix/GHZS-3358' into 'dev'
fix: 意见反馈页面改版-0830测试 https://jira.shanqu.cc/browse/GHZS-3358

See merge request halo/android/assistant-android!1306
2023-08-31 10:59:25 +08:00
42366a8591 fix: 意见反馈页面改版-0830测试 https://jira.shanqu.cc/browse/GHZS-3358 2023-08-31 10:53:52 +08:00
5dbf29a09d Merge branch 'feature-GHZS-3276-patch' into 'dev'
feat: 游戏详情-开服日历表-反馈优化—0822UI测试 https://jira.shanqu.cc/browse/GHZS-3276

See merge request halo/android/assistant-android!1305
2023-08-31 10:53:41 +08:00
9621a62ed6 feat: 游戏详情-开服日历表-反馈优化—0822UI测试 https://jira.shanqu.cc/browse/GHZS-3276 2023-08-31 10:37:27 +08:00
07f320db27 Merge remote-tracking branch 'origin/release' into dev
# Conflicts:
#	dependencies.gradle
2023-08-31 10:20:25 +08:00
89ecf09b55 Merge branch 'hotfix/v5.30.1-951/gson-culprit' into 'release'
fix: 捕抓 gson toList 方法在部分设备上异常闪退的问题

See merge request halo/android/assistant-android!1304
2023-08-31 10:19:34 +08:00
2cfb227c22 fix: 捕抓 gson toList 方法在部分设备上异常闪退的问题 2023-08-31 10:18:02 +08:00
285ec88d01 Merge branch 'feature-GHZS-3168' into 'dev'
feat: 帖子详情页UI优化—客户端 https://jira.shanqu.cc/browse/GHZS-3168

See merge request halo/android/assistant-android!1303
2023-08-31 09:26:01 +08:00
1f86e7b32d feat: 帖子详情页UI优化—客户端 https://jira.shanqu.cc/browse/GHZS-3168 2023-08-30 18:00:09 +08:00
f34adc8e6d chore: 版本更新至 5.30.1 2023-08-30 17:39:45 +08:00
8606c8f87a Merge branch 'feature-GHZS-sentry-327130' into 'release'
Fix Sentry327130 QQ小游戏生命周期回调异常处理

See merge request halo/android/assistant-android!1301
2023-08-30 17:22:18 +08:00
caf2dbacf9 Fix Sentry327130 QQ小游戏生命周期回调异常处理 2023-08-30 17:22:18 +08:00
df6c87eed2 Merge branch 'fix/GHZS-3064' into 'dev'
fix: 修复帮助与反馈页面帮助视频轮播与下拉刷新的滑动冲突

See merge request halo/android/assistant-android!1302
2023-08-30 17:08:00 +08:00
2894a964ea fix: 修复帮助与反馈页面帮助视频轮播与下拉刷新的滑动冲突 2023-08-30 17:06:35 +08:00
421baf2889 Merge branch 'fix/GHZS-3315' into 'dev'
fix: 重构首页弹窗类功能的显示(调整通知权限弹窗的回调)

See merge request halo/android/assistant-android!1300
2023-08-30 15:32:46 +08:00
040901f9df fix: 重构首页弹窗类功能的显示(调整通知权限弹窗的回调) 2023-08-30 15:28:24 +08:00
9587336b31 Merge branch 'fix/vgame_ui_issue' into 'release'
fix: 修复畅玩首页最近在玩区域的更多按钮被隐藏的问题

See merge request halo/android/assistant-android!1299
2023-08-30 15:23:31 +08:00
e1c2b2027a fix: 修复畅玩首页最近在玩区域的更多按钮被隐藏的问题 2023-08-30 15:22:39 +08:00
c5ff26c879 Merge branch 'fix/crashes' into 'release'
修复Sentry闪退问题

See merge request halo/android/assistant-android!1298
2023-08-30 15:10:57 +08:00
9690a695d4 fix: Sentry327122 https://sentry.shanqu.cc/organizations/lightgame/issues/327122/ 2023-08-30 15:06:59 +08:00
78e9c43f24 fix: Sentry323027 https://sentry.shanqu.cc/organizations/lightgame/issues/323027/ 2023-08-30 15:06:59 +08:00
2d9af85b62 Merge branch 'fix/home_game_collection_carousel_crash' into 'dev'
fix: 修复首页游戏单轮播数组越界闪退

See merge request halo/android/assistant-android!1297
2023-08-30 14:36:12 +08:00
35c71c70c9 fix: 修复首页游戏单轮播数组越界闪退 2023-08-30 14:23:47 +08:00
70e63ed8e3 Merge branch 'fix/GHZS-3286' into 'dev-5.32.0'
fix: 单机插件更新跳转—客户端 https://jira.shanqu.cc/browse/GHZS-3286

See merge request halo/android/assistant-android!1296
2023-08-30 11:32:38 +08:00
b7a36074ed fix: 单机插件更新跳转—客户端 https://jira.shanqu.cc/browse/GHZS-3286 2023-08-30 11:08:31 +08:00
0cb7e4c9a1 Merge branch 'fix/window_animation' into 'dev'
fix: 优化右下悬浮窗的隐藏动画

See merge request halo/android/assistant-android!1295
2023-08-30 10:55:50 +08:00
152b9add80 fix: 优化右下悬浮窗的隐藏动画 2023-08-30 10:52:22 +08:00
ab27ca5256 Merge branch 'fix/compose_setting' into 'dev'
fix: 修复compose设置模块编译问题

See merge request halo/android/assistant-android!1294
2023-08-29 17:35:37 +08:00
90545415ae fix: 修复compose设置模块编译问题 2023-08-29 17:31:55 +08:00
8018517207 Merge branch 'feature/GHZS-3172' into 'dev'
feat: 神策数据埋点第二期(1)—客户端 https://jira.shanqu.cc/browse/GHZS-3172

See merge request halo/android/assistant-android!1293
2023-08-29 15:40:15 +08:00
c79128d6f4 feat: 神策数据埋点第二期(1)—客户端 https://jira.shanqu.cc/browse/GHZS-3172 2023-08-29 15:40:15 +08:00
141d179a64 chore: 版本个更新至 5.32.0 2023-08-29 14:12:07 +08:00
0a9471fc2e Merge remote-tracking branch 'origin/dev' into dev-5.31.0 2023-08-29 14:06:47 +08:00
7cfa26ff02 Merge branch 'build/build_issue' into 'dev'
build: 将 QQ 小游戏的类添加到移除日志输出白名单,避免无法编译

See merge request halo/android/assistant-android!1292
2023-08-29 11:55:24 +08:00
a7335d21c5 build: 将 QQ 小游戏的类添加到移除日志输出白名单,避免无法编译 2023-08-29 11:54:43 +08:00
ce3d594a4e Merge branch 'feat/GHZS-3182' into 'dev-5.31.0'
feat: 神策数据埋点第二期(3) https://jira.shanqu.cc/browse/GHZS-3182

See merge request halo/android/assistant-android!1291
2023-08-29 10:50:58 +08:00
553f84daa1 feat: 神策数据埋点第二期(3) https://jira.shanqu.cc/browse/GHZS-3182 2023-08-29 10:35:40 +08:00
70f782cb5c Merge branch 'fix/GHZS-3325' into 'dev-5.31.0'
fix: 右下悬浮窗优化-0828测试 https://jira.shanqu.cc/browse/GHZS-3325

See merge request halo/android/assistant-android!1290
2023-08-29 10:25:53 +08:00
28725ae76f fix: 右下悬浮窗优化-0828测试 https://jira.shanqu.cc/browse/GHZS-3325 2023-08-29 10:17:38 +08:00
b0972f1a80 Merge branch 'feature/GHZS-3064' into 'dev-5.31.0'
帮助与反馈页面改版&意见反馈页面改版

See merge request halo/android/assistant-android!1283
2023-08-28 14:06:09 +08:00
585660e52d 帮助与反馈页面改版&意见反馈页面改版 2023-08-28 14:06:09 +08:00
0fd84f8b44 Merge branch 'fix/csj-privacy-issue' into 'dev'
fix: 处理穿山甲 SDK 的自动初始化问题,穿山甲 SDK 区分测试和正式 ID

See merge request halo/android/assistant-android!1288
2023-08-28 09:51:41 +08:00
43bcf78dea Merge branch 'fix/GHZS-3317' into 'dev'
fix: 【光环助手】插件通知业务:已通知的消息图片不展示以及批量回复“未回复”用户报错(1) https://jira.shanqu.cc/browse/GHZS-3317

See merge request halo/android/assistant-android!1289
2023-08-28 09:51:33 +08:00
fb44391500 fix: 处理穿山甲 SDK 的自动初始化问题,穿山甲 SDK 区分测试和正式 ID 2023-08-28 09:44:20 +08:00
4c4de337cd fix: 【光环助手】插件通知业务:已通知的消息图片不展示以及批量回复“未回复”用户报错(1) https://jira.shanqu.cc/browse/GHZS-3317 2023-08-28 09:41:45 +08:00
20998852b6 fix: 处理合并冲突 2023-08-25 16:57:53 +08:00
929a2c4d29 Merge remote-tracking branch 'origin/dev' into dev-5.31.0
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java
#	app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalAdapter.kt
2023-08-25 16:38:27 +08:00
f0fd323107 Merge branch 'fix/floating_window_animation' into 'dev-5.31.0'
fix: 修复右下悬浮窗展开和收起的动画显示问题

See merge request halo/android/assistant-android!1287
2023-08-25 16:34:50 +08:00
00892e831a fix: 修复右下悬浮窗展开和收起的动画显示问题 2023-08-25 16:34:15 +08:00
625e448928 Merge branch 'fix/qGame_culprit' into 'dev'
fix: 修复专题详情默认为 QQ 小游戏的问题

See merge request halo/android/assistant-android!1286
2023-08-25 16:04:53 +08:00
2bfefc5082 fix: 修复专题详情默认为 QQ 小游戏的问题 2023-08-25 16:00:17 +08:00
a55fcdcb28 Merge branch 'feat/GHZS-3081' into 'dev-5.31.0'
feat: 右下悬浮窗优化-新增悬浮窗展开交互 https://jira.shanqu.cc/browse/GHZS-3081

See merge request halo/android/assistant-android!1285
2023-08-24 18:03:20 +08:00
1538d77960 Merge branch 'feature-GHZS-3273' into 'dev'
feat: 【光环助手】同步正式问题—QQ小游戏SDK https://jira.shanqu.cc/browse/GHZS-3273

See merge request halo/android/assistant-android!1284
2023-08-24 17:41:27 +08:00
9f77e70c16 feat: 【光环助手】同步正式问题—QQ小游戏SDK https://jira.shanqu.cc/browse/GHZS-3273 2023-08-24 17:41:27 +08:00
548a34c66d feat: 右下悬浮窗优化-新增悬浮窗展开交互 https://jira.shanqu.cc/browse/GHZS-3081 2023-08-24 17:28:36 +08:00
55f51284c8 Merge branch 'feature-GHZS-3255' into 'dev-5.31.0'
feat: 插件化相关弹窗埋点补充—0817测试 https://jira.shanqu.cc/browse/GHZS-3255

See merge request halo/android/assistant-android!1282
2023-08-24 15:06:07 +08:00
079dac80f8 feat: 插件化相关弹窗埋点补充—0817测试 https://jira.shanqu.cc/browse/GHZS-3255 2023-08-24 15:06:07 +08:00
b33fee6ec0 Merge branch 'feature-GHZS-3276' into 'dev-5.31.0'
feat: 游戏详情-开服日历表-反馈优化—0822UI测试 https://jira.shanqu.cc/browse/GHZS-3276

See merge request halo/android/assistant-android!1281
2023-08-24 09:55:43 +08:00
2c1fdae6c7 feat: 游戏详情-开服日历表-反馈优化—0822UI测试 https://jira.shanqu.cc/browse/GHZS-3276 2023-08-24 09:55:43 +08:00
6a935b18e8 Merge branch 'fix/GHZS-3274' into 'dev-5.31.0'
fix: 新游开测相关功能优化(第二期)—0822UI测试 https://jira.shanqu.cc/browse/GHZS-3274

See merge request halo/android/assistant-android!1280
2023-08-22 15:40:13 +08:00
91c363fb55 fix: 新游开测相关功能优化(第二期)—0822UI测试 https://jira.shanqu.cc/browse/GHZS-3274 2023-08-22 15:38:46 +08:00
630f78e62d Merge branch 'feature-sentry-318553' into 'dev'
fix: Sentry318553

See merge request halo/android/assistant-android!1279
2023-08-18 16:55:52 +08:00
dc7b103cbc fix: Sentry318553 2023-08-18 16:55:52 +08:00
d30f51123d Merge branch 'feature-GHZS-2966-new' into 'dev'
feat: QQ小游戏SDK接入—客户端 https://jira.shanqu.cc/browse/GHZS-2966

See merge request halo/android/assistant-android!1278
2023-08-18 15:23:19 +08:00
00f625c350 feat: QQ小游戏SDK接入—客户端 https://jira.shanqu.cc/browse/GHZS-2966 2023-08-18 15:23:19 +08:00
95f63bd4f2 Merge branch 'feat/GHZS-3252' into 'dev'
feat: 已安装列表权限-合规整改 https://jira.shanqu.cc/browse/GHZS-3249

See merge request halo/android/assistant-android!1276
2023-08-17 16:53:41 +08:00
e1a65c5fce Merge branch 'fix/GHZS-3248' into 'dev-5.31.0'
fix: 新游开测相关功能优化(第二期)—0817测试 https://jira.shanqu.cc/browse/GHZS-3248

See merge request halo/android/assistant-android!1277
2023-08-17 16:39:02 +08:00
9fd6ce4e74 fix: 新游开测相关功能优化(第二期)—0817测试 https://jira.shanqu.cc/browse/GHZS-3248 2023-08-17 16:37:33 +08:00
46df9cdccc Merge branch 'fix/GHZS-3248' into 'dev-5.31.0'
fix: 新游开测相关功能优化(第二期)—0817测试 https://jira.shanqu.cc/browse/GHZS-3248

See merge request halo/android/assistant-android!1275
2023-08-17 16:34:37 +08:00
339665f90f fix: 新游开测相关功能优化(第二期)—0817测试 https://jira.shanqu.cc/browse/GHZS-3248 2023-08-17 16:29:33 +08:00
07a1b2a63b feat: 已安装列表权限-合规整改 https://jira.shanqu.cc/browse/GHZS-3249 2023-08-17 16:29:29 +08:00
96d9d05eb9 Merge branch 'fix/config_error' into 'dev-5.31.0'
fix: 修复阿里云OSS图片数据处理字段使用错误问题 https://jira.shanqu.cc/browse/GHZS-3113

See merge request halo/android/assistant-android!1274
2023-08-17 14:04:14 +08:00
b1c848a7a6 fix: 修复阿里云OSS图片数据处理字段使用错误问题 2023-08-17 14:03:32 +08:00
eb4d84bb48 Merge branch 'feat/GHZS-3113' into 'dev-5.31.0'
feat: 阿里云OSS图片数据处理 https://jira.shanqu.cc/browse/GHZS-3113

See merge request halo/android/assistant-android!1273
2023-08-17 11:44:25 +08:00
04f72091e4 feat: 阿里云OSS图片数据处理 https://jira.shanqu.cc/browse/GHZS-3113 2023-08-17 11:34:54 +08:00
5d21d62140 Merge branch 'feature-GHZS-3163' into 'dev-5.31.0'
feat:插件化相关弹窗埋点补充—客户端 https://jira.shanqu.cc/browse/GHZS-3163

See merge request halo/android/assistant-android!1272
2023-08-17 10:34:59 +08:00
0a7b646779 feat:插件化相关弹窗埋点补充—客户端 https://jira.shanqu.cc/browse/GHZS-3163 2023-08-17 10:22:44 +08:00
6a36874ef8 Merge branch 'fix/GHZS-3242' into 'dev'
fix: 订阅&推送体系优化-消息中心优化—0816测试-客户端(1) https://jira.shanqu.cc/browse/GHZS-3242

See merge request halo/android/assistant-android!1271
2023-08-16 18:02:13 +08:00
285e0caafe fix: 订阅&推送体系优化-消息中心优化—0816测试-客户端(1) https://jira.shanqu.cc/browse/GHZS-3242 2023-08-16 17:51:09 +08:00
9f9a675f04 Merge branch 'feature/GHZS-3176' into 'dev-5.31.0'
feat: 新游开测相关功能优化(第二期)—客户端 https://jira.shanqu.cc/browse/GHZS-3176

See merge request halo/android/assistant-android!1270
2023-08-16 17:35:23 +08:00
0e0c6c48af Merge branch 'fix/GHZS-3242' into 'dev'
fix: 订阅&推送体系优化-消息中心优化—0816测试-客户端(2) https://jira.shanqu.cc/browse/GHZS-3242

See merge request halo/android/assistant-android!1269
2023-08-16 17:30:07 +08:00
238220548a feat: 新游开测相关功能优化(第二期)—客户端 https://jira.shanqu.cc/browse/GHZS-3176 2023-08-16 17:18:18 +08:00
38c02380ad fix: 订阅&推送体系优化-消息中心优化—0816测试-客户端(2) https://jira.shanqu.cc/browse/GHZS-3242 2023-08-16 16:24:16 +08:00
dfc023a0cd Merge branch 'feat/GHZS-3161' into 'dev-5.31.0'
feat: 帖子发布图片数量限制开放 https://jira.shanqu.cc/browse/GHZS-3161

See merge request halo/android/assistant-android!1268
2023-08-16 15:57:28 +08:00
cbd9a5708b feat: 帖子发布图片数量限制开放 https://jira.shanqu.cc/browse/GHZS-3161 2023-08-16 15:56:50 +08:00
bf5608492d Merge branch 'fix/GHZS-3217' into 'dev'
fix: 搜索结果列表跳转开服表问题 https://jira.shanqu.cc/browse/GHZS-3217

See merge request halo/android/assistant-android!1267
2023-08-16 15:42:55 +08:00
267f03fd42 fix: 搜索结果列表跳转开服表问题 https://jira.shanqu.cc/browse/GHZS-3217 2023-08-16 15:23:53 +08:00
8b0a639196 Merge branch 'feature-GHZS-3063' into 'dev-5.31.0'
feat:游戏详情-开服日历表-反馈优化—客户端 https://jira.shanqu.cc/browse/GHZS-3063

See merge request halo/android/assistant-android!1266
2023-08-16 15:14:43 +08:00
75f164249f feat:游戏详情-开服日历表-反馈优化—客户端 https://jira.shanqu.cc/browse/GHZS-3063 2023-08-16 15:01:48 +08:00
fd72f01b1d Merge branch 'feature/GHZS-3238' into 'dev-5.31.0'
feat: 游戏专区配置相关优化—客户端 https://jira.shanqu.cc/browse/GHZS-3238

See merge request halo/android/assistant-android!1265
2023-08-16 14:24:34 +08:00
c17a55e33c feat: 游戏专区配置相关优化—客户端 https://jira.shanqu.cc/browse/GHZS-3238 2023-08-16 14:13:36 +08:00
d39a62d4e0 Merge branch 'fix/home_game_library_download_hint' into 'dev'
fix: 修复添加游戏下载时游戏库下载按钮没有提示的问题

See merge request halo/android/assistant-android!1264
2023-08-16 13:44:21 +08:00
5d02c40227 fix: 修复添加游戏下载时游戏库下载按钮没有提示的问题 2023-08-16 11:53:51 +08:00
910d1eb6b7 Merge branch 'fix/GHZS-3218' into 'dev'
fix: 订阅&推送体系优化-消息中心优化—0811优化-客户端(一级页面标题栏&红点提示样式优化) https://jira.shanqu.cc/browse/GHZS-3218

See merge request halo/android/assistant-android!1263
2023-08-16 11:51:18 +08:00
1aded5ecf4 Merge branch 'refactor/main_dialog' into 'dev-5.31.0'
refactor: 重构首页弹窗显示逻辑

See merge request halo/android/assistant-android!1262
2023-08-16 11:45:02 +08:00
755a2a0633 fix: 订阅&推送体系优化-消息中心优化—0811优化-客户端(一级页面标题栏&红点提示样式优化) https://jira.shanqu.cc/browse/GHZS-3218 2023-08-16 11:28:13 +08:00
d86dc7a03c feat: 重构首页弹窗显示逻辑 2023-08-16 11:06:47 +08:00
1a33e24a85 Merge branch 'fix/GHZS-3218' into 'dev'
fix: 订阅&推送体系优化-消息中心优化—0811优化-客户端(一级页面标题栏&红点提示样式优化) https://jira.shanqu.cc/browse/GHZS-3218

See merge request halo/android/assistant-android!1261
2023-08-15 17:39:26 +08:00
9a9c219082 fix: 订阅&推送体系优化-消息中心优化—0811优化-客户端(一级页面标题栏&红点提示样式优化) https://jira.shanqu.cc/browse/GHZS-3218 2023-08-15 17:36:37 +08:00
9741334c2e Merge branch 'feature-GHZS-3181' into 'dev-5.31.0'
feat: 神策数据埋点第二期(2)—客户端 https://jira.shanqu.cc/browse/GHZS-3181

See merge request halo/android/assistant-android!1259
2023-08-15 16:07:19 +08:00
48f762140b feat: 神策数据埋点第二期(2)—客户端 https://jira.shanqu.cc/browse/GHZS-3181 2023-08-15 16:07:18 +08:00
3e9c3027f2 Merge branch 'fix/GHZS-3218' into 'dev'
fix: 订阅&推送体系优化-消息中心优化—0811优化-客户端(一级页面标题栏&红点提示样式优化) https://jira.shanqu.cc/browse/GHZS-3218

See merge request halo/android/assistant-android!1260
2023-08-15 15:17:35 +08:00
c895965822 fix: 订阅&推送体系优化-消息中心优化—0811优化-客户端(一级页面标题栏&红点提示样式优化) https://jira.shanqu.cc/browse/GHZS-3218 2023-08-15 15:16:16 +08:00
eba7f31b32 Merge remote-tracking branch 'origin/dev' into dev-5.31.0 2023-08-15 15:07:40 +08:00
8dff7f3e69 Merge branch 'fix/multiprocess_init_ad_error' into 'dev'
fix: 修复部分广告 SDK 相关的问题

See merge request halo/android/assistant-android!1251
2023-08-15 15:06:02 +08:00
5abb229fcc fix: 修复因接口返回速度不够快时可能导致首页弹窗无法正常弹出的问题 2023-08-15 15:02:29 +08:00
d0b6d4ae5c Merge branch 'fix/GHZS-3221' into 'dev'
fix: 消息中心优化测试:游戏动态更新,但消息中心入口的红点未作提醒 https://jira.shanqu.cc/browse/GHZS-3221

See merge request halo/android/assistant-android!1258
2023-08-15 09:45:06 +08:00
772a21210d fix: 消息中心优化埋点测试:发现从消息中心到游戏详情下载埋点事件的来源属性为空 https://jira.shanqu.cc/browse/GHZS-3225 2023-08-14 16:46:57 +08:00
b81df5b2ad fix: 修复消息会话列表动图图标圆角裁切不生效的问题 2023-08-14 15:21:22 +08:00
07c44ef6a1 fix: 消息中心优化测试:游戏动态更新,但消息中心入口的红点未作提醒 https://jira.shanqu.cc/browse/GHZS-3221 2023-08-14 15:07:28 +08:00
6aa1a0a00e Merge branch 'fix/GHZS-3223' into 'dev'
fix: 消息中心优化埋点测试:message_inform_message_click的会话类型埋点错误 https://jira.shanqu.cc/browse/GHZS-3223

See merge request halo/android/assistant-android!1257
2023-08-14 13:47:47 +08:00
c6890cee19 fix: 消息中心优化埋点测试:message_inform_message_click的会话类型埋点错误 https://jira.shanqu.cc/browse/GHZS-3223 2023-08-14 13:45:46 +08:00
38d91af306 Merge branch 'dev' into dev-5.31.0 2023-08-14 10:22:13 +08:00
f83a4035c3 Merge branch 'fix/GHZS-3218' into 'dev'
fix: 订阅&推送体系优化-消息中心优化—0811UI测试(3) https://jira.shanqu.cc/browse/GHZS-3213

See merge request halo/android/assistant-android!1256
2023-08-14 09:56:38 +08:00
5fc03780a9 fix: 订阅&推送体系优化-消息中心优化—0811UI测试(3) https://jira.shanqu.cc/browse/GHZS-3213
fix: 消息中心优化测试:消息中心入口的红点的显示样式异常 https://jira.shanqu.cc/browse/GHZS-3218
2023-08-14 09:55:01 +08:00
ac7828c9f2 Merge branch 'fix/GHZS-3215' into 'dev'
fix: 【光环助手】首页下拉推送相关问题(2) https://jira.shanqu.cc/browse/GHZS-3215

See merge request halo/android/assistant-android!1255
2023-08-11 17:18:12 +08:00
270a02366d fix: 【光环助手】首页下拉推送相关问题(2) https://jira.shanqu.cc/browse/GHZS-3215 2023-08-11 17:14:20 +08:00
25d96aba67 Merge branch 'fix/GHZS-2953' into 'dev'
fix: 消息中心优化测试:消息中心入口的未读与消息列表不一致 https://jira.shanqu.cc/browse/GHZS-3208

See merge request halo/android/assistant-android!1254
2023-08-11 16:17:55 +08:00
f6558e1e13 fix: 订阅&推送体系优化-消息中心优化—0811UI测试 https://jira.shanqu.cc/browse/GHZS-3213 2023-08-11 16:10:51 +08:00
7784cecdbc fix: 消息中心优化测试:测试提问帖邀请消息,发现能收到消息,但会话消息列表没有消息 https://jira.shanqu.cc/browse/GHZS-3205 2023-08-11 15:46:42 +08:00
ad3301e0a8 fix: 订阅&推送体系优化-消息中心优化—0811UI测试 https://jira.shanqu.cc/browse/GHZS-3213 2023-08-11 14:54:05 +08:00
8f2ee5d323 fix: 消息中心优化测试:消息中心入口的未读与消息列表不一致 https://jira.shanqu.cc/browse/GHZS-3208
fix: 消息中心优化测试:会话消息设置免打扰或取消免打扰时,页面没有立即响应 https://jira.shanqu.cc/browse/GHZS-3209
2023-08-11 14:38:51 +08:00
9a999eefb7 Merge branch 'fix/GHZS-2953' into 'dev'
fix: 消息中心优化测试:会话消息列表未做已读规则 https://jira.shanqu.cc/browse/GHZS-3200

See merge request halo/android/assistant-android!1253
2023-08-11 11:16:07 +08:00
cdb274229b fix: 消息中心优化测试:会话消息列表未做已读规则 https://jira.shanqu.cc/browse/GHZS-3200
fix: 消息中心优化测试:消息中心入口的红点提醒,无法被消除 https://jira.shanqu.cc/browse/GHZS-3202
fix: 消息中心优化:消息中心入口的未读提醒,冷启动时没有响应,要切换页面才有 https://jira.shanqu.cc/browse/GHZS-3203
2023-08-11 11:10:59 +08:00
b20a3717e1 Merge branch 'fix/GHZS-3183' into 'dev'
fix: 补充消息中心模块混淆规则

See merge request halo/android/assistant-android!1252
2023-08-10 16:48:49 +08:00
3ef8dea4d2 fix: 补充消息中心模块混淆规则 2023-08-10 16:33:46 +08:00
17ee9752d3 fix: 避免多进程初始化广告 SDK 2023-08-10 11:18:10 +08:00
f2bf3df304 Merge branch 'feat/GHZS-3099' into 'dev-5.31.0'
feat: 安装方式管理-增加模糊匹配功能 https://jira.shanqu.cc/browse/GHZS-3099

See merge request halo/android/assistant-android!1250
2023-08-10 10:34:15 +08:00
c2b46ea5f2 feat: 安装方式管理-增加模糊匹配功能 https://jira.shanqu.cc/browse/GHZS-3099 2023-08-10 10:28:22 +08:00
a5992750ed Merge branch 'fix/update_gid' into 'dev'
fix: 更新 gid 版本,避免闪退 https://sentry.shanqu.cc/organizations/lightgame/issues/313421/?project=22

See merge request halo/android/assistant-android!1249
2023-08-10 09:25:38 +08:00
8b76b72222 fix: 更新 gid 版本,避免闪退 https://sentry.shanqu.cc/organizations/lightgame/issues/313421/?project=22 2023-08-10 09:25:04 +08:00
f12c0f8066 Merge branch 'feat/GHZS-3140' into 'dev-5.31.0'
feat: 资讯文章-下载按钮相关优化 https://jira.shanqu.cc/browse/GHZS-3165

See merge request halo/android/assistant-android!1248
2023-08-09 14:51:16 +08:00
5f158f74e8 feat: 资讯文章-下载按钮相关优化 https://jira.shanqu.cc/browse/GHZS-3165 2023-08-09 14:42:11 +08:00
ad6b7228cf Merge branch 'feat/GHZS-3035' into 'dev'
feat: 推广打包功能相关优化 https://jira.shanqu.cc/browse/GHZS-3035

See merge request halo/android/assistant-android!1247
2023-08-09 14:04:24 +08:00
9a0873cf67 feat: 推广打包功能相关优化 https://jira.shanqu.cc/browse/GHZS-3035 2023-08-09 13:50:34 +08:00
503376edc2 Merge branch 'fix/GHZS-3136' into 'dev-5.31.0'
fix:【光环助手】图片视图规范化 https://jira.shanqu.cc/browse/GHZS-3136

See merge request halo/android/assistant-android!1246
2023-08-09 10:32:11 +08:00
7490617191 fix:【光环助手】图片视图规范化 https://jira.shanqu.cc/browse/GHZS-3136 2023-08-09 10:24:27 +08:00
6cf461dbf7 Merge remote-tracking branch 'origin/release' into dev 2023-08-09 09:59:32 +08:00
f33595c4c4 Merge branch 'fix/pack_parse_issue' into 'release'
fix: 更新打包解析字段

See merge request halo/android/assistant-android!1245
2023-08-08 17:36:31 +08:00
f6f2db4b6f fix: 更新打包解析字段 2023-08-08 17:35:44 +08:00
68252a4375 Merge remote-tracking branch 'origin/release' into dev 2023-08-08 16:21:10 +08:00
c57a9f44a2 Merge branch 'feat/GHZS-3039' into 'release'
feat: 快手可选是否使用默认渠道 SDK https://jira.shanqu.cc/browse/GHZS-3039

See merge request halo/android/assistant-android!1244
2023-08-08 16:10:48 +08:00
2fb90cb5d4 feat: 快手可选是否使用默认渠道 SDK https://jira.shanqu.cc/browse/GHZS-3039 2023-08-08 16:02:14 +08:00
9925022660 Merge branch 'feature/GHZS-2992' into 'dev'
feat: 订阅&推送体系优化-消息中心优化—客户端 https://jira.shanqu.cc/browse/GHZS-2992

See merge request halo/android/assistant-android!1243
2023-08-08 14:56:32 +08:00
5972b8b4bf feat: 订阅&推送体系优化-消息中心优化—客户端 https://jira.shanqu.cc/browse/GHZS-2992 2023-08-08 14:03:32 +08:00
13949e86c4 Merge remote-tracking branch 'origin/dev' into dev-5.31.0 2023-08-08 10:10:07 +08:00
f31507ae9f Merge remote-tracking branch 'origin/release' into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/search/SearchGameResultViewModel.kt
#	dependencies.gradle
2023-08-08 10:03:10 +08:00
1207d53314 Merge branch 'fix/GHZS-3097' into 'dev-5.31.0'
feat: 平板适配相关优化 https://jira.shanqu.cc/browse/GHZS-3097

See merge request halo/android/assistant-android!1242
2023-08-07 17:54:48 +08:00
f02b232589 feat: 平板适配相关优化 https://jira.shanqu.cc/browse/GHZS-3097 2023-08-07 17:38:58 +08:00
ab984d133a Merge branch 'fix/GHZS-3126' into 'release'
fix: 视频帖播放问题 https://jira.shanqu.cc/browse/GHZS-3126

See merge request halo/android/assistant-android!1241
2023-08-07 13:54:21 +08:00
7440998d5f fix: 视频帖播放问题 https://jira.shanqu.cc/browse/GHZS-3126 2023-08-07 13:45:21 +08:00
1e6351a11c Merge branch 'fix/GHZS-3141' into 'release'
fix: 【光环助手】首页下拉推送未自动弹出问题 https://jira.shanqu.cc/browse/GHZS-3141

See merge request halo/android/assistant-android!1240
2023-08-07 10:47:42 +08:00
78d9bde4c7 fix: 【光环助手】首页下拉推送未自动弹出问题 https://jira.shanqu.cc/browse/GHZS-3141 2023-08-07 09:49:28 +08:00
dec546238e Merge branch 'fix/GHZS-3129' into 'dev'
fix: 修复游戏下载按钮显示问题 https://jira.shanqu.cc/browse/GHZS-3129

See merge request halo/android/assistant-android!1239
2023-08-04 16:51:44 +08:00
5715d36ad1 fix: 修复游戏下载按钮显示问题 https://jira.shanqu.cc/browse/GHZS-3129 2023-08-04 16:40:58 +08:00
351e1d2eba Merge branch 'fix/home_game_collection' into 'release'
fix: 修复删除下载任务时首页游戏单下载按钮没有更新的问题

See merge request halo/android/assistant-android!1238
2023-08-04 10:35:32 +08:00
0a067eb9dd fix: 修复删除下载任务时首页游戏单下载按钮没有更新的问题 2023-08-04 10:33:26 +08:00
c62021ee64 Merge branch 'fix/home_game_collection' into 'dev'
fix: 修复删除下载任务时首页游戏单下载按钮没有更新的问题

See merge request halo/android/assistant-android!1237
2023-08-04 10:29:59 +08:00
7bab11d2a1 fix: 修复删除下载任务时首页游戏单下载按钮没有更新的问题 2023-08-04 10:09:33 +08:00
5bb2451750 Merge branch 'fix/ad_culprit' into 'dev'
fix: 修复开屏广告在部分数据为空时候的显示问题

See merge request halo/android/assistant-android!1236
2023-08-03 17:55:03 +08:00
ef0341ad6d fix: 修复开屏广告在部分数据为空时候的显示问题 2023-08-03 17:50:51 +08:00
a97a0d64a4 Merge branch 'hotfix/v5.29.2-932/GHZS-3122' into 'release'
fix: 修复搜索专题的超出搜索结构数量后的排序问题 https://jira.shanqu.cc/browse/GHZS-3122

See merge request halo/android/assistant-android!1234
2023-08-03 11:54:52 +08:00
627190ddb7 fix: 修复搜索专题的超出搜索结构数量后的排序问题 https://jira.shanqu.cc/browse/GHZS-3122 2023-08-03 11:51:14 +08:00
f1139add2a chore: 版本更新至 5.29.2 2023-08-03 11:03:45 +08:00
ba59291932 Merge branch 'feature-fix-xapk-installer-crash' into 'release'
Fix 修复Sentry上XApk相关的一些BUG

See merge request halo/android/assistant-android!1232
2023-08-03 10:44:42 +08:00
d3a8bafe8b Fix 修复Sentry上XApk相关的一些BUG 2023-08-03 10:44:42 +08:00
4cfc98ec5a Merge branch 'hotfix/v5.29.1-931/vdownload_crash' into 'release'
fix: 修复删除下载内容时 apkEntity 为空导致的空指针闪退...

See merge request halo/android/assistant-android!1233
2023-08-03 10:36:29 +08:00
86b7924a55 fix: 修复删除下载内容时 apkEntity 为空导致的空指针闪退 https://sentry.shanqu.cc/organizations/lightgame/issues/319106/?project=22&query=dist%3A931+level%3Afatal&sort=freq&statsPeriod=14d 2023-08-03 10:32:56 +08:00
f645964bdf Merge branch 'fix/GHZS-3115' into 'dev'
fix: 新增广告位管理功能—0802优化(1,3,5)  https://jira.shanqu.cc/browse/GHZS-3115

See merge request halo/android/assistant-android!1231
2023-08-03 09:27:24 +08:00
e420b261bb fix: 新增广告位管理功能—0802优化(1,3,5) https://jira.shanqu.cc/browse/GHZS-3115 2023-08-03 09:22:48 +08:00
1781f4c665 Merge branch 'fix/cloud_archive_sync_issue' into 'dev'
feat: 补上遗漏的跨光环和畅玩组件间的云存档下载数据同步功能 https://jira.shanqu.cc/browse/GHZS-2886

See merge request halo/android/assistant-android!1230
2023-08-02 16:33:56 +08:00
ee79ed528b feat: 补上遗漏的跨光环和畅玩组件间的云存档下载数据同步功能 https://jira.shanqu.cc/browse/GHZS-2886 2023-08-02 15:47:19 +08:00
d61abd1174 Merge remote-tracking branch 'origin/dev' into dev-5.31.0 2023-08-02 11:27:14 +08:00
fc9137a48d Merge remote-tracking branch 'origin/release' into dev
# Conflicts:
#	dependencies.gradle
2023-08-02 11:21:14 +08:00
a460ae0788 chore: 版本更新至 5.31.0 2023-08-02 11:01:15 +08:00
37a6dae3b5 Merge branch 'hotfix/v5.29.1-931/GHZS-3094' into 'release'
fix: 游戏专题-换一批加载问题 https://jira.shanqu.cc/browse/GHZS-3094

See merge request halo/android/assistant-android!1229
2023-08-01 11:33:01 +08:00
4cbd4fe629 fix: 游戏专题-换一批加载问题 https://jira.shanqu.cc/browse/GHZS-3094 2023-08-01 11:28:24 +08:00
44df5dc061 Merge branch 'hotfix/v5.29.1-931/db_crash' into 'release'
fix: 修复多进程初始化下载数据库出现的闪退问题...

See merge request halo/android/assistant-android!1228
2023-07-31 14:50:05 +08:00
9f144a638b fix: 尝试修复畅玩数据库 observeForever 导致的数据错乱和闪退问题 2023-07-31 14:34:45 +08:00
18276c5941 fix: 修复多进程初始化下载数据库出现的闪退问题 https://sentry.shanqu.cc/organizations/lightgame/issues/295121/events/7dc71a556b3242ab94054454e99a92a3/?project=22 2023-07-31 10:28:15 +08:00
385d197e31 chore: 版本更新至 5.29.1 2023-07-31 09:50:14 +08:00
2dceaeec3e Merge remote-tracking branch 'origin/dev' into dev-5.30.0
# Conflicts:
#	app/build.gradle
2023-07-31 09:36:08 +08:00
f59bc42539 Merge branch 'fix/GHZS-3051' into 'dev-5.30.0'
fix: 游戏搜索-热门标签 补充相关曝光数据—0728测试(0729测试) https://jira.shanqu.cc/browse/GHZS-3051

See merge request halo/android/assistant-android!1227
2023-07-31 09:28:26 +08:00
5b7c98224c fix: 游戏搜索-热门标签 补充相关曝光数据—0728测试(0729测试) https://jira.shanqu.cc/browse/GHZS-3051 2023-07-31 09:21:45 +08:00
2542311341 Merge branch 'fix/sentry_log' into 'dev'
fix: 移除部分 sentry 的测试用 log

See merge request halo/android/assistant-android!1226
2023-07-28 18:07:45 +08:00
f4d001a821 fix: 移除部分 sentry 的测试用 log 2023-07-28 17:44:03 +08:00
2710c03112 Merge branch 'fix/GHZS-3051' into 'dev-5.30.0'
fix: 游戏搜索-热门标签 补充相关曝光数据—0728测试 https://jira.shanqu.cc/browse/GHZS-3051

See merge request halo/android/assistant-android!1225
2023-07-28 16:33:05 +08:00
3341d55f5a fix: 游戏搜索-热门标签 补充相关曝光数据—0728测试 https://jira.shanqu.cc/browse/GHZS-3051 2023-07-28 16:23:12 +08:00
bbca9c17e7 Merge branch 'feat/GHZS-3039' into 'dev'
feat: 推广打包功能相关优化 https://jira.shanqu.cc/browse/GHZS-3039

See merge request halo/android/assistant-android!1224
2023-07-28 15:46:28 +08:00
d84cca5ab9 feat: 推广打包功能相关优化 https://jira.shanqu.cc/browse/GHZS-3039 2023-07-28 15:39:06 +08:00
99d1185333 Merge branch 'feat/GHZS-3054' into 'dev'
feat: 助手V5.29剥离广告SDK https://jira.shanqu.cc/browse/GHZS-3054

See merge request halo/android/assistant-android!1223
2023-07-28 13:57:24 +08:00
9f6611f877 feat: 助手V5.29剥离广告SDK https://jira.shanqu.cc/browse/GHZS-3054 2023-07-28 13:56:30 +08:00
f81d315800 Merge branch 'feat/GHZS-2989' into 'dev-5.30.0'
feat: 右下悬浮窗新增埋点 https://jira.shanqu.cc/browse/GHZS-2989

See merge request halo/android/assistant-android!1222
2023-07-28 11:55:12 +08:00
33f5badfd9 feat: 右下悬浮窗新增埋点 https://jira.shanqu.cc/browse/GHZS-2989 2023-07-28 11:47:01 +08:00
0407244cca Merge branch 'feat/GHZS-2919' into 'dev-5.30.0'
新增广告位管理功能

See merge request halo/android/assistant-android!1221
2023-07-28 11:30:52 +08:00
64449ec38b feat: 新增广告位管理功能 https://jira.shanqu.cc/browse/GHZS-2919 2023-07-28 10:28:49 +08:00
fb937e8ced feat: 完成穿山甲广告SDK接入 https://jira.shanqu.cc/browse/GHZS-2940 2023-07-28 10:16:52 +08:00
96f9e8aceb Merge remote-tracking branch 'origin/dev' into dev-5.30.0
# Conflicts:
#	app/src/main/java/com/gh/common/xapk/XapkInstaller.kt
#	app/src/main/res/values/strings.xml
#	module_common/src/main/java/com/gh/gamecenter/common/utils/DialogHelper.kt
#	module_common/src/main/java/com/gh/gamecenter/common/utils/MiuiUtils.java
#	module_common/src/main/java/com/gh/gamecenter/common/utils/SystemUtils.kt
2023-07-28 10:11:25 +08:00
be294fbba5 Merge branch 'fix/home_game_tab' into 'dev-5.30.0'
fix: 修复游戏库最后一个Tab选中时Tab被切图遮挡的问题

See merge request halo/android/assistant-android!1220
2023-07-27 15:30:36 +08:00
aabc676f94 fix: 修复游戏库最后一个Tab选中时Tab被切图遮挡的问题 2023-07-27 15:26:26 +08:00
24e6f93eae Merge branch 'fix/search_paging_error' into 'dev'
fix: 修复搜索结果的分页问题

See merge request halo/android/assistant-android!1219
2023-07-26 17:13:42 +08:00
9a75e242e6 fix: 修复搜索结果的分页问题 2023-07-26 17:04:07 +08:00
4c867390c2 Merge branch 'feature/GHZS-2972' into 'dev-5.30.0'
feat: 组件化消息中心相关功能 https://jira.shanqu.cc/browse/GHZS-2972

See merge request halo/android/assistant-android!1218
2023-07-24 17:49:02 +08:00
f9c6bb1e56 feat: 组件化消息中心相关功能 https://jira.shanqu.cc/browse/GHZS-2972 2023-07-24 17:49:02 +08:00
3a15f9af33 Merge branch 'feature-GHZS-3018' into 'dev'
fix: MIUI优化关闭提示弹窗—0720测试 https://jira.shanqu.cc/browse/GHZS-3001

See merge request halo/android/assistant-android!1217
2023-07-24 11:55:52 +08:00
6920d682b2 fix: MIUI优化关闭提示弹窗—0720测试 https://jira.shanqu.cc/browse/GHZS-3001 2023-07-24 11:55:52 +08:00
b0493502e4 Merge branch 'feature-dev-cherry-pick-GHZS-2901' into 'dev'
feat: MIUI优化关闭提示弹窗—客户端 https://jira.shanqu.cc/browse/GHZS-2901

See merge request halo/android/assistant-android!1216
2023-07-24 11:39:55 +08:00
723202d4ce feat: MIUI优化关闭提示弹窗—客户端 https://jira.shanqu.cc/browse/GHZS-2901 2023-07-24 11:36:49 +08:00
33ed2796c8 Merge remote-tracking branch 'origin/dev' into dev-5.30.0 2023-07-24 10:48:52 +08:00
6e0628b478 Merge remote-tracking branch 'origin/release' into dev 2023-07-24 10:42:53 +08:00
7f14555886 Merge branch 'hotfix/v5.28.2-912/crashes' into 'release'
修复 5.28.2 的部分线上闪退

See merge request halo/android/assistant-android!1215
2023-07-24 10:41:52 +08:00
c2477d2a3f fix: 捕抓畅玩游戏创建快捷方式时的闪退 https://sentry.shanqu.cc/organizations/lightgame/issues/300166/?project=22&query=dist%3A912+level%3Afatal&statsPeriod=14d 2023-07-24 10:24:51 +08:00
8ff4945cfa fix: 修复曝光上报时的空指针问题 https://sentry.shanqu.cc/organizations/lightgame/issues/301370/events/4fed437358844787bb532a12283205b6/?project=22 2023-07-24 10:15:21 +08:00
fcc65fdbfe fix: 修复上层下载持有错误下载状态时,暂停任务导致的空指针闪退问题 https://sentry.shanqu.cc/organizations/lightgame/issues/304224/?project=22 2023-07-24 10:05:52 +08:00
d4b0ecce98 fix: 修复下载其它内容时偶发的闪退问题 https://sentry.shanqu.cc/organizations/lightgame/issues/314990/?project=22 2023-07-24 09:44:52 +08:00
c4fb785e55 Merge branch 'fix/channel_issue' into 'dev-5.30.0'
fix: 修复渠道更换的保存问题

See merge request halo/android/assistant-android!1214
2023-07-21 18:07:38 +08:00
848ca0b5c6 Merge branch 'fix/pkg_issue' into 'dev'
fix: 修复特殊打包选择首页 tab 异常的问题

See merge request halo/android/assistant-android!1213
2023-07-21 17:58:40 +08:00
8d5e6c8940 fix: 修复渠道更换的保存问题 2023-07-21 17:51:51 +08:00
4f0c81420e fix: 修复特殊打包选择首页 tab 异常的问题 2023-07-21 17:38:32 +08:00
0c437d32bd Merge branch 'feat/GHZS-2910' into 'dev'
feat: 关于我们页面新增安装包隐藏信息提示 https://jira.shanqu.cc/browse/GHZS-2910

See merge request halo/android/assistant-android!1212
2023-07-21 14:31:53 +08:00
25d9771a3c feat: 关于我们页面新增安装包隐藏信息提示 https://jira.shanqu.cc/browse/GHZS-2910 2023-07-21 14:01:44 +08:00
668b54ac6d Merge branch 'feature-GHZS-2987' into 'dev'
fix: 【光环助手】同步正式环境问题-插件化安装弹窗 https://jira.shanqu.cc/browse/GHZS-2987

See merge request halo/android/assistant-android!1211
2023-07-21 11:40:53 +08:00
92b0f8fe73 fix: 【光环助手】同步正式环境问题-插件化安装弹窗 https://jira.shanqu.cc/browse/GHZS-2987 2023-07-21 11:39:07 +08:00
f258b71648 Merge branch 'feature-GHZS-2884' into 'dev-5.30.0'
feat: 游戏下载新增跳转第三方落地页—客户端 https://jira.shanqu.cc/browse/GHZS-2884

See merge request halo/android/assistant-android!1210
2023-07-21 09:36:35 +08:00
f3679aa041 feat: 游戏下载新增跳转第三方落地页—客户端 https://jira.shanqu.cc/browse/GHZS-2884 2023-07-21 09:23:51 +08:00
3b02c9df23 Merge branch 'feature/GHZS-2978' into 'dev-5.30.0'
feat: 游戏搜索-热门标签 补充相关曝光数据—客户端 https://jira.shanqu.cc/browse/GHZS-2978

See merge request halo/android/assistant-android!1209
2023-07-20 17:17:36 +08:00
1034254613 feat: 游戏搜索-热门标签 补充相关曝光数据—客户端 https://jira.shanqu.cc/browse/GHZS-2978 2023-07-20 17:14:52 +08:00
bc3e92c4a1 Merge branch 'feature/GHZS-2912' into 'dev-5.30.0'
feat: 游戏库增加顶部tab栏—客户端 https://jira.shanqu.cc/browse/GHZS-2912

See merge request halo/android/assistant-android!1208
2023-07-20 09:47:18 +08:00
c7dabaa37b Merge branch 'dev-5.30.0' into feature/GHZS-2912
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/fragment/HomeSearchToolWrapperFragment.kt
2023-07-20 09:40:21 +08:00
69866eaf91 Merge remote-tracking branch 'origin/dev' into dev-5.30.0 2023-07-19 19:26:05 +08:00
f689dfce07 Merge remote-tracking branch 'origin/release' into dev
# Conflicts:
#	dependencies.gradle
2023-07-19 19:22:43 +08:00
5a8f1d663d feat: 游戏库增加顶部tab栏—客户端 https://jira.shanqu.cc/browse/GHZS-2912 2023-07-19 14:46:19 +08:00
42d5d46e53 chore: 版本更新至 5.28.2 2023-07-18 16:13:09 +08:00
cdccc35703 Merge branch 'feature-GHZS-2946' into 'release'
fix: 修复线上闪退问题 https://jira.shanqu.cc/browse/GHZS-2946

See merge request halo/android/assistant-android!1207
2023-07-18 16:08:44 +08:00
d3e2fea019 fix: 修复线上闪退问题 https://jira.shanqu.cc/browse/GHZS-2946 2023-07-18 16:08:44 +08:00
f343841233 Merge branch 'fix/GHZS-2948' into 'release'
fix: 修复线上闪退问题 https://jira.shanqu.cc/browse/GHZS-2948

See merge request halo/android/assistant-android!1206
2023-07-18 14:58:47 +08:00
f62083eff2 fix: 修复线上闪退问题 https://jira.shanqu.cc/browse/GHZS-2948 2023-07-18 14:58:47 +08:00
8594e998c2 Merge branch 'fix/vspace_dialog_dismiss_issue' into 'release'
fix: 修复畅玩弹窗在组件安装完成以后的 dismiss 问题

See merge request halo/android/assistant-android!1205
2023-07-17 17:54:15 +08:00
6865706b0f fix: 修复畅玩弹窗在组件安装完成以后的 dismiss 问题 2023-07-17 17:50:23 +08:00
bfb8b46ce8 Merge branch 'fix/GHZS-2941' into 'dev'
fix:【光环助手】畅玩助手神策数据流程优化 https://jira.shanqu.cc/browse/GHZS-2941

See merge request halo/android/assistant-android!1204
2023-07-17 17:34:40 +08:00
b6d8ca4d84 Merge branch 'feat/GHZS-2959' into 'release'
feat: 神策渠道调整 https://jira.shanqu.cc/browse/GHZS-2959

See merge request halo/android/assistant-android!1203
2023-07-17 16:14:05 +08:00
455e1f0432 feat: 神策渠道调整 https://jira.shanqu.cc/browse/GHZS-2959 2023-07-17 16:12:29 +08:00
ba27c09096 fix:【光环助手】畅玩助手神策数据流程优化 https://jira.shanqu.cc/browse/GHZS-2941 2023-07-17 15:03:16 +08:00
15276cc4b3 Merge branch 'hotfix/v5.28.1-911/crashes' into 'release'
修复部分线上闪退

See merge request halo/android/assistant-android!1202
2023-07-17 11:53:17 +08:00
130a7cdf2a fix: 修复因为混淆造成的下载数据恢复闪退问题 https://sentry.shanqu.cc/organizations/lightgame/issues/281841/?project=22 2023-07-17 11:08:11 +08:00
164ec0c368 fix: 捕抓首页 tab 的 roundToInt 闪退异常 2023-07-17 11:07:11 +08:00
2be72776ce Merge branch 'feature-GHZS-2901' into 'dev-5.30.0'
feat: MIUI优化关闭提示弹窗—客户端 https://jira.shanqu.cc/browse/GHZS-2901

See merge request halo/android/assistant-android!1201
2023-07-17 09:51:44 +08:00
d92f6ff164 feat: MIUI优化关闭提示弹窗—客户端 https://jira.shanqu.cc/browse/GHZS-2901 2023-07-17 09:46:55 +08:00
756bc66f26 Merge branch 'fix/GHZS-2945' into 'dev'
fix:【光环助手】内容导航栏图标闪烁 https://jira.shanqu.cc/browse/GHZS-2945

See merge request halo/android/assistant-android!1200
2023-07-17 09:45:10 +08:00
e589bce5c6 fix:【光环助手】内容导航栏图标闪烁 https://jira.shanqu.cc/browse/GHZS-2945 2023-07-17 09:36:28 +08:00
991bd22511 Merge branch 'fix/sensors_log' into 'release'
fix: 修复畅玩助手下载弹窗错误上报安装点击事件的问题

See merge request halo/android/assistant-android!1199
2023-07-14 17:05:55 +08:00
df1ab5221d fix: 修复畅玩助手下载弹窗错误上报安装点击事件的问题 2023-07-14 16:41:51 +08:00
9aaeee9b3d Merge remote-tracking branch 'origin/dev' into dev-5.30.0 2023-07-14 10:01:59 +08:00
70916fd0f7 Merge remote-tracking branch 'origin/release' into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/home/gamecollection/carousel/HomeGameCollectionCarouselAdapter.kt
#	dependencies.gradle
2023-07-14 09:58:36 +08:00
226d6c4f2c chore: 版本更新至 5.28.1 2023-07-13 17:25:06 +08:00
896adc9d36 Merge branch 'feature-data-watcher-patch' into 'release'
fix: Sentry312134...

See merge request halo/android/assistant-android!1198
2023-07-13 15:35:48 +08:00
0e33abebdd fix: Sentry312134... 2023-07-13 15:35:48 +08:00
b4e94eeabb Merge branch 'feature-GHZS-2855' into 'dev-5.30.0'
feat: 优化内部测试包的渠道切换功能 https://jira.shanqu.cc/browse/GHZS-2855

See merge request halo/android/assistant-android!1197
2023-07-12 16:04:48 +08:00
6f86dd7eef feat: 优化内部测试包的渠道切换功能 https://jira.shanqu.cc/browse/GHZS-2855 2023-07-12 15:58:33 +08:00
c8ed126605 Merge branch 'fix/GHZS-2926' into 'release'
fix:【光环助手】游戏单封面图显示问题 https://jira.shanqu.cc/browse/GHZS-2926

See merge request halo/android/assistant-android!1196
2023-07-12 14:48:17 +08:00
b510a329b6 fix:【光环助手】游戏单封面图显示问题 https://jira.shanqu.cc/browse/GHZS-2926 2023-07-12 14:36:38 +08:00
04d001a055 Merge branch 'feature/GHZS-2806' into 'dev-5.30.0'
feat: 插件管理功能优化-新增插件发布上架通知提醒—客户端 https://jira.shanqu.cc/browse/GHZS-2806

See merge request halo/android/assistant-android!1194
2023-07-11 16:07:15 +08:00
2de1ba4e1d Merge branch 'fix/GHZS-2907' into 'release'
fix: 神策埋点—07/10测试 (3) https://jira.shanqu.cc/browse/GHZS-2907

See merge request halo/android/assistant-android!1195
2023-07-11 15:37:47 +08:00
e4a0f0e68b fix: 神策埋点—07/10测试 (3) https://jira.shanqu.cc/browse/GHZS-2907 2023-07-11 15:31:44 +08:00
f10b08e152 feat: 插件管理功能优化-新增插件发布上架通知提醒—客户端 https://jira.shanqu.cc/browse/GHZS-2806 2023-07-11 14:33:04 +08:00
c064f9d3a6 Merge branch 'feat/core_event_with_toast' into 'release'
fix: 特殊包上报比例为 1 时关键行为进行 toast 提示(方便测试)

See merge request halo/android/assistant-android!1190
2023-07-11 13:52:00 +08:00
759401d9ae Merge branch 'fix/CWZS-91' into 'release'
fix: 推送更新测试问题—测试问题07/06 https://jira.shanqu.cc/browse/CWZS-91

See merge request halo/android/assistant-android!1191
2023-07-11 13:51:53 +08:00
e56209d15e fix: 处理弹窗 dismiss 问题 2023-07-11 13:38:59 +08:00
c466ff1f21 fix: 处理弹窗 dismiss 问题 2023-07-11 11:51:41 +08:00
e09cf299f0 Merge branch 'feature-GHZS-2771-patch-3' into 'release'
fix: 支持xapk格式的apks文件解压-0706测试

See merge request halo/android/assistant-android!1193
2023-07-11 10:40:24 +08:00
25352ba609 fix: 支持xapk格式的apks文件解压-0706测试 2023-07-11 10:40:24 +08:00
3cd065cb6e fix: 处理弹窗 dismiss 问题 2023-07-10 16:21:01 +08:00
5a483bb5db Merge branch 'fix/GHZS-2887' into 'dev'
fix: 游戏单功能优化-游戏单合集-前端部分—0709测试-客户端 https://jira.shanqu.cc/browse/GHZS-2887

See merge request halo/android/assistant-android!1192
2023-07-10 15:55:07 +08:00
3b380c6fe3 fix: 游戏单功能优化-游戏单合集-前端部分—0709测试-客户端 https://jira.shanqu.cc/browse/GHZS-2887 2023-07-10 14:25:14 +08:00
919a98ffe6 fix: 处理弹窗 dismiss 问题 2023-07-10 11:26:22 +08:00
eff84218a8 fix: 特殊包上报比例为 1 时关键行为进行 toast 提示(方便测试) 2023-07-07 11:32:44 +08:00
7c9c363422 fix: 推送更新测试问题—测试问题07/06 https://jira.shanqu.cc/browse/CWZS-91 2023-07-07 10:04:41 +08:00
add6448f44 Merge branch 'fix/GHZS-2848' into 'dev'
fix: 游戏单功能优化-游戏单合集-前端部分—0704测试-客户端(0706测试1、3) https://jira.shanqu.cc/browse/GHZS-2848

See merge request halo/android/assistant-android!1188
2023-07-06 15:49:58 +08:00
efccfaaa7f fix: 游戏单功能优化-游戏单合集-前端部分—0704测试-客户端(0706测试1、3) https://jira.shanqu.cc/browse/GHZS-2848 2023-07-06 15:33:01 +08:00
a61057ae10 Merge branch 'fix/download_issue' into 'dev'
fix: 移除部分在 DownloadObserver/DownloadDataHelper 进行的数据库操作

See merge request halo/android/assistant-android!1187
2023-07-06 15:17:27 +08:00
9472cafe48 fix: 移除部分在 DownloadObserver 进行的数据库操作 2023-07-06 14:37:00 +08:00
be83e1a2b4 Merge branch 'fix/GHZS-2870' into 'dev'
fix: 相关曝光数据埋点补充—0705测试 https://jira.shanqu.cc/browse/GHZS-2870

See merge request halo/android/assistant-android!1186
2023-07-06 11:08:09 +08:00
e48d7745b4 fix: 相关曝光数据埋点补充—0705测试 https://jira.shanqu.cc/browse/GHZS-2870 2023-07-06 10:59:50 +08:00
8b1a38214c Merge branch 'feature-GHZS-2771-patch-2' into 'release'
feat: 支持xapk格式的apks文件解压—0705测试

See merge request halo/android/assistant-android!1185
2023-07-06 09:47:32 +08:00
2acde0af00 feat: 支持xapk格式的apks文件解压—0705测试 2023-07-06 09:47:32 +08:00
daab20424e Merge branch 'fix/GHZS-2848' into 'dev'
fix: 游戏单功能优化-游戏单合集-前端部分—0704测试-客户端 https://jira.shanqu.cc/browse/GHZS-2848

See merge request halo/android/assistant-android!1184
2023-07-05 16:55:40 +08:00
63f2adade2 fix: 游戏单功能优化-游戏单合集-前端部分—0704测试-客户端 https://jira.shanqu.cc/browse/GHZS-2848 2023-07-05 15:39:04 +08:00
201c1207f9 Merge branch 'feature-GHZS-2771-patch-1' into 'release'
feat: 支持xapk格式的apks文件解压—0704测试

See merge request halo/android/assistant-android!1183
2023-07-05 14:24:55 +08:00
75d86b5a91 feat: 支持xapk格式的apks文件解压—0704测试 2023-07-05 14:24:55 +08:00
f30d647936 Merge branch 'feat/enable_log_in_internal_build' into 'dev'
feat: 邮件包保留日志输出,方便无编译条件时简单调试

See merge request halo/android/assistant-android!1182
2023-07-05 10:50:06 +08:00
c7dd449899 feat: 邮件包保留日志输出,方便无编译条件时简单调试 2023-07-05 10:13:09 +08:00
56c8885030 chore: 版本更新至 5.30.0 2023-07-05 09:56:12 +08:00
0e9f7feff9 Merge branch 'feature/CWZS-80' into 'dev-5.29.0'
feat: 新增谷歌框架版本管理 https://jira.shanqu.cc/browse/CWZS-81

See merge request halo/android/assistant-android!1181
2023-07-04 17:45:56 +08:00
3697cd720e feat: 新增谷歌框架版本管理 https://jira.shanqu.cc/browse/CWZS-81 2023-07-04 17:38:55 +08:00
07a3c06804 Merge branch 'feature/GHZS-2738' into 'dev-5.29.0'
feat: 相关曝光数据埋点补充 https://jira.shanqu.cc/browse/GHZS-2738

See merge request halo/android/assistant-android!1180
2023-07-04 16:13:09 +08:00
2fce492689 feat: 相关曝光数据埋点补充 https://jira.shanqu.cc/browse/GHZS-2738 2023-07-04 16:13:09 +08:00
d87d12e1ec fix: 合并冲突 2023-07-04 14:58:57 +08:00
a595730c50 Merge remote-tracking branch 'origin/dev' into dev-5.29.0
# Conflicts:
#	libraries/LGLibrary
2023-07-04 14:45:40 +08:00
7976355e34 Merge branch 'release' into 'dev'
Release

See merge request halo/android/assistant-android!1178
2023-07-04 14:41:38 +08:00
a9097793ac Merge branch 'feature-forum-tag-icon-not-display' into 'release'
fix: 修复社区-推荐列表项论坛入口图标不显示以及点击无反应的问题

See merge request halo/android/assistant-android!1177
2023-07-04 13:38:53 +08:00
86e4ddd3f7 fix: 修复社区-推荐列表项论坛入口图标不显示以及点击无反应的问题 2023-07-04 12:45:53 +08:00
b9abf2009d Merge branch 'fix/GHZS-2838' into 'dev-5.29.0'
fix: 游戏单功能优化-游戏单合集-前端部分—0703UI优化(2、6) https://jira.shanqu.cc/browse/GHZS-2838

See merge request halo/android/assistant-android!1176
2023-07-04 11:55:37 +08:00
a7dfd6c16c fix: 游戏单功能优化-游戏单合集-前端部分—0703UI优化(2、6) https://jira.shanqu.cc/browse/GHZS-2838 2023-07-04 11:51:05 +08:00
07dcb4aca2 Merge branch 'fix/web_share_info' into 'dev-5.29.0'
fix: 修复网页分享时分享回调类型为与需求对应不上的问题

See merge request halo/android/assistant-android!1175
2023-07-04 11:09:45 +08:00
48123ff991 fix: 修复网页分享时分享回调类型为与需求对应不上的问题 2023-07-04 11:08:56 +08:00
8312d8e5fe Merge branch 'feature-GHZS-2771-patch' into 'dev'
feat:支持xapk格式的apks文件解压—0620测试 https://jira.shanqu.cc/browse/GHZS-2771

See merge request halo/android/assistant-android!1174
2023-07-04 10:34:40 +08:00
98b4901d55 feat:支持xapk格式的apks文件解压—0620测试 https://jira.shanqu.cc/browse/GHZS-2771 2023-07-04 10:34:40 +08:00
a6a411f2e3 Merge branch 'fix/GHZS-2838' into 'dev-5.29.0'
fix: 游戏单功能优化-游戏单合集-前端部分—0703UI优化 https://jira.shanqu.cc/browse/GHZS-2838

See merge request halo/android/assistant-android!1172
2023-07-03 17:48:47 +08:00
59976dcccd fix: 游戏单功能优化-游戏单合集-前端部分—0703UI优化 https://jira.shanqu.cc/browse/GHZS-2838 2023-07-03 17:47:18 +08:00
e22a3ddcdb Merge branch 'fix/web_share_info' into 'dev-5.29.0'
feat: JS 分享结果回调添加分享类型

See merge request halo/android/assistant-android!1173
2023-07-03 17:41:50 +08:00
ecfd133ce2 feat: JS 分享结果回调添加分享类型 2023-07-03 17:36:37 +08:00
d13ef56eb8 Merge branch 'fix/GHZS-2831' into 'dev-5.29.0'
fix: 游戏单功能优化-游戏单合集-前端部分—0630测试-客户端 https://jira.shanqu.cc/browse/GHZS-2831

See merge request halo/android/assistant-android!1171
2023-07-03 13:36:19 +08:00
66f2d1df99 fix: 游戏单功能优化-游戏单合集-前端部分—0630测试-客户端 https://jira.shanqu.cc/browse/GHZS-2831 2023-07-03 11:38:09 +08:00
8555673d71 Merge branch 'feat/GHZS-2797' into 'dev'
feat: 推广打包配置项增加关键行为上报 https://jira.shanqu.cc/browse/GHZS-2797

See merge request halo/android/assistant-android!1170
2023-06-30 17:43:55 +08:00
cfe4c243e6 feat: 推广打包配置项增加关键行为上报 https://jira.shanqu.cc/browse/GHZS-2797 2023-06-30 17:30:18 +08:00
c999ddf914 Merge branch 'fix/GHZS-2818' into 'dev'
fix: 【光环助手】神策埋点问题(1) https://jira.shanqu.cc/browse/GHZS-2818

See merge request halo/android/assistant-android!1169
2023-06-30 17:03:53 +08:00
f9004bf884 fix: 【光环助手】神策埋点问题(1) https://jira.shanqu.cc/browse/GHZS-2818 2023-06-30 16:50:29 +08:00
7794ef4acf fix: 【光环助手】神策埋点问题(1) https://jira.shanqu.cc/browse/GHZS-2818 2023-06-30 16:05:51 +08:00
1ef9c1fc23 Merge branch 'fix/vgame_download_flicker' into 'dev'
fix: 修复列表下载畅玩游戏时下载按钮闪烁并频繁切换状态的问题

See merge request halo/android/assistant-android!1166
2023-06-30 15:48:54 +08:00
1b1b753feb Merge remote-tracking branch 'origin/dev' into dev-5.29.0 2023-06-30 14:40:29 +08:00
2561767b9a Merge remote-tracking branch 'origin/release' into dev
# Conflicts:
#	app/src/main/java/com/gh/download/DownloadManager.java
#	dependencies.gradle
#	module_common/src/main/java/com/gh/gamecenter/common/constant/Constants.java
2023-06-30 14:34:01 +08:00
8bda0e178e Merge branch 'fix/GHZS-2818' into 'dev'
fix: 【光环助手】神策埋点问题(1) https://jira.shanqu.cc/browse/GHZS-2818

See merge request halo/android/assistant-android!1167
2023-06-30 14:10:27 +08:00
f634d60605 Merge remote-tracking branch 'origin/dev' into dev-5.29.0 2023-06-30 13:52:06 +08:00
1dcc7654e8 Merge branch 'fix/wrong_game_category' into 'dev'
fix: 更正游戏类型在 downloadEntity 的记录

See merge request halo/android/assistant-android!1168
2023-06-30 11:54:34 +08:00
3579b9d808 fix: 更正游戏类型在 downloadEntity 的记录 2023-06-30 11:51:38 +08:00
c74663c082 fix: 【光环助手】神策埋点问题(1) https://jira.shanqu.cc/browse/GHZS-2818 2023-06-30 11:35:36 +08:00
848d352c60 fix: 【光环助手】神策埋点问题(1) https://jira.shanqu.cc/browse/GHZS-2818 2023-06-30 10:20:53 +08:00
5176766b29 fix: 修复列表下载畅玩游戏时下载按钮闪烁并频繁切换状态的问题 2023-06-30 10:10:47 +08:00
0a90a7ddd9 Merge branch 'feature/GHZS-2748' into 'dev-5.29.0'
feat: 游戏单活动:游戏单狂欢季—客户端-埋点 https://jira.shanqu.cc/browse/GHZS-2748

See merge request halo/android/assistant-android!1165
2023-06-29 17:47:32 +08:00
27ca5073d7 feat: 游戏单活动:游戏单狂欢季—客户端-埋点 https://jira.shanqu.cc/browse/GHZS-2748 2023-06-29 17:39:04 +08:00
e3eb8178a3 fix: merge conflict 2023-06-29 14:52:21 +08:00
10104812d6 Merge remote-tracking branch 'origin/dev' into dev-5.29.0 2023-06-29 14:29:23 +08:00
12cb9a4883 Merge branch 'fix/CWZS-86' into 'dev'
fix: 修复推送更新测试问题 https://jira.shanqu.cc/browse/CWZS-86

See merge request halo/android/assistant-android!1164
2023-06-29 14:08:18 +08:00
a30cc8c273 fix: 修复推送更新测试问题 https://jira.shanqu.cc/browse/CWZS-86 2023-06-29 13:55:19 +08:00
0f0620586b Merge branch 'fix/GHZS-2516' into 'dev'
fix: 【光环助手】神策首次事件取值的相关排查 (修复用户首次启动退出后再次热启动时用户第一次打开的标记仍为true的问题)...

See merge request halo/android/assistant-android!1163
2023-06-28 15:20:24 +08:00
b9e86dd67a fix: 【光环助手】神策首次事件取值的相关排查 (修复用户首次启动退出后再次热启动时用户第一次打开的标记仍为true的问题) https://jira.shanqu.cc/browse/GHZS-2516 2023-06-28 14:47:07 +08:00
9ce793d47e Merge branch 'fix/GHZS-2561' into 'dev'
fix:【光环助手】动态设置-公告文章支持通用链接(修改接口字段的处理方式)https://jira.shanqu.cc/browse/GHZS-2561

See merge request halo/android/assistant-android!1162
2023-06-28 11:31:37 +08:00
43cb18d6e0 fix:【光环助手】动态设置-公告文章支持通用链接(修改接口字段的处理方式)https://jira.shanqu.cc/browse/GHZS-2561 2023-06-28 11:26:42 +08:00
1e87610899 Merge branch 'feature/GHZS-2481' into 'dev-5.29.0'
feat: 游戏单功能优化-游戏单合集-前端部分—客户端 https://jira.shanqu.cc/browse/GHZS-2481

See merge request halo/android/assistant-android!1158
2023-06-28 10:50:33 +08:00
d04d486425 feat: 游戏单功能优化-游戏单合集-前端部分—客户端 https://jira.shanqu.cc/browse/GHZS-2481 2023-06-28 10:50:33 +08:00
843aa4d1c8 Merge branch 'fix/format_check_crash' into 'dev'
fix: 处理 XAPK 类型检测闪退问题

See merge request halo/android/assistant-android!1161
2023-06-27 18:15:41 +08:00
1745ac91b7 fix: 处理 XAPK 类型检测闪退问题 2023-06-27 16:43:36 +08:00
20bc4a0dc8 Merge branch 'fix/direct_to_gamedetail_without_entrance_issue' into 'dev'
fix: 修复部分位置跳转游戏详情丢失 entrance 字段信息的问题

See merge request halo/android/assistant-android!1160
2023-06-27 15:20:48 +08:00
1105f1b92a feat: 测试包默认开启畅玩功能 2023-06-27 15:20:34 +08:00
53f00f00d3 fix: 修复部分位置跳转游戏详情丢失 entrance 字段信息的问题 2023-06-27 15:12:29 +08:00
b66827e216 Merge branch 'feature/GHZS-2800' into 'dev-5.29.0'
feat: 帖子发布按钮展示优化—客户端 https://jira.shanqu.cc/browse/GHZS-2800

See merge request halo/android/assistant-android!1159
2023-06-27 13:52:39 +08:00
485c34d402 feat: 帖子发布按钮展示优化—客户端 https://jira.shanqu.cc/browse/GHZS-2800 2023-06-27 13:49:42 +08:00
330bcd72d7 Merge branch 'fix/concurrent_crash' into 'dev'
fix: 处理部分下载相关的 concurrent 闪退

See merge request halo/android/assistant-android!1157
2023-06-26 17:20:41 +08:00
b04231772b fix: 处理部分下载相关的 concurrent 闪退 2023-06-26 17:10:13 +08:00
ec1bbdc7d5 Merge branch 'feature-GHZS-2771' into 'dev'
feat:支持xapk格式的apks文件解压—0620测试 https://jira.shanqu.cc/browse/GHZS-2771

See merge request halo/android/assistant-android!1155
2023-06-26 16:48:30 +08:00
c685a02653 feat:支持xapk格式的apks文件解压—0620测试 https://jira.shanqu.cc/browse/GHZS-2771 2023-06-26 16:48:30 +08:00
6594bf14df Revert "Revert "Merge branch 'fix/sqlite_full_crash' into 'dev'""
This reverts commit 043f3c5d17.
2023-06-21 15:22:09 +08:00
5a4f19dd8a Merge branch 'feature-GHZS-2730' into 'dev-5.29.0'
feat:插件化安装弹窗优化—客户端 https://jira.shanqu.cc/browse/GHZS-2730

See merge request halo/android/assistant-android!1154
2023-06-21 15:05:39 +08:00
b54be8cb79 feat:插件化安装弹窗优化—客户端 https://jira.shanqu.cc/browse/GHZS-2730 2023-06-21 14:59:11 +08:00
655380d547 Merge branch 'hotfix/v5.27.1-891/cloud_archive_manager_crash' into 'release'
fix: 修复云存档管理页面点击下载按钮偶发的闪退问题...

See merge request halo/android/assistant-android!1153
2023-06-21 11:48:12 +08:00
da3948228f chore: 版本更新至 5.27.2 2023-06-21 11:39:33 +08:00
5c03119c32 fix: 修复云存档管理页面点击下载按钮偶发的闪退问题 https://sentry.shanqu.cc/organizations/lightgame/issues/289025/events/ba71db5b3538491fa2096ecf33fdfcf8/?project=22 2023-06-21 11:38:53 +08:00
2a496b680b Merge branch 'hotfix/v5.27.1-891/emulator_oaid_crash' into 'release'
fix: 修复模拟器上 OAID SDK 闪退的问题,在所有 postInit 操作前初始化 sentry

See merge request halo/android/assistant-android!1152
2023-06-21 11:26:36 +08:00
db535cf281 fix: 修复模拟器上 OAID SDK 闪退的问题,在所有 postInit 操作前初始化 sentry 2023-06-21 11:20:25 +08:00
c199582efc Merge branch 'hotfix/v5.27.1-891/emulator_oaid_crash' into 'release'
fix: 修复模拟器上 OAID SDK 闪退的问题

See merge request halo/android/assistant-android!1151
2023-06-21 11:02:06 +08:00
b53677a118 fix: 修复模拟器上 OAID SDK 闪退的问题 2023-06-21 10:56:24 +08:00
76ba3a5938 Merge branch 'feature-GHZS-2731' into 'dev-5.29.0'
feat:视频播放组件优化—客户端 https://jira.shanqu.cc/browse/GHZS-2731

See merge request halo/android/assistant-android!1150
2023-06-21 09:27:46 +08:00
db596a6c75 feat:视频播放组件优化—客户端 https://jira.shanqu.cc/browse/GHZS-2731 2023-06-20 18:40:31 +08:00
043f3c5d17 Revert "Merge branch 'fix/sqlite_full_crash' into 'dev'"
This reverts merge request !1147
2023-06-20 18:00:56 +08:00
68006dda38 Merge branch 'feature-GHZS-2754' into 'release'
fix:尝试修复部分线上闪退 https://jira.shanqu.cc/browse/GHZS-2754

See merge request halo/android/assistant-android!1149
2023-06-20 17:24:57 +08:00
b5cab193be fix:尝试修复部分线上闪退 https://jira.shanqu.cc/browse/GHZS-2754 2023-06-20 17:24:57 +08:00
6f2692296c Merge branch 'fix/sqlite_full_crash' into 'dev'
fix: 处理存储空间满了后的闪退问题 https://sentry.shanqu.cc/organizations/lightgame/issues/197777/?project=22&query=assigned%3Ame+status%3Aunresolved&sort=user&statsPeriod=14d

See merge request halo/android/assistant-android!1147
2023-06-20 17:16:25 +08:00
0bb7a53046 Merge branch 'fix/game_collection_hot_list' into 'dev'
fix: 修复游戏单热榜的游戏单宽度不能自适应的问题

See merge request halo/android/assistant-android!1146
2023-06-20 15:51:08 +08:00
25fe362912 fix: 修复游戏单热榜的游戏单宽度不能自适应的问题 2023-06-20 15:49:33 +08:00
6749d94c34 fix: 处理存储空间满了后的闪退问题 2023-06-20 15:25:54 +08:00
51f5ea1cd9 Merge branch 'fix/CWZS-85' into 'dev'
fix: 畅玩助手组件下载链接失效问题 https://jira.shanqu.cc/browse/CWZS-85

See merge request halo/android/assistant-android!1145
2023-06-20 14:08:55 +08:00
50a6d5e204 fix: 畅玩助手组件下载链接失效问题 https://jira.shanqu.cc/browse/CWZS-85 2023-06-20 14:02:33 +08:00
044e5646ec Merge branch 'fix/GHZS-2641' into 'dev'
fix: 游戏单功能优化-游戏单广场—0606测试 (修复正式包刷新轮换失效的问题) https://jira.shanqu.cc/browse/GHZS-2641

See merge request halo/android/assistant-android!1144
2023-06-20 11:23:35 +08:00
0ebf3d191d fix: 游戏单功能优化-游戏单广场—0606测试 (修复正式包刷新轮换失效的问题) https://jira.shanqu.cc/browse/GHZS-2641 2023-06-20 11:05:49 +08:00
bb81d91fd5 Merge branch 'release' of git.shanqu.cc:halo/android/assistant-android into release 2023-06-20 10:32:53 +08:00
7442da80e0 Merge branch 'fix/GHZS-2753' into 'dev'
fix: 尝试修复部分线上闪退 https://jira.shanqu.cc/browse/GHZS-2753

See merge request halo/android/assistant-android!1142
2023-06-19 17:00:54 +08:00
96c28907ec Merge branch 'feature-GHZS-2758' into 'dev'
fix:支持xapk格式的apks文件解压—0619测试 https://jira.shanqu.cc/browse/GHZS-2758

See merge request halo/android/assistant-android!1143
2023-06-19 16:52:03 +08:00
e9e7c2043e fix:支持xapk格式的apks文件解压—0619测试 https://jira.shanqu.cc/browse/GHZS-2758 2023-06-19 16:52:03 +08:00
eb5c55f046 ci: 处理特殊打包的编译问题 2023-06-19 16:32:29 +08:00
8f2a1ecaa1 fix: 尝试修复部分线上闪退 https://jira.shanqu.cc/browse/GHZS-2753 2023-06-19 16:31:49 +08:00
8dbe9c5772 Merge branch 'fix/border_color' into 'dev'
fix: 修改玩家创作榜用户头像边框深色模式颜色

See merge request halo/android/assistant-android!1141
2023-06-19 14:14:09 +08:00
6c911e09d3 fix: 修改玩家创作榜用户头像边框深色模式颜色 2023-06-19 14:13:26 +08:00
df557099ec Merge branch 'fix/GHZS-2717' into 'dev'
fix: 搭建评论数据面板—0615测试(修复部分上报位置遗漏问题) https://jira.shanqu.cc/browse/GHZS-2717

See merge request halo/android/assistant-android!1140
2023-06-19 14:09:40 +08:00
fedc91d37e fix: 搭建评论数据面板—0615测试(修复部分上报位置遗漏问题) https://jira.shanqu.cc/browse/GHZS-2717 2023-06-19 13:57:13 +08:00
27484a8306 Merge branch 'fix/GHZS-2752' into 'dev'
fix: 游戏单功能优化-游戏单热榜-前端部分—0619UI优化 https://jira.shanqu.cc/browse/GHZS-2752

See merge request halo/android/assistant-android!1139
2023-06-19 10:36:22 +08:00
42193d222a fix: 游戏单功能优化-游戏单热榜-前端部分—0619UI优化 https://jira.shanqu.cc/browse/GHZS-2752 2023-06-19 10:34:40 +08:00
0a433566b1 chore: 版本更新至 5.29.0 2023-06-19 10:01:48 +08:00
ff02ccd839 Merge remote-tracking branch 'origin/dev' into dev-5.28.0 2023-06-19 09:51:15 +08:00
d1cc0853d4 Merge branch 'fix/vgame_backup_issue' into 'dev-5.28.0'
fix: 修复部分设备卸载重装后无法恢复畅玩历史数据的问题

See merge request halo/android/assistant-android!1138
2023-06-19 09:40:46 +08:00
51eb814a42 fix: 修复部分设备卸载重装后无法恢复畅玩历史数据的问题 2023-06-16 18:04:30 +08:00
684dbcfd87 chore: 版本更新至 5.27.1 2023-06-16 17:06:45 +08:00
6534c17cc0 Merge branch 'fix/GHZS-2641' into 'dev-5.28.0'
fix: 游戏单功能优化-游戏单广场—0606测试(修复筛选游戏单标签时请求接口缺少参数的问题) https://jira.shanqu.cc/browse/GHZS-2641

See merge request halo/android/assistant-android!1137
2023-06-16 16:57:54 +08:00
749a76a09e fix: 游戏单功能优化-游戏单广场—0606测试(修复筛选游戏单标签时请求接口缺少参数的问题) https://jira.shanqu.cc/browse/GHZS-2641 2023-06-16 14:53:04 +08:00
0f59f79495 Merge branch 'fix/GHZS-2744' into 'dev-5.28.0'
fix: 游戏单功能优化-游戏单热榜-前端部分—0616UI测试 https://jira.shanqu.cc/browse/GHZS-2744

See merge request halo/android/assistant-android!1136
2023-06-16 14:50:31 +08:00
af66a967b5 fix: 游戏单功能优化-游戏单热榜-前端部分—0616UI测试 https://jira.shanqu.cc/browse/GHZS-2744 2023-06-16 14:39:30 +08:00
4f8b961e2c Merge branch 'hotfix/v5.27.0-890/GHZS-2719' into 'release'
fix: 首页顶部tab栏图片显示问题 https://jira.shanqu.cc/browse/GHZS-2719

See merge request halo/android/assistant-android!1134
2023-06-16 14:21:55 +08:00
58a7f7c3fa Merge branch 'hotfix/v5.27.0-890/crashes' into 'release'
fix: 捕抓获取是否已安装情况时的闪退...

See merge request halo/android/assistant-android!1135
2023-06-16 14:21:50 +08:00
ae8267d96d fix: 首页顶部tab栏图片显示问题 https://jira.shanqu.cc/browse/GHZS-2719 2023-06-16 14:18:33 +08:00
e20af462b7 fix: 捕抓获取是否已安装情况时的闪退 https://sentry.shanqu.cc/organizations/lightgame/issues/304548/?project=22&query=dist%3A890+level%3Afatal&statsPeriod=14d 2023-06-16 14:17:36 +08:00
9a9095bcf0 Merge branch 'feature-GHZS-2456-patch' into 'dev-5.28.0'
feat:补充支持xapk格式的apks一些需求 https://jira.shanqu.cc/browse/GHZS-2456

See merge request halo/android/assistant-android!1133
2023-06-16 13:51:35 +08:00
225f2becf3 feat:补充支持xapk格式的apks一些需求 https://jira.shanqu.cc/browse/GHZS-2456 2023-06-16 13:51:35 +08:00
e2773ed8c7 Merge branch 'feat/update_gdt_sdk' into 'release'
feat: 更新广点通 SDK

See merge request halo/android/assistant-android!1132
2023-06-16 11:33:19 +08:00
c77e5ca56b Merge branch 'pack/v5.25.3-853/change_kuaishou_channel_sdk' into 'release'
更新快手 SDK ,对接快手渠道 SDK,调整快手 APP ID https://jira.shanqu.cc/browse/GHZS-2306

See merge request halo/android/assistant-android!1131
2023-06-16 11:26:44 +08:00
e78c23ca4f Merge branch 'release' into 'pack/v5.25.3-853/change_kuaishou_channel_sdk'
# Conflicts:
#   app/src/kuaishou/java/com/gh/gamecenter/KuaishouHelper.kt
2023-06-16 03:26:17 +00:00
a502fb64cb Merge branch 'fix/GHZS-2714' into 'dev-5.28.0'
feat: 启动事件埋点补充—0615测试(处理部分游戏类型为空情况) https://jira.shanqu.cc/browse/GHZS-2714

See merge request halo/android/assistant-android!1130
2023-06-16 10:26:41 +08:00
724fe8142c feat: 启动事件埋点补充—0615测试(处理部分游戏类型为空情况,但还需接口返回) https://jira.shanqu.cc/browse/GHZS-2714 2023-06-16 10:16:37 +08:00
dee5a0822d Merge branch 'fix/GHZS-2689' into 'dev-5.28.0'
fix: 游戏单功能优化-游戏单广场—0614测试 (0615测试) https://jira.shanqu.cc/browse/GHZS-2689

See merge request halo/android/assistant-android!1128
2023-06-16 09:51:43 +08:00
e826346ca9 Merge branch 'fix/GHZS-2685' into 'dev-5.28.0'
fix: 游戏单功能优化-游戏单热榜-前端部分—0614测试-客户端 (0615测试) https://jira.shanqu.cc/browse/GHZS-2685

See merge request halo/android/assistant-android!1129
2023-06-16 09:51:35 +08:00
06b43cde77 fix: 游戏单功能优化-游戏单广场—0614测试 (0615测试) https://jira.shanqu.cc/browse/GHZS-2689 2023-06-16 09:45:35 +08:00
ae5edad87b fix: 游戏单功能优化-游戏单热榜-前端部分—0614测试-客户端 (0615测试) https://jira.shanqu.cc/browse/GHZS-2685 2023-06-16 09:35:28 +08:00
c8916f5f33 Merge branch 'fix/GHZS-2641' into 'dev-5.28.0'
fix: 游戏单功能优化-游戏单广场—0606测试 https://jira.shanqu.cc/browse/GHZS-2641

See merge request halo/android/assistant-android!1127
2023-06-15 18:10:53 +08:00
04cca95435 Merge branch 'feature-update-lgl-library' into 'dev-5.28.0'
feat:更新LGLibrary指向

See merge request halo/android/assistant-android!1126
2023-06-15 17:52:55 +08:00
1bd3d8b044 feat:更新LGLibrary指向 2023-06-15 17:52:19 +08:00
4e79466cca fix: 游戏单功能优化-游戏单广场—0606测试 https://jira.shanqu.cc/browse/GHZS-2641 2023-06-15 17:40:20 +08:00
b790d71aa5 feat: 更新快手 SDK,更换默认帐号 2023-06-15 17:22:51 +08:00
88093d0a8e Merge branch 'feature-GHZS-2456' into 'dev-5.28.0'
feat:支持xapk格式的apks文件解压—客户端 https://jira.shanqu.cc/browse/GHZS-2456

See merge request halo/android/assistant-android!1124
2023-06-15 17:06:10 +08:00
26adcc48f8 feat:支持xapk格式的apks文件解压—客户端 https://jira.shanqu.cc/browse/GHZS-2456 2023-06-15 17:06:10 +08:00
e94e86d901 Merge branch 'fix/GHZS-2472' into 'dev-5.28.0'
fix: 游戏单功能优化-游戏单热榜-前端部分—0614测试-客户端 https://jira.shanqu.cc/browse/GHZS-2685

See merge request halo/android/assistant-android!1125
2023-06-15 15:45:46 +08:00
73355a4103 fix: 游戏单功能优化-游戏单热榜-前端部分—0614测试-客户端 https://jira.shanqu.cc/browse/GHZS-2685
fix: 游戏单功能优化-游戏单热榜-前端部分—0614UI测试 https://jira.shanqu.cc/browse/GHZS-2686
2023-06-15 15:33:21 +08:00
794377fdad fix: 游戏单功能优化-游戏单广场—0614测试 https://jira.shanqu.cc/browse/GHZS-2689 2023-06-15 14:31:33 +08:00
1bff098369 Merge branch 'feat/GHZS-2603' into 'dev-5.28.0'
fix: 修复曝光 id 的传递问题 https://jira.shanqu.cc/browse/GHZS-2603

See merge request halo/android/assistant-android!1123
2023-06-15 13:54:11 +08:00
45c7638dee fix: 修复曝光 id 的传递问题 https://jira.shanqu.cc/browse/GHZS-2603 2023-06-15 13:52:30 +08:00
4c57092300 Merge branch 'feat/GHZS-2622' into 'dev-5.28.0'
feat: 启动事件埋点补充 https://jira.shanqu.cc/browse/GHZS-2622

See merge request halo/android/assistant-android!1121
2023-06-15 13:47:59 +08:00
1ddf9a667e feat: 启动事件埋点补充 https://jira.shanqu.cc/browse/GHZS-2622 2023-06-15 10:42:08 +08:00
84972e7ba7 Merge branch 'fix/GHZS-2687' into 'dev-5.28.0'
fix: 游戏单功能优化-游戏单广场—0614UI优化 https://jira.shanqu.cc/browse/GHZS-2687

See merge request halo/android/assistant-android!1120
2023-06-14 15:00:41 +08:00
03692ad753 fix: 游戏单功能优化-游戏单广场—0614UI优化 https://jira.shanqu.cc/browse/GHZS-2687 2023-06-14 14:59:12 +08:00
5c91023a68 Merge branch 'hotfix/v5.27.0-890/wrong_time_issue' into 'release'
fix: 我的收藏-帖子时间显示问题 https://jira.shanqu.cc/browse/GHZS-2675

See merge request halo/android/assistant-android!1119
2023-06-14 14:40:35 +08:00
2eae71bc96 fix: 我的收藏-帖子时间显示问题 https://jira.shanqu.cc/browse/GHZS-2675 2023-06-14 14:33:54 +08:00
bb138fa25f Merge branch 'fix/GHZS-2669' into 'dev-5.28.0'
fix: 多渠道多版本配置-搜索管理功能优化—0612测试-客户端 https://jira.shanqu.cc/browse/GHZS-2669

See merge request halo/android/assistant-android!1118
2023-06-14 14:33:41 +08:00
c5024e670a Merge branch 'fix/GHZS-2674' into 'dev-5.28.0'
fix: 【光环助手】求版本下载跳转问题 https://jira.shanqu.cc/browse/GHZS-2674

See merge request halo/android/assistant-android!1117
2023-06-14 14:33:29 +08:00
fe5c92e988 fix: 【光环助手】求版本下载跳转问题 https://jira.shanqu.cc/browse/GHZS-2674 2023-06-14 14:22:48 +08:00
909477ec7f Merge branch 'hotfix/v5.27.0-890/vertical_slide_data_issue' into 'release'
fix: 游戏专题数据显示问题 https://jira.shanqu.cc/browse/GHZS-2665

See merge request halo/android/assistant-android!1116
2023-06-14 13:50:28 +08:00
a5da376f62 fix: 游戏专题数据显示问题 https://jira.shanqu.cc/browse/GHZS-2665 2023-06-14 11:54:38 +08:00
9b31bf4164 fix: 多渠道多版本配置-搜索管理功能优化—0612测试-客户端 https://jira.shanqu.cc/browse/GHZS-2669 2023-06-14 11:37:25 +08:00
c670ab722f Merge branch 'fix/GHZS-2658' into 'dev-5.28.0'
fix: 游戏单功能优化-游戏单广场—0609测试 https://jira.shanqu.cc/browse/GHZS-2658

See merge request halo/android/assistant-android!1115
2023-06-13 15:14:39 +08:00
fd4f3c25e7 fix: 游戏单功能优化-游戏单广场—0609测试 https://jira.shanqu.cc/browse/GHZS-2658 2023-06-13 15:09:46 +08:00
a14ea3708a Merge branch 'fix/GHZS-2658' into 'dev-5.28.0'
fix: 游戏单功能优化-游戏单广场—0609测试 https://jira.shanqu.cc/browse/GHZS-2658

See merge request halo/android/assistant-android!1114
2023-06-13 14:57:25 +08:00
c003240f16 Merge branch 'fix/GHZS-2576' into 'dev-5.28.0'
fix: 修复游戏详情页在正式环境下的闪退问题

See merge request halo/android/assistant-android!1113
2023-06-13 14:57:18 +08:00
891e3d93fb fix: 游戏单功能优化-游戏单广场—0609测试 https://jira.shanqu.cc/browse/GHZS-2658 2023-06-13 14:48:31 +08:00
af5ec74b9e Merge branch 'feat/GHZS-2644' into 'dev-5.28.0'
feat: 搭建评论数据面板(补充埋点) https://jira.shanqu.cc/browse/GHZS-2644

See merge request halo/android/assistant-android!1112
2023-06-13 13:39:57 +08:00
d2c4483455 feat: 搭建评论数据面板(补充埋点) https://jira.shanqu.cc/browse/GHZS-2644 2023-06-13 11:47:21 +08:00
3a156aa8c1 fix: 修复游戏详情页在正式环境下的闪退问题 2023-06-13 11:03:23 +08:00
60bd3ee9b2 Merge branch 'feature/GHZS-2485' into 'dev-5.28.0'
feat: 游戏单功能优化-游戏单热榜-前端部分—客户端 https://jira.shanqu.cc/browse/GHZS-2485

See merge request halo/android/assistant-android!1111
2023-06-13 10:53:34 +08:00
dacda1a858 feat: 游戏单功能优化-游戏单热榜-前端部分—客户端 https://jira.shanqu.cc/browse/GHZS-2485 2023-06-13 10:53:34 +08:00
d084cb1c34 Merge branch 'fix/GHZS-2516' into 'release'
fix: 神策首次事件取值的相关排查(添加开发校验埋点) https://jira.shanqu.cc/browse/GHZS-2516

See merge request halo/android/assistant-android!1110
2023-06-12 15:17:41 +08:00
411bf3561f fix: 神策首次事件取值的相关排查(添加开发校验埋点) https://jira.shanqu.cc/browse/GHZS-2516 2023-06-12 15:11:58 +08:00
265b5f6b57 Merge branch 'feat/GHZS-2502' into 'dev-5.28.0'
feat: 我的光环在设备无网络时的功能版块优化 https://jira.shanqu.cc/browse/GHZS-2502

See merge request halo/android/assistant-android!1109
2023-06-12 10:30:56 +08:00
b4bd6f250b feat: 我的光环在设备无网络时的功能版块优化 https://jira.shanqu.cc/browse/GHZS-2502 2023-06-12 10:25:35 +08:00
0f3ae5f085 Merge branch 'fix/GHZS-2656' into 'dev-5.28.0'
fix: 游戏单功能优化-游戏单广场—0609UI测试 https://jira.shanqu.cc/browse/GHZS-2656

See merge request halo/android/assistant-android!1108
2023-06-09 17:03:43 +08:00
3ab6cc202e fix: 游戏单功能优化-游戏单广场—0609UI测试 https://jira.shanqu.cc/browse/GHZS-2656 2023-06-09 17:03:05 +08:00
610c006aeb Merge branch 'fix/pad_display_issue' into 'dev'
fix: 低版本系统不支持新 API 导致获取不到软键盘高度的问题 https://jira.shanqu.cc/browse/GHZS-2639

See merge request halo/android/assistant-android!1107
2023-06-09 16:40:49 +08:00
ffa81bc4c1 fix: 低版本系统不支持新 API 导致获取不到软键盘高度的问题 https://jira.shanqu.cc/browse/GHZS-2639 2023-06-09 16:31:43 +08:00
67477ac20a feat: 更新广点通 SDK 2023-06-09 15:39:40 +08:00
7a154bc130 Merge branch 'feature/GHZS-2576' into 'dev-5.28.0'
feat: 动态设置-公告文章支持通用链接—客户端 https://jira.shanqu.cc/browse/GHZS-2576

See merge request halo/android/assistant-android!1106
2023-06-09 15:35:07 +08:00
7cd6f2b0f4 feat: 动态设置-公告文章支持通用链接—客户端 https://jira.shanqu.cc/browse/GHZS-2576 2023-06-09 14:20:13 +08:00
a6a16e4694 Merge branch 'fix/GHZS-2651' into 'dev'
fix: 【光环助手】首页/版块内容列表-游戏单图片显示(0609测试) https://jira.shanqu.cc/browse/GHZS-2651

See merge request halo/android/assistant-android!1105
2023-06-09 13:51:56 +08:00
8f8352dc12 fix: 【光环助手】首页/版块内容列表-游戏单图片显示(0609测试) https://jira.shanqu.cc/browse/GHZS-2651 2023-06-09 13:49:06 +08:00
1bbbe575f2 Merge branch 'fix/oaid_crash' into 'dev'
ci: 移除 byteX 的 access_inline 插件

See merge request halo/android/assistant-android!1104
2023-06-09 10:08:53 +08:00
5975d9850f Merge branch 'fix/webview_multi_process_crash' into 'dev'
fix: 修复部分设备出现的多进程访问 WebView 数据闪退

See merge request halo/android/assistant-android!1103
2023-06-09 10:08:47 +08:00
ef001b0a77 ci: 移除 byteX 的 access_inline 插件 2023-06-09 09:58:04 +08:00
fd49ecbc8a fix: 修复部分设备出现的多进程访问 WebView 数据闪退 2023-06-08 17:25:33 +08:00
8db2519f61 Merge branch 'feature-GHZS-2590' into 'dev-5.28.0'
feat:帖子更多操作图标UI样式替换—客户端 https://jira.shanqu.cc/browse/GHZS-2590

See merge request halo/android/assistant-android!1102
2023-06-08 16:57:35 +08:00
6b2902a73b feat:帖子更多操作图标UI样式替换—客户端 https://jira.shanqu.cc/browse/GHZS-2590 2023-06-08 16:53:19 +08:00
d683969eda Merge branch 'feat/CWZS-76' into 'dev'
feat: 下载弹窗卖点icon更换 https://jira.shanqu.cc/browse/CWZS-74

See merge request halo/android/assistant-android!1101
2023-06-08 16:07:13 +08:00
f8527da9df feat: 下载弹窗卖点icon更换 https://jira.shanqu.cc/browse/CWZS-74 2023-06-08 16:00:06 +08:00
df7618bbda Merge branch 'feature-GHZS-2626' into 'dev-5.28.0'
feat:【光环助手】视频帖详情页UI展示问题 https://jira.shanqu.cc/browse/GHZS-2626

See merge request halo/android/assistant-android!1100
2023-06-08 15:44:12 +08:00
246983a097 feat:【光环助手】视频帖详情页UI展示问题 https://jira.shanqu.cc/browse/GHZS-2626 2023-06-08 15:42:01 +08:00
f50d901171 Merge branch 'fix/GHZS-2639' into 'dev'
fix: 华为pad简易适配—0606测试 https://jira.shanqu.cc/browse/GHZS-2639

See merge request halo/android/assistant-android!1099
2023-06-08 14:54:01 +08:00
71db870bd2 Merge branch 'fix/GHZS-2651' into 'dev'
fix: 【光环助手】首页/版块内容列表-游戏单图片显示 https://jira.shanqu.cc/browse/GHZS-2651

See merge request halo/android/assistant-android!1098
2023-06-08 14:49:03 +08:00
b4c550f71b fix: 华为pad简易适配—0606测试 https://jira.shanqu.cc/browse/GHZS-2639 2023-06-08 14:43:14 +08:00
91bde61054 fix: 【光环助手】首页/版块内容列表-游戏单图片显示 https://jira.shanqu.cc/browse/GHZS-2651 2023-06-08 14:26:25 +08:00
ca6146ad9a Merge branch 'feature-GHZS-2649' into 'dev-5.28.0'
feat:【光环助手】游戏礼包相关bug https://jira.shanqu.cc/browse/GHZS-2649

See merge request halo/android/assistant-android!1097
2023-06-08 11:03:06 +08:00
c647320abc feat:【光环助手】游戏礼包相关bug https://jira.shanqu.cc/browse/GHZS-2649 2023-06-08 10:59:07 +08:00
d7940121ee Merge branch 'release' into 'dev'
Release

See merge request halo/android/assistant-android!1096
2023-06-08 09:19:32 +08:00
ef9c473301 Merge branch 'fix/gallery_slide_crash' into 'release'
fix: 修复滚动图集在游戏数量较少时的数组越界闪退

See merge request halo/android/assistant-android!1094
2023-06-07 16:24:18 +08:00
2c82437449 Merge branch 'fix/v2_test_crash' into 'release'
fix: 捕抓新游开测快速滑动时偶发的空指针异常

See merge request halo/android/assistant-android!1095
2023-06-07 16:24:04 +08:00
311e5e4225 fix: 捕抓新游开测快速滑动时偶发的空指针异常 2023-06-07 16:16:53 +08:00
91864e3681 fix: 修复滚动图集在游戏数量较少时的数组越界闪退 2023-06-07 16:07:31 +08:00
afd738454e Merge branch 'feat/GHZS-2645' into 'dev-5.28.0'
feat: 新增畅玩32位游戏类型 https://jira.shanqu.cc/browse/GHZS-2637

See merge request halo/android/assistant-android!1093
2023-06-07 14:04:40 +08:00
134cb327ec feat: 新增畅玩32位游戏类型 https://jira.shanqu.cc/browse/GHZS-2637 2023-06-07 14:01:57 +08:00
f50ce741ae Merge branch 'dev' into 'dev-5.28.0'
Dev

See merge request halo/android/assistant-android!1092
2023-06-07 11:51:27 +08:00
5e66db7435 Merge branch 'release' into 'dev'
Release

See merge request halo/android/assistant-android!1091
2023-06-07 11:51:04 +08:00
e7c74d3f39 Merge branch 'fix/GHZS-2643' into 'release'
fix: 神策埋点补充—0606测试 https://jira.shanqu.cc/browse/GHZS-2643

See merge request halo/android/assistant-android!1090
2023-06-07 10:43:55 +08:00
d0fa02b221 fix: 神策埋点补充—0606测试 https://jira.shanqu.cc/browse/GHZS-2643 2023-06-07 10:40:06 +08:00
70e4378ef0 feat: 推广打包接入快手分包sdk https://jira.shanqu.cc/browse/GHZS-2306 2023-06-07 09:28:12 +08:00
f8ee943678 Merge branch 'fix/typo' into 'release'
fix: 调整存档缺省文案

See merge request halo/android/assistant-android!1089
2023-06-06 17:51:43 +08:00
918aa17fbd fix: 调整存档缺省文案 2023-06-06 17:49:56 +08:00
0a7a3d9878 Merge branch 'fix/vgame' into 'release'
fix: 修复畅玩游戏功能没有开启的问题

See merge request halo/android/assistant-android!1088
2023-06-06 17:30:56 +08:00
b6a823e793 fix: 修复畅玩游戏功能没有开启的问题 2023-06-06 17:27:41 +08:00
4547ba969e Merge branch 'dev' into 'dev-5.28.0'
Dev

See merge request halo/android/assistant-android!1087
2023-06-06 16:53:05 +08:00
9a95a4623d Merge branch 'release' into 'dev'
Release

See merge request halo/android/assistant-android!1086
2023-06-06 16:52:39 +08:00
206bc1bfcc Merge branch 'fix/CWZS-71' into 'release'
fix:【光环助手】5.27验收问题汇总(2) https://jira.shanqu.cc/browse/CWZS-71

See merge request halo/android/assistant-android!1085
2023-06-06 16:52:02 +08:00
4045e42a7b fix:【光环助手】5.27验收问题汇总(2) https://jira.shanqu.cc/browse/CWZS-71 2023-06-06 16:39:38 +08:00
0a4af78ac8 Merge branch 'dev' into 'dev-5.28.0'
合并 dev 变更

See merge request halo/android/assistant-android!1084
2023-06-06 14:36:18 +08:00
15f283d330 Merge branch 'release' into 'dev'
合并5.26.0相关变更

See merge request halo/android/assistant-android!1083
2023-06-06 14:34:00 +08:00
97bafee09e Merge branch 'fix/gapps_install_issue' into 'release'
fix: 修复畅玩安装谷歌框架时应用切换到后台返回时安装卡住的问题

See merge request halo/android/assistant-android!1081
2023-06-06 14:29:45 +08:00
e32745d9d7 Merge branch 'fix/vspace_delete_issue' into 'release'
fix: 修复畅玩组件安装包被外部删除时再安装会一直触发安装空文件的问题

See merge request halo/android/assistant-android!1082
2023-06-06 14:29:41 +08:00
c37a54ac89 fix: 修复畅玩安装谷歌框架时应用切换到后台返回时安装卡住的问题 2023-06-06 14:27:11 +08:00
607d514ae9 fix: 修复畅玩组件安装包被外部删除时再安装会一直触发安装空文件的问题 2023-06-06 14:18:33 +08:00
62ee0b4a6e Merge branch 'feature/GHZS-2632' into 'release'
feat: 神策埋点补充—客户端 https://jira.shanqu.cc/browse/GHZS-2632

See merge request halo/android/assistant-android!1080
2023-06-06 11:31:00 +08:00
11ff054520 feat: 神策埋点补充—客户端 https://jira.shanqu.cc/browse/GHZS-2632 2023-06-06 10:37:43 +08:00
d38e1d1637 Merge branch 'feature/GHZS-2476' into 'dev-5.28.0'
feat: 游戏单功能优化-游戏单广场—客户端 https://jira.shanqu.cc/browse/GHZS-2476

See merge request halo/android/assistant-android!1076
2023-06-05 17:07:28 +08:00
0d3456cf97 feat: 游戏单功能优化-游戏单广场—客户端 https://jira.shanqu.cc/browse/GHZS-2476 2023-06-05 17:00:56 +08:00
e96fc0f3b4 Merge branch 'fix/vgame_install_issue' into 'release'
fix: 修复畅玩游戏在安装时,手动再触发安装会出现安装失败的问题

See merge request halo/android/assistant-android!1079
2023-06-05 15:58:56 +08:00
a7875b21c9 fix: 修复畅玩游戏在安装时,手动再触发安装会出现安装失败的问题 2023-06-05 15:50:10 +08:00
e53154c810 Merge branch 'feat/GHZS-2596' into 'release'
feat: 游戏平台上报优化 https://jira.shanqu.cc/browse/GHZS-2596

See merge request halo/android/assistant-android!1078
2023-06-05 13:35:18 +08:00
e1d89725bc Merge branch 'fix/download_button_crash' into 'release'
fix: 修复DownloadButton偶发的闪退问题...

See merge request halo/android/assistant-android!1077
2023-06-05 11:31:59 +08:00
1d3ec9eff6 fix: 修复DownloadButton偶发的闪退问题... 2023-06-05 11:31:58 +08:00
0403743533 feat: 游戏平台上报优化 https://jira.shanqu.cc/browse/GHZS-2596 2023-06-05 11:17:06 +08:00
1f25b932d5 Merge branch 'fix/vspace_installed_error' into 'release'
fix: 增强检查应用是否已安装的方法

See merge request halo/android/assistant-android!1075
2023-06-02 15:42:02 +08:00
d3545bc766 fix: 增强检查应用是否已安装的方法 2023-06-02 15:27:36 +08:00
b2b858c403 Merge branch 'fix/vgame_uninstall_error' into 'release'
fix: 修复畅玩游戏安装情况判断异常的问题

See merge request halo/android/assistant-android!1074
2023-06-01 16:03:27 +08:00
debbe08262 fix: 修复畅玩游戏安装情况判断异常的问题 2023-06-01 15:58:35 +08:00
4e746a2b16 Merge branch 'fix/vgame_switch' into 'release'
fix: 修复覆盖安装时因为没有成功获取设置配置而导致功能被关闭的问题

See merge request halo/android/assistant-android!1073
2023-06-01 11:25:37 +08:00
b86e372e5b fix: 修复覆盖安装时因为没有成功获取设置配置而导致功能被关闭的问题 2023-06-01 11:16:42 +08:00
f65e76a94a Merge branch 'fix/CWZS-70' into 'release'
fix: 32位畅玩游戏下载流程埋点—0601测试 https://jira.shanqu.cc/browse/CWZS-70

See merge request halo/android/assistant-android!1072
2023-06-01 10:44:07 +08:00
05c8de827e fix: 32位畅玩游戏下载流程埋点—0601测试 https://jira.shanqu.cc/browse/CWZS-70 2023-06-01 10:39:18 +08:00
78eb10fa3c Merge branch 'feature/CWZS-66' into 'release'
feat: 32位组件-埋点补充-05/29 https://jira.shanqu.cc/browse/CWZS-66

See merge request halo/android/assistant-android!1071
2023-05-31 14:58:17 +08:00
23dfb7378b feat: 32位组件-埋点补充-05/29 https://jira.shanqu.cc/browse/CWZS-66 2023-05-31 14:39:13 +08:00
f56529aa5b chore: 版本更新至 5.28.0 2023-05-31 11:49:46 +08:00
0e2e175194 Merge remote-tracking branch 'origin/dev' into dev-5.27.0 2023-05-31 11:37:32 +08:00
9050a04c3a Merge remote-tracking branch 'origin/release' into dev
# Conflicts:
#	dependencies.gradle
2023-05-31 11:29:19 +08:00
57df50b0a2 chore: 版本更新至 5.25.3 2023-05-31 11:08:46 +08:00
4ff21914c1 Merge branch 'fix/CWZS-69' into 'dev'
fix: 32位畅玩游戏下载流程—0530测试 https://jira.shanqu.cc/browse/CWZS-68

See merge request halo/android/assistant-android!1070
2023-05-31 09:45:50 +08:00
0dec30ff56 fix: 32位畅玩游戏下载流程—0530测试 https://jira.shanqu.cc/browse/CWZS-68 2023-05-31 09:09:23 +08:00
4bdfe6e190 Merge branch 'hotfix/v5.25.2-852/GHZS-2551' into 'release'
fix: 轮播图数据上报问题 https://jira.shanqu.cc/browse/GHZS-2551

See merge request halo/android/assistant-android!1069
2023-05-30 18:01:28 +08:00
55813cdaae fix: 轮播图数据上报问题 https://jira.shanqu.cc/browse/GHZS-2551 2023-05-30 17:54:55 +08:00
8668b2b4ec Merge branch 'feature-GHZS-2552' into 'dev-5.27.0'
feat:版主新增帖子置顶权限—0530测试 https://jira.shanqu.cc/browse/GHZS-2552

See merge request halo/android/assistant-android!1068
2023-05-30 16:20:12 +08:00
b758658ea6 feat:版主新增帖子置顶权限—0530测试 https://jira.shanqu.cc/browse/GHZS-2552 2023-05-30 16:20:12 +08:00
4ca9c32762 Merge branch 'feat/support_pad' into 'dev'
feat: 简单适配平板显示

See merge request halo/android/assistant-android!1067
2023-05-30 15:17:00 +08:00
af8fdd5d65 feat: 简单适配平板 2023-05-30 14:54:53 +08:00
36dd4f5a82 Merge branch 'fix/CWZS-65' into 'dev'
fix: 32位畅玩游戏下载流程—0529测试 https://jira.shanqu.cc/browse/CWZS-65

See merge request halo/android/assistant-android!1066
2023-05-30 14:42:00 +08:00
c7161e3483 fix: 32位畅玩游戏下载流程—0529测试 https://jira.shanqu.cc/browse/CWZS-65 2023-05-30 14:30:14 +08:00
bffaaffc56 Merge branch 'fix/remove_useless_request' into 'dev-5.27.0'
fix: 移除无用下载完成统计接口

See merge request halo/android/assistant-android!1065
2023-05-30 11:09:14 +08:00
3257dd4c53 Merge branch 'feat/GHZS-2406' into 'dev-5.27.0'
feat: 下载事件埋点补充 https://jira.shanqu.cc/browse/GHZS-2406

See merge request halo/android/assistant-android!1064
2023-05-30 11:09:02 +08:00
6793945606 feat: 下载事件埋点补充 https://jira.shanqu.cc/browse/GHZS-2406 2023-05-30 11:03:37 +08:00
52be14a4ef fix: 移除无用下载完成统计接口 2023-05-30 09:54:38 +08:00
e2cb5a31cf Merge branch 'fix/CWZS-64' into 'dev'
fix: 32位畅玩游戏下载流程—0529UI测试 https://jira.shanqu.cc/browse/CWZS-64

See merge request halo/android/assistant-android!1063
2023-05-29 18:04:04 +08:00
d807b7973b fix: 32位畅玩游戏下载流程—0529UI测试 https://jira.shanqu.cc/browse/CWZS-64 2023-05-29 18:01:57 +08:00
1fb0d13646 Merge branch 'feat/GHZS-2388' into 'dev'
feat: 广告位前置工作(接入新版 OAID SDK) https://jira.shanqu.cc/browse/GHZS-2389

See merge request halo/android/assistant-android!1062
2023-05-29 17:25:24 +08:00
68a3eadfeb feat: 广告位前置工作(接入新版 OAID SDK) https://jira.shanqu.cc/browse/GHZS-2389 2023-05-29 16:49:25 +08:00
a2d904c634 Merge branch 'feat/CWZS-58' into 'dev-5.27.0'
feat: 畅玩助手及游戏下载流程梳理 https://jira.shanqu.cc/browse/CWZS-58

See merge request halo/android/assistant-android!1061
2023-05-26 17:53:23 +08:00
56cd1bdad7 feat: 畅玩助手及游戏下载流程梳理 https://jira.shanqu.cc/browse/CWZS-58 2023-05-26 17:36:13 +08:00
999e1a3ad8 Merge branch 'hotfix/v5.25.2-852/GHZS-2409' into 'release'
fix: 神策后台下载相关事件转化率异常问题排查—客户端 https://jira.shanqu.cc/browse/GHZS-2409

See merge request halo/android/assistant-android!1060
2023-05-26 17:16:27 +08:00
8b4f71bc75 Merge remote-tracking branch 'origin/dev' into dev-5.27.0 2023-05-26 17:13:26 +08:00
be937703b8 fix: 神策后台下载相关事件转化率异常问题排查—客户端 https://jira.shanqu.cc/browse/GHZS-2409 2023-05-26 17:08:20 +08:00
aa069b7a21 Merge remote-tracking branch 'origin/release' into dev
# Conflicts:
#	dependencies.gradle
2023-05-26 16:59:59 +08:00
f89914746a Merge branch 'hotfix/v5.25.2-852/GHZS-2409' into 'release'
fix: 神策后台下载相关事件转化率异常问题排查—客户端 https://jira.shanqu.cc/browse/GHZS-2409

See merge request halo/android/assistant-android!1058
2023-05-26 16:42:47 +08:00
fb0db2feee Merge branch 'feature-GHZS-2428' into 'dev-5.27.0'
feat:版主新增帖子置顶权限—客户端 https://jira.shanqu.cc/browse/GHZS-2428

See merge request halo/android/assistant-android!1059
2023-05-26 16:36:10 +08:00
250dba9198 fix: 神策后台下载相关事件转化率异常问题排查—客户端 https://jira.shanqu.cc/browse/GHZS-2409 2023-05-26 16:32:41 +08:00
4c531b40b0 feat:版主新增帖子置顶权限—客户端 https://jira.shanqu.cc/browse/GHZS-2428 2023-05-26 16:25:08 +08:00
875a84b5ae Merge branch 'hotfix/v5.25.2-852/import_error' into 'release'
fix: 修复缺少import问题

See merge request halo/android/assistant-android!1057
2023-05-26 14:53:16 +08:00
77b9b731e2 fix: 修复缺少import问题 2023-05-26 14:51:12 +08:00
bd11481c2d Merge branch 'feat/GHZS-2450' into 'dev'
feat: H5链接游戏适配优化 https://jira.shanqu.cc/browse/GHZS-2450

See merge request halo/android/assistant-android!1055
2023-05-26 14:36:34 +08:00
a3f1b09da1 feat: H5链接游戏适配优化 https://jira.shanqu.cc/browse/GHZS-2450 2023-05-26 14:27:10 +08:00
1798dfb64d Merge branch 'fix/CWZS-62' into 'dev'
fix: 32位畅玩游戏下载流程

See merge request halo/android/assistant-android!1054
2023-05-26 14:11:35 +08:00
8e5814d389 fix: 32位畅玩游戏下载流程—0526UI测试 https://jira.shanqu.cc/browse/CWZS-63 2023-05-26 14:06:01 +08:00
14c01cf171 fix: 32位畅玩游戏下载流程—0525测试 https://jira.shanqu.cc/browse/CWZS-62 2023-05-26 14:06:01 +08:00
c800dac1ec Merge branch 'hotfix/v5.25.2-852/GHZS-2518' into 'release'
fix:【光环助手】右侧卡片曝光数据问题(0525测试1-2) https://jira.shanqu.cc/browse/GHZS-2518

See merge request halo/android/assistant-android!1053
2023-05-26 09:20:23 +08:00
88448b7b8d fix:【光环助手】右侧卡片曝光数据问题(0525测试1-2) https://jira.shanqu.cc/browse/GHZS-2518 2023-05-25 18:02:33 +08:00
77a1e5fea7 Merge branch 'fix/v5.25.2-852/update_install_error' into 'release'
fix: 修复游戏更新安装问题 https://jira.shanqu.cc/browse/GHZS-2517

See merge request halo/android/assistant-android!1052
2023-05-25 15:42:30 +08:00
ef0a212b85 fix: 修复游戏更新安装问题 https://jira.shanqu.cc/browse/GHZS-2517 2023-05-25 15:10:13 +08:00
2ee4ad6752 ci: 邮件编译添加 dev-5.27.0 2023-05-25 11:41:55 +08:00
9173a73ed0 Merge branch 'fix/v5.25.2-852/subject_display_error' into 'release'
fix: 修复横向多列专题的显示问题 https://jira.shanqu.cc/browse/GHZS-2522

See merge request halo/android/assistant-android!1051
2023-05-25 11:22:34 +08:00
5d8e208ef8 fix: 修复横向多列专题的显示问题 https://jira.shanqu.cc/browse/GHZS-2522 2023-05-25 11:10:50 +08:00
309111c422 Merge branch 'hotfix/v5.25.2-852/GHZS-2518' into 'release'
fix:【光环助手】右侧卡片曝光数据问题 https://jira.shanqu.cc/browse/GHZS-2518

See merge request halo/android/assistant-android!1050
2023-05-24 18:00:20 +08:00
3c3a228500 fix:【光环助手】右侧卡片曝光数据问题 https://jira.shanqu.cc/browse/GHZS-2518 2023-05-24 17:56:31 +08:00
33a5e2061f chore: 版本更新至 5.25.2 2023-05-24 16:56:34 +08:00
b62b1f399c Merge branch 'hotfix/v5.25.1-851/ad_error' into 'release'
fix: 修复开屏广告无响应的问题

See merge request halo/android/assistant-android!1049
2023-05-24 16:49:05 +08:00
c4449db90a fix: 修复开屏广告无响应的问题 2023-05-24 16:13:55 +08:00
6edd9f2204 Merge branch 'hotfix/v5.25.1-851/database_crash' into 'release'
fix: 修复数据库变更导致的畅玩数据转化闪退

See merge request halo/android/assistant-android!1048
2023-05-24 14:09:17 +08:00
8508b9ece2 fix: 修复数据库变更导致的畅玩数据转化闪退 2023-05-24 11:52:26 +08:00
20d5ef7a6e Merge branch 'hotfix/v5.25.1-851/GHZS-2518' into 'release'
fix: 【光环助手】右侧卡片曝光数据问题 https://jira.shanqu.cc/browse/GHZS-2518

See merge request halo/android/assistant-android!1047
2023-05-24 10:47:59 +08:00
ff70d7a48a fix: 【光环助手】右侧卡片曝光数据问题 https://jira.shanqu.cc/browse/GHZS-2518 2023-05-24 09:55:31 +08:00
4bc2374cb4 chore: 版本更新至 5.25.1 2023-05-23 15:50:38 +08:00
73d7a38886 Merge branch 'feature/GHZS-2448' into 'dev-5.27.0'
feat: 下载流量提示弹窗埋点补充—客户端 https://jira.shanqu.cc/browse/GHZS-2448

See merge request halo/android/assistant-android!1045
2023-05-23 15:28:09 +08:00
8efa858a01 Merge branch 'hotfix/v5.25.0-850/oaid_crash' into 'release'
fix: 修复oaid初始化sdk出现的闪退问题...

See merge request halo/android/assistant-android!1044
2023-05-23 15:28:00 +08:00
53e2297976 fix: 修复oaid初始化sdk出现的闪退问题... 2023-05-23 15:28:00 +08:00
9cd5e342ac Merge branch 'hotfix/v5.25.0-850/forum_video_crash' into 'release'
fix: 修复视频贴闪退问题...

See merge request halo/android/assistant-android!1046
2023-05-23 11:40:21 +08:00
26dfb79ece fix: 修复视频贴闪退问题 https://sentry.shanqu.cc/organizations/lightgame/issues/298062/?project=22&query=dist%3A850&statsPeriod=14d 2023-05-23 11:12:22 +08:00
e1f70ce788 feat: 下载流量提示弹窗埋点补充—客户端 https://jira.shanqu.cc/browse/GHZS-2448 2023-05-22 17:52:19 +08:00
7bc36814b7 Merge branch 'hotfix/v5.25.0-850/geetest_crash' into 'release'
fix: 修复验证码校验闪退问题

See merge request halo/android/assistant-android!1043
2023-05-22 17:45:37 +08:00
b29651ecfb fix: 修复验证码校验闪退问题 2023-05-22 17:34:35 +08:00
74aad0e7e0 Merge branch 'fix/create_shortcut_crash' into 'release'
fix: 修复畅玩跳转创建桌面图标时偶发的闪退问题...

See merge request halo/android/assistant-android!1042
2023-05-22 15:43:54 +08:00
52a5faacfe fix: 修复畅玩跳转创建桌面图标时偶发的闪退问题 https://sentry.shanqu.cc/organizations/lightgame/issues/295365/?project=22&query=dist%3A835+level%3Afatal&sort=freq&statsPeriod=14d 2023-05-22 15:41:08 +08:00
5cee489ba6 Merge branch 'fix/xapk_dialog_failure_show_crash' into 'release'
fix: 修复频繁弹出 XAPK 解压失败弹窗导致的闪退问题...

See merge request halo/android/assistant-android!1041
2023-05-22 15:33:48 +08:00
f76c3e3638 fix: 修复频繁弹出 XAPK 解压失败弹窗导致的闪退问题 https://sentry.shanqu.cc/organizations/lightgame/issues/279064/events/339dc5e883f54c2ba11ed26e0af89bd7/?project=22&query=level%3Afatal+badtoken&statsPeriod=14d 2023-05-22 15:15:52 +08:00
fe5b93c35a chore: 版本更新至 5.27.0 2023-05-22 11:46:06 +08:00
74c3e7a10d Merge branch 'dev-5.26.0' into dev-5.27.0 2023-05-22 11:41:49 +08:00
deb2b07644 Merge remote-tracking branch 'origin/dev' into dev-5.26.0 2023-05-22 11:27:59 +08:00
386a7f82d9 Merge branch 'fix/debug_compile_error' into 'dev'
fix: 修复debug包编译问题

See merge request halo/android/assistant-android!1040
2023-05-22 11:05:31 +08:00
c6b433d09c Merge branch 'feature-GHZS-2444' into 'dev-5.27.0'
feat:游戏礼包相关优化—客户端 https://jira.shanqu.cc/browse/GHZS-2444

See merge request halo/android/assistant-android!1039
2023-05-22 11:04:15 +08:00
c556a127f5 feat:游戏礼包相关优化—客户端 https://jira.shanqu.cc/browse/GHZS-2444 2023-05-22 11:00:43 +08:00
94983c4b7f fix: 修复debug包编译问题 2023-05-22 10:51:08 +08:00
119cdf4f91 Merge remote-tracking branch 'origin/release' into dev
# Conflicts:
#	dependencies.gradle
2023-05-19 15:55:10 +08:00
bdfd88a4c3 Merge branch 'fix/GHZS-2426' into 'dev-5.26.0'
fix: 已安装列表游戏显示问题 https://jira.shanqu.cc/browse/GHZS-2426

See merge request halo/android/assistant-android!1038
2023-05-19 15:42:25 +08:00
2697fd57b4 fix: 已安装列表游戏显示问题 https://jira.shanqu.cc/browse/GHZS-2426 2023-05-19 15:35:19 +08:00
bde7685dc6 Merge branch 'fix/compile_error' into 'dev'
fix: 修复编译问题

See merge request halo/android/assistant-android!1037
2023-05-19 14:45:51 +08:00
6acaa95098 fix: 修复编译问题 2023-05-19 14:16:19 +08:00
610f116b82 Merge branch 'feature/ci_optimise' into 'dev'
ci: android build 添加 resource_group 避免资源抢夺

See merge request halo/android/assistant-android!1036
2023-05-19 14:02:42 +08:00
fe616ed87b ci: android build 添加 resource_group 避免资源抢夺 2023-05-19 13:56:36 +08:00
06e238b2d5 Merge branch 'feature/CWZS-36' into 'dev-5.26.0'
feat: 32位畅玩游戏下载流程—客户端 https://jira.shanqu.cc/browse/CWZS-36

See merge request halo/android/assistant-android!1024
2023-05-18 17:59:29 +08:00
a4c323b5e0 feat: 32位畅玩游戏下载流程—客户端 https://jira.shanqu.cc/browse/CWZS-36 2023-05-18 17:59:28 +08:00
fdfb03348e Merge branch 'feature/GHZS-2408' into 'dev-5.26.0'
feat: 神策SDK升级—客户端 https://jira.shanqu.cc/browse/GHZS-2408

See merge request halo/android/assistant-android!1034
2023-05-18 16:46:10 +08:00
91ba665c4c Merge branch 'hotfix/v5.24.5-835/forum_detail_section' into 'release'
fix:【光环助手】子版块展示错位 https://jira.shanqu.cc/browse/GHZS-1867

See merge request halo/android/assistant-android!1035
2023-05-18 16:09:46 +08:00
ba65c5e23a feat: 神策SDK升级—客户端 https://jira.shanqu.cc/browse/GHZS-2408 2023-05-18 15:06:21 +08:00
f05b20ed98 fix:【光环助手】子版块展示错位 https://jira.shanqu.cc/browse/GHZS-1867 2023-05-18 14:17:48 +08:00
74d3e8b2d4 Merge branch 'feature/GHZS-2176' into 'dev'
合并开屏广告SDK相关代码

See merge request halo/android/assistant-android!1033
2023-05-18 11:48:52 +08:00
74364cd452 合并开屏广告SDK相关代码 2023-05-18 11:48:52 +08:00
dc2a023fbb Merge branch 'fix/GHZS-2372' into 'release'
fix: 推广渠道接入神策数据平台—05/15测试 https://jira.shanqu.cc/browse/GHZS-2372

See merge request halo/android/assistant-android!1032
2023-05-16 16:02:50 +08:00
47560daec6 fix: 推广渠道接入神策数据平台—05/15测试 https://jira.shanqu.cc/browse/GHZS-2372 2023-05-16 16:00:46 +08:00
657b900418 Merge branch 'fix/GHZS-2372' into 'release'
fix: 推广渠道接入神策数据平台—05/15测试 https://jira.shanqu.cc/browse/GHZS-2372

See merge request halo/android/assistant-android!1031
2023-05-16 15:46:05 +08:00
d826c3dcce fix: 推广渠道接入神策数据平台—05/15测试 https://jira.shanqu.cc/browse/GHZS-2372 2023-05-16 11:54:35 +08:00
935d61f910 Merge branch 'fix/CWZS-53' into 'dev'
Resolve CWZS-53

See merge request halo/android/assistant-android!1030
2023-05-15 11:09:43 +08:00
0a412feefb Merge branch 'fix/GHZS-2370' into 'dev'
fix:【光环助手】新游开测显示问题 https://jira.shanqu.cc/browse/GHZS-2370

See merge request halo/android/assistant-android!1029
2023-05-15 10:45:18 +08:00
31111a1cc8 fix:【光环助手】新游开测显示问题 https://jira.shanqu.cc/browse/GHZS-2370 2023-05-15 10:45:18 +08:00
cf901ef840 fix: 需要谷歌框架的游戏授权后无法跳转返回的问题 https://jira.shanqu.cc/browse/CWZS-53 2023-05-12 14:44:06 +08:00
8d70716f15 chore: 版本更新为 5.24.5 2023-05-12 11:53:14 +08:00
7cf086874a Merge branch 'feature/GHZS-2364' into 'release'
feat: 推广渠道接入神策数据平台 https://jira.shanqu.cc/browse/GHZS-2364

See merge request halo/android/assistant-android!1027
2023-05-12 11:51:20 +08:00
d1698f0c2d feat: 推广渠道接入神策数据平台 https://jira.shanqu.cc/browse/GHZS-2364 2023-05-12 11:48:06 +08:00
f80bcbcfb9 fix: 修复畅玩安装记录时可能错误使用同包名其它游戏实体的问题 https://jira.shanqu.cc/browse/CWZS-53 2023-05-12 11:33:37 +08:00
0f2fcdba68 Merge branch 'feature-delete-comment-dialog-title-center-gravity' into 'dev-5.26.0'
feat:评论详情删除评论弹窗标题居中

See merge request halo/android/assistant-android!1025
2023-05-11 17:04:15 +08:00
548156c159 feat:评论详情删除评论弹窗标题居中 2023-05-11 17:01:59 +08:00
ea08a52750 Merge branch 'feature-comment-delete-hint-center-gravity' into 'dev-5.26.0'
feat:评论详情删除评论弹窗内容居中

See merge request halo/android/assistant-android!1023
2023-05-11 15:49:05 +08:00
4c51ca7670 feat:评论详情删除评论弹窗内容居中 2023-05-11 15:43:52 +08:00
2ea9d46e12 Merge branch 'fix/GHZS-2340' into 'dev'
fix: 同步正式环境问题—镜像游戏安装包大小显示错误 https://jira.shanqu.cc/browse/GHZS-2340

See merge request halo/android/assistant-android!1022
2023-05-11 11:35:26 +08:00
65445859d3 fix: 同步正式环境问题—镜像游戏安装包大小显示错误 https://jira.shanqu.cc/browse/GHZS-2340 2023-05-11 11:28:46 +08:00
8c9927b9cb Merge branch 'fix/build_error' into 'dev'
fix: 处理编译问题

See merge request halo/android/assistant-android!1021
2023-05-11 10:42:40 +08:00
5477a4a4cc fix: 处理编译问题 2023-05-11 10:36:01 +08:00
d1277aa1aa Merge branch 'feature-CWZS-50' into 'dev-5.26.0'
feat:云存档最新Tab排序逻辑调整—0510测试-客户端 https://jira.shanqu.cc/browse/CWZS-50

See merge request halo/android/assistant-android!1020
2023-05-11 10:12:11 +08:00
2381550e08 feat:云存档最新Tab排序逻辑调整—0510测试-客户端 https://jira.shanqu.cc/browse/CWZS-50 2023-05-11 10:04:54 +08:00
3ff4a9b6cf chore: 版本更新至 5.24.4 2023-05-10 17:35:51 +08:00
174f47edb1 Merge branch 'hotfix/v5.24.3-833/home_push_crash' into 'release'
fix: 修复首页下拉推送弹出时偶发的闪退问题...

See merge request halo/android/assistant-android!1019
2023-05-10 17:35:19 +08:00
96fbe30924 fix: 修复首页下拉推送弹出时偶发的闪退问题... 2023-05-10 17:35:19 +08:00
954c7e427a Merge branch 'fix/GHZS-2262' into 'dev'
fix: 推广包修改激活上报比例没有生效 https://jira.shanqu.cc/browse/GHZS-2262

See merge request halo/android/assistant-android!1018
2023-05-10 17:22:34 +08:00
e466eb6683 fix: 推广包修改激活上报比例没有生效 https://jira.shanqu.cc/browse/GHZS-2262 2023-05-10 16:07:46 +08:00
01437e9d8a Merge branch 'fix/GHZS-2337' into 'dev'
fix:【光环助手】首页下拉推送显示问题 https://jira.shanqu.cc/browse/GHZS-2337

See merge request halo/android/assistant-android!1017
2023-05-10 14:31:17 +08:00
eac553ba46 fix:【光环助手】首页下拉推送显示问题 https://jira.shanqu.cc/browse/GHZS-2337 2023-05-10 14:11:16 +08:00
e57017f5f2 Merge branch 'feature-GHZS-2308' into 'dev-5.26.0'
feat: 文章增加评论删除功能—客户端 https://jira.shanqu.cc/browse/GHZS-2308

See merge request halo/android/assistant-android!1016
2023-05-09 17:26:29 +08:00
6506a18d6f feat: 文章增加评论删除功能—客户端 https://jira.shanqu.cc/browse/GHZS-2308 2023-05-09 17:26:29 +08:00
ed79b230aa Merge branch 'feature-CW-35' into 'dev-5.26.0'
feat: 畅玩助手问题反馈入口—客户端 https://jira.shanqu.cc/browse/CWZS-35

See merge request halo/android/assistant-android!1015
2023-05-09 16:41:51 +08:00
ac56650ce5 feat: 畅玩助手问题反馈入口—客户端 https://jira.shanqu.cc/browse/CWZS-35 2023-05-09 16:41:51 +08:00
81d5a8a12c Merge branch 'fix/crashes' into 'dev'
fix: 处理查看大图页长按图片没有消费事件引起的闪退...

See merge request halo/android/assistant-android!1014
2023-05-09 16:40:56 +08:00
192ae916de Merge branch 'hotfix/v5.24.3-833/more_feature_crash' into 'release'
fix: 修复我的光环更多功能列表刷新后数量减少时发生的数组越界闪退...

See merge request halo/android/assistant-android!1013
2023-05-09 11:31:46 +08:00
5047ae5f9c fix: 修复我的光环更多功能列表刷新后数量减少时发生的数组越界闪退... 2023-05-09 11:31:46 +08:00
f5a30a7dde fix: 处理查看大图页长按图片没有消费事件引起的闪退 https://sentry.shanqu.cc/organizations/lightgame/issues/136944/events/94b3165c29d54705b3e7d461bd04bc0a/?project=22&query=showContextMenuForChild&statsPeriod=14d 2023-05-09 10:33:59 +08:00
e9c22ef577 Merge branch 'fix/GHZS-2322' into 'dev'
尝试修复闪退问题

See merge request halo/android/assistant-android!1012
2023-05-08 17:31:31 +08:00
8292d8512d 尝试修复闪退问题 2023-05-08 17:31:31 +08:00
a606633755 Merge branch 'hotfix/v5.24.3-833/home_collection_crash' into 'release'
fix: 修复首页游戏单异步更新view时发生的数组越界闪退...

See merge request halo/android/assistant-android!1011
2023-05-08 17:14:19 +08:00
9788b632d6 fix: 修复首页游戏单异步更新view时发生的数组越界闪退... 2023-05-08 17:14:19 +08:00
0e988b2b49 Merge branch 'dev' into 'dev-5.26.0'
合并 5.24 & 5.25 变更

See merge request halo/android/assistant-android!1010
2023-05-08 10:40:28 +08:00
0a8211d40b Merge remote-tracking branch 'origin/release' into dev
# Conflicts:
#	app/build.gradle
#	dependencies.gradle
2023-05-08 09:50:13 +08:00
1b3c2da6d3 Merge branch 'feature/GHZS-2306' into 'dev-5.26.0'
feat: 推广打包接入快手分包sdk https://jira.shanqu.cc/browse/GHZS-2306

See merge request halo/android/assistant-android!1008
2023-05-06 16:56:06 +08:00
48209b05e7 feat: 推广打包接入快手分包sdk https://jira.shanqu.cc/browse/GHZS-2306 2023-05-06 16:52:02 +08:00
2da42d48e6 Merge branch 'feature/GHZS-2083' into 'dev-5.26.0'
feat: 推广打包增加配置信息及快速打包功能 https://jira.shanqu.cc/browse/GHZS-2082

See merge request halo/android/assistant-android!1007
2023-05-06 16:28:19 +08:00
f6b1813e88 feat: 推广打包增加配置信息及快速打包功能 https://jira.shanqu.cc/browse/GHZS-2082 2023-05-06 16:19:57 +08:00
c16407e360 Merge branch 'feature-GHZS-2305' into 'dev'
feat: 长期有效的礼包客户端显示优化—客户端 https://jira.shanqu.cc/browse/GHZS-2305

See merge request halo/android/assistant-android!1006
2023-05-06 15:46:36 +08:00
b7ca5c54a3 feat: 长期有效的礼包客户端显示优化—客户端 https://jira.shanqu.cc/browse/GHZS-2305 2023-05-06 15:46:36 +08:00
d42a915ef5 Merge branch 'feature-GHZS-packet-capture-tool-support' into 'dev'
feat: internal和debug包支持抓包工具(Charles、Fiddler、ProxyMan)

See merge request halo/android/assistant-android!1005
2023-05-06 13:56:22 +08:00
91c1e8fcef feat: internal和debug包支持抓包工具(Charles、Fiddler、ProxyMan) 2023-05-06 13:51:40 +08:00
9abd0de3fe Merge branch 'feature/CWZS-33' into 'dev-5.26.0'
feat: 下载完成提示条展示时机优化——客户端 https://jira.shanqu.cc/browse/CWZS-33

See merge request halo/android/assistant-android!1004
2023-05-05 16:45:33 +08:00
25cb0de6c0 feat: 下载完成提示条展示时机优化——客户端 https://jira.shanqu.cc/browse/CWZS-33 2023-05-05 16:33:57 +08:00
41804a9a05 chore: 版本更新至 5.24.3 2023-05-05 11:40:18 +08:00
4db1147c4f Merge branch 'feature/GHZS-2285' into 'dev-5.26.0'
feat: 论坛详情页帖子列表展示优化—客户端 https://jira.shanqu.cc/browse/GHZS-2285

See merge request halo/android/assistant-android!1002
2023-05-05 11:40:10 +08:00
48f9d5e159 Merge branch 'hotfix/v5.24.2-832/disable_vpn' into 'release'
feat: 临时屏蔽 VPN 相关功能

See merge request halo/android/assistant-android!1003
2023-05-05 11:39:19 +08:00
ccaf82a20b Merge branch 'hotfix/v5.24.2-832/download_crash' into 'release'
fix: 捕抓下载时数据库 IO 异常触发的闪退...

See merge request halo/android/assistant-android!1001
2023-05-05 11:36:53 +08:00
7802082797 feat: 论坛详情页帖子列表展示优化—客户端 https://jira.shanqu.cc/browse/GHZS-2285 2023-05-05 11:34:35 +08:00
c293a4485e feat: 临时屏蔽 VPN 相关功能 2023-05-05 11:32:25 +08:00
eb7f2b418b fix: 捕抓下载时数据库 IO 异常触发的闪退 https://sentry.shanqu.cc/organizations/lightgame/issues/261125/?project=22&query=is%3Aunresolved&sort=freq&statsPeriod=14d 2023-05-05 11:20:15 +08:00
bbdecd6627 Merge branch 'hotfix/v5.24.2-832/wrong_thread_crash' into 'release'
fix: 修复非主线程设置Lottie动画导致的闪退问题...

See merge request halo/android/assistant-android!1000
2023-05-04 11:21:14 +08:00
f88aa52d09 fix: 修复非主线程设置Lottie动画导致的闪退问题... 2023-05-04 11:21:13 +08:00
dd77243a2f chore: 版本更新至 5.24.2 2023-04-28 16:04:03 +08:00
9ead786c4c Merge branch 'hotfix/v5.24.1-831/crashes' into 'release'
Hotfix/v5.24.1 831/crashes

See merge request halo/android/assistant-android!999
2023-04-28 16:03:02 +08:00
f367eabddc fix: 修复部分区域的下载事件没有带上曝光来源的问题 2023-04-28 15:48:56 +08:00
16ced738ac fix: 修复多线程操作曝光上报数据引起的闪退问题 2023-04-28 15:47:09 +08:00
d607c04c33 fix: 修复游戏详情重建时的闪退问题 2023-04-28 15:42:10 +08:00
da40da432f Merge branch 'fix/GHZS-2261' into 'dev'
fix: 修复视频播放的日志 task 让线程池爆满的问题 https://jira.shanqu.cc/browse/GHZS-2261

See merge request halo/android/assistant-android!998
2023-04-28 13:46:32 +08:00
6a03b63e65 fix: 修复视频播放的日志 task 让线程池爆满的问题 https://jira.shanqu.cc/browse/GHZS-2261 2023-04-28 13:46:32 +08:00
81400a37f1 Merge branch 'feature/GHZS-2041' into 'dev-5.26.0'
feat: 光环助手支持神策测试环境与正式环境切换 https://jira.shanqu.cc/browse/GHZS-2041

See merge request halo/android/assistant-android!997
2023-04-28 10:37:07 +08:00
228a786f6c feat: 光环助手支持神策测试环境与正式环境切换 https://jira.shanqu.cc/browse/GHZS-2041 2023-04-28 10:32:36 +08:00
224c17c582 Merge branch 'feature-GHZS-2256' into 'dev'
fix: 修复论坛详情ArticleItemVideoView内存泄露的问题 https://jira.shanqu.cc/browse/GHZS-2256

See merge request halo/android/assistant-android!996
2023-04-28 09:22:15 +08:00
64a35316cb fix: 修复论坛详情ArticleItemVideoView内存泄露的问题 https://jira.shanqu.cc/browse/GHZS-2256 2023-04-27 18:05:11 +08:00
8c889001bf Merge branch 'hotfix/v5.24.1-831/api-call-missing-version' into 'release'
fix: 修复接口统一添加 version 和 channel 在添加用户 mark 字段后可能失效的问题

See merge request halo/android/assistant-android!995
2023-04-27 17:41:30 +08:00
224689ad9c fix: 修复接口统一添加 version 和 channel 在添加用户 mark 字段后可能失效的问题 2023-04-27 17:34:21 +08:00
78207eb0cb Merge branch 'fix/animated_webp_display_issue' into 'dev'
fix: 修复 webp 动图无法自动播放的问题

See merge request halo/android/assistant-android!994
2023-04-27 16:49:35 +08:00
c3b9b52f5d fix: 修复 webp 动图无法自动播放的问题 2023-04-27 16:34:05 +08:00
63b1e510fa chore: 版本更新至 5.24.1 2023-04-27 15:28:26 +08:00
bb7b5cde09 Merge branch 'hotfix/v5.24.0-830/gid_crash' into 'release'
fix: 修复 gid 文件被污染导致的闪退问题

See merge request halo/android/assistant-android!993
2023-04-27 15:26:07 +08:00
9a2a60cd5d fix: 修复 gid 文件被污染导致的闪退问题 2b442e1c3a 2023-04-27 15:13:30 +08:00
690c2e53d9 ci: CI 自动编译添加 5.26.0 2023-04-27 10:15:12 +08:00
5a72c12233 chore: 版本更改为 5.26.0 2023-04-27 10:15:12 +08:00
74f41404ef Merge branch 'dev-5.25.0' into 'dev-5.26.0'
合并 5.24.0 & 5.25.0 相关变更

See merge request halo/android/assistant-android!992
2023-04-27 09:57:27 +08:00
586af43050 Merge branch 'dev' into 'dev-5.25.0'
合并 5.24.0 相关变更

See merge request halo/android/assistant-android!991
2023-04-27 09:56:11 +08:00
454f0cad26 Merge branch 'release' into 'dev'
合并 5.24.0 的修复

See merge request halo/android/assistant-android!990
2023-04-27 09:53:48 +08:00
50510b808f Merge branch 'fix/GHZS-2249' into 'dev-5.25.0'
fix: 新增镜像tab—0426测试2 https://jira.shanqu.cc/browse/GHZS-2249

See merge request halo/android/assistant-android!989
2023-04-26 21:29:00 +08:00
d46ef9f068 fix: 新增镜像tab—0426测试2 https://jira.shanqu.cc/browse/GHZS-2249 2023-04-26 21:25:35 +08:00
293561d807 Merge branch 'fix/GHZS-2249' into 'dev-5.25.0'
fix: 新增镜像tab—0426测试2 https://jira.shanqu.cc/browse/GHZS-2249

See merge request halo/android/assistant-android!988
2023-04-26 20:44:57 +08:00
4c64137e9a fix: 新增镜像tab—0426测试2 https://jira.shanqu.cc/browse/GHZS-2249 2023-04-26 20:40:46 +08:00
d7090125c7 Merge branch 'hotfix/v5.24.0-830/wrong-button-style' into 'release'
fix: 新游开测下载按钮显示问题 https://jira.shanqu.cc/browse/GHZS-2236

See merge request halo/android/assistant-android!987
2023-04-26 19:55:06 +08:00
c2058290f4 fix: 新游开测下载按钮显示问题 https://jira.shanqu.cc/browse/GHZS-2236 2023-04-26 19:50:31 +08:00
0b2f845021 Merge branch 'hotfix/v5.24.0-830/gamedetail_crash' into 'release'
fix: 修复游戏详情页的详情 tab 懒加载修改不完全造成的闪退问题

See merge request halo/android/assistant-android!986
2023-04-26 19:07:54 +08:00
c77934cc75 fix: 修复游戏详情页的详情 tab 懒加载修改不完全造成的闪退问题 2023-04-26 18:59:47 +08:00
57e57c19d0 Merge branch 'fix/GHZS-2242' into 'dev-5.25.0'
fix: 首页tab栏新增上传图片—0426UI测试 https://jira.shanqu.cc/browse/GHZS-2242

See merge request halo/android/assistant-android!985
2023-04-26 17:20:04 +08:00
475b03d591 fix: 首页tab栏新增上传图片—0426UI测试 https://jira.shanqu.cc/browse/GHZS-2242 2023-04-26 17:19:28 +08:00
a97091bf49 Merge branch 'fix/GHZS-2247' into 'dev-5.25.0'
fix: 论坛详情页相关UI优化—0426UI测试 https://jira.shanqu.cc/browse/GHZS-2247

See merge request halo/android/assistant-android!984
2023-04-26 17:18:32 +08:00
7a12c4ab1d fix: 论坛详情页相关UI优化—0426UI测试 https://jira.shanqu.cc/browse/GHZS-2247 2023-04-26 17:12:03 +08:00
4f732c3921 Merge branch 'fix/GHZS-2202' into 'dev-5.25.0'
fix: 新游开测相关功能优化—0423测试 https://jira.shanqu.cc/browse/GHZS-2202

See merge request halo/android/assistant-android!983
2023-04-26 16:15:15 +08:00
531deacc3d fix: 新游开测相关功能优化—0423测试 https://jira.shanqu.cc/browse/GHZS-2202 2023-04-26 16:14:46 +08:00
b219e60f13 Merge branch 'fix/GHZS-2230' into 'dev-5.25.0'
fix: 新游开测相关功能优化—0425UI测试 https://jira.shanqu.cc/browse/GHZS-2230

See merge request halo/android/assistant-android!982
2023-04-26 16:05:34 +08:00
387fc37b19 fix: 新游开测相关功能优化—0425UI测试 https://jira.shanqu.cc/browse/GHZS-2230 2023-04-26 16:04:48 +08:00
1b88c3e0a3 Merge branch 'fix/GHZS-2244' into 'dev-5.25.0'
fix: 新增镜像tab—0426测试 https://jira.shanqu.cc/browse/GHZS-2244

See merge request halo/android/assistant-android!981
2023-04-26 16:01:33 +08:00
af1c7ff2c9 fix: 新增镜像tab—0426测试 https://jira.shanqu.cc/browse/GHZS-2244 2023-04-26 15:53:16 +08:00
976f315ba8 Merge branch 'fix/GHZS-2242' into 'dev-5.25.0'
fix: 首页tab栏新增上传图片—0426UI测试 https://jira.shanqu.cc/browse/GHZS-2242

See merge request halo/android/assistant-android!980
2023-04-26 15:13:11 +08:00
216c13054b fix: 首页tab栏新增上传图片—0426UI测试 https://jira.shanqu.cc/browse/GHZS-2242 2023-04-26 15:04:27 +08:00
9643c3cb9c Merge branch 'feature-GHZS-2216' into 'dev'
fix: 云存档功能—0423测试 https://jira.shanqu.cc/browse/GHZS-2216?filter=-1

See merge request halo/android/assistant-android!979
2023-04-26 14:23:55 +08:00
6a6d0641a2 fix: 云存档功能—0423测试 https://jira.shanqu.cc/browse/GHZS-2216?filter=-1 2023-04-26 14:23:55 +08:00
3fd4d330d2 Merge branch 'feature/GHZS-2144' into 'dev-5.25.0'
feat: 论坛详情页相关UI优化—客户端(1-2) https://jira.shanqu.cc/browse/GHZS-2144

See merge request halo/android/assistant-android!978
2023-04-26 13:55:01 +08:00
f811759bf4 Merge branch 'feature/GHZS-2145' into 'dev-5.25.0'
feat: 新增子版块图标配置—客户端 https://jira.shanqu.cc/browse/GHZS-2145

See merge request halo/android/assistant-android!977
2023-04-26 13:54:27 +08:00
6efc5bb4fa feat: 新增子版块图标配置—客户端 https://jira.shanqu.cc/browse/GHZS-2145 2023-04-26 11:50:37 +08:00
754d7f58c0 Merge branch 'feature/GHZS-2141' into 'dev-5.25.0'
feat: 首页tab栏新增上传图片 https://jira.shanqu.cc/browse/GHZS-2141

See merge request halo/android/assistant-android!975
2023-04-26 10:48:38 +08:00
f0266504de Merge branch 'hotfix/v5.24.0-830/smart_refresh_layout_crash' into 'release'
fix: 修复升级SmartRefreshLayout版本后回答详情页出现的闪退问题

See merge request halo/android/assistant-android!976
2023-04-26 10:47:38 +08:00
84e7ee6347 fix: 修复升级SmartRefreshLayout版本后回答详情页出现的闪退问题 2023-04-26 10:28:06 +08:00
dc39f9f207 feat: 首页tab栏新增上传图片 https://jira.shanqu.cc/browse/GHZS-2141 2023-04-26 10:10:52 +08:00
65c46c2eb4 Merge branch 'dev' into 'dev-5.25.0'
fix: 合并 5.22.5 的闪退修复

See merge request halo/android/assistant-android!974
2023-04-26 09:38:32 +08:00
923f212424 Merge branch 'release' into 'dev'
fix: 合并闪退修复

See merge request halo/android/assistant-android!973
2023-04-26 09:37:36 +08:00
092bdd4812 Merge branch 'legacy-release' into 'release'
fix: 合并 5.22.5 闪退修复

See merge request halo/android/assistant-android!972
2023-04-26 09:35:09 +08:00
40e30058f9 Merge branch 'feature/GHZS-2155' into 'dev-5.25.0'
feat: 游戏详情页tab顺序调整 https://jira.shanqu.cc/browse/GHZS-2155

See merge request halo/android/assistant-android!971
2023-04-25 14:13:02 +08:00
432f8dc090 Merge branch 'dev' into 'dev-5.25.0'
Dev

See merge request halo/android/assistant-android!969
2023-04-25 13:58:40 +08:00
ea68931461 feat: 游戏详情页tab顺序调整 https://jira.shanqu.cc/browse/GHZS-2155 2023-04-25 13:54:54 +08:00
648e6c9dc4 Merge branch 'feature-GHZS-2091-patch' into 'dev'
feat: 云存档数据埋点—客户端 https://jira.shanqu.cc/browse/GHZS-2091

See merge request halo/android/assistant-android!970
2023-04-25 11:35:10 +08:00
4d15361b37 feat: 云存档数据埋点—客户端 https://jira.shanqu.cc/browse/GHZS-2091 2023-04-25 11:35:10 +08:00
c1660a9816 Merge branch 'release' into 'dev'
Release

See merge request halo/android/assistant-android!968
2023-04-25 10:05:51 +08:00
e6a2f0528a Merge branch 'fix/GHZS-2202' into 'dev-5.25.0'
fix: 新游开测相关功能优化—0423测试 https://jira.shanqu.cc/browse/GHZS-2202

See merge request halo/android/assistant-android!967
2023-04-24 18:00:15 +08:00
71f2c937db fix: 新游开测相关功能优化—0423测试 https://jira.shanqu.cc/browse/GHZS-2202 2023-04-24 17:57:21 +08:00
2a8ae9a022 Merge branch 'fix/GHZS-2204' into 'dev-5.25.0'
fix: 新游开测相关功能优化—0423UI测试 https://jira.shanqu.cc/browse/GHZS-2204

See merge request halo/android/assistant-android!966
2023-04-24 17:31:58 +08:00
3f28fcc211 fix: 新游开测相关功能优化—0423UI测试 https://jira.shanqu.cc/browse/GHZS-2204 2023-04-24 17:30:45 +08:00
dd850bdbbc Merge branch 'feature/GHZS-1512' into 'dev-5.25.0'
feat: 新增镜像tab https://jira.shanqu.cc/browse/GHZS-2200

See merge request halo/android/assistant-android!965
2023-04-24 16:39:55 +08:00
6ae8b520ac Merge branch 'fix/GHZS-2223' into 'dev-5.25.0'
fix: 普通帖/视频帖详情页相关优化—0424测试 https://jira.shanqu.cc/browse/GHZS-2223

See merge request halo/android/assistant-android!964
2023-04-24 16:29:47 +08:00
6c7baf54f3 Merge branch 'feature-GHZS-2091' into 'dev'
feat: 云存档数据埋点—客户端 https://jira.shanqu.cc/browse/GHZS-2091

See merge request halo/android/assistant-android!963
2023-04-24 16:20:27 +08:00
d956081d61 feat: 新增镜像tab https://jira.shanqu.cc/browse/GHZS-2200 2023-04-24 16:16:38 +08:00
fe75be35fb fix: 普通帖/视频帖详情页相关优化—0424测试 https://jira.shanqu.cc/browse/GHZS-2223 2023-04-24 16:08:04 +08:00
9080f82b80 feat: 云存档数据埋点—客户端 https://jira.shanqu.cc/browse/GHZS-2091 2023-04-24 16:07:02 +08:00
15d6fd98b5 Merge branch 'fix/GHZS-2149' into 'dev-5.25.0'
fix: 修改帖子详情和视频详情页标题字体大小

See merge request halo/android/assistant-android!962
2023-04-24 15:22:52 +08:00
d1d22de559 fix: 修改帖子详情和视频详情页标题字体大小 2023-04-24 15:06:06 +08:00
8daf5a8feb Merge branch 'hotfix/v5.24.0-830/home_push_crash' into 'release'
fix: 修复首页推送相关闪退问题

See merge request halo/android/assistant-android!961
2023-04-24 15:04:30 +08:00
ac86821871 fix: 修复首页推送相关闪退问题 2023-04-24 14:42:59 +08:00
1d10fc52b9 Merge branch 'fix/GHZS-2200' into 'dev'
fix: 云存档功能—0423UI测试 https://jira.shanqu.cc/browse/GHZS-2200

See merge request halo/android/assistant-android!960
2023-04-24 13:50:08 +08:00
1c1a1f3db0 fix: 云存档功能—0423UI测试 https://jira.shanqu.cc/browse/GHZS-2200 2023-04-24 13:49:40 +08:00
788cada5c9 Merge branch 'fix/GHZS-2200' into 'dev'
fix: 云存档功能—0423UI测试 https://jira.shanqu.cc/browse/GHZS-2200

See merge request halo/android/assistant-android!959
2023-04-24 11:22:46 +08:00
285c87568b fix: 云存档功能—0423UI测试 https://jira.shanqu.cc/browse/GHZS-2200 2023-04-24 11:21:58 +08:00
8a749ad730 Merge branch 'fix/GHZS-2214' into 'dev'
fix:【光环助手】同步正式环境问题-首页下拉推送-第1点 https://jira.shanqu.cc/browse/GHZS-2214

See merge request halo/android/assistant-android!958
2023-04-24 11:10:18 +08:00
1b19760562 fix:【光环助手】同步正式环境问题-首页下拉推送-第1点 https://jira.shanqu.cc/browse/GHZS-2214 2023-04-24 11:04:10 +08:00
2f69074418 Merge branch 'feature/GHZS-2148' into 'dev-5.25.0'
feat: 专区新增搜索栏 https://jira.shanqu.cc/browse/GHZS-2148

See merge request halo/android/assistant-android!957
2023-04-24 10:52:36 +08:00
684e7a63db feat: 专区新增搜索栏 https://jira.shanqu.cc/browse/GHZS-2148 2023-04-24 10:50:55 +08:00
89e588fb9e Merge branch 'fix/GHZS-2200' into 'dev'
fix: 云存档功能—0423UI测试 https://jira.shanqu.cc/browse/GHZS-2200

See merge request halo/android/assistant-android!956
2023-04-23 18:10:31 +08:00
d81b3002cb fix: 云存档功能—0423UI测试 https://jira.shanqu.cc/browse/GHZS-2200 2023-04-23 18:09:59 +08:00
4048554c6e Merge branch 'fix/vgame_connect_issue' into 'dev'
调用接口创建云存档前补充服务重连

See merge request halo/android/assistant-android!955
2023-04-23 17:44:43 +08:00
5fe976f8d0 fix: 修复因为服务断开连接时无法创建云存档的问题 2023-04-23 17:35:50 +08:00
208c21c4ea Merge branch 'feature/GHZS-2149' into 'dev-5.25.0'
feat: 普通帖/视频帖详情页相关优化—客户端 https://jira.shanqu.cc/browse/GHZS-2149

See merge request halo/android/assistant-android!954
2023-04-23 17:34:18 +08:00
55c8fd9271 feat: 普通帖/视频帖详情页相关优化—客户端 https://jira.shanqu.cc/browse/GHZS-2149 2023-04-23 17:24:18 +08:00
664f35090d Merge branch 'feature/GHZS-2102' into 'dev-5.25.0'
fix: 消息中心—评论详情页展示错误 https://jira.shanqu.cc/browse/GHZS-2102

See merge request halo/android/assistant-android!953
2023-04-23 15:29:15 +08:00
aaec370afa fix: 消息中心—评论详情页展示错误 https://jira.shanqu.cc/browse/GHZS-2102 2023-04-23 15:21:56 +08:00
af09f28fdd Merge branch 'feature/GHZS-2101' into 'dev-5.25.0'
fix: 下载管理-解压失败点击交互 https://jira.shanqu.cc/browse/GHZS-2101

See merge request halo/android/assistant-android!952
2023-04-23 14:41:32 +08:00
00b92d2aec fix: 下载管理-解压失败点击交互 https://jira.shanqu.cc/browse/GHZS-2101 2023-04-23 14:40:08 +08:00
4c4dafde62 Merge branch 'feature/GHZS-2198' into 'dev'
feat: 首页推荐入口UI调整 https://jira.shanqu.cc/browse/GHZS-2198

See merge request halo/android/assistant-android!951
2023-04-23 10:14:20 +08:00
d481741c1a feat: 首页推荐入口UI调整 https://jira.shanqu.cc/browse/GHZS-2198 2023-04-23 10:11:49 +08:00
f6c4e58498 Merge branch 'fix/GHZS-2193' into 'dev'
fix:【光环助手】首页下拉推送相关问题 https://jira.shanqu.cc/browse/GHZS-2193

See merge request halo/android/assistant-android!950
2023-04-23 09:29:37 +08:00
b59c061df3 fix:【光环助手】首页下拉推送相关问题 https://jira.shanqu.cc/browse/GHZS-2193 2023-04-23 09:26:00 +08:00
846c532eeb Merge branch 'fix/GHZS-2195' into 'dev'
fix: 首页右侧卡片UI调整--客户端 https://jira.shanqu.cc/browse/GHZS-2195

See merge request halo/android/assistant-android!948
2023-04-21 17:43:42 +08:00
2a3b9ebc21 Merge branch 'fix/home_push_exposure' into 'dev'
fix: 删除多余的首页下拉推送点击曝光代码

See merge request halo/android/assistant-android!949
2023-04-21 17:43:36 +08:00
808c7a46fc fix: 删除多余的首页下拉推送点击曝光代码 2023-04-21 17:42:11 +08:00
ed6e495ecc fix: 首页右侧卡片UI调整--客户端 https://jira.shanqu.cc/browse/GHZS-2195 2023-04-21 17:36:29 +08:00
a90d694a48 Merge remote-tracking branch 'origin/dev' into dev-5.25.0 2023-04-21 16:57:09 +08:00
73595d5a78 Merge branch 'fix/crash_and_test' into 'dev'
fix: 处理混淆问题和测试包弹窗跳过问题

See merge request halo/android/assistant-android!947
2023-04-21 16:55:18 +08:00
9be57f617e fix: 测试包启动时的内容变更弹窗不再限制必须点击确定才能通过 2023-04-21 16:52:39 +08:00
3e021e3721 fix: 修复混淆异常导致的启动闪退问题 2023-04-21 16:51:41 +08:00
0896051458 Merge branch 'fix/authorize-failed-exception' into 'dev'
fix:修复授权页面-未登录情况-登陆后返回授权第一次授权失败问题

See merge request halo/android/assistant-android!946
2023-04-20 17:03:26 +08:00
b12f08367a fix:修复授权页面-未登录情况-登陆后返回授权第一次授权失败问题 2023-04-20 17:01:38 +08:00
03babbfdee feat: 论坛详情页相关UI优化—客户端(1-2) https://jira.shanqu.cc/browse/GHZS-2144 2023-04-20 15:23:43 +08:00
8d2b83566c Merge branch 'fix/home-game-test-v2-optimized' into 'dev'
fix: 优化新游开测板块条目展示逻辑

See merge request halo/android/assistant-android!945
2023-04-20 14:59:45 +08:00
fe3c0a2084 fix: 优化新游开测板块条目展示逻辑 2023-04-20 14:56:36 +08:00
b26ac93f58 Merge branch 'feature/GHZS-2037' into 'dev'
feat:云存档管理后台功能优化—客户端 https://jira.shanqu.cc/browse/GHZS-2037

See merge request halo/android/assistant-android!943
2023-04-20 14:39:32 +08:00
7285baadbf feat:云存档管理后台功能优化—客户端 https://jira.shanqu.cc/browse/GHZS-2037 2023-04-20 14:26:31 +08:00
32cf945b4d Merge branch 'feature/GHZS-2124' into 'dev-5.25.0'
feat: 徽章相关优化-第二期—客户端 https://jira.shanqu.cc/browse/GHZS-2124

See merge request halo/android/assistant-android!942
2023-04-20 11:23:59 +08:00
207813376b feat: 徽章相关优化-第二期—客户端 https://jira.shanqu.cc/browse/GHZS-2124 2023-04-20 11:04:45 +08:00
7129751c44 Merge branch 'hotfix/v5.22.5-795/cloud_archive_list_crash' into 'legacy-release'
fix: 修复云存档列表页面重建出现的闪退问题...

See merge request halo/android/assistant-android!941
2023-04-20 10:31:24 +08:00
deda82b02e fix: 修复云存档列表页面重建出现的闪退问题... 2023-04-20 10:31:24 +08:00
98a54ad85d Merge branch 'fix/game_icon_render_issue' into 'dev-5.25.0'
fix: 处理 GameIconView 无法预览的问题

See merge request halo/android/assistant-android!939
2023-04-19 17:36:23 +08:00
fc0a36e4b8 fix: 处理 GameIconView 无法预览的问题 2023-04-19 17:31:30 +08:00
a3a68d7550 Merge branch 'feature-ci-5.25.0' into 'dev-5.25.0'
ci: 更新 ci 配置

See merge request halo/android/assistant-android!938
2023-04-19 17:07:56 +08:00
572400a3c7 ci: 更新 ci 配置 2023-04-19 17:05:43 +08:00
8b42390175 chore: 版本更新为 5.25.0 2023-04-19 10:52:17 +08:00
ad71193089 Merge branch 'refactor-relocate_module' into 'dev-5.25.0'
refactor: 将特殊打包模块和 VPN 模块移动到 feature 目录下

See merge request halo/android/assistant-android!937
2023-04-19 10:43:36 +08:00
f631810acc refactor: 将特殊打包模块和 VPN 模块移动到 feature 目录下 2023-04-19 10:38:58 +08:00
6c9ac11175 Merge branch 'fix-floating_window_exposure_issue' into 'dev'
fix: 修复下载完成的曝光事件使用首个 trace 事件导致游戏名为空的问题

See merge request halo/android/assistant-android!936
2023-04-18 17:58:37 +08:00
5ba2ec0129 fix: 修复下载完成的曝光事件使用首个 trace 事件导致游戏名为空的问题 2023-04-18 17:45:38 +08:00
e6677c781d Merge branch 'feat-GHZS-1972' into 'dev'
feat: 通用授权功能—客户端 https://jira.shanqu.cc/browse/GHZS-1972

See merge request halo/android/assistant-android!878
2023-04-18 16:23:25 +08:00
86fb3e02a2 feat: 通用授权功能—客户端 https://jira.shanqu.cc/browse/GHZS-1972 2023-04-18 16:23:25 +08:00
97790e9416 Merge branch 'hotfix-v5.22.5-795-crashes' into 'legacy-release'
修复一些闪退问题

See merge request halo/android/assistant-android!935
2023-04-18 16:02:48 +08:00
ae800c2046 fix: 修复进入分类2.0页面快速退出出现的闪退问题 https://sentry.shanqu.cc/organizations/lightgame/issues/246858/events/30c49600edde46d5a9afa071ddf6948d/?project=22&statsPeriod=14d 2023-04-18 15:40:13 +08:00
75de02669a fix: 修复从游戏存档已安装游戏页进入已卸载畅玩游戏的云存档管理页面点击下载按钮出现的闪退问题 https://sentry.shanqu.cc/organizations/lightgame/issues/289025/events/271d99a504674afb98041c50db3cc433/?project=22&query=String.length%28%29&statsPeriod=14d 2023-04-18 15:15:41 +08:00
9f15983512 Merge branch 'fix-game_filter' into 'dev-5.24.0'
fix: 版块页第一页补充游戏屏蔽功能

See merge request halo/android/assistant-android!933
2023-04-18 11:50:27 +08:00
c1eb1cde87 fix: 版块页第一页补充游戏屏蔽功能 2023-04-18 11:27:53 +08:00
1f9cee2823 Merge remote-tracking branch 'origin/dev' into dev-5.24.0 2023-04-18 10:56:43 +08:00
67e0181fa5 Merge remote-tracking branch 'origin/release' into dev
# Conflicts:
#	dependencies.gradle
2023-04-18 10:55:05 +08:00
dfa2d9b568 Merge branch 'fix-memory_leak' into 'dev-5.24.0'
fix: 简单处理部分内存泄漏问题

See merge request halo/android/assistant-android!932
2023-04-18 10:13:53 +08:00
402e3be226 fix: 简单处理部分内存泄漏问题 2023-04-18 10:01:46 +08:00
2db297e7c9 Merge branch 'fix-GHZS-2076' into 'dev-5.24.0'
fix: 新增[首页下拉推送]功能-前端部分—0417测试(0417测试2) https://jira.shanqu.cc/browse/GHZS-2076

See merge request halo/android/assistant-android!931
2023-04-18 09:57:47 +08:00
43b634f17e fix: 新增[首页下拉推送]功能-前端部分—0417测试(0417测试2) https://jira.shanqu.cc/browse/GHZS-2076 2023-04-18 09:57:47 +08:00
3dce109b87 Merge branch 'fix-night_mode_display_issue' into 'dev-5.24.0'
fix: 修复下载管理游戏更新列表其它版本更新在深色模式下的显示问题

See merge request halo/android/assistant-android!930
2023-04-17 21:32:10 +08:00
683981d5a1 fix: 修复下载管理游戏更新列表其它版本更新在深色模式下的显示问题 2023-04-17 21:25:57 +08:00
9c9b23e1f2 Merge branch 'fix-GHZS-2076' into 'dev-5.24.0'
fix: 新增[首页下拉推送]功能-前端部分—0417测试(0417测试1-4) https://jira.shanqu.cc/browse/GHZS-2076

See merge request halo/android/assistant-android!929
2023-04-17 20:27:58 +08:00
629c274b20 fix: 新增[首页下拉推送]功能-前端部分—0417测试(0417测试1-4) https://jira.shanqu.cc/browse/GHZS-2076 2023-04-17 20:27:58 +08:00
2548e36e65 Merge branch 'fix-home_push' into 'dev-5.24.0'
fix: 调整首页推送下拉阻尼

See merge request halo/android/assistant-android!928
2023-04-17 19:24:38 +08:00
974e35962f fix: 调整首页推送下拉阻尼 2023-04-17 19:22:17 +08:00
b05f3de5b2 Merge branch 'fix-GHZS-2078' into 'dev-5.24.0'
fix: 修复手动上滑收起时透明度不变化的问题,修复触发下拉推送后反向滑动下拉刷新箭头消失的问题

See merge request halo/android/assistant-android!926
2023-04-17 19:08:07 +08:00
9437d64b0f Merge branch 'fix-GHZS-2064' into 'dev-5.24.0'
fix: 新增[首页下拉推送]功能-前端部分—0414测试(3) https://jira.shanqu.cc/browse/GHZS-2064

See merge request halo/android/assistant-android!927
2023-04-17 19:03:11 +08:00
a9787ebc5a Merge branch 'fix-GHZS-2076' into 'dev-5.24.0'
fix: 新增[首页下拉推送]功能-前端部分—0417测试(3) https://jira.shanqu.cc/browse/GHZS-2076

See merge request halo/android/assistant-android!925
2023-04-17 19:02:47 +08:00
329ca952d4 fix: 修复手动上滑收起时透明度不变化的问题,修复触发下拉推送后反向滑动下拉刷新箭头消失的问题 2023-04-17 19:02:14 +08:00
6cebded553 fix: 新增[首页下拉推送]功能-前端部分—0414测试(3) https://jira.shanqu.cc/browse/GHZS-2064 2023-04-17 18:54:00 +08:00
6b77c71b09 Merge branch 'fix-GHZS-2087' into 'dev-5.24.0'
fix: 去掉游戏详情页启动畅玩游戏弹出加载框的行为 https://jira.shanqu.cc/browse/GHZS-2087

See merge request halo/android/assistant-android!924
2023-04-17 18:03:30 +08:00
386315247a fix: 新增[首页下拉推送]功能-前端部分—0417测试(3) https://jira.shanqu.cc/browse/GHZS-2076 2023-04-17 18:00:48 +08:00
31d819573b Merge branch 'fix-GHZS-2086' into 'dev-5.24.0'
fix: 内容点击来源数据记录—0417测试 https://jira.shanqu.cc/browse/GHZS-2086

See merge request halo/android/assistant-android!923
2023-04-17 17:35:55 +08:00
060ef0e2e1 fix: 内容点击来源数据记录—0417测试 https://jira.shanqu.cc/browse/GHZS-2086 2023-04-17 17:33:39 +08:00
3797caaee6 Merge branch 'fix-floating_window_image_display_size' into 'dev-5.24.0'
fix: 修复悬浮窗图片大小显示问题,悬浮显示时间更改为1秒 https://jira.shanqu.cc/browse/GHZS-2074

See merge request halo/android/assistant-android!922
2023-04-17 17:20:37 +08:00
cfe262eee2 fix: 修复悬浮窗图片大小显示问题,悬浮显示时间更改为1秒 https://jira.shanqu.cc/browse/GHZS-2074 2023-04-17 17:13:16 +08:00
5d15f9097b fix: 去掉游戏详情页启动畅玩游戏弹出加载框的行为 https://jira.shanqu.cc/browse/GHZS-2087 2023-04-17 17:09:13 +08:00
a9093dfe37 Merge branch 'fix-GHZS-2078' into 'dev-5.24.0'
fix: 新增[首页下拉推送]功能-前端部分—0417UI测试 https://jira.shanqu.cc/browse/GHZS-2078

See merge request halo/android/assistant-android!921
2023-04-17 16:55:48 +08:00
c4ab306f0d fix: 新增[首页下拉推送]功能-前端部分—0417UI测试 https://jira.shanqu.cc/browse/GHZS-2078 2023-04-17 16:45:20 +08:00
b9daf3075a Merge branch 'feature-GHZS-2005' into 'dev-5.24.0'
feat: 版块接口优化 https://jira.shanqu.cc/browse/GHZS-2005

See merge request halo/android/assistant-android!920
2023-04-17 16:21:17 +08:00
843ac6b432 feat: 版块接口优化 https://jira.shanqu.cc/browse/GHZS-2005 2023-04-17 16:15:52 +08:00
e5d6de8bf4 Merge branch 'fix-floating_window_wrong_delay_time' into 'dev-5.24.0'
fix: 新增右下角悬浮窗—0415优化 https://jira.shanqu.cc/browse/GHZS-2074

See merge request halo/android/assistant-android!919
2023-04-17 14:56:33 +08:00
7fd2a4ce67 fix: 新增右下角悬浮窗—0415优化 https://jira.shanqu.cc/browse/GHZS-2074 2023-04-17 14:54:34 +08:00
7cc38a8d56 Merge branch 'feature-GHZS-2011' into 'dev-5.24.0'
feat: 通用内容合集优化 https://jira.shanqu.cc/browse/GHZS-2011

See merge request halo/android/assistant-android!918
2023-04-17 14:50:38 +08:00
fb9e0c19a5 feat: 通用内容合集优化 https://jira.shanqu.cc/browse/GHZS-2011 2023-04-17 14:48:47 +08:00
f3a2db619a Merge branch 'feat-GHZS-1928' into 'dev-5.24.0'
feat: 新游开测相关功能优化 https://jira.shanqu.cc/browse/GHZS-1928

See merge request halo/android/assistant-android!916
2023-04-17 11:54:24 +08:00
dc4fc254f6 feat: 新游开测相关功能优化 https://jira.shanqu.cc/browse/GHZS-1928 2023-04-17 11:54:24 +08:00
9f451af564 Merge branch 'fix-GHZS-2074' into 'dev-5.24.0'
fix: 新增右下角悬浮窗—0415优化 https://jira.shanqu.cc/browse/GHZS-2074

See merge request halo/android/assistant-android!917
2023-04-17 11:52:25 +08:00
6f62b597b7 fix: 新增右下角悬浮窗—0415优化 https://jira.shanqu.cc/browse/GHZS-2074 2023-04-17 11:42:36 +08:00
b6f73a1e61 Merge branch 'fix-GHZS-2076' into 'dev-5.24.0'
fix: 新增[首页下拉推送]功能-前端部分-0417测试 https://jira.shanqu.cc/browse/GHZS-2076

See merge request halo/android/assistant-android!915
2023-04-17 10:56:01 +08:00
814d212f53 Merge branch 'fix-GHZS-2064' into 'dev-5.24.0'
fix: 新增[首页下拉推送]功能-前端部分-0414测试(第5点补充) https://jira.shanqu.cc/browse/GHZS-2064

See merge request halo/android/assistant-android!913
2023-04-17 10:55:26 +08:00
4f07be4528 Merge branch 'fix-GHZS-2021' into 'dev-5.24.0'
fix: 去除“推荐入口板块”与下方衔接板块之间多余的间距,但是下方衔接“最近在玩”板块时的间距正常,所以间距加到最近在玩板块;...

See merge request halo/android/assistant-android!914
2023-04-17 10:50:31 +08:00
6eaf16e039 fix: 去除“推荐入口板块”与下方衔接板块之间多余的间距,但是下方衔接“最近在玩”板块时的间距正常,所以间距加到最近在玩板块;... 2023-04-17 10:50:31 +08:00
89a7325264 fix: 新增[首页下拉推送]功能-前端部分-0417测试 https://jira.shanqu.cc/browse/GHZS-2076 2023-04-17 10:47:10 +08:00
0cdceaf0ed Merge branch 'fix-GHZS-2074' into 'dev-5.24.0'
fix: 新增右下角悬浮窗—0415优化 https://jira.shanqu.cc/browse/GHZS-2074

See merge request halo/android/assistant-android!912
2023-04-17 10:23:50 +08:00
c0eb8c7263 fix: 新增右下角悬浮窗—0415优化 https://jira.shanqu.cc/browse/GHZS-2074 2023-04-17 10:21:17 +08:00
4581acb5d4 fix: 新增[首页下拉推送]功能-前端部分-0414测试(第5点补充) https://jira.shanqu.cc/browse/GHZS-2064 2023-04-17 10:20:17 +08:00
9c1d64ffe6 Merge branch 'feature-GHZS-2011' into 'dev-5.24.0'
feat: 通用内容合集优化 https://jira.shanqu.cc/browse/GHZS-2011

See merge request halo/android/assistant-android!911
2023-04-17 09:35:43 +08:00
6de711d127 feat: 通用内容合集优化 https://jira.shanqu.cc/browse/GHZS-2011 2023-04-17 09:31:27 +08:00
17a5445f25 fix: 回滚 ci 相关配置 2023-04-14 19:06:44 +08:00
7062d5d8d4 Merge branch 'fix-GHZS-2064' into 'dev-5.24.0'
fix: 新增[首页下拉推送]功能-前端部分-0414测试 https://jira.shanqu.cc/browse/GHZS-2064

See merge request halo/android/assistant-android!910
2023-04-14 18:10:47 +08:00
38347243f3 fix: 新增[首页下拉推送]功能-前端部分-0414测试 https://jira.shanqu.cc/browse/GHZS-2064 2023-04-14 18:01:26 +08:00
bf11c964a3 Merge branch 'fix-GHZS-2061' into 'dev-5.24.0'
fix: 新增[首页下拉推送]功能-0414UI测试 https://jira.shanqu.cc/browse/GHZS-2061

See merge request halo/android/assistant-android!909
2023-04-14 16:58:42 +08:00
d76e3beb63 Merge branch 'fix-floating_window_display_issue' into 'dev-5.24.0'
fix: 完善右下角悬浮窗图片显示逻辑 https://jira.shanqu.cc/projects/GHZS/issues/GHZS-1843

See merge request halo/android/assistant-android!908
2023-04-14 16:47:15 +08:00
e6d8ee779d fix: 完善右下角悬浮窗图片显示逻辑 https://jira.shanqu.cc/projects/GHZS/issues/GHZS-1843 2023-04-14 16:46:46 +08:00
744b60d0de fix: 新增[首页下拉推送]功能-0414UI测试 https://jira.shanqu.cc/browse/GHZS-2061 2023-04-14 16:18:20 +08:00
6bbca7e62d Merge branch 'fix-GHZS-1938' into 'dev-5.24.0'
fix: 修复5.0以下系统进入首页闪退的问题

See merge request halo/android/assistant-android!907
2023-04-14 14:37:24 +08:00
39983bdc02 fix: 修复5.0以下系统进入首页闪退的问题 2023-04-14 14:05:00 +08:00
a72a12c516 Merge branch 'fix-GHZS-1938' into 'dev-5.24.0'
fix: 修复首页下拉推送展开时切换深色模式出现的变色异常

See merge request halo/android/assistant-android!906
2023-04-14 11:31:48 +08:00
4fa5234231 fix: 修复首页下拉推送展开时切换深色模式出现的变色异常 2023-04-14 11:25:05 +08:00
26f5a03c98 Merge branch 'fix-floating_window_display_issue' into 'dev-5.24.0'
fix: 悬浮窗避免显示过大图片,同步悬浮窗与关闭按钮的出现

See merge request halo/android/assistant-android!905
2023-04-14 11:17:19 +08:00
cff85a9990 fix: 避免显示过大图片,同步悬浮窗与关闭按钮的出现 2023-04-14 11:10:07 +08:00
cf82938182 Merge branch 'feature-GHZS-1938' into 'dev-5.24.0'
feat: 新增[首页下拉推送]功能-前端部分—客户端 https://jira.shanqu.cc/browse/GHZS-1938

See merge request halo/android/assistant-android!904
2023-04-14 10:55:00 +08:00
103b551f88 feat: 新增[首页下拉推送]功能-前端部分—客户端 https://jira.shanqu.cc/browse/GHZS-1938 2023-04-14 10:55:00 +08:00
a7fb23fda9 fix: 处理编译问题 2023-04-13 19:41:37 +08:00
0735458c8b Merge branch 'feature-GHZS-1962' into 'dev-5.24.0'
feat: 新增右下角悬浮窗 https://jira.shanqu.cc/browse/GHZS-1962

See merge request halo/android/assistant-android!903
2023-04-13 17:52:15 +08:00
7559e87117 feat: 新增右下角悬浮窗 https://jira.shanqu.cc/browse/GHZS-1962 2023-04-13 17:49:39 +08:00
beb282503d Merge branch 'hotfix-v5.22.4-794-rating_reply_download_button' into 'release'
fix: 修复评价详情页下载按钮下载时不更新进度条的问题

See merge request halo/android/assistant-android!902
2023-04-13 11:51:49 +08:00
4fc185a033 fix: 修复评价详情页下载按钮下载时不更新进度条的问题 2023-04-13 11:45:02 +08:00
5a54a85fe1 Merge branch 'hotfix-v5.22.4-794-GHZS-2028' into 'release'
fix: 礼包状态更新不限制是否登录

See merge request halo/android/assistant-android!901
2023-04-13 09:20:09 +08:00
d19e7f97d1 fix: 礼包状态更新不限制是否登录 2023-04-13 09:17:05 +08:00
fbb9fb885b Merge branch 'fix-GHZS-2036' into 'dev'
fix: 论坛子版块新增发帖权限限制—0412测试-客户端 https://jira.shanqu.cc/browse/GHZS-2036

See merge request halo/android/assistant-android!900
2023-04-12 17:17:53 +08:00
2547f21174 fix: 论坛子版块新增发帖权限限制—0412测试-客户端 https://jira.shanqu.cc/browse/GHZS-2036 2023-04-12 16:49:10 +08:00
0056680f4a chore: 版本更新至 5.22.5 2023-04-12 16:37:22 +08:00
1eb81d994d Merge branch 'hotfix-v5.22.4-794-game_detail_libao_crash' into 'release'
fix: 修复游戏礼包登录后点击复制会闪退的问题 https://jira.shanqu.cc/browse/GHZS-2028

See merge request halo/android/assistant-android!898
2023-04-12 16:36:32 +08:00
24949b9688 Merge branch 'fix-v5.22.4-794-meta_build' into 'release'
fix: 神策数据接受地址改成正式项目

See merge request halo/android/assistant-android!899
2023-04-12 16:36:21 +08:00
65de350da2 Merge branch 'hotfix-v5.22.4-794-meta_build_issue' into 'release'
fix: 推广打包后台功能—0330测试-客户端 https://jira.shanqu.cc/browse/GHZS-1874

See merge request halo/android/assistant-android!896
2023-04-12 16:36:09 +08:00
d02e8fbfa6 fix: 神策数据接受地址改成正式项目 2023-04-12 16:33:04 +08:00
48e8d4b631 fix: 修复游戏礼包登录后点击复制会闪退的问题 https://jira.shanqu.cc/browse/GHZS-2028 2023-04-12 16:21:18 +08:00
517c3c90d5 Merge branch 'fix-GHZS-1892' into 'dev-5.24.0'
fix:前端游戏详情页—自定义板块展示样式问题:超链接文本增加下划线; https://jira.shanqu.cc/browse/GHZS-1892

See merge request halo/android/assistant-android!897
2023-04-12 15:49:02 +08:00
5ee773c5b8 fix:前端游戏详情页—自定义板块展示样式问题:超链接文本增加下划线; https://jira.shanqu.cc/browse/GHZS-1892 2023-04-12 15:40:47 +08:00
e4e92e0efc fix: 推广打包后台功能—0330测试-客户端 https://jira.shanqu.cc/browse/GHZS-1874 2023-04-12 15:15:18 +08:00
1d0bf46597 Merge branch 'fix-GHZS-2020' into 'dev'
fix:【光环助手】同步正式问题—前端徽章小图标展示问题 https://jira.shanqu.cc/browse/GHZS-2020

See merge request halo/android/assistant-android!895
2023-04-12 11:00:31 +08:00
98c0fb39b4 fix:【光环助手】同步正式问题—前端徽章小图标展示问题 https://jira.shanqu.cc/browse/GHZS-2020 2023-04-12 10:53:26 +08:00
db037e4162 Merge branch 'fix-leakcanary' into 'dev-5.24.0'
fix: 修复 LeakCanary 失效的问题

See merge request halo/android/assistant-android!894
2023-04-11 11:28:53 +08:00
2d3af55875 fix: 修复 leakCanary 失效的问题 2023-04-11 11:23:31 +08:00
2fdb613ecc Merge branch 'feature-GHZS-1909' into 'dev'
feat: 论坛子版块新增发帖权限限制—客户端 https://jira.shanqu.cc/browse/GHZS-1909

See merge request halo/android/assistant-android!893
2023-04-11 11:04:57 +08:00
7ad634c78e Merge remote-tracking branch 'origin/dev' into dev-5.24.0 2023-04-11 10:45:16 +08:00
6950c9af09 Merge remote-tracking branch 'origin/dev' into dev-5.24.0
# Conflicts:
#	app/build.gradle
#	app/src/main/java/com/gh/common/xapk/XapkInstaller.kt
2023-04-11 10:37:40 +08:00
851f79c58f feat: 论坛子版块新增发帖权限限制—客户端 https://jira.shanqu.cc/browse/GHZS-1909 2023-04-11 10:31:05 +08:00
7ef2d9b193 Merge remote-tracking branch 'origin/release' into dev
# Conflicts:
#	app/src/main/java/com/gh/download/DownloadManager.java
#	dependencies.gradle
#	module_common/src/main/java/com/gh/gamecenter/common/utils/Extensions.kt
2023-04-11 10:21:54 +08:00
7298d772bb Merge branch 'refactor-remove_legacy_code' into 'dev-5.24.0'
feat: 移除光能部分代码

See merge request halo/android/assistant-android!892
2023-04-11 10:14:53 +08:00
7a6afa9f6c feat: 移除光能部分代码 2023-04-11 09:49:44 +08:00
310b800149 Merge branch 'feat-GHZS-1941' into 'dev-5.24.0'
feat:光环跳转畅玩助手,携带信息增加游戏图标url; https://jira.shanqu.cc/browse/GHZS-1941

See merge request halo/android/assistant-android!890
2023-04-11 09:40:30 +08:00
4126f06107 Merge branch 'hotfix-v5.22.4-794-tea_version' into 'release'
fix: 头条 SDK 基础版本升级为 6.14.3

See merge request halo/android/assistant-android!891
2023-04-10 18:03:54 +08:00
3e3f276cc4 fix: 头条 SDK 基础版本升级为 6.14.3 2023-04-10 18:01:32 +08:00
a3ff7d19a7 feat:光环跳转畅玩助手,携带信息增加游戏图标url; https://jira.shanqu.cc/browse/GHZS-1941 2023-04-10 17:48:13 +08:00
bd5902d924 chore: 版本更新至 5.22.4 2023-04-10 15:31:01 +08:00
7022cf97c8 Merge branch 'hotfix-v5.22.3-793-vspace_config_update_issue' into 'release'
fix: 修复畅玩服务工具因为初始化时序问题,有机率无法更新到最新配置的问题

See merge request halo/android/assistant-android!889
2023-04-10 15:30:22 +08:00
0452116830 fix: 修复畅玩服务工具因为初始化时序问题,有机率无法更新到最新配置的问题 2023-04-10 15:23:43 +08:00
5dfbe5c571 Merge branch 'hotfix-v5.22.3-793-change_fixed_tea_version' into 'release'
fix: 头条 SDK 版本跟随输入变更

See merge request halo/android/assistant-android!888
2023-04-10 14:01:13 +08:00
b8adfc7a4b fix: 头条 SDK 版本跟随输入变更 2023-04-10 13:58:04 +08:00
87de104da6 Merge branch 'pack-v5.22.3-793-multithread_download' into 'release'
feat: 游戏下载底层下载切换至多线程

See merge request halo/android/assistant-android!887
2023-04-10 11:15:28 +08:00
b97a68828d Merge branch 'feature-meta_build_without_multithread_download' into 'release'
feat: 【光环助手】推广组测试打包任务 https://jira.shanqu.cc/browse/GHZS-972

See merge request halo/android/assistant-android!885
2023-04-10 10:59:19 +08:00
b84f456943 Merge branch 'feature-remove_redundant_video_hint' into 'dev-5.24.0'
feat: 移除无用的视频引导相关代码和资源

See merge request halo/android/assistant-android!886
2023-04-10 10:58:04 +08:00
18e96d1c0c feat: 【光环助手】推广组测试打包任务 https://jira.shanqu.cc/browse/GHZS-972 2023-04-10 10:04:32 +08:00
07abad8e04 feat: 移除无用的视频引导相关代码和资源 2023-04-10 09:35:38 +08:00
ad8f06f899 Merge branch 'feature-GHZS-1848' into 'dev-5.24.0'
fix: 我的游戏-玩过 游戏显示问题 https://jira.shanqu.cc/browse/GHZS-1848

See merge request halo/android/assistant-android!884
2023-04-06 19:21:13 +08:00
eb1b04caea fix: 我的游戏-玩过 游戏显示问题 https://jira.shanqu.cc/browse/GHZS-1848 2023-04-06 19:19:30 +08:00
84493b312e Merge branch 'feature-GHZS-1914' into 'dev-5.24.0'
feat: 内容点击来源数据记录 https://jira.shanqu.cc/browse/GHZS-1914

See merge request halo/android/assistant-android!883
2023-04-06 17:00:31 +08:00
fe4ad76e2a feat: 内容点击来源数据记录 https://jira.shanqu.cc/browse/GHZS-1914 2023-04-06 16:57:35 +08:00
e9efbbc44a Merge branch 'fix-GHZS-1966' into 'dev'
fix: 首页轮播图样式改版-前端部分—0331测试(0406测试2) https://jira.shanqu.cc/browse/GHZS-1966

See merge request halo/android/assistant-android!882
2023-04-06 15:34:29 +08:00
7cc7bb54d0 fix: 首页轮播图样式改版-前端部分—0331测试(0406测试2) https://jira.shanqu.cc/browse/GHZS-1966 2023-04-06 15:24:31 +08:00
4adcadbc21 Merge remote-tracking branch 'origin/dev' into dev-5.24.0 2023-04-06 11:09:17 +08:00
38a5893b4d Merge branch 'fix-GHZS-1966' into 'dev'
fix: 首页轮播图样式改版-前端部分—0331测试(0404测试5) https://jira.shanqu.cc/browse/GHZS-1966

See merge request halo/android/assistant-android!881
2023-04-06 11:08:55 +08:00
2c303002f3 Merge remote-tracking branch 'origin/release' into dev
# Conflicts:
#	dependencies.gradle
2023-04-06 10:55:30 +08:00
316778e8a5 feat: 底层下载切换至多线程 2023-04-06 10:31:12 +08:00
210f731b59 chore: 版本更新至 5.22.3 2023-04-06 10:29:32 +08:00
42b7a4abf9 fix: 首页轮播图样式改版-前端部分—0331测试(0404测试5) https://jira.shanqu.cc/browse/GHZS-1966 2023-04-06 10:10:38 +08:00
6a12a0236e Merge branch 'feature-GHZS-1919' into 'dev-5.24.0'
feat: Xapk游戏解压相关埋点补充 https://jira.shanqu.cc/browse/GHZS-1919

See merge request halo/android/assistant-android!880
2023-04-06 09:24:31 +08:00
9e6816440b Merge branch 'hotfix-v5.22.2-792-crashes' into 'release'
处理线上测试包 5.22 的相关闪退

See merge request halo/android/assistant-android!879
2023-04-06 09:24:22 +08:00
d37d4c37bf feat: Xapk游戏解压相关埋点补充 https://jira.shanqu.cc/browse/GHZS-1919 2023-04-05 17:51:28 +08:00
128fea4446 fix: 修复游戏详情页快速跳转时的闪退 https://sentry.shanqu.cc/organizations/lightgame/issues/285364/?project=22&query=dist%3A792&statsPeriod=14d 2023-04-05 10:19:37 +08:00
7e6e85469c fix: 修复刷新延时触发的空指针闪退 https://sentry.shanqu.cc/organizations/lightgame/issues/283770/events/9e0110112aa34b369fdfe89f00fe41f8/?project=22&query=LazyListFragment&statsPeriod=14d 2023-04-05 10:09:06 +08:00
d9c1108dfe fix: 捕抓游戏详情顶部视频暂停时显示占位图所有的异常 2023-04-05 10:01:24 +08:00
86b79d6240 fix: 修复接收卸载应用广播时偶发的数组越界闪退 https://sentry.shanqu.cc/organizations/lightgame/issues/240065/events/0ea60d852bd9400faa6ab2fc611be890/?project=22&query=dist%3A792&statsPeriod=14d 2023-04-05 10:00:29 +08:00
acd308eb00 Merge branch 'hotfix-v5.22.1-791-gid' into 'release'
处理神策 gid 绑定问题

See merge request halo/android/assistant-android!877
2023-04-04 15:35:19 +08:00
c0937b7393 fix: 补充 gid 变更的数据上报,以及神策的临时 gid 解绑操作 2023-04-04 15:27:18 +08:00
7a04e1b8f4 Merge branch 'feature-GHZS-1917' into 'dev-5.24.0'
feat: 深色模式相关埋点补充—客户端 https://jira.shanqu.cc/browse/GHZS-1917

See merge request halo/android/assistant-android!876
2023-04-04 11:04:56 +08:00
b666368bb2 feat: 深色模式相关埋点补充—客户端 https://jira.shanqu.cc/browse/GHZS-1917 2023-04-04 10:59:03 +08:00
62b9e8a76c chore: 版本更新至 5.22.2 2023-04-04 10:35:52 +08:00
76b3607c7f Merge branch 'hotfix-v5.22.1-791-crash' into 'release'
fix: 修复游戏详情页顶部视频闪退

See merge request halo/android/assistant-android!875
2023-04-04 10:27:07 +08:00
619ca32a4a fix: 修复游戏详情页顶部视频闪退 2023-04-04 10:16:03 +08:00
2bd9b7cfe2 Merge branch 'feat-GHZS-1870' into 'release'
feat: VPN预授权弹窗文案修改 https://jira.shanqu.cc/browse/GHZS-1869

See merge request halo/android/assistant-android!874
2023-04-04 09:22:33 +08:00
c93978c773 feat: VPN预授权弹窗文案修改 https://jira.shanqu.cc/browse/GHZS-1869 2023-04-04 09:20:51 +08:00
d0991d1b1b chore: 版本更新至 5.24.0 2023-04-03 17:36:20 +08:00
60b3c25162 Merge branch 'fix-GHZS-1976' into 'release'
fix:【光环助手】神策分析报告问题(2、4) https://jira.shanqu.cc/browse/GHZS-1976

See merge request halo/android/assistant-android!872
2023-04-03 17:32:44 +08:00
3cf6dba418 Merge branch 'feature-GHZS-1834' into 'dev-5.24.0'
feat:【光环助手】论坛子版块客户端相关优化 https://jira.shanqu.cc/browse/GHZS-1834

See merge request halo/android/assistant-android!873
2023-04-03 17:28:08 +08:00
8ac408b5c8 fix:【光环助手】神策分析报告问题(2、4) https://jira.shanqu.cc/browse/GHZS-1976 2023-04-03 17:18:19 +08:00
76a18782d8 feat:【光环助手】论坛子版块客户端相关优化 https://jira.shanqu.cc/browse/GHZS-1834 2023-04-03 17:04:00 +08:00
404c3e1968 Merge branch 'fix-GHZS-1966' into 'dev'
fix: 首页轮播图样式改版-前端部分-0331测试 https://jira.shanqu.cc/browse/GHZS-1966

See merge request halo/android/assistant-android!871
2023-04-03 15:49:08 +08:00
11482d2318 fix: 首页轮播图样式改版-前端部分-0331测试 https://jira.shanqu.cc/browse/GHZS-1966 2023-04-03 15:49:08 +08:00
b9ea681431 Merge branch 'hotfix-v5.22.0-790-crashes' into 'release'
fix: 修复快速跳转页面时游戏详情顶部视频 mTextureView 为空导致的闪退

See merge request halo/android/assistant-android!870
2023-04-03 14:38:49 +08:00
2fb956cd3b fix: 修复快速跳转页面时游戏详情顶部视频 mTextureView 为空导致的闪退 2023-04-03 14:32:46 +08:00
b18d268f73 chore: 版本更新至 5.22.1 2023-04-03 13:54:25 +08:00
34b3eb1299 Merge remote-tracking branch 'origin/release' into dev 2023-04-03 13:53:27 +08:00
2e4c341bb2 Merge branch 'hotfix-v5.22.0-570-crashes' into 'release'
Hotfix v5.22.0 570 crashes

See merge request halo/android/assistant-android!869
2023-04-03 12:00:06 +08:00
bfed223640 fix: 修复游戏详情页顶部视频播放控件暂停 bitmap 被回收后的闪退问题 2023-04-03 11:49:23 +08:00
5bf74b5631 fix: 修复多线程遍历安装包监听对象变更时的闪退 2023-04-03 11:48:28 +08:00
fd16bc33ef chore: 更新神策 SDK 版本至 6.6.6 2023-04-03 10:21:07 +08:00
04e36554bd Merge branch 'fix-ad-image-flicker' into 'dev'
fix: 修复在小米9机型上,广告图闪烁问题

See merge request halo/android/assistant-android!868
2023-04-03 09:39:13 +08:00
2a0322e566 fix: 修复在小米9机型上,广告图闪烁问题 2023-04-03 09:26:46 +08:00
b9de58d9dd Merge branch 'fix-GHZS-1894' into 'dev-5.23.0'
fix: 首页轮播图样式改版-前端部分—0331UI测试(1-2、4) https://jira.shanqu.cc/browse/GHZS-1894

See merge request halo/android/assistant-android!867
2023-03-31 15:28:55 +08:00
9fba8efac4 fix: 首页轮播图样式改版-前端部分—0331UI测试(1-2、4) https://jira.shanqu.cc/browse/GHZS-1894 2023-03-31 15:27:27 +08:00
3e5e768be1 Merge branch 'fix-GHZS-1894' into 'dev-5.23.0'
fix: 首页轮播图样式改版-前端部分—0331UI测试 https://jira.shanqu.cc/browse/GHZS-1894

See merge request halo/android/assistant-android!866
2023-03-31 11:17:15 +08:00
6b54e584fd fix: 首页轮播图样式改版-前端部分—0331UI测试 https://jira.shanqu.cc/browse/GHZS-1894 2023-03-31 11:14:16 +08:00
05e57ed12f Merge branch 'fix-GHZS-1881' into 'dev-5.23.0'
fix: 首页轮播图样式改版-前端部分—0330UI测试 https://jira.shanqu.cc/browse/GHZS-1881

See merge request halo/android/assistant-android!865
2023-03-31 09:57:31 +08:00
d1c50f90c3 fix: 首页轮播图样式改版-前端部分—0330UI测试 https://jira.shanqu.cc/browse/GHZS-1881 2023-03-31 09:50:07 +08:00
b33efeab8c Merge branch 'feature-GHZS-1863' into 'dev-5.23.0'
fix: Xapk解压失败弹窗优化—0330测试-客户端 https://jira.shanqu.cc/browse/GHZS-1863

See merge request halo/android/assistant-android!864
2023-03-30 19:01:18 +08:00
1051d40fab fix: Xapk解压失败弹窗优化—0330测试-客户端 https://jira.shanqu.cc/browse/GHZS-1863 2023-03-30 18:58:24 +08:00
2b6e0fd159 Merge branch 'feature-GHZS-1863' into 'dev-5.23.0'
fix: Xapk解压失败弹窗优化—0330测试-客户端 https://jira.shanqu.cc/browse/GHZS-1863

See merge request halo/android/assistant-android!863
2023-03-30 17:59:51 +08:00
33f0e1d2c5 fix: Xapk解压失败弹窗优化—0330测试-客户端 https://jira.shanqu.cc/browse/GHZS-1863 2023-03-30 17:58:03 +08:00
762309e2c1 Merge branch 'fix-GHZS-1841' into 'dev-5.23.0'
fix: 首页轮播图样式改版-前端部分—0329测试 https://jira.shanqu.cc/browse/GHZS-1841

See merge request halo/android/assistant-android!862
2023-03-30 16:25:54 +08:00
744a3331f7 fix: 首页轮播图样式改版-前端部分—0329测试 https://jira.shanqu.cc/browse/GHZS-1841 2023-03-30 15:52:38 +08:00
9384009bfa Merge branch 'fix-gapps_dialog_radius' into 'dev-5.23.0'
fix: 修复安装谷歌框架弹窗的圆角显示问题

See merge request halo/android/assistant-android!861
2023-03-30 15:32:27 +08:00
13cbfd60e5 fix: 修复安装谷歌框架弹窗的圆角显示问题 2023-03-30 15:31:55 +08:00
cd4d16feb0 Merge branch 'fix-GHZS-1853' into 'dev-5.23.0'
fix: 谷歌框架功能—0330测试 https://jira.shanqu.cc/browse/GHZS-1853

See merge request halo/android/assistant-android!860
2023-03-30 15:25:23 +08:00
0a92ba7653 fix: 谷歌框架功能—0330测试 https://jira.shanqu.cc/browse/GHZS-1853 2023-03-30 15:19:08 +08:00
6fdd2c860a Merge branch 'fix-GHZS-1839' into 'dev-5.23.0'
fix: Xapk解压失败弹窗优化—0329测试 https://jira.shanqu.cc/browse/GHZS-1839

See merge request halo/android/assistant-android!859
2023-03-30 15:09:21 +08:00
47355a3db6 fix: Xapk解压失败弹窗优化—0329测试 https://jira.shanqu.cc/browse/GHZS-1839 2023-03-30 14:59:13 +08:00
3cd8d4d4dc Merge branch 'fix-GHZS-1786' into 'dev-5.23.0'
fix: 游戏重新下载问题 https://jira.shanqu.cc/browse/GHZS-1786

See merge request halo/android/assistant-android!858
2023-03-30 09:54:36 +08:00
738c1b7283 build: 后处理优化 exclude ShapeImageView 2023-03-30 09:33:42 +08:00
01df2f7a17 fix: 游戏重新下载问题 https://jira.shanqu.cc/browse/GHZS-1786 2023-03-29 18:23:46 +08:00
e774d1c636 Merge branch 'feature-GHZS-1692' into 'dev-5.23.0'
feat: 首页轮播图样式改版-前端部分—客户端 https://jira.shanqu.cc/browse/GHZS-1692

See merge request halo/android/assistant-android!855
2023-03-29 18:10:31 +08:00
8978e006e4 feat: 首页轮播图样式改版-前端部分—客户端 https://jira.shanqu.cc/browse/GHZS-1692 2023-03-29 18:10:31 +08:00
e6cf1a2425 Merge branch 'fix-test-v2-night-mode' into 'dev-5.23.0'
fix: 修复首页-推荐-新游开测,在不可见状态切换深色模式后,滑动到可见状态,颜色异常问题

See merge request halo/android/assistant-android!857
2023-03-29 18:09:30 +08:00
0d15bc1ba4 fix: 修复首页-推荐-新游开测,在不可见状态切换深色模式后,滑动到可见状态,颜色异常问题 2023-03-29 18:05:07 +08:00
62f6aa1a71 Merge branch 'fix-bump_material_version' into 'dev-5.23.0'
fix: 更新 material 依赖,修复编译问题

See merge request halo/android/assistant-android!856
2023-03-29 18:00:03 +08:00
ce811ea2e9 fix: 更新 material 依赖,修复编译问题 2023-03-29 17:58:59 +08:00
730b1651f6 Merge branch 'feature-GHZS-1648' into 'dev-5.23.0'
feat: Xapk解压失败弹窗优化 https://jira.shanqu.cc/browse/GHZS-1648

See merge request halo/android/assistant-android!854
2023-03-29 14:38:48 +08:00
b18ff30077 feat: Xapk解压失败弹窗优化 https://jira.shanqu.cc/browse/GHZS-1648 2023-03-29 14:38:27 +08:00
756a215db9 Merge branch 'fix-GHZS-1814' into 'dev-5.23.0'
fix: 论坛详情页新增埋点—0328测试 https://jira.shanqu.cc/browse/GHZS-1814

See merge request halo/android/assistant-android!853
2023-03-28 15:15:59 +08:00
91f3a92a2f Merge branch 'fix-GHZS-1808' into 'dev-5.23.0'
feat: 谷歌框架功能—客户端—埋点 https://jira.shanqu.cc/browse/GHZS-1808

See merge request halo/android/assistant-android!852
2023-03-28 15:05:37 +08:00
2cae0ade4b feat: 谷歌框架功能—客户端—埋点 https://jira.shanqu.cc/browse/GHZS-1808 2023-03-28 15:00:07 +08:00
1853c683d7 fix: 论坛详情页新增埋点—0328测试 https://jira.shanqu.cc/browse/GHZS-1814 2023-03-28 12:34:14 +08:00
4506ad4367 Merge remote-tracking branch 'origin/dev' into dev-5.23.0 2023-03-28 11:37:19 +08:00
a22deaff04 Merge branch 'feat-GHZS-1807' into 'dev-5.23.0'
feat: 畅玩管理更多功能—客户端—埋点 https://jira.shanqu.cc/browse/GHZS-1807

See merge request halo/android/assistant-android!850
2023-03-28 10:35:20 +08:00
8c9201c401 feat: 畅玩管理更多功能—客户端—埋点 https://jira.shanqu.cc/browse/GHZS-1807 2023-03-28 10:30:12 +08:00
1c8502608f Merge branch 'fix-sensors' into 'dev-5.23.0'
fix: 修复无法切换测试环境的问题

See merge request halo/android/assistant-android!848
2023-03-27 18:06:51 +08:00
10eed8844d Merge branch 'merge-from-dev-to-dev-5.23.0' into 'dev-5.23.0'
合并 dev 分支变更到 dev-5.23.0

See merge request halo/android/assistant-android!846
2023-03-27 16:01:10 +08:00
2cbe13b8f8 Merge branch 'dev' into merge-from-dev-to-dev-5.23.0 2023-03-27 15:51:59 +08:00
b61558438e Merge branch 'fix-GHZS-1768' into 'dev-5.23.0'
fix: 游戏专题显示问题 https://jira.shanqu.cc/browse/GHZS-1768

See merge request halo/android/assistant-android!845
2023-03-27 15:42:13 +08:00
bc847a500e fix: 游戏专题显示问题 https://jira.shanqu.cc/browse/GHZS-1768 2023-03-27 15:35:39 +08:00
71abfe6a0d Merge branch 'feature-GHZS-1600' into 'dev-5.23.0'
feat: 谷歌框架功能 https://jira.shanqu.cc/browse/GHZS-1600

See merge request halo/android/assistant-android!842
2023-03-27 10:56:20 +08:00
d311d70bd1 feat: 谷歌框架功能 https://jira.shanqu.cc/browse/GHZS-1600 2023-03-27 10:08:18 +08:00
a63e9ed08e Merge branch 'fix-GHZS-1793' into 'dev-5.23.0'
fix:创建游戏快捷方式-03/24测试问题 https://jira.shanqu.cc/browse/GHZS-1793

See merge request halo/android/assistant-android!840
2023-03-24 14:21:37 +08:00
21a1573f2c fix:创建游戏快捷方式-03/24测试问题 https://jira.shanqu.cc/browse/GHZS-1793 2023-03-24 14:17:31 +08:00
c05a82543a Merge branch 'fix-shortcut-dialog-ui' into 'dev-5.23.0'
fix:创建快捷方式权限弹框ui调整

See merge request halo/android/assistant-android!838
2023-03-24 09:47:55 +08:00
cafbc0efb0 fix:创建快捷方式权限弹框ui调整 2023-03-24 09:45:32 +08:00
cac6875044 Merge branch 'feat-GHZS-1690' into 'dev-5.23.0'
feat:首页-推荐入口展示调整—客户端 https://jira.shanqu.cc/browse/GHZS-1690

See merge request halo/android/assistant-android!837
2023-03-24 09:40:45 +08:00
e3d5923ff3 feat:首页-推荐入口展示调整—客户端 https://jira.shanqu.cc/browse/GHZS-1690 2023-03-24 09:40:45 +08:00
e5e21e8695 Merge branch 'fix-viewbinding_proguard_issue' into 'dev-5.23.0'
fix: 修复混淆问题

See merge request halo/android/assistant-android!836
2023-03-23 15:00:49 +08:00
4f2917e1ac fix: 修复混淆造成的闪退问题 2023-03-23 14:56:35 +08:00
0a3fd9a99e Merge branch 'feat-GHZS-1680' into 'dev-5.23.0'
feat: 畅玩助手-游戏桌面图标创建功能 https://jira.shanqu.cc/browse/GHZS-1680

See merge request halo/android/assistant-android!835
2023-03-23 10:55:28 +08:00
782bbd95b2 feat: 畅玩助手-游戏桌面图标创建功能 https://jira.shanqu.cc/browse/GHZS-1680 2023-03-23 10:55:28 +08:00
d4b3bc059a fix: 更新畅玩连接服务依赖,修复连接问题 2023-03-22 16:56:41 +08:00
8a47e867c7 fix: 更新畅玩连接服务依赖,修复连接问题 2023-03-22 14:28:04 +08:00
2067b8dea3 Merge branch 'fix-GHZS-1649' into 'dev-5.23.0'
fix:【光环助手】版本更新提示问题(0322测试) https://jira.shanqu.cc/browse/GHZS-1649

See merge request halo/android/assistant-android!832
2023-03-22 11:09:40 +08:00
bc3bfb16c2 Merge branch 'feature-GHZS-1725' into 'dev-5.23.0'
feat: 游戏搜索-猜你想搜调整—客户端 https://jira.shanqu.cc/browse/GHZS-1725

See merge request halo/android/assistant-android!831
2023-03-22 11:09:33 +08:00
38e3b8471f fix:【光环助手】版本更新提示问题(0322测试) https://jira.shanqu.cc/browse/GHZS-1649 2023-03-22 10:53:14 +08:00
2aaac4faaf feat: 游戏搜索-猜你想搜调整—客户端 https://jira.shanqu.cc/browse/GHZS-1725 2023-03-22 10:13:32 +08:00
19ed5b963d Merge branch 'fix-GHZS-1756' into 'dev-5.23.0'
fix: 游戏未提示已安装问题 https://jira.shanqu.cc/browse/GHZS-1756

See merge request halo/android/assistant-android!830
2023-03-22 09:15:01 +08:00
77c725068b fix: 游戏未提示已安装问题 https://jira.shanqu.cc/browse/GHZS-1756 2023-03-21 17:49:07 +08:00
c05b3bdca6 chore: 版本更新至 5.23.0 2023-03-21 16:51:34 +08:00
1f630ae652 fix: 将快捷方式管理库移至自有 nexus 管理 2023-03-21 16:46:56 +08:00
26883ee136 Merge branch 'feature-GHZS-1746' into 'dev-5.23.0'
feat: 徽章系统相关优化—客户端 https://jira.shanqu.cc/browse/GHZS-1746

See merge request halo/android/assistant-android!829
2023-03-21 15:47:31 +08:00
e48d090eb3 feat: 徽章系统相关优化—客户端 https://jira.shanqu.cc/browse/GHZS-1746 2023-03-21 15:42:46 +08:00
d9cffafba1 Merge branch 'feature-GHZS-1679' into 'dev-5.23.0'
feat: 畅玩管理更多功能—客户端 https://jira.shanqu.cc/browse/GHZS-1679

See merge request halo/android/assistant-android!827
2023-03-21 15:37:34 +08:00
868dbcd32c feat: 畅玩管理更多功能—客户端 https://jira.shanqu.cc/browse/GHZS-1679 2023-03-21 15:37:33 +08:00
d392247abd Merge branch 'feature-GHZS-1715' into 'dev-5.23.0'
feat: 徽章小图标上传—客户端 https://jira.shanqu.cc/browse/GHZS-1715

See merge request halo/android/assistant-android!828
2023-03-21 15:26:29 +08:00
14ba1585e4 feat: 徽章小图标上传—客户端 https://jira.shanqu.cc/browse/GHZS-1715 2023-03-21 15:18:46 +08:00
1c591c6e45 Merge branch 'feature-GHZS-1718' into 'dev-5.23.0'
feat: 论坛详情页新增埋点—客户端 https://jira.shanqu.cc/browse/GHZS-1718

See merge request halo/android/assistant-android!826
2023-03-21 13:54:23 +08:00
c27b6421a7 Merge branch 'feature-GHZS-1682' into 'dev-5.23.0'
feat: 云存档埋点补充—客户端 https://jira.shanqu.cc/browse/GHZS-1682

See merge request halo/android/assistant-android!825
2023-03-21 13:53:19 +08:00
71f69bc528 feat: 云存档埋点补充—客户端 https://jira.shanqu.cc/browse/GHZS-1682 2023-03-21 13:53:19 +08:00
53c374064a feat: 论坛详情页新增埋点—客户端 https://jira.shanqu.cc/browse/GHZS-1718 2023-03-21 11:55:24 +08:00
457897397a Merge branch 'feature-GHZS-1711' into 'dev-5.23.0'
feat: 隐私政策项-文章评论功能屏蔽 https://jira.shanqu.cc/browse/GHZS-1711

See merge request halo/android/assistant-android!822
2023-03-20 15:20:18 +08:00
90fedcbd2f Merge branch 'refactor-optimize_home_page_update' into 'dev-5.23.0'
refactor: 优化首页列表数据更新机制

See merge request halo/android/assistant-android!824
2023-03-20 15:20:06 +08:00
8b8895603b refactor: 优化首页列表数据更新机制 2023-03-20 14:57:35 +08:00
1de8b02fdb Merge branch 'fix-GHZS-1649' into 'dev-5.23.0'
fix: 【光环助手】版本更新提示问题 https://jira.shanqu.cc/browse/GHZS-1649

See merge request halo/android/assistant-android!821
2023-03-20 11:18:37 +08:00
bd8115a2d9 feat: 隐私政策项-文章评论功能屏蔽 https://jira.shanqu.cc/browse/GHZS-1711 2023-03-20 11:16:46 +08:00
f2b163ee42 fix: 【光环助手】版本更新提示问题 https://jira.shanqu.cc/browse/GHZS-1649 2023-03-20 11:11:42 +08:00
f11fb23bf2 Merge branch 'fix-GHZS-1564' into 'dev-5.23.0'
feat: 即畅玩助手-问题反馈功能,跳转光环助手时携带游戏版本信息 https://jira.shanqu.cc/browse/GHZS-1564

See merge request halo/android/assistant-android!819
2023-03-17 16:50:48 +08:00
aecc9cecdd feat: 即畅玩助手-问题反馈功能,跳转光环助手时携带游戏版本信息 https://jira.shanqu.cc/browse/GHZS-1564 2023-03-17 16:50:48 +08:00
1723 changed files with 66651 additions and 17070 deletions

View File

@ -1,43 +1,155 @@
stages:
- analysis
- sendmail
# commit_sha 文件记录上一次成功流水线的commit sha用于定时计划检测是否有新代码提交有就执行流水线没有就终止流水线
cache:
# 不同的分支采用不同的 cache防止分支之间相互影响
key: "${CI_COMMIT_REF_SLUG}_commit_sha"
paths:
- commit_sha
policy: pull
## 代码检查
sonarqube_analysis:
# 将打包&发送apk包邮件job 和代码分析job 并行执行
stages:
- build&analyze
- oss-upload&send-email
- ci_sonar_mail
# 阻止了 合并请求 或 push分支和标签的流水线。 最后的 when: always 规则运行所有其他流水线类型,包括定时计划流水线。
workflow:
rules:
- if: '$CI_PIPELINE_SOURCE == "push"'
when: always
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
when: never
- when: always
before_script:
# 检查是否存在 commit_sha 文件
- if [ -f commit_sha ]; then cat commit_sha; else echo "0000000" > commit_sha; fi
- export BEFORE_COMMIT_SHA=$(cat commit_sha)
# 比较commit sha ,若与上一次成功流水线的commit sha 相同,则退出流水线
- if [ "$CI_COMMIT_SHA" == "$BEFORE_COMMIT_SHA" ] && [ "$CI_PIPELINE_SOURCE" != "web" ]; then exit 137; fi
# 使用 .post 阶段使作业在流水线的末尾运行。.post 始终是流水线的最后阶段。
change_commit:
tags:
- offline-test
stage: .post
# 此job 跳过拉取git代码
variables:
GIT_STRATEGY: none
script:
# 更新 commit_sha
- if [ "$CI_COMMIT_SHA" != "$BEFORE_COMMIT_SHA" ]; then echo $CI_COMMIT_SHA > commit_sha; fi
cache:
# 不同的分支采用不同的 cache防止分支之间相互影响
key: "${CI_COMMIT_REF_SLUG}_commit_sha"
paths:
- commit_sha
policy: pull-push
allow_failure:
exit_codes: 137
android_build:
tags:
# - local-runner
- offline-test
stage: analysis
image: sonarsource/sonar-scanner-cli:latest
dependencies: [] #禁止传递来的artifact
stage: build&analyze
image: hub.shanqu.cc/library/ci-android:jdk11-sdk31-33
resource_group: android_build
variables:
GIT_SUBMODULE_STRATEGY: recursive
KUBERNETES_CPU_LIMIT: "10"
script:
## 获取项目的一级组和二级组和项目名作为projectKey例如projectKey=platform-backend-eci-monitor
- group=`echo $CI_PROJECT_PATH | sed 's#/#-#g'`
- sonar-scanner
-Dsonar.host.url=http://sonarqube-server.sonarqube:9000/
-Dsonar.login=be43de7264ce4c4766eb0c020373c3e74e6df257
-Dsonar.jacoco.reportPaths=target/jacoco.exec
-Dsonar.projectKey=$group
-Dsonar.projectName=$CI_PROJECT_PATH
-Dsonar.sourceEncoding=UTF-8
-Dsonar.exclusions=**/vendor/**,**/errcode/**
-Dsonar.gitlab.project_id=$CI_PROJECT_ID
-Dsonar.gitlab.commit_sha=$CI_COMMIT_SHA
-Dsonar.gitlab.ref_name=$CI_COMMIT_REF_NAME
-Dsonar.gitlab.ci_merge_request_iid=$CI_MERGE_REQUEST_IID
-Dsonar.gitlab.merge_request_discussion=true
-Dsonar.java.binaries=. # 如果不使用Maven或Gradle进行分析则必须手动提供测试二进制文件
- export GRADLE_USER_HOME=/home/gitlab-runner/ci-build-cache/$CI_PROJECT_PATH/.gradle
- chmod +x ./gradlew
- ./scripts/jenkins_build.sh -c
#设置打包后的产物用于job之间共享
artifacts:
paths:
- app/build/tmp/*.apk
expire_in: 48 hrs # 指定附件上载后保存的时间24h默认永久在Gitlab保存
allow_failure:
exit_codes: 137
only:
- dev
- dev-5.32.0
# 代码检查
sonarqube_analysis:
tags:
- offline-test
stage: build&analyze
image: sonarsource/sonar-scanner-cli:latest
dependencies: [] #禁止传递来的artifact
script:
## 获取项目的一级组和二级组和项目名作为projectKey例如projectKey=platform-backend-eci-monitor
- group=`echo $CI_PROJECT_PATH | sed 's#/#-#g'`
- sonar-scanner
-Dsonar.host.url=http://sonarqube-server.sonarqube:9000/
-Dsonar.login=be43de7264ce4c4766eb0c020373c3e74e6df257
-Dsonar.jacoco.reportPaths=target/jacoco.exec
-Dsonar.projectKey=$group
-Dsonar.projectName=$CI_PROJECT_PATH
-Dsonar.sourceEncoding=UTF-8
-Dsonar.exclusions=**/vendor/**,**/errcode/**
-Dsonar.gitlab.project_id=$CI_PROJECT_ID
-Dsonar.gitlab.commit_sha=$CI_COMMIT_SHA
-Dsonar.gitlab.ref_name=$CI_COMMIT_REF_NAME
-Dsonar.gitlab.ci_merge_request_iid=$CI_MERGE_REQUEST_IID
-Dsonar.gitlab.merge_request_discussion=true
-Dsonar.java.binaries=.
-Dsonar.branch.name=$CI_COMMIT_REF_NAME
allow_failure:
exit_codes: 137
only:
- dev
- dev-5.32.0
## 发送简易检测结果报告
send_sonar_report:
tags:
- offline-test
stage: sendmail
image: hub.shanqu.cc/library/docker:latest
dependencies: [] #禁止传递来的artifact
script:
- group=`echo $CI_PROJECT_PATH | sed 's#/#-#g'`
- docker run -e PROJECTKEY=$group -e EMAIL=$GITLAB_USER_EMAIL --name send-email --rm hub.shanqu.cc/platform/send-sonar-report:latest
only:
- dev
tags:
- offline-test
stage: ci_sonar_mail
image: hub.shanqu.cc/library/docker:latest
# 此job 跳过拉取git代码
variables:
GIT_STRATEGY: none
script:
- group=`echo $CI_PROJECT_PATH | sed 's#/#-#g'`
- docker run -e PROJECTKEY=$group -e EMAIL=$GITLAB_USER_EMAIL -e BRANCH=$CI_COMMIT_REF_NAME --name send-email --rm hub.shanqu.cc/platform/send-sonar-report:latest
allow_failure:
exit_codes: 137
only:
- dev
- dev-5.32.0
oss-upload&send-email:
tags:
- rancher-k8s
stage: oss-upload&send-email
image: hub.shanqu.cc/devops/android-apk-oss-upload:latest
variables:
GIT_STRATEGY: none
VAULT_ADDR: https://vault.shanqu.cc # 固定值
VAULT_SECRET_PATH: prod/devops/android-apk-oss-upload # 固定值
VAULT_ROLE: android-apk-oss-upload # 固定值
ENDPOINT: "oss-cn-shenzhen-internal.aliyuncs.com" # 固定值
BUCKET: "shanqu" # 固定值
FILE_PATH: "app/build/tmp/" # APK 存放路径
Email_To_List: $EMAIL_TO_LIST # 邮件接受人列表
Email_Title: "光环助手 $CI_COMMIT_BRANCH" # 邮件标题
PIPELINE_ID: $CI_PIPELINE_ID # 流水线id
COMMIT_BRANCH: $CI_COMMIT_BRANCH # 提交分支
MAIL_MESSAGE: "[$CI_COMMIT_AUTHOR] $CI_COMMIT_MESSAGE"
needs:
- job: android_build
artifacts: true
script:
### 绑定上传参数 ###
- export OSS_PATH="release/dev/${CI_PROJECT_NAME}/$(date "+%Y/%m/%d")"
### 开启上传 ###
- /usr/local/bin/python /upload.py
### 发送邮件
- /usr/local/bin/python /ci-android-mail.py
only:
- dev
- dev-5.32.0

8
.gitmodules vendored
View File

@ -1,13 +1,13 @@
[submodule "libraries/LGLibrary"]
path = libraries/LGLibrary
url = git@git.shanqu.cc:android/common-library.git
url = ../../../android/common-library.git
branch = master
[submodule "vspace-bridge"]
path = vspace-bridge
url = git@git.shanqu.cc:cwzs/android/vspace-bridge.git
url = ../../../cwzs/android/vspace-bridge.git
[submodule "module_common/src/debug/assets/assistant-android-mock"]
path = module_common/src/debug/assets/assistant-android-mock
url = git@git.shanqu.cc:halo/android/assistant-android-mock.git
url = ../../../halo/android/assistant-android-mock.git
[submodule "ndownload"]
path = ndownload
url = git@git.shanqu.cc:android/ndownload.git
url = ../../../android/ndownload.git

15
Dockerfile Normal file
View File

@ -0,0 +1,15 @@
FROM openjdk:11-jdk
WORKDIR /project
SHELL ["/bin/bash", "-c"]
#配置SDK环境变量
ENV ANDROID_SDK_ROOT /usr/lib/sdk
ENV ANDROID_HOME /usr/lib/sdk
ENV PATH $ANDROID_SDK_ROOT:$PATH
ENV PATH=$PATH:${ANDROID_HOME}/cmdline-tools/cmdline-tools/bin/
ENV GRADLE_USER_HOME /project/.gradle
RUN source ~/.bashrc
RUN sed -i "s@http://\(deb\|security\).debian.org@https://mirrors.aliyun.com@g" /etc/apt/sources.list \
&& apt-get --quiet update --yes \
&& apt-get --quiet install --yes lib32stdc++6 lib32z1 libncurses5 util-linux bash tzdata librdkafka-dev pkgconf \
&& rm -rf /var/lib/apt/lists/*
COPY .gradle /project/.gradle

View File

@ -30,14 +30,7 @@
### git 版本管理
本项目使用简化版的 git flow 来管理分支,细节请看 [光环安卓简单 git 规范](https://git.ghzs.com/halo/android/assistant-android/-/wikis/%E5%85%89%E7%8E%AF%E5%AE%89%E5%8D%93%E7%AE%80%E5%8D%95-git-%E8%A7%84%E8%8C%83)
### API 环境配置
本项目使用 Build Variants 来切换 API 环境
* internal 为测试环境
* publish 为正式环境
本项目使用简化版的 git flow 来管理分支,细节请看 [光环安卓简单 git 规范](https://git.shanqu.cc/halo/android/assistant-android/-/wikis/%E5%85%89%E7%8E%AF%E5%AE%89%E5%8D%93%E7%AE%80%E5%8D%95-git-%E8%A7%84%E8%8C%83)
### 图片资源配置
@ -53,14 +46,3 @@
* 本项目使用了微信的 [AndResGuard](https://github.com/shwenzhang/AndResGuard) 作为资源混淆压缩方案,新增需要使用 `getIdentifier` 获取的资源文件时需要添加至白名单
* 本项目默认使用 R8 作为混淆工具,往 proguard-rules.txt 添加 proguard 新配置项时请检查可用性(如语法等)
### APK打包配置
> 打内部测试包:`./scripts/test_build.sh`
> 打邮件测试包:`./scripts/jenkins_build.sh`
### TODO
* 把原有 EventBus 的消息 Type 统一到一个文件内
* 将实现细节从 View(Fragment、Activity) 剥离并以 MVVM 结构改造
* 重构 MainActivity

View File

@ -9,6 +9,14 @@ import groovy.xml.XmlUtil
android {
String CONFIG_ID = ""
String FIRST_LAUNCH = ""
String SDK_VERSION = ""
String SDK_APP_ID = ""
String SDK_APP_NAME = ""
boolean USE_DEFAULT_CHANNEL_SDK = true
int ACTIVATE_REPORTING_RATIO = 100
buildFeatures {
viewBinding true
dataBinding true
@ -67,9 +75,26 @@ android {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt', 'proguard-fresco.txt'
/**
* All third-party appid/appkey
*/
String CORE_EVENT_GAME_CATEGORY = ""
// 推广用的关键事件游戏类型
buildConfigField "String", "CORE_EVENT_GAME_CATEGORY", "\"${CORE_EVENT_GAME_CATEGORY}\""
// 推广用的配置 id
buildConfigField "String", "CONFIG_ID", "\"${CONFIG_ID}\""
// 推广用的 SDK 版本 (仅记录使用)
buildConfigField "String", "SDK_VERSION", "\"${SDK_VERSION}\""
buildConfigField "String", "SDK_APP_ID", "\"${SDK_APP_ID}\""
buildConfigField "String", "SDK_APP_NAME", "\"${SDK_APP_NAME}\""
buildConfigField "boolean", "USE_DEFAULT_CHANNEL_SDK", "${USE_DEFAULT_CHANNEL_SDK}"
// 首次启动的跳转配置
buildConfigField "String", "FIRST_LAUNCH", "\"${FIRST_LAUNCH}\""
buildConfigField "int", "ACTIVATE_REPORTING_RATIO", "${ACTIVATE_REPORTING_RATIO}"
// All third-party appid/appkey
buildConfigField "String", "API_HOST", "\"${API_HOST}\""
buildConfigField "String", "NEW_API_HOST", "\"${NEW_API_HOST}\""
buildConfigField "String", "VAPI_HOST", "\"${VAPI_HOST}\""
@ -153,7 +178,7 @@ android {
}
productFlavors {
// internal test dev host
// internal 内部测试包使用的 flavor接口包含包括测试和正式环境
internal {
dimension "env"
versionNameSuffix "-debug"
@ -163,9 +188,10 @@ android {
buildConfigField "String", "DEV_VAPI_HOST", "\"${DEV_VAPI_HOST}\""
buildConfigField "String", "QUICK_LOGIN_APPID", "\"${DEV_QUICK_LOGIN_APPID}\""
buildConfigField "String", "QUICK_LOGIN_APPKEY", "\"${DEV_QUICK_LOGIN_APPKEY}\""
buildConfigField "String", "CSJ_APPID", "\"${DEV_CSJ_APPID}\""
}
// publish release host
// publish 发布时候使用的 flavor接口仅包含正式环境
publish {
dimension "env"
@ -174,6 +200,7 @@ android {
buildConfigField "String", "DEV_VAPI_HOST", "\"${VAPI_HOST}\""
buildConfigField "String", "QUICK_LOGIN_APPID", "\"${QUICK_LOGIN_APPID}\""
buildConfigField "String", "QUICK_LOGIN_APPKEY", "\"${QUICK_LOGIN_APPKEY}\""
buildConfigField "String", "CSJ_APPID", "\"${CSJ_APPID}\""
}
tea {
@ -184,6 +211,7 @@ android {
buildConfigField "String", "DEV_VAPI_HOST", "\"${VAPI_HOST}\""
buildConfigField "String", "QUICK_LOGIN_APPID", "\"${QUICK_LOGIN_APPID}\""
buildConfigField "String", "QUICK_LOGIN_APPKEY", "\"${QUICK_LOGIN_APPKEY}\""
buildConfigField "String", "CSJ_APPID", "\"${CSJ_APPID}\""
manifestPlaceholders.put("APPLOG_SCHEME", "rangersapplog.byAx6uYt".toLowerCase())
}
@ -196,6 +224,7 @@ android {
buildConfigField "String", "DEV_VAPI_HOST", "\"${VAPI_HOST}\""
buildConfigField "String", "QUICK_LOGIN_APPID", "\"${QUICK_LOGIN_APPID}\""
buildConfigField "String", "QUICK_LOGIN_APPKEY", "\"${QUICK_LOGIN_APPKEY}\""
buildConfigField "String", "CSJ_APPID", "\"${CSJ_APPID}\""
}
gdt {
@ -206,6 +235,7 @@ android {
buildConfigField "String", "DEV_VAPI_HOST", "\"${VAPI_HOST}\""
buildConfigField "String", "QUICK_LOGIN_APPID", "\"${QUICK_LOGIN_APPID}\""
buildConfigField "String", "QUICK_LOGIN_APPKEY", "\"${QUICK_LOGIN_APPKEY}\""
buildConfigField "String", "CSJ_APPID", "\"${CSJ_APPID}\""
}
}
}
@ -270,6 +300,7 @@ dependencies {
implementation "com.llew.huawei:verifier:${verifier}"
teaImplementation "com.bytedance.applog:RangersAppLog-Lite-cn:${bytedanceApplog}"
teaImplementation "com.bytedance.applog:RangersAppLog-All-convert:${bytedanceApplog}"
implementation "net.lingala.zip4j:zip4j:${zip4j}"
@ -284,7 +315,8 @@ dependencies {
implementation "com.lg:gid:${gid}"
compileOnly "com.github.axen1314.lancet:lancet-base:${lancet_version}"
implementation "com.lg:shortcut:${shortcut}"
kapt "com.alibaba:arouter-compiler:$arouterVersion"
implementation project(':ndownload')
@ -305,18 +337,30 @@ dependencies {
implementation(project(':module_core_feature')) {
exclude group: 'androidx.swiperefreshlayout'
}
implementation(project(':module_feedback')) {
// implementation(project(':module_feedback')) {
// exclude group: 'androidx.swiperefreshlayout'
// }
implementation(project(':feature:new_feedback',)) {
exclude group: 'androidx.swiperefreshlayout'
}
implementation(project(':module_sensors_data')) {
exclude group: 'androidx.swiperefreshlayout'
}
implementation(project(':module_vpn'))
// 默认不接入光能模块,提高编译速度
// debugImplementation(project(':module_energy')) {
// exclude group: 'androidx.swiperefreshlayout'
// }
implementation(project(':module_message')) {
exclude group: 'androidx.swiperefreshlayout'
}
// implementation(project(':feature:vpn'))
implementation(project(':feature:pkg'))
implementation(project(':feature:oaid'))
implementation(project(':feature:floating-window'))
implementation(project(':feature:csj_ad'))
// implementation(project(':feature:beizi_startup_ad'))
implementation(project(':feature:xapk-installer'))
implementation(project(':feature:qq_game')) {
exclude group: 'androidx.swiperefreshlayout'
}
}
File propFile = file('sign.properties')
if (propFile.exists()) {
Properties props = new Properties()
@ -456,7 +500,12 @@ andResGuard {
"R.drawable.suggest_add_pic_icon",
"R.drawable.icon_pic_add",
"R.drawable.ask_search_input_delete",
"R.drawable.suggest_pic_delete"
"R.drawable.suggest_pic_delete",
"R.id.cardIv",
"R.id.cardMask",
"R.id.cardGradientMask",
"R.id.gameIconIv",
"R.id.titleContainer"
]
compressFilePattern = [
"*.png",

View File

@ -20,11 +20,13 @@
-keep class com.gh.gamecenter.db.info.* {*;}
-keep class com.gh.gamecenter.entity.** {<fields>;}
-keep class com.gh.gamecenter.qa.entity.** {<fields>;}
-keep class com.gh.download.DownloadDataSimpleEntity {<fields>;}
-keep class com.gh.gamecenter.floatingwindow.FloatingWindowEntity {<fields>;}
-keep class com.gh.gamecenter.BR
-keep class com.gh.gamecenter.retrofit.* {*;}
-keep class com.gh.gamecenter.eventbus.* {*;}
-keep class com.gh.gamecenter.home.gamecollection.GameCollectionStackLayout {*;}
-keep class com.gh.gamecenter.home.gamecollection.GameCollectionStackAnimation {*;}
-keep class com.gh.gamecenter.home.gamecollection.carousel.GameCollectionStackLayout {*;}
-keep class com.gh.gamecenter.home.gamecollection.carousel.GameCollectionStackAnimation {*;}
# Prevent R8 from leaving Data object members always null
-keepclassmembers,allowobfuscation class * {
@ -62,6 +64,16 @@
public <init>(android.content.Context, android.util.AttributeSet, int);
}
### RecyclerView.jumpToPositionForSmoothScroller
-keep class androidx.recyclerview.widget.RecyclerView {
void jumpToPositionForSmoothScroller(int);
}
### ViewBinding 反射相关
-keep class * implements androidx.viewbinding.ViewBinding {
public static *** inflate(android.view.LayoutInflater, android.view.ViewGroup, boolean);
}
### TEA
-keep class com.gh.gamecenter.TeaHelper { *; }

View File

@ -26,11 +26,15 @@ class FlavorProviderImp : IFlavorProvider {
return channel
}
override fun init(application: Application, activity: Activity) {
override fun init(application: Application, activity: Activity, activateRatio: Int) {
// do nothing
}
override fun logEvent(content: String) {
// do nothing
}
override fun logCoreEvent() {
// do nothing
}
}

View File

@ -12,7 +12,7 @@ import com.leon.channel.helper.ChannelReaderUtil
class FlavorProviderImp : IFlavorProvider {
override fun init(application: Application, activity: Activity) {
override fun init(application: Application, activity: Activity, activateRatio: Int) {
GdtHelper.init(application, getChannelStr(application))
if (HaloApp.getInstance().isBrandNewInstall) {
@ -42,6 +42,10 @@ class FlavorProviderImp : IFlavorProvider {
GdtHelper.logAction(content)
}
override fun logCoreEvent() {
// do nothing
}
companion object {
private const val GDT_DEFAULT_CHANNEL = "GDT_GHZS_01"
}

Binary file not shown.

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<!-- Trust user added CAs while debuggable only -->
<certificates src="user" />
<certificates src="system" />
</trust-anchors>
</base-config>
</network-security-config>

View File

@ -5,15 +5,15 @@ import com.kwai.monitor.log.TurboAgent
import com.kwai.monitor.log.TurboConfig
object KuaishouHelper {
private const val APP_ID = "80655"
private const val APP_NAME = "guanghuanzhushou_1"
private val mAppId by lazy { BuildConfig.SDK_APP_ID.ifEmpty { "81537" } }
private val mAppName by lazy { BuildConfig.SDK_APP_NAME.ifEmpty { "guanghuanzhushou_1" } }
@JvmStatic
fun init(context: Context, channel: String) {
TurboAgent.init(
TurboConfig.TurboConfigBuilder.create(context)
.setAppId(APP_ID)
.setAppName(APP_NAME)
.setAppId(mAppId)
.setAppName(mAppName)
.setAppChannel(channel)
.build()
)

View File

@ -3,16 +3,20 @@ package com.gh.gamecenter.provider
import android.app.Activity
import android.app.Application
import android.text.TextUtils
import com.gh.gamecenter.BuildConfig
import com.gh.gamecenter.KuaishouHelper
import com.gh.gamecenter.core.AppExecutor
import com.gh.gamecenter.core.provider.IFlavorProvider
import com.gh.gamecenter.core.utils.SPUtils
import com.gh.gamecenter.core.utils.TimeUtils
import com.gh.gamecenter.core.utils.ToastUtils
import com.halo.assistant.HaloApp
import com.kwai.monitor.payload.TurboHelper
import com.leon.channel.helper.ChannelReaderUtil
class FlavorProviderImp : IFlavorProvider {
override fun init(application: Application, activity: Activity) {
override fun init(application: Application, activity: Activity, activateRatio: Int) {
KuaishouHelper.init(application, getChannelStr(application))
if (HaloApp.getInstance().isBrandNewInstall) {
@ -31,7 +35,11 @@ class FlavorProviderImp : IFlavorProvider {
}
override fun getChannelStr(application: Application): String {
var channel = ChannelReaderUtil.getChannel(application)
var channel = if (BuildConfig.USE_DEFAULT_CHANNEL_SDK) {
ChannelReaderUtil.getChannel(application)
} else {
TurboHelper.getChannel(application)
}
if (channel == null || TextUtils.isEmpty(channel.trim())) {
channel = KUAISHOU_CHANNEL
}
@ -42,6 +50,15 @@ class FlavorProviderImp : IFlavorProvider {
KuaishouHelper.onEvent(content)
}
override fun logCoreEvent() {
logEvent("EVENT_KEY_PATH_OPTIMIZATION")
if (BuildConfig.ACTIVATE_REPORTING_RATIO == 1) {
AppExecutor.uiExecutor.executeWithDelay({
ToastUtils.toast("关键行为 EVENT_KEY_PATH_OPTIMIZATION")
}, 500)
}
}
companion object {
private const val KUAISHOU_CHANNEL = "KS-GHZS-01"
}

Binary file not shown.

Binary file not shown.

View File

@ -46,7 +46,8 @@
<!-- 如果有视频相关的广告且使用textureView播放请务必添加否则黑屏 -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-sdk tools:overrideLibrary="com.shuyu.gsyvideoplayer,
<uses-sdk tools:overrideLibrary="
com.shuyu.gsyvideoplayer,
com.shuyu.gsyvideoplayer.lib,
com.haroldadmin.whatthestack,
com.shuyu.gsyvideoplayer.armv7a,
@ -76,7 +77,12 @@
androidx.compose.animation.core,
androidx.constraintlayout.compose,
androidx.compose.ui.test.manifest,
androidx.compose.ui.tooling.preview"/>
com.bytedance.sdk.openadsdk,
androidx.compose.ui.tooling.preview,
com.tencent.qqmini,
com.tencent.qqmini.minigame.external,
com.tencent.qqmini.minigame.opensdk,
com.tencent.qqmini.union.ad" />
<!-- 去掉 SDK 一些流氓权限 -->
<uses-permission
@ -105,11 +111,16 @@
android:icon="@mipmap/logo"
android:label="@string/app_name"
android:largeHeap="true"
android:networkSecurityConfig="@xml/network_security_config"
android:resizeableActivity="true"
android:theme="@style/AppCompatTheme.APP"
tools:replace="android:name,android:allowBackup"
tools:targetApi="n">
<meta-data
android:name="EasyGoClient"
android:value="true" />
<meta-data
android:name="io.sentry.auto-init"
android:value="false" />
@ -119,6 +130,8 @@
android:name="io.sentry.breadcrumbs.system-events"
android:value="false" />
<service android:name="com.gh.ndownload.NDownloadService" />
<activity
android:name="com.gh.gamecenter.SplashScreenActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
@ -135,10 +148,15 @@
<activity
android:name="com.gh.gamecenter.MainActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:exported="true"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:theme="@style/AppCompatTheme.APP"
android:windowSoftInputMode="stateAlwaysHidden|adjustResize" />
android:windowSoftInputMode="stateAlwaysHidden|adjustResize">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
</intent-filter>
</activity>
<activity
android:name="com.gh.gamecenter.DownloadManagerActivity"
@ -257,7 +275,7 @@
<activity
android:name="com.gh.gamecenter.VoteActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateAlwaysHidden|adjustResize" />
android:windowSoftInputMode="stateAlwaysHidden|adjustPan" />
<activity
android:name="com.gh.gamecenter.WeiBoShareActivity"
@ -284,10 +302,6 @@
android:name="com.gh.gamecenter.CollectionActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.MessageActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.UserInfoEditActivity"
android:screenOrientation="portrait"
@ -301,26 +315,10 @@
android:name="com.gh.gamecenter.qa.answer.edit.AnswerEditActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.ConcernInfoActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.InfoActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.MessageKeFuActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.MessageInviteActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.MessageVoteActivity"
android:screenOrientation="portrait" />
<activity
android:name=".qa.questions.invite.QuestionsInviteActivity"
android:screenOrientation="portrait" />
@ -619,8 +617,8 @@
<!-- android:theme="@android:style/Theme.Translucent" />-->
<activity
android:exported="true"
android:name="com.gh.gamecenter.SkipActivity"
android:exported="true"
android:theme="@style/Theme.AppCompat.Light.Fullscreen.Transparent">
<intent-filter>
<data android:scheme="ghzhushou" />
@ -639,6 +637,19 @@
</intent-filter>
</activity>
<!-- 光环助手授权登陆页面 -->
<activity
android:name=".authorization.AuthorizationActivity"
android:exported="true"
android:launchMode="singleTask"
android:screenOrientation="portrait">
<intent-filter>
<data android:scheme="ghzhushou_authorization" />
<category android:name="android.intent.category.DEFAULT" />
<action android:name="android.intent.action.VIEW" />
</intent-filter>
</activity>
<activity
android:name="com.gh.gamecenter.teenagermode.TeenagerModeActivity"
android:screenOrientation="portrait" />
@ -730,6 +741,22 @@
android:name=".servers.gametest2.GameServerTestV2Activity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.gamecollection.hotlist.GameCollectionHotListActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.qgame.QGameHomeWrapperActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.qgame.QGameSearchActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.qgame.QGameSubjectActivity"
android:screenOrientation="portrait" />
<!-- <activity-->
<!-- android:name="${applicationId}.douyinapi.DouYinEntryActivity"-->
@ -767,9 +794,9 @@
<service
android:name=".aidl.CommunicationService"
android:enabled="true"
android:exported="true" >
android:exported="true">
<intent-filter>
<action android:name="com.gh.gamecenter.aidl.CommunicationService"/>
<action android:name="com.gh.gamecenter.aidl.CommunicationService" />
</intent-filter>
</service>
@ -800,6 +827,11 @@
</intent-filter>
</receiver>
<activity
android:name="com.gh.common.xapk.XapkInstallReceiver"
android:theme="@style/Theme.Transparent"
android:exported="false" />
<receiver
android:name="com.gh.gamecenter.receiver.ActivitySkipReceiver"
android:exported="true">
@ -808,39 +840,6 @@
</intent-filter>
</receiver>
<!-- 梦工厂配置 开始 -->
<!--<meta-data
android:name="MGC_APPID"
android:value="1001276" />
<provider
android:name="com.leto.game.base.provider.LetoFileProvider"
android:authorities="${applicationId}.leto.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/leto_file_path"
tools:replace="android:resource" />
</provider>-->
<!-- 梦工厂配置 结束 -->
<!-- 穿山甲配置 开始 -->
<!--<provider
android:name="com.bytedance.sdk.openadsdk.TTFileProvider"
android:authorities="${applicationId}.TTFileProvider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
<provider
android:name="com.bytedance.sdk.openadsdk.multipro.TTMultiProvider"
android:authorities="${applicationId}.TTMultiProvider"
android:exported="false" />-->
<!-- 穿山甲配置 结束 -->
</application>
</manifest>

View File

@ -0,0 +1,27 @@
{
"easyGoVersion": "1.0",
"client": "com.gh.gamecenter",
"logicEntities": [
{
"head": {
"function": "magicwindow",
"required": "true"
},
"body": {
"mode":"1",
"activityPairs":[
{"from":"com.gh.gamecenter.MainActivity","to":"*"}
],
"defaultDualActivities": {
"mainPages": "com.gh.gamecenter.MainActivity"
},
"UX": {
"supportRotationUxCompat": "false",
"isDraggable": "true"
},
"transActivities":[
]
}
}
]
}

View File

@ -1 +0,0 @@
{"v":"5.5.9","fr":60,"ip":0,"op":90,"w":1080,"h":202,"nm":"click","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"椭圆形","sr":1,"ks":{"o":{"a":0,"k":20,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[204,1455,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[24,24],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆形","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"椭圆形","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":63,"s":[10]},{"t":70,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[204,1455,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":39,"s":[100,100,100]},{"t":49,"s":[110,110,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[36,36],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆形","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"圆环","refId":"comp_0","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.531],"y":[0]},"t":28,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":38,"s":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.526],"y":[0]},"t":48,"s":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.446],"y":[0]},"t":63,"s":[50]},{"t":82,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[125.951,79.658,0],"ix":2},"a":{"a":0,"k":[205.951,1458.658,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.601,0.601,0.333],"y":[0,0,0]},"t":28,"s":[50,50,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.528,0.528,0.333],"y":[0,0,0]},"t":38,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.526,0.526,0.333],"y":[0,0,0]},"t":48,"s":[120,120,100]},{"t":63,"s":[100,100,100]}],"ix":6}},"ao":0,"w":1080,"h":1920,"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"点击手","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.596],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":10,"s":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.515],"y":[0]},"t":63,"s":[100]},{"t":83,"s":[0]}],"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.507],"y":[0]},"t":10,"s":[6]},{"t":30,"s":[2]}],"ix":10},"p":{"a":0,"k":[178.982,123.325,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.489,0.489,0.333],"y":[0,0,0]},"t":10,"s":[100,100,100]},{"t":30,"s":[90,90,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.33,-8.3],[3.89,0.27],[-4.4,-1.68],[-4.33,-0.67],[-4.08,9.32],[3.33,5.44],[3.39,4.6],[0.87,-3.7],[3.6,-0.86],[1.03,-0.21],[2.34,-0.53],[0.96,1.15],[4.22,5.48],[-1.18,-4.56]],"o":[[1.11,1.71],[-3.89,-0.27],[6.42,2.5],[4.33,0.66],[1.63,-5.32],[-3.34,-5.45],[-1.68,-2.1],[-0.71,3.14],[-3.43,0.95],[-0.57,0.08],[-3.86,1.12],[-3.23,-3.94],[-1.89,-2.28],[2.42,4.64]],"v":[[-5.387,9.698],[-10.717,8.498],[-12.327,15.628],[5.813,21.748],[23.313,11.778],[20.273,-1.202],[11.563,-13.962],[5.393,-12.362],[1.083,-13.722],[-2.087,-9.742],[-5.707,-11.752],[-8.777,-7.572],[-18.297,-20.542],[-23.827,-17.832]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径备份 2","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0}],"markers":[]}

View File

@ -1 +0,0 @@
{"v":"5.6.4","fr":25,"ip":0,"op":35,"w":1080,"h":214,"nm":"点赞","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"椭圆形 2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.588],"y":[0]},"t":17,"s":[15]},{"t":20,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[468.04,73.68,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.659,0.659,0.333],"y":[0,0,0]},"t":10,"s":[50,50,100]},{"t":19,"s":[150,150,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[24,24],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆形","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":10,"op":1510,"st":10,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"椭圆形 3","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.588],"y":[0]},"t":27,"s":[15]},{"t":30,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[468.04,73.68,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.659,0.659,0.333],"y":[0,0,0]},"t":20,"s":[50,50,100]},{"t":28,"s":[140,140,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[24,24],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆形","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":20,"op":1520,"st":20,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"路径备份 2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.602],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":5,"s":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.663],"y":[0]},"t":24,"s":[100]},{"t":29,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[531.02,129.675,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.514,0.514,0.333],"y":[0,0,0]},"t":5,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.533,0.533,0.333],"y":[0,0,0]},"t":10,"s":[90,90,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.586,0.586,0.333],"y":[0,0,0]},"t":15,"s":[95,95,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.499,0.499,0.333],"y":[0,0,0]},"t":19,"s":[90,90,100]},{"t":24,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.33,-8.3],[3.89,0.27],[-4.4,-1.68],[-4.33,-0.67],[-4.08,9.32],[3.33,5.44],[3.39,4.6],[0.87,-3.7],[3.6,-0.86],[1.03,-0.21],[2.34,-0.53],[0.96,1.15],[4.22,5.48],[-1.18,-4.56]],"o":[[1.11,1.71],[-3.89,-0.27],[6.42,2.5],[4.33,0.66],[1.63,-5.32],[-3.34,-5.45],[-1.68,-2.1],[-0.71,3.14],[-3.43,0.95],[-0.57,0.08],[-3.86,1.12],[-3.23,-3.94],[-1.89,-2.28],[2.42,4.64]],"v":[[-5.387,9.698],[-10.717,8.498],[-12.327,15.628],[5.813,21.748],[23.313,11.778],[20.273,-1.202],[11.563,-13.962],[5.393,-12.362],[1.083,-13.722],[-2.087,-9.742],[-5.707,-11.752],[-8.777,-7.572],[-18.297,-20.542],[-23.827,-17.832]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径备份 2","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1500,"st":0,"bm":0}],"markers":[]}

View File

@ -0,0 +1 @@
{"v":"5.9.1","fr":60,"ip":0,"op":60,"w":144,"h":144,"nm":"icon_change","ddd":0,"assets":[{"id":"comp_0","nm":"icon_change_detail","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"stroke1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[37.04,52.994,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.533,-0.143],[0.143,-0.533],[1.487,-1.304],[1.961,-0.258],[1.774,0.875],[0.709,0.661],[0,0],[0,0.445],[0,0],[-0.276,0],[0,0],[-0.013,0],[0,0],[0.315,-0.315],[0,0],[-0.682,-0.336],[-1.569,0.207],[-1.19,1.043],[-0.41,1.528]],"o":[[0.533,0.143],[-0.512,1.91],[-1.487,1.304],[-1.961,0.258],[-0.879,-0.433],[0,0],[-0.315,0.315],[0,0],[0,-0.276],[0,0],[0.013,0],[0,0],[0.445,0],[0,0],[0.555,0.508],[1.419,0.7],[1.569,-0.207],[1.19,-1.043],[0.143,-0.533]],"v":[[8.605,-4.301],[9.312,-3.076],[6.247,1.854],[0.958,4.25],[-4.77,3.304],[-7.163,1.652],[-8.493,2.982],[-9.347,2.628],[-9.347,-1.665],[-8.847,-2.165],[-8.161,-2.165],[-8.122,-2.165],[-4.554,-2.165],[-4.2,-1.311],[-5.748,0.237],[-3.885,1.51],[0.697,2.267],[4.928,0.35],[7.381,-3.594]],"c":true},"ix":2},"nm":"stroke1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,1,1,1,0.5,1,1,1,1,1,1,1,0,1,0.5,0.8,1,0.6],"ix":9}},"s":{"a":0,"k":[-5.347,-4.665],"ix":5},"e":{"a":0,"k":[8.653,-4.665],"ix":6},"t":1,"nm":"color1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"stroke1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"stroke2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[34.96,19.006,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.961,0.258],[-1.774,-0.875],[-0.709,-0.661],[0,0],[0,-0.445],[0,0],[0.276,0],[0,0],[0.012,0],[0,0],[-0.315,0.315],[0,0],[0.682,0.336],[1.569,-0.207],[1.19,-1.043],[0.41,-1.528],[0.533,0.143],[-0.143,0.533],[-1.487,1.304]],"o":[[1.961,-0.258],[0.879,0.433],[0,0],[0.315,-0.315],[0,0],[0,0.276],[0,0],[-0.012,0],[0,0],[-0.445,0],[0,0],[-0.555,-0.508],[-1.419,-0.7],[-1.569,0.207],[-1.19,1.043],[-0.143,0.533],[-0.533,-0.143],[0.512,-1.91],[1.487,-1.304]],"v":[[-0.958,-4.25],[4.77,-3.304],[7.163,-1.652],[8.493,-2.982],[9.347,-2.628],[9.347,1.665],[8.847,2.165],[8.16,2.165],[8.123,2.165],[4.554,2.165],[4.2,1.311],[5.748,-0.237],[3.885,-1.51],[-0.697,-2.267],[-4.928,-0.35],[-7.381,3.594],[-8.605,4.301],[-9.312,3.076],[-6.247,-1.854]],"c":true},"ix":2},"nm":"stroke2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,1,1,1,0.5,1,1,1,1,1,1,1,0,1,0.5,0.8,1,0.6],"ix":9}},"s":{"a":0,"k":[5.347,4.665],"ix":5},"e":{"a":0,"k":[-8.653,4.665],"ix":6},"t":1,"nm":"color2","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"stroke2","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"icon_change_detail","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":0,"s":[0]},{"t":36,"s":[360]}],"ix":10},"p":{"a":0,"k":[72,72,0],"ix":2,"l":2},"a":{"a":0,"k":[36,36,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":72,"h":72,"ip":0,"op":300,"st":0,"bm":0}],"markers":[]}

View File

@ -0,0 +1 @@
{"v":"5.9.1","fr":60,"ip":0,"op":60,"w":72,"h":72,"nm":"icon_title_change","ddd":0,"assets":[{"id":"comp_0","nm":"arrow","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"arrow_e_dark","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[29.25,30,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.701,0.456],[-1.627,-0.674],[-0.705,-0.667],[0,0],[-0.552,0],[0,-0.552],[0,0],[0.552,0],[0,0],[0.012,0],[0,0],[0,0.552],[-0.552,0],[0,0],[0.615,0.255],[1.276,-0.342],[0.804,-1.048],[0,-1.321],[-0.804,-1.048],[-1.276,-0.342],[-1.22,0.505],[-0.66,1.144],[-0.478,-0.276],[0.276,-0.478],[1.627,-0.674],[1.701,0.456],[1.072,1.397],[0,1.761],[-1.072,1.397]],"o":[[1.701,-0.456],[0.909,0.376],[0,0],[0,-0.552],[0.552,0],[0,0],[0,0.552],[0,0],[-0.012,0],[0,0],[-0.552,0],[0,-0.552],[0,0],[-0.493,-0.435],[-1.22,-0.505],[-1.276,0.342],[-0.804,1.048],[0,1.321],[0.804,1.048],[1.276,0.342],[1.22,-0.505],[0.276,-0.478],[0.478,0.276],[-0.881,1.525],[-1.627,0.674],[-1.701,-0.456],[-1.072,-1.397],[0,-1.761],[1.072,-1.397]],"v":[[-1.821,-7.727],[3.311,-7.391],[5.75,-5.809],[5.75,-6.5],[6.75,-7.5],[7.75,-6.5],[7.75,-3.5],[6.75,-2.5],[6.331,-2.5],[6.295,-2.5],[3.75,-2.5],[2.75,-3.5],[3.75,-4.5],[4.219,-4.5],[2.546,-5.543],[-1.303,-5.796],[-4.51,-3.653],[-5.75,0],[-4.51,3.653],[-1.303,5.796],[2.546,5.543],[5.446,3],[6.812,2.634],[7.178,4],[3.311,7.391],[-1.821,7.727],[-6.097,4.87],[-7.75,0],[-6.097,-4.87]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.158117651939,0.532358944416,0.878431379795,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"arrow_e_dark","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"arrow","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":0,"s":[0]},{"t":36,"s":[360]}],"ix":10},"p":{"a":0,"k":[36,36,0],"ix":2,"l":2},"a":{"a":0,"k":[30,30,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":60,"h":60,"ip":0,"op":300,"st":0,"bm":0}],"markers":[]}

View File

@ -0,0 +1 @@
{"v":"5.9.1","fr":60,"ip":0,"op":60,"w":72,"h":72,"nm":"icon_title_change","ddd":0,"assets":[{"id":"comp_0","nm":"arrow","fr":60,"layers":[{"ddd":0,"ind":2,"ty":4,"nm":"arrow_e_light","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[29.25,30,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.701,0.456],[-1.627,-0.674],[-0.705,-0.667],[0,0],[-0.552,0],[0,-0.552],[0,0],[0.552,0],[0,0],[0.012,0],[0,0],[0,0.552],[-0.552,0],[0,0],[0.615,0.255],[1.276,-0.342],[0.804,-1.048],[0,-1.321],[-0.804,-1.048],[-1.276,-0.342],[-1.22,0.505],[-0.66,1.144],[-0.478,-0.276],[0.276,-0.478],[1.627,-0.674],[1.701,0.456],[1.072,1.397],[0,1.761],[-1.072,1.397]],"o":[[1.701,-0.456],[0.909,0.376],[0,0],[0,-0.552],[0.552,0],[0,0],[0,0.552],[0,0],[-0.012,0],[0,0],[-0.552,0],[0,-0.552],[0,0],[-0.493,-0.435],[-1.22,-0.505],[-1.276,0.342],[-0.804,1.048],[0,1.321],[0.804,1.048],[1.276,0.342],[1.22,-0.505],[0.276,-0.478],[0.478,0.276],[-0.881,1.525],[-1.627,0.674],[-1.701,-0.456],[-1.072,-1.397],[0,-1.761],[1.072,-1.397]],"v":[[-1.821,-7.727],[3.311,-7.391],[5.75,-5.809],[5.75,-6.5],[6.75,-7.5],[7.75,-6.5],[7.75,-3.5],[6.75,-2.5],[6.331,-2.5],[6.295,-2.5],[3.75,-2.5],[2.75,-3.5],[3.75,-4.5],[4.219,-4.5],[2.546,-5.543],[-1.303,-5.796],[-4.51,-3.653],[-5.75,0],[-4.51,3.653],[-1.303,5.796],[2.546,5.543],[5.446,3],[6.812,2.634],[7.178,4],[3.311,7.391],[-1.821,7.727],[-6.097,4.87],[-7.75,0],[-6.097,-4.87]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.141176477075,0.588235318661,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"arrow_e_light","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"arrow","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":0,"s":[0]},{"t":36,"s":[360]}],"ix":10},"p":{"a":0,"k":[36,36,0],"ix":2,"l":2},"a":{"a":0,"k":[30,30,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":60,"h":60,"ip":0,"op":300,"st":0,"bm":0}],"markers":[]}

View File

@ -1 +0,0 @@
{"v":"5.5.9","fr":60,"ip":0,"op":120,"w":1080,"h":586,"nm":"上滑","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":2,"ty":4,"nm":"手","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.642],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":6,"s":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.558],"y":[0]},"t":60,"s":[100]},{"t":71,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.479,"y":0},"t":3,"s":[611,475,0],"to":[0,-62.75,0],"ti":[0,62.75,0]},{"t":40,"s":[611,98.5,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[90,90,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-7.78,-12.06],[5.68,0.39],[-6.42,-2.45],[-6.32,-0.97],[-5.95,13.55],[4.87,7.91],[4.94,6.69],[1.26,-5.37],[5.25,-1.25],[1.5,-0.3],[3.4,-0.77],[1.4,1.68],[6.15,7.98],[-1.73,-6.64]],"o":[[1.62,2.49],[-5.68,-0.39],[9.37,3.63],[6.31,0.98],[2.39,-7.74],[-4.87,-7.92],[-2.45,-3.05],[-1.05,4.57],[-4.99,1.39],[-0.83,0.13],[-5.63,1.63],[-4.71,-5.72],[-2.75,-3.31],[3.52,6.76]],"v":[[-7.86,14.26],[-15.64,12.52],[-17.99,22.89],[8.47,31.78],[33.98,17.29],[29.55,-1.59],[16.85,-20.15],[7.86,-17.83],[1.56,-19.8],[-3.05,-14.02],[-8.33,-16.94],[-12.44,-11.045],[-26.761,-30.19],[-34.75,-25.78]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"矩形","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.715],"y":[0]},"t":57,"s":[100]},{"t":67,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[525,228.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.491,"y":0},"t":3,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[24.328,180.5],[-22,180.5],[-22,204.5],[24.328,204.5]],"c":true}]},{"t":40,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[24.328,-207.5],[-22,-207.5],[-22,204.5],[24.328,204.5]],"c":true}]}],"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"蒙版 1"}],"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[6,137],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":2,"ix":4},"nm":"矩形路径 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,1,1,1,0.5,1,1,1,1,1,1,1,0,1,0.5,0.5,1,0],"ix":9}},"s":{"a":0,"k":[0,-68.5],"ix":5},"e":{"a":0,"k":[0,68.5],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"矩形","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":33,"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":3,"op":123,"st":3,"bm":0}],"markers":[]}

View File

@ -205,14 +205,17 @@ RE.setOutdent = function() {
RE.setJustifyLeft = function() {
document.execCommand('justifyLeft', false, null);
RE.enabledEditingItems()
}
RE.setJustifyCenter = function() {
document.execCommand('justifyCenter', false, null);
RE.enabledEditingItems()
}
RE.setJustifyRight = function() {
document.execCommand('justifyRight', false, null);
RE.enabledEditingItems()
}
RE.setBlockquote = function() {
@ -227,6 +230,16 @@ RE.insertImage = function(url) {
RE.insertHTML(html);
}
// 设置分割线
RE.insertHorizontalRule = function() {
document.execCommand('insertHorizontalRule', false, null);
}
// 设置编辑器默认换行符
RE.setDefaultParagraphSeparator = function(separator) {
document.execCommand('defaultParagraphSeparator', false, separator);
}
// 替换成缩略图
RE.replaceTbImage = function(imgRuleFlag, gifRuleFlag) {
var imgs = document.getElementsByTagName("img");
@ -339,9 +352,9 @@ RE.ImageClickListener = function() {
var img = imgs[i];
var imageClassName = img.className;
if (imageClassName == "image-link"|| img.className == "poster") continue;
window.imagelistener.imageArr(img.src);
window.NativeCallBack.invokeMethod("imageArr", img.src);
img.onclick = function() {
window.imagelistener.imageClick(this.src);
window.NativeCallBack.invokeMethod("imageClick", this.src);
}
}
}
@ -574,6 +587,10 @@ document.addEventListener("selectionchange", function(e) {
RE.sendElementNameToNative()
});
document.addEventListener("selectionchange", function(e) {
RE.enabledEditingItems(e)
});
RE.recursion = function(dom) {
var parenDom = dom.parentElement
if (parenDom && parenDom instanceof Element &&
@ -616,7 +633,6 @@ RE.sendElementNameToNative = function() {
// android function to open link
function customLinkgo(self) {
var datas = self.dataset.datas
// console.log(datas)
window.OnLinkClickListener.onClick(datas)
}

View File

@ -30,7 +30,6 @@ body {
}
#editor {
display: table-cell;
outline: 0px solid transparent;
background-repeat: no-repeat;
background-position: center;

View File

@ -0,0 +1,433 @@
package com.gh.ad
import android.annotation.SuppressLint
import android.app.Activity
import android.content.Context
import android.content.SharedPreferences
import android.text.TextUtils
import android.view.View
import android.view.ViewGroup
import android.widget.FrameLayout
import android.widget.TextView
import androidx.appcompat.content.res.AppCompatResources
import androidx.fragment.app.Fragment
import com.alibaba.android.arouter.launcher.ARouter
import com.facebook.drawee.view.SimpleDraweeView
import com.gh.common.exposure.ExposureManager
import com.gh.common.util.DirectUtils.directToLinkPage
import com.gh.common.util.LogUtils
import com.gh.common.util.NewFlatLogUtils.logOpenScreenAdSkip
import com.gh.gamecenter.BuildConfig
import com.gh.gamecenter.MainActivity
import com.gh.gamecenter.R
import com.gh.gamecenter.common.base.activity.BaseActivity
import com.gh.gamecenter.common.constant.Constants
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.common.exposure.ExposureSource
import com.gh.gamecenter.common.retrofit.BiResponse
import com.gh.gamecenter.common.utils.*
import com.gh.gamecenter.core.provider.IBeiziAdProvider
import com.gh.gamecenter.core.provider.ICsjAdProvider
import com.gh.gamecenter.core.utils.CurrentActivityHolder
import com.gh.gamecenter.core.utils.SPUtils
import com.gh.gamecenter.core.utils.TimeUtils.getToday
import com.gh.gamecenter.entity.AdConfig
import com.gh.gamecenter.entity.StartupAdEntity
import com.gh.gamecenter.feature.exposure.ExposureEvent.Companion.createEvent
import com.gh.gamecenter.feature.exposure.ExposureType
import com.gh.gamecenter.retrofit.RetrofitManager
import com.halo.assistant.HaloApp
import io.reactivex.schedulers.Schedulers
/**
* 广告实现代理类
*
* 由它来分发功能实现到具体的实现
*
* 以最复杂的开屏广告为例有三种实现1. 自有的广告实现 2. 穿山甲的开屏广告实现 3. Beizi 的开屏广告实现)
*
* 由于两个广告 SDK 有可能在一次启动中都被使用,所以会根据获取到的广告配置 config 来决定是否需要出是很好两个 SDK
*/
object AdDelegateHelper {
private var mCsjAdImpl: ICsjAdProvider? = null
private var mBeiziAdImpl: IBeiziAdProvider? = null
private var mAdConfigList: ArrayList<AdConfig>? = null
private var mSplashAd: AdConfig? = null
private var mDownloadManagerAd: AdConfig? = null
private val mGameSearchAdList: ArrayList<AdConfig> by lazy { arrayListOf() }
private var mVGameLaunchAd: AdConfig? = null
val vGameLaunchAd: AdConfig?
get() = mVGameLaunchAd
private const val AD_SDK_CSJ = "穿山甲"
private const val AD_SDK_BEIZI = "倍孜"
private const val AD_TYPE_SDK = "third_party_ads" // 第三方 SDK 广告
private const val KEY_CACHE_CONFIG = "cache_config" // 放在 SP 里的广告缓存(避免接口加载问题)
private val mAdConfigSp: SharedPreferences by lazy {
HaloApp.getInstance().getSharedPreferences("AdConfig", Context.MODE_PRIVATE)
}
fun initAdSdk(context: Context) {
// 初始化 Beizi
if (mBeiziAdImpl == null) {
mBeiziAdImpl =
ARouter.getInstance().build(RouteConsts.provider.beiziAd).navigation() as? IBeiziAdProvider
mBeiziAdImpl?.initSDK(context)
}
// 初始化穿山甲
if (mCsjAdImpl == null) {
mCsjAdImpl =
ARouter.getInstance().build(RouteConsts.provider.csjAd).navigation() as? ICsjAdProvider
mCsjAdImpl?.initSDK(context, BuildConfig.CSJ_APPID, HaloApp.getInstance().oaid)
// 监听亮色/暗色模式切换
DarkModeUtils.registerModeChangeListener {
val topActivity = CurrentActivityHolder.getCurrentActivity() ?: return@registerModeChangeListener
updateThemeStatus(context, DarkModeUtils.isDarkModeOn(topActivity))
}
}
}
/**
* 请求接口获取广告相关配置
*/
@SuppressLint("CheckResult")
fun requestAdConfig(isFromRetry: Boolean) {
// mAdConfigList 不为空不需要重试
if (isFromRetry && mAdConfigList != null) {
return
}
RetrofitManager.getInstance()
.newApi
.adConfig
.subscribeOn(Schedulers.io())
.subscribe(object : BiResponse<List<AdConfig>>() {
override fun onSuccess(data: List<AdConfig>) {
handleAdConfig(data)
// 缓存数据到 SP 供接口请求失败用
SPUtils.setString(mAdConfigSp, KEY_CACHE_CONFIG, data.toJson())
}
override fun onFailure(exception: Exception) {
super.onFailure(exception)
// 若接口请求失败时,从 SP 里获取上次缓存的数据
val cachedConfig: List<AdConfig>? = SPUtils.getString(mAdConfigSp, KEY_CACHE_CONFIG).toObject()
if (cachedConfig != null) {
handleAdConfig(cachedConfig)
}
}
})
}
/**
* 获取搜索页的广告列表
*/
fun getGameSearchAdList(): ArrayList<AdConfig> {
return mGameSearchAdList
}
/**
* 获取下载管理页的广告
*/
fun getDownloadManagerAd(): AdConfig? {
return mDownloadManagerAd
}
/**
* 处理广告配置
*/
fun handleAdConfig(configList: List<AdConfig>) {
for (config in configList) {
// 处理返回的数据
when (config.location) {
"halo_launch" -> mSplashAd = config
"download_manager" -> mDownloadManagerAd = config
"game_search" -> config.let { mGameSearchAdList.add(it) }
"helper_launch" -> mVGameLaunchAd = config
}
}
}
/**
* 是否需要显示开屏广告
*/
fun shouldShowStartUpAd(): Boolean {
return mSplashAd != null
}
/**
* 更新主题样式
*/
private fun updateThemeStatus(context: Context, isDarkMode: Boolean) {
mCsjAdImpl?.updateThemeStatus(context, isDarkMode)
}
/**
* 请求开屏广告
*/
@JvmStatic
fun requestSplashAd(
activity: Activity,
adViewWidthInPx: Int,
adViewHeightInPx: Int,
adViewWidthInDp: Float,
adViewHeightInDp: Float,
startAdContainer: ViewGroup,
sdkStartAdContainer: ViewGroup,
adsViewGroup: FrameLayout,
handler: BaseActivity.BaseHandler,
hideCallback: () -> Unit
) {
if (mSplashAd != null) {
if (mSplashAd!!.displayRule.adSource == AD_TYPE_SDK) {
// 第三方开屏广告回调,失败时根据接口配置选项决定是否显示自有开屏广告
val sdkSplashCallback: (isSuccess: Boolean) -> Unit = { isSuccess ->
if (isSuccess) {
hideCallback.invoke()
} else {
if (mSplashAd?.displayRule?.onFailedAction == "show") {
sdkStartAdContainer.visibility = View.GONE
requestStandardSplashAd(mSplashAd!!.ownerAd, startAdContainer, handler, hideCallback)
} else {
hideCallback.invoke()
}
}
}
// 第三方广告的数据为空,按加载失败处理
if (mSplashAd?.thirdPartyAd == null) {
sdkSplashCallback.invoke(false)
return
}
if (mSplashAd?.thirdPartyAd?.sourceName == AD_SDK_BEIZI) {
sdkStartAdContainer.visibility = View.VISIBLE
requestBeiziSplashAd(sdkStartAdContainer, adsViewGroup, adViewWidthInPx, adViewHeightInPx, sdkSplashCallback)
} else if (mSplashAd?.thirdPartyAd?.sourceName == AD_SDK_CSJ) {
sdkStartAdContainer.visibility = View.VISIBLE
requestCsjSplashAd(
activity,
mSplashAd?.thirdPartyAd?.slotId ?: "unknown",
adViewWidthInPx,
adViewHeightInPx,
adViewWidthInDp,
adViewHeightInDp,
sdkStartAdContainer,
sdkSplashCallback
)
}
} else {
requestStandardSplashAd(mSplashAd!!.ownerAd, startAdContainer, handler, hideCallback)
}
}
}
/**
* 获取穿山甲的开屏广告
*/
private fun requestCsjSplashAd(
activity: Activity,
slotId: String,
adViewWidthInPx: Int,
adViewHeightInPx: Int,
adViewWidthInDp: Float,
adViewHeightInDp: Float,
startAdContainer: ViewGroup,
callback: (isSuccess: Boolean) -> Unit,
) {
if (mCsjAdImpl == null) {
callback.invoke(false)
} else {
mCsjAdImpl?.requestSplashAd(
activity,
slotId,
adViewWidthInPx,
adViewHeightInPx,
adViewWidthInDp,
adViewHeightInDp,
startAdContainer,
callback,
)
}
}
/**
* 获取 Beizi 的开屏广告
*/
private fun requestBeiziSplashAd(
startAdContainer: View,
adsFl: FrameLayout,
adViewWidthInPx: Int,
adViewHeightInPx: Int,
callback: (isSuccess: Boolean) -> Unit,
) {
if (mBeiziAdImpl == null) {
callback.invoke(false)
} else {
mBeiziAdImpl?.requestSplashAd(startAdContainer, adsFl, adViewWidthInPx, adViewHeightInPx, callback)
}
}
/**
* 显示自有的开屏广告
*/
private fun requestStandardSplashAd(
splashAd: StartupAdEntity?,
startAdContainer: ViewGroup,
handler: BaseActivity.BaseHandler,
hideCallback: () -> Unit
) {
if (splashAd == null) {
hideCallback.invoke()
return
}
if (!TextUtils.isEmpty(splashAd.img)) {
val showedTodayTimestamp = SPUtils.getString(Constants.SP_STARTUP_AD_TIMESTAMP, "") ?: ""
when (splashAd.rule) {
"each" -> showStandardSplashAd(splashAd, startAdContainer, handler, hideCallback)
"once" -> if (TextUtils.isEmpty(showedTodayTimestamp)
|| !showedTodayTimestamp.contains(splashAd.id)
) {
showStandardSplashAd(splashAd, startAdContainer, handler, hideCallback)
} else {
hideCallback.invoke()
}
"everyday" -> {
val today = getToday()
if (TextUtils.isEmpty(showedTodayTimestamp)
|| !showedTodayTimestamp.contains(today)
|| !showedTodayTimestamp.contains(splashAd.id)
) {
showStandardSplashAd(splashAd, startAdContainer, handler, hideCallback)
} else {
hideCallback.invoke()
}
}
else -> hideCallback.invoke()
}
SPUtils.setString(Constants.SP_STARTUP_AD_TIMESTAMP, splashAd.id + getToday())
} else {
hideCallback.invoke()
}
}
private fun showStandardSplashAd(
ad: StartupAdEntity,
startAdContainer: ViewGroup,
handler: BaseActivity.BaseHandler,
hideCallback: () -> Unit
) {
val jumpBtn: View = startAdContainer.findViewById(R.id.jumpBtn)
val jumpDetailBtn: TextView = startAdContainer.findViewById(R.id.jumpDetailBtn)
val adImage: SimpleDraweeView = startAdContainer.findViewById(R.id.adImage)
startAdContainer.visibility = View.VISIBLE
jumpDetailBtn.text = ad.desc
jumpDetailBtn.setDrawableEnd(
AppCompatResources.getDrawable(
startAdContainer.context,
R.drawable.ic_startup_ad_arrow
), null, null
)
ImageUtils.display(adImage, ad.img)
startAdContainer.setOnClickListener {
// 拦截点击事件传递
}
jumpBtn.setOnClickListener {
handler.removeMessages(MainActivity.COUNTDOWN_AD)
hideCallback.invoke()
val linkEntity = ad.jump
logOpenScreenAdSkip(
ad.id,
(if (linkEntity.text != null) linkEntity.text else "")!!,
(if (linkEntity.type != null) linkEntity.type else "")!!,
(if (linkEntity.link != null) linkEntity.link else "")!!
)
}
val sources: MutableList<ExposureSource> = ArrayList()
sources.add(ExposureSource("开屏广告", ad.id))
val event = createEvent(null, sources, null, ExposureType.EXPOSURE)
ExposureManager.log(event)
if (ad.button) {
jumpDetailBtn.setOnClickListener { v: View ->
directToLinkPage(v.context, ad.jump, "(启动广告)", "", event)
v.postDelayed({
handler.removeMessages(MainActivity.COUNTDOWN_AD)
hideCallback.invoke()
}, 1000)
}
jumpDetailBtn.visibility = View.VISIBLE
LogUtils.logStartAd("watch_start_ads", ad)
} else {
LogUtils.logStartAd("start_ads", ad)
}
handler.sendEmptyMessageDelayed(MainActivity.COUNTDOWN_AD, 1000)
}
/**
* 获取信息流广告
*/
fun requestFlowAd(
fragment: Fragment,
slotId: String,
adContainerView: ViewGroup,
expressViewWidth: Float,
callback: (isSuccess: Boolean) -> Unit,
) {
mCsjAdImpl?.requestFlowAd(fragment, adContainerView, slotId, expressViewWidth, callback)
}
/**
* 获取 Banner 广告
*/
fun requestBannerAd(
fragment: Fragment,
containerView: ViewGroup,
ad: AdConfig.ThirdPartyAd,
expressViewWidthInDp: Float,
callback: (isSuccess: Boolean) -> Unit
) {
val slotId = ad.slotId
val displayRatio: Float = if (ad.displaySize.isEmpty()) {
2F
} else {
val array = ad.displaySize.split("*")
if (array.size == 2) {
array[0].toFloat() / array[1].toFloat()
} else {
2F
}
}
val expressViewHeightInDp = expressViewWidthInDp / displayRatio
mCsjAdImpl?.requestBannerAd(
fragment,
containerView,
slotId,
expressViewWidthInDp,
expressViewHeightInDp,
callback
)
}
/**
* 取消开屏广告
*/
fun cancelSplashAd(context: Context) {
mBeiziAdImpl?.cancelSplashAd(context)
mCsjAdImpl?.cancelSplashAd(context)
}
}

View File

@ -57,11 +57,16 @@ abstract class BaseRichEditorActivity<VM : BaseRichEditorViewModel> : ToolBarAct
private lateinit var mEditorFontItalic: CheckableImageView
private lateinit var mEditorFontStrikeThrough: CheckableImageView
private lateinit var mEditorFontUnderline: CheckableImageView
private lateinit var mEditorParagraphDivider: CheckableImageView
private lateinit var mEditorParagraphH1: CheckableImageView
private lateinit var mEditorParagraphH2: CheckableImageView
private lateinit var mEditorParagraphH3: CheckableImageView
private lateinit var mEditorParagraphH4: CheckableImageView
private lateinit var mEditorParagraphQuote: CheckableImageView
private lateinit var mEditorAlignLeft: CheckableImageView
private lateinit var mEditorAlignCenter: CheckableImageView
private lateinit var mEditorAlignRight: CheckableImageView
private lateinit var mEditorAlignContainer: View
private lateinit var mEditorFontContainer: View
private lateinit var mEditorParagraphContainer: View
private lateinit var mEditorLinkContainer: View
@ -97,6 +102,7 @@ abstract class BaseRichEditorActivity<VM : BaseRichEditorViewModel> : ToolBarAct
mRichEditor.insertCustomStyleLink(insertData)
}
}
INSERT_ARTICLE_CODE -> {
val article =
data?.getParcelableExtra<ArticleEntity>(ArticleEntity::class.java.simpleName)
@ -106,6 +112,7 @@ abstract class BaseRichEditorActivity<VM : BaseRichEditorViewModel> : ToolBarAct
mRichEditor.insertCustomStyleLink(insertData)
}
}
INSERT_GAME_CODE -> {
val game = data?.getParcelableExtra<GameEntity>(GameEntity::class.java.simpleName)
if (game != null) {
@ -114,6 +121,7 @@ abstract class BaseRichEditorActivity<VM : BaseRichEditorViewModel> : ToolBarAct
mRichEditor.insertCustomStyleLink(insertData)
}
}
INSERT_GAME_COLLECTION_CODE -> {
val gameCollectionEntity =
data?.getParcelableExtra<GamesCollectionEntity>(GamesCollectionEntity::class.java.simpleName)
@ -123,9 +131,11 @@ abstract class BaseRichEditorActivity<VM : BaseRichEditorViewModel> : ToolBarAct
mRichEditor.insertCustomStyleLink(insertData)
}
}
REQUEST_CODE_IMAGE -> {
if (data != null) mViewModel.uploadPic(data)
}
INSERT_MEDIA_VIDEO_CODE -> {
val localVideoList =
data?.getParcelableArrayListExtra<LocalVideoEntity>(LocalVideoEntity::class.java.name)
@ -135,12 +145,14 @@ abstract class BaseRichEditorActivity<VM : BaseRichEditorViewModel> : ToolBarAct
uploadVideo(localVideoList)
}
}
REQUEST_CODE_IMAGE_CROP -> {
val imagePath = data?.getStringExtra(CropImageActivity.RESULT_CLIP_PATH)
if (!imagePath.isNullOrEmpty()) {
mViewModel.uploadPoster(imagePath)
}
}
INSERT_VIDEO_CODE -> {
val videoEntity = data?.getParcelableExtra<MyVideoEntity>(MyVideoEntity::class.java.simpleName)
if (videoEntity != null) {
@ -194,7 +206,12 @@ abstract class BaseRichEditorActivity<VM : BaseRichEditorViewModel> : ToolBarAct
mEditorParagraphH2 = findViewById(R.id.editor_paragraph_h2)
mEditorParagraphH3 = findViewById(R.id.editor_paragraph_h3)
mEditorParagraphH4 = findViewById(R.id.editor_paragraph_h4)
mEditorParagraphDivider = findViewById(R.id.editor_paragraph_divider)
mEditorParagraphQuote = findViewById(R.id.editor_paragraph_quote)
mEditorAlignLeft = findViewById(R.id.editor_align_left)
mEditorAlignCenter = findViewById(R.id.editor_align_center)
mEditorAlignRight = findViewById(R.id.editor_align_right)
mEditorAlignContainer = findViewById(R.id.editor_align_container)
mEditorFontContainer = findViewById(R.id.editor_font_container)
mEditorParagraphContainer = findViewById(R.id.editor_paragraph_container)
mEditorLinkContainer = findViewById(R.id.editor_link_container)
@ -241,6 +258,13 @@ abstract class BaseRichEditorActivity<VM : BaseRichEditorViewModel> : ToolBarAct
mRichEditor.hasFocus()
} else false
}
mRichEditor.setOnDecorationChangeListener { _, types ->
mEditorAlignLeft.isChecked = types.contains(RichEditor.Type.JUSTIFYLEFT)
mEditorAlignCenter.isChecked = types.contains(RichEditor.Type.JUSTIFYCENTER)
mEditorAlignRight.isChecked = types.contains(RichEditor.Type.JUSTIFYRIGHT)
}
mOriginalCb.setOnCheckedChangeListener { _, isChecked ->
if (isChecked) {
mOriginalTipsContainer.alpha = 0f
@ -325,6 +349,9 @@ abstract class BaseRichEditorActivity<VM : BaseRichEditorViewModel> : ToolBarAct
MtaHelper.onEvent(mtaEventName(), "文字样式", "文字样式-下滑线")
}
}
mEditorParagraphDivider.setOnClickListener {
mRichEditor.insertDivider()
}
mEditorParagraphH1.setOnClickListener {
if (mEditorParagraphH1.isChecked) {
mRichEditor.formatBlock()
@ -370,6 +397,27 @@ abstract class BaseRichEditorActivity<VM : BaseRichEditorViewModel> : ToolBarAct
}
mEditorParagraphQuote.isChecked = !mEditorParagraphQuote.isChecked
}
mEditorAlignLeft.setOnClickListener {
if (!mEditorAlignLeft.isChecked) {
mRichEditor.setAlignLeft()
MtaHelper.onEvent(mtaEventName(), "文本对齐选项", "文本对齐选项-靠左")
mEditorAlignLeft.isChecked = !mEditorAlignLeft.isChecked
}
}
mEditorAlignCenter.setOnClickListener {
if (!mEditorAlignCenter.isChecked) {
mRichEditor.setAlignCenter()
MtaHelper.onEvent(mtaEventName(), "文本对齐选项", "文本对齐选项-靠中")
mEditorAlignCenter.isChecked = !mEditorAlignCenter.isChecked
}
}
mEditorAlignRight.setOnClickListener {
if (!mEditorAlignRight.isChecked) {
mRichEditor.setAlignRight()
MtaHelper.onEvent(mtaEventName(), "文本对齐选项", "文本对齐选项-靠右")
mEditorAlignRight.isChecked = !mEditorAlignRight.isChecked
}
}
findViewById<View>(R.id.editor_link_answer).setOnClickListener {
MtaHelper.onEvent(mtaEventName(), "插入链接", "插入链接-回答")
startActivityForResult(
@ -449,25 +497,22 @@ abstract class BaseRichEditorActivity<VM : BaseRichEditorViewModel> : ToolBarAct
return
}
try {
PermissionHelper.checkStoragePermissionBeforeAction(this,
object : EmptyCallback {
override fun onCallback() {
val maxChooseCount = if (videoCount + 3 <= MAX_MEDIA_COUNT) 3 else MAX_MEDIA_COUNT - videoCount
startActivityForResult(
LocalMediaActivity.getIntent(
this@BaseRichEditorActivity,
LocalMediaActivity.ChooseType.VIDEO,
maxChooseCount,
if (mtaEventName() == "提问帖") "发提问帖" else "发帖子"
), INSERT_MEDIA_VIDEO_CODE
)
NewLogUtils.logChooseMedia(
"view_media",
if (mtaEventName() == "提问帖") "提问帖" else "帖子",
"视频"
)
}
})
PermissionHelper.checkStoragePermissionBeforeAction(this) {
val maxChooseCount = if (videoCount + 3 <= MAX_MEDIA_COUNT) 3 else MAX_MEDIA_COUNT - videoCount
startActivityForResult(
LocalMediaActivity.getIntent(
this@BaseRichEditorActivity,
LocalMediaActivity.ChooseType.VIDEO,
maxChooseCount,
if (mtaEventName() == "提问帖") "发提问帖" else "发帖子"
), INSERT_MEDIA_VIDEO_CODE
)
NewLogUtils.logChooseMedia(
"view_media",
if (mtaEventName() == "提问帖") "提问帖" else "帖子",
"视频"
)
}
} catch (e: Exception) {
toast(R.string.media_image_hint)
e.printStackTrace()
@ -482,18 +527,16 @@ abstract class BaseRichEditorActivity<VM : BaseRichEditorViewModel> : ToolBarAct
return
}
try {
PermissionHelper.checkStoragePermissionBeforeAction(this, object : EmptyCallback {
override fun onCallback() {
val maxChooseCount = if (imageCount + 10 <= MAX_IMAGE_COUNT) 10 else MAX_IMAGE_COUNT - imageCount
val intent = LocalMediaActivity.getIntent(
this@BaseRichEditorActivity,
LocalMediaActivity.ChooseType.IMAGE,
maxChooseCount,
if (mtaEventName() == "提问帖") "发提问帖" else "发帖子"
)
startActivityForResult(intent, REQUEST_CODE_IMAGE)
}
})
PermissionHelper.checkStoragePermissionBeforeAction(this) {
val maxChooseCount = if (imageCount + 10 <= MAX_IMAGE_COUNT) 10 else MAX_IMAGE_COUNT - imageCount
val intent = LocalMediaActivity.getIntent(
this@BaseRichEditorActivity,
LocalMediaActivity.ChooseType.IMAGE,
maxChooseCount,
if (mtaEventName() == "提问帖") "发提问帖" else "发帖子"
)
startActivityForResult(intent, REQUEST_CODE_IMAGE)
}
} catch (e: Exception) {
toast(R.string.media_image_hint)
e.printStackTrace()
@ -516,6 +559,7 @@ abstract class BaseRichEditorActivity<VM : BaseRichEditorViewModel> : ToolBarAct
mEditorFontContainer.visibility = if (mEditorFont.isChecked) View.VISIBLE else View.GONE
mEditorParagraphContainer.visibility =
if (mEditorFont.isChecked) View.VISIBLE else View.GONE
mEditorAlignContainer.visibility = if (mEditorFont.isChecked) View.VISIBLE else View.GONE
mEditorLinkContainer.visibility = View.GONE
mTagsContainer.visibility = View.GONE
mIsExtendedKeyboardShow = mEditorFont.isChecked
@ -537,6 +581,7 @@ abstract class BaseRichEditorActivity<VM : BaseRichEditorViewModel> : ToolBarAct
if (mEditorLink.isChecked) View.VISIBLE else View.GONE
mEditorLinkContainer.visibility = if (mEditorLink.isChecked) View.VISIBLE else View.GONE
mEditorFontContainer.visibility = View.GONE
mEditorAlignContainer.visibility = View.GONE
mEditorParagraphContainer.visibility = View.GONE
mTagsContainer.visibility = View.GONE
mIsExtendedKeyboardShow = mEditorLink.isChecked
@ -776,7 +821,7 @@ abstract class BaseRichEditorActivity<VM : BaseRichEditorViewModel> : ToolBarAct
const val INSERT_VIDEO_CODE = 415
const val MAX_INPUT_TEXT_NUM = 10000
const val MAX_MEDIA_COUNT = 20
const val MAX_IMAGE_COUNT = 35
const val MAX_IMAGE_COUNT = 70
const val REQUEST_CODE_IMAGE = 120
const val INSERT_MEDIA_VIDEO_CODE = 121

View File

@ -1,5 +1,6 @@
package com.gh.base
import android.annotation.SuppressLint
import android.app.Application
import android.content.Intent
import android.graphics.Bitmap
@ -17,6 +18,7 @@ import com.gh.gamecenter.core.runOnUiThread
import com.gh.gamecenter.core.utils.MD5Utils
import com.gh.gamecenter.core.utils.ToastUtils
import com.gh.gamecenter.common.entity.ErrorEntity
import com.gh.gamecenter.common.retrofit.BiResponse
import com.gh.gamecenter.entity.ForumDetailEntity
import com.gh.gamecenter.entity.LocalVideoEntity
import com.gh.gamecenter.entity.QuoteCountEntity
@ -29,7 +31,9 @@ import com.google.gson.JsonObject
import com.lightgame.utils.Utils
import com.zhihu.matisse.Matisse
import com.zhihu.matisse.internal.utils.PathUtils
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.disposables.Disposable
import io.reactivex.schedulers.Schedulers
import okhttp3.ResponseBody
import retrofit2.HttpException
import java.io.File
@ -58,6 +62,7 @@ abstract class BaseRichEditorViewModel(application: Application) : AndroidViewMo
var videoId = ""//更改封面视频id
val quoteCountEntity = QuoteCountEntity()//数据上报用
val sectionListLiveData = MutableLiveData<List<ForumDetailEntity.Section>>()
var isModerator = false
fun setUploadVideoListener(uploadVideoListener: UploadVideoListener) {
this.mUploadVideoListener = uploadVideoListener
@ -423,6 +428,18 @@ abstract class BaseRichEditorViewModel(application: Application) : AndroidViewMo
})
}
@SuppressLint("CheckResult")
fun getModeratorsInfo(bbsId: String) {
mApi.getModeratorsInfo(bbsId)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(object : BiResponse<JsonObject>() {
override fun onSuccess(data: JsonObject) {
isModerator = data["is_moderators"].asBoolean
}
})
}
private fun getVideoType(): String {
return when (type) {
BbsType.GAME_BBS.value -> {

View File

@ -1,18 +1,20 @@
package com.gh.base
import android.graphics.Typeface
import android.os.Bundle
import android.text.TextUtils
import android.view.MenuItem
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import androidx.constraintlayout.widget.ConstraintLayout
import com.gh.download.DownloadManager
import com.gh.gamecenter.DownloadManagerActivity
import com.gh.gamecenter.R
import com.gh.gamecenter.common.base.activity.ToolBarActivity
import com.gh.gamecenter.common.constant.Constants
import com.gh.gamecenter.common.utils.dip2px
import com.gh.gamecenter.common.utils.viewModelProvider
import com.gh.gamecenter.core.utils.DisplayUtils
import com.gh.gamecenter.core.utils.SPUtils.getBoolean
import com.gh.gamecenter.entity.GameUpdateEntity
import com.gh.gamecenter.eventbus.EBDownloadStatus
@ -58,6 +60,7 @@ abstract class DownloadToolbarActivity : ToolBarActivity() {
}
val downloadMenuView = mActionMenuView.menu.findItem(R.id.menu_download).actionView
mDownloadCountHint = downloadMenuView?.findViewById(R.id.menu_download_count_hint)
mDownloadCountHint?.typeface = Typeface.createFromAsset(assets, "fonts/d_din_bold_only_number.ttf")
}
override fun onMenuItemClick(item: MenuItem?): Boolean {
@ -74,19 +77,27 @@ abstract class DownloadToolbarActivity : ToolBarActivity() {
if (mDownloadCountHint == null) return
val count = DownloadManager.getInstance().getDownloadOrUpdateCount(updateList)
if (count != null) {
mDownloadCountHint!!.visibility = View.VISIBLE
mDownloadCountHint!!.text = count
val params = mDownloadCountHint!!.layoutParams
if (TextUtils.isEmpty(count)) {
params.width = DisplayUtils.dip2px(6f)
params.height = DisplayUtils.dip2px(6f)
} else {
params.width = DisplayUtils.dip2px(12f)
params.height = DisplayUtils.dip2px(12f)
}
mDownloadCountHint!!.layoutParams = params
mDownloadCountHint?.visibility = View.VISIBLE
mDownloadCountHint?.text = count
val params = mDownloadCountHint?.layoutParams
params?.width = if (count.isEmpty()) 6F.dip2px() else ConstraintLayout.LayoutParams.WRAP_CONTENT
params?.height = if (count.isEmpty()) 6F.dip2px() else 14F.dip2px()
(params as? ViewGroup.MarginLayoutParams)?.setMargins(
0,
if (count.isEmpty()) 0 else (-4F).dip2px(),
if (count.isEmpty()) (-4F).dip2px() else (-8F).dip2px(),
0
)
mDownloadCountHint?.setPadding(
if (count.isEmpty()) 0 else 4F.dip2px(),
0,
if (count.isEmpty()) 0 else 4F.dip2px(),
0
)
mDownloadCountHint?.minWidth = if (count.isEmpty()) 0 else 14F.dip2px()
mDownloadCountHint?.layoutParams = params
} else {
mDownloadCountHint!!.visibility = View.GONE
mDownloadCountHint?.visibility = View.GONE
}
}

View File

@ -5,9 +5,12 @@ import android.app.Application
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.gh.common.util.FloatingBackViewManager
import com.gh.common.xapk.XapkInstaller
import com.gh.download.DownloadManager
import com.gh.gamecenter.SingletonWebActivity
import com.gh.gamecenter.SkipActivity
import com.gh.gamecenter.SplashScreenActivity
import com.gh.gamecenter.authorization.AuthorizationActivity
import com.gh.gamecenter.common.base.GlobalActivityManager
import com.gh.gamecenter.common.utils.PackageFlavorHelper
import com.gh.vspace.VHelper
@ -27,11 +30,7 @@ class GlobalActivityLifecycleObserver : Application.ActivityLifecycleCallbacks {
override fun onActivityResumed(activity: Activity) {
// 判断是否需要显示或隐藏返回小浮窗
if (FloatingBackViewManager.getType().isNotEmpty()) {
if ((activity::class.java.name == "EnergyCenterActivity")
&& FloatingBackViewManager.getType() == FloatingBackViewManager.TYPE_TASK
) {
FloatingBackViewManager.disableBackView()
} else if (activity is SingletonWebActivity
if (activity is SingletonWebActivity
&& FloatingBackViewManager.getType() == FloatingBackViewManager.TYPE_ACTIVITY
) {
FloatingBackViewManager.disableBackView()
@ -56,9 +55,15 @@ class GlobalActivityLifecycleObserver : Application.ActivityLifecycleCallbacks {
DarkModeSwitchHelper.showDarkModeSwitchFloatingView(activity)
}
if (activity is AppCompatActivity && activity !is SplashScreenActivity) {
if (activity is AppCompatActivity
&& activity !is SplashScreenActivity
&& activity !is SkipActivity
&& activity !is AuthorizationActivity
) {
VHelper.showFeedbackDialogIfLastSuccessfulLaunchedGameExitUnexpectedly(activity)
}
XapkInstaller.updateCurrentInstallStatus()
}
override fun onActivityPaused(activity: Activity) {

View File

@ -12,6 +12,7 @@ import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity
import androidx.fragment.app.FragmentManager
import com.alibaba.android.arouter.launcher.ARouter
import com.gh.common.exposure.ExposureManager
import com.gh.common.util.*
import com.gh.common.util.LogUtils
import com.gh.download.DownloadManager
@ -23,21 +24,23 @@ import com.gh.gamecenter.common.callback.BiCallback
import com.gh.gamecenter.common.constant.Constants
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.common.entity.NotificationUgc
import com.gh.gamecenter.common.exposure.ExposureSource
import com.gh.gamecenter.common.loghub.LoghubUtils
import com.gh.gamecenter.common.provider.IHelpAndFeedbackProvider
import com.gh.gamecenter.common.tracker.Tracker
import com.gh.gamecenter.common.utils.*
import com.gh.gamecenter.common.utils.NewFlatLogUtils
import com.gh.gamecenter.common.view.dsbridge.CompletionHandler
import com.gh.gamecenter.core.AppExecutor
import com.gh.gamecenter.core.runOnIoThread
import com.gh.gamecenter.core.runOnUiThread
import com.gh.gamecenter.core.utils.*
import com.gh.gamecenter.energy.EnergyBridge
import com.gh.gamecenter.entity.SensorsEvent
import com.gh.gamecenter.eventbus.EBDownloadStatus
import com.gh.gamecenter.eventbus.EBPackage
import com.gh.gamecenter.feature.entity.Badge
import com.gh.gamecenter.feature.entity.GameEntity
import com.gh.gamecenter.feature.exposure.ExposureEvent
import com.gh.gamecenter.login.user.LoginTag
import com.gh.gamecenter.login.user.UserManager
import com.gh.gamecenter.login.user.UserRepository
@ -61,12 +64,19 @@ import java.io.File
import java.io.FileOutputStream
import java.util.*
class DefaultJsApi(var context: Context, val entrance: String = "", private var mFragment: Fragment? = null) {
class DefaultJsApi(
var context: Context,
val entrance: String = "",
private var mFragment: Fragment? = null,
private var mBbsId: String? = "",
private var mOriginUrl: String?= "",
) {
private var mLoginHandler: CompletionHandler<Any>? = null
private var mDownloadWatcher: DataWatcher? = null // 下载观察者
private var mDownloadUrlSet: HashSet<String>? = null // 下载的 url 集合
private var mDownloadHandler: CompletionHandler<Any>? = null // 下载信息回调
private var mExposureEvent: ExposureEvent? = null // 活动曝光实体
init {
if (mFragment != null) {
@ -165,7 +175,6 @@ class DefaultJsApi(var context: Context, val entrance: String = "", private var
WechatBindHelper.bindWechat(wechatLoginInfoMap, object : BiCallback<Boolean, Boolean> {
override fun onFirst(first: Boolean) {
EnergyBridge.postEnergyTask("bind_wechat")
handler.complete(true)
}
@ -206,11 +215,11 @@ class DefaultJsApi(var context: Context, val entrance: String = "", private var
runOnUiThread {
// 若畅玩列表中安装了,优先启动畅玩游戏
if (VHelper.isInstalled(packageName)) {
if (!VHelper.showDialogIfVSpaceIsNeeded(context, "", "")) {
if (!VHelper.showDialogIfVSpaceIsNeeded(context, "", "", "", "")) {
VHelper.launch(context, packageName)
}
} else {
PackageUtils.launchApplicationByPackageName(context, packageName)
PackageLauncher.launchApp(context, packageName = packageName)
}
}
}
@ -260,6 +269,24 @@ class DefaultJsApi(var context: Context, val entrance: String = "", private var
}
}
/**
* 是否为论坛详情的专区
*/
@JavascriptInterface
fun isForumZone(msg: Any): Boolean {
return !mBbsId.isNullOrEmpty()
}
/**
* 打开论坛搜索页
*/
@JavascriptInterface
fun openForumSearch(msg: Any) {
runOnUiThread {
DirectUtils.directToForumOrUserSearch(context, mBbsId ?: "", entrance.ifBlank { "内部网页" })
}
}
@JavascriptInterface
fun exitWebView(msg: Any) {
runOnUiThread { (context as Activity).finish() }
@ -268,7 +295,6 @@ class DefaultJsApi(var context: Context, val entrance: String = "", private var
@JavascriptInterface
fun updateRegulationTestStatus(msg: Any) {
if (msg.toString().toLowerCase(Locale.getDefault()) == "pass") {
EnergyBridge.postEnergyTask("finish_etiquette_exam")
SPUtils.setString(Constants.SP_REGULATION_TEST_PASS_STATUS, "pass")
}
}
@ -344,17 +370,17 @@ class DefaultJsApi(var context: Context, val entrance: String = "", private var
@JavascriptInterface
fun postWearBadgeTask(msg: Any) {
EnergyBridge.postEnergyTask("wear_badge")
// do nothing
}
@JavascriptInterface
fun startEnergyCenter(msg: Any) {
context.startActivity(EnergyBridge.getEnergyCenterIntent(context))
// do nothing
}
@JavascriptInterface
fun startEnergyHouse(msg: Any) {
context.startActivity(EnergyBridge.getEnergyHouseIntent(context, null))
// do nothing
}
@JavascriptInterface
@ -510,6 +536,18 @@ class DefaultJsApi(var context: Context, val entrance: String = "", private var
val downloadEntity = DownloadManager.getInstance().getDownloadEntitySnapshot(url, null, false)
?: DownloadManager.getInstance().getDownloadEntitySnapshot(vUrl, null, false)
NewFlatLogUtils.logGameInstall(
gameId = downloadEntity?.gameId ?: "",
gameName = downloadEntity?.name ?: "",
trigger = "主动安装"
)
SensorsBridge.trackInstallGameClick(
gameId = downloadEntity?.gameId ?: "",
gameName = downloadEntity?.name ?: "",
action = "主动安装"
)
downloadEntity?.let {
PackageInstaller.install(context, it, showUnzipToast = false)
}
@ -604,6 +642,33 @@ class DefaultJsApi(var context: Context, val entrance: String = "", private var
}
}
@JavascriptInterface
fun logExposure(event: Any) {
val simpleExposureEvent = event.toString().toObject() ?: SimpleExposureEvent()
if (simpleExposureEvent.id.isNotEmpty()) {
val sourceKey = if (mOriginUrl?.contains(Constants.URL_QUERY_FROM_FLOATING_WINDOW) == true) {
"落地页"
} else {
"游戏活动"
}
val exposureSource = ExposureSource(sourceKey, "${simpleExposureEvent.title}+${simpleExposureEvent.id}")
mExposureEvent = ExposureEvent.createEvent(
gameEntity = null,
source = arrayListOf(exposureSource),
)
ExposureManager.log(mExposureEvent!!)
ExposureManager.commitSavedExposureEvents(true)
}
}
/**
* 获取 ExposureEvent可能为空
*/
fun getExposureEvent(): ExposureEvent? {
return mExposureEvent
}
private fun autoUnregisterDownloadObserverIfNeeded(fragment: Fragment?) {
fragment?.parentFragmentManager?.registerFragmentLifecycleCallbacks(
object : FragmentManager.FragmentLifecycleCallbacks() {
@ -656,6 +721,9 @@ class DefaultJsApi(var context: Context, val entrance: String = "", private var
@Keep
internal class TextShareEvent(var text: String = "", var type: String = "")
@Keep
internal class SimpleExposureEvent(var title: String = "", var id: String = "")
@Keep
internal class InviteFriendsEvent(
var type: String = "",

View File

@ -5,9 +5,8 @@ import android.content.Intent
import android.net.Uri
import android.text.TextUtils
import android.util.Base64
import com.gh.gamecenter.core.utils.CurrentActivityHolder
import com.gh.gamecenter.common.constant.Constants
import com.gh.common.util.*
import com.gh.common.util.CheckLoginUtils
import com.gh.common.util.DirectUtils
import com.gh.common.util.DirectUtils.directToFeedback
import com.gh.common.util.DirectUtils.directToGameDetailVideoStreaming
import com.gh.common.util.DirectUtils.directToGameServerCalendar
@ -15,22 +14,31 @@ import com.gh.common.util.DirectUtils.directToGameVideo
import com.gh.common.util.DirectUtils.directToLegacyVideoDetail
import com.gh.common.util.DirectUtils.directToLinkPage
import com.gh.common.util.DirectUtils.directToQa
import com.gh.gamecenter.*
import com.gh.gamecenter.core.utils.GsonUtils.gson
import com.gh.common.util.PackageUtils
import com.gh.gamecenter.LibaoDetailActivity
import com.gh.gamecenter.MainActivity
import com.gh.gamecenter.NewsDetailActivity
import com.gh.gamecenter.WebActivity
import com.gh.gamecenter.common.constant.Constants
import com.gh.gamecenter.common.constant.EntranceConsts
import com.gh.gamecenter.common.entity.CommunityEntity
import com.gh.gamecenter.common.entity.LinkEntity
import com.gh.gamecenter.common.eventbus.EBReuse
import com.gh.gamecenter.common.entity.SimpleGameEntity
import com.gh.gamecenter.core.AppExecutor
import com.gh.gamecenter.common.eventbus.EBReuse
import com.gh.gamecenter.common.utils.DialogHelper
import com.gh.gamecenter.common.utils.EnvHelper
import com.gh.gamecenter.core.AppExecutor
import com.gh.gamecenter.core.utils.CurrentActivityHolder
import com.gh.gamecenter.core.utils.GsonUtils.gson
import com.gh.gamecenter.core.utils.ToastUtils
import com.gh.gamecenter.entity.*
import com.gh.gamecenter.entity.ActivityLabelEntity
import com.gh.gamecenter.entity.SubjectRecommendEntity
import com.gh.gamecenter.entity.VideoLinkEntity
import com.gh.gamecenter.eventbus.EBSkip
import com.gh.gamecenter.fragment.MainWrapperFragment
import com.gh.gamecenter.feature.entity.GameEntity
import com.gh.gamecenter.feature.exposure.ExposureEvent
import com.gh.gamecenter.feature.utils.PlatformUtils
import com.gh.gamecenter.fragment.MainWrapperFragment
import com.gh.gamecenter.gamecollection.publish.GameCollectionEditActivity
import com.gh.gamecenter.qa.BbsType
import com.gh.gamecenter.qa.video.publish.VideoPublishActivity
@ -44,14 +52,21 @@ object DefaultUrlHandler {
@JvmStatic
fun interceptUrl(context: Context, url: String, entrance: String): Boolean {
return interceptUrl(context, url, entrance, false)
return interceptUrl(context, url, null, entrance, false)
}
/**
* 检查并拦截部分内部处理的 url
* @param traceEvent 供一些页面用于登记曝光来源的实体
* @param bringAppToFront 是否需要在不匹配 host 的时候把 APP 调回到前台 (如微信调起)
*
* @return 是否已拦截处理
*/
@JvmStatic
fun interceptUrl(context: Context, url: String, entrance: String, bringAppToFront: Boolean = false): Boolean {
fun interceptUrl(context: Context, url: String,
traceEvent: ExposureEvent? = null,
entrance: String,
bringAppToFront: Boolean = false): Boolean {
val uri = Uri.parse(url)
if ("ghzhushou" == uri.scheme) {
Utils.log("url = $url")
@ -75,6 +90,7 @@ object DefaultUrlHandler {
id = id,
tab = uri.getQueryParameter("to"),
autoDownload = uri.getQueryParameter("auto_download") == "true",
traceEvent = traceEvent,
entrance = entrance
)
@ -83,6 +99,7 @@ object DefaultUrlHandler {
id,
uri.getQueryParameter("name"),
false,
null,
entrance
)
@ -333,7 +350,8 @@ object DefaultUrlHandler {
}
EntranceConsts.HOST_FORUM_DETAIL -> {
DirectUtils.directForumDetail(context, id, entrance)
val sectionId = uri.getQueryParameter("section_id") ?: ""
DirectUtils.directForumDetailSection(context, id, sectionId, entrance)
}
EntranceConsts.HOST_GAME_RATING_DETAIL -> {
@ -401,10 +419,11 @@ object DefaultUrlHandler {
val packageMd5 = uri.getQueryParameter(EntranceConsts.KEY_PACKAGE_MD5)
val isQaFeedback = uri.getQueryParameter(EntranceConsts.KEY_IS_QA_FEEDBACK) == "true"
val content = if (TextUtils.isEmpty(gameId) || TextUtils.isEmpty(packageMd5)) String.format(
"%s-%s-V%s",
"%s—V%s—%sV%s",
uri.getQueryParameter(EntranceConsts.KEY_GAME_NAME),
uri.getQueryParameter(EntranceConsts.KEY_VERSION),
if (TextUtils.isEmpty(platformName)) platform else platformName,
uri.getQueryParameter(EntranceConsts.KEY_VERSION)
uri.getQueryParameter(EntranceConsts.KEY_PLATFORM_VERSION),
) else String.format(
"%s-%s-V%s\n游戏ID%s\n游戏包MD5%s\n",
uri.getQueryParameter(EntranceConsts.KEY_GAME_NAME),
@ -420,17 +439,17 @@ object DefaultUrlHandler {
directToFeedback(
context,
content,
null,
isQaFeedback,
qaContentId,
isPlugin = false,
isSmoothGame = false,
EntranceConsts.ENTRANCE_BROWSER
)
}
}
EntranceConsts.HOST_HELP_AND_FEEDBACK -> {
val position = uri.getQueryParameter("position") ?: ""
DirectUtils.directToHelpAndFeedback(context, position.toInt())
DirectUtils.directToHelpAndFeedback(context)
}
EntranceConsts.HOST_HELP_DETAIL -> {
@ -459,7 +478,7 @@ object DefaultUrlHandler {
}
EntranceConsts.HOST_GAME_COLLECTION_DETAIL -> {
DirectUtils.directToGameCollectionDetail(context, id, entrance)
DirectUtils.directToGameCollectionDetail(context, id, entrance, traceEvent = traceEvent)
}
EntranceConsts.HOST_GAME_COLLECTION_SQUARE -> {
@ -471,12 +490,13 @@ object DefaultUrlHandler {
val activityName = uri.getQueryParameter("activity_name") ?: ""
val gameId = uri.getQueryParameter("game_id") ?: ""
context.startActivity(
GameCollectionEditActivity.getIntent(
GameCollectionEditActivity.getCreateIntent(
context,
activityId,
activityName,
gameId,
entrance
entrance,
"其他"
)
)
}

View File

@ -20,8 +20,8 @@ object FixedRateJobHelper {
private const val CHECKER_PERIOD: Long = 15 * 1000L
private const val TIME_PERIOD: Long = 10 * 60 * 1000L
private const val LOGHUB_PERIOD: Long = 2 * 60 * 1000L
private const val EXPOSURE_PERIOD: Long = 5 * 60 * 1000L
private const val REGION_SETTING_PERIOD: Long = 30 * 1000L
private const val EXPOSURE_PERIOD: Long = 1 * 60 * 1000L
private const val REGION_SETTING_PERIOD: Long = 60 * 1000L
private const val VIDEO_RECORD_PERIOD: Long = 60 * 1000L
private const val DOWNLOAD_HEARTBEAT_PERIOD: Long = 60 * 1000L
@ -54,9 +54,7 @@ object FixedRateJobHelper {
// 提交曝光数据
if (elapsedTime % EXPOSURE_PERIOD == 0L) {
runOnUiThread {
ExposureManager.commitSavedExposureEvents(true)
}
ExposureManager.commitSavedExposureEvents(true)
}
// 分片检测下载进度
@ -86,11 +84,6 @@ object FixedRateJobHelper {
VideoRecordUtils.commitVideoRecord()
}
// 获取启动广告 (第一次不需要获取)
if (elapsedTime % STARTUP_AD == 0L && mExecuteCount != 0) {
AdHelper.getSettingAdCache()
}
mExecuteCount++
}
}

View File

@ -1,6 +1,7 @@
package com.gh.common.chain
import android.content.Context
import com.gh.common.xapk.XapkInstaller
import com.gh.download.server.BrowserInstallHelper
import com.gh.gamecenter.core.utils.EmptyCallback
import com.gh.gamecenter.feature.entity.GameEntity
@ -8,14 +9,16 @@ import com.gh.gamecenter.feature.entity.GameEntity
class BrowserInstallHandler : ChainHandler() {
override fun handleRequest(context: Context, gameEntity: GameEntity) {
BrowserInstallHelper.showBrowserInstallHintDialog(context, gameEntity.isVGame(), object : EmptyCallback {
override fun onCallback() {
if (hasNext()) {
getNext()?.handleRequest(context, gameEntity)
} else {
processEndCallback?.invoke(null)
}
BrowserInstallHelper.showBrowserInstallHintDialog(
context,
gameEntity,
gameEntity.isVGame() || gameEntity.isSplitXApk()
) {
if (hasNext()) {
getNext()?.handleRequest(context, gameEntity)
} else {
processEndCallback?.invoke(null)
}
})
}
}
}

View File

@ -9,7 +9,7 @@ class CheckDownloadHandler : ChainHandler() {
override fun handleRequest(context: Context, gameEntity: GameEntity) {
val apk = gameEntity.getApk().safelyGetInRelease(0) ?: return
DialogUtils.checkDownload(context, apk.size) { isSubscribe: Boolean ->
DialogUtils.checkDownload(context, apk.size, gameEntity.id, gameEntity.name, gameEntity.categoryChinese) { isSubscribe: Boolean ->
if (hasNext()) {
getNext()?.handleRequest(context, gameEntity)
} else {

View File

@ -2,20 +2,22 @@ package com.gh.common.chain
import android.content.Context
import com.gh.gamecenter.common.utils.PermissionHelper
import com.gh.gamecenter.core.utils.EmptyCallback
import com.gh.gamecenter.feature.entity.GameEntity
class CheckStoragePermissionHandler : ChainHandler() {
override fun handleRequest(context: Context, gameEntity: GameEntity) {
PermissionHelper.checkStoragePermissionBeforeAction(context, object : EmptyCallback {
override fun onCallback() {
if (hasNext()) {
getNext()?.handleRequest(context, gameEntity)
} else {
processEndCallback?.invoke(null)
}
PermissionHelper.checkStoragePermissionBeforeAction(
context,
gameEntity.id,
gameEntity.name ?: "",
gameEntity.categoryChinese
) {
if (hasNext()) {
getNext()?.handleRequest(context, gameEntity)
} else {
processEndCallback?.invoke(null)
}
})
}
}
}

View File

@ -0,0 +1,23 @@
package com.gh.common.chain
import android.content.Context
import com.gh.common.util.DialogUtils
import com.gh.common.util.DirectUtils
import com.gh.gamecenter.feature.entity.GameEntity
class LandPageAddressHandler : ChainHandler() {
override fun handleRequest(context: Context, gameEntity: GameEntity) {
if (gameEntity.isLandPageAddressDialog()) {
DialogUtils.showLandPageAddressDialog(context, gameEntity) {// 跳转第三方落地页
DirectUtils.directToExternalBrowser(context, gameEntity.landPageAddressDialog!!.link!!)
}
} else {
if (hasNext()) {
getNext()?.handleRequest(context, gameEntity)
} else {
processEndCallback?.invoke(null)
}
}
}
}

View File

@ -7,7 +7,15 @@ import com.gh.gamecenter.feature.entity.GameEntity
class OverseaDownloadHandler : ChainHandler() {
override fun handleRequest(context: Context, gameEntity: GameEntity) {
DialogUtils.showOverseaDownloadDialog(context, gameEntity) {
if (gameEntity.isOverseaAddressDialog()) {
DialogUtils.showOverseaDownloadDialog(context, gameEntity) {// 跳转海外下载地址弹窗
if (hasNext()) {
getNext()?.handleRequest(context, gameEntity)
} else {
processEndCallback?.invoke(null)
}
}
} else {
if (hasNext()) {
getNext()?.handleRequest(context, gameEntity)
} else {

View File

@ -0,0 +1,27 @@
package com.gh.common.chain
import android.content.Context
import com.gh.gamecenter.common.utils.DialogHelper
import com.gh.gamecenter.feature.entity.GameEntity
class UnsupportedFeatureHandler : ChainHandler() {
override fun handleRequest(
context: Context, gameEntity: GameEntity
) {
if (shouldShowUnsupportedFeatureDialog()) {
DialogHelper.showUnsupportedFeatureDialog(context)
} else {
if (hasNext()) {
getNext()?.handleRequest(context, gameEntity)
} else {
processEndCallback?.invoke(null)
}
}
}
/**
* TODO 检查某个版本是否支持指定的功能
*/
private fun shouldShowUnsupportedFeatureDialog(): Boolean = false
}

View File

@ -10,7 +10,7 @@ class UpdateNewSimulatorHandler: ChainHandler() {
override fun handleRequest(context: Context, gameEntity: GameEntity) {
if (SimulatorGameManager.isSimulatorGame(gameEntity)) {
if (NewSimulatorGameManager.shouldShowUpdateNewSimulatorAlert(context)) {
NewSimulatorGameManager.showUpdateNewsSimulator(context) {
NewSimulatorGameManager.showUpdateNewsSimulator(context, gameEntity) {
if (hasNext()) {
getNext()?.handleRequest(context, gameEntity)
} else {

View File

@ -3,6 +3,7 @@ package com.gh.common.chain
import android.content.Context
import com.gh.gamecenter.R
import com.gh.gamecenter.common.utils.DialogHelper
import com.gh.gamecenter.common.utils.SensorsBridge
import com.gh.gamecenter.common.utils.toResString
import com.gh.gamecenter.feature.entity.GameEntity
@ -19,13 +20,42 @@ class VersionNumberHandler : ChainHandler() {
if (!gameEntity.isShowVersionNumber()) {
confirmCallback.invoke()
} else {
SensorsBridge.trackGameDemoDialogShow(
gameId = gameEntity.id,
gameName = gameEntity.name ?: "",
gameType = gameEntity.categoryChinese
)
DialogHelper.showGuideDialog(
context,
"温馨提示",
gameEntity.getVersionNumberString(),
"继续下载",
R.string.cancel.toResString(),
{ confirmCallback.invoke() },
{
confirmCallback.invoke()
SensorsBridge.trackGameDemoDialogClick(
buttonName = "继续下载",
gameId = gameEntity.id,
gameName = gameEntity.name ?: "",
gameType = gameEntity.categoryChinese
)
},
cancelClickCallback = {
SensorsBridge.trackGameDemoDialogClick(
buttonName = R.string.cancel.toResString(),
gameId = gameEntity.id,
gameName = gameEntity.name ?: "",
gameType = gameEntity.categoryChinese
)
},
touchOutsideCallback = {
SensorsBridge.trackGameDemoDialogClick(
buttonName = "关闭弹窗",
gameId = gameEntity.id,
gameName = gameEntity.name ?: "",
gameType = gameEntity.categoryChinese
)
},
extraConfig = DialogHelper.Config(titleIcon = R.drawable.ic_dialog_tips)
)
}

View File

@ -122,17 +122,6 @@ public class Config {
return false;
}
/**
* 是否启用畅玩游戏
*/
public static boolean isVGameEnabled() {
if (getSettings() == null) {
return false;
}
return !"off".equals(getSettings().getGameSmooth());
}
/**
* VPN 开关选项是否开启
*/
@ -216,9 +205,6 @@ public class Config {
// 加载完设置后刷新下
PackageHelper.initList();
// 初始化畅玩相关的东西
VHelper.init(HaloApp.getInstance());
}
@Nullable
@ -229,6 +215,8 @@ public class Config {
if (!TextUtils.isEmpty(json)) {
mSettingsEntity = GsonUtils.fromJson(json, SettingsEntity.class);
}
mSettingsEntity.setGameSmooth("off");
} catch (Exception e) {
e.printStackTrace();
}
@ -317,6 +305,26 @@ public class Config {
return mVSetting;
}
/**
* 请求网络数据,尝试刷新畅玩相关配置
*/
@SuppressLint("CheckResult")
public static void refreshVSettingEntity() {
RetrofitManager.getInstance()
.getVApi().getSettings(BuildConfig.VERSION_NAME, Build.VERSION.SDK_INT)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new BiResponse<VSetting>() {
@Override
public void onSuccess(VSetting data) {
mVSetting = data;
SPUtils.setString(Constants.SP_V_SETTINGS, GsonUtils.toJson(data));
VHelper.init(HaloApp.getInstance());
}
});
}
@Nullable
public static GameGuidePopupEntity getGameGuidePopupEntity() {
return mGameGuidePopupEntity;
@ -394,18 +402,7 @@ public class Config {
}
});
if (mVSetting == null) {
RetrofitManager.getInstance()
.getVApi().getSettings(BuildConfig.VERSION_NAME)
.subscribeOn(Schedulers.io())
.subscribe(new BiResponse<VSetting>() {
@Override
public void onSuccess(VSetting data) {
mVSetting = data;
SPUtils.setString(Constants.SP_V_SETTINGS, GsonUtils.toJson(data));
}
});
}
refreshVSettingEntity();
RetrofitManager.getInstance()
.getApi().getGameGuidePopup(Build.MANUFACTURER, Build.VERSION.RELEASE, Build.MODEL, channel, BuildConfig.VERSION_NAME)
@ -462,7 +459,6 @@ public class Config {
DarkModeUtils.INSTANCE.updateFollowSystemDarkModeToSp(true);
DarkModeUtils.INSTANCE.initDarkMode();
}
AdHelper.prefetchStartUpAd(mNewApiSettingsEntity);
SPUtils.setString(Constants.SP_NEW_API_SETTINGS, GsonUtils.toJson(data));
}
});

View File

@ -13,14 +13,14 @@ import android.widget.PopupWindow
import androidx.core.content.ContextCompat
import androidx.databinding.BindingAdapter
import androidx.recyclerview.widget.LinearLayoutManager
import com.gh.gamecenter.R
import com.gh.gamecenter.common.callback.OnViewClickListener
import com.gh.gamecenter.common.databinding.LayoutPopupContainerBinding
import com.gh.gamecenter.common.utils.dip2px
import com.gh.gamecenter.common.utils.toDrawable
import com.gh.gamecenter.common.view.BugFixedPopupWindow
import com.gh.gamecenter.R
import com.gh.gamecenter.databinding.KaifuAddItemBinding
import com.gh.gamecenter.databinding.LayoutAddKaifuPopupBinding
import com.gh.gamecenter.databinding.LayoutPopupContainerBinding
import com.gh.gamecenter.feature.entity.ServerCalendarEntity
import com.gh.gamecenter.servers.add.AddKaiFuPopupAdapter
import java.text.SimpleDateFormat

View File

@ -1,5 +1,6 @@
package com.gh.common.databind;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.Typeface;
@ -24,10 +25,13 @@ import com.gh.common.chain.CertificationHandler;
import com.gh.common.chain.ChainBuilder;
import com.gh.common.chain.ChainHandler;
import com.gh.common.chain.CheckDownloadHandler;
import com.gh.common.chain.CheckStoragePermissionHandler;
import com.gh.common.chain.DownloadDialogHelperHandler;
import com.gh.common.chain.GamePermissionHandler;
import com.gh.common.chain.LandPageAddressHandler;
import com.gh.common.chain.OverseaDownloadHandler;
import com.gh.common.chain.PackageCheckHandler;
import com.gh.common.chain.UnsupportedFeatureHandler;
import com.gh.common.chain.ValidateVSpaceHandler;
import com.gh.common.chain.VersionNumberHandler;
import com.gh.common.constant.Config;
@ -44,10 +48,12 @@ import com.gh.common.util.GameViewUtils;
import com.gh.common.util.LogUtils;
import com.gh.common.util.NewsUtils;
import com.gh.common.util.PackageInstaller;
import com.gh.common.util.PackageLauncher;
import com.gh.common.util.PackageUtils;
import com.gh.common.util.ReservationHelper;
import com.gh.download.DownloadManager;
import com.gh.download.dialog.DownloadDialog;
import com.gh.download.server.BrowserInstallHelper;
import com.gh.gamecenter.DownloadManagerActivity;
import com.gh.gamecenter.R;
import com.gh.gamecenter.WebActivity;
@ -58,10 +64,13 @@ import com.gh.gamecenter.common.eventbus.EBReuse;
import com.gh.gamecenter.common.utils.DarkModeUtils;
import com.gh.gamecenter.common.utils.ExtensionsKt;
import com.gh.gamecenter.common.utils.ImageUtils;
import com.gh.gamecenter.common.utils.NewFlatLogUtils;
import com.gh.gamecenter.common.utils.SensorsBridge;
import com.gh.gamecenter.common.view.DrawableView;
import com.gh.gamecenter.core.utils.DisplayUtils;
import com.gh.gamecenter.core.utils.MtaHelper;
import com.gh.gamecenter.core.utils.NumberUtils;
import com.gh.gamecenter.core.utils.ToastUtils;
import com.gh.gamecenter.databinding.KaifuDetailItemRowBinding;
import com.gh.gamecenter.feature.entity.ApkEntity;
import com.gh.gamecenter.feature.entity.CommunityVideoEntity;
@ -391,24 +400,27 @@ public class BindingAdapters {
boolean isInstalled = PackageUtils.isInstalledFromAllPackage(v.getContext(), gameEntity.getSimulator().getApk().getPackageName());
if (downloadEntity != null && SimulatorGameManager.isSimulatorGame(gameEntity) && !isInstalled) {
SimulatorDownloadManager.getInstance().showDownloadDialog(v.getContext(), gameEntity.getSimulator(),
SimulatorDownloadManager.SimulatorLocation.LAUNCH, gameEntity.getId(), gameEntity.getName(), null);
SimulatorDownloadManager.SimulatorLocation.LAUNCH, gameEntity.getId(), gameEntity.getName(), gameEntity.getCategoryChinese(), null);
return;
}
}
ChainBuilder builder = new ChainBuilder();
builder.addHandler(new ValidateVSpaceHandler());
builder.addHandler(new UnsupportedFeatureHandler());
builder.addHandler(new GamePermissionHandler());
builder.addHandler(new CheckStoragePermissionHandler());
builder.addHandler(new ValidateVSpaceHandler());
builder.addHandler(new BrowserInstallHandler());
builder.addHandler(new PackageCheckHandler());
builder.addHandler(new DownloadDialogHelperHandler());
builder.addHandler(new CertificationHandler());
builder.addHandler(new VersionNumberHandler());
builder.addHandler(new LandPageAddressHandler());
builder.addHandler(new OverseaDownloadHandler());
builder.addHandler(new CheckDownloadHandler());
builder.setProcessEndCallback(o -> {
download(progressBar, gameEntity, traceEvent, (boolean) o, entrance, location);
download(v.getContext(), progressBar, gameEntity, traceEvent, (boolean) o, entrance, location);
return null;
});
final ChainHandler chainHandler = builder.buildHandlerChain();
@ -417,6 +429,7 @@ public class BindingAdapters {
}
} else {
ChainBuilder builder = new ChainBuilder();
builder.addHandler(new UnsupportedFeatureHandler());
builder.addHandler(new GamePermissionHandler());
builder.addHandler(new CertificationHandler());
builder.addHandler(new VersionNumberHandler());
@ -445,7 +458,7 @@ public class BindingAdapters {
if (downloadEntity != null) {
File file = new File(downloadEntity.getPath());
if (!file.exists()) {
download(progressBar, gameEntity, traceEvent, false, entrance, location);
download(v.getContext(), progressBar, gameEntity, traceEvent, false, entrance, location);
return;
}
@ -455,11 +468,11 @@ public class BindingAdapters {
}
if (gameEntity.isVGame()) {
VHelper.installOrLaunch((AppCompatActivity) v.getContext(), gameEntity.getApk().get(0).getPackageName());
VHelper.installOrLaunch((AppCompatActivity) v.getContext(), gameEntity, null);
return;
}
PackageUtils.launchApplicationByPackageName(v.getContext(), gameEntity.getApk().get(0).getPackageName());
PackageLauncher.launchApp(v.getContext(), gameEntity, gameEntity.getApk().get(0).getPackageName());
} else {
DownloadDialog.showDownloadDialog(
v.getContext(),
@ -472,11 +485,23 @@ public class BindingAdapters {
case INSTALL_PLUGIN:
case INSTALL_NORMAL:
if (gameEntity.getApk().size() == 1) {
NewFlatLogUtils.INSTANCE.logGameInstall(
gameEntity.getId(),
gameEntity.getName() != null ? gameEntity.getName() : "",
"主动安装"
);
SensorsBridge.trackInstallGameClick(
gameEntity.getId(),
gameEntity.getName() != null ? gameEntity.getName() : "",
"主动安装"
);
DownloadEntity downloadEntity = DownloadManager.getInstance().getDownloadEntitySnapshot(gameEntity);
String packageName = gameEntity.getApk().get(0).getPackageName();
if (gameEntity.isVGame()) {
VHelper.installOrLaunch(v.getContext(), packageName);
VHelper.installOrLaunch(v.getContext(), gameEntity, null);
return;
}
@ -593,9 +618,11 @@ public class BindingAdapters {
case pause:
case timeout:
case neterror:
case diskisfull:
case diskioerror:
case waiting:
progressBar.setText(R.string.downloading);
if (downloadEntity.isPluggable() && PackagesManager.INSTANCE.isInstalled(downloadEntity.getPackageName())) {
if (downloadEntity.isPluggable() && PackagesManager.isInstalled(downloadEntity.getPackageName())) {
progressBar.setButtonStyle(DownloadButton.ButtonStyle.DOWNLOADING_PLUGIN);
} else {
progressBar.setButtonStyle(DownloadButton.ButtonStyle.DOWNLOADING_NORMAL);
@ -604,7 +631,7 @@ public class BindingAdapters {
case done:
progressBar.setText(R.string.install);
if (downloadEntity.isPluggable()
&& PackagesManager.INSTANCE.isInstalled(downloadEntity.getPackageName())) {
&& PackagesManager.isInstalled(downloadEntity.getPackageName())) {
progressBar.setButtonStyle(DownloadButton.ButtonStyle.INSTALL_PLUGIN);
} else {
progressBar.setButtonStyle(DownloadButton.ButtonStyle.INSTALL_NORMAL);
@ -670,12 +697,16 @@ public class BindingAdapters {
// 开始下载
private static void download(DownloadButton progressBar,
private static void download(Context context,
DownloadButton progressBar,
GameEntity gameEntity,
ExposureEvent traceEvent,
boolean isSubscribe,
String entrance,
String location) {
if (BrowserInstallHelper.shouldAutoSwitchAssistantInstall(gameEntity)) {
ToastUtils.toast(context.getString(R.string.unsupported_browser_install_hint));
}
String str = progressBar.getText().toString();
String method;
if (str.contains("更新")) {

View File

@ -1,6 +1,7 @@
package com.gh.common.dialog
import android.app.Activity.RESULT_OK
import android.content.DialogInterface
import android.content.Intent
import android.os.Build
import android.os.Bundle
@ -13,17 +14,15 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.FragmentTransaction
import com.airbnb.lottie.LottieAnimationView
import com.gh.common.constant.Config
import com.gh.common.util.NewFlatLogUtils
import com.gh.common.xapk.XapkInstaller
import com.gh.gamecenter.R
import com.gh.gamecenter.common.base.fragment.BaseDialogFragment
import com.gh.gamecenter.common.constant.Constants
import com.gh.gamecenter.common.utils.PermissionHelper
import com.gh.gamecenter.common.utils.*
import com.gh.gamecenter.common.utils.PermissionHelper.INSTALL_PERMISSION_CODE
import com.gh.gamecenter.common.utils.getExtension
import com.gh.gamecenter.common.utils.goneIf
import com.gh.gamecenter.core.utils.SPUtils
import com.lightgame.download.DownloadEntity
import com.lightgame.utils.Utils
import kotlin.random.Random
class InstallPermissionDialogFragment : BaseDialogFragment() {
@ -31,8 +30,13 @@ class InstallPermissionDialogFragment : BaseDialogFragment() {
lateinit var mView: View
var isXapk = false
var url: String = ""
var gameId: String = ""
var gameName: String = ""
var gameType: String = ""
var mCallBack: ((isFromPermissionGrantedCallback: Boolean) -> Unit)? = null
private var dismissByTouchInside = false
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
mView = inflater.inflate(R.layout.dialog_install_permission, null, false)
return mView
@ -50,6 +54,14 @@ class InstallPermissionDialogFragment : BaseDialogFragment() {
switchLottie.setAnimation("lottie/install_permission_switch.json")
switchLottie.playAnimation()
if (isXapk) NewFlatLogUtils.logXApkInstallPermissionDialogShowed(gameId, gameName)
SensorsBridge.trackInstallPermissionDialogShow(
gameId = gameId,
gameName = gameName,
gameType = gameType
)
val randomNumber = if (isXapk) 1 else Random.nextInt(2)
closeTv.goneIf(randomNumber == 0)
closeIv.goneIf(randomNumber != 0)
@ -59,15 +71,38 @@ class InstallPermissionDialogFragment : BaseDialogFragment() {
}
closeTv.setOnClickListener {
dismissByTouchInside = true
if (isXapk) {
NewFlatLogUtils.logXApkInstallPermissionDialogClick("尝试解压", false, gameId, gameName)
mCallBack?.invoke(false)
}
SensorsBridge.trackInstallPermissionDialogClick(
buttonName = "尝试解压",
gameId = gameId,
gameName = gameName,
gameType = gameType
)
dismiss()
}
closeIv.setOnClickListener {
dismissByTouchInside = true
if (isXapk) NewFlatLogUtils.logXApkInstallPermissionDialogClick("关闭", false, gameId, gameName)
SensorsBridge.trackInstallPermissionDialogClick(
buttonName = "关闭",
gameId = gameId,
gameName = gameName,
gameType = gameType
)
dismiss()
}
activateTv.setOnClickListener {
NewFlatLogUtils.logXApkInstallPermissionDialogClick("立即开启", false, gameId, gameName)
SensorsBridge.trackInstallPermissionDialogClick(
buttonName = "立即开启",
gameId = gameId,
gameName = gameName,
gameType = gameType
)
PermissionHelper.toInstallPermissionSetting(requireActivity())
if (isXapk) {
SPUtils.setString(Constants.SP_XAPK_UNZIP_ACTIVITY, requireActivity().javaClass.name)
@ -76,9 +111,25 @@ class InstallPermissionDialogFragment : BaseDialogFragment() {
}
}
override fun onDismiss(dialog: DialogInterface) {
if (!dismissByTouchInside) {
SensorsBridge.trackInstallPermissionDialogClick(
buttonName = "关闭弹窗",
gameId = gameId,
gameName = gameName,
gameType = gameType
)
}
super.onDismiss(dialog)
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (resultCode == RESULT_OK && requestCode == INSTALL_PERMISSION_CODE) {
dismissByTouchInside = true
NewFlatLogUtils.logXApkInstallPermissionDialogClick("立即开启", true, gameId, gameName)
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.R) {
SPUtils.setString(Constants.SP_XAPK_UNZIP_ACTIVITY, "")
SPUtils.setString(Constants.SP_XAPK_URL, "")
@ -124,6 +175,9 @@ class InstallPermissionDialogFragment : BaseDialogFragment() {
installPermissionDialogFragment.mCallBack = callBack
installPermissionDialogFragment.isXapk = isXapk
installPermissionDialogFragment.url = downloadEntity.url
installPermissionDialogFragment.gameId = downloadEntity.gameId
installPermissionDialogFragment.gameName = downloadEntity.name
installPermissionDialogFragment.gameType = downloadEntity.categoryChinese
val transaction: FragmentTransaction = activity.supportFragmentManager.beginTransaction()
transaction.show(installPermissionDialogFragment)
transaction.commit()
@ -132,6 +186,9 @@ class InstallPermissionDialogFragment : BaseDialogFragment() {
this.mCallBack = callBack
this.isXapk = isXapk
this.url = downloadEntity.url
this.gameId = downloadEntity.gameId
this.gameName = downloadEntity.name
this.gameType = downloadEntity.categoryChinese
}
installPermissionDialogFragment.show(
activity.supportFragmentManager,

View File

@ -2,6 +2,7 @@ package com.gh.common.dialog
import android.animation.ValueAnimator
import android.content.Context
import android.content.DialogInterface
import android.content.pm.PackageInfo
import android.os.Bundle
import android.view.LayoutInflater
@ -11,6 +12,7 @@ import android.view.animation.LinearInterpolator
import android.widget.LinearLayout
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat
import androidx.core.view.isVisible
import androidx.fragment.app.FragmentTransaction
import androidx.lifecycle.Lifecycle
import androidx.recyclerview.widget.LinearLayoutManager
@ -61,6 +63,8 @@ class PackageCheckDialogFragment : BaseDialogFragment() {
var gameEntity: GameEntity? = null
var callBack: ConfirmListener? = null
private var mDismissByTouchInside = false
private val dataWatcher = object : DataWatcher() {
override fun onDataChanged(downloadEntity: DownloadEntity) {
val packageName = downloadEntity.packageName
@ -90,6 +94,11 @@ class PackageCheckDialogFragment : BaseDialogFragment() {
EventBus.getDefault().register(this)
gameEntity?.let {
LogUtils.uploadPackageCheck("pkg_check_pop_click", "出现弹窗", it, "", "", "", "")
SensorsBridge.trackPkgCheckDialogShow(
gameId = it.id,
gameName = it.name ?: "",
gameType = it.categoryChinese
)
}
}
@ -128,6 +137,18 @@ class PackageCheckDialogFragment : BaseDialogFragment() {
"",
""
)
SensorsBridge.trackPkgCheckDialogClick(
buttonName = "点击链接",
gameId = gameEntity?.id ?: "",
gameName = gameEntity?.name ?: "",
gameType = gameEntity?.categoryChinese ?: "",
isNotPrompt = if (binding.noRemindAgainCb.isVisible) {
binding.noRemindAgainCb.isChecked
} else null,
linkId = link.link ?: "",
linkType = link.type ?: "",
linkText = link.linkText ?: ""
)
DirectUtils.directToLinkPage(requireContext(), link, "包名检测弹窗", "")
}.build()
spanBuilder.append(linkSpan)
@ -176,6 +197,7 @@ class PackageCheckDialogFragment : BaseDialogFragment() {
}
val isAllPackageInstalled = isAllPackageInstalled(mAllInstalledPackages, entity)
if (isAllPackageInstalled) {
mDismissByTouchInside = true
callBack?.onConfirm()
dismissAllowingStateLoss()
} else {
@ -193,6 +215,15 @@ class PackageCheckDialogFragment : BaseDialogFragment() {
"",
""
)
SensorsBridge.trackPkgCheckDialogClick(
buttonName = "点击前往下载",
gameId = gameEntity?.id ?: "",
gameName = gameEntity?.name ?: "",
gameType = gameEntity?.categoryChinese ?: "",
isNotPrompt = if (binding.noRemindAgainCb.isVisible) {
binding.noRemindAgainCb.isChecked
} else null
)
DirectUtils.directToLinkPage(requireContext(), packageLink, "包名检测弹窗", "")
}
}
@ -206,6 +237,19 @@ class PackageCheckDialogFragment : BaseDialogFragment() {
saveRecord(entity)
LogUtils.uploadPackageCheck("pkg_check_pop_click", "不再提示", gameEntity, "", "", "", "")
}
mDismissByTouchInside = true
SensorsBridge.trackPkgCheckDialogClick(
buttonName = binding.cancelTv.text.toString(),
gameId = gameEntity?.id ?: "",
gameName = gameEntity?.name ?: "",
gameType = gameEntity?.categoryChinese ?: "",
isNotPrompt = if (binding.noRemindAgainCb.isVisible) {
binding.noRemindAgainCb.isChecked
} else null
)
dismissAllowingStateLoss()
}
}
@ -300,6 +344,21 @@ class PackageCheckDialogFragment : BaseDialogFragment() {
DownloadManager.getInstance().removeObserver(dataWatcher)
}
override fun onDismiss(dialog: DialogInterface) {
if (!mDismissByTouchInside) {
SensorsBridge.trackPkgCheckDialogClick(
buttonName = "关闭弹窗",
gameId = gameEntity?.id ?: "",
gameName = gameEntity?.name ?: "",
gameType = gameEntity?.categoryChinese ?: "",
isNotPrompt = if (binding.noRemindAgainCb.isVisible) {
binding.noRemindAgainCb.isChecked
} else null
)
}
super.onDismiss(dialog)
}
//安装、卸载事件
@Subscribe(threadMode = ThreadMode.MAIN)
fun onEventMainThread(busFour: EBPackage) {

View File

@ -4,6 +4,8 @@ import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.RecyclerView.LayoutManager
import androidx.recyclerview.widget.StaggeredGridLayoutManager
import com.gh.gamecenter.feature.exposure.ExposureEvent
import io.reactivex.functions.Consumer
@ -18,7 +20,7 @@ class ExposureListener(var fragment: Fragment, var exposable: IExposable) : Recy
Consumer(Throwable::printStackTrace)
)
}
var layoutManager: LinearLayoutManager? = null
var layoutManager: LayoutManager? = null
var visibleState: ExposureThrottleBus.VisibleState? = null
init {
@ -47,12 +49,28 @@ class ExposureListener(var fragment: Fragment, var exposable: IExposable) : Recy
override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
super.onScrolled(recyclerView, dx, dy)
if (layoutManager == null) layoutManager = recyclerView.layoutManager as LinearLayoutManager
layoutManager = recyclerView.layoutManager
layoutManager?.run {
visibleState =
ExposureThrottleBus.VisibleState(findFirstVisibleItemPosition(), findLastVisibleItemPosition())
throttleBus.postVisibleState(visibleState!!)
if (layoutManager != null) {
if (layoutManager is LinearLayoutManager) {
(layoutManager as LinearLayoutManager).run {
visibleState =
ExposureThrottleBus.VisibleState(findFirstVisibleItemPosition(), findLastVisibleItemPosition())
throttleBus.postVisibleState(visibleState!!)
}
} else if (layoutManager is StaggeredGridLayoutManager) {
(recyclerView.layoutManager as StaggeredGridLayoutManager).run {
val firstVisibleItemArray = IntArray(2)
val lastVisibleItemArray = IntArray(2)
findFirstVisibleItemPositions(firstVisibleItemArray)
findLastVisibleItemPositions(lastVisibleItemArray)
visibleState =
ExposureThrottleBus.VisibleState(firstVisibleItemArray.first(), lastVisibleItemArray.first())
throttleBus.postVisibleState(visibleState!!)
}
}
}
}

View File

@ -5,6 +5,7 @@ import com.gh.gamecenter.BuildConfig
import com.gh.gamecenter.common.loghub.LoghubHelper
import com.gh.gamecenter.common.utils.FixedSizeLinkedHashSet
import com.gh.gamecenter.common.utils.toJson
import com.gh.gamecenter.core.AppExecutor
import com.gh.gamecenter.feature.exposure.ExposureEvent
import com.lightgame.utils.Utils
@ -30,19 +31,7 @@ object ExposureManager {
* Log a single exposure event.
*/
fun log(event: ExposureEvent) {
if (!exposureCache.contains(event.id)) {
exposureSet.add(event)
exposureCache.add(event.id)
} else {
Utils.log("Exposure", "遇到重复曝光事件,自动过滤 ${event.id} - ${event.payload.gameName}")
}
}
/**
* Log a collection of exposure event.
*/
fun log(eventList: List<ExposureEvent>) {
for (event in eventList) {
AppExecutor.logExecutor.execute {
if (!exposureCache.contains(event.id)) {
exposureSet.add(event)
exposureCache.add(event.id)
@ -50,29 +39,47 @@ object ExposureManager {
Utils.log("Exposure", "遇到重复曝光事件,自动过滤 ${event.id} - ${event.payload.gameName}")
}
}
commitSavedExposureEvents()
}
/**
* Log a collection of exposure event.
*/
fun log(eventList: List<ExposureEvent>) {
AppExecutor.logExecutor.execute {
for (event in eventList) {
if (event != null && !exposureCache.contains(event.id)) {
exposureSet.add(event)
exposureCache.add(event.id)
} else {
Utils.log("Exposure", "遇到重复曝光事件,自动过滤 ${event.id} - ${event.payload.gameName}")
}
}
commitSavedExposureEvents()
}
}
/**
* @param forcedUpload Ignore all restrictions.
*/
fun commitSavedExposureEvents(forcedUpload: Boolean = false) {
if (exposureSet.size < STORE_SIZE && !forcedUpload || exposureSet.size == 0) return
AppExecutor.logExecutor.execute {
if (exposureSet.size < STORE_SIZE && !forcedUpload || exposureSet.size == 0) return@execute
uploadExposures(exposureSet.toList(), forcedUpload)
uploadExposures(exposureSet, forcedUpload)
Utils.log("Exposure", "提交了${exposureSet.size}条曝光记录")
exposureSet.clear()
Utils.log("Exposure", "提交了${exposureSet.size}条曝光记录")
exposureSet.clear()
}
}
private fun eliminateMultipleBrackets(jsonWithMultipleBracket: String): String {
return jsonWithMultipleBracket.replace("[[", "[").replace("]]", "]")
}
private fun uploadExposures(eventList: List<ExposureEvent>, forced: Boolean) {
eventList.forEach {
private fun uploadExposures(eventSet: HashSet<ExposureEvent>, forced: Boolean) {
eventSet.forEach {
LoghubHelper.uploadLog(buildLog(it), LOG_STORE, forced)
it.recycle()
// it.recycle()
}
}

View File

@ -3,6 +3,7 @@ package com.gh.common.exposure
import android.text.TextUtils
import com.g00fy2.versioncompare.Version
import com.gh.common.util.PackageUtils
import com.gh.common.util.RealNameHelper
import com.gh.gamecenter.common.utils.FixedSizeLinkedHashSet
import com.gh.gamecenter.common.utils.toObject
import com.gh.gamecenter.feature.entity.ApkEntity
@ -30,6 +31,9 @@ object ExposureUtils {
} else {
entity.id
}
traceEvent ?: gameEntity.exposureEvent
gameEntity.gameVersion = entity.getApk().elementAtOrNull(0)?.version
?: gameEntity.gameVersion
gameEntity.platform = platform
@ -39,9 +43,12 @@ object ExposureUtils {
source = traceEvent?.source ?: ArrayList(),
eTrace = ExposureTraceUtils.appendTrace(traceEvent),
event = ExposureType.DOWNLOAD
)
).apply {
this.payload.certification = RealNameHelper.getCertificationStatus()
}
if (!TextUtils.isEmpty(entity.id)) {
ExposureManager.log(exposureEvent)
ExposureManager.commitSavedExposureEvents(forcedUpload = true)
}
return exposureEvent
}
@ -55,17 +62,17 @@ object ExposureUtils {
host: String? = "unknown",
path: String? = "unknown",
downloadType: DownloadType
) {
): ExposureEvent? {
val gameEntity = entity.copy()
gameEntity.platform = platform
gameEntity.downloadCompleteType = downloadType.toString()
val traceEvent = trace?.toObject<ExposureEvent>()
if (TextUtils.isEmpty(entity.id)) return
if (TextUtils.isEmpty(entity.id)) return null
// 避免生成 trace 相同的下载完成事件,根据日志看下载完成的同一秒有可能生成两条
if (mDownloadCompleteTraceEventIdSet.contains(traceEvent?.id)) {
return
return null
}
traceEvent?.payload?.gameId?.let { mDownloadCompleteTraceEventIdSet.add(it) }
@ -75,13 +82,17 @@ object ExposureUtils {
source = traceEvent?.source ?: ArrayList(),
eTrace = ExposureTraceUtils.appendTrace(traceEvent),
event = ExposureType.DOWNLOAD_COMPLETE
)
).apply {
this.payload.certification = RealNameHelper.getCertificationStatus()
}
exposureEvent.payload.host = host
exposureEvent.payload.path = path
exposureEvent.payload.speed = speed
ExposureManager.log(exposureEvent)
ExposureManager.commitSavedExposureEvents(forcedUpload = true)
return exposureEvent
}
@JvmStatic

View File

@ -8,6 +8,8 @@ import com.google.gson.annotations.SerializedName
class RegionSetting(
@SerializedName("game_mirror")
var mirrorGameIdSet: HashSet<String>,
@SerializedName("game_mirror2")
var mirrorGameIdSet2: HashSet<String>?,
@SerializedName("game_block")
var filterGameIdSet: HashSet<String>,
@SerializedName("channel_control")

View File

@ -23,7 +23,8 @@ object RegionSettingHelper {
private var mChannelControl: RegionSetting.ChannelControl? = null
private var mFilterGameIdSet: HashSet<String>? = hashSetOf()
private var mDisplayMirrorIfoGameIdSet: HashSet<String>? = hashSetOf()
private var mDisplayMirrorGameIdSet: HashSet<String>? = hashSetOf()
private var mDisplayMirrorGameIdSet2: HashSet<String>? = hashSetOf()
private var mGameH5DownloadList: List<RegionSetting.GameH5Download>? = listOf()
private var mGameSpecialDownloadInfoList: List<RegionSetting.GameSpecialDownloadInfo>? = listOf()
private var mIpInfo: IpInfo? = null
@ -33,7 +34,21 @@ object RegionSettingHelper {
@JvmStatic
fun shouldThisGameDisplayMirrorInfo(gameId: String): Boolean {
return mDisplayMirrorIfoGameIdSet?.contains(gameId) ?: false
return mDisplayMirrorGameIdSet?.contains(gameId) == true
|| mDisplayMirrorGameIdSet2?.contains(gameId) == true
}
/**
* 获取镜像数据的位置,是归属镜像 1 还是镜像 2
*/
fun getMirrorPosition(gameId: String): Int {
return if (mDisplayMirrorGameIdSet?.contains(gameId) == true) {
1
} else if (mDisplayMirrorGameIdSet2?.contains(gameId) == true) {
2
} else {
-1
}
}
@JvmStatic
@ -131,7 +146,8 @@ object RegionSettingHelper {
private fun updateSettingsInMemory(data: RegionSetting) {
mFilterGameIdSet = data.filterGameIdSet
mDisplayMirrorIfoGameIdSet = data.mirrorGameIdSet
mDisplayMirrorGameIdSet = data.mirrorGameIdSet
mDisplayMirrorGameIdSet2 = data.mirrorGameIdSet2
mChannelControl = data.channelControl
mGameH5DownloadList = data.gameH5DownloadList
mGameSpecialDownloadInfoList = data.gameSpecialDownloadInfoList

View File

@ -10,6 +10,7 @@ import com.gh.gamecenter.feature.entity.AnswerEntity
import com.gh.gamecenter.feature.entity.ArticleEntity
import com.gh.gamecenter.feature.entity.GameEntity
import com.gh.gamecenter.feature.entity.NewsEntity
import com.gh.gamecenter.feature.entity.User
import com.gh.gamecenter.qa.entity.AnswerDetailEntity
import com.gh.gamecenter.qa.entity.ArticleDetailEntity

View File

@ -0,0 +1,134 @@
package com.gh.common.prioritychain
import android.app.Activity
import android.view.Gravity
import android.view.LayoutInflater
import android.widget.FrameLayout
import com.gh.common.util.NewFlatLogUtils
import com.gh.gamecenter.GameDetailActivity
import com.gh.gamecenter.R
import com.gh.gamecenter.common.base.fragment.BaseFragment
import com.gh.gamecenter.common.constant.Constants
import com.gh.gamecenter.common.view.BugFixedPopupWindow
import com.gh.gamecenter.core.utils.DisplayUtils
import com.gh.gamecenter.core.utils.SPUtils
import com.gh.gamecenter.databinding.PopupAccelerateNotificationBinding
import com.gh.gamecenter.feature.entity.GameEntity
import com.gh.gamecenter.fragment.MainWrapperViewModel
class AccelerateNotificationHandler(priority: Int) : PriorityChainHandler(priority) {
private var mActivity: Activity? = null
private var mBaseHandler: BaseFragment.BaseHandler? = null
private var mGameList: List<GameEntity>? = null
private var mViewModel: MainWrapperViewModel? = null
/**
* 提前预处理显示弹窗的内容
*/
fun doPreProcess(
activity: Activity,
baseHandler: BaseFragment.BaseHandler,
gameEntityList: List<GameEntity>?,
viewModel: MainWrapperViewModel
) {
mActivity = activity
mGameList = gameEntityList
mBaseHandler = baseHandler
mViewModel = viewModel
if (getStatus() == STATUS_PENDING) {
if (gameEntityList == null) {
processNext()
} else {
onProcess()
}
} else {
if (gameEntityList == null) {
updateStatus(STATUS_INVALID)
} else {
updateStatus(STATUS_VALID)
}
}
}
override fun onProcess() {
when (getStatus()) {
STATUS_VALID -> {
val accelerateSet =
HashSet(SPUtils.getStringSet(Constants.SP_ACCELERATE_NOTIFICATION_POP_UP_SET))
if (!mGameList.isNullOrEmpty() && !accelerateSet.contains(mGameList!![0].messageId)) {
showAccelerateNotificationPopupWindow(mActivity!!, mViewModel, mBaseHandler, mGameList!![0]) {
processNext()
}
accelerateSet.add(mGameList!![0].messageId)
SPUtils.setStringSet(Constants.SP_ACCELERATE_NOTIFICATION_POP_UP_SET, accelerateSet)
} else {
processNext()
}
}
STATUS_INVALID -> {
processNext()
}
}
}
companion object {
fun showAccelerateNotificationPopupWindow(
activity: Activity,
viewModel: MainWrapperViewModel?,
baseHandler: BaseFragment.BaseHandler?,
gameEntity: GameEntity?,
dismissCallback: (() -> Unit)?
) {
val binding: PopupAccelerateNotificationBinding =
PopupAccelerateNotificationBinding.inflate(LayoutInflater.from(activity))
if (gameEntity != null) {
binding.gameIconView.displayGameIcon(gameEntity)
binding.gameNameTv.text = gameEntity.name
binding.root.setOnClickListener {
NewFlatLogUtils.logMessageInformClickPluginVersion(
gameEntity.id,
gameEntity.name!!
)
if (gameEntity.messageId.isNotEmpty()) {
// 把对应系统消息设为已读
viewModel?.postMessageRead(gameEntity.messageId)
}
GameDetailActivity.startGameDetailActivity(
context = activity,
gameId = gameEntity.id,
entrance = "首页插件上架弹窗",
defaultTab = -1,
isSkipGameComment = false,
scrollToLibao = false,
openVideoStreaming = false,
openPlatformWindow = true,
traceEvent = null
)
}
}
BugFixedPopupWindow(
binding.root,
FrameLayout.LayoutParams.MATCH_PARENT,
FrameLayout.LayoutParams.WRAP_CONTENT
).apply {
isTouchable = true
isFocusable = true
isOutsideTouchable = true
animationStyle = R.style.popup_window_ease_in_and_out_anim_style
showAtLocation(
activity.window.decorView,
Gravity.TOP,
0,
DisplayUtils.getStatusBarHeight(activity.resources) + DisplayUtils.dip2px(42f)
)
setOnDismissListener {
dismissCallback?.invoke()
}
baseHandler?.postDelayed({ dismiss() }, 5000)
}
}
}
}

View File

@ -0,0 +1,86 @@
package com.gh.common.prioritychain
import androidx.recyclerview.widget.RecyclerView
import com.alibaba.android.arouter.launcher.ARouter
import com.gh.gamecenter.common.base.fragment.BaseLazyFragment
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IFloatingWindowProvider
import com.gh.gamecenter.feature.entity.WelcomeDialogEntity
import com.gh.gamecenter.floatingwindow.FloatingWindowEntity
import com.gh.gamecenter.fragment.WelcomeDialogFragment
import com.lightgame.utils.Utils
class FloatingWindowHandler(priority: Int) : PriorityChainHandler(priority) {
private var mFragment: BaseLazyFragment? = null
private var mRecyclerView: RecyclerView? = null
private var mWindowList: ArrayList<FloatingWindowEntity>? = null
fun setData(windowList: ArrayList<FloatingWindowEntity>?) {
mWindowList = windowList
if (mFragment != null) {
preProcess()
}
}
fun setView(
fragment: BaseLazyFragment,
recyclerView: RecyclerView
) {
mFragment = fragment
mRecyclerView = recyclerView
if (mWindowList != null) {
preProcess()
}
}
private fun preProcess() {
Utils.log(TAG, "FloatingWindowHandler preProcess windowSize is -> ${mWindowList?.size}")
if (getStatus() == STATUS_PENDING) {
if (!mWindowList.isNullOrEmpty()) {
onProcess()
} else {
processNext()
}
} else {
if (!mWindowList.isNullOrEmpty()) {
updateStatus(STATUS_VALID)
} else {
updateStatus(STATUS_INVALID)
}
}
}
override fun onProcess() {
when (getStatus()) {
STATUS_VALID -> {
val floatingWindowProvider =
ARouter.getInstance().build(RouteConsts.provider.floatingwindow)
.navigation() as? IFloatingWindowProvider<WelcomeDialogEntity>
// 强校验所有条件均通过才能显示
if (floatingWindowProvider == null || mFragment == null || mFragment?.isAdded == false || mRecyclerView == null) {
processNext()
return
}
floatingWindowProvider.showFloatingWindowOnly(
mFragment!!,
mRecyclerView!!,
mWindowList!!,
) {
val welcomeDialog = WelcomeDialogFragment.getInstance(it, true, mFragment)
welcomeDialog.show(mFragment!!.childFragmentManager, "WelcomeDialog")
}
}
STATUS_INVALID -> {
processNext()
}
}
}
}

View File

@ -0,0 +1,44 @@
package com.gh.common.prioritychain
import com.gh.gamecenter.fragment.HomeSearchToolWrapperFragment
class HomePushHandler(priority: Int): PriorityChainHandler(priority) {
private var mHomeFragment: HomeSearchToolWrapperFragment? = null
/**
* 提前预处理显示弹窗的内容
*/
fun doPreProcess(homeFragment: HomeSearchToolWrapperFragment?, shouldShow: Boolean) {
mHomeFragment = homeFragment
if (getStatus() == STATUS_PENDING) {
if (shouldShow && homeFragment != null) {
onProcess()
} else {
processNext()
}
} else {
if (shouldShow && homeFragment != null) {
updateStatus(STATUS_VALID)
} else {
updateStatus(STATUS_INVALID)
}
}
}
override fun onProcess() {
when (getStatus()) {
STATUS_VALID -> {
// 目前首页下拉二楼是首页最后一个弹窗类的东西,还没实现回调,如果有其它要在它后面弹出的,需要自行在它的实现结果后添加回调
mHomeFragment?.popUpHomePushIfNeeded {
processNext()
}
}
STATUS_INVALID -> {
processNext()
}
}
}
}

View File

@ -0,0 +1,20 @@
package com.gh.common.prioritychain
import com.gh.gamecenter.common.entity.NotificationUgc
import com.gh.gamecenter.common.utils.NotificationHelper
import com.gh.gamecenter.login.user.UserManager
class NotificationPermissionDialogHandler(priority: Int) : PriorityChainHandler(priority) {
override fun onProcess() {
// 仅登录后再启动光环时请求一次权限
if (UserManager.getInstance().isLoggedIn) {
NotificationHelper.showNotificationHintDialog(NotificationUgc.LOGIN) {
processNext()
}
} else {
processNext()
}
}
}

View File

@ -0,0 +1,22 @@
package com.gh.common.prioritychain
import java.util.*
import java.util.concurrent.PriorityBlockingQueue
class PriorityChain {
private val mHandlerQueue: Queue<PriorityChainHandler> = PriorityBlockingQueue()
fun addHandler(handler: PriorityChainHandler) {
mHandlerQueue.add(handler.also {
it.setPriorityChain(this)
})
}
fun start() {
mHandlerQueue.poll()?.process(mHandlerQueue)
}
fun isHandlerQueueEmpty() = mHandlerQueue.isEmpty()
}

View File

@ -0,0 +1,71 @@
package com.gh.common.prioritychain
import com.lightgame.utils.Utils
import java.util.*
abstract class PriorityChainHandler(private val mPriority: Int) : Comparable<PriorityChainHandler> {
private var mStatus = STATUS_UNKNOWN
private var mQueue: Queue<PriorityChainHandler>? = null
private var mPriorityChain: PriorityChain? = null
/**
* 获取当前 handler 的状态
* - 等待结果返回 STATUS_PENDING
* - 无需执行 STATUS_INVALID
* - 可执行 STATUS_VALID
* - 未知 STATUS_UNKNOWN
*/
fun getStatus(): Int = mStatus
fun updateStatus(status: Int) {
Utils.log(TAG, "${javaClass.simpleName} updateStatus $status")
mStatus = status
}
fun setPriorityChain(priorityChain: PriorityChain) {
mPriorityChain = priorityChain
}
fun process(queue: Queue<PriorityChainHandler>) {
Utils.log(TAG, "${javaClass.simpleName} process $mStatus")
mQueue = queue
// 若当前 handler 未经处理,将其状态改为 pending
if (mStatus == STATUS_UNKNOWN) {
updateStatus(STATUS_PENDING)
}
onProcess()
}
/**
* 执行相关功能的地方
*/
abstract fun onProcess()
/**
* 分发给下一个 handler 处理
*/
fun processNext() {
Utils.log(TAG, "${javaClass.simpleName} processNext $mStatus")
mQueue?.poll()?.process(mQueue!!)
}
override fun compareTo(other: PriorityChainHandler): Int {
return (mPriority - other.mPriority)
}
companion object {
internal const val STATUS_PENDING = 0
internal const val STATUS_INVALID = 1
internal const val STATUS_VALID = 2
internal const val STATUS_UNKNOWN = 3
const val TAG = "PriorityChainHandler"
}
}

View File

@ -0,0 +1,47 @@
package com.gh.common.prioritychain
import androidx.fragment.app.FragmentActivity
import com.gh.common.dialog.PrivacyPolicyDialogFragment
import com.gh.gamecenter.entity.DialogEntity
class PrivacyPolicyDialogHandler(priority: Int) : PriorityChainHandler(priority) {
private var mActivity: FragmentActivity? = null
private var mPrivacyPolicyEntity: DialogEntity.PrivacyPolicyEntity? = null
/**
* 提前预处理显示弹窗的内容
*/
fun doPreProcess(fragmentActivity: FragmentActivity, privacyPolicyEntity: DialogEntity.PrivacyPolicyEntity?) {
mActivity = fragmentActivity
mPrivacyPolicyEntity = privacyPolicyEntity
if (getStatus() == STATUS_PENDING) {
if (privacyPolicyEntity == null) {
processNext()
} else {
onProcess()
}
} else {
if (privacyPolicyEntity == null) {
updateStatus(STATUS_INVALID)
} else {
updateStatus(STATUS_VALID)
}
}
}
override fun onProcess() {
when(getStatus()) {
STATUS_VALID -> {
PrivacyPolicyDialogFragment.show(mActivity!!, mPrivacyPolicyEntity) { _: Boolean? ->
processNext()
}
}
STATUS_INVALID -> {
processNext()
}
}
}
}

View File

@ -0,0 +1,52 @@
package com.gh.common.prioritychain
import androidx.fragment.app.Fragment
import com.gh.common.dialog.ReserveDialog
import com.gh.gamecenter.common.entity.SimpleGameEntity
import com.gh.gamecenter.message.MessageUnreadRepository
class ReserveDialogHandler(priority: Int) : PriorityChainHandler(priority) {
private var mFragment: Fragment? = null
private var mReserveData: List<SimpleGameEntity>? = null
/**
* 提前预处理显示弹窗的内容
*/
fun doPreProcess(fragment: Fragment, reserveData: List<SimpleGameEntity>?) {
mFragment = fragment
mReserveData = reserveData
if (getStatus() == STATUS_PENDING) {
if (reserveData.isNullOrEmpty()) {
processNext()
} else {
onProcess()
}
} else {
if (reserveData.isNullOrEmpty()) {
updateStatus(STATUS_INVALID)
} else {
updateStatus(STATUS_VALID)
}
}
}
override fun onProcess() {
when (getStatus()) {
STATUS_VALID -> {
val reserveDialog = ReserveDialog.getInstance(mReserveData!!)
reserveDialog.setOnDismissListener {
MessageUnreadRepository.loadMessageUnreadData()
processNext()
}
reserveDialog.show(mFragment!!.childFragmentManager, "reserveDialog")
}
STATUS_INVALID -> {
processNext()
}
}
}
}

View File

@ -0,0 +1,17 @@
package com.gh.common.prioritychain
import android.content.Context
import com.gh.gamecenter.manager.UpdateManager
class UpdateDialogHandler(context: Context, priority: Int) : PriorityChainHandler(priority) {
private val mUpdateManager = UpdateManager.getInstance(context)
override fun onProcess() {
mUpdateManager.checkUpdate(true, null)
mUpdateManager.setDismissCallback {
processNext()
}
}
}

View File

@ -0,0 +1,79 @@
package com.gh.common.prioritychain
import android.graphics.Bitmap
import androidx.fragment.app.Fragment
import com.gh.gamecenter.common.callback.BiCallback
import com.gh.gamecenter.common.utils.ImageUtils
import com.gh.gamecenter.feature.entity.WelcomeDialogEntity
import com.gh.gamecenter.fragment.MainWrapperViewModel
import com.gh.gamecenter.fragment.WelcomeDialogFragment
import com.halo.assistant.HaloApp
class WelcomeDialogHandler(priority: Int): PriorityChainHandler(priority) {
private var mFragment: Fragment? = null
private var mWelcomeDialogEntity: WelcomeDialogEntity? = null
fun doPreProcess(fragment: Fragment, welcomeDialogEntity: WelcomeDialogEntity?) {
mFragment = fragment
mWelcomeDialogEntity = welcomeDialogEntity
val preLoadClosure = {
// 判断启动本次应用是否已经弹窗,不是的话弹启动弹窗
if (HaloApp.get(MainWrapperViewModel.SHOULD_SHOW_OPENING_DIALOG, false) == null) {
HaloApp.put(MainWrapperViewModel.SHOULD_SHOW_OPENING_DIALOG, false)
ImageUtils.getBitmap(mWelcomeDialogEntity!!.icon, object : BiCallback<Bitmap, Boolean> {
override fun onFirst(first: Bitmap) {
if (getStatus() == STATUS_PENDING) {
updateStatus(STATUS_VALID)
onProcess()
} else {
updateStatus(STATUS_VALID)
}
}
override fun onSecond(second: Boolean) {
processNext()
}
})
} else {
processNext()
}
}
if (getStatus() == STATUS_PENDING) {
if (welcomeDialogEntity == null) {
processNext()
} else {
preLoadClosure.invoke()
}
} else {
if (welcomeDialogEntity == null) {
updateStatus(STATUS_INVALID)
} else {
preLoadClosure.invoke()
}
}
}
override fun onProcess() {
when (getStatus()) {
STATUS_VALID -> {
if (mFragment == null || !mFragment!!.isAdded) {
updateStatus(STATUS_INVALID)
processNext()
} else {
val welcomeDialog = WelcomeDialogFragment.getInstance(mWelcomeDialogEntity)
welcomeDialog.setOnDismissListener {
processNext()
}
welcomeDialog.show(mFragment!!.childFragmentManager, "WelcomeDialog")
}
}
STATUS_INVALID -> {
processNext()
}
}
}
}

View File

@ -2,6 +2,7 @@ package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.gamecenter.BuildConfig
import com.gh.gamecenter.R
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IAppProvider
@ -18,6 +19,10 @@ class AppProviderImpl : IAppProvider {
return HaloApp.getInstance().getString(R.string.app_name)
}
override fun getAppVersion(): String {
return BuildConfig.VERSION_NAME
}
override fun getGid(): String {
return HaloApp.getInstance().gid ?: ""
}
@ -69,4 +74,12 @@ class AppProviderImpl : IAppProvider {
override fun getFlavorProvider(): IFlavorProvider {
return HaloApp.getInstance().flavorProvider
}
override fun getFlavor(): String {
return BuildConfig.FLAVOR
}
override fun getIsBrandNewInstall(): Boolean {
return HaloApp.getInstance().isBrandNewInstall
}
}

View File

@ -1,6 +1,7 @@
package com.gh.common.provider
import android.content.Context
import android.view.View
import android.widget.LinearLayout
import android.widget.TextView
import com.alibaba.android.arouter.facade.annotation.Route
@ -24,6 +25,14 @@ class BindingAdaptersProviderImpl : IBindingAdaptersProvider {
BindingAdapters.setGameTags(layout, gameEntity)
}
override fun setMessageUnread(view: TextView, unreadCount: Int) {
BindingAdapters.setMessageUnread(view, unreadCount)
}
override fun setGame(view: View, gameEntity: GameEntity) {
BindingAdapters.setGame(view, gameEntity)
}
override fun init(context: Context?) {
// Do nothing
}

View File

@ -0,0 +1,22 @@
package com.gh.common.provider
import android.content.Context
import android.content.Intent
import android.os.Parcelable
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.gamecenter.CommentDetailActivity
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.provider.ICommentDetailProvider
import com.gh.gamecenter.feature.entity.MessageEntity
@Route(path = RouteConsts.provider.commentDetail, name = "CommentDetailActivity暴露服务")
class CommentDetailProviderImpl : ICommentDetailProvider {
override fun getIntent(context: Context, commentId: String?, message: Parcelable): Intent {
return CommentDetailActivity.getIntent(context, commentId, message as MessageEntity.Article)
}
override fun init(context: Context?) {
// Do nothing
}
}

View File

@ -0,0 +1,18 @@
package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.ICommentManagerProvider
import com.gh.gamecenter.manager.CommentManager
@Route(path = RouteConsts.provider.commentManager, name = "CommentManager暴露服务")
class CommentManagerProviderImpl : ICommentManagerProvider {
override fun addUrl(ids: String) {
CommentManager.getInstance().addUrl(ids)
}
override fun init(context: Context?) {
// Do nothing
}
}

View File

@ -0,0 +1,23 @@
package com.gh.common.provider
import android.content.Context
import android.widget.TextView
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.util.CommentUtils
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.provider.ICommentUtilsProvider
@Route(path = RouteConsts.provider.commentUtils, name = "CommentUtils暴露服务")
class CommentUtilsProviderImpl : ICommentUtilsProvider {
override fun setCommentTime(textView: TextView, time: Long) {
CommentUtils.setCommentTime(textView, time)
}
override fun getCommentTime(timestamp: Long): String {
return CommentUtils.getCommentTime(timestamp)
}
override fun init(context: Context?) {
// Do nothing
}
}

View File

@ -0,0 +1,26 @@
package com.gh.common.provider
import android.content.Context
import android.widget.LinearLayout
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.util.ConcernContentUtils
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IConcernContentUtilsProvider
@Route(path = RouteConsts.provider.concernContentUtils, name = "ConcernContentUtils暴露服务")
class ConcernContentUtilsProviderImpl : IConcernContentUtilsProvider {
override fun addContentPic(
context: Context,
linearLayout: LinearLayout,
list: List<String>,
entrance: String,
width: Int
) {
ConcernContentUtils.addContentPic(context, linearLayout, list, entrance, width)
}
override fun init(context: Context?) {
// Do nothing
}
}

View File

@ -0,0 +1,20 @@
package com.gh.common.provider
import android.content.Context
import android.content.Intent
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.gamecenter.ConcernActivity
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IConcernProvider
@Route(path = RouteConsts.provider.concernActivity, name = "ConcernActivity暴露服务")
class ConcernProviderImpl : IConcernProvider {
override fun getIntent(context: Context, entrance: String): Intent {
return ConcernActivity.getIntent(context, entrance)
}
override fun init(context: Context?) {
// Do nothing
}
}

View File

@ -56,6 +56,22 @@ class ConfigProviderImpl : IConfigProvider {
return Config.getSettings()?.image?.oss?.gifWaterMark ?: ""
}
override fun getVideoSnapshotSuffix(): String {
return Config.getSettings()?.image?.oss?.snapshot ?: ""
}
override fun getImageCropSuffix(): String {
return Config.getSettings()?.image?.oss?.crop ?: ""
}
override fun getImageInfoSuffix(): String {
return Config.getSettings()?.image?.oss?.info ?: ""
}
override fun getImageResizeSuffix(): String {
return Config.getSettings()?.image?.oss?.resize ?: ""
}
override fun getQQ(): String {
return Config.getSettings()?.support?.qq ?: ""
}

View File

@ -0,0 +1,19 @@
package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.constant.Config
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.entity.SettingsEntity
import com.gh.gamecenter.feature.provider.IConfigSettingProvider
@Route(path = RouteConsts.provider.configSetting, name = "Config.getSettings暴露服务")
class ConfigSettingProviderImpl : IConfigSettingProvider {
override fun getSettings(): SettingsEntity? {
return Config.getSettings()
}
override fun init(context: Context?) {
// do nothing
}
}

View File

@ -0,0 +1,22 @@
package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.util.DataCollectionUtils
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.provider.IDataCollectionProvider
@Route(path = RouteConsts.provider.dataCollection, name = "DataCollectionUtils暴露服务")
class DataCollectionProviderImpl : IDataCollectionProvider {
override fun uploadClick(context: Context, vararg args: String) {
DataCollectionUtils.uploadClick(context, *args)
}
override fun uploadConcern(context: Context, vararg args: String) {
DataCollectionUtils.uploadConcern(context, *args)
}
override fun init(context: Context?) {
// Do nothing
}
}

View File

@ -15,7 +15,7 @@ class DefaultUrlHandlerProviderImpl : IDefaultUrlHandlerProvider {
entrance: String,
bringAppToFront: Boolean
): Boolean {
return DefaultUrlHandler.interceptUrl(context, url, entrance, bringAppToFront)
return DefaultUrlHandler.interceptUrl(context, url, null, entrance, bringAppToFront)
}
override fun init(context: Context?) {

View File

@ -1,6 +1,7 @@
package com.gh.common.provider
import android.content.Context
import android.os.Bundle
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.util.DirectUtils
import com.gh.gamecenter.common.constant.RouteConsts
@ -53,22 +54,72 @@ class DirectProviderImpl : IDirectProvider {
DirectUtils.directDouyin(context, userId)
}
override fun directToSuggestionFromDiagnosis(context: Context, diagnosis: String) {
DirectUtils.directToSuggestion(context, diagnosis = diagnosis)
override fun directToSuggestionFromDiagnosis(context: Context, content: String, diagnosis: String) {
DirectUtils.directToSuggestion(context, content = content, diagnosis = diagnosis)
}
override fun directToQa(context: Context, text: String?, id: String) {
DirectUtils.directToQa(context, text, id)
}
override fun directToHelpAndFeedback(context: Context, position: Int) {
DirectUtils.directToHelpAndFeedback(context, position)
override fun directToHelpAndFeedback(context: Context, bundle: Bundle?) {
DirectUtils.directToHelpAndFeedback(context, bundle)
}
override fun directToQqGroup(context: Context, groupNumber: String?): Boolean {
return DirectUtils.directToQqGroup(context, groupNumber)
}
override fun directToHomeActivity(context: Context, userId: String?, entrance: String?, path: String?) {
DirectUtils.directToHomeActivity(context, userId, entrance, path)
}
override fun directToAnswerDetail(context: Context, id: String, entrance: String?, path: String?) {
DirectUtils.directToAnswerDetail(context, id, entrance, path)
}
override fun directToCommunityArticle(
context: Context,
articleId: String?,
communityId: String?,
entrance: String?,
path: String?
) {
DirectUtils.directToCommunityArticle(context, articleId, communityId, entrance, path)
}
override fun directToVideoDetail(context: Context, videoId: String, entrance: String?, path: String?) {
DirectUtils.directToVideoDetail(context, videoId, entrance, path)
}
override fun directToAmway(context: Context, fixedTopAmwayCommentId: String?, entrance: String?, path: String?) {
DirectUtils.directToAmway(context, fixedTopAmwayCommentId, entrance, path)
}
override fun directToOrderCenter(context: Context) {
DirectUtils.directToOrderCenter(context)
}
override fun directToOrderDetail(context: Context, orderId: String) {
DirectUtils.directToOrderDetail(context, orderId)
}
override fun directToEnergyRecord(context: Context, position: Int) {
DirectUtils.directToEnergyRecord(context, position)
}
override fun directToMyPrizePage(context: Context) {
DirectUtils.directToMyPrizePage(context)
}
override fun directToWinOrderDetail(context: Context, orderId: String, activityId: String) {
DirectUtils.directToWinOrderDetail(context, orderId, activityId)
}
override fun directToQGame(context: Context) {
return DirectUtils.directToQGameHome(context)
}
override fun init(context: Context?) {
// Do nothing
}

View File

@ -0,0 +1,125 @@
package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.util.NewFlatLogUtils
import com.gh.gamecenter.common.base.GlobalActivityManager
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.common.exposure.ExposureSource
import com.gh.gamecenter.common.utils.*
import com.gh.gamecenter.entity.GameUpdateEntity
import com.gh.gamecenter.feature.entity.GameEntity
import com.gh.gamecenter.feature.exposure.ExposureEvent
import com.gh.gamecenter.feature.provider.IDownloadButtonClickedProvider
import com.gh.gamecenter.feature.view.DownloadButton
import com.gh.gamecenter.packagehelper.PackageRepository
import com.lightgame.download.DownloadEntity
import com.lightgame.utils.Utils
@Route(path = RouteConsts.provider.downloadButtonClickedHandler, name = "DownloadButton点击事件暴露服务")
class DownloadButtonClickedProviderImpl : IDownloadButtonClickedProvider {
override fun onClicked(downloadButton: DownloadButton) {
var gameId = ""
var gameName = ""
var gameCategory = ""
var gameTypeInChinese = ""
var downloadStatus = ""
var downloadStatusInChinese = ""
var gameSchemaType = ""
var packageName = ""
var exposureSourceList: List<ExposureSource>? = null
val boundedObject = downloadButton.getObject()
Utils.log("DownloadButtonClickedProviderImpl", "$downloadButton onClicked ${boundedObject?.javaClass}")
if (boundedObject != null) {
when (boundedObject) {
is GameEntity -> {
gameId = boundedObject.id
gameName = boundedObject.name ?: ""
gameCategory = boundedObject.category ?: ""
downloadStatus = if (boundedObject.isVGame()) {
"畅玩"
} else if (boundedObject.downloadStatus == "demo") {
"试玩"
} else {
"下载"
}
gameTypeInChinese = boundedObject.categoryChinese
downloadStatusInChinese = boundedObject.downloadStatusChinese
gameSchemaType = boundedObject.gameBitChinese
packageName = boundedObject.getUniquePackageName() ?: ""
exposureSourceList = boundedObject.exposureEvent?.source
}
is GameUpdateEntity -> {
gameId = boundedObject.id
gameName = boundedObject.name ?: ""
// 下载管理-更新页面,把下载状态都置为下载
downloadStatus = "下载"
gameTypeInChinese = boundedObject.categoryChinese
downloadStatusInChinese = boundedObject.downloadStatusChinese
packageName = boundedObject.packageName
exposureSourceList = boundedObject.exposureEvent?.source
}
is DownloadEntity -> {
gameId = boundedObject.gameId
gameName = boundedObject.name ?: ""
gameCategory = boundedObject.getGameCategory()
downloadStatus = if (boundedObject.isVGame()) "畅玩" else "下载"
packageName = boundedObject.packageName
exposureSourceList = boundedObject.exposureTrace?.toObject<ExposureEvent>()?.source
}
}
// 上报 UI 状态为启动的点击事件 (样式为启动,或者文案包含启动都算能启动)
if (downloadButton.buttonStyle == DownloadButton.ButtonStyle.LAUNCH_OR_OPEN
|| downloadButton.text.contains("启动")) {
// boundedObject 里找不到游戏类型时,尝试从已安装列表中获取
if (gameCategory.isEmpty() && packageName.isNotEmpty()) {
gameCategory = PackageRepository.gameInstalled.find { it.packageName == packageName }?.category ?: ""
}
NewFlatLogUtils.logGameLaunchButtonClicked(
gameId = gameId,
gameName = gameName,
location = downloadButton.getWidgetBusinessName(),
gameCategory = gameCategory,
downloadStatus = downloadStatus
)
}
// 预约状态不上报
if (downloadButton.buttonStyle != DownloadButton.ButtonStyle.RESERVABLE
&& downloadButton.buttonStyle != DownloadButton.ButtonStyle.RESERVED
) {
// 上报神策点击事件
SensorsBridge.trackEventWithExposureSource(
"DownLoadbuttonClick",
exposureSourceList,
"game_id", gameId,
"game_name", gameName,
"game_type", gameTypeInChinese,
"download_status", downloadStatusInChinese,
"button_name", downloadButton.text,
"game_schema_type", gameSchemaType,
"page_name", GlobalActivityManager.getCurrentPageEntity().pageName,
"page_id", GlobalActivityManager.getCurrentPageEntity().pageId,
"page_business_id", GlobalActivityManager.getCurrentPageEntity().pageBusinessId,
"last_page_name", GlobalActivityManager.getLastPageEntity().pageName,
"last_page_id", GlobalActivityManager.getLastPageEntity().pageId,
"last_page_business_id", GlobalActivityManager.getLastPageEntity().pageBusinessId,
)
}
}
}
override fun init(context: Context?) {
// do nothing
}
}

View File

@ -0,0 +1,20 @@
package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.exposure.ExposureManager
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.exposure.ExposureEvent
import com.gh.gamecenter.feature.provider.IExposureManagerProvider
@Route(path = RouteConsts.provider.exposureManager, name = "ExposureManager暴露服务")
class ExposureManagerProviderImpl: IExposureManagerProvider {
override fun logExposure(exposureEvent: ExposureEvent) {
ExposureManager.log(exposureEvent)
}
override fun init(context: Context?) {
// do nothing
}
}

View File

@ -1,19 +0,0 @@
package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.util.FloatingBackViewManager
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IFloatingBackViewManagerProvider
@Route(path = RouteConsts.provider.floatingBackViewManager, name = "FloatingViewBackManager暴露服务")
class FloatingBackViewManagerProviderImpl : IFloatingBackViewManagerProvider {
override fun enableBackViewForTaskType() {
FloatingBackViewManager.enableBackView(FloatingBackViewManager.TYPE_TASK)
}
override fun init(context: Context?) {
// Do nothing
}
}

View File

@ -0,0 +1,24 @@
package com.gh.common.provider
import android.content.Context
import android.content.Intent
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.provider.IGameCollectionDetailProvider
import com.gh.gamecenter.gamecollection.detail.GameCollectionDetailActivity
@Route(path = RouteConsts.provider.gameCollectionDetail, name = "GameCollectionDetailActivity暴露服务")
class GameCollectionDetailProviderImpl : IGameCollectionDetailProvider {
override fun getIntent(context: Context, gameCollectionId: String, isFromSquare: Boolean): Intent {
return GameCollectionDetailActivity.getIntent(context, gameCollectionId, isFromSquare)
}
override fun getSpecifiedCommentIntent(context: Context, gameCollectionId: String, topCommentId: String): Intent {
return GameCollectionDetailActivity.getSpecifiedCommentIntent(context, gameCollectionId, topCommentId)
}
override fun init(context: Context?) {
// Do nothing
}
}

View File

@ -10,6 +10,15 @@ import com.gh.gamecenter.feature.provider.IGameDetailProvider
@Route(path = RouteConsts.provider.gameDetail, name = "GameDetailActivity暴露服务")
class GameDetailProviderImpl : IGameDetailProvider {
override fun startGameDetailActivity(
context: Context,
gameEntity: GameEntity?,
entrance: String,
traceEvent: ExposureEvent?
) {
GameDetailActivity.startGameDetailActivity(context, gameEntity, entrance, traceEvent)
}
override fun startGameDetailActivity(
context: Context,
gameId: String,
@ -18,11 +27,12 @@ class GameDetailProviderImpl : IGameDetailProvider {
) {
GameDetailActivity.startGameDetailActivity(context, gameId, entrance, traceEvent)
}
override fun startGameDetailActivity(
context: Context,
gameEntity: GameEntity?,
entrance: String,
defaultTab: Int,
defaultTab: String,
isSkipGameComment: Boolean,
scrollToLibao: Boolean,
scrollToServer: Boolean,
@ -40,6 +50,30 @@ class GameDetailProviderImpl : IGameDetailProvider {
)
}
override fun startGameDetailActivity(
context: Context,
gameId: String,
entrance: String?,
defaultTab: Int,
isSkipGameComment: Boolean,
scrollToLibao: Boolean,
openVideoStreaming: Boolean,
openPlatformWindow: Boolean,
traceEvent: ExposureEvent?
) {
GameDetailActivity.startGameDetailActivity(
context,
gameId,
entrance,
defaultTab,
isSkipGameComment,
scrollToLibao,
openVideoStreaming,
openPlatformWindow,
traceEvent
)
}
override fun init(context: Context?) {
// Do nothing
}

View File

@ -0,0 +1,18 @@
package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.util.GameTrendsHelper
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IGameTrendsHelperProvider
@Route(path = RouteConsts.provider.gameTrendsHelper, name = "GameTrendsHelper暴露服务")
class GameTrendsHelperProviderImpl : IGameTrendsHelperProvider {
override fun updateReadPostTime() {
GameTrendsHelper.updateReadPostTime()
}
override fun init(context: Context?) {
// do nothing
}
}

View File

@ -0,0 +1,27 @@
package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.util.LibaoUtils
import com.gh.common.util.LibaoUtils.PostLibaoListener
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.ILibaoUtilsProvider
@Route(path = RouteConsts.provider.libaoUtils, name = "LibaoUtils暴露服务")
class LibaoUtilsProviderImpl : ILibaoUtilsProvider {
override fun getLibaoStatus(ids: String, successCallback: ((Any?) -> Unit)?, failureCallback: (() -> Unit)?) {
LibaoUtils.getLibaoStatus(ids, object : PostLibaoListener {
override fun postSucceed(response: Any?) {
successCallback?.invoke(response)
}
override fun postFailed(error: Throwable?) {
failureCallback?.invoke()
}
})
}
override fun init(context: Context?) {
// Do nothing
}
}

View File

@ -4,10 +4,11 @@ import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.util.DirectUtils
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.common.entity.CommunityEntity
import com.gh.gamecenter.common.entity.LinkEntity
import com.gh.gamecenter.common.entity.SimpleGameEntity
import com.gh.gamecenter.common.entity.SuggestType
import com.gh.gamecenter.common.provider.ILinkDirectUtilsProvider
import com.gh.gamecenter.feature.exposure.ExposureEvent
import com.gh.gamecenter.feature.provider.ILinkDirectUtilsProvider
@Route(path = RouteConsts.provider.linkDirectUtils, name = "DirectUtils暴露服务主要是暴露directToLinkPage方法")
class LinkDirectUtilsProviderImpl : ILinkDirectUtilsProvider {
@ -21,6 +22,16 @@ class LinkDirectUtilsProviderImpl : ILinkDirectUtilsProvider {
DirectUtils.directToLinkPage(context, linkEntity, entrance, path)
}
override fun directToLinkPage(
context: Context,
linkEntity: LinkEntity,
entrance: String,
path: String,
exposureEvent: ExposureEvent?
) {
DirectUtils.directToLinkPage(context, linkEntity, entrance, path, exposureEvent)
}
override fun directToSuggestion(context: Context, type: SuggestType, requestCode: Int?) {
DirectUtils.directToSuggestion(context, type, requestCode)
}
@ -36,21 +47,20 @@ class LinkDirectUtilsProviderImpl : ILinkDirectUtilsProvider {
DirectUtils.directToSuggestion(context, type, suggestHintType, content, isQaFeedback, qaContentId)
}
override fun directToSuggestion(
context: Context,
type: SuggestType,
suggestHintType: String?,
content: String?,
game: SimpleGameEntity,
platform: String
) {
DirectUtils.directToSuggestion(context, type, suggestHintType, content, game, platform)
}
override fun directToSuggestion(context: Context, type: SuggestType, hiddenHint: String) {
DirectUtils.directToSuggestion(context, type, hiddenHint)
}
override fun directToCommunityColumn(
context: Context,
community: CommunityEntity?,
subjectId: String,
entrance: String?,
path: String?
) {
DirectUtils.directToCommunityColumn(context, community, subjectId, entrance, path)
}
override fun init(context: Context?) {
// Do nothing
}

View File

@ -0,0 +1,31 @@
package com.gh.common.provider
import android.content.Context
import android.content.Intent
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.gamecenter.MessageDetailActivity
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.entity.ConcernEntity
import com.gh.gamecenter.feature.provider.IMessageDetailProvider
@Route(path = RouteConsts.provider.messageDetail, name = "MessageDetailActivity暴露服务")
class MessageDetailProviderImpl : IMessageDetailProvider {
override fun getIntentById(
context: Context,
newsId: String,
commentNum: Int,
openSoftInput: Boolean,
entrance: String
): Intent {
return MessageDetailActivity.getIntentById(context, newsId, commentNum, openSoftInput, entrance)
}
override fun getIntentByEntity(context: Context, concernEntity: ConcernEntity, entrance: String): Intent? {
return MessageDetailActivity.getIntentByEntity(context, concernEntity, entrance)
}
override fun init(context: Context?) {
// Do nothing
}
}

View File

@ -1,9 +1,13 @@
package com.gh.common.provider
import android.content.Context
import androidx.lifecycle.MediatorLiveData
import androidx.lifecycle.MutableLiveData
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IMessageUnreadRepositoryProvider
import com.gh.gamecenter.feature.entity.MessageUnreadCount
import com.gh.gamecenter.feature.entity.MessageUnreadEntity
import com.gh.gamecenter.feature.provider.IMessageUnreadRepositoryProvider
import com.gh.gamecenter.message.MessageUnreadRepository
@Route(path = RouteConsts.provider.messageUnreadRepository, name = "MessageUnreadRepository暴露服务")
@ -13,6 +17,22 @@ class MessageUnreadRepositoryProviderImpl : IMessageUnreadRepositoryProvider {
MessageUnreadRepository.loadMessageUnreadData()
}
override fun loadMessageUnreadTotal(isRecordData: Boolean) {
MessageUnreadRepository.loadMessageUnreadTotal(isRecordData)
}
override fun getUnreadLiveData(): MediatorLiveData<MessageUnreadEntity> {
return MessageUnreadRepository.unreadLiveData
}
override fun getZixunConcernLiveData(): MutableLiveData<Boolean> {
return MessageUnreadRepository.zixunConcern
}
override fun getMessageUnreadCountLiveData(): MutableLiveData<MessageUnreadCount?> {
return MessageUnreadRepository.messageUnreadCountLiveData
}
override fun init(context: Context?) {
// Do nothing
}

View File

@ -0,0 +1,83 @@
package com.gh.common.provider
import android.content.Context
import android.content.Intent
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.provider.INewCommentDetailProvider
import com.gh.gamecenter.qa.comment.NewCommentDetailActivity
@Route(path = RouteConsts.provider.newCommentDetail, name = "NewCommentDetailActivity暴露服务")
class NewCommentDetailProviderImpl : INewCommentDetailProvider {
override fun getAnswerCommentIntent(
context: Context,
commentId: String,
questionId: String,
topCommentId: String,
entrance: String,
path: String
): Intent {
return NewCommentDetailActivity.getAnswerCommentIntent(
context,
commentId,
questionId,
topCommentId,
entrance,
path
)
}
override fun getArticleCommentIntent(
context: Context,
commentId: String,
communityId: String,
articleId: String,
topCommentId: String,
entrance: String,
path: String
): Intent {
return NewCommentDetailActivity.getArticleCommentIntent(
context,
commentId,
communityId,
articleId,
topCommentId,
entrance,
path
)
}
override fun getVideoCommentIntent(
context: Context,
commentId: String,
videoId: String,
topCommentId: String,
entrance: String,
path: String
): Intent {
return NewCommentDetailActivity.getVideoCommentIntent(context, commentId, videoId, topCommentId, entrance, path)
}
override fun getGameCollectionCommentIntent(
context: Context,
commentId: String,
gameCollectionId: String,
topCommentId: String,
entrance: String,
path: String
): Intent {
return NewCommentDetailActivity.getGameCollectionCommentIntent(
context,
commentId,
gameCollectionId,
topCommentId,
entrance,
path
)
}
override fun init(context: Context?) {
// Do nothing
}
}

View File

@ -33,6 +33,18 @@ class PackageUtilsProviderImpl : IPackageUtilsProvider {
return PackageUtils.getSideLoadedInfo()
}
override fun isSignedByGh(context: Context, packageName: String): Boolean {
return PackageUtils.isSignedByGh(context, packageName)
}
override fun getInstalledTime(context: Context, packageName: String): Long {
return PackageUtils.getInstalledTime(context, packageName)
}
override fun getVersionNameByPackageName(packageName: String): String {
return PackageUtils.getVersionNameByPackageName(packageName) ?: ""
}
override fun init(context: Context?) {
// Do nothing
}

View File

@ -3,7 +3,8 @@ package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IPackagesManagerProvider
import com.gh.gamecenter.feature.entity.GameInstall
import com.gh.gamecenter.feature.provider.IPackagesManagerProvider
import com.gh.gamecenter.manager.PackagesManager
@Route(path = RouteConsts.provider.packagesManager, name = "PackagesManager暴露服务")
@ -12,6 +13,10 @@ class PackagesManagerProviderImpl: IPackagesManagerProvider {
return PackagesManager.isCanPluggable(gameId, packageName)
}
override fun getFilterSameApkInstalledList(): ArrayList<GameInstall> {
return PackagesManager.getFilterSameApkInstalledList()
}
override fun init(context: Context?) {
// Do nothing
}

View File

@ -14,6 +14,10 @@ class RegionSettingHelperProviderImpl : IRegionSettingHelperProvider {
return RegionSettingHelper.shouldThisGameDisplayMirrorInfo(gameId)
}
override fun getMirrorPosition(gameId: String): Int {
return RegionSettingHelper.getMirrorPosition(gameId)
}
override fun shouldThisGameShowSpecialDownload(gameId: String): Boolean {
return RegionSettingHelper.shouldThisGameShowSpecialDownload(gameId)
}
@ -26,6 +30,10 @@ class RegionSettingHelperProviderImpl : IRegionSettingHelperProvider {
return RegionSettingHelper.getIpInfo()
}
override fun shouldThisGameBeFiltered(gameId: String?): Boolean {
return RegionSettingHelper.shouldThisGameBeFiltered(gameId)
}
override fun init(context: Context?) {
// Do nothing
}

View File

@ -0,0 +1,19 @@
package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.gamecenter.ShareCardPicActivity
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.entity.ConcernEntity
import com.gh.gamecenter.feature.provider.IShareCardPicProvider
@Route(path = RouteConsts.provider.shareCardPicActivity, name = "ShareCardPicActivity暴露服务")
class ShareCardPicProviderImpl : IShareCardPicProvider {
override fun startShareCardPicActivity(context: Context, concernEntity: ConcernEntity, entrance: String) {
ShareCardPicActivity.startShareCardPicActivity(context, concernEntity, entrance)
}
override fun init(context: Context?) {
// do nothing
}
}

View File

@ -0,0 +1,20 @@
package com.gh.common.provider
import android.content.Context
import android.content.Intent
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.gamecenter.ShareCardActivity
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.entity.ConcernEntity
import com.gh.gamecenter.feature.provider.IShareCardProvider
@Route(path = RouteConsts.provider.shareCardActivity, name = "ShareCardActivity暴露服务")
class ShareCardProviderImpl : IShareCardProvider {
override fun getIntent(context: Context, concernEntity: ConcernEntity, shareContent: String): Intent {
return ShareCardActivity.getIntent(context, concernEntity, shareContent)
}
override fun init(context: Context?) {
// do nothing
}
}

View File

@ -0,0 +1,20 @@
package com.gh.common.provider
import android.content.Context
import android.content.Intent
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.provider.ISimpleAnswerDetailProvider
import com.gh.gamecenter.qa.answer.detail.SimpleAnswerDetailActivity
@Route(path = RouteConsts.provider.simpleAnswerDetail, name = "SimpleAnswerDetailActivity暴露服务")
class SimpleAnswerDetailProviderImpl : ISimpleAnswerDetailProvider {
override fun getIntent(context: Context, answerId: String, entrance: String, path: String): Intent {
return SimpleAnswerDetailActivity.getIntent(context, answerId, entrance, path)
}
override fun init(context: Context?) {
// Do nothing
}
}

View File

@ -0,0 +1,24 @@
package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.provider.ISubjectProvider
import com.gh.gamecenter.subject.SubjectActivity
@Route(path = RouteConsts.provider.subject, name = "SubjectActivity暴露服务")
class SubjectProviderImpl : ISubjectProvider {
override fun startSubjectActivity(
context: Context,
id: String?,
name: String?,
isOrder: Boolean,
entrance: String?
) {
SubjectActivity.startSubjectActivity(context, id, name, isOrder, null, entrance)
}
override fun init(context: Context?) {
// Do nothing
}
}

View File

@ -9,7 +9,7 @@ import com.gh.gamecenter.manager.UpdateManager
@Route(path = RouteConsts.provider.updateManager, name = "UpdateManager暴露服务")
class UpdateManagerProviderImpl: IUpdateManagerProvider {
override fun checkUpdate(context: Context, isAutoCheck: Boolean, handler: Handler) {
override fun checkUpdate(context: Context, isAutoCheck: Boolean, handler: Handler?) {
UpdateManager.getInstance(context).checkUpdate(isAutoCheck, handler)
}

View File

@ -0,0 +1,22 @@
package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IVisitManagerProvider
import com.gh.gamecenter.manager.VisitManager
@Route(path = RouteConsts.provider.visitManager, name = "VisitManager暴露服务")
class VisitManagerProviderImpl : IVisitManagerProvider {
override fun updateOkhttpCache(context: Context, newsId: String) {
VisitManager.updateOkhttpCache(context, newsId)
}
override fun addUrl(ids: String) {
VisitManager.getInstance().addUrl(ids)
}
override fun init(context: Context?) {
// Do nothing
}
}

View File

@ -35,6 +35,16 @@ class WebProviderImpl : IWebProvider {
return WebActivity.getQAIntent(context, url, title, isWebPageHandleBackPressed, qaType)
}
override fun getIntentByNews(
context: Context?,
concernLink: String?,
concernGameName: String,
concernId: String?,
entrance: String?
): Intent {
return WebActivity.getIntentByNews(context, concernLink, concernGameName, concernId, entrance)
}
override fun init(context: Context?) {
// Do nothing
}

View File

@ -41,7 +41,7 @@ object NewSimulatorGameManager {
private const val KEY_USE_DEBUG_API = "USE_DEBUG_API"
private const val KEY_META = "META"
// private const val GH_RETRO_EMU_APP_PACKAGE_NAME = "com.gh.retroemu"
// private const val GH_RETRO_EMU_APP_PACKAGE_NAME = "com.gh.retroemu"
private const val GH_RETRO_EMU_APP_LAUNCHER_ACTIVITY_NAME = "com.gh.retroemu.ui.SplashActivity"
@ -61,10 +61,10 @@ object NewSimulatorGameManager {
}
/**
* 弹出更新弹框
*/
* 弹出更新弹框
*/
@JvmStatic
fun showUpdateNewsSimulator(context: Context, callback: EmptyCallback? = null){
fun showUpdateNewsSimulator(context: Context, gameEntity: GameEntity, callback: EmptyCallback? = null) {
NewFlatLogUtils.logSimulatorUpdateAlertShow()
DialogHelper.showDialog(
context,
@ -76,7 +76,13 @@ object NewSimulatorGameManager {
NewFlatLogUtils.logSimulatorUpdateAlertClick("更新")
val simulator = Config.getNewSimulatorEntitySetting()
if (simulator != null) {
SimulatorDownloadManager.getInstance().showDownloadingDialog(context, simulator)
SimulatorDownloadManager.getInstance().showDownloadingDialog(
context,
simulator,
gameEntity.id,
gameEntity.name ?: "",
gameEntity.categoryChinese
)
}
},
cancelClickCallback = {
@ -127,7 +133,10 @@ object NewSimulatorGameManager {
)
val intent = Intent()
intent.setClassName(SimulatorGameManager.NEW_SIMULATOR_PACKAGE_NAME, GH_RETRO_EMU_APP_LAUNCHER_ACTIVITY_NAME)
intent.setClassName(
SimulatorGameManager.NEW_SIMULATOR_PACKAGE_NAME,
GH_RETRO_EMU_APP_LAUNCHER_ACTIVITY_NAME
)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
intent.data = gamePackageFileUri
gameEntity.getApk().safelyGetInRelease(0)?.let { apk ->
@ -138,7 +147,10 @@ object NewSimulatorGameManager {
intent.putExtra(KEY_GAME_ICON, it)
intent.putExtra(KEY_GAME_PACKAGE_PATH, downloadEntity.path) // 游戏包文件路径,冗余参数)
intent.putExtra(KEY_GAME_PACKAGE_SDCARD_PATH, true)
intent.putExtra(KEY_GAME_PACKAGE_LAST_MODIFICATION, File(downloadEntity.path).lastModified()) // 游戏包文件修改时间
intent.putExtra(
KEY_GAME_PACKAGE_LAST_MODIFICATION,
File(downloadEntity.path).lastModified()
) // 游戏包文件修改时间
intent.putExtra(KEY_GAME_EMU_SYSTEM, gameEntity.simulatorType) // 模拟器类型
intent.putExtra(KEY_GAME_ID, gameEntity.id)
// TODO 补充光环模拟器的游戏 id

View File

@ -14,6 +14,7 @@ import com.gh.common.util.PackageInstaller
import com.gh.common.util.PackageUtils
import com.gh.download.DownloadManager
import com.gh.gamecenter.R
import com.gh.gamecenter.common.base.GlobalActivityManager
import com.gh.gamecenter.common.base.TrackableDialog
import com.gh.gamecenter.common.constant.Constants
import com.gh.gamecenter.common.utils.*
@ -22,8 +23,12 @@ import com.gh.gamecenter.core.utils.*
import com.gh.gamecenter.feature.entity.ApkEntity
import com.gh.gamecenter.feature.entity.SimulatorEntity
import com.gh.gamecenter.entity.TrackableEntity
import com.gh.ndownload.NDataChanger
import com.halo.assistant.HaloApp
import com.lightgame.download.*
import com.lightgame.download.DataWatcher
import com.lightgame.download.DownloadEntity
import com.lightgame.download.DownloadStatus
import com.lightgame.download.FileUtils
import com.lightgame.utils.Utils
import java.lang.ref.WeakReference
import java.text.DecimalFormat
@ -43,6 +48,7 @@ class SimulatorDownloadManager private constructor() {
private var simulator: SimulatorEntity? = null
private var gameId: String = ""
private var gameName: String = ""
private var gameType: String = ""
private var downloadType: String = ""
private val dataWatcher = object : DataWatcher() {
@ -95,27 +101,43 @@ class SimulatorDownloadManager private constructor() {
downloadDialog?.dismiss()
}
}
DownloadStatus.diskisfull == downloadEntity.status -> {
ToastUtils.showToast("存储空间已满,下载任务已暂停")
}
DownloadStatus.diskioerror == downloadEntity.status -> {
ToastUtils.showToast("下载 IO 出现异常,下载任务已暂停")
}
DownloadStatus.neterror == downloadEntity.status -> {
ToastUtils.showToast("网络不稳定,下载任务已暂停")
}
DownloadStatus.timeout == downloadEntity.status -> {
ToastUtils.showToast("网络不稳定,下载任务已暂停")
}
DownloadStatus.notfound == downloadEntity.status -> {
ToastUtils.showToast("下载链接异常,请稍后重试")
}
DownloadStatus.uncertificated == downloadEntity.status -> {
ToastUtils.showToast("请先进行实名认证")
}
DownloadStatus.unqualified == downloadEntity.status -> {
ToastUtils.showToast("未成年人暂不允许在此时间下载游戏")
}
DownloadStatus.unavailable == downloadEntity.status -> {
ToastUtils.showToast("该游戏未接入防沉迷系统,暂不支持下载")
}
DownloadStatus.banned == downloadEntity.status -> {
ToastUtils.showToast("网络异常")
}
DownloadStatus.hijack == downloadEntity.status -> {
ToastUtils.showToast("网络劫持,请稍后重试")
}
@ -125,7 +147,7 @@ class SimulatorDownloadManager private constructor() {
}
fun showDownloadDialog(context: Context, simulator: SimulatorEntity?, location: SimulatorLocation) {
showDownloadDialog(context, simulator, location, "", "", null)
showDownloadDialog(context, simulator, location, "", "", "", null)
}
fun showDownloadDialog(
@ -134,6 +156,7 @@ class SimulatorDownloadManager private constructor() {
location: SimulatorLocation,
gameId: String = "",
gameName: String = "",
gameCategoryChinese: String = "",
cancelCallback: (() -> Unit)? = null
) {
if (context == null) return
@ -142,6 +165,7 @@ class SimulatorDownloadManager private constructor() {
this.simulator = simulator
this.gameId = gameId
this.gameName = gameName
this.gameType = gameCategoryChinese
PermissionHelper.checkGetInstalledAppsListBeforeAction(context, object : EmptyCallback {
override fun onCallback() {
@ -173,7 +197,8 @@ class SimulatorDownloadManager private constructor() {
return
}
val title = if (shouldShowUpdate && isInstalled) "更新模拟器" else "安装模拟器"
val message = if (shouldShowUpdate && isInstalled) "检测到模拟器存在更高版本,是否前往更新" else "模拟器游戏需要先下载安装对应的模拟器,才可以运行"
val message =
if (shouldShowUpdate && isInstalled) "检测到模拟器存在更高版本,是否前往更新" else "模拟器游戏需要先下载安装对应的模拟器,才可以运行"
val positiveText =
if (shouldShowUpdate && isInstalled) "更新(${simulator?.apk?.size}" else "下载(${simulator?.apk?.size}"
val negativeText = if (shouldShowUpdate && isInstalled) "下次再说" else "取消"
@ -185,6 +210,25 @@ class SimulatorDownloadManager private constructor() {
if (shouldShowUpdate && isInstalled) {
NewFlatLogUtils.logSimulatorUpdateAlertShow()
}
if (shouldShowUpdate && isInstalled) {
SensorsBridge.trackSimulatorUpdateDialogShow(
gameId = gameId,
gameName = gameName,
gameType = gameCategoryChinese,
lastPageId = GlobalActivityManager.getLastPageEntity().pageId,
lastPageName = GlobalActivityManager.getLastPageEntity().pageName,
lastPageBusinessId = GlobalActivityManager.getLastPageEntity().pageBusinessId
)
} else {
SensorsBridge.trackSimulatorInstallDialogShow(
gameId = gameId,
gameName = gameName,
gameType = gameCategoryChinese,
lastPageId = GlobalActivityManager.getLastPageEntity().pageId,
lastPageName = GlobalActivityManager.getLastPageEntity().pageName,
lastPageBusinessId = GlobalActivityManager.getLastPageEntity().pageBusinessId
)
}
DialogHelper.showDialog(
context,
title,
@ -197,16 +241,79 @@ class SimulatorDownloadManager private constructor() {
cancelCallback?.invoke()
NewFlatLogUtils.logSimulatorUpdateAlertClick("取消")
MtaHelper.onEvent(trackableEntity.event, trackableEntity.key, "点击下次再说")
SensorsBridge.trackSimulatorUpdateDialogClick(
buttonName = negativeText,
gameId = gameId,
gameName = gameName,
gameType = gameCategoryChinese,
lastPageId = GlobalActivityManager.getLastPageEntity().pageId,
lastPageName = GlobalActivityManager.getLastPageEntity().pageName,
lastPageBusinessId = GlobalActivityManager.getLastPageEntity().pageBusinessId
)
} else {
SensorsBridge.trackSimulatorInstallDialogClick(
buttonName = negativeText,
gameId = gameId,
gameName = gameName,
gameType = gameCategoryChinese,
lastPageId = GlobalActivityManager.getLastPageEntity().pageId,
lastPageName = GlobalActivityManager.getLastPageEntity().pageName,
lastPageBusinessId = GlobalActivityManager.getLastPageEntity().pageBusinessId
)
}
},
confirmClickCallback = {
showDownloadingDialog(context, simulator)
showDownloadingDialog(context, simulator, gameId, gameName, gameCategoryChinese)
NewFlatLogUtils.logSimulatorUpdateAlertClick("更新")
MtaHelper.onEvent(
trackableEntity.event,
trackableEntity.key,
if (shouldShowUpdate && isInstalled) "点击更新" else "点击下载"
)
if (shouldShowUpdate && isInstalled) {
SensorsBridge.trackSimulatorUpdateDialogClick(
buttonName = positiveText,
gameId = gameId,
gameName = gameName,
gameType = gameCategoryChinese,
lastPageId = GlobalActivityManager.getLastPageEntity().pageId,
lastPageName = GlobalActivityManager.getLastPageEntity().pageName,
lastPageBusinessId = GlobalActivityManager.getLastPageEntity().pageBusinessId
)
} else {
SensorsBridge.trackSimulatorInstallDialogClick(
buttonName = positiveText,
gameId = gameId,
gameName = gameName,
gameType = gameCategoryChinese,
lastPageId = GlobalActivityManager.getLastPageEntity().pageId,
lastPageName = GlobalActivityManager.getLastPageEntity().pageName,
lastPageBusinessId = GlobalActivityManager.getLastPageEntity().pageBusinessId
)
}
},
touchOutsideCallback = {
if (shouldShowUpdate && isInstalled) {
SensorsBridge.trackSimulatorUpdateDialogClick(
buttonName = "关闭弹窗",
gameId = gameId,
gameName = gameName,
gameType = gameCategoryChinese,
lastPageId = GlobalActivityManager.getLastPageEntity().pageId,
lastPageName = GlobalActivityManager.getLastPageEntity().pageName,
lastPageBusinessId = GlobalActivityManager.getLastPageEntity().pageBusinessId
)
} else {
SensorsBridge.trackSimulatorInstallDialogClick(
buttonName = "关闭弹窗",
gameId = gameId,
gameName = gameName,
gameType = gameCategoryChinese,
lastPageId = GlobalActivityManager.getLastPageEntity().pageId,
lastPageName = GlobalActivityManager.getLastPageEntity().pageName,
lastPageBusinessId = GlobalActivityManager.getLastPageEntity().pageBusinessId
)
}
},
mtaEvent = trackableEntity.event, mtaKey = trackableEntity.key,
extraConfig = DialogHelper.Config(centerTitle = true, centerContent = true)
@ -218,7 +325,13 @@ class SimulatorDownloadManager private constructor() {
})
}
fun showDownloadingDialog(context: Context, simulator: SimulatorEntity?) {
fun showDownloadingDialog(
context: Context,
simulator: SimulatorEntity?,
gameId: String = "",
gameName: String = "",
gameCategoryChinese: String = "",
) {
mContextRef = WeakReference(context)
val msg = FileUtils.isCanDownload(context, simulator?.apk?.size)
if (!msg.isNullOrEmpty()) {
@ -251,6 +364,11 @@ class SimulatorDownloadManager private constructor() {
}
downloadDialog?.setOnDismissListener {
SensorsBridge.trackSimulatorDownloadDialogClose(
gameId = gameId,
gameName = gameName,
gameType = gameCategoryChinese
)
DownloadManager.getInstance().removeObserver(dataWatcher)
}
@ -263,7 +381,7 @@ class SimulatorDownloadManager private constructor() {
params?.width = context.resources.displayMetrics.widthPixels - DisplayUtils.dip2px(60f)
downloadDialog?.window?.attributes = params
download(simulator)
download(simulator, gameId, gameName, gameCategoryChinese)
}
private fun showNoneEmulatorDialog(context: Context) {
@ -283,29 +401,50 @@ class SimulatorDownloadManager private constructor() {
)
}
private fun download(simulator: SimulatorEntity?) {
private fun download(
simulator: SimulatorEntity?,
gameId: String = "",
gameName: String = "",
gameCategoryChinese: String = ""
) {
val apkEntity = simulator?.apk ?: return
val entity = DownloadManager.getInstance().getDownloadEntityByUrl(apkEntity.url)
HaloApp.put(simulator.name, simulator)
if (entity != null) {
when (entity.status) {
DownloadStatus.pause, DownloadStatus.subscribe,
DownloadStatus.neterror, DownloadStatus.timeout -> {
DownloadStatus.pause,
DownloadStatus.subscribe,
DownloadStatus.neterror,
DownloadStatus.timeout,
DownloadStatus.diskioerror,
DownloadStatus.diskisfull -> {
DownloadManager.getInstance().addObserver(dataWatcher)
uiExecutor.executeWithDelay(Runnable { DownloadManager.getInstance().resume(entity, true) }, 200)
SensorsBridge.trackSimulatorDownloadDialogShow(
gameId = gameId,
gameName = gameName,
gameType = gameCategoryChinese
)
downloadDialog?.show()
}
DownloadStatus.done -> DataChanger.notifyDataChanged(entity)
else -> createDownload(apkEntity, simulator)
DownloadStatus.done -> NDataChanger.notifyDataChanged(entity)
else -> createDownload(apkEntity, simulator, gameId, gameName, gameCategoryChinese)
}
} else {
createDownload(apkEntity, simulator)
createDownload(apkEntity, simulator, gameId, gameName, gameCategoryChinese)
}
}
private fun createDownload(apkEntity: ApkEntity, simulator: SimulatorEntity) {
private fun createDownload(
apkEntity: ApkEntity,
simulator: SimulatorEntity,
gameId: String = "",
gameName: String = "",
gameCategoryChinese: String = ""
) {
DownloadManager.getInstance().addObserver(dataWatcher)
val downloadId = PackageInstaller.createDownloadId(simulator.name)
val downloadEntity = DownloadEntity()
@ -337,6 +476,11 @@ class SimulatorDownloadManager private constructor() {
downloadType,
""
)
SensorsBridge.trackSimulatorDownloadDialogShow(
gameId = gameId,
gameName = gameName,
gameType = gameCategoryChinese
)
downloadDialog?.show()
}

View File

@ -150,7 +150,7 @@ object SimulatorGameManager {
SimulatorDownloadManager.getInstance().showDownloadDialog(
AppManager.getInstance().recentActiveActivity, simulator,
SimulatorDownloadManager.SimulatorLocation.LAUNCH, gameEntity.id, gameEntity.name
?: ""
?: "", gameEntity.categoryChinese
) {
jumpToSimulator(downloadEntity, gameEntity)
}

View File

@ -19,44 +19,11 @@ object AdHelper {
const val LOCATION_SUGGESTION_FUNCTION = "suggestion_function"
const val LOCATION_SIMULATOR_GAME = "simulator_game"
@JvmStatic
fun getStartUpAd(): StartupAdEntity? {
return Config.getNewApiSettingsEntity()?.startAd
}
@JvmStatic
fun getStartUp(): StartupAdEntity? {
return Config.getNewApiSettingsEntity()?.startup
}
@JvmStatic
fun prefetchStartUpAd(settingsEntity: NewApiSettingsEntity) {
if (settingsEntity.startAd != null && !settingsEntity.startAd?.img.isNullOrEmpty()) {
val screenWidth = DisplayUtils.getScreenWidth()
val transformedUrl = ImageUtils.getTransformedUrl(settingsEntity.startAd?.img, screenWidth) ?: return
ImageUtils.prefetchToDiskCache(transformedUrl)
}
}
fun getSettingAdCache() {
RetrofitManager.getInstance().newApi
.getSettingAdCache(HaloApp.getInstance().channel)
.compose(observableToMain())
.subscribe(object : Response<NewApiSettingsEntity>() {
override fun onResponse(response: NewApiSettingsEntity?) {
super.onResponse(response)
val settings = Config.getNewApiSettingsEntity()
if (settings != null) {
settings.startAd = response?.startAd
Config.updateNewApiSettings(settings)
if (response != null) {
prefetchStartUpAd(response)
}
}
}
})
}
fun getAd(location: String): SettingsEntity.AD? {
val adList = Config.getSettings()?.adList ?: return null

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