Compare commits

...

3649 Commits

Author SHA1 Message Date
c118d7e4ad tinker_base 3.7.2-bugfix 2020-01-20 09:02:42 +08:00
babc55739b Merge branch '3.7.2-bugfix' of gitlab.ghzs.com:halo/assistant-android into 3.7.2-bugfix 2020-01-19 16:53:03 +08:00
df8790c6ff 更改首页我的光环tab小红点大小 2020-01-19 16:52:57 +08:00
30ccdcd750 Merge branch '3.7.2-bugfix' of gitlab.ghzhushou.com:halo/assistant-android into 3.7.2-bugfix 2020-01-19 16:44:23 +08:00
79d23bb203 兼容新游戏详情视频数量字段 2020-01-19 16:42:13 +08:00
b2c5e6551b 去掉预加载5M限制 2020-01-19 15:59:56 +08:00
ec49d7f20a 处理AndroidVideoCache异常问题 2020-01-19 15:39:51 +08:00
5a35d13d70 Merge branch '3.7.2-bugfix' of gitlab.ghzs.com:halo/assistant-android into 3.7.2-bugfix 2020-01-19 15:34:30 +08:00
dcfa4fdaaf 光环助手V3.7.2 RELEASE 20200117-1830 测试汇总 3,4 https://gitlab.ghzs.com/pm/halo-app-issues/issues/764 2020-01-19 15:34:26 +08:00
43324ca44e Merge branch '3.7.2-bugfix' of gitlab.ghzhushou.com:halo/assistant-android into 3.7.2-bugfix 2020-01-19 15:02:58 +08:00
8e778e8172 修复日志触发上传过于频繁的问题 2020-01-19 14:59:22 +08:00
928a98831e Merge branch '3.7.2-bugfix' of gitlab.ghzs.com:halo/assistant-android into 3.7.2-bugfix 2020-01-19 12:21:15 +08:00
3dc678bc27 修复游戏详情加载变慢问题 2020-01-19 12:21:03 +08:00
d2b19a128d 修复初始化下载服务时可能的闪退问题 2020-01-19 11:50:20 +08:00
cc75cb497d 屏蔽下载限速,修复专题详情闪退问题 2020-01-19 11:13:17 +08:00
4840c5c604 修复插件化弹窗闪退的问题 2020-01-19 10:17:22 +08:00
347cfdb72d tinker_base 3.7.2 2020-01-17 15:25:02 +08:00
06ec87ba6d 解决miui系统更改状态栏颜色导致视频流播放异常 2020-01-17 14:56:32 +08:00
1206800a3d Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-17 09:45:23 +08:00
d4763468c1 帮助详情增加长按复制操作 2020-01-17 09:45:16 +08:00
9c1a186a28 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-17 09:37:35 +08:00
bd9b914c18 视频流播放移动网络提醒 2020-01-17 09:37:30 +08:00
d40a57bcaa 微调UI 2020-01-16 15:38:58 +08:00
1892758288 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-16 15:29:38 +08:00
ca2e26756a 修复视频封面显示异常问题 2020-01-16 15:29:28 +08:00
ed5696f4bd Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-16 14:57:51 +08:00
cee34e7d76 处理视频流暂停显示问题 2020-01-16 14:57:44 +08:00
54decbade3 调整详情页自定义栏目显示逻辑 2020-01-16 14:28:38 +08:00
11167670f8 增加通用分享弹窗 MTA 事件 2020-01-16 14:28:15 +08:00
37c7629cf0 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-16 11:17:56 +08:00
947236f85d 修复个别手机下载流量toast提示被覆盖掉的问题 2020-01-16 11:17:49 +08:00
eafa13ec76 修复非曝光入口进入游戏详情触发预约会闪退的问题 2020-01-16 11:13:56 +08:00
7258812537 视频流接口添加随机数 2020-01-16 10:55:29 +08:00
e0a82f5050 优化逻辑 2020-01-16 09:42:29 +08:00
e0e7cbd2a3 处理编译问题 2020-01-16 09:33:57 +08:00
554ec20493 修复视频流滑动卡顿的问题 2020-01-15 22:08:47 +08:00
31c3ed3bc5 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-15 20:44:00 +08:00
466b690ac0 光环助手V3.7.2 RELEASE 20200115-1000 测试汇总3,4,9 https://gitlab.ghzs.com/pm/halo-app-issues/issues/760 2020-01-15 20:43:51 +08:00
0420557f47 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-15 19:58:50 +08:00
c0edbf1a57 光环助手V3.7.2 RELEASE 20200115-1000 测试汇总(1.5.8)https://gitlab.ghzs.com/pm/halo-app-issues/issues/760 2020-01-15 19:58:40 +08:00
374610dbc0 崩溃问题 2020-01-15 19:56:30 +08:00
080ac5f1d5 Merge branches 'dev' and 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-15 17:09:34 +08:00
9dc967087d MIUI系统更改状态栏字体颜色 2020-01-15 17:09:29 +08:00
80a238253d Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-15 17:02:15 +08:00
d7b7f11ebf RichEditor onVideoClick 进行Catch操作 2020-01-15 17:02:07 +08:00
9abb14e37f Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-15 15:50:16 +08:00
5fbb93cbee 视频流不循环加载问题 2020-01-15 15:50:12 +08:00
20b75ff046 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-15 15:35:07 +08:00
73374017a5 微调UI 2020-01-15 15:35:00 +08:00
73c3d5cd4d Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-15 14:46:30 +08:00
01a02a000f 光环助手V3.7.2 RELEASE 20200113-1830 测试汇总 11 https://gitlab.ghzs.com/pm/halo-app-issues/issues/759 2020-01-15 14:46:25 +08:00
8998f1323f Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-15 14:18:12 +08:00
bb77cf4624 fix bug 2020-01-15 14:18:05 +08:00
772705ed0f Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-15 11:19:36 +08:00
6e2f568ad3 光环助手V3.7.2 RELEASE 20200113-1830 测试汇总3,9,12,13 https://gitlab.ghzs.com/pm/halo-app-issues/issues/759 2020-01-15 11:19:31 +08:00
df20c8235e Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-15 11:07:19 +08:00
4882cc5203 光环助手视频新年活动页面(WEB)(一 3~7,四 5,7,五 4)https://gitlab.ghzs.com/pm/halo-app-issues/issues/742 2020-01-15 11:07:07 +08:00
4fa6a41681 我的光环数据刷新 2020-01-14 18:55:20 +08:00
f77e9d4949 视频流优化 2020-01-14 17:38:24 +08:00
1bc167fe7b Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-14 16:16:40 +08:00
98213ad3ee 完成光环助手V3.7.2 RELEASE(20200111-0250)测试问题汇总 10,13 https://gitlab.ghzs.com/pm/halo-app-issues/issues/757 2020-01-14 16:16:33 +08:00
0b101d693d 修复下载通知刷新时闪烁问题 2020-01-14 15:41:41 +08:00
8655822d88 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-14 14:22:08 +08:00
386923d16e 视频流优化 2020-01-14 11:47:40 +08:00
013536b147 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-14 10:33:38 +08:00
880eef90fb 光环助手V3.7.2 RELEASE(20200111-0250)测试问题汇总(4.5.6)https://gitlab.ghzs.com/pm/halo-app-issues/issues/757 2020-01-14 10:33:25 +08:00
61e3784991 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-13 16:44:02 +08:00
0664d92e62 尝试解决离开页面会继续缓冲问题 2020-01-13 16:43:56 +08:00
aab99b0c29 微调UI 2020-01-13 14:33:18 +08:00
2e6ca9c524 修复隐私弹窗按钮拉伸问题 2020-01-13 14:09:40 +08:00
0a402e4e92 更换一些资源文件 2020-01-13 09:02:14 +08:00
7e75cd7859 视频流无数据不显示引导动画 2020-01-11 15:09:19 +08:00
e3522d4160 视频流延迟隐藏mBottomContainer使用Rxjava实现计时器 2020-01-11 15:00:40 +08:00
c9d0b813b6 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-11 02:35:28 +08:00
3a7e28fac2 光环助手V3.7.2 RELEASE(20200110-1830)测试问题汇总 1,6,9 https://gitlab.ghzs.com/pm/halo-app-issues/issues/755 2020-01-11 02:35:24 +08:00
9aca24c02b Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-11 01:24:35 +08:00
9c818e1470 个人主页问答跳转至相关详情页面 2020-01-11 01:24:20 +08:00
614ed0e7e2 修复从视频 tab 回到桌面再回到光环状态栏变黑的问题 2020-01-11 00:49:40 +08:00
55b1d43e73 修复禁言文案错误问题 2020-01-11 00:31:42 +08:00
25526f3666 update submodule 2020-01-10 23:56:28 +08:00
773f2e798d Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-10 23:55:42 +08:00
58b5ec4eb9 尝试解决离开页面仍然会继续缓存视频的问题 2020-01-10 23:53:21 +08:00
007cef39a7 完成20200107-1830的(20200110测试补充3) https://gitlab.ghzs.com/pm/halo-app-issues/issues/751 2020-01-10 23:04:44 +08:00
ba1a702ea1 修复图片上传失败问题(可能是文件名导致) 2020-01-10 22:30:52 +08:00
56d8b58f72 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-10 22:30:21 +08:00
f53c8377e6 修复视频流接口相关问题 2020-01-10 22:30:13 +08:00
cfb1d86e8e 完成20200107-1830的(20200110测试补充3) https://gitlab.ghzs.com/pm/halo-app-issues/issues/751 2020-01-10 21:45:44 +08:00
8f0caa0949 修复我的光环页面滚动脱节的问题 2020-01-10 21:41:04 +08:00
8ef13cb4ff 游戏库入口修改默认图片 2020-01-10 21:37:58 +08:00
e6d4f60d4f Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-10 21:20:47 +08:00
e67f85c084 调整首页UI 2020-01-10 21:20:40 +08:00
5318693650 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-10 20:58:24 +08:00
3bf242b145 光环助手V3.7.2 RELEASE(20200109-1830)测试问题汇总4,10,12,19,20,23 https://gitlab.ghzs.com/pm/halo-app-issues/issues/754 2020-01-10 20:58:18 +08:00
0ba82a334e 光环助手V3.7.2 RELEASE(20200109-1830)测试问题汇总(6.9.11.16.17.24.25.26) https://gitlab.ghzs.com/pm/halo-app-issues/issues/754 2020-01-10 20:56:33 +08:00
0a385bb720 RichEditor 增加js接口(判断当前页面是不是编辑状态) 2020-01-10 19:44:10 +08:00
7658fd2a4f Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-10 18:25:10 +08:00
e40e655bfa 首页大图游戏 摘要前增加游戏标签 2020-01-10 18:25:02 +08:00
cfa000bf88 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-10 17:14:04 +08:00
12c35cebc4 我的光环用户数据刷新 2020-01-10 17:13:59 +08:00
92089e60ce 完成 20200108-2100 测试汇总的 (3,4,6,11) https://gitlab.ghzs.com/pm/halo-app-issues/issues/753 2020-01-10 17:03:39 +08:00
141a6df8ab 修复首页游戏库入口动画无法显示问题 2020-01-10 16:49:50 +08:00
7719e9763d Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-10 15:23:34 +08:00
8d3307986d 修改游戏库入口的占位符 2020-01-10 15:23:21 +08:00
d0b7ec39a7 光环助手V3.7.2 RELEASE(20200108-2100)测试问题汇总2,5,7,8,10 https://gitlab.ghzs.com/pm/halo-app-issues/issues/753 2020-01-10 15:13:44 +08:00
cfd198b4ab 光环助手V3.7.2 RELEASE(20200107-1830)测试问题汇总 6 https://gitlab.ghzs.com/pm/halo-app-issues/issues/752 2020-01-10 11:24:56 +08:00
a557c12c6d 问题详情视频审核中/未通过显示默认封面图 2020-01-10 10:16:12 +08:00
6b777d4ec8 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-09 21:01:47 +08:00
882dd95190 光环助手V3.7.2 (20200107-1830) 测试问题汇总4、5、7-9、14、15、19 https://gitlab.ghzs.com/pm/halo-app-issues/issues/752 2020-01-09 21:01:42 +08:00
7764bd29c8 完成 20200107-1830 测试汇总的 10 https://gitlab.ghzs.com/pm/halo-app-issues/issues/752 2020-01-09 20:55:39 +08:00
08730f1ce9 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-09 18:27:37 +08:00
f9c15d3427 fix bug 2020-01-09 18:27:30 +08:00
8e8668036e Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-09 18:25:24 +08:00
cc65eed48d 光环助手V3.7.2 RELEASE(20200107-1830)测试问题汇总(视频相关)https://gitlab.ghzs.com/pm/halo-app-issues/issues/751 2020-01-09 18:25:19 +08:00
29f4e547a1 RichEditor更改初始化Html方法 2020-01-09 17:15:11 +08:00
419003ae23 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-09 16:33:46 +08:00
0519872d81 RichEditor 增加判断是不是作者的接口 2020-01-09 16:33:36 +08:00
e9b52bb70b 修复今日头条推广SDK激活问题以及下载劫持弹窗的显示问题 2020-01-09 16:08:46 +08:00
681ea201c3 更换视频流引导点击动画 2020-01-09 14:06:51 +08:00
a5466bb6ad 修复下载重试过程中速度降为 0K 每秒时会闪退的问题 2020-01-09 12:03:06 +08:00
3a3998ae84 更换首页tab gif文件 2020-01-09 11:42:57 +08:00
7e27502430 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-09 10:49:24 +08:00
8956885f1c fix bug 2020-01-09 10:38:36 +08:00
caeb0a1362 修复已安装列表和视频流列表缺失曝光事件的问题 2020-01-08 20:12:17 +08:00
cc094889b8 完成20200106测试汇总(5~7,19~21) https://gitlab.ghzs.com/pm/halo-app-issues/issues/749 2020-01-08 19:27:37 +08:00
839386c5f4 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java
2020-01-08 19:05:32 +08:00
6c5de65278 首页tab动画部分改为gif 2020-01-08 18:46:24 +08:00
3aadac942c 修复插件化显示异常问题 2020-01-08 16:27:06 +08:00
dca9b49d75 光环助手V3.7.2 (20200106-1838)测试问题汇总12-18 https://gitlab.ghzs.com/pm/halo-app-issues/issues/749 2020-01-08 15:57:20 +08:00
8e764dc22a 启动预约弹窗优化
问题详情视频审核状态显示规则修改
2020-01-08 15:16:20 +08:00
383cf4941e Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java
2020-01-08 10:58:34 +08:00
05510a8588 光环助手V3.7.2首页优化第二期:占位图&预约上线弹窗(预约上线弹窗未经过测试)https://gitlab.ghzs.com/pm/halo-app-issues/issues/744 2020-01-08 10:55:34 +08:00
eb611a9ff1 处理我的光环滑动卡顿 2020-01-07 18:18:20 +08:00
15aa3713e6 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-07 15:42:59 +08:00
7d11713c49 修改视频流页面 2020-01-07 15:42:54 +08:00
66ff610078 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-07 09:47:03 +08:00
f351761d9e 微调视频投稿UI
修复图片详情保存后无法刷新到图片库问题
2020-01-07 09:46:56 +08:00
6bb5e18253 修改问答-关注-推荐关注按钮样式 2020-01-07 09:38:51 +08:00
c44e8cffcc Fix typo 2020-01-06 18:37:52 +08:00
39d4c35504 修复数据统计需求(光环数据后台) 20200103测试问题 https://gitlab.ghzs.com/pm/halo-app-issues/issues/734 2020-01-06 18:24:25 +08:00
d42b57f385 视频功能优化(问答相关)(2.7.8.9)https://gitlab.ghzs.com/pm/halo-app-issues/issues/731 2020-01-06 18:15:40 +08:00
2142a1676e Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2020-01-06 16:53:13 +08:00
b0fa41bded 隐私弹窗相关图片增加占位符 2020-01-06 16:52:02 +08:00
28f552ca19 完成下载管理与下载提示优化的20200106测试 https://gitlab.ghzs.com/pm/halo-app-issues/issues/726 2020-01-06 16:46:41 +08:00
da0b256054 微调UI 2020-01-06 16:44:16 +08:00
8b477c357a Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-06 16:32:10 +08:00
650075488d 修复意见反馈"添加图片"图标被切割问题 2020-01-06 16:31:59 +08:00
8cff41defa 完成新增游戏时长功能 20200106测试 (2,3,6) https://gitlab.ghzs.com/pm/halo-app-issues/issues/722 2020-01-06 16:25:01 +08:00
6519eca511 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-06 16:22:33 +08:00
85d8463972 我的游戏跳转规则 2020-01-06 16:22:28 +08:00
c762a7c755 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-06 16:17:36 +08:00
142859fd39 首页优化:视频入口、插件化区域、导航栏按钮(20200103测试,20200104测试) https://gitlab.ghzs.com/pm/halo-app-issues/issues/730 2020-01-06 16:17:25 +08:00
d7f84ff3c8 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-06 14:04:40 +08:00
6c4545e364 完成20200104测试补充2-7 https://gitlab.ghzs.com/pm/halo-app-issues/issues/732 2020-01-06 14:04:34 +08:00
a3d9f12414 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-06 11:30:12 +08:00
412d2ff9dc 修复数据库版本升级问题 2020-01-06 11:30:05 +08:00
65f8440637 降级查看大图的库避免在新版本 MUMU 模拟器上的初始化问题 2020-01-06 11:29:33 +08:00
f06359f5c3 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-04 18:42:32 +08:00
433088116e 微调UI 2020-01-04 18:42:09 +08:00
c93e55f306 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-04 18:12:17 +08:00
e613066ed3 关注按钮样式 2020-01-04 18:12:11 +08:00
9aabfde5b0 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-04 18:06:58 +08:00
9f4c9431b9 修改图片详情页面的实现方式,适配大图/长图 2020-01-04 18:06:50 +08:00
74f64d9782 使下载完成通知在点击安装后消失 https://gitlab.ghzs.com/pm/halo-app-issues/issues/726 2020-01-04 17:55:25 +08:00
d79b3f10e8 评论被隐藏跳转去修改 2020-01-04 15:42:31 +08:00
b29d32c8f2 Merge branches 'dev' and 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-04 14:32:10 +08:00
b8ec93c6a1 完成20200104测试问题:2-5 https://gitlab.ghzs.com/pm/halo-app-issues/issues/720 2020-01-04 14:32:05 +08:00
dad3c9aee7 修复华为设备下载完成通知不能置顶的问题 2020-01-04 11:50:27 +08:00
833e0406f0 修改游戏广告问题 2020-01-04 10:28:24 +08:00
3d6b556dfd 修复评论标签不显示问题 2020-01-04 09:42:31 +08:00
ad0a5525f0 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-03 18:41:10 +08:00
a012c3e3de 修改视频流下载按钮样式 2020-01-03 18:41:06 +08:00
6c2d489940 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-03 18:31:38 +08:00
0ea56b01eb 微调意见反馈UI 2020-01-03 18:31:31 +08:00
f65c226657 处理一个数组越界闪退 2020-01-03 18:25:43 +08:00
006b82381b Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-03 18:21:30 +08:00
059414b9f8 更换首页tab动效 2020-01-03 18:21:26 +08:00
93c1105346 微调隐私弹窗UI 2020-01-03 18:15:34 +08:00
7ca92e8b7f Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-03 17:56:11 +08:00
eeb7415086 Merge branch '3.7.1_game' into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java
#	app/src/main/java/com/gh/gamecenter/fragment/SearchToolWrapperFragment.java
#	app/src/main/java/com/halo/assistant/HaloApp.java
#	app/src/main/res/layout/fragment_main.xml
2020-01-03 17:55:59 +08:00
9a288e8870 修复游戏评论使用的星星库在三星安卓10设备上的闪退问题 2020-01-03 17:45:23 +08:00
351fefd57b Merge remote-tracking branch 'origin/dev' into dev 2020-01-03 17:23:30 +08:00
4915cdc3ba 完成下载管理与下载提示优化20200101测试的 1,3,4 及20200103测试的 1,2 https://gitlab.ghzs.com/pm/halo-app-issues/issues/726 2020-01-03 17:23:21 +08:00
9d044a4001 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-03 17:19:47 +08:00
8e465c17dd 视频功能优化(基础功能)(1.2.3.4.5.7) https://gitlab.ghzs.com/pm/halo-app-issues/issues/715 2020-01-03 17:19:38 +08:00
fa73ac790c 修复模拟器应用内更新的闪退问题 2020-01-03 17:19:11 +08:00
899f442f14 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-03 17:07:42 +08:00
698af5d584 光环助手V3.7.2-评论引导标签 20200103测试 https://gitlab.ghzs.com/pm/halo-app-issues/issues/728 2020-01-03 17:07:37 +08:00
66dea77546 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-03 16:26:38 +08:00
eed2eed992 发表游戏评论支持跳转在线客服&意见反馈(20200103测试问题)https://gitlab.ghzs.com/pm/halo-app-issues/issues/723 2020-01-03 16:26:31 +08:00
913c0027a6 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-03 15:38:51 +08:00
a7884325c8 我的游戏评论数据刷新 2020-01-03 15:38:38 +08:00
a7caa063ef Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-03 15:31:46 +08:00
ee99895cba 视频功能优化(数据与算法)https://gitlab.ghzs.com/pm/halo-app-issues/issues/737 2020-01-03 15:31:42 +08:00
cf7a14e80a 问答推荐跳转视频流 2020-01-03 15:15:29 +08:00
07a64d118a 光环助手前端优化汇总(2019年12月)(11~15)https://gitlab.ghzs.com/pm/halo-app-issues/issues/745 2020-01-03 11:11:29 +08:00
72329d0222 微调隐私弹窗UI 2020-01-03 10:52:07 +08:00
16e85e9222 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-03 10:50:46 +08:00
dd11883eab 修复MTA事件缺失问题 2020-01-03 10:50:36 +08:00
be70ce8551 完成0102测试问题1-8 https://gitlab.ghzs.com/pm/halo-app-issues/issues/720 2020-01-03 10:33:50 +08:00
d428c46957 修复一键修复按钮常驻的问题 2020-01-02 18:29:58 +08:00
516b956269 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-02 18:12:36 +08:00
8bb90f4d4c 更换底部icon动效 2020-01-02 18:12:31 +08:00
2f9e9fe976 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-02 17:59:42 +08:00
bf2271ac06 部分页面跳转视频详情添加path路径 2020-01-02 17:59:35 +08:00
f279564e02 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-02 17:38:53 +08:00
386eafa0bc 光环助手前端优化汇总(2019年12月)1~9.16.17 https://gitlab.ghzs.com/pm/halo-app-issues/issues/745 2020-01-02 17:38:46 +08:00
619b5a3cc3 首页优化:视频入口、插件化区域、导航栏按钮(14)https://gitlab.ghzs.com/pm/halo-app-issues/issues/730 2020-01-02 17:23:08 +08:00
d0391c779d 修改隐私弹窗默认文案 2020-01-02 16:44:38 +08:00
fc9d3f2e91 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-02 16:31:47 +08:00
42c7123d2d 视频功能优化(问答相关) https://gitlab.ghzs.com/pm/halo-app-issues/issues/731 2020-01-02 16:31:39 +08:00
8e66f80360 修复移动网络下在视频 tab 点暂不播放会退出光环的问题 2020-01-02 16:26:56 +08:00
b80fab06ad 修复新增游戏时长功能部分测试问题 https://gitlab.ghzs.com/pm/halo-app-issues/issues/722 2020-01-02 16:23:33 +08:00
943c359c22 Merge remote-tracking branch 'origin/dev' into dev 2020-01-02 11:13:30 +08:00
8631045874 更新今日头条广告SDK(增加上报OAID) https://gitlab.ghzs.com/pm/halo-app-issues/issues/743 2020-01-02 11:13:14 +08:00
5991a90353 设置首页底部padding 2020-01-02 10:14:19 +08:00
8534455344 恢复设置页面的版本更新提示 https://gitlab.ghzs.com/pm/halo-app-issues/issues/720 2020-01-02 09:57:00 +08:00
1a21fceeb7 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2020-01-02 09:45:43 +08:00
274739c885 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/video/detail/VideoAdapter.kt
2020-01-02 09:45:37 +08:00
5134fa19be 补充遗漏的下载按钮打开网页逻辑 https://gitlab.ghzs.com/pm/halo-app-issues/issues/727 2020-01-02 09:32:56 +08:00
7342e94bdc 完成1231测试问题1-6 https://gitlab.ghzs.com/pm/halo-app-issues/issues/720 2020-01-02 09:31:50 +08:00
28bf579518 完成光环助手V3.7.2数据统计需求 https://gitlab.ghzs.com/pm/halo-app-issues/issues/734 2019-12-31 21:09:10 +08:00
9e490ef349 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-31 18:19:35 +08:00
548206792e 首页tab切换改变颜色 2019-12-31 18:19:30 +08:00
c87d7f9c28 视频详情广告 2019-12-31 18:18:36 +08:00
cfe1584fc3 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2019-12-31 16:26:49 +08:00
137a95f5ab 发表游戏评论支持跳转在线客服&意见反馈(1225测试问题) https://gitlab.ghzs.com/pm/halo-app-issues/issues/723 2019-12-31 16:25:42 +08:00
6ab8b24353 修复无法删除下载目录旧更新包的问题 2019-12-31 15:24:44 +08:00
1515cc1ddd 修复隐私弹窗页面切换时状态栏占位问题 2019-12-31 14:47:00 +08:00
abfd4834ef Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-31 14:18:12 +08:00
03032a0dbd 首页优化:视频入口、插件化区域、导航栏按钮(6) https://gitlab.ghzs.com/pm/halo-app-issues/issues/730 2019-12-31 14:18:05 +08:00
75545a5929 修改首页视频退出全屏后页面白屏 2019-12-31 10:42:03 +08:00
1425a95bc8 完成标签列表页的曝光统计 https://gitlab.ghzs.com/pm/halo-app-issues/issues/734 2019-12-31 09:54:00 +08:00
23674a1c55 处理接口未同步至正式环境造成的闪退问题 2019-12-31 09:52:49 +08:00
caf0a8d5f5 修复滑动视频闪退问题 2019-12-31 09:28:15 +08:00
b11928528c Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-30 18:23:35 +08:00
cf9bd70c6c web端跳转到光环视频相关页面 2019-12-30 18:23:30 +08:00
c6ab68e9b4 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-30 18:16:03 +08:00
899da43682 下载行为监控-数据埋点需求 https://gitlab.ghzs.com/pm/halo-app-issues/issues/738 2019-12-30 18:15:30 +08:00
1825f713b3 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-30 17:04:52 +08:00
760bc9b63c 视频详情游戏下载 2019-12-30 17:04:46 +08:00
4974c105bf 处理答案/文章内容有反斜杠导致无法插入的问题 2019-12-30 17:04:02 +08:00
9c910ce6de 首页底部切换Tab播放动画 2019-12-30 11:56:53 +08:00
fcd1c2d418 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-28 18:37:42 +08:00
5c0c227c3b 更换底部导航icon 2019-12-28 18:37:37 +08:00
a69669a7ca 优化一些UI问题 2019-12-28 18:31:29 +08:00
166e2e341a Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2019-12-28 18:12:16 +08:00
8cb689cc99 修复下载通知分组问题(删除分组内所有通知后会残留分组摘要) 2019-12-28 18:11:07 +08:00
1dd5c5fd40 修复模拟器启动时没有删除旧光环安装包的问题 2019-12-28 17:57:43 +08:00
92719c538e Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-28 15:40:33 +08:00
3448dfddef 完成20191228测试 https://gitlab.ghzs.com/pm/halo-app-issues/issues/716 2019-12-28 15:40:26 +08:00
b190b31afa 处理文章/答案摘要包含英文双引号时造成的解析问题 2019-12-28 11:38:11 +08:00
083a62ed9d Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-28 11:00:18 +08:00
5f0bfd1184 暴力预防下载通知状态改变时无法刷新问题 2019-12-28 11:00:11 +08:00
15bb7d654c 修复在模拟器上进行应用内更新出现的安装界面消失问题 2019-12-27 18:26:23 +08:00
f42278b91f 修复在模拟器上进行应用内更新出现的安装界面消失问题 2019-12-27 18:14:45 +08:00
aa23d515c6 恢复误删的首页启动模式 2019-12-27 18:10:35 +08:00
b3417749ed Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-27 17:34:38 +08:00
4c33977568 完成1226测试问题 https://gitlab.ghzs.com/pm/halo-app-issues/issues/720 2019-12-27 17:34:33 +08:00
1ecd83b6af Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2019-12-27 16:33:40 +08:00
b202302a7e 调整隐私弹窗间距 2019-12-27 16:31:51 +08:00
7450edd177 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-27 16:18:58 +08:00
4c7ab844e8 首页视频流页面 2019-12-27 16:18:52 +08:00
fd6581671d 调整首页插件化区域显示规则
修复启动过程中部分数据无法初始化问题
2019-12-27 15:42:35 +08:00
71cc0962d3 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-26 21:07:49 +08:00
9c70d802b5 1225测试问题:二(1.3.4.5.7.8)https://gitlab.ghzs.com/pm/halo-app-issues/issues/724 2019-12-26 21:07:40 +08:00
ed6bec0cfc Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2019-12-26 18:05:38 +08:00
36834cfec7 隐私政策说明(第二期)(动态设置标题)https://gitlab.ghzs.com/pm/halo-app-issues/issues/717 2019-12-26 18:04:38 +08:00
7dfaf45dc2 完成下载管理和板块轮播图的曝光统计 https://gitlab.ghzs.com/pm/halo-app-issues/issues/734 2019-12-26 17:49:21 +08:00
5efddb05b3 视频上传封面圆角 2019-12-26 11:56:46 +08:00
f46122787c Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-26 11:44:32 +08:00
1b8cde1c91 视频功能优化(基础功能)(二) https://gitlab.ghzs.com/pm/halo-app-issues/issues/715 2019-12-26 11:44:24 +08:00
1694603cd0 完成1225测试问题:1,2,3,5 https://gitlab.ghzs.com/pm/halo-app-issues/issues/719 2019-12-26 11:27:20 +08:00
4243f37126 我的光环页面滑动冲突 2019-12-25 17:58:45 +08:00
63e0b9887c Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-25 17:39:18 +08:00
201efd9628 首页优化:视频入口、插件化区域、导航栏按钮(1.2.3.4.5.15.16)https://gitlab.ghzs.com/pm/halo-app-issues/issues/730 2019-12-25 17:39:04 +08:00
c7c29b7ca8 Merge remote-tracking branch 'origin/dev' into dev 2019-12-25 14:08:15 +08:00
0b3fd3a123 处理曝光闪退问题 2019-12-25 14:07:59 +08:00
99e988a0d9 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-25 14:07:31 +08:00
eaa3b81e31 修改评论标签显示 2019-12-25 14:07:19 +08:00
dbbf9a846e 修改视频滑动引导 2019-12-25 11:56:06 +08:00
af8b336434 支持插件使用光环进行二次跳转 https://gitlab.ghzs.com/pm/halo-plugin-issues/issues/120 2019-12-25 11:35:00 +08:00
ce84c0f9c9 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-25 10:40:12 +08:00
0f8d9cd5d3 隐私政策说明(第二期) https://gitlab.ghzs.com/pm/halo-app-issues/issues/717 2019-12-25 10:40:06 +08:00
cb70e12632 修复已安装页面可能的闪退问题 2019-12-25 09:57:45 +08:00
a5ad403614 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-24 18:02:20 +08:00
e674a8313a 视频详情引导动画 2019-12-24 18:02:14 +08:00
1cef4bb53d 光环助手-意见反馈优化(三) https://gitlab.ghzs.com/pm/halo-app-issues/issues/724 2019-12-24 17:38:48 +08:00
3851aeb790 发表游戏评论支持跳转在线客服&意见反馈(MTA)https://gitlab.ghzs.com/pm/halo-app-issues/issues/723 2019-12-24 16:17:53 +08:00
7680e2e125 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-24 15:43:09 +08:00
f674aa4a79 下载重试增加移动网络重试 2019-12-24 15:41:10 +08:00
be1533a5df 视频播放数据埋点(点击行为、播放行为) 2019-12-24 10:49:26 +08:00
eca3bdd4e5 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-23 18:44:01 +08:00
c885579516 游戏评论对接web编辑器 2019-12-23 18:43:56 +08:00
341d849e29 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-23 18:33:32 +08:00
2bb5c79c38 光环助手V3.7.2-下载管理与下载提示优化(三)https://gitlab.ghzs.com/pm/halo-app-issues/issues/726 2019-12-23 18:33:23 +08:00
fa26e1a17b 完成轮播图数据上报 https://gitlab.ghzs.com/pm/halo-app-issues/issues/734 2019-12-23 10:17:19 +08:00
8ed76089eb 完成游戏预约数据上报 https://gitlab.ghzs.com/pm/halo-app-issues/issues/734 2019-12-22 20:36:23 +08:00
678418da0b 完成部分曝光数据上报(新首页&安利墙) https://gitlab.ghzs.com/pm/halo-app-issues/issues/734 2019-12-22 18:33:45 +08:00
1c11fc4469 光环助手V3.7.2-下载管理与下载提示优化(一.二.四.七)https://gitlab.ghzs.com/pm/halo-app-issues/issues/726 2019-12-21 18:01:29 +08:00
78f277fd6d Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-21 15:37:26 +08:00
5520fd7122 修改 游戏时长记录 弹窗 2019-12-21 15:37:18 +08:00
cb6ce2e14f Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-21 15:19:50 +08:00
80933e82eb 限制视频上下滑动频率 2019-12-21 15:19:44 +08:00
e32dce2ef9 视频功能优化(基础功能)(三.四)https://gitlab.ghzs.com/pm/halo-app-issues/issues/715 2019-12-21 14:28:57 +08:00
e252a9ebf8 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-20 19:31:59 +08:00
08936a22c8 光环助手-意见反馈优化(二.四.五1)https://gitlab.ghzs.com/pm/halo-app-issues/issues/724 2019-12-20 19:31:46 +08:00
3fea57d05f Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-20 14:54:43 +08:00
52ae5fc451 视频详情UI 2019-12-20 14:53:43 +08:00
045dea265d 3.7.1-game tinker base 2019-12-20 10:09:36 +08:00
501282f243 意见反馈增加游戏收录弹窗 2019-12-20 09:53:48 +08:00
998cf70723 游戏库图标增加占位符/预加载
升级fresco库
对DiffUtilAdapter DiffUtil 进行 try catch 处理
2019-12-19 16:33:49 +08:00
1a10fcac71 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-19 15:03:20 +08:00
ee5862eddd 视频预加载 2019-12-19 15:03:12 +08:00
c1527ec37e 增加帮助详情页面 2019-12-19 10:04:21 +08:00
eb112b358e tinker base 3.7.1-game-tab 2019-12-18 17:24:33 +08:00
b860ab912a 修改游戏库显示逻辑 2019-12-18 16:30:15 +08:00
b14ee68882 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-18 12:03:04 +08:00
44065fcb06 意见反馈增加 使用帮助 模块(部分细节尚未优化) https://gitlab.ghzs.com/pm/halo-app-issues/issues/724 2019-12-18 12:02:53 +08:00
ec5305b76f Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-18 11:34:25 +08:00
ddfb651d6a 我的光环缓存数据 2019-12-18 11:34:20 +08:00
8a828a3250 修复下载数据(新)插件化更新上报错乱的问题 2019-12-18 10:40:12 +08:00
31f5795e27 我的游戏评论 https://gitlab.ghzs.com/pm/halo-app-issues/issues/719 2019-12-17 17:05:41 +08:00
dbde817b59 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-17 16:49:23 +08:00
83e251492d web端跳转到光环视频相关页面定义host 2019-12-17 16:49:17 +08:00
5fa22c7f5d 我的游戏评论 2019-12-17 16:46:26 +08:00
b4ad18c806 设置增加"流量下载提醒"选项 2019-12-17 16:46:10 +08:00
61eb35cf31 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-17 16:16:29 +08:00
07e54d5b5e 修改 下载/更新 红点提示逻辑 2019-12-17 16:16:20 +08:00
e0c27f721c 修复消费 windowInset 时在部分 4.4 设备上的闪退问题 2019-12-17 11:53:48 +08:00
d2bf6bb211 修复一些闪退问题 2019-12-17 11:33:01 +08:00
e2681494db 切换首页tab更改状态栏颜色 2019-12-17 10:30:12 +08:00
ac1d078681 我的光环页面改版&优化已完成 2019-12-16 17:25:55 +08:00
624d9c1e2d Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-13 18:33:26 +08:00
892cc3cdde 我的光环UI 2019-12-13 18:33:20 +08:00
fd7b9263bf 完成下载按钮支持打开 H5 页面 https://gitlab.ghzs.com/pm/halo-app-issues/issues/727 2019-12-13 15:23:41 +08:00
a9428ddb3b 启动app删除视频缓存文件并添加nomedia文件 2019-12-13 10:42:29 +08:00
319f526e0f 增加视频浏览记录 2019-12-12 18:30:23 +08:00
4755542933 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/video/detail/DetailPlayerView.kt
#	app/src/main/java/com/gh/gamecenter/video/detail/VideoAdapter.kt
#	app/src/main/java/com/gh/gamecenter/video/detail/VideoDetailContainerFragment.kt
#	app/src/main/res/layout/layout_video_detail_base.xml
#	app/src/main/res/layout/layout_video_detail_surface.xml
2019-12-12 14:58:40 +08:00
f221e20169 视频详情增加静音、全屏、拖动进度等 2019-12-12 14:45:55 +08:00
a149666d3a 视频投稿支持更换封面图 2019-12-11 16:41:58 +08:00
0ff428b61a Merge branch 'dev_3.7.2' into 'dev'
Dev 3.7.2

See merge request !9
2019-12-11 15:14:19 +08:00
cfedc72955 Merge branch 'dev_3.7.2' of gitlab.ghzs.com:halo/assistant-android into dev_3.7.2 2019-12-11 15:11:30 +08:00
16de588c30 重新整理图片剪裁以便兼容后续视频封面更换 2019-12-11 15:11:21 +08:00
779d907397 Merge branch 'dev_3.7.2' of gitlab.ghzs.com:halo/assistant-android into dev_3.7.2 2019-12-11 15:09:35 +08:00
f91e2e41b6 修改视频详情UI 2019-12-11 15:09:30 +08:00
a04e4874f3 基本完成下载限速功能 https://gitlab.ghzs.com/pm/halo-app-issues/issues/726 2019-12-11 14:54:39 +08:00
d303b67e35 修改我的光环页面 2019-12-11 10:56:27 +08:00
31c0c43d14 Merge branch 'dev_3.7.2' of gitlab.ghzs.com:halo/assistant-android into dev_3.7.2 2019-12-10 18:20:16 +08:00
fafb73d03c 跳转抖音 2019-12-10 18:20:11 +08:00
e4ee4d9efe 实名认证 2019-12-10 18:16:52 +08:00
3a043b2704 发表游戏评论支持跳转在线客服&意见反馈 https://gitlab.ghzs.com/pm/halo-app-issues/issues/723 2019-12-10 17:06:10 +08:00
8c9c7309a5 去除调试入后 2019-12-10 11:35:40 +08:00
09330e9cbf 提高时长统计的准确性 2019-12-10 11:33:42 +08:00
08ad62dc70 Merge branch 'dev_3.7.2' of gitlab.ghzs.com:halo/assistant-android into dev_3.7.2
# Conflicts:
#	app/src/main/java/com/halo/assistant/fragment/SettingsFragment.java
2019-12-09 17:51:24 +08:00
464482a507 光环助手V3.7.2-新增游戏时长功能(玩过页面展示完成,数据上报部分统计不准)https://gitlab.ghzs.com/pm/halo-app-issues/issues/722 2019-12-09 17:49:30 +08:00
d449b1266f 跳转高级认证 2019-12-09 11:31:44 +08:00
6d0c4b18d6 设置页面功能调整顺序 2019-12-09 11:30:32 +08:00
a83d1b5761 Merge branch 'dev_3.7.2' of gitlab.ghzs.com:halo/assistant-android into dev_3.7.2
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java
2019-12-06 16:18:21 +08:00
99d564278e 我的游戏评论 2019-12-06 16:14:36 +08:00
482f45d43f 我的光环页面改版 2019-12-06 16:13:36 +08:00
21335a843a 版本以及API升到3.7.2 2019-12-06 10:21:50 +08:00
1facde123e 3.7.1_tinker-base 2019-12-05 18:31:21 +08:00
d02a527b36 光环助手V3.7.2-新增游戏时长功能(基本完成数据提交部分) https://gitlab.ghzs.com/pm/halo-app-issues/issues/722 2019-12-05 18:10:35 +08:00
8f9d6ed2ce 完成20191202测试汇总的20191205补充 https://gitlab.ghzs.com/pm/halo-app-issues/issues/714 2019-12-05 17:52:25 +08:00
e43902be79 首页下载统计 下载位置补充 2019-12-04 19:27:17 +08:00
0f5f8861a7 修复问答推荐默认排序规则混乱问题 2019-12-04 15:10:17 +08:00
cb08886d27 修复启动图显示问题(与系统底部控制栏重叠) 2019-12-04 14:51:10 +08:00
322ec56787 修复光环助手1202测试问题汇总(20191204的3,4,6) https://gitlab.ghzs.com/pm/halo-app-issues/issues/714 2019-12-04 11:56:14 +08:00
75883e11d8 权限弹窗优化(引导设置 “通知管理” 第二期)https://gitlab.ghzs.com/pm/halo-app-issues/issues/716 2019-12-04 11:54:37 +08:00
60b12a3bdf Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-12-04 11:30:09 +08:00
26a66e3a2b 更换启动图 2019-12-04 11:29:35 +08:00
e86e78a665 添加默认打包渠道号 2019-12-03 16:07:13 +08:00
3ba68abbee 优化首页刷新问题 补充 2019-12-03 15:45:58 +08:00
a46ba32f06 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-03 15:21:25 +08:00
82348b519a 优化首页刷新问题 2019-12-03 15:20:53 +08:00
8315a50d49 绕过广点通SDK初始化限制避免启动耗时过长 2019-12-03 11:50:21 +08:00
dca07831db 新增 徽章中心 MTA事件 2019-12-03 09:51:34 +08:00
d568dd0791 修复邀请回答页面用户名显示越界问题 2019-12-03 09:31:13 +08:00
9dbfc68488 Merge branch '3.7.0_servers_reverse' into dev 2019-12-02 19:34:24 +08:00
0b46e0ef8e 邀请回答徽章位置修改 2019-12-02 18:27:58 +08:00
472604bc15 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-02 17:49:07 +08:00
58a2d38518 修复DownloadItemUtils下载按钮点击回调混乱顺序问题 2019-12-02 17:48:54 +08:00
c91186be8a 修复启动页的虚拟按键显示问题 2019-12-02 17:37:49 +08:00
03235438bc Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2019-12-02 17:18:49 +08:00
d015285f1a 更换启动图 2019-12-02 17:17:42 +08:00
45323a6817 MTA数据补充 2019-12-02 16:59:18 +08:00
bcc8d35654 进入评论MTA数据修改 2019-12-02 16:07:16 +08:00
9137b65f4a 粉丝/关注页面MTA数据 2019-12-02 16:01:29 +08:00
fbc9dac99e 修复安利墙分页问题 2019-12-02 15:41:09 +08:00
c27a6e06ad 更换启动图 2019-12-02 15:03:07 +08:00
07970fcbae Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2019-12-02 00:13:19 +08:00
0b3e250386 优化启动图 2019-12-02 00:11:48 +08:00
13b1ba613d 完成(20191129-1730)测试问题汇总的20191201测试 https://gitlab.ghzs.com/pm/halo-app-issues/issues/712 2019-12-01 23:54:15 +08:00
5a1feb4500 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-01 23:21:22 +08:00
cc7accbc95 首页轮播图增加预约功能 2019-12-01 23:14:10 +08:00
42a83ea0c5 Merge remote-tracking branch 'origin/dev' into dev 2019-12-01 23:04:13 +08:00
39f84442cd 调整 chucker 编译脚本 2019-12-01 23:04:04 +08:00
047c25b0b7 完成1201-1500测试问题汇总的16,18 https://gitlab.ghzs.com/pm/halo-app-issues/issues/713 2019-12-01 23:02:24 +08:00
045f21beac Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-01 22:49:31 +08:00
8a64460097 更换启动图 2019-12-01 22:49:20 +08:00
195d039904 完成3.7.1测试问题汇总的9 https://gitlab.ghzs.com/pm/halo-app-issues/issues/713 2019-12-01 21:54:28 +08:00
bcf77433b9 公告评论徽章入口 2019-12-01 21:47:02 +08:00
3a122a7137 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-01 21:41:18 +08:00
354d286a98 光环助手V3.7.1 RELEASE(20191201-1500)测试问题汇总(1.2.7) https://gitlab.ghzs.com/pm/halo-app-issues/issues/713 2019-12-01 21:41:06 +08:00
bfccc1c9b8 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-01 21:14:26 +08:00
80767c17b2 光环助手V3.7.1 RELEASE(20191201-1500)测试问题汇总(5,8,10) https://gitlab.ghzs.com/pm/halo-app-issues/issues/713 2019-12-01 21:14:17 +08:00
0a9185462e 完成3.7.1测试问题汇总的3 https://gitlab.ghzs.com/pm/halo-app-issues/issues/713 2019-12-01 21:13:58 +08:00
c058d3f8c1 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-01 20:57:05 +08:00
70655da2e7 限制网页标题变化 2019-12-01 20:57:00 +08:00
51f8c15af6 修复微信分享问题 2019-12-01 19:37:43 +08:00
20d6984057 首页轮播图加上占位符,图片加载完成再显示渐变阴影 2019-12-01 17:56:56 +08:00
f26813c137 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-01 17:26:38 +08:00
e2a265c3c7 光环助手V3.7.1 RELEASE(20191129-1730)测试问题汇总(1.2.3.4.5) https://gitlab.ghzs.com/pm/halo-app-issues/issues/712 2019-12-01 17:26:23 +08:00
e840daa340 禁用 webview 安全浏览 2019-12-01 17:23:37 +08:00
c54df5336d 光环助手V3.7.1 RELEASE(20191129-1730) 测试问题汇总https://gitlab.ghzs.com/pm/halo-app-issues/issues/712 2019-12-01 17:17:47 +08:00
4ec97409a8 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-01 16:04:52 +08:00
31b5568dfa 轮播图初始化时定位到第一张
修复首页评分无法显示问题
2019-12-01 16:04:42 +08:00
10cfc6521d 修改个人主页MTA 2019-12-01 15:01:52 +08:00
bfdbc7fc92 修复单图跳转排行榜与多图跳转不一致的问题 2019-12-01 14:44:44 +08:00
ead332d863 修复安利墙闪退问题 2019-12-01 14:27:44 +08:00
b8fd666e84 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2019-12-01 14:20:10 +08:00
fb6e3637de 修复引导图显示异常问题 2019-12-01 14:19:03 +08:00
2db519f9e0 去掉多余的时间戳后缀 2019-12-01 14:10:11 +08:00
f55aeaf3d4 20191201测试https://gitlab.ghzs.com/pm/halo-app-issues/issues/682 2019-12-01 11:59:49 +08:00
2340d4957b 视频上传存草稿/提交防抖 补充 2019-12-01 11:05:25 +08:00
7bed914a92 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2019-12-01 11:04:05 +08:00
4b9f86a4bb 修复首页MTA统计异常事件 2019-12-01 11:01:22 +08:00
a1844e15e1 Merge remote-tracking branch 'origin/dev' into dev 2019-12-01 10:39:40 +08:00
148589a6c5 完成光环助手v3.7.1测试汇总的第5点 https://gitlab.ghzs.com/pm/halo-app-issues/issues/711 2019-12-01 10:39:31 +08:00
2902a8b441 视频上传存草稿/提交防抖 2019-12-01 10:39:15 +08:00
b410016fae Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-12-01 10:23:05 +08:00
0d56448bfd 光环助手V3.7.1 DEV(20191129-1730)测试问题汇总(1.2.3) https://gitlab.ghzs.com/pm/halo-app-issues/issues/711 2019-12-01 10:22:55 +08:00
326c292572 评论详情徽章入口 2019-12-01 09:44:04 +08:00
afdaef1a64 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-11-29 18:27:35 +08:00
9bcd4b8e95 首页安利墙徽章入口 2019-11-29 18:27:30 +08:00
4d455f13b6 Merge remote-tracking branch 'origin/dev' into dev 2019-11-29 18:00:11 +08:00
94eea3aa90 完成光环助手v3.7.1测试汇总的第4点 https://gitlab.ghzs.com/pm/halo-app-issues/issues/711 2019-11-29 18:00:02 +08:00
b00f47dd99 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-11-29 17:07:49 +08:00
20a4427e08 修改徽章入口问题 2019-11-29 17:07:43 +08:00
3287f31e2c 修复安利墙异常 MTA 异常事件 2019-11-29 17:02:24 +08:00
fbb6b01585 完成对已安装游戏标记为玩过游戏弹窗的排重处理 https://gitlab.ghzs.com/pm/halo-app-issues/issues/696 2019-11-29 16:33:06 +08:00
f07d1b7257 去掉旧引导遮罩 https://gitlab.ghzs.com/pm/halo-app-issues/issues/708 2019-11-29 16:20:22 +08:00
45d2d958a2 客服消息支持跳转至游戏详情评论tab https://gitlab.ghzs.com/pm/halo-app-issues/issues/683 2019-11-29 15:49:13 +08:00
2ba2498f6b Merge remote-tracking branch 'origin/dev' into dev 2019-11-29 15:40:08 +08:00
d76dada9f8 调整安利墙列表标签样式 2019-11-29 15:39:59 +08:00
28b63ee21b Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-11-29 15:30:07 +08:00
90ea78eb39 首页相关标签颜色修改 2019-11-29 15:29:57 +08:00
0cda0e93f0 完成排行榜1129测试补充的第2点 https://gitlab.ghzs.com/pm/halo-app-issues/issues/699 2019-11-29 15:00:20 +08:00
2e0469f915 完成安利墙1128测试补充的 2~5 https://gitlab.ghzs.com/pm/halo-app-issues/issues/680 2019-11-29 14:43:15 +08:00
fdfbd23963 修改首页 bottom bar 图标 2019-11-29 10:13:36 +08:00
5f8b11f8e0 首页安利墙snap定位向右偏移4dp 2019-11-28 21:00:58 +08:00
a1df2f6ca6 首页UI调整 2019-11-28 20:34:58 +08:00
1d0d0e40de Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/res/layout/fragment_main.xml
#	app/src/main/res/values/dimens.xml
2019-11-28 19:55:08 +08:00
b3e5144cea 修改首页底部控制台UI
板块推荐入口接入安利墙/开服表
2019-11-28 19:49:32 +08:00
aed74449b0 更换引导图 2019-11-28 18:24:54 +08:00
45dc231024 完成10月第四周优化(8~12, 14) https://gitlab.ghzs.com/pm/halo-app-issues/issues/685 2019-11-28 18:17:13 +08:00
c1a223f120 完成"排行榜"功能1128测试补充 https://gitlab.ghzs.com/pm/halo-app-issues/issues/699 2019-11-28 17:26:51 +08:00
4a926997aa Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-11-28 16:48:36 +08:00
ae764b95fb DefaultJsApi添加跳转登录页面方法 2019-11-28 16:48:29 +08:00
7bba3f8b4d 游戏评分徽章入口图标优化 2019-11-28 16:47:38 +08:00
b2ad804d3c 微调微信登录结构 2019-11-28 15:29:08 +08:00
c49fa5cd3d 修复游戏预约微信提醒服务1128测试问题 https://gitlab.ghzs.com/pm/halo-app-issues/issues/675 2019-11-28 15:11:06 +08:00
92b5e28675 1128测试问题10 11(1)https://gitlab.ghzs.com/pm/halo-app-issues/issues/695 2019-11-28 11:55:03 +08:00
4afa5f6bc6 调整我的光环-微信预约位置 2019-11-28 11:42:10 +08:00
fbdc31aa97 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2019-11-28 11:22:36 +08:00
4eedfadc22 启动速度优化 2019-11-28 11:21:33 +08:00
3432a6c39f 1128测试问题(10)https://gitlab.ghzs.com/pm/halo-app-issues/issues/695 2019-11-28 10:42:55 +08:00
7e7c2180ce 更换广点通帐号 https://gitlab.ghzs.com/pm/yunying/issues/893 2019-11-28 10:22:33 +08:00
0386446a00 游戏评论编辑去除空行 2019-11-28 10:03:51 +08:00
09853e4187 标记已玩过的数据后页面刷新 2019-11-28 10:02:57 +08:00
40020fa617 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-11-28 09:39:14 +08:00
cc68c15824 处理空指针闪退 2019-11-28 09:38:48 +08:00
7aa874a0e3 修改问题草稿显示规则(草稿存储以社区ID为唯一标识,同设备可跨账号使用) 2019-11-28 09:38:46 +08:00
8203e5b568 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-11-27 20:31:44 +08:00
4f54bca286 首页安利墙交互修改
首页轮播图UI修改
首页去除“xxx想玩”
2019-11-27 20:31:31 +08:00
087479325d 完成 20191126测试(4)https://gitlab.ghzs.com/pm/halo-app-issues/issues/682 2019-11-27 18:31:40 +08:00
357b2c2a60 完成 1127测试问题(1-7)https://gitlab.ghzs.com/pm/halo-app-issues/issues/696 2019-11-27 18:16:09 +08:00
e1918b56e2 DownloadProgressBar add slide style 2019-11-27 16:11:49 +08:00
1f31d1e614 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-11-27 15:43:15 +08:00
f5468c5f11 首页UI间距调整 2019-11-27 15:43:08 +08:00
672cf331ea 评论徽章入口修改 2019-11-27 15:21:37 +08:00
348ad0faed 徽章系统入口及MTA数据统计 2019-11-27 15:02:33 +08:00
ae742547d8 调整安利墙随机逻辑 2019-11-26 17:24:52 +08:00
ff1c01c836 游戏评分增加来源 2019-11-26 16:45:48 +08:00
a645a3c929 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-11-26 16:15:31 +08:00
37c590400e 修复首页推荐入口有可能出现的闪退问题
修复首页刷新时轮播图动画异常问题
2019-11-26 16:15:21 +08:00
785e2d8cf5 适配启动页在挖孔屏上的状态栏显示 2019-11-26 15:38:39 +08:00
03d25cb102 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-11-26 15:21:44 +08:00
869dd9ac11 启动页添加启动图标 2019-11-26 15:21:38 +08:00
f647e172bd 调整安利墙下拉刷新进度指示的位置 2019-11-26 15:18:49 +08:00
7069200c6e 更换设置微信提醒图标 2019-11-26 14:26:00 +08:00
c61cfcbed9 优化首页刷新问题
修复轮播图游戏名显示异常问题
2019-11-26 11:38:53 +08:00
67eddc99ef 修复 data 后台数据上报异常 2019-11-26 09:57:15 +08:00
03fd5aaf09 修复部分安利墙页面专题点击闪退问题 2019-11-25 21:04:34 +08:00
31a8f5e5c7 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-11-25 18:26:12 +08:00
b7c6460c0e 修改评论光标问题 2019-11-25 18:26:07 +08:00
538c096b8f 修复部分安利墙页面的页面显示问题 https://gitlab.ghzs.com/pm/halo-app-issues/issues/680 2019-11-25 18:13:59 +08:00
d05c738696 标记已安装游戏弹窗 2019-11-25 15:55:45 +08:00
976035da22 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-11-25 14:58:30 +08:00
d47fd51c7c 20191121测试(1,2)https://gitlab.ghzs.com/pm/halo-app-issues/issues/682 2019-11-25 14:58:20 +08:00
a047c65efd 适配后台游戏类型新增福利游戏 https://gitlab.ghzs.com/pm/halo-app-issues/issues/706 2019-11-25 09:12:53 +08:00
5bbb6b1c89 整理专题详情代码(删除用rows页面实现的排行榜代码) 2019-11-22 18:02:03 +08:00
95432cb591 修改首页下载按钮文案
修复首页刷新时可能会出现的闪退问题
2019-11-22 17:36:37 +08:00
04862e7f22 重新实现首页轮播图自动轮播逻辑 2019-11-22 17:16:29 +08:00
abafd0bb24 首页安利墙优化 2019-11-22 11:45:34 +08:00
aa83617796 专题排行榜 MTA数据统计 2019-11-21 18:14:02 +08:00
a5b8806997 重新实现专题排行榜 https://gitlab.ghzs.com/pm/halo-app-issues/issues/699 2019-11-21 17:53:55 +08:00
7a70c0158e Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-11-20 15:27:31 +08:00
74f5972874 修复首页断网刷新问题 2019-11-20 15:27:16 +08:00
b01a29d2e9 修改冲突 2019-11-20 12:17:15 +08:00
88bd0dc9f5 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/res/layout/fragment_home.xml
2019-11-20 11:51:58 +08:00
c7b6d44874 对接个人主页徽章接口 2019-11-20 11:51:36 +08:00
8b6e01929b 完成 3.7.1 数据后台数据统计需求 https://gitlab.ghzs.com/pm/halo-app-issues/issues/706 2019-11-20 10:59:02 +08:00
2ecba00d2a 完成3.7.1 MTA数据统计需求 https://gitlab.ghzs.com/pm/halo-app-issues/issues/705 2019-11-20 10:18:02 +08:00
851fcaab13 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-11-19 17:37:49 +08:00
e1b9504421 修改安利墙游戏标签个数限制 2019-11-19 17:37:41 +08:00
247e8ed6cc 修复安利墙点赞数据刷新不及时的问题 2019-11-19 16:47:57 +08:00
996d1be136 拆分首页横向专题(补充) 2019-11-19 16:25:49 +08:00
a249d4d572 拆分首页横向专题 2019-11-19 16:16:39 +08:00
c91d52d753 优化自动轮播问题 2019-11-19 15:26:39 +08:00
0c37db444a 光环前端优化汇总(2019年10月第4周)(13.15)https://gitlab.ghzs.com/pm/halo-app-issues/issues/685 2019-11-19 10:02:58 +08:00
eb93f1d915 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-11-18 21:17:53 +08:00
74e6c9b145 轮播图,触控到轮播区域暂停自动轮播
双击底部导航栏时相关列表自动回到顶部
2019-11-18 21:17:47 +08:00
f15e630fd1 网络错误统计过滤初始化请求 2019-11-18 17:23:58 +08:00
01ee84caa8 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-11-18 16:22:57 +08:00
311a1916d1 搜索工具栏修改 2019-11-18 16:22:50 +08:00
ae43ae1b97 修复安利墙嵌套专题导致顶部图片不跟随滑动的问题 2019-11-18 15:45:18 +08:00
d9814bbb1f 正式环境接口切换至 3.7.1 2019-11-18 11:17:26 +08:00
dba8abacf2 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-11-15 18:44:57 +08:00
3ee1474535 删除游戏模块原首页相关代码
光环助手V3.7.1-新增游戏库入口管理 https://gitlab.ghzs.com/pm/halo-app-issues/issues/697
2019-11-15 18:44:46 +08:00
8481e923ee 修改 EllipsizeTextView 2019-11-15 18:27:42 +08:00
53cfb0f078 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-11-15 18:22:23 +08:00
233277f6e8 TextView using Spannable,ellipsize doesn't work 2019-11-15 18:21:55 +08:00
dbd75cb513 光环前端优化汇总(2019年11月第3周)(21) https://gitlab.ghzs.com/pm/halo-app-issues/issues/703 2019-11-15 18:21:02 +08:00
bae14a54a1 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-11-15 17:26:56 +08:00
9c48afca77 提问草稿规则优化 2019-11-15 17:26:46 +08:00
54ebc460fa 修复微博登录失效的问题 2019-11-15 17:24:50 +08:00
901e9a39f9 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-11-15 17:16:13 +08:00
2ebd12c6db 主题颜色撤回更改 2019-11-15 17:16:05 +08:00
c762529b8b 更换主题颜色 2019-11-15 16:59:36 +08:00
3c371038cf 完成安利墙的旧首页功能 https://gitlab.ghzs.com/pm/halo-app-issues/issues/680 2019-11-15 16:49:46 +08:00
0350c19c81 分离新首页的旧首页部分 2019-11-15 16:49:15 +08:00
ebace67201 提问问题增加草稿功能 2019-11-15 16:31:20 +08:00
cbe6e2e3bd 光环助手V3.7.1-隐藏评分支持修改(完成) https://gitlab.ghzs.com/pm/halo-app-issues/issues/687 2019-11-15 11:16:48 +08:00
4adefc885b 首页大图游戏设置随机占位符 2019-11-15 09:58:05 +08:00
cade2882e4 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-11-14 16:52:01 +08:00
8c0f2fd527 补全首页相关的MTA统计 2019-11-14 16:51:53 +08:00
56809d8d66 光环前端优化汇总(2019年11月第3周)(20)https://gitlab.ghzs.com/pm/halo-app-issues/issues/703 2019-11-14 15:54:55 +08:00
14772494be 完成11月第三周测试汇总的 3,4,6,7,8,9 https://gitlab.ghzs.com/pm/halo-app-issues/issues/703 2019-11-14 11:22:49 +08:00
4bbec7344f 首页轮播图增加轮播定时器以及修改相关间距 2019-11-14 10:04:48 +08:00
9907863ef5 首页专题的一些回调由接口改为闭包 2019-11-13 17:33:17 +08:00
adfbe36fdf 调整首页专题合集回调结构 2019-11-13 17:09:28 +08:00
3cfb9ac1c3 完成首页相关的跳转以及部分MTA统计 2019-11-13 17:05:45 +08:00
2004b85a12 完成首页相关的跳转以及部分MTA统计 2019-11-13 17:00:59 +08:00
7dd3b5f122 完成新增"排行榜"功能 https://gitlab.ghzs.com/pm/halo-app-issues/issues/699 2019-11-13 16:31:49 +08:00
c849746a6f 光环助手V3.7.1-个人主页改版(第二期)MTA数据统计 2019-11-13 15:52:50 +08:00
a9582bc295 光环前端优化汇总(2019年11月第3周)(19)https://gitlab.ghzs.com/pm/halo-app-issues/issues/703 2019-11-13 15:06:07 +08:00
fd49defe00 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-11-13 11:43:12 +08:00
650a24775a 首页新增样式添加下载监听 2019-11-13 11:43:00 +08:00
b62a864a7d 添加安利墙评价内容标签 2019-11-13 09:53:26 +08:00
b76e10bdfc Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-11-12 18:41:17 +08:00
4311205e62 光环前端优化汇总(2019年11月第3周)(11-18) https://gitlab.ghzs.com/pm/halo-app-issues/issues/703 2019-11-12 18:41:12 +08:00
69bc1c971d 首页游戏部分Item的实现抽离到相应的ViewHolder 2019-11-12 17:39:38 +08:00
f13c720bcc 3.7.0-splash tinker base 2019-11-12 16:21:00 +08:00
63f66e9714 更换引导图 2019-11-12 16:14:54 +08:00
25d8ed079c Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-11-12 16:05:03 +08:00
b923714b42 首页接入专题相关的下载监听 2019-11-12 16:04:54 +08:00
178295596a Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-11-12 14:06:20 +08:00
2e1dae86e0 MTA数据统计 2019-11-12 14:05:08 +08:00
4bb0206d2d 完成安利墙假置顶 https://gitlab.ghzs.com/pm/halo-app-issues/issues/680 2019-11-12 11:07:38 +08:00
23cda9c121 调整个人主页命名避免撞车 2019-11-12 11:06:17 +08:00
a1d0b59e28 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-11-11 19:40:31 +08:00
9de8e61b1b 新版首页兼容专题/插件化以及相关部分数据补全 2019-11-11 19:40:18 +08:00
be1188e8e4 安利墙列表更换数据结构 2019-11-11 18:41:43 +08:00
fdaefa52ab 补充安利墙搜索内容为空时的样式 https://gitlab.ghzs.com/pm/halo-app-issues/issues/680 2019-11-11 18:25:11 +08:00
d667e70b90 完成部分安利墙搜索功能 https://gitlab.ghzs.com/pm/halo-app-issues/issues/680 2019-11-11 17:45:27 +08:00
6184acc144 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-11-08 18:21:28 +08:00
6f012dc459 标记已玩过弹窗 2019-11-08 18:21:23 +08:00
94774c674a 首页游戏部分Item的实现抽离到相应的ViewHolder 2019-11-08 17:46:30 +08:00
3bda3354f0 3.7.0-servers_reverse-https tinker base 2019-11-08 15:52:45 +08:00
8a56459375 data host 由http改为https 2019-11-08 15:47:35 +08:00
aeb689648f Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/res/values/colors.xml
2019-11-08 15:34:45 +08:00
761d4c3354 完成部分新版首页 https://gitlab.ghzs.com/pm/halo-app-issues/issues/678 2019-11-08 15:33:15 +08:00
90899e7d1f 整理 SearchActivity 代码 2019-11-08 11:10:52 +08:00
9e9d8b7149 引入 core-ktx 依赖 2019-11-08 11:09:31 +08:00
f774df532c 调整游戏详情页部分样式(细节待微调) https://gitlab.ghzs.com/pm/halo-app-issues/issues/685 2019-11-07 16:58:19 +08:00
d85c4533b7 完成简单的安利墙列表(暂缺首页专题) https://gitlab.ghzs.com/pm/halo-app-issues/issues/680 2019-11-07 16:56:46 +08:00
79aeca832a 更新版本至 3.7.1 2019-11-07 11:00:48 +08:00
50931b1fb6 修改删除评论崩溃 2019-11-07 09:42:46 +08:00
63bd0cdebb Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-11-06 18:01:19 +08:00
8880d381db 完成光环助手V3.7.1-游戏详情评分优化(前端)https://gitlab.ghzs.com/pm/halo-app-issues/issues/682 2019-11-06 18:00:52 +08:00
4eccd3b2ac Merge remote-tracking branch 'origin/dev' into dev 2019-11-05 17:22:16 +08:00
716ba77d3e 完善微信绑定 2019-11-05 17:22:00 +08:00
4053eec64c Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-11-05 16:57:36 +08:00
b11463b0f7 首页游戏,用recyclerView重新实现纵向滑动样式 2019-11-05 16:57:28 +08:00
109ada8e8b data 数据接口切换至 https 2019-11-05 16:49:03 +08:00
ab32670b40 3.7.0-servers_reverse tinker base 2019-11-05 10:50:58 +08:00
92f82099b5 总开服表开服/开测页面置换 2019-11-05 10:29:57 +08:00
e41b7434c9 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-11-05 09:39:51 +08:00
9c79df6d6e 增加方法让内嵌网页知道是否处于测试环境 2019-11-04 18:18:39 +08:00
fe1f491104 Merge branch 'dev_3.7.1' into 'dev'
Dev 3.7.1

See merge request !8
2019-11-04 18:09:53 +08:00
652bdf9f1d 对接修改评论接口、取消游戏评论点赞 2019-11-04 17:30:49 +08:00
36b13d6d28 游戏评分取消点赞 2019-11-01 15:08:24 +08:00
53b58b63a2 主题修改 2019-11-01 10:51:40 +08:00
6b0f298a2d 移除由引导页进去主页的延迟操作 2019-10-31 18:18:04 +08:00
08bc8bc49e 补充提交遗漏文件 2019-10-31 12:12:23 +08:00
c8b436de94 Merge remote-tracking branch 'origin/dev_3.7.1' into dev_3.7.1 2019-10-31 11:51:00 +08:00
82b6323f72 补充提交遗漏代码 2019-10-31 11:50:49 +08:00
6664bc9e62 fix build error 2019-10-31 11:47:08 +08:00
544dc67d0d Merge branch 'dev_3.7.1' of gitlab.ghzs.com:halo/assistant-android into dev_3.7.1 2019-10-31 11:41:04 +08:00
d55c4d12bc Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev_3.7.1
# Conflicts:
#	app/src/main/AndroidManifest.xml
#	app/src/main/java/com/gh/base/ToolBarActivity.java
2019-10-31 11:40:54 +08:00
707bc9bb1a ToolBarActivity和BaseActivity层级更换
设置启动默认闪屏图片(却缺失启动图片,待完成),防止启动时长时间处于无响应状态
2019-10-31 11:34:35 +08:00
41806eab54 基本完成游戏预约微信提醒服务的 APP 部分 https://gitlab.ghzs.com/pm/halo-app-issues/issues/675 2019-10-31 11:12:05 +08:00
443c3bf26a 测试环境接口切换至 3.7.1 2019-10-31 11:09:11 +08:00
7ac6e82624 内嵌网页新增绑定微信类型 2019-10-31 09:54:18 +08:00
87106de6d6 提供更多的 API 供内嵌网页调用 2019-10-30 18:17:18 +08:00
c52d94b003 Merge branch 'dev_3.7.1' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-30 16:55:37 +08:00
5ac13f2107 调整QQ,微博和微信等第三方登录相关的代码结构 2019-10-30 16:50:48 +08:00
baa22ae9c9 3.7.0 tinker base 2019-10-30 16:39:42 +08:00
dba3854e40 设置 largeHeap=true 以分配尽量大的内存预防OOM 2019-10-30 16:16:02 +08:00
1f06810592 修复游戏详情页 toolbar 滑动造成的 卡顿/OOM 问题 2019-10-30 16:00:16 +08:00
2861e8cfee 修复专题合集分页问题 2019-10-30 14:03:02 +08:00
9269548d64 V3.7.1游戏详情评分优化UI 2019-10-30 11:59:06 +08:00
712399e9da 3.7.0 tinker base 2019-10-29 18:07:15 +08:00
1654d36126 工具箱顶部返回按钮调整为点击关闭页面 https://gitlab.ghzs.com/pm/halo-app-issues/issues/686 2019-10-29 10:55:00 +08:00
245e113d76 修复视频相关分页问题 2019-10-28 18:12:13 +08:00
8b35993e99 修复纵向专题存在头图时显示异常问题 2019-10-28 16:00:36 +08:00
3dcaf7b50e 修改视频合集UI 2019-10-25 17:19:56 +08:00
58d4b5e612 列表刷新问题 2019-10-25 16:34:14 +08:00
caf0852f28 修改首页游戏/板块的列表刷新方式(防止列表刷新抖动)
部分页面捕获由于列表刷新导致的闪退问题
2019-10-25 16:19:02 +08:00
558fe249ac Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-25 11:50:26 +08:00
20b0c83fc0 首页社区引导提示UI适配 2019-10-25 11:50:19 +08:00
0c3020f7b3 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-25 11:39:51 +08:00
fce10714ae 20191025测试补充 3 https://gitlab.ghzs.com/pm/halo-app-issues/issues/674 2019-10-25 11:39:43 +08:00
8055856dd7 修复个人主页某些区域无法滑动的问题 2019-10-25 10:04:46 +08:00
a8c540f122 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-25 09:49:12 +08:00
ccf117656a 横向游戏列表的游戏名称换行时自动补全 2019-10-25 09:49:06 +08:00
6b5cf36957 修复应用内网页跳转闪退的问题 2019-10-24 18:23:00 +08:00
201f0317a2 修复 MTA 字段统计问题 2019-10-24 18:15:32 +08:00
ea9bb99afa 完成3.7.0(1022测试汇总)(11~14) https://gitlab.ghzs.com/pm/halo-app-issues/issues/674 2019-10-24 18:11:31 +08:00
51609dea83 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-24 18:07:36 +08:00
d9788434f3 修改bufferPoint的问题、游戏详情页面图标 2019-10-24 18:07:31 +08:00
b0d433b5c8 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-24 15:30:47 +08:00
df3dd297c1 光环助手V3.7.0 RELEASE(20191022-1830)测试汇总(7.8.9.10.15) https://gitlab.ghzs.com/pm/halo-app-issues/issues/674 2019-10-24 15:30:39 +08:00
1a9ee5e3cb Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-24 10:35:45 +08:00
a22da040e0 光环助手V3.7.0 RELEASE(20191022-1830)测试汇总(3,4,5) https://gitlab.ghzs.com/pm/halo-app-issues/issues/674 2019-10-24 10:35:39 +08:00
4c0ee93826 修复 MTA 视频播放统计问题 2019-10-24 10:24:03 +08:00
759a22fc52 修复 chucker 返回体没有格式化的问题 2019-10-24 09:15:30 +08:00
066b667bd8 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-23 17:48:35 +08:00
91e5e4f53b 链接跳转如果没有目标页面,则默认跳转至首页 2019-10-23 17:48:27 +08:00
7cfd1a9c7d 修改视频播放布局 2019-10-23 15:54:55 +08:00
ed78421d9b 修改视频播放布局 2019-10-23 15:42:01 +08:00
0e85be5dc6 视频详情播放优化 2019-10-23 14:51:49 +08:00
23721ad189 视频上传,视频类型使用真实的视频类型(使用MimeType获取) 2019-10-22 18:24:28 +08:00
50c7f6514e 弹窗偏移 2019-10-22 17:27:41 +08:00
7818370d7e Merge remote-tracking branch 'origin/dev' into dev 2019-10-21 23:49:51 +08:00
2f05256103 播放完立马刷新游戏详情顶部视频封面图 2019-10-21 23:49:34 +08:00
ed1dc14bc5 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-21 23:40:26 +08:00
ae2b0e9d7e 修改视频上传文案 2019-10-21 23:39:11 +08:00
b9d23115c6 还原启动页的权限申请 2019-10-21 23:33:24 +08:00
c72da10e56 修复游戏详情页顶部视频全屏播放完以后没有封面图的问题,修复游戏详情顶部视频无网络有缓存时会弹错误toast的问题 2019-10-21 23:19:51 +08:00
a4f4b0c3f9 视频投稿优化 2019-10-21 22:54:32 +08:00
5c0a51be73 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2019-10-21 22:52:51 +08:00
069b6d7df6 上传优化 2019-10-21 22:51:31 +08:00
fea7aee20b Merge remote-tracking branch 'origin/dev' into dev 2019-10-21 22:44:58 +08:00
26dd26d7c0 修复资讯文章评论内容点击效果失效的问题 2019-10-21 22:44:48 +08:00
4e06147b82 去除toast生命周期限制 2019-10-21 22:16:52 +08:00
1065abcd44 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-21 22:06:52 +08:00
cf5e40788b 视频上传修改toast文案 2019-10-21 22:06:43 +08:00
93ff2651c4 Merge remote-tracking branch 'origin/dev' into dev 2019-10-21 21:49:50 +08:00
de9689c1a2 webview 支持 scheme 为 ghzhushou 的超链接 2019-10-21 21:49:40 +08:00
24379be99d Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-21 21:25:08 +08:00
75bec6e967 光环助手V3.7.0 RELEASE(20191021-1000)视频测试汇总 (1.2.3.4.5.12.13.14.15) https://gitlab.ghzs.com/pm/halo-app-issues/issues/672 2019-10-21 21:24:56 +08:00
c3eb5f8d08 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-21 21:24:34 +08:00
13c1866fa2 点击评论内容无反应 2019-10-21 21:24:29 +08:00
4ab8a5b7bb 微调 UI 2019-10-21 21:22:00 +08:00
821434bd7c 光环助手V3.7.0 DEV(20191021-0955)前端测试汇总(5,10)https://gitlab.ghzs.com/pm/halo-app-issues/issues/673 2019-10-21 21:20:09 +08:00
ab3d29d449 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-21 20:37:12 +08:00
1ee5a1d110 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.kt
2019-10-21 20:37:07 +08:00
19910ab0a8 调整分享视频的图片尺寸 https://gitlab.ghzs.com/pm/halo-app-issues/issues/672 2019-10-21 20:36:31 +08:00
727f513431 光环助手V3.7.0 DEV(20191019-1830)视频测试汇总(3,5,6) https://gitlab.ghzs.com/pm/halo-app-issues/issues/671 2019-10-21 20:35:43 +08:00
5eac22f0be 修复游戏详情页多次进入/退出全屏以后出现的异常问题 2019-10-21 20:34:16 +08:00
360efccf4c Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-21 19:38:09 +08:00
57ac0a0bb9 社区选择图片页面只显示图片内容
开服表优化
2019-10-21 19:38:03 +08:00
80c2e34460 调整开服表曝光的来源 2019-10-21 18:09:46 +08:00
78e652ea27 Merge remote-tracking branch 'origin/dev' into dev 2019-10-21 17:49:35 +08:00
fc7d36ac22 补充3.7.0 MTA遗漏事件 https://gitlab.ghzs.com/pm/halo-app-issues/issues/660 2019-10-21 17:49:26 +08:00
1a4e4fedb6 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-21 17:38:13 +08:00
5ff7c58503 光环助手V3.7.0 DEV(20191019-1830)视频测试汇总(12) https://gitlab.ghzs.com/pm/halo-app-issues/issues/671 2019-10-21 17:38:08 +08:00
25488e9100 完成开服表的 MTA 统计 https://gitlab.ghzs.com/pm/halo-app-issues/issues/660 2019-10-21 17:35:12 +08:00
d4bf86f717 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-21 17:28:44 +08:00
1cd463968e 视频上传相关优化 2019-10-21 17:28:37 +08:00
6388941e81 完成3.7.0(1019测试汇总)(1~2, 17~19, 23~27) https://gitlab.ghzs.com/pm/halo-app-issues/issues/671 2019-10-21 16:54:39 +08:00
48dd87ce26 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-21 16:42:41 +08:00
76643aae59 光环助手V3.7.0 DEV(20191019-1820)前端测试汇总(2.3.4.5.6.7.13.14)https://gitlab.ghzs.com/pm/halo-app-issues/issues/670 2019-10-21 16:42:24 +08:00
86c9c077bf 3.7.0 DEV(20191019-1830)(4、7-11、13-16、29)https://gitlab.ghzs.com/pm/halo-app-issues/issues/671 2019-10-21 16:37:01 +08:00
6510e620ba 完成3.7.0(1820测试汇总)(9,10,16~18) https://gitlab.ghzs.com/pm/halo-app-issues/issues/670 2019-10-21 12:35:17 +08:00
7d2149ad23 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-21 10:50:13 +08:00
87b3c35ba2 视频详情缓存失败,点重试视频从失败位置播放 2019-10-21 10:50:08 +08:00
f7fdadd4f4 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-20 17:47:15 +08:00
d6ef599b08 光环助手V3.7.0 DEV(20191017-2125)前端测试汇总(7.8.9) https://gitlab.ghzs.com/pm/halo-app-issues/issues/669 2019-10-20 17:47:06 +08:00
4b7a5ad049 视频详情游戏信息逻辑修改 2019-10-20 16:18:52 +08:00
6f3ad4bec4 游戏详情开服表相关修改 2019-10-20 14:46:16 +08:00
87047fe38d 光环助手V3.7.0 DEV(20191017-2125)前端测试汇总(12、13)https://gitlab.ghzs.com/pm/halo-app-issues/issues/669 2019-10-20 10:28:44 +08:00
5627cd9ca2 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/kaifu/refactor/GameServersContentFragment.java
2019-10-20 10:14:06 +08:00
0bfab3ba9c 删除总开服表旧代码
总开服表增加时间栏悬挂
2019-10-20 10:12:29 +08:00
10b692bb2b 曝光区分开测表和开服表 2019-10-19 18:22:24 +08:00
663c415a57 调整隐私弹窗样式 2019-10-19 18:03:11 +08:00
5f60126333 完成MTA数据统计需求(1019测试问题) https://gitlab.ghzs.com/pm/halo-app-issues/issues/660 2019-10-19 17:04:29 +08:00
986b99479d 完成光环助手3.7.0(1017测试汇总)(1~2, 17~19) https://gitlab.ghzs.com/pm/halo-app-issues/issues/669 2019-10-19 16:33:50 +08:00
cbbf4b71c2 完成权限弹窗优化(三) https://gitlab.ghzs.com/pm/halo-app-issues/issues/668 2019-10-19 11:49:21 +08:00
4398bea8d4 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-18 18:30:18 +08:00
e85ac755ae 光环助手V3.7.0 DEV(20191015-1100)视频测试汇总(20)https://gitlab.ghzs.com/pm/halo-app-issues/issues/666 2019-10-18 18:30:12 +08:00
fa2f91cb24 捕获空指针异常 2019-10-18 18:27:43 +08:00
ff30c8d288 修复游戏详情页页面重建会闪退的问题 2019-10-18 18:17:55 +08:00
fd5807d404 社区用户引导提示UI修改 2019-10-18 17:46:01 +08:00
719133a636 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-18 17:33:18 +08:00
5650f65214 光环助手V3.7.0 DEV(20191015-1100)视频测试汇总1(18.22)https://gitlab.ghzs.com/pm/halo-app-issues/issues/667 2019-10-18 17:33:12 +08:00
7bc4c8e661 Base64 图片增加保存后缀 2019-10-18 14:53:38 +08:00
48c7d94edc Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-18 11:38:09 +08:00
2d63db64b2 光环助手V3.7.0 DEV(20191015-1100)视频测试汇总(9-17)https://gitlab.ghzs.com/pm/halo-app-issues/issues/667 2019-10-18 11:38:04 +08:00
3a26750e15 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-18 11:23:34 +08:00
517bd63ac0 光环助手V3.7.0 DEV(20191015-1100)视频测试汇总1(1.2.3.4.5.6.7.8)https://gitlab.ghzs.com/pm/halo-app-issues/issues/667 2019-10-18 11:23:28 +08:00
ef77fca3bb 修复消息中心的闪退问题 2019-10-18 11:11:32 +08:00
dde7ed096a 查看图片支持 BASE64 图片 2019-10-18 10:59:13 +08:00
834db84d43 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-17 21:02:58 +08:00
93e81879fd 光环助手V3.7.0 DEV(20191015-1100)视频测试汇总1(20.21.23.24.25)https://gitlab.ghzs.com/pm/halo-app-issues/issues/667 2019-10-17 21:02:47 +08:00
9263805bb4 隐藏我的关注和我的预约的游戏大小 2019-10-17 21:01:44 +08:00
5467df5850 完成视频测试汇总(18, 19) https://gitlab.ghzs.com/pm/halo-app-issues/issues/666 2019-10-17 20:38:33 +08:00
02836a2dee 修复覆盖安装问题 2019-10-17 19:29:37 +08:00
9747ff1056 修复覆盖安装闪退问题 2019-10-17 18:25:50 +08:00
ce38932e86 光环助手V3.7.0 DEV(20191015-1100)视频测试汇总(一、二)https://gitlab.ghzs.com/pm/halo-app-issues/issues/666 2019-10-17 18:17:19 +08:00
fc76d98fbc 修复撰写社区文章无法显示默认标签问题 2019-10-17 15:25:16 +08:00
4a4f1b86df Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/java/com/gh/common/util/ErrorHelper.kt
2019-10-17 15:05:24 +08:00
6f75f212b8 修复由于禁言数据always_block字段缺失造成的闪退问题 2019-10-17 15:03:45 +08:00
1051d46a79 完成视频详情汇总(16, 17) https://gitlab.ghzs.com/pm/halo-app-issues/issues/666 2019-10-17 14:50:12 +08:00
41bb08d899 处理闪退问题 2019-10-17 11:50:08 +08:00
afef9847b1 处理一些闪退问题 2019-10-17 11:28:58 +08:00
2fe83bcf14 新增供 HTML5 调用的方法 2019-10-17 11:03:11 +08:00
8529980040 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-17 10:30:16 +08:00
fbf11eff3d 修改首页专题UI 2019-10-17 10:30:06 +08:00
1d0e8505f6 适配首页/板块的竖屏滑动专题的曝光统计 2019-10-15 18:26:10 +08:00
332f63e823 调整文案 2019-10-15 18:25:15 +08:00
f5062d554e 修复首页游戏多个竖屏滑动专题闪退问题
竖屏滑动专题适配头图
2019-10-15 17:31:24 +08:00
5d6f3f249b Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-15 14:23:56 +08:00
f6e524ca14 数据库AnswerEntity表增加字段 2019-10-15 14:23:50 +08:00
f5768ee8ae 完成我的游戏-玩过&关注&预约页面优化(20191014测试) https://gitlab.ghzs.com/pm/halo-app-issues/issues/612 2019-10-15 14:22:20 +08:00
53df43b5a8 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-15 14:17:35 +08:00
817004f96d 开服表修改 2019-10-15 14:17:27 +08:00
e54262a320 调整跳转至视频详情的视频列表排序 2019-10-15 11:52:34 +08:00
26ab8355fd 修改游戏上传协议文案 2019-10-15 11:06:10 +08:00
633b5532e2 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailFragment.kt
#	app/src/main/java/com/gh/gamecenter/qa/article/detail/ArticleDetailActivity.kt
2019-10-15 10:19:44 +08:00
68809149c5 光环助手V3.7.0-游戏视频功能-前端5(问答相关)(20191014测试汇总(1.2.4.5))https://gitlab.ghzs.com/pm/halo-app-issues/issues/626 2019-10-15 10:16:27 +08:00
5d8d65f5b5 捕抓空指针异常 2019-10-15 09:44:27 +08:00
d29122af52 完成 Loghub 进入问答上报 https://gitlab.ghzs.com/pm/halo-app-issues/issues/661 2019-10-14 20:57:04 +08:00
53898a0465 调整评论详情关闭下载的按钮UI 2019-10-14 20:41:44 +08:00
9038a41301 微调个人主页UI https://gitlab.ghzs.com/pm/halo-app-issues/issues/640 2019-10-14 20:08:17 +08:00
52349dc043 完成3.7数据统计需求(MTA) https://gitlab.ghzs.com/pm/halo-app-issues/issues/660 2019-10-14 19:59:57 +08:00
26eca76036 问答社区首页UI优化 (1014测试问题)https://gitlab.ghzs.com/pm/halo-app-issues/issues/610 2019-10-14 17:42:25 +08:00
7deb934b5a Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-14 17:05:33 +08:00
b8e02f1ab9 update LGLibrary version 2019-10-14 17:04:56 +08:00
07b2cf3d95 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-14 16:54:36 +08:00
0f06b1e401 修改游戏介绍文字 2019-10-14 16:54:28 +08:00
432553d90b Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-14 16:51:36 +08:00
8a51187f01 修复问答-选择问答专区 游戏名字 和 “当前选择” 显示异常问题 2019-10-14 16:51:27 +08:00
c63a1a1fd2 光环前端优化汇总(2019年10月第3周)(2~4,7~10) https://gitlab.ghzs.com/pm/halo-app-issues/issues/664 2019-10-14 16:49:52 +08:00
ab03b4d88e Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-14 16:47:29 +08:00
bcce233795 光环助手V3.7.0-开服表功能优化(20191014测试) https://gitlab.ghzs.com/pm/halo-app-issues/issues/628 2019-10-14 16:47:19 +08:00
fe77112ca6 修改反射获取bufferPoint导致的NoSuchFieldException问题 2019-10-14 14:17:21 +08:00
e3a4dbbbb3 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/qa/all/AskAllFragment.kt
2019-10-14 10:12:16 +08:00
4a19e7beed 社区相关UI修改 2019-10-14 10:09:07 +08:00
6b6ed81c4a 升级gsyVideo、解决视频详情不能播放问题 2019-10-14 09:56:02 +08:00
d69717d08d Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-10-14 09:34:27 +08:00
e8e43a28d2 完成部分3.7数据统计需求(MTA)(7~10) https://gitlab.ghzs.com/pm/halo-app-issues/issues/660 2019-10-14 09:33:47 +08:00
03a89a1553 完成部分视频测试汇总(游戏详情)(7~10) https://gitlab.ghzs.com/pm/halo-app-issues/issues/660 2019-10-12 18:29:02 +08:00
71eb06ba2c 修改缓冲未完成循环播放问题 2019-10-12 18:00:27 +08:00
4e7a73a450 光环助手V3.7.0-开服表功能优化(20191012测试)https://gitlab.ghzs.com/pm/halo-app-issues/issues/628 2019-10-12 17:42:02 +08:00
a893303517 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-12 15:42:44 +08:00
4ccb5fe7f2 对接社区文章详情和回答详情的视频跳转 2019-10-12 15:42:32 +08:00
21f3ff57bc Merge remote-tracking branch 'origin/dev' into dev 2019-10-12 14:38:36 +08:00
d07d743de9 用户评分点击游戏跳转到游戏详情不再锁定评论tab https://gitlab.ghzs.com/pm/halo-app-issues/issues/650 2019-10-12 14:38:23 +08:00
6c41b1cb9f Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-12 11:24:01 +08:00
1d5206fa8d 光环助手V3.7.0 DEV(20190927-1830)视频详情(测试汇总)(6、7)https://gitlab.ghzs.com/pm/halo-app-issues/issues/659#note_30652 2019-10-12 11:23:54 +08:00
d2d7a84446 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-10-12 09:36:52 +08:00
91218c90fb 调整文案 2019-10-12 09:36:39 +08:00
1db3872cbb Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-12 09:36:21 +08:00
766aca3708 撰写文章文案修改 2019-10-12 09:36:09 +08:00
04a05a4017 完成部分3.7数据统计需求(MTA)(1~6) https://gitlab.ghzs.com/pm/halo-app-issues/issues/660 2019-10-11 18:25:41 +08:00
a46cee919f 完成个人主页改版(第一期)(1011测试问题) https://gitlab.ghzs.com/pm/halo-app-issues/issues/640 2019-10-11 18:18:31 +08:00
f2877e36a6 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-11 17:04:05 +08:00
c8056c5ba9 调整 选择问答专区
UI
2019-10-11 17:03:54 +08:00
1eb95269e8 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-11 16:31:14 +08:00
23906131ec 光环助手V3.7.0 DEV(20190927-1830)视频详情(测试汇总)(5、8、9、10-15)https://gitlab.ghzs.com/pm/halo-app-issues/issues/659 2019-10-11 16:31:09 +08:00
23ca0bfb6f Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-11 16:29:34 +08:00
8c055620d0 光环助手V3.7.0-开服表功能优化(20191011测试) https://gitlab.ghzs.com/pm/halo-app-issues/issues/628 2019-10-11 16:29:29 +08:00
ead2d66295 更改个人主页和游戏详情-评论的展开选项按钮状态 https://gitlab.ghzs.com/pm/halo-app-issues/issues/640 2019-10-11 11:48:10 +08:00
39b9cce4d8 完成视频测试汇总(游戏详情)(9~18) https://gitlab.ghzs.com/pm/halo-app-issues/issues/662 2019-10-11 11:09:29 +08:00
3567909675 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-11 10:32:50 +08:00
d79cc1499f 修复提交视频后无法及时刷新草稿箱问题 2019-10-11 10:32:39 +08:00
9674515171 完成我的游戏-玩过&关注&预约页面优化 20191010测试 https://gitlab.ghzs.com/pm/halo-app-issues/issues/612 2019-10-10 18:29:20 +08:00
2ee39c249c 视频专题优化 2019-10-10 18:09:57 +08:00
2ae6829a65 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-10 17:40:41 +08:00
9c9fb54932 跳转社区问答专区UI 2019-10-10 17:40:27 +08:00
713cb287bb 修改竖直滚动播放视频 2019-10-10 16:20:15 +08:00
b47805cbbf 竖直滚动播放视频 2019-10-10 15:26:35 +08:00
6aa5c7cd74 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/video/detail/VideoDetailContainerFragment.kt
2019-10-10 11:48:23 +08:00
97da1506dd 竖直滚动播放视频 2019-10-10 11:44:35 +08:00
ed193f99a4 修复视频详情的一些显示问题 2019-10-10 11:38:48 +08:00
96f86ff0eb 微调社区搜索UI 2019-10-09 18:27:00 +08:00
f2bcb18688 社区搜索适配视频缩略图 2019-10-09 18:06:06 +08:00
b5f7d78a26 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-09 17:14:55 +08:00
08cdab0f50 光环助手V3.7.0-游戏详情评论优化(20191009测试汇总:3.4.5.6.7) https://gitlab.ghzs.com/pm/halo-app-issues/issues/634 2019-10-09 17:14:38 +08:00
2a2f5b089d 修改20191008测试bug https://gitlab.ghzs.com/pm/halo-app-issues/issues/652 2019-10-09 17:06:55 +08:00
a21ceabfdf 微调个人主页UI 2019-10-09 17:02:15 +08:00
fe4dc13b84 完成3.7.0前端优化汇总(2019年9月第3周)(5,6) https://gitlab.ghzs.com/pm/halo-app-issues/issues/650 2019-10-09 16:51:46 +08:00
70730e8628 基本完成光环助手V3.7.0-个人主页改版(第一期) https://gitlab.ghzs.com/pm/halo-app-issues/issues/640 2019-10-09 16:04:20 +08:00
adceb92796 tabIndicator 支持自定义颜色 2019-10-09 14:31:16 +08:00
55336f6be4 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-08 16:43:43 +08:00
25663d114a fix window.NativeCallBack.isNativeBuildDebug not function 2019-10-08 16:43:24 +08:00
d80592fbb7 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-08 15:47:36 +08:00
7fab331b90 光环助手V3.7.0-问答社区相关(9-12) 2019-10-08 15:46:17 +08:00
6c5c43d595 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-10-08 15:18:06 +08:00
1b49aaa6fc 微调视频相关UI/字体颜色 2019-10-08 15:17:54 +08:00
ed1725f9cc 光环助手V3.7.0-问答社区相关(13) 2019-10-08 11:21:37 +08:00
8d5cc4e983 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/res/values/colors.xml
2019-10-08 10:14:19 +08:00
8a03017ccd 问题/回答/文章详情页面标题靠左 2019-10-08 10:14:01 +08:00
884d5d81f9 视频上传添加失败重试操作 2019-10-07 17:58:24 +08:00
95be563b43 光环助手V3.7.0 DEV(20190918-1830)视频上传(测试汇总)(2.3.7.8.9.10.11.13.15.16.18.19.20.21) https://gitlab.ghzs.com/pm/halo-app-issues/issues/657 2019-10-07 16:09:03 +08:00
6ae6a4e14a 光环助手V3.7.0-游戏视频功能-前端5(问答相关)(2)https://gitlab.ghzs.com/pm/halo-app-issues/issues/626 2019-10-06 17:35:06 +08:00
9b069a97d1 修改游戏评论“精彩评论”显示规则
修复游戏评论回复点赞消息中心红点显示异常问题
2019-10-06 10:31:57 +08:00
25f217217d Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/res/values/colors.xml
2019-09-30 18:33:58 +08:00
322f4fd268 修改问题详情/回答详情UI(15.16) https://gitlab.ghzs.com/pm/halo-app-issues/issues/650#note_30101 2019-09-30 18:33:14 +08:00
da55afb712 完成"社区提问相关功能强化"测试问题 https://gitlab.ghzs.com/pm/halo-app-issues/issues/618 2019-09-30 17:22:58 +08:00
5788052262 Merge remote-tracking branch 'origin/dev' into dev 2019-09-30 16:14:32 +08:00
4a56da6f2e 上传游戏(已完成) 2019-09-30 16:14:10 +08:00
770543fea5 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-09-30 16:09:16 +08:00
ed83feb112 评分相关的评论支持文本复制功能 2019-09-30 16:09:01 +08:00
223f264972 完成"光环助手V3.7.0-新增游戏下载状态" https://gitlab.ghzs.com/pm/halo-app-issues/issues/649 2019-09-30 10:33:37 +08:00
6c6f9f63f6 游戏投稿UI 2019-09-29 17:10:27 +08:00
58f761862f Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2019-09-29 17:08:20 +08:00
3a45de8eb3 问答选择社区页面UI更改 2019-09-29 17:07:24 +08:00
9a0ffb29e0 完成基础的新增游戏下载状态的处理逻辑,暂缺设计图 https://gitlab.ghzs.com/pm/halo-app-issues/issues/649 2019-09-29 16:09:06 +08:00
1d62818348 完成"我的游戏-玩过&关注&预约页面优化"测试问题 https://gitlab.ghzs.com/pm/halo-app-issues/issues/612#note_29333 2019-09-29 14:27:26 +08:00
5be789d100 fix RichEditor keyboard not working 2019-09-29 11:45:39 +08:00
7dd79bd4bb 专题合集优化 2019-09-29 09:56:58 +08:00
d0b6ee897c Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-09-28 10:29:26 +08:00
2f03656869 问答相关的UI更改 2019-09-28 10:28:46 +08:00
5ac51c84b7 还原开服表和分类的下载入口传递的代码,与旧版本保持一致 2019-09-27 18:17:14 +08:00
ce71384dd9 完善通知提示弹窗 2019-09-27 18:12:35 +08:00
2a7db59e6b 补充今日头条SDK激活步骤 2019-09-27 18:11:52 +08:00
e561c13f28 完成引导强化系统“通知管理”功能 https://gitlab.ghzs.com/pm/halo-app-issues/issues/635 2019-09-27 18:03:38 +08:00
12981bd7ff 正式包数据接口切换到 3.7 2019-09-27 14:35:39 +08:00
208250d030 正式包数据接口切换到 3.7 2019-09-27 14:28:50 +08:00
d4598ac96f Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-09-27 11:02:39 +08:00
293451e527 光环助手V3.7.0-新增 专题合集 功能(前端) https://gitlab.ghzs.com/pm/halo-app-issues/issues/645 2019-09-27 11:02:14 +08:00
fe19c84049 基本完成光环助手V3.7.0-游戏视频功能-前端4 https://gitlab.ghzs.com/pm/halo-app-issues/issues/625 2019-09-27 09:55:37 +08:00
7e0d5c3416 首页游戏横向item游戏名字适配 2019-09-26 14:53:36 +08:00
319fe2f556 完成游戏详情页游戏视频基本的滚动效果,细节功能待完善 https://gitlab.ghzs.com/pm/halo-app-issues/issues/625 2019-09-25 18:29:37 +08:00
6f6bffdeb7 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2019-09-25 16:30:00 +08:00
7c6271d4e9 修复总开服表下载刷新问题 2019-09-25 16:29:12 +08:00
5d3f082771 Merge remote-tracking branch 'origin/dev' into dev 2019-09-25 15:54:43 +08:00
abf6935653 去掉评论弹窗的状态栏变色 2019-09-25 15:54:19 +08:00
6eecad6bb6 游戏详情开服表优化(只要曾经设置过开服信息就显示) 2019-09-25 15:54:08 +08:00
12cea1f263 remove community hint dialog background 2019-09-24 16:56:35 +08:00
3150a182e6 问答社区首页UI优化(0918测试) https://gitlab.ghzs.com/pm/halo-app-issues/issues/610 2019-09-24 16:54:27 +08:00
56160193a9 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-09-23 19:30:21 +08:00
859470aabf 总开服表重构 https://gitlab.ghzs.com/pm/halo-app-issues/issues/628 2019-09-23 19:30:07 +08:00
ad2dc5ac4b 修复点击游戏详情默认选中动态tab的问题 2019-09-23 18:16:56 +08:00
d32816aa65 预约按钮读取下载补充文字 2019-09-20 14:15:53 +08:00
64e99338b0 发表的内容支持复制文本功能(游戏评分部分未完成) https://gitlab.ghzs.com/pm/halo-app-issues/issues/651 2019-09-20 11:57:53 +08:00
88bcb2883c 修复跳转视频详情播放顺序错乱的问题 2019-09-20 11:03:42 +08:00
a70520f04f 修复首页竖屏滑动类型刷新问题 2019-09-20 10:27:37 +08:00
09521ec26a Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-09-19 18:20:55 +08:00
f5b8049dd7 游戏专题优化(前端)(竖屏滑动类型刷新问题未解决) https://gitlab.ghzs.com/pm/halo-app-issues/issues/643 2019-09-19 18:20:46 +08:00
fe230d647a 补充编译带请求日志的脚本 2019-09-19 10:12:47 +08:00
33daa22e49 debug 模式增加网络请求 inspector 方便调试 2019-09-19 09:42:11 +08:00
80965dcbc9 隐藏我的游戏的大小 2019-09-18 18:29:31 +08:00
89f0cfb6a7 捕抓隐私弹窗异常 2019-09-18 18:15:39 +08:00
89884d4cd7 移除旧视频模块,整理游戏详情页代码 2019-09-18 17:54:46 +08:00
e9590f81be 完成插件跳转助手工具箱需求 https://gitlab.ghzs.com/pm/halo-app-issues/issues/636 2019-09-18 15:01:17 +08:00
83159e4153 更新广点通 SDK https://gitlab.ghzs.com/pm/halo-app-issues/issues/454 2019-09-18 11:30:06 +08:00
21dc20dff1 完成社区提问相关功能强化 https://gitlab.ghzs.com/pm/halo-app-issues/issues/618 2019-09-18 11:12:34 +08:00
3ec6526aa4 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-09-18 09:53:43 +08:00
ba918b9144 删除WEB页面视频播放代码
优化插入视频后与图片的交互
优化插入视频页面
2019-09-18 09:53:30 +08:00
3a63d049dc 将列表的 skeleton 相关代码移动到基类 2019-09-17 11:01:57 +08:00
13011804ab 完成社区提问相关功能强化(1,2) https://gitlab.ghzs.com/pm/halo-app-issues/issues/618 2019-09-16 18:00:22 +08:00
1e2e621055 完成视频详情消息中心部分 https://gitlab.ghzs.com/pm/halo-app-issues/issues/617 2019-09-16 16:09:24 +08:00
f53c3ff8ae 完成视频详情播放失败重试 https://gitlab.ghzs.com/pm/halo-app-issues/issues/617 2019-09-16 11:42:00 +08:00
b30e60dfde 完成视频详情移动网络弹窗功能 https://gitlab.ghzs.com/pm/halo-app-issues/issues/617 2019-09-11 18:27:49 +08:00
34ac30cdfe 完成视频评论部分功能 https://gitlab.ghzs.com/pm/halo-app-issues/issues/617 2019-09-11 17:22:57 +08:00
8bd30d1a0f 富文本编辑框增加插入视频功能 2019-09-11 14:45:51 +08:00
cbc575fcd0 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2019-09-10 17:23:34 +08:00
9720812714 光环助手V3.7.0-游戏视频功能-前端2(视频入口1) https://gitlab.ghzs.com/pm/halo-app-issues/issues/616 2019-09-10 17:22:41 +08:00
b9a8f3217f 完成视频详情页的点赞、收藏和分享功能 https://gitlab.ghzs.com/pm/halo-app-issues/issues/617 2019-09-10 15:50:13 +08:00
cb812d2d6c 引入WEB视频相关的JS/CSS代码 2019-09-10 10:28:03 +08:00
572b35c4dc 修改游戏详情开服表月份切换问题 2019-09-10 10:02:01 +08:00
043486a53f Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-09-09 18:34:36 +08:00
df68f8fb9c 光环前端需求汇总(2019年8月)(3.6.7.9)https://gitlab.ghzs.com/pm/halo-app-issues/issues/633 2019-09-09 18:34:20 +08:00
ee146b20e5 完成还十分粗糙的视频详情显示界面 2019-09-09 18:19:40 +08:00
936ca7d4ba change field name 2019-09-09 17:57:36 +08:00
57e37419cf 光环助手V3.7.0-游戏详情评论优化 https://gitlab.ghzs.com/pm/halo-app-issues/issues/634 2019-09-09 17:19:04 +08:00
86934a789e 对接从WEB页面跳转至视频详情 2019-09-09 14:35:35 +08:00
9552d3ac25 禁止低版本设备使用视频投稿功能 2019-09-09 11:10:40 +08:00
9782e2a615 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-09-06 18:15:40 +08:00
7b8f5dfc5b 个人主页增加我的视频 2019-09-06 18:15:31 +08:00
f3fd311d70 修复开服表和分类的下载入口传递问题 2019-09-06 18:10:11 +08:00
5e7e71f6cc 修复 MTA移动网络下载 网络类型显示错误的问题 2019-09-06 16:10:58 +08:00
6cc4178cb3 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-09-06 14:16:29 +08:00
49be7e9d12 修复上传格式缺失和视频链接错误问题 2019-09-06 14:16:19 +08:00
8f50626a3d Merge remote-tracking branch 'origin/dev' into dev 2019-09-05 20:43:42 +08:00
89cfd1a8ba 完成简单的视频操作逻辑 https://gitlab.ghzs.com/pm/halo-app-issues/issues/617 2019-09-05 20:43:27 +08:00
2e9ec0bde0 调整代码位置,修改视频封面上传路径 2019-09-05 18:34:37 +08:00
b77491e91e 修复上传错误无法回调问题 2019-09-05 18:17:36 +08:00
65b84b0e4a Matisse add apply filter 2019-09-05 17:00:13 +08:00
e9cb8fcde8 视频草稿增加删除操作
优化视频上传页面交互
2019-09-05 16:05:30 +08:00
aa04f67f43 优化视频上传 2019-09-05 10:48:23 +08:00
3710a2b729 视频上传增加草稿保存提示弹窗 2019-09-04 20:14:35 +08:00
96cadd05f1 完善存草稿,投稿操作
完善已投稿,草稿箱页面
增加草稿修改操作
2019-09-04 17:53:11 +08:00
114f014091 打包脚本开始打包前先释放上次打包占用的资源 2019-09-03 20:50:00 +08:00
960c596db8 完成我的游戏-玩过&关注&预约页面优化 https://gitlab.ghzs.com/pm/halo-app-issues/issues/612 2019-09-03 20:22:41 +08:00
fe6ebd8aa7 完成新增 我的游戏-玩过 页面 2019-09-02 18:29:57 +08:00
f121b04e66 修复可能的下载闪退问题 2019-09-02 18:29:14 +08:00
4724b809dd 上传视频页面增加分类,标签,存草稿,投稿等操作 2019-08-31 17:17:35 +08:00
5353581cf1 上传视频相关 2019-08-31 11:23:02 +08:00
68f60db4c0 上传视频相关 2019-08-30 18:20:03 +08:00
e90e514f8b 修复提交评分game_version字段丢失问题
整理视频上传相关
2019-08-29 16:34:41 +08:00
6ab04cf056 完善视频上传、视频投稿页面交互逻辑 2019-08-29 11:33:29 +08:00
219270b10d 新增视频投稿、上传视频页面
新增阿里云上传框架
完成部分上传相关逻辑
2019-08-28 19:41:15 +08:00
b070998a73 修复激活数据的上传问题 2019-08-26 17:10:02 +08:00
14e3edf5dd 修复列表滑动闪退问题 2019-08-26 14:27:25 +08:00
bb604b3922 尝试修复后台下载的闪退问题 2019-08-26 11:33:26 +08:00
f43f8e9fb1 修复在5.0以下设备的分dex问题 2019-08-23 18:27:13 +08:00
9c4c5badcd Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-08-22 14:42:00 +08:00
e511d48667 消息中心支持删除操作 2019-08-22 14:41:34 +08:00
8f6ddfef06 修复可能的后台下载闪退问题 2019-08-21 18:08:39 +08:00
2b9e0b167e 未读消息提示改为显示实际数值 2019-08-21 11:46:37 +08:00
cb874dc77a 新增首页社区引导提示以及修改一些重构遗留的BUG 2019-08-21 10:04:24 +08:00
b561cbc8f7 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2019-08-20 16:33:38 +08:00
f252e004b2 重构首页问答 2019-08-20 16:32:40 +08:00
177c027bf7 在用户选择上传头像前添加存储权限检查 2019-08-19 18:25:43 +08:00
cc386bfe48 回答详情点击问题标题/摘要跳转至问题详情 2019-08-16 17:49:06 +08:00
1254dd7209 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-08-16 17:29:12 +08:00
3054ad8471 首页问答增加一些动画交互 2019-08-16 17:28:54 +08:00
a3cfa69174 移除旧版本分类页面无用代码 2019-08-16 15:23:36 +08:00
82b32da523 删除快传功能残留资源文件 2019-08-16 15:20:54 +08:00
91a1ffe113 完成游戏详情页问题反馈整体优化 https://gitlab.ghzs.com/pm/halo-app-issues/issues/606 2019-08-15 16:59:48 +08:00
d3b6b81e64 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-08-15 14:17:13 +08:00
a2b61a8447 增加问题邀请禁言 2019-08-15 14:17:01 +08:00
cd6c9ca460 修复动态获取权限时可能出现的闪退问题 2019-08-15 09:27:32 +08:00
49a189d19f Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-08-14 18:21:18 +08:00
d972b94ce8 我的游戏-已安装列表移到下载管理 2019-08-14 18:21:07 +08:00
0a552fd378 完成问答社区前端优化汇总(14) https://gitlab.ghzs.com/pm/halo-app-issues/issues/609 2019-08-14 18:08:15 +08:00
3538a629cb 问答社区前端优化汇总(2.3.4.5.6.7.8.10) https://gitlab.ghzs.com/pm/halo-app-issues/issues/609 2019-08-14 16:06:29 +08:00
ef1652c4f4 光环助手V3.7.0-游戏评分&评分回复优化 https://gitlab.ghzs.com/pm/halo-app-issues/issues/607 2019-08-13 15:27:33 +08:00
9d5250294c 游戏插件化/更新,过滤同包名,只显示7天下载最高的一个 2019-08-12 17:16:25 +08:00
8e2aab5dbe Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-08-12 15:53:01 +08:00
75d6267f68 相关页面ToolBar增加Download Menu
下载管理游戏下载为空且更新不为空,则直接定位到游戏更新Tab
2019-08-12 15:52:48 +08:00
63bbee19a4 更新 TalkingData SDK https://gitlab.ghzs.com/pm/halo-app-issues/issues/602 2019-08-09 17:39:35 +08:00
67f78c2f95 版本号升级到 3.7.0 2019-08-09 17:38:22 +08:00
f558954d22 移除快传相关代码 2019-08-09 14:43:43 +08:00
f5b1fff4ed 3.6.6 tinker base 2019-08-09 14:10:56 +08:00
0c00164113 升级数据库版本号 2019-08-09 12:00:56 +08:00
c1a910e2cb 当游戏详情的自定义栏目的基本信息内容大于80也显示展开按钮 2019-08-08 18:29:56 +08:00
4578984a75 修复不用安装游戏也能安装的问题 2019-08-08 18:10:44 +08:00
c8714c0c16 调整游戏详情自定义栏目的标签显示逻辑 2019-08-08 17:46:57 +08:00
28b1a3b7de Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-08-08 17:06:17 +08:00
f35cf6fa99 删除无用的下载监听(横向游戏列表没有下载按钮) 2019-08-08 17:05:59 +08:00
265b9b7ec1 调整游戏详情自定义栏目的展开逻辑 2019-08-08 14:37:22 +08:00
561d5026c9 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-08-08 11:46:38 +08:00
932b39ea09 插件化区域游戏显示的标签从“插件标签”改为“游戏标签” 2019-08-08 11:45:57 +08:00
bfb7e6aa71 fix build issue 2019-08-08 09:10:41 +08:00
13e2694dc0 完成封包测试优化汇总(2) https://gitlab.ghzs.com/pm/halo-app-issues/issues/601 2019-08-07 18:06:42 +08:00
325dd07b4d update CHANGELOG.md 2019-08-07 16:50:17 +08:00
ca197ae2ab Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-08-07 16:48:49 +08:00
8542f3aec6 update CHANGELOG.md 2019-08-07 16:48:35 +08:00
7b23d7a1a3 移除旧游戏详情插件信息/基本信息部分代码 2019-08-07 14:54:15 +08:00
55901c219a 游戏详情去掉基本信息栏目 2019-08-07 14:20:45 +08:00
973f6d2f20 修复V3.6.6-最后优化补充(20, 21, 22) https://gitlab.ghzs.com/pm/halo-app-issues/issues/599 2019-08-06 17:08:27 +08:00
42b05160d8 游戏搜索结果隐藏底部提示文案 2019-08-05 17:38:07 +08:00
729c48b8ad 修复社区专题的跳转问题 2019-08-05 10:45:01 +08:00
4a2d201ac2 更改游戏详情顶部标签的读取字段 2019-08-02 18:06:14 +08:00
22051ab626 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-08-02 14:58:21 +08:00
8188d8495b 修改游戏搜索广告位默认文案 2019-08-02 14:58:04 +08:00
6d3e613214 状态栏通知和系统客服支持跳转至社区专题 2019-08-02 14:25:46 +08:00
b8c2b73874 修复隐私弹窗内容过长导致按钮显示不全的问题 2019-08-01 17:16:56 +08:00
de14cc95ef 修复光环助手V3.6.6-最后优化补充(14, 15) https://gitlab.ghzs.com/pm/halo-app-issues/issues/599 2019-08-01 15:30:37 +08:00
a56814a3aa 修复游戏详情自定义栏目不设置标题设置正文但又有几个标签时显示会错乱的问题 2019-08-01 11:50:03 +08:00
689f1e3b68 修改提交重复/相似问题的弹窗交互 2019-08-01 10:30:16 +08:00
1d280ed079 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-07-31 17:59:31 +08:00
4a4118958d UserManager singleton add double checked locking pattern 2019-07-31 17:59:18 +08:00
c0010e7bdb 移除游戏详情的插件介绍模块 2019-07-31 17:23:01 +08:00
b03ba1df9d 修复下载弹窗的机型判断问题 2019-07-31 16:51:18 +08:00
5b28be29ac Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-07-31 16:42:14 +08:00
3ca7b7c9bd 社区相关UI更改 2019-07-31 16:41:44 +08:00
40e5a42212 修复游戏详情标签在 MuMu 模拟器上滑动出现多彩细线的问题 2019-07-31 14:47:43 +08:00
481e2d7925 修复浏览历史没有的游戏没有礼包按钮的问题 2019-07-31 14:03:18 +08:00
6c46d4b090 调整下载弹窗的弹出规则 2019-07-31 11:24:10 +08:00
9e5b8b5f29 优化首次启动 2019-07-31 10:55:31 +08:00
27f0354db5 更换引导图 2019-07-31 10:32:58 +08:00
eb68fe86e6 修改游戏名称颜色 2019-07-31 10:21:24 +08:00
cf4514614a 首次启动去除自动跳转至首页 2019-07-31 10:14:45 +08:00
f26bc062e1 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-07-30 22:56:41 +08:00
9f848594a1 增加申请权限的地方 2019-07-30 22:56:18 +08:00
4cb92f5d8c 编辑框实现逻辑回退到3.6.5 2019-07-30 22:28:34 +08:00
692fec5518 光环助手V3.6.6-最后测试汇总(1.2.10.13)https://gitlab.ghzs.com/pm/halo-app-issues/issues/598 2019-07-30 22:13:24 +08:00
1f978c3039 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-07-30 20:56:50 +08:00
72ca4958c1 光环助手V3.6.6 RELEASE(20190730-1600)测试问题汇总(前端)(7.8.11.12.17)https://gitlab.ghzs.com/pm/halo-app-issues/issues/597#note_25856 2019-07-30 20:56:43 +08:00
7ef693c6d8 修复闪退问题 2019-07-30 20:44:14 +08:00
32319affb7 完成3.6.6 RELEASE(20190730-1600)测试问题汇总(6,10,15,16,18~22) https://gitlab.ghzs.com/pm/halo-app-issues/issues/597 2019-07-30 20:25:12 +08:00
04458270d3 我的游戏优化 2019-07-30 19:32:25 +08:00
a4e2f4b90f 完成光环助手V3.6.6-权限相关测试汇总 https://gitlab.ghzs.com/pm/halo-app-issues/issues/596 2019-07-30 15:57:21 +08:00
bd390decf4 分类详情自动定位到选中分类位置
文章编辑不限制RichEditor高度
2019-07-30 15:40:00 +08:00
548430e4a8 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-07-30 11:04:54 +08:00
b29f80942f 光环助手V3.6.6 RELEASE(20190726-1930)测试问题汇总(前端)(8.9.13.22.23.25.26) https://gitlab.ghzs.com/pm/halo-app-issues/issues/594 2019-07-30 11:04:41 +08:00
5be275f8b0 修复自定义栏目的一些问题 2019-07-30 10:13:59 +08:00
1f84195cc9 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-07-30 09:21:16 +08:00
8204faef7d 修改列表中专题标题的颜色 2019-07-30 09:21:04 +08:00
0a889f4549 修复3.6.6 RELEASE(20190726-1930)测试问题汇总(2, 3, 10, 17, 21, 27) https://gitlab.ghzs.com/pm/halo-app-issues/issues/594 2019-07-29 19:39:41 +08:00
c9edf04a45 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-07-29 18:27:30 +08:00
5fc5d1f68f 修改游戏列表游戏名字颜色
删除无用代码
2019-07-29 18:27:20 +08:00
b7ae9d82ff 修复一些预约和游戏详情的问题 2019-07-29 18:12:18 +08:00
498c626227 修复V3.6.6 RELEASE(20190723-1830)测试问题汇总(21~23,25~26) https://gitlab.ghzs.com/pm/halo-app-issues/issues/592 2019-07-29 16:12:02 +08:00
24be8be4b2 修复游戏详情介绍模块下的评论内容显示异常问题 2019-07-29 15:43:57 +08:00
7700d3af79 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-07-29 15:31:51 +08:00
95dd96f7f9 修改游戏详情社区入口提示UI
修改社区搜索UI
2019-07-29 15:31:39 +08:00
2f89ba9707 完成3.6.6数据统计需求(MTA) https://gitlab.ghzs.com/pm/halo-app-issues/issues/579 的补充部分 2019-07-29 15:23:12 +08:00
1460e8cad3 修改游戏详情UI以及更换引导图 2019-07-29 10:00:38 +08:00
9e68a37205 fix build bug 2019-07-26 19:39:39 +08:00
d9591a826a fix bug 2019-07-26 18:46:48 +08:00
843ae23911 修复游戏标签详情以及分类详情下载相同包名不同游戏下载进度更新异常问题 2019-07-26 18:27:22 +08:00
bf1559f3bd 社区顶部tab栏“问题”改“全部” UI 2019-07-26 18:09:39 +08:00
9baf63ded5 问答社区首页增加推荐入口 2019-07-26 16:09:57 +08:00
5a5a4eccf0 https://gitlab.ghzs.com/pm/halo-app-issues/issues/589 (1.2.3.4.6.8.9.13.14.16.17.19.20) 2019-07-26 15:42:46 +08:00
d82270d8e9 评论禁言弹窗 2019-07-26 11:19:24 +08:00
39fd038fde 避免在启动按钮出现进度条 2019-07-25 17:02:17 +08:00
0e6192487e 修复FilterManager插入数据库失败问题 2019-07-25 16:41:05 +08:00
dee19c5961 https://gitlab.ghzs.com/pm/halo-app-issues/issues/588
(1.2.3.4.6.9.10.11.17.18)
2019-07-25 16:06:58 +08:00
e18a66dd68 修改 我的关注/我的游戏/总开服表/游戏搜索 UI 2019-07-24 16:55:25 +08:00
8c7efc7bb4 修改首页游戏/专题(多行Tab)/标签详情UI 2019-07-24 11:41:37 +08:00
5c88db4bc4 Fix Dialog BadTokenException 2019-07-23 11:19:54 +08:00
ccce9759d6 修复个人主页评分回复数量无法显示问题 2019-07-22 17:07:23 +08:00
857541665a 调整默认搜索UI 2019-07-22 14:33:05 +08:00
1737f4ffdc 修改开服表样式 2019-07-22 10:08:37 +08:00
85c839ffc8 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-07-20 18:23:18 +08:00
37168298ff 修复列表刷新问题 2019-07-20 18:23:11 +08:00
65c004e8cc 修复社区推荐位的一些问题 2019-07-20 17:58:45 +08:00
a87f642473 完成光环助手V3.6.6数据统计需求(MTA)补充部分 https://gitlab.ghzs.com/pm/halo-app-issues/issues/579 2019-07-20 17:16:12 +08:00
69a8f94607 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-07-20 16:23:54 +08:00
52438c682b 调整预约按钮样式 2019-07-20 16:23:45 +08:00
c9ea7e3b79 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-07-20 16:06:35 +08:00
d4289efbc6 问答社区优化汇总-后台(2, 4)https://gitlab.ghzs.com/pm/halo-app-issues/issues/572 2019-07-20 16:06:27 +08:00
d9b65705ad 完成光环助手V3.6.6 DEV(20190719-0915)测试问题汇总(3,5~7,12,15~19) https://gitlab.ghzs.com/pm/halo-app-issues/issues/585 2019-07-20 15:32:59 +08:00
5b35524f8d Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-07-20 11:43:10 +08:00
540274d8f5 光环助手V3.6.6 DEV(20190717)游戏评分相关(1.2.8.9.10.12.13.16.17) https://gitlab.ghzs.com/pm/halo-app-issues/issues/582 2019-07-20 11:43:03 +08:00
e4794c60f8 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-07-19 18:29:04 +08:00
95676ee4bd 修复预约弹窗和游戏详情的一些显示问题 2019-07-19 18:28:33 +08:00
42b8a9d5f9 游戏评分相关popupWindow自适应显示方向 2019-07-19 18:27:20 +08:00
a027cb16af Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-07-19 15:35:27 +08:00
5b75bd4c61 光环助手V3.6.6-新增 隐私政策 说明(一、1 二、三)https://gitlab.ghzs.com/pm/halo-app-issues/issues/577 2019-07-19 15:35:16 +08:00
3d90f9ee34 修复预约的一些问题 2019-07-19 11:59:30 +08:00
52543c828e 移除我的游戏的右滑分享 2019-07-18 18:12:19 +08:00
ed9c780e2d 修复点击下载按钮触发两次点击的问题 2019-07-18 17:50:16 +08:00
904b74be5b data后台数据统计 https://gitlab.ghzs.com/pm/halo-app-issues/issues/580 2019-07-18 16:19:37 +08:00
629fa23237 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-07-18 15:04:29 +08:00
9f6d441ad1 社区搜索样式修改以及最热模块增加问题内容 2019-07-18 15:04:20 +08:00
b0a99ced20 完成光环助手V3.6.6-用户注销账号功能 https://gitlab.ghzs.com/pm/halo-app-issues/issues/578 2019-07-17 17:46:13 +08:00
101874fd29 完成光环助手V3.6.6数据统计需求(MTA) https://gitlab.ghzs.com/pm/halo-app-issues/issues/579 2019-07-17 17:36:48 +08:00
3bae1a1af7 更新 GID 模块 2019-07-17 14:59:56 +08:00
b6f1138922 将上报推广激活数据延迟至获取到 IMEI 后发送 2019-07-17 11:57:01 +08:00
c90cc405b5 将触发申请权限的条件限制为仅第一次打开 2019-07-16 18:23:16 +08:00
c73690e546 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-07-16 17:42:51 +08:00
5b4ddcae1f 优化问题提交 2019-07-16 17:42:41 +08:00
1244d838ec 将权限申请添加到具体触发的位置 2019-07-16 17:39:52 +08:00
6c5da2d787 .properties 编码问题 2019-07-16 16:42:03 +08:00
9f2225de3d 修复编译问题 2019-07-16 16:19:54 +08:00
69c809a2c0 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-07-16 15:44:38 +08:00
ba27bd8a4c 问题提交增加相似/重复处理 2019-07-16 15:44:29 +08:00
1da1c6f86d 发现页面移除快传选项,移除定位权限 2019-07-16 14:51:17 +08:00
012eb42c8a 修复游戏详情标题过长会遮盖菜单按钮的问题 2019-07-16 14:16:10 +08:00
186a5f8d08 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-07-16 11:54:35 +08:00
522dac5c6b 修复搜索列表页面预约游戏点击无效的问题 2019-07-16 11:54:25 +08:00
32c2ab67fb Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-07-16 10:38:17 +08:00
54e0cdee75 开服表增加合并展开方案(实现方式修改) 2019-07-16 10:38:06 +08:00
d5a23f5239 完成游戏详情功能优化的UI调整 https://gitlab.ghzs.com/pm/halo-app-issues/issues/558 2019-07-16 10:18:08 +08:00
bbd035d7b1 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-07-16 10:07:20 +08:00
140c048b71 开服表增加合并展开方案 2019-07-16 10:07:06 +08:00
d0306f311a 大致完成游戏详情功能优化的UI调整(缺右上角的几个图标) https://gitlab.ghzs.com/pm/halo-app-issues/issues/558 2019-07-15 18:17:28 +08:00
0c918bd826 默认渠道(GH_TEST)开启JS调试 2019-07-15 16:00:15 +08:00
b2064c3758 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-07-15 15:45:37 +08:00
11e276a977 编辑器根据当前环境自动引用远程JS/CSS(正式/测试) 2019-07-15 15:45:20 +08:00
14ee8921cf 将社区顶部tab栏"问题"改"全部" https://gitlab.ghzs.com/pm/halo-app-issues/issues/574 2019-07-15 15:21:10 +08:00
2dcc4e974d 兼容社区文章跳转格式 2019-07-15 15:19:05 +08:00
5b639d78cf 删除无用配置 2019-07-15 11:48:22 +08:00
35c4fa1209 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-07-12 18:31:42 +08:00
8a13d6a60b Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-07-12 18:30:27 +08:00
b94c742100 调整详情页介绍Tab中游戏介绍的显示样式 2019-07-12 18:28:02 +08:00
967f281210 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-07-12 18:25:42 +08:00
1dba6f438f 社区文字编辑适配软键盘 2019-07-12 18:25:31 +08:00
fb464aefaa 删掉七陌客服的语音功能 2019-07-12 17:53:22 +08:00
35b6db66b3 去掉读取通讯录、蓝牙和读取用户账户的权限注册 2019-07-12 17:34:14 +08:00
396862fc0a 修改账号被挤掉提示弹窗内容 2019-07-12 16:48:45 +08:00
b6ab058cb4 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-07-12 16:33:15 +08:00
fb4d1df210 完善选择社区 2019-07-12 16:33:06 +08:00
ffaa32be29 完成问答社区优化汇总-前端(9, 10) https://gitlab.ghzs.com/pm/halo-app-issues/issues/573 2019-07-12 15:09:42 +08:00
18af7c51c8 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-07-12 11:17:40 +08:00
e45b46e8a5 文章撰写页面编写正文内容时自动调整高度 2019-07-12 11:17:23 +08:00
4419463c01 完成"全部文章"页面 2019-07-12 10:53:15 +08:00
51115e070b 问答社区首页增加推荐入口(全部文章尚未完全接入) https://gitlab.ghzs.com/pm/halo-app-issues/issues/568 2019-07-11 18:26:10 +08:00
783889f050 修复编译问题 2019-07-11 17:47:45 +08:00
547229d017 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-07-11 17:23:30 +08:00
ad05198be1 社区选择改版初步完成(等待后台接口完成) 2019-07-11 17:23:20 +08:00
f93f31784e 修复详情页更新内容区域的展开问题 2019-07-11 16:10:23 +08:00
05d4109f0b 编辑器 JS 和 CSS 引用切换至测试环境 2019-07-11 14:17:19 +08:00
9ea377b72b 自动打包开启编辑器网页调试 2019-07-11 10:37:36 +08:00
a4eec37467 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-07-10 18:17:29 +08:00
14d6c9d6f4 调整筛选大小控件的项样式 2019-07-10 18:17:20 +08:00
4707112837 优化游戏详情列表代码 2019-07-10 18:16:14 +08:00
d4f78631d9 修复包名相同、游戏ID不同的列表下载进度更新不准确问题(目前只做了SubjectAdapter,待产品需求出来再全局修改) 2019-07-10 17:33:05 +08:00
dc5c2971c8 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-07-10 15:39:06 +08:00
07f1180ccd 解决分享由于持有activity实例造成的内存泄露 2019-07-10 15:38:37 +08:00
e483540d3d 去掉详情页各模块间的分割线 2019-07-10 10:31:07 +08:00
362518959b 修复详情页自定义栏目展开异常的问题 2019-07-09 19:56:50 +08:00
7b1ac0f70c 修复详情页自定义栏目不显示展开按钮的问题 2019-07-09 18:26:32 +08:00
fc18da47da 将游戏分类详情页面样式换成与标签详情一致(旧代码待完成需求再删除) https://gitlab.ghzs.com/pm/halo-app-issues/issues/566 2019-07-09 17:09:02 +08:00
6d14af968f 当下载过程中用户强制退出APP(直接杀死进程)再重新打开app时,下载状态会从下载中/等待中变成连接Wi-Fi自动下载 2019-07-09 16:14:20 +08:00
2cff450fa4 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-07-08 18:28:10 +08:00
069b82518d 修复游戏专题接口请求异常问题 2019-07-08 18:27:58 +08:00
91663c4733 接入今日头条 SDK 2019-07-08 17:13:28 +08:00
d7cf91ec5c 游戏专题优化 2019-07-08 14:20:02 +08:00
4854c15f8c Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-07-08 11:27:44 +08:00
248e63ba04 图片压缩出现OOM/压缩失败时直接返回原图 2019-07-08 11:27:20 +08:00
fc19ce037e 基本完成游戏详情功能优化的逻辑(UI待出图再调整) https://gitlab.ghzs.com/pm/halo-app-issues/issues/558 2019-07-08 11:19:04 +08:00
020b67764b 初步对接详情页自定义栏目 2019-07-05 18:28:03 +08:00
32d25e5490 大致完成对旧游戏详情页面模块的位置变更 2019-07-05 16:57:27 +08:00
d8cd68025e Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-07-05 09:57:59 +08:00
38a8b190fe 游戏详情 关联关注定位至【动态】Tab 2019-07-05 09:56:32 +08:00
3788e8ce20 修复游戏详情的视频播放统计问题 2019-07-04 10:53:26 +08:00
b02a6377ab 修复新闻详情内容显示不全问题 2019-07-03 17:56:14 +08:00
ac550094df 游戏搜索默认页面增加跳转至标签详情 2019-07-03 14:57:29 +08:00
2ea75c1664 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-07-03 11:18:08 +08:00
cf07f12cad 更新QQ分享 卡片QQ分享/QQ空间分享未安装QQ时需要显示安装弹窗 2019-07-03 11:17:56 +08:00
fb00833d3f 修复二级分类数量刚好为 7 时不显示展开按钮的问题 2019-07-03 09:33:02 +08:00
91046c350c 光环前端需求汇总(2019年6月第4周)(1.3.4.8) https://gitlab.ghzs.com/pm/halo-app-issues/issues/560 2019-07-02 15:30:13 +08:00
3b2c294323 Merge branch 'dev' of gitlab.ghzs.com:halo/assistant-android into dev 2019-07-02 10:59:54 +08:00
4507c7e581 专题详情修改 2019-07-02 10:59:31 +08:00
6d02fb22a2 完成光环前端需求汇总(6月第4周)(7,9,10) https://gitlab.ghzs.com/pm/halo-app-issues/issues/560 2019-07-02 10:52:33 +08:00
e926f2ca77 调整 WorkManager 调用 2019-07-02 10:24:42 +08:00
77267add3b 优化大小选择控件的 API 2019-07-02 10:23:22 +08:00
460a4eed57 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-07-02 10:07:29 +08:00
84ea2cd1af 专题详情增加多行类型 2019-07-02 10:07:06 +08:00
68e1b9b700 修复闪退问题 2019-07-01 18:28:51 +08:00
361d260964 优化后台下载逻辑,提高下载稳定性 2019-07-01 17:03:38 +08:00
3a66d778ed 修复标签详情页下载状态更新错乱的问题 2019-06-28 18:10:08 +08:00
dbf5fcda58 处理内存泄漏 2019-06-28 11:14:43 +08:00
a5309f2c9e Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-06-28 09:54:55 +08:00
13b81fa3e8 专题新增横向行样式 2019-06-28 09:54:47 +08:00
8c60267997 调整标签详情页UI 2019-06-27 18:07:52 +08:00
839efd6e32 处理数组越界异常 2019-06-27 16:45:10 +08:00
54c2788e0a 完成光环助手V3.6.6-游戏标签详情功能(https://gitlab.ghzs.com/pm/halo-app-issues/issues/550) 2019-06-27 16:23:33 +08:00
1439e598fc 整理游戏专题代码(页面传递参数不清晰问题) 2019-06-27 11:43:20 +08:00
7a9e6bdb97 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-06-27 11:17:55 +08:00
3b58aead33 修复专题 TabLayout 模式下显示异常问题 2019-06-27 11:17:48 +08:00
69d379d07b 微调标签详情页页面 2019-06-26 18:28:02 +08:00
cc9d5765d5 完成光环助手V3.6.6-游戏标签详情逻辑 (https://gitlab.ghzs.com/pm/halo-app-issues/issues/550) UI 待微调 2019-06-26 17:50:31 +08:00
aa9cf8b193 修改VersionCode 2019-06-26 11:24:27 +08:00
b8afc028de Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-06-26 11:23:18 +08:00
e7a594003f 修复ExpendTextView收缩状态无法显示Span样式问题 2019-06-26 11:23:03 +08:00
5605df96dc 更新 leakCanary 2019-06-26 09:47:14 +08:00
c499c19e5b 游戏搜索添加部分搜索历史 2019-06-25 17:15:36 +08:00
106f3e932e 评分编辑 字数限制 2019-06-25 10:32:19 +08:00
04b5005218 增加评分修改记录支持修改内容样式(暂时无法'...全文'兼容) 2019-06-25 10:18:31 +08:00
32442985c5 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-06-24 14:40:14 +08:00
1ce6946507 增加评分修改记录(修改内容样式暂时无法支持-HTML) 2019-06-24 14:40:04 +08:00
a1a3481939 优化 BiResponse 2019-06-24 10:59:43 +08:00
2db5b5665c 处理闪退问题 2019-06-24 10:29:11 +08:00
a184d018da 增加游戏评论规(免责声明) 2019-06-23 11:29:19 +08:00
233c3f728a Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-06-23 10:02:10 +08:00
1102d22919 编辑评分增加获取设备别名 2019-06-23 10:02:01 +08:00
6c903ea25e 升级版本号至 3.6.6,正式环境也切换到 3.6.6 的接口 2019-06-22 16:57:24 +08:00
602bc61b89 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-06-22 16:27:54 +08:00
42201b3d28 修复阅读答案、社区文章时会先闪现输入光标的问题 2019-06-22 16:27:45 +08:00
a8889c16eb Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-06-21 18:07:24 +08:00
edaab18894 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-06-21 18:05:33 +08:00
d300e74fbd 支持修改游戏评分 2019-06-21 18:05:25 +08:00
1a804b2096 启用 kapt 增量编译提高编译速度 2019-06-21 17:59:36 +08:00
8c7f1ad596 完成游戏下载弹窗&游戏详情弹窗系统(https://gitlab.ghzs.com/pm/halo-app-issues/issues/548、https://gitlab.ghzs.com/pm/halo-app-issues/issues/549) 2019-06-21 17:17:21 +08:00
b59548d339 游戏评论 跳转部分弹窗(更多,排序) 2019-06-21 15:23:54 +08:00
181caf6dfa Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-06-21 11:41:13 +08:00
2eafb6b31f 个人主页增加评分相关 2019-06-21 11:40:56 +08:00
742f497833 完成光环助手V3.6.6-游戏预约功能 (https://gitlab.ghzs.com/pm/halo-app-issues/issues/542) 2019-06-20 14:49:35 +08:00
5119bdf545 游戏评论 页面数据同步 适配'我的评论'模块 2019-06-20 10:04:55 +08:00
ce44d3b2a7 游戏详情-评论增加'我的评论'模块 2019-06-20 09:48:48 +08:00
bf7ed2cd7d Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-06-20 09:35:22 +08:00
1e287c61fb 更换图标 2019-06-20 09:35:14 +08:00
d3e42aa876 基本完成预约流程,细节待完善 2019-06-19 18:29:20 +08:00
58e3629c32 游戏详情-评论增加 过滤/排序 功能 2019-06-19 18:18:27 +08:00
990f395b4d 修复富文本编辑框插入文章和插入回答闪退问题 2019-06-19 09:23:17 +08:00
b8500b4345 删掉预约测试代码 2019-06-18 18:32:05 +08:00
b52960c47f 初步对接预约接口 2019-06-18 18:15:46 +08:00
50ad63735f 更新混淆规则 2019-06-18 11:24:17 +08:00
89bc3d37f8 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-06-17 19:12:29 +08:00
9cfb820036 全局修改LoadingView 2019-06-17 19:12:16 +08:00
365abc3c1e 删除无用文件 2019-06-17 17:46:22 +08:00
7a1555e8c0 完成前端需求汇总201906第二周(7,8,9,11,14,15) https://gitlab.ghzs.com/pm/halo-app-issues/issues/547 2019-06-17 17:43:24 +08:00
6345bb55d2 全局替换文案 举报->投诉 2019-06-17 17:32:43 +08:00
b48a274707 调整快传相关代码目录 2019-06-17 17:21:46 +08:00
55e9bd681e 页面微调,下载管理移除免流量传送,免流量传送改为独立页面 2019-06-17 17:15:56 +08:00
aec9ec8294 autoscrollviewpager以源码方式引入
原因:项目已经多年无人维护且现在无法支持androidX
2019-06-17 16:05:19 +08:00
4229888cc9 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-06-17 15:46:07 +08:00
103b8d32f5 首页工具栏我的关注换成消息中心以及整理未读消息代码 2019-06-17 15:45:43 +08:00
303c98be96 优化浏览记录页面代码 2019-06-17 09:56:01 +08:00
c84da4c061 修复下拉刷新骨架的显示问题 2019-06-17 09:55:31 +08:00
3a4d466907 优化曝光上报逻辑 2019-06-16 16:32:30 +08:00
e7143d8da4 修复一些闪退问题 2019-06-16 15:05:19 +08:00
99fc35e632 完成简单的预约游戏弹窗样式 2019-06-16 14:18:48 +08:00
95cc8a1484 完成游戏搜索结果交互 2019-06-14 15:37:28 +08:00
c139d6bb8a fix merge bug 2019-06-13 17:47:12 +08:00
3d0b5bb8b6 merge 2019-06-13 16:12:40 +08:00
552ab8e8c4 merge 2019-06-13 16:08:28 +08:00
596e2e9673 完成搜索默认页面 2019-06-13 15:21:53 +08:00
66c7dc6539 修复更新 androidX 后选择标签的显示问题 2019-06-13 11:49:20 +08:00
2585098c20 将 PercentLayout 替换为 ConstraintLayout 2019-06-13 11:35:04 +08:00
1f5f51da68 统一 androidX 依赖版本 2019-06-13 10:49:41 +08:00
25e119202a 统一依赖版本 2019-06-13 10:48:57 +08:00
7b421d0b3a 移除无用的 legacy support 2019-06-12 18:24:07 +08:00
0066135f12 从 git 上移除部分无用文件 2019-06-12 18:12:31 +08:00
b930d3fa54 将 android support library 更新至 androidX (部分手尾仍需后续处理) 2019-06-12 17:58:15 +08:00
129a549110 Merge branch 'xiechanghong' into 'dev'
Xiechanghong

See merge request !7
2019-06-11 10:15:52 +08:00
22883dc195 Merge remote-tracking branch 'origin/xiechanghong' into xiechanghong 2019-06-10 18:52:08 +08:00
516299ee55 给分类页面,资讯中心,礼包中心,资讯文章详情,游戏详情-动态页面加上缺省图
规范格式

规范格式
2019-06-10 18:50:14 +08:00
a9835ba032 规范格式 2019-06-10 18:42:51 +08:00
dda154a927 给分类页面,资讯中心,礼包中心,资讯文章详情,游戏详情-动态页面加上缺省图
规范格式
2019-06-10 18:25:08 +08:00
cd5856778c 修复了保存图片但是系统图库没有显示的问题 2019-06-10 16:28:03 +08:00
d7db950878 尝试修复在 Android 8.0 及以后设备在执行后台任务时的偶发闪退问题 2019-06-10 14:59:25 +08:00
62f184f6ea 修复一些闪退问题 2019-06-10 10:03:18 +08:00
ab0d341bca 整理代码 2019-06-09 14:31:51 +08:00
1b27f481ba 调整文件位置 2019-06-06 17:31:05 +08:00
b68f9be8dd 微调代码 2019-06-06 17:21:02 +08:00
e9b0dbdfb6 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-06-06 17:17:28 +08:00
0b21dca0a4 实现游戏详情评论页面与评论详情的数据同步(回答数/点赞) 2019-06-06 17:17:10 +08:00
5e5d84cb65 添加 GID 获取失败重试 2019-06-06 15:49:24 +08:00
c2661d0586 完成前端需求汇总(2019年6月第1周) (8~11) https://gitlab.ghzs.com/pm/halo-app-issues/issues/538 2019-06-06 15:34:51 +08:00
032348e3fd 将测试环境的接口切换至 3.6.6 2019-06-06 15:31:52 +08:00
840a682665 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-06-05 17:57:27 +08:00
04807a5653 光环前端需求汇总(2019年6月第1周)(4.5.12.13.14.15.16) https://gitlab.ghzs.com/pm/halo-app-issues/issues/538#note_22426 2019-06-05 17:56:40 +08:00
5ebea3f3dd 修复提交应用列表不及时的问题 2019-06-05 17:20:51 +08:00
49ca3835c0 修复游戏图标为 gif 时下载会闪烁的问题 2019-06-05 17:19:33 +08:00
566307105e Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-06-05 15:44:03 +08:00
e8e75408cc 多设备登录同一帐号,取消toast操作 2019-06-05 15:43:31 +08:00
b52aa38552 将获取 GID 失败的信息发送到 MTA 2019-06-05 10:45:09 +08:00
8d55b251c3 3.6.5 tinker-base 2019-06-04 09:35:25 +08:00
386c7b19c1 versionName:3.6.5 versionCode:91
该版本为过度版本(修复3.6.4的bug)
2019-06-03 17:48:46 +08:00
eaaa168ee1 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-06-03 17:46:12 +08:00
d9f5811d86 默认关闭tinker更新弹窗 2019-06-03 16:18:31 +08:00
27d3470abc 修复使用错误上下文的问题 2019-06-03 14:31:54 +08:00
36f7427613 Merge branch '3.6.5' into 'dev'
修复 3.6.4 遗留问题

See merge request !6
2019-06-03 14:30:23 +08:00
929c117ddb 修复使用错误上下文的问题 2019-06-03 10:26:48 +08:00
7d6d77fae5 修复激活数据链接出错的问题 2019-06-03 10:22:20 +08:00
2297461d91 修复数组越界问题 2019-06-03 10:22:12 +08:00
a26a3bebad 修复 jenkins 打包时间时区不对的问题 2019-06-03 10:22:04 +08:00
4a673de424 修复激活数据链接出错的问题 2019-06-03 10:11:29 +08:00
a837c2ccd4 修复数组越界问题 2019-05-31 18:30:11 +08:00
10ee3132fd 修复 jenkins 打包时间时区不对的问题 2019-05-31 09:57:17 +08:00
783fbecb00 3.6.4 封包 2019-05-30 16:11:01 +08:00
de1b5ba2f3 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-05-30 15:49:21 +08:00
9a9e288c44 3.6.4 封包 2019-05-30 15:37:51 +08:00
424b48f631 更改远端 JS 和 CSS 至正式环境 2019-05-30 15:21:38 +08:00
86d1cd4e12 微调编译脚本 2019-05-30 15:01:02 +08:00
e700ff4744 微调编译脚本 2019-05-30 14:43:56 +08:00
34729c8c28 添加 jenkins 编译脚本 2019-05-30 14:26:54 +08:00
5a08611fdd 测试包在设置关于里显示编译时间 2019-05-30 11:51:57 +08:00
a73da1d6e4 修复游戏评论详情从弹窗回退后无法即时调起软键盘问题 2019-05-29 18:37:14 +08:00
28b8c20756 修复分类展开部分标签会丢失的问题 2019-05-29 14:41:47 +08:00
6941821b71 矫正网页资源的时间戳 2019-05-29 14:15:18 +08:00
3c2244701c 关闭 webview 调试 2019-05-29 14:07:21 +08:00
38dc873e2e Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-05-29 10:58:51 +08:00
c24ffb2489 修复插入数据造成浏览记录出现多个空格的问题 2019-05-29 10:58:34 +08:00
929864be30 优化游戏评论详情点赞刷新问题 2019-05-28 18:22:10 +08:00
bd87163a9b 显示/隐藏图片是无需回调(RE.callback()) 2019-05-28 17:52:23 +08:00
785c740668 修复图片名存在特殊字符无法显示的问题 2019-05-28 17:35:16 +08:00
25aa16f774 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-05-28 16:38:05 +08:00
9ec89c0dc1 光环助手V3.6.4测试遗留问题(2.3.5.15.16.17) https://gitlab.ghzs.com/pm/halo-app-issues/issues/536#note_22029 2019-05-28 16:37:25 +08:00
3e5bd2b087 修复我的提问、回答和文章页面分页的顺序变动问题 2019-05-28 15:31:56 +08:00
9de6cff13b 浏览记录的文章和答案过滤掉插入的内容 2019-05-27 17:53:19 +08:00
6b98bc9fca 修复了答案上下滑动可能出现页面偏移的问题 2019-05-27 17:52:39 +08:00
cdf9b0a071 去掉测试 toast 2019-05-26 15:14:49 +08:00
ff57e9c759 merge 2019-05-24 22:48:33 +08:00
b253113843 光环助手V3.6.4 RELEASE(20190524-2130)测试问题汇总(1.2.3.4.11) https://gitlab.ghzs.com/pm/halo-app-issues/issues/534 2019-05-24 22:47:32 +08:00
b7305337bf 修复浏览记录的游戏名字以及推送点击记录的问题 2019-05-24 22:10:34 +08:00
455e2ad723 处理文章隐藏时的弹两个 toast 的问题 2019-05-24 21:16:18 +08:00
8cf87b991b 推送辅助提示变更 2019-05-24 21:12:20 +08:00
ae0b289c3e 光环助手V3.6.4 RELEASE(20190524-1230)(1.2.3.4.5.6.7.8.9.10.11.12.14.15.16)测试问题汇总 https://gitlab.ghzs.com/pm/halo-app-issues/issues/533 2019-05-24 21:06:37 +08:00
9404c3349a 修复游戏评论详情重复点赞toast异常问题 2019-05-24 17:37:53 +08:00
28afbb8d35 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-05-24 17:16:18 +08:00
5b24443121 富文本编辑器添加样式之前将内容字符进行htmlEncode,防止JS端JSON解释失败 2019-05-24 17:15:37 +08:00
1f9aacbbbd 去掉多余的 toast 2019-05-24 16:52:32 +08:00
d194b33a5d 富文本编辑器初始化代码放置到assets目录,通过本地的rich_editor.js 访问远端的JS和CSS代码
目的:修复低版本内核浏览器的事件无法回调到原生android端问题
2019-05-24 16:02:13 +08:00
55010f0ef7 关闭rich_editor.js log 2019-05-24 14:21:10 +08:00
49fab9ed04 游戏详情判断是否安装该游戏时进行包名过滤 2019-05-24 11:44:04 +08:00
1cd1b578ec merge 2019-05-24 11:27:28 +08:00
184c56aac5 光环助手V3.6.4 DEV(20190517-1020)测试问题汇总(游戏评分)(补充) 2019-05-24 11:25:26 +08:00
7c39037472 修复记录安装新应用时记录了错误应用名的问题 2019-05-24 11:12:13 +08:00
786a803793 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-05-24 10:58:52 +08:00
273f0e185d 修复关闭插件功能资讯和专题相关操作失效问题
修改游戏评分引用区域样式
2019-05-24 10:58:46 +08:00
eebc2c3940 统一已开通社区的列表排序 2019-05-24 10:25:05 +08:00
3a964d629e Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-05-24 09:49:57 +08:00
ff041f705e 光环助手V3.6.4 DEV(20190521-1900)测试问题汇总(前端)(2.3.4.5(1).19.20.21) https://gitlab.ghzs.com/pm/halo-app-issues/issues/530#note_21778 2019-05-24 09:49:41 +08:00
af62fc9a68 替换关闭评论图标 2019-05-23 18:20:44 +08:00
6ff415cc0d 完成光环助手应用数据上报功能 https://gitlab.ghzs.com/pm/halo-app-issues/issues/531 2019-05-23 18:04:53 +08:00
41de94e6f5 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-05-23 16:58:36 +08:00
60d91ca04e 光环助手V3.6.4 DEV(20190521-1900)测试问题汇总(编辑器)(1.5.6.7.9.10.12.13.15.16.17.18) https://gitlab.ghzs.com/pm/halo-app-issues/issues/529 2019-05-23 16:58:29 +08:00
19004b2073 完成V3.6.4DEV(20190521-1900)测试问题汇总(6,7,8,9,10,12,14,16,17,22) https://gitlab.ghzs.com/pm/halo-app-issues/issues/530 2019-05-23 16:42:01 +08:00
70b536e6bd 修复社区编辑器插入自定义样式问题(上次兼容性修改遗留) 2019-05-23 14:36:45 +08:00
5009678587 本地JS与远程同步 2019-05-23 11:07:55 +08:00
a7a01bbe16 修复社区编辑框不兼容个别机型问题(VIVO x7 5.1.1) 2019-05-23 11:04:57 +08:00
9b2ce51c87 更换引导图 2019-05-22 16:46:36 +08:00
c735d4e717 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-05-22 16:26:10 +08:00
6fb4dac45d update CHANGELOG 2019-05-22 16:26:02 +08:00
3d49258b84 优化代码结构 2019-05-22 16:15:41 +08:00
c23aa12d09 优化编辑回答的接口异常处理 2019-05-22 16:08:58 +08:00
6f6ddf9fbd 更换引导图 2019-05-22 10:33:59 +08:00
63837b5c31 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-05-21 16:28:31 +08:00
27e245c241 我的关注不能点击关联关注进行关注操作 2019-05-21 16:28:24 +08:00
7775494ade 完成3.6.4 DEV(20190517-1020)测试问题汇总的(3,4,7,8,9,10,11,17,18) https://gitlab.ghzs.com/pm/halo-app-issues/issues/525 2019-05-21 16:12:06 +08:00
a3ce139b86 曝光增加 ROM 字段 2019-05-21 16:11:03 +08:00
ad470f10f4 光环助手V3.6.4 DEV(20190517-1020)测试问题汇总(编辑器)(1.2.3.4.5.6.8.9) https://gitlab.ghzs.com/pm/halo-app-issues/issues/527 2019-05-21 16:06:20 +08:00
302d12083b 光环助手V3.6.4 DEV(20190517-1020)测试问题汇总(游戏评分)(1.4.5.6.7.8.9.10.11) https://gitlab.ghzs.com/pm/halo-app-issues/issues/526 2019-05-21 11:17:29 +08:00
d40dd15af4 撰写回答页面添加我来回答遮罩 2019-05-20 15:28:18 +08:00
440eb8a07b 完成DEV(20190515-1900)测试问题汇总(1,2,3,16,17,18) https://gitlab.ghzs.com/pm/halo-app-issues/issues/524 2019-05-20 11:47:17 +08:00
361b861d5f 修复部分(关注/收藏)按钮,登录后不能即时刷新问题 2019-05-20 11:24:20 +08:00
b518b2961a Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-05-17 18:24:38 +08:00
bfae4e1501 光环助手V3.6.4 DEV(20190515-1900)测试问题汇总(前端)(10.14.15) https://gitlab.ghzs.com/pm/halo-app-issues/issues/524#note_21505 2019-05-17 18:24:32 +08:00
d3e13dd8c6 完成需求 MTA 补充需求 2019-05-17 17:27:42 +08:00
073c35ca08 浏览记录去掉游戏名称后缀 2019-05-17 17:27:19 +08:00
99b4373561 处理闪退问题 2019-05-17 17:26:51 +08:00
52dcea477e 评分相关间距调整 2019-05-17 17:03:53 +08:00
6abb8d715b Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-05-17 16:36:53 +08:00
51016b0704 社区编辑框插入链接样式时先将当前blockquote标签换成p标签再插入 2019-05-17 16:36:47 +08:00
d14c150070 完成需求'所有游戏名字处理成“名称+后缀”的格式的' https://gitlab.ghzs.com/pm/halo-app-issues/issues/521 2019-05-17 16:28:32 +08:00
f59f8a3e5b 完成光环前端需求汇总(2019年5月第3周)(1,3,11,12,13) https://gitlab.ghzs.com/pm/halo-app-issues/issues/522 2019-05-17 15:02:56 +08:00
965be0b5cd Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-05-17 14:40:46 +08:00
716900fc5d 社区编辑框增加长按选择回调 2019-05-17 14:40:31 +08:00
14280d802e 更改回答详情和文章详情底部按钮图标 2019-05-17 11:32:03 +08:00
39924857e5 我的游戏页面进行包名过滤处理 2019-05-17 10:51:47 +08:00
c88bda6615 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-05-16 18:37:47 +08:00
ecb80ca70d 光环助手V3.6.4 DEV(20190513-1900)编辑器相关(1.3.4.6.7.8.9.11.17) https://gitlab.ghzs.com/pm/halo-app-issues/issues/519#note_21413 2019-05-16 18:37:38 +08:00
51b03b78ce 在插入内容的 div 里添加 class 帮助后端生成摘要时去掉不需要的内容 2019-05-16 18:20:28 +08:00
a7fd029ed2 反馈提交的字段修改 2019-05-16 16:01:31 +08:00
5beb29ad09 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-05-16 15:03:57 +08:00
e7dc2ca810 光环前端需求汇总(2019年5月第3周)(5.6.7.9) https://gitlab.ghzs.com/pm/halo-app-issues/issues/522#note_21366 2019-05-16 15:03:45 +08:00
b5ce0db1ff 将 JS 和 CSS 的引用改为远端 2019-05-16 10:22:41 +08:00
c8b52902e9 评分相关的POST请求进行错误处理 2019-05-16 09:36:28 +08:00
dbc4e0ac26 历史搜索清空图标自适应宽高 2019-05-15 18:18:22 +08:00
a0d2860970 修改游戏搜索历史页面样式 2019-05-15 18:06:37 +08:00
77c1a05a4a 修改资讯中心标签样式 2019-05-15 17:59:23 +08:00
aeee2e049d 回答/文章 插入链接的默认图片换成网络图片 2019-05-15 17:13:21 +08:00
525b184ad4 游戏评论详情增加下载相关逻辑 2019-05-15 16:14:05 +08:00
76e0fe9f9a 光环助手V3.6.4 DEV(20190513-1900)游戏评分相关(2.4.5.6.8.9.12.13.16.18.19.20.21) https://gitlab.ghzs.com/pm/halo-app-issues/issues/520 2019-05-15 15:14:30 +08:00
06ddef114c Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-05-14 14:48:52 +08:00
32cdcc1304 光环助手V3.6.4 DEV(20190509-1900)测试问题汇总(前端)(3.4.5)https://gitlab.ghzs.com/pm/halo-app-issues/issues/516#note_21124 2019-05-14 14:48:40 +08:00
4a2b414b59 社区选择列表增加关联置顶 2019-05-14 11:29:04 +08:00
937497aec9 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-05-13 18:18:15 +08:00
38d2c189e8 游戏详情标签样式由后台控制 2019-05-13 18:18:02 +08:00
57aeacf3f5 完成光环前端需求汇总(2019年4月第3周)(1,4,5) https://gitlab.ghzs.com/pm/halo-app-issues/issues/495 2019-05-13 16:53:47 +08:00
fe4036b768 完成光环助手V3.6.4数据统计需求(光环数据后台) https://gitlab.ghzs.com/pm/halo-app-issues/issues/509 2019-05-13 15:43:41 +08:00
5dd479c492 完成光环助手V3.6.4数据统计需求(光环数据后台) https://gitlab.ghzs.com/pm/halo-app-issues/issues/509 2019-05-13 15:15:27 +08:00
5f1ff1fc6f Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-05-13 14:22:44 +08:00
b08fb1f170 光环前端需求汇总(2019年4月第5周)(3.6.9.10.13) https://gitlab.ghzs.com/pm/halo-app-issues/issues/512#note_21125 2019-05-13 14:20:57 +08:00
e2f6180d6d 完成光环助手V3.6.4数据统计需求(MTA) https://gitlab.ghzs.com/pm/halo-app-issues/issues/510 2019-05-13 11:00:02 +08:00
90d19ea381 补充下载进度超过 100% 的错误回调 2019-05-13 10:58:48 +08:00
13738f08eb 复用 Gson 对象 2019-05-13 10:00:08 +08:00
1b76184946 光环前端需求汇总(2019年4月第4周)(1.3.4.5.6.7.11.13) https://gitlab.ghzs.com/pm/halo-app-issues/issues/501#note_21126 2019-05-12 18:34:50 +08:00
711431f7c9 光环前端需求汇总(2019年4月第4周)(1.3.4.5.6.7.11.13) https://gitlab.ghzs.com/pm/halo-app-issues/issues/501#note_21126 2019-05-12 18:31:42 +08:00
4ea3f7ccf0 完成光环前端需求汇总(2019年4月第5周)的(2, 4, 5, 11, 12) https://gitlab.ghzs.com/pm/halo-app-issues/issues/512 2019-05-12 17:20:44 +08:00
80cd86ea29 优化游戏评论详情刷新问题 2019-05-10 17:05:56 +08:00
f87bb6cd06 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-05-10 16:41:10 +08:00
ea726a22bd 游戏评论相关优化 2019-05-10 16:41:02 +08:00
7e3afe7d70 Merge branch 'xiechanghong' into 'dev'
UI 变更

See merge request !5
2019-05-10 15:45:50 +08:00
8131c58fbf 规范化代码格式 2019-05-10 15:33:51 +08:00
674e32a096 优化上一版的代码问题 2019-05-10 11:52:40 +08:00
f5d42a3e01 优化上一版的代码问题 2019-05-09 20:48:05 +08:00
a079a03adc 首页猜你喜欢列表增加隐藏包过滤 2019-05-09 17:59:28 +08:00
8485f94133 优化内容:①文本输入框达到字数上限之后,继续输入内容直接出现Toast提示,不会把最后面的内容删掉,且光标停留在当前位置②如果发生闪退,再次打开光环时会提示立即反馈,这时如果玩家提交成功,会再次出现联系客服弹窗,点击"联系客服" 即直接跳转打开客服QQ对话页面 2019-05-09 17:01:59 +08:00
5d60a8f03b Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java
2019-05-09 16:52:16 +08:00
ec4319b74a 增加游戏评论相关的消息中心操作 2019-05-09 16:50:15 +08:00
41c3f9d073 更改游戏浏览记录的数据库结构 (从上几个测试版覆盖安装将清空所有浏览记录) 2019-05-09 14:04:05 +08:00
c27990b395 完成回答详情/社区文章详情增加反对功能 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/505 2019-05-08 18:43:10 +08:00
2e9a823ee1 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-05-08 17:42:01 +08:00
590afccae7 游戏详情-评论 增加小编评论 2019-05-08 17:41:53 +08:00
7a82780826 接入新的版主权限管理 2019-05-08 17:26:57 +08:00
c75e363a06 添加浏览记录图标 2019-05-08 17:12:24 +08:00
573b7b61cf Merge remote-tracking branch 'origin/dev' into dev
# Conflicts:
#	app/src/main/java/com/gh/common/util/Extensions.kt
2019-05-08 17:11:51 +08:00
9f9e1bc9fd 游戏评论/游戏评论详情完成'举报/复制'操作 2019-05-08 16:37:36 +08:00
34e11b1569 Merge remote-tracking branch 'origin/dev' into dev 2019-05-08 16:05:40 +08:00
cc7b77a8ad Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-05-08 11:50:42 +08:00
ed3a75ddc0 游戏评论详情页面用baseList实现 2019-05-08 11:50:26 +08:00
983c01df57 增加清除 HTML 标签的 extension 方法 2019-05-08 10:55:39 +08:00
9d95b7aa6b 修复首页游戏替换下拉刷新时会出现为确保页面游戏唯一而隐藏掉需要的游戏的问题 2019-05-08 10:06:19 +08:00
5319cb8679 回答详情页面增加反对功能(文章详情未完成) 2019-05-07 18:16:33 +08:00
b4b1a63c22 处理空指针异常 2019-05-07 09:52:03 +08:00
2dfd57de80 DataUtils 初始化同步执行 2019-05-06 18:22:56 +08:00
cbc8876656 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-05-06 15:39:46 +08:00
4e6b8bf6b3 优化游戏评论回复操作 2019-05-06 15:39:33 +08:00
da92826f6a 清理回答详情页面的无用代码 2019-05-06 11:13:44 +08:00
f1a4e429f3 修复回答详情预加载也会产生阅读时长的问题 2019-05-06 09:29:18 +08:00
3cd248a2c5 基本完成我的光环增加浏览记录需求 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/500#note_20735 2019-05-05 17:53:22 +08:00
7f5dd97359 统一游戏评论item数据设置 2019-05-05 17:37:12 +08:00
c0ee431d1f Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-05-05 15:12:53 +08:00
f56de73eb6 完成游戏评论详情(回复)相关页面展示/分页/跳转/点赞操作 2019-05-05 15:12:36 +08:00
a0b5cd00d5 修复一个数组越界问题 2019-05-05 09:45:36 +08:00
66b5f3d896 调整回答详情页面的结构,增加回答详情的浏览记录 2019-05-04 16:48:19 +08:00
a4346a6f34 游戏评分评论详情页面(未完待续...) 2019-05-04 16:32:26 +08:00
83894f6530 修改游戏评分样式
增加游戏评分评论详情页面
2019-04-30 18:30:03 +08:00
9b776bb029 我的关注增加关联关注 2019-04-30 10:48:16 +08:00
ea72fb09e0 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-04-29 10:58:11 +08:00
b2b390cf8b community keep position when update search 2019-04-29 10:57:46 +08:00
926abe248f Merge branch '3.6.3-log-fixd' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-04-29 09:30:58 +08:00
95468cf83e 更新百度推广激活接口 2019-04-28 17:38:16 +08:00
259b93eb25 修复错误的 MTA 事件命名 2019-04-28 16:49:01 +08:00
f59646643f 修复关闭评论页面软键盘没有隐藏的问题 2019-04-28 14:32:31 +08:00
7130417e60 增加记录推送点击事件失败重试 2019-04-28 11:28:50 +08:00
458a9f2a63 更新 API 至 3.6.4 2019-04-28 11:27:03 +08:00
0f85497f75 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-04-27 17:06:56 +08:00
3c0c6afd43 整理代码 2019-04-27 17:06:45 +08:00
345cdb41bc 完成首页游戏替换功能(第二期)https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/498 2019-04-26 18:12:47 +08:00
b78fa40eff 修复在小内存设备上加载本地应用图标会内存不够然后闪退的问题 2019-04-26 16:18:44 +08:00
193831ae7e VersionName:3.6.4 VersionCode:90 2019-04-26 15:43:21 +08:00
bcb9dc3ba8 修复 loghub 启动日志都变成都变成升级安装的问题 2019-04-25 11:57:59 +08:00
7903cdc44a Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-04-23 16:55:49 +08:00
a66c1ea50b 编辑框插入链接样式对以前版本隐藏 2019-04-23 16:55:33 +08:00
978e8f160b 修复 loghub 启动日志都变成都变成升级安装的问题 2019-04-23 14:52:08 +08:00
a49351a146 更改通用库 submodule 的远程地址 2019-04-22 16:27:04 +08:00
07d9b416a3 消息中心和系统推送添加跳转类型 2019-04-22 10:49:26 +08:00
f9edb69370 编辑插入回答/文章支持分享链接插入 2019-04-19 16:47:15 +08:00
deac313ba3 文章/回答详情处理链接跳转 2019-04-19 15:01:42 +08:00
b149f9acf2 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-04-19 09:59:35 +08:00
7c96ba090e 编辑框增加插入链接(文章,回答,游戏) 2019-04-19 09:59:18 +08:00
11ab908848 避免上传图片时闪退 2019-04-18 14:28:24 +08:00
3d2978b2e5 增加下载失败弹窗 2019-04-18 11:01:08 +08:00
7ad3a7ae92 下载进度超过100%的情况处理 2019-04-17 18:15:41 +08:00
9042488a65 把选择社区排序的操作放回主线程避免线程冲突造成闪退 2019-04-17 09:54:30 +08:00
b08e13f05a 捕抓发起网络重试请求时的各种异常 2019-04-17 09:53:20 +08:00
6271fd4998 编辑框增加插入文章 2019-04-16 16:08:09 +08:00
4d747a3df3 Merge branch 'dev-logo' into 'dev'
logo 添加多种尺寸

See merge request !4
2019-04-15 19:10:19 +08:00
5ce057d40e logo 添加多种尺寸 2019-04-15 19:01:55 +08:00
1e2e8f932f 编辑框增加插入游戏和插入回答页面 2019-04-15 18:03:45 +08:00
5accb9c1f1 Merge branch 'answer_animation' into 'dev'
答案详情页优化变更

See merge request !3
2019-04-15 11:52:08 +08:00
5b102d65c7 完成了光环前端需求汇总(2019年4月第2周)的(4,5,6,8) https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/490 2019-04-15 11:51:04 +08:00
c609ddd721 修复了图片后有文字时不能删除图片的问题 2019-04-12 14:38:39 +08:00
0c3783d127 避免重复发送答案阅读事件 2019-04-12 14:24:17 +08:00
f702ab6115 修复回答图片后有文字不能删除的问题 2019-04-11 17:54:00 +08:00
7dd760e0fb 尝试将回答详情的上下滚动改以 viewpager 实现 2019-04-09 18:08:58 +08:00
c6f3b5998c tinkerBase 3.6.3 2019-04-08 19:11:47 +08:00
28440d97de 删除无用代码 2019-04-08 18:00:21 +08:00
2b2b71fe01 资讯文章超链接支持跳转到社区文章 2019-04-04 16:21:50 +08:00
f5a9e7b487 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-04-03 17:56:56 +08:00
d43842a0e6 社区搜索新增页面增加关键字统计和点击跳转时增加到历史搜索 2019-04-03 17:56:42 +08:00
a557962f17 微调UI 2019-04-02 18:32:49 +08:00
560c682157 完成光环助手V3.6.3 RELEASE(20190402-1130)测试问题汇总(6,7,8) 2019-04-02 17:41:48 +08:00
a0ae36f511 修复问题编辑图片数量的显示错误问题 2019-04-02 15:57:21 +08:00
bdee17ffc4 修复社区选择排序问题 2019-04-02 09:59:12 +08:00
5829f09f8c 调整文案 2019-04-01 20:18:00 +08:00
bc6fa5e7db 更换编辑框图标 2019-04-01 18:07:06 +08:00
1607cea9ce Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-04-01 17:58:33 +08:00
426019ea7c 光环助手V3.6.3 RELEASE(20190331-1830)测试问题汇总(前端)(1.3.4.10) https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/483 2019-04-01 17:57:08 +08:00
1b878a50c4 调整关闭评论点击的 toast 文案 2019-04-01 17:13:43 +08:00
97525189b7 调整反馈文案 2019-04-01 16:59:38 +08:00
999947751a 修复回答浮窗在用户退出登录后也有可能显示的问题 2019-04-01 16:40:56 +08:00
2def61ab43 修复光环助手V3.6.3 RELEASE(20190331-1830)测试问题汇总(6,7,8,9) https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/483 2019-04-01 16:28:17 +08:00
5e07ef488c 整理重复定义的权限 2019-04-01 11:10:40 +08:00
7af47c0caf 调整资源位置 2019-04-01 11:10:12 +08:00
1a5ed3c05f 调整代码 2019-03-31 17:05:47 +08:00
9cc9b09861 光环助手V3.6.3 RELEASE(20190328-1930)测试问题汇总(前端)(5.6.7.8.13) https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/480 2019-03-31 15:21:12 +08:00
cef4432d97 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-03-31 14:17:02 +08:00
18be6acc34 光环助手V3.6.3 RELEASE(20190329-1930)测试问题汇总(前端)(1.2.3.8.9) https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/482 2019-03-31 14:16:27 +08:00
27d0dd40d0 修复了版主不能修改问题图片数量的问题 2019-03-30 17:13:33 +08:00
b05fa626f6 处理一些内存泄漏问题 2019-03-30 14:41:31 +08:00
f1fc84ea5f 修复答案被隐藏时的闪退问题 2019-03-30 14:40:55 +08:00
3942154c05 修复缺少路径引起的闪退问题 2019-03-30 14:23:52 +08:00
ff182ee3c7 修复了光环助手V3.6.3 RELEASE(20190328-1930)测试问题汇总的(1,2,9,10,11) https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/480 2019-03-30 10:38:01 +08:00
10cc275970 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/qa/AskFragment.kt
2019-03-29 17:03:41 +08:00
21821d584e 光环助手V3.6.3 DEV(20190328-1830)测试问题汇总(前端)(1.6.7.13.14.15) https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/479 2019-03-29 17:01:43 +08:00
6b8716eff8 补充社区搜索事件 MTA https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/478 2019-03-29 15:58:28 +08:00
47434e2943 处理了环助手V3.6.3 DEV(20190328-1830)测试问题汇总的(3,4,5,8,10,12) 2019-03-29 15:05:29 +08:00
4c3b327cff 完成数据统计需求 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/477 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/478 2019-03-29 11:00:37 +08:00
3454d13e48 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-03-28 20:55:58 +08:00
0aad7c59ee 源码引入matisse库 2019-03-28 20:55:49 +08:00
ee8e4e0338 修复社区文章无法置顶的问题 2019-03-28 18:29:50 +08:00
a430c51c97 让测试社区隐藏了也能点击进入 2019-03-28 18:20:53 +08:00
b59508e9e5 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-03-28 16:58:36 +08:00
08deac1dea 光环助手V3.6.3 DEV(20190327-1830)测试问题汇总(前端)(6.8.13.14.15) https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/476 2019-03-28 16:58:28 +08:00
a2dc3f3d5b 修复了部分 光环助手V3.6.3 DEV(20190327-1830)测试问题 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/476 2019-03-28 16:25:42 +08:00
679cfab088 社区搜索历史页面间距微调 2019-03-28 10:11:22 +08:00
9144595aaf 修复打包错误问题 2019-03-27 18:44:36 +08:00
8a545180a2 文章详情-评论详情UI微调 2019-03-27 17:37:56 +08:00
17c5793558 增加关闭评论确定弹窗 2019-03-27 16:15:05 +08:00
8afc346a2c 添加测试用的推送点击 toast 2019-03-27 15:49:35 +08:00
026bb7f67b 添加 CSS 和 JS 的外联依赖 2019-03-27 15:48:39 +08:00
b971e7dbf6 添加敏感词错误码 2019-03-27 15:48:00 +08:00
ec39ef16e4 优化社区搜索历史数据库操作 2019-03-27 11:14:51 +08:00
ae07bacbb7 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-03-27 10:41:44 +08:00
0f0d8da6cd merge 2019-03-27 10:41:37 +08:00
2a1c99efac 社区搜索热门增加置顶功能 2019-03-27 10:40:01 +08:00
caa89d3f4c 修复了回答详情列表较长上下滑动时会存在偏移的问题 2019-03-27 10:26:24 +08:00
1602816d08 调整回答详情上下滑动动画距离 2019-03-26 19:58:50 +08:00
1062cf5924 处理一些内存泄漏问题 2019-03-26 19:45:46 +08:00
f6e5cd3fd7 更新微信分享、登录SDK 2019-03-26 18:14:06 +08:00
c675196cb2 修复一些闪退问题 2019-03-26 16:35:21 +08:00
8b9c2668d1 完成3月第4周需求汇总 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/475 2019-03-26 15:54:43 +08:00
c1a927ed88 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-03-26 15:09:56 +08:00
4d4416c1df 社区搜索增加文章和用户模块 2019-03-26 15:09:46 +08:00
f4833983c0 完成3月第3周需求汇总 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/473 2019-03-26 11:24:05 +08:00
89eb99d813 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-03-25 18:28:00 +08:00
683a68d179 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailFragment.kt
#	app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java
2019-03-25 18:26:13 +08:00
598af67338 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailFragment.kt
#	app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java
2019-03-25 18:25:41 +08:00
d9d0ffc3b9 基本完成社区前端优化需求汇总 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/470 2019-03-25 18:16:18 +08:00
4d8e04580e 1.问答模块增加提问悬浮按钮
2.问答搜索增加默认搜索文案
3.问答搜索增加热门搜索区域
2019-03-25 18:15:17 +08:00
cfaddf2f22 基本完成社区版主权限强化需求 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/471 2019-03-25 16:45:42 +08:00
c72b194107 优化问答模块社区隐藏的交互 2019-03-25 14:27:09 +08:00
d7f33ff8b1 修复编译问题 2019-03-23 17:33:31 +08:00
91e491b66a 基本完成回答详情与社区文章详情优化 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/463 2019-03-23 17:26:16 +08:00
31b7e40ab0 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-03-22 18:58:53 +08:00
f2b094fff0 统一内容数值显示规则 完成 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/468 2019-03-22 18:54:55 +08:00
185ee7f0f4 调整选择游戏社区的排序,已安装相应游戏的放到最前 2019-03-22 18:25:14 +08:00
f446b15f7a Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-03-22 18:01:03 +08:00
52a833f18b 社区文章/回答 富文本编辑框统一插入样式 2019-03-22 18:00:51 +08:00
37fc68977c 根据接口调整回答详情的可拖动切换设定 2019-03-22 15:50:11 +08:00
96ee71a594 Merge remote-tracking branch 'origin/dev' into dev 2019-03-22 10:55:35 +08:00
1c2dda9353 基本完成提问与问题详情优化需求 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/464 2019-03-22 10:55:07 +08:00
96a9fd0ad7 富文本编辑框增加引用样式 2019-03-22 10:51:37 +08:00
c53c27e350 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-03-21 15:25:39 +08:00
fd4f32bb3c 回答编辑框增加各种内容样式 2019-03-21 15:25:31 +08:00
cbd2d8ed6c 修复图片上传闪退BUG 2019-03-20 18:32:11 +08:00
3dd06bc620 简单处理问题页面多张图片上传 2019-03-20 18:28:17 +08:00
3a829e1cfd 重构回答编辑 2019-03-20 15:40:48 +08:00
183e1a85c3 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-03-20 10:55:09 +08:00
6b696234ab 回答编辑支持批量插入图片 2019-03-20 10:54:58 +08:00
21ac1d1f17 基本完成答案详情上下滑动功能,待接口数据再调试 2019-03-20 10:23:33 +08:00
4163b81f70 Merge head 2019-03-19 18:10:34 +08:00
6c3268ce72 简单包裹答案详情页面以实现上下拖拽切换回答 2019-03-19 18:08:06 +08:00
4d87f86fcd Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-03-19 14:40:20 +08:00
4a37401dc2 RichEditor增加元件样式回调 2019-03-19 14:40:06 +08:00
8cf90193fc 修复一个数组越界造成的闪退问题 2019-03-18 16:12:27 +08:00
9942a51cad Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-03-11 18:24:47 +08:00
4980d96c8c 修复当后台返回错误的游戏标签时会闪退的问题 2019-03-11 18:24:37 +08:00
f32c8748ed Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-03-11 18:10:26 +08:00
7b886679e1 修改礼包图标大小 2019-03-11 18:08:52 +08:00
2620c04b09 捕抓闪退异常 (ObservableUtil 这个地方贡献了得有40%的闪退量) 2019-03-10 10:07:03 +08:00
c22157f2f5 修复了关注页面被销毁网络回调回来会导致闪退的问题 2019-03-08 09:44:54 +08:00
09f02bc225 修复插件化隐藏后无法一键修复问题 2019-03-07 15:57:38 +08:00
9fc9549a28 光环前端需求汇总(2019年3月第1周)(1.4.6.7.8)https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/461 2019-03-07 14:55:35 +08:00
0099afad09 update changelog 2019-03-04 10:00:08 +08:00
3e512634c6 tinkerBase:3.6.2 2019-03-04 09:51:55 +08:00
7045354808 修复推送系统通道内容乱码问题 2019-02-28 23:25:22 +08:00
dbcc97a250 修复版本说明弹窗圆角 2019-02-28 19:28:20 +08:00
050081b7b1 修复版本说明弹窗大小 修改求版本文案 2019-02-28 18:04:57 +08:00
993d1e7635 UI调整 2019-02-28 10:07:48 +08:00
a86a3c1f71 修复了游戏详情下载按钮文字过多导致超出可是范围的问题 2019-02-27 17:54:41 +08:00
b0a192ad9a 修复了未登录时游戏动态的热门推荐区域不显示的问题 2019-02-27 17:31:51 +08:00
ea7b478c6b Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-02-27 16:23:01 +08:00
b673383f59 修复文章详情引用评论隐藏后没有显示"该内容已被隐藏"问题 2019-02-27 16:22:27 +08:00
06ae366b74 修复隐藏入口后一键修复无法即时更新页面问题 2019-02-27 16:20:57 +08:00
6b9cf7094e 修复关注页面刷新不及时的问题 2019-02-27 15:45:38 +08:00
5ae22bd2bc 修复了用户没有登录也能看到消息中心推送的问题 2019-02-27 10:40:46 +08:00
e951551531 修复了答案详情点击更多会闪退的问题 2019-02-27 10:39:50 +08:00
272e5fb6cc 调整专栏阅读日志的默认值 2019-02-26 14:49:42 +08:00
7dc17d09c1 记录专栏的阅读位置信息 2019-02-26 14:29:39 +08:00
cfacbe739d 修复一些空指针异常 2019-02-26 10:10:29 +08:00
0a72226ba5 下载平台面板增加翻页提示 2019-02-25 10:56:25 +08:00
5f22a14643 整理部分代码 2019-02-24 15:14:42 +08:00
5562e38c2f Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-02-24 11:16:58 +08:00
f9027f7a61 消息中心样式修改 2019-02-24 11:16:46 +08:00
6d0e437ad4 完成 MTA 统计需求 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/456 2019-02-23 11:40:19 +08:00
3abc53d3b3 完成首页游戏替换功能 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/447 2019-02-23 10:33:55 +08:00
d0e4c2c3ab 补充注释 2019-02-22 15:39:09 +08:00
5be50c1638 修复数据统计缺失社区ID的问题 2019-02-22 15:38:31 +08:00
7c525aec79 推送功能优化 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/451 2019-02-22 15:35:11 +08:00
63d5edf892 光环前端需求汇总(2019年2月第4周)(2.3.6.7)https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/452 2019-02-22 15:32:34 +08:00
c9f2cf178a 去掉推送通知的本地过滤 2019-02-22 10:14:37 +08:00
fc98de3bc0 更换广点通接入帐号 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/454 2019-02-22 09:59:36 +08:00
dd8360f5e8 游戏下载面板增加公告(补充) 2019-02-21 11:13:06 +08:00
bc9b815b47 DownloadDialog 去除单例 2019-02-20 14:41:15 +08:00
2a93995221 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-02-20 10:32:15 +08:00
0e93f6521c 版本升为3.6.2 2019-02-20 10:32:09 +08:00
b3a6d0ce94 修复横排专题的曝光出现内容错乱的问题 2019-02-19 18:11:38 +08:00
de60d05190 插件游戏求版本功能完善 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/450#note_17274 2019-02-19 15:42:22 +08:00
2a2ce9a490 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-02-19 11:32:42 +08:00
639644e3c3 游戏下载面板增加公告功能 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/449#note_17186 2019-02-19 11:30:52 +08:00
2378e6e94e 基本完成首页游戏替换功能(本地测试通过,暂未与后台调试) https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/447 2019-02-18 15:33:12 +08:00
87d9feae70 修改 Gson 的对象化实现,避免类型擦除 2019-02-18 15:27:49 +08:00
4a93d129bb 游戏下载面板增加公告 2019-02-16 15:46:15 +08:00
39e5e2e9f9 渠道包功能开关控制规则优化(未测试) https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/448 2019-02-15 16:07:30 +08:00
8a5f777c65 社区和文章评论被删除的默认文案颜色修改 2019-02-14 10:48:53 +08:00
22c693e042 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-02-13 18:25:13 +08:00
36d04f5841 意见反馈修改 光环前端需求汇总(2019年2月第3周)(8.9.10.11) https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/445#note_17027 2019-02-13 18:25:05 +08:00
409123337d 统一游戏动态和我的关注页面的游戏推荐样式 2019-02-13 17:32:06 +08:00
b180a210cb Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-02-13 15:38:40 +08:00
32dfdc4d08 更改草稿刷新逻辑 光环前端需求汇总(2019年2月第3周)(3) 2019-02-13 15:38:35 +08:00
4d46888995 修复更新非活跃状态的页面造成的闪退问题 2019-02-13 14:27:31 +08:00
69db836231 修复问题详情和答案详情页面会丢失部分阅读时长统计的问题 2019-02-12 17:46:54 +08:00
f82b9ad308 修复进入有视频的游戏详情时会造成手机被静音的问题 2019-02-12 15:14:46 +08:00
3ac91b1216 修复重复初始化七陌客服SDK造成后台产生空的聊天条目的问题 2019-02-11 15:36:05 +08:00
8d4b3e0851 修复更新非活跃状态的页面造成的闪退问题 2019-02-11 10:39:11 +08:00
67d8f46217 反馈图标大小自适应 2019-01-30 17:18:57 +08:00
f357136936 update CHANGELOG
3.6.1 Tinker Base
2019-01-30 15:48:00 +08:00
9d622d2be9 消息中心标黄内容复制后去除前后空格 2019-01-30 09:46:52 +08:00
800525227d update MessageSpannableTextView 2019-01-29 18:25:09 +08:00
c9dec9a31e 草稿刷新时定位到列表顶部 2019-01-29 16:23:57 +08:00
2ae4fda6e8 优化ListViewModel 2019-01-28 19:26:02 +08:00
609702715f Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-01-28 17:59:06 +08:00
ec7e138208 光环助手V3.6.1 RELEASE(20190128-1200)测试问题汇总(2.4) https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/443 2019-01-28 17:58:25 +08:00
bfd64a8bce 修复开服表曝光的提交问题 2019-01-28 17:12:15 +08:00
5571b6481f Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-01-28 11:31:25 +08:00
6d6574988c 光环助手V3.6.1 RELEASE(20190125-1850)测试问题汇总(4.5.9.10.13) https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/442#note_16676 2019-01-28 11:31:13 +08:00
af8d075bf2 修复了下载插件化应用时的卡顿问题 2019-01-26 17:44:12 +08:00
b7db66e90b 专题答案列表显示发布时间 2019-01-26 11:32:20 +08:00
13ac4658d9 通过微信分享前先检测用户是否安装微信 2019-01-25 18:22:02 +08:00
8ad3420822 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-01-25 15:40:16 +08:00
f842ced67e 更换反馈图标 添加渠道号 2019-01-25 15:39:48 +08:00
e0081e56df Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-01-25 14:22:52 +08:00
3202764f22 屏蔽安卓 5.0 以下设备的视频播放功能 2019-01-25 14:22:39 +08:00
f477876359 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-01-25 14:08:26 +08:00
86ffcb92f8 admin api host -> 3.6.1
1月25补充优化
2019-01-25 14:08:18 +08:00
a2088e5cd9 修复问题详情页面的答案没有显示发布时间的问题 2019-01-25 09:58:38 +08:00
6e1247f393 消息客服跳转过滤无链接数据 2019-01-24 18:19:27 +08:00
c33faa4918 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-01-24 15:39:57 +08:00
d0aeb1c411 修改反馈文案
修复插件化完成后更新不及时问题
2019-01-24 15:39:33 +08:00
485924527e 避免发送无用的关注请求 2019-01-24 15:19:15 +08:00
ca1bfda326 更换反馈图标 2019-01-23 18:31:27 +08:00
c7c786d662 修改社区搜索路径关键字 2019-01-23 17:47:02 +08:00
acf9fe308c 光环助手V3.6.1数据统计需求(光环数据后台) https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/440 2019-01-23 16:59:53 +08:00
3b32231709 修复嵌套 recyclerview 因为焦点获取而触发莫名位移的问题 2019-01-23 16:43:18 +08:00
9dae198af2 修复曝光下载完成事件里 payload 没有游戏 id 的问题 2019-01-23 14:50:53 +08:00
29bfd5bb93 处理空指针异常 2019-01-23 11:49:51 +08:00
8da51d7f5a 回答数量限制弹窗优化
优化消息中心标黄判断
2019-01-23 11:30:42 +08:00
91964a0ffc Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-01-22 19:17:26 +08:00
479ef20859 dev api host -> 3.6.1
光环助手V3.6.1-消息中心优化(测试未通过)  https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/435
2019-01-22 19:17:08 +08:00
f458b7dcb8 将MTA的[游戏详情]计算事件换成普通事件[游戏详情_新] 2019-01-22 18:24:31 +08:00
2d25ff7836 开服表添加曝光统计 2019-01-22 18:13:46 +08:00
57dd5d0584 关注游戏区分自动和手动 2019-01-22 18:13:18 +08:00
757efec05e 回答卡片增加回答发布时间 2019-01-22 18:12:21 +08:00
4979045be2 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-01-21 17:00:59 +08:00
f59af60f70 游戏详情增加社区跳转提示 2019-01-21 17:00:04 +08:00
60bc2a02f4 修复一些闪退问题 2019-01-21 16:21:34 +08:00
996be3906e versionCode->60 versionName->3.6.1 2019-01-21 15:55:50 +08:00
14a054bdbc 游戏详情 增加加载骨架 2019-01-21 15:50:36 +08:00
07a9fd6273 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-01-21 14:43:21 +08:00
a067f7bc43 礼包详情/专题详情 增加加载骨架 2019-01-21 14:43:11 +08:00
a5eefbb6f4 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-01-21 10:57:35 +08:00
8d9f83c432 处理值转换异常 2019-01-21 10:57:24 +08:00
ae0df36a89 处理非空异常 2019-01-21 10:56:44 +08:00
72539671a1 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-01-21 10:31:43 +08:00
94277a4aeb 游戏分类增加加载骨架 2019-01-21 10:31:25 +08:00
e276d148cf 统一文本输入框的超出字数逻辑 2019-01-20 18:34:34 +08:00
a7152034e8 修复上传弹窗重复显示问题 2019-01-20 16:54:16 +08:00
4a5e9da34a 可以由后台控制关闭资讯相关的功能 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/434 2019-01-20 14:23:29 +08:00
1422365cc5 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-01-20 10:17:36 +08:00
7f55ff6340 根据包名过滤下载按钮状态 2019-01-20 10:17:23 +08:00
4722626fb7 添加百度信息流激活统计请求 2019-01-17 17:07:08 +08:00
39d87ad98d 图片加载支持 gif 2019-01-17 17:06:20 +08:00
85333b9eed 更新七陌客服 SDK 2019-01-17 16:03:58 +08:00
c99ae6db3e 修复游戏列表下载状态异常问题 2019-01-17 15:25:48 +08:00
c5be98adc2 修复手机没有图片选择应用时调用会崩溃的问题 2019-01-16 19:08:18 +08:00
5321aa2e9f Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-01-16 19:00:50 +08:00
345707ef42 光环前端需求汇总(2019年1月第3周)1.9.11 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/432 2019-01-16 18:35:22 +08:00
6a9d05d916 修复部分以 .html 结尾的下载链接无法下载的问题 2019-01-16 15:45:40 +08:00
faf2a89706 修复了 GID 初始化顺序不一造成的闪退问题 2019-01-15 11:29:57 +08:00
ada51f90f1 修复了一个数组越界造成的闪退问题 2019-01-15 10:08:18 +08:00
53962116d5 修复了我的游戏中同包名游戏显示错误前缀以及安装包名刷新不及时的问题 2019-01-10 15:26:15 +08:00
3ea52745b3 如果已安装的是光环助手的游戏包那么对应的已安装列表只会存在一条已安装信息 2019-01-10 09:53:21 +08:00
a8f2289b27 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2019-01-09 18:16:31 +08:00
6dd56b5d16 光环前端需求汇总(2019年1月第2周)(1.3.4.5.6.7) https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/428#note_15724 2019-01-09 18:15:45 +08:00
eb739cf6cb 修复了插件化弹窗安装状态更新不及时的问题 2019-01-09 17:08:18 +08:00
4853cd9047 修复了文章详情 gif 图片会闪烁的问题 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/424 2019-01-07 12:03:40 +08:00
4e0f14aeed 首页 tab 添加水波纹效果 2019-01-05 18:01:28 +08:00
5e37dac0f6 处理空指针异常 2019-01-05 10:06:01 +08:00
22bfa9051a 修复由于列表重用机制导致的游戏名字长度异常问题 2019-01-04 14:23:32 +08:00
0a1dca3aa3 修复游戏详情大家都在玩列表会显示下载'暂无'字样的游戏的问题 2019-01-04 10:55:15 +08:00
0b20896330 3.6封包 2018-12-29 19:00:46 +08:00
3b934578dd 修改游戏列表样式 2018-12-29 17:51:34 +08:00
c42e1a76bf 3.6封包 2018-12-29 09:21:23 +08:00
d3f2395d9c 捕抓删包异常 2018-12-28 20:41:01 +08:00
b5ba1e877f 将时间敏感的SP写入操作从 apply 换成 commit 2018-12-28 20:17:57 +08:00
eba27d8969 微调游戏列表间距 2018-12-28 18:32:01 +08:00
fe1d4d3406 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-12-28 17:41:34 +08:00
28418b0d49 update .gitignore 2018-12-28 17:41:16 +08:00
f35396c0e3 修复了关注页面,存在红点且为首次加载时重复加载的问题 2018-12-28 17:33:32 +08:00
67cc464607 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-12-28 15:57:51 +08:00
b0fa0392b7 调整首页游戏间距
我回答过的问题,最后答案都被隐藏了,在问题详情不要显示 [我来回答] 按钮
2018-12-28 15:57:38 +08:00
0fc4fddfe7 处理部分错误错误码 2018-12-28 11:42:27 +08:00
f092966c88 赞同列表弹窗的宽度改为80%屏幕宽度 2018-12-28 11:29:11 +08:00
0e1cb515ab 游戏列表摘要文案显示为灰色 2018-12-28 10:37:38 +08:00
35115d0581 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-12-27 18:19:43 +08:00
b1d1fc0e36 修复问答-关注切换社区关注用户可能多次调用刷新数据的问题 2018-12-27 18:19:30 +08:00
91f84cdd5c Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-12-27 18:08:42 +08:00
ad2c155e54 光环助手V3.6 RELEASE(20181227-1530)测试问题汇总 https://gitlab.ghzhushou.com/pm/issues-Inbox/issues/838 2018-12-27 18:08:30 +08:00
fc4b383292 修复问答-关注切换社区关注用户可能多次调用刷新数据的问题,微调 UI 2018-12-27 18:08:09 +08:00
1a868d3f12 修复问答-关注切换社区关注用户可能多次调用刷新数据的问题 2018-12-27 17:53:34 +08:00
e4dd96e21a Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-12-27 15:12:18 +08:00
8705f8d2e2 横向游戏列表游戏名加粗
游戏搜索显示游戏标签
版主修改历史优化
2018-12-27 15:12:10 +08:00
65fab5e990 修复关注页面赞同折叠的显示问题 2018-12-27 11:18:49 +08:00
1d92b070eb 将 listViewModel 里更新加载状态的方法由 postValue 换成 setValue 以避免快速多次调用触发分页问题 2018-12-27 10:27:23 +08:00
d72102784e Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-12-26 20:01:57 +08:00
d7351bf93e 修复了问答关注推荐用户界面即时关注了新用户依旧存在的问题 2018-12-26 20:01:47 +08:00
6bf40ca237 修复同一个包存在多个更新的问题
修复已安装列表出现下载按钮问题
版主修改标签增加默认标签
2018-12-26 17:34:44 +08:00
4be93781b2 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-12-26 14:26:04 +08:00
13fc6b8453 版主历史版本增加初始内容(未修改),修改app更新逻辑 2018-12-26 14:25:56 +08:00
34cbbdffb9 修复一个重复调用列表 onRefresh 造成的显示问题 2018-12-26 12:04:41 +08:00
e45eadb6e3 3.6 (20181225-1850) 问题汇总 (6,7,12,13,14) https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/420 2018-12-26 10:51:56 +08:00
7bf2ef1007 修复点赞数量为零的情况,社区投票 已开通的toast文案修改 2018-12-26 10:33:25 +08:00
23c46cc4b2 修改邀请错误文案 2018-12-25 15:20:53 +08:00
259adbf145 光环助手V3.6 RELEASE(20181224-1145)测试问题汇总(前端)(2,3,6,10,11,13,14) https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/419 2018-12-25 15:12:00 +08:00
95acc64e42 光环助手V3.6 RELEASE(20181224-1145)测试问题汇总(前端)(7.8.16)https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/419 2018-12-25 15:02:10 +08:00
974d4fcefa 修复查看礼包闪退问题 2018-12-24 15:22:49 +08:00
298733b192 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-12-24 11:22:34 +08:00
2ec4c75049 实现下拉刷新更新轮播图(首页-游戏,首页-问答) 2018-12-24 11:22:25 +08:00
bfac5398fc 优化曝光模块代码 2018-12-24 10:43:53 +08:00
d029b1692a 优化曝光模块代码 2018-12-23 16:19:55 +08:00
d7006f25f7 光环助手V3.6 DEV(20181220-1000)测试问题汇总(前端)(10.11.12.14.30.36) https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/417#note_14957 2018-12-23 14:30:00 +08:00
ef56910da0 修复曝光事件里 gid 可能为空的问题 2018-12-23 10:20:11 +08:00
dbf73a0385 修复发现页面闪退问题 2018-12-22 18:03:19 +08:00
41b8cae6bd 光环助手V3.6 DEV(20181220-1000)测试问题汇总(前端)(23.24.26.27.28.38) https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/417 2018-12-22 17:52:39 +08:00
0bea685ce1 优化信息流推荐关注 2018-12-21 18:09:59 +08:00
acd39aa969 完成光环助手V3.6 DEV(20181220-1000)测试问题汇总(前端) https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/417 的 4、5、7、6、8、17、18 2018-12-21 17:22:32 +08:00
fd59e71714 光环助手V3.6 DEV(20181220-1000)测试问题汇总(前端)(9.25.31.33.34.35.37) https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/417 2018-12-21 17:03:05 +08:00
47c37a1a7e 优化信息流 推荐关注,admin api 升为v3d6 2018-12-21 10:58:58 +08:00
774f9bac80 修复问答-推荐 重复刷新问题 2018-12-21 10:36:16 +08:00
316eb738ec Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-12-20 17:32:26 +08:00
af493d9dfb 登录事件触发地点修改,优化信息流推荐关注 2018-12-20 17:32:05 +08:00
3d626abbc2 修复自动搜索不显示广告的问题 2018-12-20 15:40:38 +08:00
a392f7f8d8 修復初始化闪退问题 2018-12-20 11:42:01 +08:00
8f8f4c645a 发现页面分割线,改为0.5dp 2018-12-19 16:54:54 +08:00
1cae62fb99 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/res/layout/fragment_discover.xml
2018-12-19 16:38:50 +08:00
6db72fa7e7 光环助手V3.6 DEV(20181213-1500)测试问题汇总(UI) https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/415 2018-12-19 16:34:10 +08:00
6ee300c70e 将问答顶部几个 tab 的宽度变成自适应 2018-12-19 15:43:43 +08:00
0f16790535 基本完成广告入口需求 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/412 2018-12-19 14:55:36 +08:00
524742b8ea 光环助手V3.6 DEV(20181213-1500)测试问题汇总(前端)(9.10.16.17.24)https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/413 2018-12-18 19:41:31 +08:00
8c08bbea6a Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-12-18 16:02:36 +08:00
d6c2bd6634 修复反馈闪退问题 2018-12-18 16:02:21 +08:00
4aeb42dee9 精简部分无用代码 2018-12-18 14:26:34 +08:00
0de7f40958 修复 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/413 的 3、4、5、6、19(2)、20、22、25 点 2018-12-18 14:25:51 +08:00
07fd8d986e 捕抓异常 2018-12-18 14:23:16 +08:00
c821923cd0 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-12-17 17:10:47 +08:00
6ce247d8d1 更改引导图 部分登录入口统计修改 2018-12-17 17:10:34 +08:00
473d8c43df Merge branch 'fix_background_service' into 'dev'
尝试解决 https://gitlab.ghzhushou.com/halo/assistant-android/issues/7

See merge request !2
2018-12-17 16:22:11 +08:00
e082b321eb 尝试解决 https://gitlab.ghzhushou.com/halo/assistant-android/issues/7
1. 当设备满足系统版本为 8.0+ 且应用在后台运行时,使用 startForegroundService() 启动 DownloadService ,否则使用原来的 startService() 启动 DownloadService

2. 当应用从后台切换回前台并且 DownloadService 是前台服务时,手动调用 Service.stopForeground() 来去掉前台服务标记
2018-12-17 16:18:05 +08:00
fd236857d4 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/qa/article/detail/ArticleDetailActivity.kt
2018-12-14 17:35:27 +08:00
9290934ec3 光环助手V3.6数据统计需求(登录入口统计) https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/407 2018-12-14 17:20:39 +08:00
b6d9118d05 修复一个在华为设备上注册过多 broadcast receiver 会崩溃的问题 2018-12-14 11:50:38 +08:00
544d21613a 增加腾讯广告用户分群 SDK 2018-12-14 10:56:32 +08:00
68a7720ea9 补充开服表 MTA 事件 2018-12-13 18:00:03 +08:00
01a537c0f6 修复打包失败问题(使用javax包下的内容导致) 2018-12-13 17:21:40 +08:00
11bd2a5831 versionName->3.6
versionCode->50
2018-12-13 16:26:08 +08:00
d615a07f27 基本完成 3.6 MTA 统计需求 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/408 2018-12-13 10:56:40 +08:00
ef941a7651 微调菜单UI 2018-12-13 09:42:56 +08:00
928ed40dd4 社区上报阅读数据增加相关字段 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/406#note_14390 2018-12-12 17:17:36 +08:00
03f3f174c3 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-12-12 16:24:13 +08:00
6a1a38fb5e 问答-推荐增加推荐关注完成 2018-12-12 16:23:59 +08:00
9f4ca9a3bb Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-12-12 15:06:58 +08:00
670786cc2d 完善点赞引导和关注引导 2018-12-12 15:06:52 +08:00
cc3b4ba7e9 禁言状态提醒从 toast 改为 dialog 2018-12-12 10:55:19 +08:00
b8d5246230 当引用的评论被隐藏 内容显示未该内容已被删除 2018-12-11 16:46:12 +08:00
37665acd3c Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-12-11 15:03:59 +08:00
5aef4d649a 优化版主管理问题详情权限问题 2018-12-11 15:03:46 +08:00
90c050590a 搜索列表添加曝光统计 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/405 2018-12-11 14:33:50 +08:00
3115152f32 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-12-11 10:52:26 +08:00
923562ad8e 礼包增加查看状态,客服私信增加问题类型,社区推荐轮播图大小设为按比例缩放 2018-12-11 10:52:01 +08:00
1b2b9b3b91 更换显示游戏"新服"的字段,消息推送点击标记已读 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/402 2018-12-11 10:12:08 +08:00
8412044b88 增加检查登录的 extensions 2018-12-11 10:10:24 +08:00
ceb2384eb8 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java
2018-12-10 16:18:45 +08:00
1244efd015 基本完成社区版主权限答案部分 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/395 2018-12-10 16:17:24 +08:00
1cc572f774 版主修改历史/详情 对接数据接口,app更新对比改用VersionCode 2018-12-10 16:16:20 +08:00
f43c9e5d67 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-12-09 17:40:56 +08:00
22387e8e60 光环助手V3.6优化需求汇总(20181206)(1.2.5.7.8.9.10.13.21.22)https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/402#note_14212 2018-12-09 17:40:47 +08:00
9284af351a Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-12-08 15:44:51 +08:00
07cbd3c031 捕获写入曝光数据库的异常 2018-12-08 15:44:36 +08:00
1d03d171e0 发送游戏页面增加定位权限申请(避免在某些设备上没有权限闪退 2018-12-08 15:42:46 +08:00
1abb783f4c Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-12-07 16:07:55 +08:00
d37c809973 版主隐藏问题对接数据接口 2018-12-07 16:07:43 +08:00
0feffda7f3 完成 V3.6 部分优化 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/402 2018-12-07 16:06:54 +08:00
b5bfbfaff6 基本完成社区关注 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/391 补充部分 2018-12-06 18:05:09 +08:00
25a4171631 更新 GID 库 2018-12-06 18:04:13 +08:00
8622aa787a 版主修改问题对接数据接口 2018-12-06 17:42:23 +08:00
dd44a34e18 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-12-06 11:55:25 +08:00
da91e7de1d 优化版主问题标签 2018-12-06 11:55:16 +08:00
c32798cbb0 捕抓异常,避免闪退 2018-12-06 10:15:11 +08:00
a03754d02b Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-12-05 18:08:58 +08:00
a9351b29ab 问答推荐增加“推荐关注”(尚未对接网络数据) 2018-12-05 18:08:51 +08:00
84a27b504d 基本完成 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/400 答案详情引导修改 2018-12-05 17:59:57 +08:00
91e2432b48 微调问答关注页面 UI 2018-12-05 15:54:46 +08:00
505da678f0 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-12-05 14:19:53 +08:00
e0b44bf41c 整理app更新相关/礼包详情代码 2018-12-05 14:19:44 +08:00
f856ff5957 微调回答详情点赞动画特效 2018-12-05 10:21:48 +08:00
65fdb90ccb 回答详情添加动画效果,具体触发逻辑还得等后台确定接口 2018-12-05 10:12:34 +08:00
82372dc33b Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-12-04 17:53:32 +08:00
14fb79b90c 更改过滤已隐藏包的逻辑 2018-12-04 17:53:19 +08:00
050c7f9d86 处理非空异常 2018-12-04 17:03:08 +08:00
6efd3a3239 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-12-03 15:36:12 +08:00
f1c0888309 修复对获取服务器时间这个接口的解析问题 2018-12-03 15:35:58 +08:00
1e9ade68f7 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-12-03 15:07:45 +08:00
58a0fd8fdb 修复游戏详情截图尺寸不对问题 2018-12-03 15:07:35 +08:00
cd523bd552 修复对获取服务器时间这个接口的解析问题 2018-12-03 14:59:16 +08:00
22f68d098c Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-12-03 11:17:18 +08:00
5d3657938d 删除tinker_version_name(由于app推送更新方式变更,不再需要tinker_version_name) 2018-12-03 11:16:26 +08:00
f2002ff1ce 修复初始化问题 2018-12-03 10:51:08 +08:00
49600213b7 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/qa/AskViewModel.kt
2018-11-30 18:18:17 +08:00
4d87edb1fd 删除部分无用代码 完成部分todo 2018-11-30 18:16:18 +08:00
b536f263f2 修复一个初始化异常问题 2018-11-30 16:36:10 +08:00
65c1300c63 去掉用不到的 iosched 2018-11-30 10:43:45 +08:00
f1cc12eea3 微调代码结构 2018-11-30 10:34:48 +08:00
0c5dd84c27 略微调整代码结构 2018-11-30 10:21:23 +08:00
df8753e1c4 优化管理员修改问题,修复资讯中心三张图片的Item无法显示问题 2018-11-29 17:21:54 +08:00
eb9dba3bc7 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-11-28 18:41:00 +08:00
86247e4a61 回退问答-推荐访问路径 增加问题历史和历史详情 2018-11-28 18:40:45 +08:00
fc46584735 修复初始化问题 2018-11-28 18:25:06 +08:00
dab87d46fa 修复初始化问题 2018-11-28 18:07:10 +08:00
1968f4b7f3 将应用初始化的操作移动到子线程,缩短启动速度 2018-11-28 17:41:11 +08:00
3b1556f931 将 annotationProcessor 换成 kapt
(文档 https://kotlinlang.org/docs/reference/kapt.html#using-in-gradle 说 kapt 可以完全替换掉 annotationProcessor,尝试去掉来确定 butterknife 偶发找不到 id 是不是这个造成的)
2018-11-28 16:33:41 +08:00
249332848c 修正问答统计访问路径(问答-推荐),修改编辑问题-标签选择 2018-11-27 19:02:54 +08:00
26058934cd 完善打特殊包的脚本 2018-11-26 17:12:11 +08:00
11298d26e7 更新 proguard 规则以适配新的 LogHub 依赖 2018-11-26 14:37:00 +08:00
394d558707 修复用户使用 AppOps 绕过外部存储权限授予限制,使游戏下载到内部存储 '/data/user/...' ,造成游戏无法安装/安装崩溃的问题 2018-11-26 11:39:21 +08:00
058d55ea82 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-11-26 10:31:49 +08:00
903109f8d5 增加打特殊包的脚本 2018-11-26 10:31:30 +08:00
4876abb0ed 更新 gid 依赖,修复崩溃问题 2018-11-26 10:27:07 +08:00
f75490aec2 捕获获取安装包信息的异常 2018-11-26 10:26:17 +08:00
b2e3ae684d 删除strings.xml重复参数 2018-11-25 18:36:14 +08:00
5b4f5e0ef8 下载状态相关字符串抽离到 Strings.xml 2018-11-25 18:25:27 +08:00
5fb6f7dbb2 默认隐藏游戏列表排序数值 2018-11-23 17:13:06 +08:00
c8e32fd968 更改游戏列表开服标签的实现方式 2018-11-22 19:17:18 +08:00
15f4f58164 整理社区选择‘投票中’代码 2018-11-22 15:52:26 +08:00
291410cc1c Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-11-22 15:24:32 +08:00
dd9d6cc452 光环助手V3.6-问答社区优化需求汇总[社区投票优化] https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/394 2018-11-22 15:24:22 +08:00
8866d7f71e 修复 9.0 部分设备没有读写权限会崩溃的问题 2018-11-21 17:34:15 +08:00
83bcd89c0c 微调问答邀请列表的 UI 2018-11-21 16:58:08 +08:00
0a2160e18a 修复在部分无法获取 IMEI 的机器上无法加载网络数据的问题 2018-11-21 16:57:25 +08:00
acab1d89aa 光环助手V3.6-问答社区优化需求汇总(Bug汇总) https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/394 2018-11-21 15:53:20 +08:00
42176d334e 统一游戏列表样式,删除无用代码 2018-11-20 17:18:57 +08:00
5db3563400 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-11-19 17:41:49 +08:00
50f26101cb 首页游戏增加预览样式以及调整部分首页游戏样式 2018-11-19 17:41:30 +08:00
20915963f8 基本完成社区首页新增的[关注]时间线功能 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/391 2018-11-19 15:07:27 +08:00
e0fce2c2bf Merge branch 'install_helper' into dev 2018-11-15 11:08:28 +08:00
069340ecd1 修改包名 2018-11-15 11:07:48 +08:00
ca5a34e09d 删除部分todo 2018-11-15 10:41:10 +08:00
08fe5e8f83 PackageViewModel 增加重试功能 2018-11-14 16:30:31 +08:00
12623fd383 PackageRepository 添加光环助手更新逻辑 2018-11-14 11:33:25 +08:00
d52bd00ab9 删除无用代码 2018-11-14 10:12:06 +08:00
11963ef040 InstallManager相关的应用全部整合到PackagesManager 2018-11-13 18:26:27 +08:00
03ce6f80a1 下载管理-游戏更新接入PackageViewModel
重构PackageManager相关
2018-11-13 16:30:30 +08:00
42ea33612d 更新 logHubHelper ,支持无网发送失败时有网重试 2018-11-13 10:13:57 +08:00
1cc0c51390 重构本地已安装的相关数据(更新/插件化/已安装的游戏列表)
已对接:首页插件化区域,我的游戏页面
2018-11-12 16:52:26 +08:00
62740ffcb6 tinkerVersionName->3.5.1 2018-11-08 14:48:33 +08:00
727616c764 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/kaifu/KaiFuVpFragment.java
2018-11-08 11:33:44 +08:00
1b6fd03ba3 修复开服表存在置顶项进入直接点击下一开服会一直滚动到底部的问题 2018-11-08 11:26:54 +08:00
53bb1dee01 修复总开复表存在热门开服点击下一节直接跳到底部问题 2018-11-08 11:26:40 +08:00
467950ae2c 优化首页游戏以及板块页面交互问题 2018-11-07 18:14:37 +08:00
5248ad3b6a 选择社区列表增加“上拉加载”状态 2018-11-06 17:44:55 +08:00
3e41af7f41 社区推荐修改默认刷新文案 2018-11-06 15:08:01 +08:00
c01a9c1140 横向游戏列表加上礼包图标, 问题推荐增加默认刷新文案 2018-11-06 14:50:22 +08:00
36def0a511 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-11-06 10:09:29 +08:00
077f768d09 光环助手V3.5 RELEASE(20181101-1540)(2.4.5.6.7.8.9.12)测试问题汇总 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/387 2018-11-06 10:09:12 +08:00
c2eafeb9a4 修复一些空指针异常问题 2018-11-02 09:42:29 +08:00
526538a2a4 打tinker包 2018-11-01 15:38:54 +08:00
f84b3a6be1 versionCode 升为40 2018-11-01 15:17:48 +08:00
78f3b286ad Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-11-01 14:42:39 +08:00
83246b49dc 添加GH_TEST2渠道号 2018-11-01 14:41:59 +08:00
bb2ac7753f 游戏详情评分页面根据包名判断是否安装应用 2018-11-01 14:41:52 +08:00
8120b06403 游戏详情评分页面根据包名判断是否安装应用 2018-11-01 14:36:32 +08:00
03575b169c 游戏详情评分页面根据报名判断是否安装应用 2018-11-01 11:55:44 +08:00
5932c7b0a7 收藏,回答和文章 即时刷新 2018-11-01 10:53:04 +08:00
aac03abf14 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-10-31 08:00:44 +08:00
e1e51131fb 修复:平台下载面板 白色小点看不到 2018-10-31 08:00:30 +08:00
cb5747a2fb UI 微调 2018-10-31 07:54:50 +08:00
d5c8df3d1b Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-10-31 07:05:24 +08:00
dad84e1d5a UI 微调 2018-10-31 07:04:59 +08:00
4ad03c196c Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-10-31 05:46:07 +08:00
7168f5391d 光环助手V3.5 RELEASE(20181031-0240)测试问题汇总(前端)(3.7.8.10.11.13 补充1.3.4)https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/385 2018-10-31 05:45:56 +08:00
2c5a21ec2a 修复了一些 UI 问题, 1、2、4、5、12 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/385 2018-10-31 05:15:28 +08:00
e80af77b8d 游戏详情-评论,全部评论区域,如果是自己的评论,要在昵称右边显示一个 [你的评论] 的标签 2018-10-31 03:04:54 +08:00
2ef43e821c Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-10-31 02:31:38 +08:00
42e6b88220 光环助手V3.5 RELEASE(20181030-2215)测试问题汇总(前端)(5.6.9.13.14.15)https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/384 2018-10-31 02:30:56 +08:00
a4a280ed34 UI 微调 2018-10-31 02:26:45 +08:00
94c3f0e4aa UI 微调 2018-10-31 02:24:18 +08:00
52783ccefc 修复了1、17 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/384 2018-10-31 02:07:55 +08:00
1926236d0b 修复社区问题无法加载GIF问题 2018-10-30 22:03:10 +08:00
446ee1d145 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/res/layout/fragment_comment_detail.xml
2018-10-30 19:46:47 +08:00
5fb5f10d9a 光环助手V3.5 RELEASE(20181029-1825)测试问题汇总(UI)(2.5.7.8.9.10.11.12.14)https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/381 2018-10-30 19:45:20 +08:00
6da8d873d3 UI 微调 2018-10-30 19:38:10 +08:00
db23aecad9 查看对话增加原链接 2018-10-30 18:25:21 +08:00
31bd279b4b Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-10-30 17:27:43 +08:00
8b2d249ea6 修复同包名出现多个更新应用的问题 1, 2 https://gitlab.ghzhushou.com/pm/yunying/issues/183 2018-10-30 17:27:33 +08:00
ab817169e8 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-10-30 17:20:00 +08:00
408e44636e 光环助手V3.5 RELEASE(20181029-1825)测试问题汇总(前端)(1.11.12.13.14.15.16.17.19.20.21.22.23.25.27.28.29.30(禁止输入空格).31.32.34)https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/380 2018-10-30 17:19:32 +08:00
6145092086 修复了游戏详情的显示问题 4、5、6、7、10 点 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/380 2018-10-30 16:01:56 +08:00
a038fae17c 消息中心红点优化 2018-10-29 18:18:45 +08:00
779b844138 更换引导图 游戏详情关注图标 游戏动态-评论图标 举报图标 2018-10-29 17:30:05 +08:00
3fe52c36ef Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-10-29 16:56:37 +08:00
fa0c843126 光环助手V3.5 RELEASE(20181026-1720)测试问题汇总(前端)(1.2.3.11.16.17.20.21)https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/378 2018-10-29 16:56:28 +08:00
6e0047c632 去掉引导页的 noHistory 配置,原因是开启会造成 6.0 设备在获取应用权限时崩溃 2018-10-29 16:26:38 +08:00
66d2ae99a6 UI 微调 2018-10-29 11:25:23 +08:00
b636bed83b 适配 Android 8.0 的 Receiver 限制 2018-10-29 09:59:20 +08:00
16fc9c0b09 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-10-28 18:47:10 +08:00
ee3b06d4aa Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# 请输入一个提交信息以解释此合并的必要性,尤其是将一个更新后的上游分支
# 合并到主题分支。
#
# 以 '#' 开头的行将被忽略,而且空提交说明将会终止提交。
2018-10-28 18:46:59 +08:00
ccc367a376 光环助手V3.5 RELEASE(20181024-1820)测试问题汇总(UI) https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/377 2018-10-28 18:44:22 +08:00
054d0c74fc 微调游戏详情页介绍 tab 的样式 2018-10-28 16:58:06 +08:00
5d9554a46d Add todo. 2018-10-28 16:10:56 +08:00
47a77a5085 修复邀请达人没有头部标题的问题以及外部跳转至社区失败的问题 2018-10-28 16:10:45 +08:00
ef3854ae8d Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-10-28 15:09:22 +08:00
9b0a95aa54 光环助手V3.5 RELEASE(20181024-1820)测试问题汇总(前端)(6.7.8.16.18.19.20.21.28) https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/376 2018-10-28 15:09:11 +08:00
26bc1299ff 修复部分测试汇总提及的问题 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/376 2018-10-28 14:14:56 +08:00
74c9cfc5b6 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-10-26 18:31:39 +08:00
a930a795db 修复个人主页-我的回答userId没有赋值问题 2018-10-26 18:31:24 +08:00
0a5e201936 调整邀请达人的回答和赞同字段 2018-10-26 18:20:29 +08:00
0989a27fdb Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-10-26 18:04:32 +08:00
e9a8b80476 修复游戏无法关注问题 2018-10-26 18:04:16 +08:00
36b0676bfc 修复了文章评论举报问题 2018-10-26 18:02:07 +08:00
8702440474 删除社区轮播图关联的提示 2018-10-26 17:43:19 +08:00
3413100602 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-10-26 17:17:26 +08:00
882f5bc28e 光环助手V3.5-社区文章问题汇总(1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.22.23.24)https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/375 2018-10-26 17:17:07 +08:00
1ffb36e1a3 修复数据库升级的字段问题 2018-10-26 10:52:34 +08:00
b02ded094f 修复数据库升级的字段问题 2018-10-26 10:41:57 +08:00
36d9f9100c 游戏详情游戏介绍过长支持展开收回 2018-10-25 17:31:14 +08:00
83d695ee94 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-10-25 17:15:10 +08:00
4d76cf46f9 光环助手V3.5-游戏详情问题汇总(完成:7.8.9.11.12.13.14.15) https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/374 2018-10-25 17:15:02 +08:00
fa5a1daf68 修复 loghub 只能提交到一个库的问题 2018-10-25 16:06:24 +08:00
4563261c52 处理崩溃异常以及修复部分游戏详情页页问题 2018-10-25 14:58:06 +08:00
ab5f323159 暂时退回 targetSdk 26, 设置为 27 会出现 Only fullscreen opaque activities can request orientation 错误
https://stackoverflow.com/questions/48072438/java-lang-illegalstateexception-only-fullscreen-opaque-activities-can-request-o
2018-10-24 18:04:16 +08:00
17aed59317 微调文章详情和答案的关注按钮样式 2018-10-24 16:49:58 +08:00
788817f485 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-10-24 16:44:06 +08:00
8dfe0cd068 publish Api 升为3.5, 游戏评分整理 2018-10-24 16:43:55 +08:00
2674ba9d99 微调评论列表项 UI 2018-10-24 15:51:15 +08:00
c7c74de382 完成 MTA 统计需求 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/366 2018-10-24 14:57:00 +08:00
60c5b9cb9d Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-10-24 12:01:56 +08:00
5c309142f3 更新部分社区相关接口 优化控制插件化 2018-10-24 12:01:43 +08:00
098c4f7f3c 修复详情页图片不是16:9的问题 2018-10-24 10:49:32 +08:00
ac5deca5ae Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-10-23 19:14:12 +08:00
82d4c1c94a 优化下载面板插件排序 2018-10-23 19:14:02 +08:00
9118119901 基本完成 MTA 统计需求 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/366 2018-10-23 18:33:25 +08:00
02d61989fd 修复编辑器自动替换 "+" 为 "" 的问题 2018-10-22 18:16:32 +08:00
eb826dc612 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-10-22 17:38:44 +08:00
d5dd930932 社区文章相关优化 2018-10-22 17:38:30 +08:00
04ebf421a1 修复编辑器自动替换 "+" 为 "" 的问题 2018-10-22 16:16:05 +08:00
93d9a2ebc1 修复编辑器自动替换 "+" 为 "" 的问题 2018-10-22 16:11:01 +08:00
b7697742c6 将一个读写存储操作移至获取存储权限后 2018-10-22 11:40:05 +08:00
a21543ff79 修复由于更新 targetSdk 造成无法接受到网络状态变更以及应用状态变更的问题
https://stackoverflow.com/questions/10888768/package-added-broadcastreceiver-doesnt-work
2018-10-22 10:59:10 +08:00
218f234a18 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-10-22 09:45:52 +08:00
815d895729 修复一部分 MTA 的统计问题 2018-10-22 09:45:45 +08:00
6c4bdef80d Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-10-19 19:27:23 +08:00
6cd801287c 光环助手V3.5 DEV(20181011-1800)测试问题汇总(前端)https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/370
(完成:1.10,11,13,14,15,20,22,25,27,28,29,30,31,32,35,36,)
2018-10-19 19:16:53 +08:00
dd7b93615d 修复专题列表没有统计到曝光事件的问题 2018-10-19 17:35:30 +08:00
682b57597a Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/qa/recommends/AskRecommendsSubjectPageAdapter.java
2018-10-19 14:29:05 +08:00
2de0b6311f 光环助手V3.5数据统计需求(光环数据后台) 完成 2018-10-19 14:26:50 +08:00
d3195411bb Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-10-19 10:42:25 +08:00
e0527b00d5 统一跳转至回答详情以及问题详情的来源格式 (去掉括号) 2018-10-19 10:42:16 +08:00
9d27c3cac4 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescCommentsAdapter.kt
2018-10-19 10:07:20 +08:00
8e681a9639 社区问题/社区回答 去除重复统计 只保留有阅读时长的统计 2018-10-19 10:03:35 +08:00
48ade5861a 调整游戏详情介绍页面的代码结构 2018-10-19 09:42:18 +08:00
28e55fa01a Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-10-18 20:31:52 +08:00
64288af285 光环助手V3.5数据统计需求(光环数据后台)-- 还有部分需要再次检查确认 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/367 2018-10-18 20:31:39 +08:00
27f9f88c37 基本完成游戏详情[介绍]功能优化 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/362 2018-10-18 18:21:52 +08:00
32da86ec5c 曝光添加 Gid 2018-10-18 18:19:43 +08:00
da440cdea8 GameDetailEntity添加GameId 2018-10-18 09:34:49 +08:00
6c651cff01 修复智能推荐推荐异常问题,游戏详情动态为空时自动跳转到介绍页面 2018-10-17 17:43:14 +08:00
a153e18059 社区专题详情修改,游戏详情问答专题兼容社区文章 2018-10-17 15:19:13 +08:00
48275aff5f 光环助手V3.5-首页增加“智能推荐”专题 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/359 2018-10-17 10:26:44 +08:00
b5747cab84 消息中心增加社区文章以及游戏评论的交互 2018-10-16 17:36:27 +08:00
5d22031a32 在信息流、社区专题和个人主页中新增社区文章显示样式 2018-10-16 16:10:53 +08:00
340123aec2 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-10-15 18:21:57 +08:00
e1827395b5 游戏评分模块完成 2018-10-15 18:21:50 +08:00
bfb6940402 游戏详情添加视频播放功能 2018-10-15 18:03:08 +08:00
f7c096cd9d 游戏评论编辑优化 2018-10-15 09:43:50 +08:00
aa15ce42ce 游戏评分优化页面细节 2018-10-13 10:37:17 +08:00
cebdc97b83 游戏详情增加评分功能(页面完成) 2018-10-12 18:39:58 +08:00
3cfdbca8f5 增加星星库 2018-10-12 10:13:31 +08:00
0645c32a45 游戏详情重构 2018-10-11 18:27:36 +08:00
2a985eb6aa 统一部分内部多类型跳转 2018-10-11 16:09:28 +08:00
647bc29ef1 整理代码 删除无用代码 2018-10-11 10:24:25 +08:00
b9a074aceb versionCode ->33 2018-10-11 09:57:01 +08:00
8207e510dd Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-10-10 15:47:20 +08:00
1348a58175 光环助手V3.5优化需求汇总(20181007)https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/357 2018-10-10 15:46:36 +08:00
4b5b2fd3bd 更新光环 ID 库 2018-10-10 14:53:04 +08:00
8bb852e2ff 信息流的最底部,显示一句话:到底了哦~点击回到顶部;点击即回到最顶部,并自动下拉刷新一次 2018-10-09 18:29:46 +08:00
51b3c0d789 删除“答案精选”逻辑,所有接口添加请求头“DEVICE” 2018-10-09 18:19:05 +08:00
5e7a5a4a38 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-10-09 17:48:23 +08:00
65a4de0e33 控制插件化是否显示(完成)https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/350#note_10980 2018-10-09 17:48:16 +08:00
b5d8e1cd2e 修复在"下载管理-游戏更新"页面更新游戏没有记录下载曝光事件的问题 2018-10-09 17:37:03 +08:00
c11aede298 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-10-09 16:33:01 +08:00
0db8171898 为专题大图添加曝光统计,同时修复部分路径为 null 的情况 2018-10-09 16:29:30 +08:00
a24482d9b3 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-10-09 15:41:52 +08:00
7662fe3645 避免 kotlin 参数为空错误 2018-10-09 14:51:42 +08:00
0950fe64cc 下载面板增加跳转类型 2018-10-09 14:48:38 +08:00
b25e85ddb1 支持网页跳转至社区文章 2018-10-08 16:52:28 +08:00
deedd0d413 对接社区轮播图数据 2018-10-08 16:16:56 +08:00
07a7908486 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/357 (3,8,13) 2018-10-07 18:31:53 +08:00
1eea91a6d0 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-10-07 15:46:59 +08:00
3fbba5d164 增加我的草稿 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/342 (1,2) 2018-10-07 15:46:48 +08:00
30295699b6 基本完成隐藏社区优化功能 2018-10-06 11:55:50 +08:00
37ca59a1e5 测试通过游戏更新通知支持非插件游戏 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/351 2018-09-30 11:38:38 +08:00
6b0e854f26 补充申请安装权限 2018-09-30 10:03:12 +08:00
7ad972dd23 增加我的草稿(未完成) 2018-09-29 17:16:36 +08:00
c2168eaf02 基本完成隐藏社区机制优化 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/347 2018-09-29 16:27:14 +08:00
60625a7bff 光环助手V3.5-插件管理与插件化优化(未测试) 2018-09-29 14:18:23 +08:00
43ee952763 社区文章详情增加分享 2018-09-28 17:46:21 +08:00
8720c63f63 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-09-28 16:58:39 +08:00
6778142d62 社区文章增加修改功能 2018-09-28 16:58:24 +08:00
e6b6e00bf2 接上了后台的唯一 ID 接口 2018-09-28 16:22:42 +08:00
a91cee40ba 基本完成开服表优化需求 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/348 2018-09-28 10:13:42 +08:00
c03b6521d5 增加文章详情评论 2018-09-27 18:32:21 +08:00
c33ff5fa20 优化文章与草稿的交互,文章详情对接点赞收藏等数据 2018-09-27 15:31:26 +08:00
281d98edcd 优化文章编辑/增加 与草稿的交互 2018-09-26 19:21:19 +08:00
7b84e36387 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-09-26 16:18:04 +08:00
71a122b671 问答首页推荐增加按时间排序页面 2018-09-26 16:11:26 +08:00
f113328619 回答评论详情接入置顶字段 2018-09-26 14:46:41 +08:00
ad9d8259e6 完成本地是否非插件游戏是否有更新的判断逻辑,待接口返回测试 2018-09-26 11:40:11 +08:00
75834b7668 修复更新 targetSdk 后不能安装应用的问题 2018-09-26 11:38:10 +08:00
6ac86c9ce6 光环助手V3.5-问答社区首页优化(信息流排序未完成) 2018-09-25 16:42:11 +08:00
8e3b5ae664 社区文章增加收藏功能(我的收藏已添加社区文章) 2018-09-25 11:40:03 +08:00
f22d8b5a47 新增文章详情 2018-09-21 18:30:09 +08:00
2260a72c1d Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-09-21 15:38:36 +08:00
4ead5238bc 新增 我的文章,撰写文章,文章草稿 2018-09-21 15:35:27 +08:00
851f6f1940 取消对查看对话页面对输入框的手动高度调节 2018-09-20 17:46:42 +08:00
63f69a6bd5 初步完成的唯一标识的本地逻辑 2018-09-20 16:51:41 +08:00
01800715f8 把'帐号在其它设备登录'独立到新的统计事件中 2018-09-18 18:24:39 +08:00
157b1b8d8b Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-09-18 17:26:52 +08:00
ffcd191135 RichEditor 兼容文章详情(交互与答案详情一致) 2018-09-18 17:26:34 +08:00
769097544e UI 优化 3、4、5、6 https://gitlab.ghzhushou.com/pm/halo-app-issues/issues/342 2018-09-18 16:16:52 +08:00
adc93021e7 光环助手V3.5优化需求汇总(20180907) (1,2) 2018-09-17 17:12:10 +08:00
a3f5b5c2c0 合并 2018-09-17 17:11:02 +08:00
c08a312111 更新 Loghub Jar 包 2018-09-17 15:19:39 +08:00
3c71d9ae93 更新 Loghub Jar 包 2018-09-17 15:17:26 +08:00
fe8205adae init 2018-09-14 19:10:10 +08:00
75c332ade1 光环助手V3.5-文章详情优化 2018-09-14 18:22:43 +08:00
e0202ccda5 完成回答详情评论列表只有输入框跟随软键盘升降的需求 http://gitlab.ghzhushou.com/pm/halo-app-issues/issues/340 2018-09-14 18:05:08 +08:00
275da32584 修复同包名关注问题 2018-09-14 11:56:59 +08:00
2f6f508a56 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-09-14 11:10:41 +08:00
9b7e8841c4 光环助手V3.5-下载功能优化汇总 2018-09-14 11:10:22 +08:00
48653665b3 完成 UI 调整 http://gitlab.ghzhushou.com/pm/halo-app-issues/issues/340 2018-09-14 10:41:33 +08:00
5e1a68de63 UI 微调 http://gitlab.ghzhushou.com/pm/halo-app-issues/issues/340 2018-09-13 16:54:02 +08:00
caa9dd4db4 UI 调整,部分显示细节需要等待接口返回 http://gitlab.ghzhushou.com/pm/halo-app-issues/issues/338 2018-09-13 10:25:04 +08:00
cb891bc063 Merge branch 'update_targetSDK' into 'dev'
Update targetSdk and fix MTA bugs.

See merge request !1
2018-09-12 14:48:52 +08:00
2ee3adef14 1.消息中心新增未读机制
2.版本升级到3.5
3.社区搜索历史完成
2018-09-11 16:35:57 +08:00
53618e0117 1.社区搜索,增加搜索历史
2.反馈30分钟内提交过内容完全相同的反馈,出现弹窗提醒
3.多种跳转类型的地方,增加低版本兼容
2018-09-10 17:49:50 +08:00
3cdc76b548 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-09-09 18:50:47 +08:00
7c6a2e9767 又修复了一系列 MTA 统计问题 2018-09-08 16:16:27 +08:00
c44aa52f5f 还是修复 MTA 统计的一些问题 2018-09-08 10:20:55 +08:00
7f6efad8c8 还是修复 MTA 统计的一些问题 2018-09-08 10:11:02 +08:00
f9d82d163f 修复 MTA 统计的一些问题 2018-09-08 09:51:10 +08:00
b56ecfbf8f 优化开服表提示 2018-09-07 18:38:11 +08:00
42d0f3cf74 更改 targetSDK 至27和更新 MTA 库 2018-09-07 18:07:17 +08:00
27c0b4c497 还原 targetSdk 以及 MTA 更新 2018-09-07 17:57:07 +08:00
de1558d58f 提高 targetSDK 至 8.1,升级 MTA 版本 2018-09-07 14:53:37 +08:00
0197355126 Merge remote-tracking branch 'origin/dev' into dev 2018-09-07 11:07:34 +08:00
e66698d2bd 处理推送的通道问题 2018-09-07 11:07:14 +08:00
def5996c49 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-09-06 16:30:33 +08:00
700fd2e390 关注,粉丝增加分页 2018-09-06 16:30:24 +08:00
21a8eaafeb 去掉推送机型通道 2018-09-06 16:28:53 +08:00
4391891999 更改dexOptions 2018-09-06 10:47:00 +08:00
8302e8b5e0 修复游戏动态“推荐关注”无法出现问题 2018-09-06 10:02:15 +08:00
a8de52d5cd 修复游戏详情开服提示与开服日历底部对不齐问题,修改UmengMessageReceiver的启动方式 2018-09-05 16:05:05 +08:00
46a42c9212 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-09-05 09:34:15 +08:00
9ed97ea32c tinkerPatchName -> 3.4.1 2018-09-05 09:33:52 +08:00
4f087cdcc7 Merge remote-tracking branch 'origin/dev' into dev 2018-09-04 19:32:19 +08:00
4c4fcba2d2 修复推送的一些问题 2018-09-04 19:32:06 +08:00
69e9bfa7a9 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-09-04 16:22:52 +08:00
c3b29697bc 更改刷新Token失败处理顺序 2018-09-04 16:22:44 +08:00
f0937e8d1e 修复了点击专题大图带的路径的是游戏名字而不是专题名字的问题 2018-09-04 15:55:21 +08:00
85f713dc2d Merge remote-tracking branch 'origin/dev' into dev 2018-09-04 12:03:50 +08:00
cd146366c0 修复曝光事件统计插件升级时没有附带游戏名字的问题 2018-09-04 12:03:29 +08:00
08054ad6e5 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-09-04 11:34:02 +08:00
011b4b536a 修复Gif图片保存失败问题 2018-09-04 11:33:30 +08:00
d2e118180c 完善推送的内容过滤功能以及记录点击和忽略通知事件 2018-09-04 10:26:05 +08:00
93856925ba 更换个人主页问题和答案接口,修复Gif(文件名不是.gif)上传后显示成普通图片问题 2018-09-04 10:02:37 +08:00
da0a33798b Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-09-03 17:08:39 +08:00
33f4f2e60b 修复3.4闪退问题 2018-09-03 17:08:27 +08:00
5827583edc 修复一个 MTA 的统计多个参数时出现的 BUG 2018-09-03 14:28:02 +08:00
2b33d95329 修复一个 MTA 的统计 Bug 2018-09-03 09:52:27 +08:00
7f0be97170 去除无关内容 2018-08-31 01:22:18 +08:00
b6a0fa9196 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-08-31 01:04:33 +08:00
52c624e94b 修复游戏详情闪退 开服表UI优化 2018-08-31 01:04:22 +08:00
de847ac0d5 Merge remote-tracking branch 'origin/dev' into dev 2018-08-31 00:59:49 +08:00
2bb579fec7 修复了重复通知复用的问题 2018-08-31 00:59:38 +08:00
6a6b15fb14 修复游戏详情闪退 游戏新闻回退 2018-08-30 22:46:54 +08:00
81e6778148 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-08-30 21:25:18 +08:00
309a6a6425 ConnTimeout->5 2018-08-30 21:24:50 +08:00
65e5ca64a1 修复点击启动弹窗闪退的问题 2018-08-30 21:20:32 +08:00
69825d33ff 新增收到客服新信息时永远显示客服浮窗 2018-08-30 21:18:18 +08:00
ec4acd0043 修复图片无法保存问题 2018-08-30 20:30:52 +08:00
22bb168e49 合并 2018-08-30 20:17:11 +08:00
b7bea01eb1 修改okhttp超时时间,.如果数值超过10000-19999的全部统一显示为1.0W-1.9W 2018-08-30 20:16:24 +08:00
82c3591d25 部分接口增加 channel 字段 2018-08-30 20:02:58 +08:00
20d8de32ec 修复图片不能保存的问题 2018-08-30 19:54:10 +08:00
3976646f39 修复 IM 客服消息不及时的问题 2018-08-30 17:25:04 +08:00
c849d4e0b0 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-08-30 17:09:58 +08:00
671fab2fee 用户相关部分接口加上时间戳,修复答案编写时会上次本地图片链接问题 2018-08-30 17:09:53 +08:00
8491609da7 增加网络错误的 MTA 统计 2018-08-30 17:06:23 +08:00
67257748f9 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-08-30 15:52:40 +08:00
312a3fe7bb 修复搜索列表下载无法更新进度问题 2018-08-30 15:52:25 +08:00
2c16c54c96 增加 UI Executor 类 2018-08-30 15:51:30 +08:00
bbae5f0b9c 补充 MTA 统计事件 2018-08-30 14:06:23 +08:00
95022da700 修复从不同位置进入游戏详情显示不一致的问题 2018-08-30 10:00:17 +08:00
6471e95077 光环助手V3.4 RELEASE(20180828-1850)测试问题汇总(UI部分完成) 2018-08-29 20:26:14 +08:00
707e6f5d11 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-08-29 17:06:56 +08:00
66dfcc8064 个人主页的某些接口添加渠道号 2018-08-29 17:06:41 +08:00
0400b7d396 修复了消息弹窗标记已读造成的问题 2018-08-29 14:54:01 +08:00
96d4ca43ff Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-08-29 14:37:09 +08:00
d2c0699b66 UI微调 2018-08-29 14:36:35 +08:00
0e4cf2cd3a 修复 MTA 上报内容带有 HTML 元素的问题 2018-08-29 11:39:27 +08:00
8144a7e857 补充 MTA 统计需求 2018-08-29 11:03:43 +08:00
ea38698ac3 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-08-28 18:42:36 +08:00
d00b34ebdd 光环助手V3.4 RELEASE(20180828-0950)测试问题汇总 2018-08-28 18:42:21 +08:00
a4c285df6f 增加新补充的 MTA 统计需求 2018-08-28 17:50:20 +08:00
6dfd9d5b7a Rxjava merge->mergeDelayError 2018-08-28 17:41:05 +08:00
876f7317a8 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-08-28 14:23:32 +08:00
430a975e98 修复礼包淘号接口 2018-08-28 14:23:22 +08:00
f277319019 统一跳转至社区的逻辑,补充部分方法描述 2018-08-28 11:13:02 +08:00
6b9fedd289 Merge remote-tracking branch 'origin/dev' into dev 2018-08-28 08:39:55 +08:00
d0ad48ada2 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-08-27 20:21:40 +08:00
a6b7beed75 光环助手V3.4 RELEASE(20180827-0940)测试问题汇总 2018-08-27 20:21:12 +08:00
fa257e4a04 启动弹窗在下载完图片才弹出来 2018-08-27 19:59:19 +08:00
8d827b7275 Merge remote-tracking branch 'origin/dev' into dev 2018-08-27 19:18:30 +08:00
27d73b545c 完成 MTA 事件统计需求 2018-08-27 19:18:19 +08:00
7802d961a3 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-08-27 17:43:13 +08:00
d5d63371e3 修改退出登录逻辑 2018-08-27 17:43:05 +08:00
fcf1d38578 优化消息弹窗显示逻辑 2018-08-27 16:17:19 +08:00
fe17f817da 修复在 Mumu 模拟器上的一些 bug 2018-08-27 14:55:26 +08:00
bfa76c0fda Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-08-27 10:40:51 +08:00
2e1a99f905 个人动态时间格式修改 2018-08-27 10:39:47 +08:00
e7cb8e41b5 修复系统推送不能通过游戏报名进行限制的 bug 2018-08-27 09:52:40 +08:00
f88d4bde45 光环助手V3.4最后优化需求汇总(20180824) 2018-08-27 09:33:04 +08:00
b470194807 光环助手V3.4最后优化需求汇总(20180824) 2018-08-25 17:13:26 +08:00
ba5e3cb3eb 光环助手V3.4 RELEASE(20180823-1835)测试问题汇总 2018-08-25 15:30:15 +08:00
d5440b5d01 光环助手V3.4 UI优化汇总(20180823) 2018-08-25 11:00:49 +08:00
a8f3f27fb3 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-08-25 09:48:19 +08:00
bec06bfbf4 部分UI修改 2018-08-25 09:45:39 +08:00
9c510dc132 调整部分 UI 2018-08-24 19:05:36 +08:00
8302c99d57 增加部分 MTA 统计,修复部分 IM 的问题 2018-08-24 17:07:26 +08:00
5209e5b463 更新消息中心接口 2018-08-24 16:49:02 +08:00
663e5124fe 更新消息中心接口 2018-08-24 16:47:08 +08:00
dea2f569a1 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-08-23 18:18:40 +08:00
03d25eaeae 光环助手V3.4 RELEASE(20180821-1740)测试问题汇总 2018-08-23 18:18:32 +08:00
e84f56975d 修复一些客服 IM 的问题 2018-08-23 18:17:11 +08:00
a3a21efba3 避免七陌 SDK 的 emoji 在精简代码时被精简掉 2018-08-23 16:43:16 +08:00
1daa4f91b3 修复一部分社区跳转和消息通知的 bug 2018-08-23 15:45:39 +08:00
ee1ddbcdce 完成对 MTA 已有统计事件的优化,新事件待补充 http://gitlab.ghzhushou.com/pm/halo-app-issues/issues/316 2018-08-23 09:56:59 +08:00
772549e543 解决游戏名字过长显示不全的问题 2018-08-22 17:37:01 +08:00
db537e756a 修正魅族推送的 ID 2018-08-22 15:35:27 +08:00
f9c236fd63 修复曝光统计的一些问题 2018-08-22 15:34:31 +08:00
f414ecee32 APP统计-应用数据, 数据库升级适配 2018-08-22 10:44:56 +08:00
5b1d0d5821 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.kt
2018-08-21 17:33:26 +08:00
1c80ba56a5 光环助手V3.4 DEV(20180817-1930)测试问题汇总 2018-08-21 17:31:17 +08:00
a92044f815 去掉无用的 SO 支持,修复 IM 反馈没有内容的问题 2018-08-21 16:24:13 +08:00
00f94bf950 修复推荐入口不能跳社区的问题 2018-08-21 14:43:14 +08:00
e27f061a92 修复一些消息弹窗的问题 2018-08-21 14:29:49 +08:00
40d28948e1 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-08-20 18:08:59 +08:00
9b6e29d5f2 整理社区搜索相关页面 2018-08-20 18:08:47 +08:00
0ee000f08a 修复一些启动弹窗和客服 IM 的测试问题 2018-08-20 16:15:29 +08:00
6bdd021856 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-08-20 16:05:23 +08:00
301e14268a 光环助手V3.4 DEV(20180810)测试问题汇总 2018-08-20 16:05:11 +08:00
825ea594f4 修复社区的一些显示 bug 2018-08-20 11:37:39 +08:00
8fcb072abb 3.4数据统计需求(APP统计-应用数据 未完成) 2018-08-20 10:39:41 +08:00
f17a4e6372 完成关于问题详情和答案详情的 MTA 时间统计 2018-08-19 15:15:34 +08:00
a5b1202e5e AskLogUtils -> LogUtils 2018-08-17 15:43:52 +08:00
b5e025984c 禁言功能优化 2018-08-17 15:33:04 +08:00
33dba4e9bf Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-08-16 19:01:37 +08:00
92492b21ae 压缩算法优化 2018-08-16 19:01:25 +08:00
1c8ca4b8c2 补充跳转到社区的逻辑 2018-08-16 17:32:03 +08:00
466061222d UI微调 2018-08-16 17:03:24 +08:00
905e229142 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-08-16 16:31:09 +08:00
6906b96ef9 修复部分手机在答案编辑页面无法复制问题 2018-08-16 16:30:56 +08:00
fb748df3ce 增加退出 IM 聊天页面确认弹窗 2018-08-16 10:06:40 +08:00
844de786d0 光环助手V3.4优化需求汇总(20180814)(部分完成) 2018-08-15 18:45:19 +08:00
7dfe55014a IM 使用 Fresco 来显示图片 2018-08-15 18:24:40 +08:00
24f19e2a61 IM部分注册/反注册 位置修改 2018-08-15 15:28:47 +08:00
f947040241 IM 处理客服关闭聊天广播 2018-08-15 14:57:59 +08:00
569bb61545 简单集成七陌的客服 IM SDK,细节待完善 2018-08-15 14:33:31 +08:00
78ea8b3e73 光环助手V3.4优化需求汇总(20180814)(部分完成) 2018-08-15 11:42:12 +08:00
6b5056da41 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-08-14 17:43:10 +08:00
2a86546f1a 光环助手V3.4-意见反馈优化(完成) 2018-08-14 17:42:55 +08:00
d669fec902 意见反馈部分页面完成 2018-08-14 11:27:18 +08:00
3fc14b5194 修复 Webview 链接使用 HTTPS 但图片是 HTTP 时图片不加载的问题 2018-08-14 11:12:42 +08:00
4a3a039d0e 答案列表不显示Gif,优化消息中心(预防串行问题), 登录失败统计优化 2018-08-13 16:03:13 +08:00
1f43523f04 修复图片加载刷新后闪屏问题, 修复若干bug 2018-08-12 15:43:58 +08:00
26e23fa736 图片加载移动网络是先检查大图缓存再加载 2018-08-10 18:27:03 +08:00
958bce8d42 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-08-10 15:45:20 +08:00
8f15e52eb5 优化用户头像修改压缩上传 2018-08-10 15:44:06 +08:00
4bedede646 删掉网易七鱼相关代码 2018-08-10 14:11:32 +08:00
f66ee1721e Gif不受查看大图控制 2018-08-10 11:15:20 +08:00
138c5bb4c2 解决Fresco缓存查询异常问题 2018-08-10 10:13:05 +08:00
d1245a9a1e 去除RichEditor无用代码 2018-08-09 16:57:42 +08:00
561d6f7ea2 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-08-09 16:51:19 +08:00
d5992f7ed3 图片下发分类(小图:2G/3G 下发, 大图:4G/WiFi 下发) 2018-08-09 16:51:09 +08:00
d941aa0c71 基本完成启动时读取 META-INFO 里的 JSON 实现跳转的功能 2018-08-09 15:54:21 +08:00
7fa1d1e11b 【图片高清计划】前端加载图片显示规则优化 2018-08-08 18:31:53 +08:00
3edff028bf 图片详情和答案详情适配Gif 2018-08-08 15:15:43 +08:00
78d3c529c6 图片详情增加下载原图,答案详情对接新的图片显示规则 2018-08-08 09:43:11 +08:00
f0af2e280b 合并 2018-08-07 11:51:47 +08:00
34623163e6 重构图片详情, ImageUtils remove Companion 2018-08-07 11:47:51 +08:00
c90bd007c7 完善启动弹窗跳转逻辑 2018-08-07 10:28:38 +08:00
5f9637ec50 QQ 跳转适配 TIM 2018-08-07 10:23:25 +08:00
1a05e13b03 将 QQUtils 功能合并到 DirectUtils 2018-08-07 10:09:32 +08:00
c835f88695 新增启动页弹窗 2018-08-07 09:22:10 +08:00
5674fe76a2 压缩关键参数后台可以控制 2018-08-06 15:43:07 +08:00
e6933b4ded 删除无用代码 2018-08-06 09:36:03 +08:00
8a10dac03d 增加上传进度(目前只对接了:答案图片上传,问题图片上传) 2018-08-03 18:28:32 +08:00
de71ebad52 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-08-02 18:12:13 +08:00
310d1a2d5c 增加图片压缩工具类 2018-08-02 18:12:02 +08:00
30fcaf190b 新增存在未读消息弹出消息弹窗的功能 2018-08-02 15:44:50 +08:00
f004b15cf0 回答详情页增加认证icon 2018-08-02 10:59:43 +08:00
480c91feb5 处理推送透传信息 2018-08-02 10:16:32 +08:00
2c70b7eefc Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-08-01 18:05:53 +08:00
2be2513081 完善个人主页相关数据 2018-08-01 17:58:58 +08:00
48c0d5d2cd 去掉 8.0 设备获取 IMEI 时添加的叹号 2018-08-01 14:55:14 +08:00
3c5a6bcdec Merge remote-tracking branch 'origin/dev' into dev 2018-08-01 14:45:51 +08:00
bd2a3d529a 完成部分推送逻辑 2018-08-01 14:45:34 +08:00
6c0ac67cfa 对接社区相关搜索接口 2018-08-01 14:44:32 +08:00
cb07b8c9f4 支持从相关页面进入个人主页 2018-08-01 11:11:59 +08:00
e22be3f233 整理游戏详情动态文件 2018-07-31 17:42:28 +08:00
fd02f120c2 ... 2018-07-31 16:55:46 +08:00
6496b3dad6 合并 2018-07-31 16:50:14 +08:00
375b57cd3d 游戏详情增加答案数据 重构游戏详情动态(动态)页面 2018-07-31 16:44:13 +08:00
269265b054 基本完成推送逻辑 2018-07-31 14:52:34 +08:00
d74154080b 修复通过 URI 跳转至回答详情以及问答详情失效的问题 2018-07-31 14:21:16 +08:00
7471825a7c 用户操作历史增加跳转 2018-07-28 17:17:54 +08:00
90580316e8 个人中心增加'个性签名' 2018-07-28 16:38:41 +08:00
61e0ef2960 个人主页粉丝未读提示完成(未经过测试) 2018-07-28 15:53:34 +08:00
1125bb9b4c 个人主页对接数据 2018-07-28 14:50:28 +08:00
1e424a3791 修复由于layout id造成的打包错误 2018-07-27 16:01:18 +08:00
a901d95895 为用户头像添加认证 2018-07-27 15:41:01 +08:00
1a0a92c542 我的主页增加Ta的答案/Ta的问题 2018-07-27 15:30:15 +08:00
6ba8344292 完善社区搜索页面 2018-07-26 17:02:43 +08:00
38d2429183 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/res/layout/personal_home_top.xml
2018-07-26 14:57:06 +08:00
36c755f781 我的光环-新增个人主页功能(完善ListActivity,相关页面的优化) 2018-07-26 14:53:43 +08:00
093c731ba7 去掉设置暗色状态栏时反射出错的日志记录 2018-07-26 11:48:02 +08:00
eae9c11d72 提取用户认证的公用部分 2018-07-26 11:46:48 +08:00
3faae4b34c Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-07-25 18:42:15 +08:00
04eef35cbd 我的光环-新增个人主页功能(页面基本完成) 2018-07-25 18:42:04 +08:00
6b08cb2159 消息通知弹窗支持滑动清除 2018-07-25 11:05:20 +08:00
0777ca90e0 处理消息通知弹窗在使用虚拟按键的设备上的位置错误问题 2018-07-24 18:00:26 +08:00
4a322d07d9 光环助手版本升为3.4 2018-07-23 14:56:06 +08:00
df49f98e46 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-07-23 14:37:28 +08:00
122e3f6aa0 社区搜索重做基本完成(还差数据接口) 2018-07-23 14:32:46 +08:00
b902837b1c 使用 Kotlin Extension 简化消息弹窗动画代码 2018-07-23 11:08:46 +08:00
62639a9c79 初步实现简陋的消息弹窗动画 2018-07-20 16:21:17 +08:00
06dc7fc566 专题改造注解 2018-07-20 11:39:31 +08:00
ece6e099ec 更新友盟 消息完成自定义处理(需要和后端协商) 2018-07-20 11:00:29 +08:00
f3ce82275a 优化专题详情断网逻辑判断 2018-07-18 18:18:07 +08:00
4000dd8383 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-07-18 17:57:53 +08:00
d67053ce7c 专题详情重构基本完成 2018-07-18 17:33:51 +08:00
37bca1ee1c 将 ListViewModel 所对应的 ListRepository 合并到 ListViewModel 中,BaseList重新整理分层结构 2018-07-18 17:32:51 +08:00
229d3e9c88 新增简单的消息弹窗 2018-07-18 15:26:03 +08:00
c5d79a014b 曝光区分 debug 和 release 包,提交到不同的库 2018-07-17 10:14:00 +08:00
7d609b9c2a 更新 README 2018-07-16 17:44:41 +08:00
97eabcc600 使用 RxJava 优化自动搜索触发机制 2018-07-16 17:37:41 +08:00
932863a73f 将 ListViewModel 所对应的 ListRepository 合并到 ListViewModel 中,BaseList重新整理分层结构 2018-07-16 16:53:24 +08:00
4014fc27af Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-07-16 15:14:22 +08:00
fdf7be4a9f 解决Retrofit + RxJava2返回null时发生异常问题(Null is not a valid element) 2018-07-16 15:13:58 +08:00
b0fd801fec 避免 kotlin 非空异常 2018-07-16 14:03:11 +08:00
34c0bbe434 修改沉浸栏(背景:白色,字体:灰色)颜色,目前只适配了MIUI和Google原生系统 2018-07-16 11:22:41 +08:00
92c5697565 图片上传增加多图上传 2018-07-13 18:20:32 +08:00
445759e511 把 ListViewModel 的数据结构类型转换方式换为抽象方法,让继承的类实现,避免出现无响应的问题 2018-07-12 17:47:26 +08:00
a5b32cc099 完成网易七鱼基本功能的实现 2018-07-12 17:21:23 +08:00
7a5f24bfe7 图片压缩增加Gif判断(是否压缩Gif) 2018-07-12 14:42:25 +08:00
b40d58f1ae 修复下载全部开始 无法更新页面问题 2018-07-12 11:00:53 +08:00
ef28fc3616 constraintLayout 退档
整理问题编辑代码位置
2018-07-11 16:51:05 +08:00
80d2e2c488 constraintLayout 退档
整理问题编辑代码位置
2018-07-11 16:50:40 +08:00
ca07f10c9d http://gitlab.ghzhushou.com/pm/halo-app-issues/issues/284 2018-07-11 16:15:53 +08:00
8a7fa127ba 社区精选(信息流)刷新数据统计格式更改(补锅 http://gitlab.ghzhushou.com/pm/halo-app-issues/issues/260#note_6952) 2018-07-10 18:34:59 +08:00
8ee6039a2b 增加Retrofit FileRequestBody(进度监听) 2018-07-10 17:57:46 +08:00
aac58029f6 1.上拉加载默认文案是'上拉加载',手动拖动正式触发加载时才会显示为'加载中'
2.我的关注,如果已经有关注游戏,[热门游戏推荐] 区域改为默认是收起来;如果关注为空,则默认是展开;且展开后的高度要增加(加一行游戏的高度)
2018-07-09 18:00:52 +08:00
640a8d4e0f 合并更新依赖分支的代码 2018-07-09 14:35:02 +08:00
9f621696c1 Merge branch 'update_dependency' into dev
# Conflicts:
#	app/src/main/java/com/gh/common/util/ImageUtils.kt
#	app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalAdapter.kt
#	app/src/main/java/com/gh/gamecenter/qa/answer/edit/AnswerEditFragment.java
#	app/src/main/java/com/gh/gamecenter/qa/ask/QuestionEditViewModel.kt
#	app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java
2018-07-09 11:54:59 +08:00
a45fff7cca 使用retrofit上传图片以及引入luban图片压缩框架 2018-07-09 11:34:41 +08:00
8ba45deac9 修复MetaUtil getMac()为空导致的闪退
封包3.3.1
2018-07-06 17:49:49 +08:00
0c9f741847 新增渠道:GH_REFRESH(刷新版) 2018-07-06 15:31:00 +08:00
696f862633 专栏热门/精华 内容位置调换(文案不变) 2018-07-06 15:08:42 +08:00
f85e3c2602 tinker版本升为3.3.1 2018-07-06 14:34:28 +08:00
d2e3635034 增加开服表 时间去秒 2018-07-06 14:33:17 +08:00
8f37cbdfde 更新 AS 版本,优化包依赖源提高获取速度 2018-07-06 11:20:06 +08:00
3ffd6f74f1 完成 RxJava 版本的更新 2018-07-06 10:44:37 +08:00
72aa1474d3 下载控制(只要打开过下载那么就无法关闭(总的下载)) 2018-07-06 10:43:07 +08:00
3f9fb27642 更新一波依赖,RxJava2 的还没改完 2018-07-05 17:54:23 +08:00
6d134edb0a Merge remote-tracking branch 'origin/dev' into dev 2018-07-05 16:34:05 +08:00
7834e9d55a 修复 MTA 统计的序号问题 2018-07-05 16:33:56 +08:00
36ba95e2fd 问题编辑 标签名称去空格(文字后面的空格) 2018-07-05 14:58:06 +08:00
00deba962e 修复若干BUG GH_TEST渠道号自动弄成刷新版 2018-07-05 11:19:59 +08:00
4713594c7e Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-07-04 18:30:18 +08:00
688a169e4e 光环助手V3.3 RELEASE(20180703-1700)测试问题汇总 2018-07-04 18:29:05 +08:00
3ace50b526 在问答 Tab 不在当前屏幕显示时不弹信息流加载错误的 Toast 2018-07-04 17:55:42 +08:00
a9dbb4850f 曝光信息里增加用户 id(若存在) 2018-07-04 15:55:45 +08:00
910cda8dbc Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-07-03 16:24:33 +08:00
7d29c0d883 光环助手V3.3 RELEASE(20180701-0730)测试问题汇总 2018-07-03 16:24:20 +08:00
3f274cb4ea 修改下拉刷新提示的字体大小 2018-07-03 15:30:47 +08:00
56d378b6dc 去掉曝光路径里重复的方括号 2018-07-03 11:09:32 +08:00
03eebf2c07 修复第三方下拉刷新依赖的造成的闪退问题 2018-07-03 09:55:53 +08:00
cf41572db7 避免重复获取曝光所需 Meta 造成滑动卡顿 2018-07-02 17:26:04 +08:00
a2361254da 曝光统计Meta相关数据允许为空 2018-07-02 10:42:28 +08:00
233f786ee0 3.3-TinkerBase 2018-07-02 09:36:09 +08:00
8590614272 开服表修改 2018-06-30 07:33:34 +08:00
e179de3d0d 开服表修改 2018-06-30 07:26:07 +08:00
defe3bb3ff Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-06-30 06:58:18 +08:00
24ad3e0265 优化 2018-06-30 06:56:38 +08:00
e54646afcc 增加部分 MTA 统计 2018-06-30 06:43:52 +08:00
4c62032c66 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-06-30 04:56:27 +08:00
627affe0f7 2018-6-30 02:25:25 测试补充: 2018-06-30 04:56:17 +08:00
b5e21bef1e 取消信息流的自动加载下一页 2018-06-30 04:15:14 +08:00
95999791bd 第一次进入社区不显示下拉刷新 2018-06-30 03:46:27 +08:00
07cba611cf Merge remote-tracking branch 'origin/dev' into dev 2018-06-30 01:06:44 +08:00
29c2dfc1e5 避免曝光来源出现两个方括号嵌套的问题 2018-06-30 01:06:34 +08:00
6b904b9213 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-06-30 01:02:29 +08:00
7e15307b46 光环助手V3.3 RELEASE(20180629-2135)测试问题汇总 2018-06-30 01:01:56 +08:00
626913c6ff 为一些列表页面添加单页数量过少自动尝试加载下一页的功能 2018-06-30 00:50:15 +08:00
00b98e4da9 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-06-29 23:09:52 +08:00
67f565bee0 解决切换社区卡在"正在加载"的问题 2018-06-29 23:07:07 +08:00
9eedf46294 光环助手V3.3 RELEASE(20180629-1610)测试问题汇总(前端) 2018-06-29 21:20:08 +08:00
810783da9c 修复统计曝光所造成的点击横向排布图标闪退的问题 2018-06-29 20:13:19 +08:00
39dfe334ed Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-06-29 18:28:09 +08:00
1a985f2a7e 修复PackageManage导致的闪退问题 2018-06-29 18:27:46 +08:00
35af46e3eb 修复PackageManage导致的闪退问题 2018-06-29 18:27:33 +08:00
3eefadd83b 修复分类页的复用问题 2018-06-29 18:14:22 +08:00
0fbbd79bbd Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-06-29 15:24:30 +08:00
84eee14363 光环助手V3.3 RELEASE(20180628-1630)测试问题汇总(前端) 2018-06-29 15:24:23 +08:00
8f7ce5d148 更换切换专题的 ICON 2018-06-29 14:44:55 +08:00
5ed2fa4a0c 信息流下拉刷新错误时不显示蓝条 2018-06-29 11:33:05 +08:00
e5a06f7a3f 修复分类文字换行问题 2018-06-29 11:23:26 +08:00
f0ef1c7a76 基本信息流完成下拉刷新新样式 2018-06-29 11:18:00 +08:00
76ea9a4ba4 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/res/layout/game_horizontal_list.xml
2018-06-28 15:50:01 +08:00
33454005c3 光环助手V3.3 RELEASE(20180627-1700)测试问题汇总 2018-06-28 15:48:30 +08:00
37b6e6bce0 分类页适配高 DPI 设备 2018-06-28 10:41:13 +08:00
aaa9aab066 避免 NoSuchMethod Error. 2018-06-28 10:23:08 +08:00
e8669cc0cf Merge remote-tracking branch 'origin/dev' into dev 2018-06-27 18:27:06 +08:00
ddb226823f UI 微调 2018-06-27 18:26:54 +08:00
76eca47979 首页游戏添加初始化下载(更新下载进度) 2018-06-27 18:26:50 +08:00
bcac6944a0 总开服表更换悬浮按钮图片 定位到当前时间去除动画(目的是快速定位) 2018-06-27 18:08:32 +08:00
d9aa1c428d Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-06-27 15:32:51 +08:00
85c779ecd2 光环助手V3.3 RELEASE(20180626-1710)测试问题汇总 2018-06-27 15:32:42 +08:00
87a67470fd 修复闪退问题 2018-06-27 15:31:32 +08:00
be4142ad96 微调分类样式 2018-06-27 15:21:29 +08:00
5a26f7735d 首页入口修改 2018-06-26 18:22:54 +08:00
11ec77ad99 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.kt
2018-06-26 17:32:21 +08:00
2da4182ee1 推荐入口增加跳转类型 2018-06-26 17:28:30 +08:00
d17ad6a497 光环助手V3.3 DEV(20180622-1845)测试问题汇总(前端) 2018-06-26 15:24:04 +08:00
1abc0ecc79 光环助手V3.3-开服表优化需求汇总(20180625)(除了新增开服清空时间 其余完成) 2018-06-26 09:52:54 +08:00
51ee8c841b 分类列表使用板名字作为标题 2018-06-26 09:39:10 +08:00
0636d2276b 修复游戏详情页面和开服表详情页面滑动冲突问题 2018-06-25 16:16:54 +08:00
bffee14882 曝光操作使用单一线程处理避免数据错误 2018-06-25 15:12:43 +08:00
93f2ed3a09 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-06-25 14:53:12 +08:00
c7b0ed26ae 避免 Kotlin 检测非空对象为空时崩溃 2018-06-25 14:50:57 +08:00
e75ade83cb Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-06-25 14:22:47 +08:00
3e4f5d6361 修复在模拟器上崩溃的问题 -> https://youtrack.jetbrains.com/issue/KT-20928 2018-06-25 11:43:48 +08:00
999bc9f720 光环助手V3.2 DEV(20180620-2000)测试问题汇总(部分完成) 2018-06-25 11:15:27 +08:00
cca068821b 添加 MTA 统计 http://gitlab.ghzhushou.com/pm/halo-app-issues/issues/264 2018-06-24 17:15:40 +08:00
6d05a00488 光环助手V3.2 DEV(20180620-2000)测试问题汇总(部分完成) 2018-06-22 18:40:27 +08:00
ba3450f2b3 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-06-22 17:08:21 +08:00
57c084d512 曝光路径不传空(null) 2018-06-22 17:04:41 +08:00
c956f35e07 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-06-22 16:23:38 +08:00
c44353fa13 网络诊断 完成 2018-06-22 16:22:20 +08:00
8ebdc924f3 更换曝光提交地址 2018-06-22 11:46:43 +08:00
3923dd377d 曝光数据结构加上渠道版本 2018-06-22 10:58:35 +08:00
82eea64035 避免越界崩溃 2018-06-21 18:28:22 +08:00
10229e59f6 问题新增空白跳转 2018-06-21 18:18:02 +08:00
8c2583eab3 问答精选刷新修改 2018-06-21 17:20:27 +08:00
f9ef4851fb Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-06-21 17:07:21 +08:00
d07b99fd98 问答精选(信息流)优化 2018-06-21 17:06:22 +08:00
b23ce2adc3 删除部分无用的 MTA 统计代码 2018-06-21 16:34:33 +08:00
c4f2899e07 信息流增加下拉刷新 2018-06-21 15:59:04 +08:00
ebb20f5c38 Proguard 增加 @Keep 注释 2018-06-21 15:57:50 +08:00
08aaae1b02 处理曝光临近上限时可能出现的重复提交问题 2018-06-21 10:25:56 +08:00
4aaef11f9c Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-06-20 19:22:45 +08:00
2d0d253149 光环助手V3.3优化需求汇总(20180614)(还有小部分未完成) 2018-06-20 19:22:23 +08:00
875c0b8c16 基本完成首页专题、专题详情、分类详情的曝光统计需求 http://gitlab.ghzhushou.com/pm/halo-app-issues/issues/253 2018-06-20 17:22:40 +08:00
3e285a4466 我的光环移除我的游戏列表 2018-06-19 19:57:37 +08:00
76e91265d5 社区选择游戏改版完成 2018-06-19 19:46:31 +08:00
47482ba793 光环助手V3.3-游戏专题样式强化(补充测试完成) 2018-06-19 14:37:33 +08:00
685c38dcf7 版本升为3.3 新增开服新增/修改完成数据同步 2018-06-15 18:30:17 +08:00
240d97cdd5 修复无法提交实名信息问题 2018-06-14 17:40:04 +08:00
cd891d4378 问答新增专栏功能(完成) 2018-06-14 16:15:29 +08:00
b9c05483d0 解决首页插件化区域下载中无法点击问题 2018-06-14 11:21:46 +08:00
190c534dba Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.kt
2018-06-13 17:26:53 +08:00
5cc13d8161 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.kt
2018-06-13 17:26:31 +08:00
81ac870c62 问答新增专栏功能(界面基本完成) 2018-06-13 16:50:43 +08:00
9eab5c3d4c 新增游戏分类 http://gitlab.ghzhushou.com/pm/halo-app-issues/issues/250 2018-06-12 19:21:46 +08:00
f4a4ae7eb3 游戏板块完成 2018-06-12 14:25:16 +08:00
4b2715e97d Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-06-12 10:27:16 +08:00
983e546a64 对接游戏板块 2018-06-12 10:27:00 +08:00
d7161578b0 添加kotlin 序列号插件 2018-06-12 10:26:20 +08:00
d8683068c1 完善游戏插件化区域更新页面问题 2018-06-11 17:31:46 +08:00
efcea45819 增加 TODO @kyh 2018-06-11 17:16:11 +08:00
28f89aa0ad 重构PackageManager 2018-06-10 18:34:06 +08:00
309d42fdc1 整理代码(首页游戏分包) 2018-06-10 17:08:41 +08:00
f8f45182ce 首页游戏重做(对接相关接口) 2018-06-10 16:14:12 +08:00
5f08dee0e0 首页游戏重做(专题大图增强) 2018-06-08 18:15:55 +08:00
deea0f3f83 首页游戏重做(横向专题完成) 2018-06-07 18:27:11 +08:00
2090c5950f 首页游戏重做(页面处理基本完成) 2018-06-07 11:34:01 +08:00
02dcbdba02 首页游戏重做(初步完成) 2018-06-06 18:00:50 +08:00
ee44b1986f 增加ExpendTextView(textView增加...全文按钮) 2018-06-05 11:52:11 +08:00
16bc7b1e75 开服表game server字段修改,同一时段多个游戏合并 2018-06-04 14:43:36 +08:00
65bc06b195 总开服表完善(还差定位到当前时间位置) 2018-06-03 15:53:51 +08:00
06734d6274 总开服表 完成下个节点 2018-06-01 19:20:56 +08:00
e1dcd72a79 修改游戏详情开服表样式 2018-06-01 15:55:28 +08:00
3429a27354 新增/修改开服完成 2018-06-01 15:20:06 +08:00
7af99a5ed5 修改开服解决数据同步问题(一条更改全部发生改变) 2018-06-01 11:52:12 +08:00
d7833cd07f 游戏详情开服表修改已完成 2018-06-01 11:22:40 +08:00
a9b885c97f 添加/修改 开服对接接口 2018-05-31 20:28:12 +08:00
5eb815dba7 添加开服继续优化(还差post请求) 2018-05-31 17:35:12 +08:00
9797841280 添加开服继续优化(已完成自动填充,和部分post判断) 2018-05-31 15:41:59 +08:00
a2382be034 删除UserSea相关 2018-05-30 19:35:39 +08:00
081ce01664 完善新增开服信息 2018-05-30 19:22:20 +08:00
eddb8a933c 接口版本升级3.3 开服server字段修改 2018-05-30 11:41:22 +08:00
7a019cc465 完善修改开服信息 2018-05-30 11:14:21 +08:00
08e8846af8 修改开服,新增开服(未完善) 2018-05-29 19:43:34 +08:00
67d6cc6f05 游戏详情开服日历修改 2018-05-29 10:03:49 +08:00
1946478ce4 数据库版本兼容, 登录数据存储位置改成sp 2018-05-28 10:01:36 +08:00
5689cdbafe 合并UserManager和RefreshTokenManager 2018-05-25 16:30:59 +08:00
44adfdede8 修改文章查看对话 跳转按钮(跳转完整详情)样式 2018-05-25 15:29:59 +08:00
2992e3ca64 我的光环-我的游戏完成 2018-05-25 14:10:57 +08:00
ffbbd44beb 我的光环-已安装的游戏(完成部分,暂时搁置,需求未定) 2018-05-24 18:15:59 +08:00
3990515dc5 光环助手V3.3-个人中心增加实名认证功能(功能完成,还差接口对接) 2018-05-23 15:46:05 +08:00
2bd218fd95 光环助手V3.3-我的光环优化汇总(完成:2.3.6.7.8.9.10)
光环助手V3.3优化需求汇总(20180520)(UI相关)
2018-05-22 17:12:22 +08:00
1a02239dd2 光环助手V3.3优化需求汇总(20180520)完成:2.4.5.6.7.8 2018-05-21 17:17:27 +08:00
a5a5e38d5c refactor_questionedit分支合并到dev(后续整理) 2018-05-21 10:32:33 +08:00
9ebf2be016 refactor_questionedit分支合并到dev 2018-05-21 10:29:24 +08:00
3e488d28cd 社区相关整理 2018-05-21 09:56:34 +08:00
ce311d9b17 修改登录相关的检验与重试逻辑 2018-05-18 10:16:03 +08:00
843a263b3f 问答相关分包整理 2018-05-16 16:55:52 +08:00
7e350cac41 下载劫持接入MTA,优化下载(有效防止解析包错误) 2018-05-15 19:01:17 +08:00
447b7b35ef toolbar修改完成 2018-05-14 17:33:12 +08:00
6e9edabd94 修复登录掉线问题,对接错误统计需求(MTA)光环助手V3.2.2需求汇总 2018-05-11 17:31:43 +08:00
68cfdc57c8 问题提问(整理代码) 2018-05-09 16:39:45 +08:00
81e0f1d9cc 问题提问databinding 升级 buildToolsVersion 2018-05-09 11:47:17 +08:00
5436775b31 搜索提示框顶部加上蓝线 2018-05-07 15:32:14 +08:00
b8f5c2ddbd 问题编辑改造还差搜索提示框顶部蓝线 2018-05-07 11:27:55 +08:00
da433bfb5b 问题编辑改造-标题搜索提示初步完成 2018-05-05 18:41:13 +08:00
50209aa6ed 问题编辑改造(标题搜索提示未完成) 2018-05-05 15:33:07 +08:00
665fbb0f6c PATCH_VERSION_NAME 升级为 3.2.1 2018-05-03 17:39:26 +08:00
fd0921870d 修复3.2的一些bug 2018-05-03 10:34:36 +08:00
568ff5cb1e 问题编辑重构 2018-05-02 15:19:11 +08:00
0cc78b1055 3.2 tinker base 2018-04-28 14:52:09 +08:00
6dc3b5c382 修复专题分页异常问题 2018-04-27 06:27:29 +08:00
9ac373bf0e 光环助手V3.2 RELEASE(20180427-0410)测试问题汇总 2018-04-27 06:08:15 +08:00
02f96f9083 Merge remote-tracking branch 'origin/dev' into dev 2018-04-27 05:59:14 +08:00
c74997f306 修复切换选择游戏,社区专题会显示到原来的社区再更新为新社区的问题 2018-04-27 05:59:05 +08:00
58d4f22a6b 光环助手V3.2 RELEASE(20180427-0138)测试问题汇总 2018-04-27 03:58:24 +08:00
c5cf1c168e 答案被删除时隐藏收藏和更多按钮 2018-04-27 02:26:24 +08:00
36638a63ca ... 2018-04-27 02:04:06 +08:00
07de30ceea 统一投票样式,选择游戏入口显示小红点 2018-04-27 01:27:13 +08:00
35e15263b0 光环助手V3.2 RELEASE(20180426-2223)测试问题汇总(除2.8.9.10其他完成) 2018-04-27 01:26:03 +08:00
420867378b room数据库版本改为4 2018-04-26 22:41:52 +08:00
0cc183df22 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-04-26 21:57:56 +08:00
eb557ca9bd 光环助手V3.2 RELEASE(20180426-1800)测试问题汇总(1.2.9.10) 2018-04-26 21:57:44 +08:00
72b39a5982 回答详情回答过快增加 Toast 提醒,移动网络点击所有缩略图后隐藏 [显示大图] 按钮 2018-04-26 21:36:32 +08:00
b96ee6bc19 修复第二次启动光环助手,点击“问答”出现的引导图,点击“我知道了”前面的“我知道”没有反应 2018-04-26 18:06:47 +08:00
684fa318ec 接口limit改为page_size,修复游戏列表下载与详情下载安装判断不一致问题,安装游戏删除addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) 2018-04-26 17:09:16 +08:00
29faea14c6 光环助手V3.2 RELEASE(20180424-1820)测试问题汇总(完成部分) 2018-04-25 19:26:47 +08:00
c25f7a13db 游戏搜索以及社区搜索UI微调 2018-04-24 20:10:08 +08:00
715edd77e0 TimestampUtils 修改 2018-04-24 18:31:00 +08:00
25cc825ea6 光环助手V3.2 RELEASE(20180422-1800)测试问题汇总 2018-04-24 17:52:53 +08:00
f7e7819b84 修复UserManager equals判断问题 2018-04-23 17:27:41 +08:00
d305315d7e 光环助手V3.2 RELEASE(20180419-1810)测试问题汇总(完成) 2018-04-23 16:50:36 +08:00
965d756cba 光环助手V3.2 RELEASE(20180419-1810)UI问题汇总 2018-04-23 16:13:05 +08:00
29a19b5df6 光环助手V3.2 RELEASE(20180419-1810)测试问题汇总(运营汇总) 2018-04-23 11:09:00 +08:00
cb2cdd98e8 光环助手V3.2 RELEASE(20180419-1810)测试问题汇总(三.9和评论未完成) 2018-04-22 18:52:08 +08:00
da79a972f7 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-04-20 17:39:14 +08:00
3c13eff2cf Merge remote-tracking branch 'origin/dev' into dev 2018-04-19 18:36:34 +08:00
7050070310 修复评论弹窗没登录也能提交的问题问题 2018-04-19 18:36:14 +08:00
1dca4e8c0a 光环助手V3.2 RELEASE(20180418-1420)测试问题汇总(完成) 2018-04-19 18:00:23 +08:00
1163e04aaf Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-04-19 16:49:55 +08:00
73bc256ce6 光环助手V3.2 RELEASE(20180418-1420)测试问题汇总(部分完成) 2018-04-19 16:49:51 +08:00
df78db5686 UI微调 2018-04-19 16:42:08 +08:00
b64ceaf5d4 微调精选推荐的代码结构 2018-04-19 15:38:43 +08:00
eb9b4cd132 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-04-19 11:35:18 +08:00
b9eec94644 更改 AnswerEntity db key 2018-04-19 11:35:07 +08:00
4e388ec3d7 问答精选数据流修改 2018-04-19 11:13:23 +08:00
a5069789b3 问题/答案/评论 提交时增加限制(5秒内只能提交1次) 2018-04-19 10:59:41 +08:00
3797fd85ad 回答列表补充评论数 2018-04-19 10:43:30 +08:00
f0b0423872 修复新增回答后问题详情页面出现两条相同数据的问题 2018-04-19 09:55:30 +08:00
e5daf1d29f 修复问题详情和回答详情的部分问题 http://gitlab.ghzhushou.com/pm/halo-app-issues/issues/210 2018-04-18 21:19:50 +08:00
2b9f40a976 修复文章列表为空导致的闪退问题 2018-04-18 16:13:01 +08:00
05fbf28d2b 部分接口修改 2018-04-18 14:18:51 +08:00
e54d06def9 签到逻辑修改(保存本地数据库) 2018-04-18 10:12:37 +08:00
840eff3cc4 光环助手V3.2 DEV(20180415-1700)测试问题汇总
http://gitlab.ghzhushou.com/pm/halo-app-issues/issues/207
2018-04-17 15:16:25 +08:00
a0737d0010 fix issues http://gitlab.ghzhushou.com/pm/halo-app-issues/issues/203 2018-04-16 17:57:59 +08:00
9d93df888e 修复已知bug 2018-04-16 10:15:23 +08:00
90fbb235c3 光环助手V3.2 DEV(20180413-2100)测试问题汇总
http://gitlab.ghzhushou.com/pm/halo-app-issues/issues/206
2018-04-15 16:37:44 +08:00
9be884c672 间距调整 2018-04-13 14:36:12 +08:00
550a4cdecf Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-04-13 14:13:53 +08:00
0d883b76fe 光环助手V3.2 DEV(20180412-1000)测试问题汇总(完成部分) 2018-04-13 14:13:41 +08:00
e3c3101cab Merge remote-tracking branch 'origin/dev' into dev 2018-04-13 11:26:51 +08:00
cce289253d 修复回答详情以及评论列表的一些问题 http://gitlab.ghzhushou.com/pm/issues-Inbox/issues/345 2018-04-13 11:26:32 +08:00
2102dd729c 光环助手V3.2数据统计需求(MTA)(完成) 2018-04-12 18:37:00 +08:00
347a83cf0f 统一DataUtils 2018-04-12 17:08:50 +08:00
1f8d573fad Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-04-12 16:53:10 +08:00
72b6c2a176 Menu全部初始化放在onActivityCreated,页面间距修改 2018-04-12 16:53:01 +08:00
743e3660e9 微调回答评论列表UI 2018-04-12 15:27:22 +08:00
2ab6a49bec Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-04-12 14:43:41 +08:00
1e31e13384 修复已知BUG OkHttpNetworkInterceptor去除接口404处理 2018-04-12 14:42:15 +08:00
f77fbe680f 1、回答评论列表答案作者显示作者
2、修复回答详情页查看大图滑动后返回依旧不是大图的问题
2018-04-12 14:19:12 +08:00
53c55a3f36 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-04-11 21:32:18 +08:00
18d11e3421 删除无用图标 2018-04-11 21:32:10 +08:00
bf42834051 光环助手V3.2 DEV(20180410-1140)测试问题汇总(部分未完成)
光环助手V3.2 DEV(20180410-1140)文案优化(部分未完成)
2018-04-11 21:31:40 +08:00
ee6337276c 回答详情也以及回答列表问题修复 2018-04-11 19:01:06 +08:00
cdc001b43e Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-04-11 11:19:31 +08:00
f3eeaddec8 光环助手V3.2数据统计需求(登录,问答精选刷新) 2018-04-11 10:45:17 +08:00
b8e1e4e21c 首页-下载,下载列表右边button未与上方全部开始对齐,列表下载条占位往左扣减5dp 2018-04-10 21:07:57 +08:00
64f2c83894 为所有页面添加Activity(为了接入MTA页面访问统计) 2018-04-10 20:50:19 +08:00
f9211e17a1 修改问答评论页UI 2018-04-10 20:09:36 +08:00
f0c952848a 修复部分已知bug 2018-04-10 16:15:07 +08:00
c736068d0e 光环助手V3.2其它优化汇总 2018-04-10 11:34:39 +08:00
e0c9d43f02 重新整理签到 2018-04-09 10:25:12 +08:00
0a4b657a85 修复由于xml id问题导致的打包失败 2018-04-08 18:08:56 +08:00
0121d9601c 游戏求版本ListFragment改造 2018-04-07 17:34:10 +08:00
371a450f5a 首页游戏执行分页操作 2018-04-07 15:38:43 +08:00
2796145d26 我的光环-签到功能优化(完成) 2018-04-07 14:53:28 +08:00
5a662ac72b 升级 OkHttp 依赖来解决 HTTP/2 连接问题 (http://gitlab.ghzhushou.com/pm/halo-app-issues/issues/193) 2018-04-04 16:24:35 +08:00
6cd62cbd0a 回答详情页滑动时显示问题标题 2018-04-04 11:07:42 +08:00
299fa1a107 修复社区相关举报跳转至反馈页面没有提示选项问题 2018-04-02 18:30:43 +08:00
c39ba2e17e issues测试以及整理 2018-04-02 17:51:29 +08:00
414b5b3861 列表点击逻辑修改,助手版本升为3.2 2018-04-02 16:16:49 +08:00
6f89f4acce Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-04-02 14:51:18 +08:00
5f09fd1fa3 问答精选新增专题功能(完成) 2018-04-02 14:51:04 +08:00
00f1b0e8a3 Merge remote-tracking branch 'origin/dev' into dev 2018-04-02 11:14:37 +08:00
4473d0f787 修改回答详情页顶部title 2018-04-02 11:14:25 +08:00
d5255f91d0 修复问题详情闪退问题,修改CheckLoginUtils 2018-04-01 10:04:28 +08:00
57a3479144 问答精选列表数据流刷新(完成) 2018-03-30 18:21:24 +08:00
82c4ebf375 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-03-30 16:03:33 +08:00
23ca884684 所有接口offset改为page(完成) 2018-03-30 16:01:41 +08:00
cdfa999b05 评论弹窗显示条数 2018-03-29 18:28:47 +08:00
224092b30a 根据接口字段变动修改回答评论列表 2018-03-29 18:18:26 +08:00
8daefb2e42 消息中心改造基本完成(还差测试) 2018-03-29 17:51:14 +08:00
c0c0ef979d Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java
2018-03-28 17:28:12 +08:00
6f0738cebb 提问问题/修改问题(完成) 2018-03-28 17:22:24 +08:00
3c352921bb 根据接口变动修改回答详情页细节 2018-03-28 11:53:15 +08:00
4df8f18cc4 V3.2Api接口更改(分页改为page未完成) 2018-03-28 10:01:10 +08:00
120acdefc6 Resolve conflict. 2018-03-27 10:24:00 +08:00
7eb31085b0 修改回答详情评论接口传参 2018-03-27 10:16:51 +08:00
17a3446be4 增加回答详情页菜单选项弹窗 2018-03-26 10:25:07 +08:00
d713c67c9b 我的光环-消息中心改版 2018-03-24 18:33:10 +08:00
76d788ee66 增加部分回答详情评论的接口 2018-03-23 18:09:52 +08:00
1cf13fc2a1 提问页面流程优化(还差接口调试) 2018-03-23 16:44:09 +08:00
de08d4d32d 为回答详情添加评论(增加部分UI 2018-03-22 18:32:09 +08:00
dce3a91156 删除QuestionsDetailActivity 2018-03-22 16:48:17 +08:00
38bf17c932 问题详情与邀请回答优化(完成) 2018-03-22 16:31:02 +08:00
5d0ccb9a34 光环助手V3.2 CTA按钮样式优化方案(完成) 2018-03-21 11:58:15 +08:00
b557afde2c ListRepository add todo 2018-03-21 10:44:58 +08:00
ea9375c20e baseList多接口兼容完成 2018-03-21 10:41:51 +08:00
fa464a9f1d baseList多接口-资讯页面(完成) 2018-03-20 17:33:06 +08:00
b3ff6ea991 baseList多接口-资讯页面(未完成) 2018-03-20 15:22:20 +08:00
f9dbdd4aa8 baseList 兼容多接口列表 2018-03-19 18:15:08 +08:00
21d06d97ef 更改主题色(包括一些按钮的调整) 2018-03-16 18:24:02 +08:00
fb28a49537 所有TabLayout指示器统一长度 2018-03-16 15:31:07 +08:00
d124504d5b 详情(游戏,文章,礼包)下载改造完成 2018-03-15 17:14:34 +08:00
0c69e0c5e5 更改Fragment初始化Toolbar Menu的位置(onCreate ->onActivityCreated) 2018-03-13 16:38:55 +08:00
39aee1ce89 首页+发现+我的光环 页面优化:http://gitlab.ghzhushou.com/pm/halo-app-issues/issues/175(全部完成) 2018-03-13 15:01:01 +08:00
b3fe87b79a 光环助手V3.2 其它UI优化汇总:http://gitlab.ghzhushou.com/pm/halo-app-issues/issues/176(除第二点外其他的完成) 2018-03-13 11:45:56 +08:00
2dfdc17523 Merge branch 'plugin_control' into dev 2018-03-12 17:53:12 +08:00
c208e7f72d 3.1.1封包(0.0) 2018-02-07 21:00:05 +08:00
8722d0a65b 更改BaseList的数据传递和刷新方式 2018-02-07 19:29:47 +08:00
54f044dfa0 修复部分bug 2018-02-07 14:43:40 +08:00
b854a6dfef WebFragment onActivityResult 数据非空判断 2018-02-06 15:42:57 +08:00
badb99da59 tinker 版本升为3.1.1 准备打补丁包 2018-02-05 15:23:32 +08:00
30d99dbe54 修复切换社区时问答页面销毁导致无法更新问题 2018-02-05 15:12:39 +08:00
c44c4e8b2d 修复切换社区时问答页面销毁导致无法更新问题 2018-02-05 15:12:24 +08:00
656b2f469b NormalActivity getMenuItem 非空判断 2018-02-05 15:04:07 +08:00
39e17842cc bug修复 2018-02-05 14:23:31 +08:00
57f7c0bb31 .gitignore增加选项 2018-02-03 17:51:27 +08:00
76b03fa68b list大小判断 2018-02-03 17:47:41 +08:00
c99d6fb16f 适配开启不保留活动模式(未完全适配 只是尽量让app不要崩) 2018-02-03 17:34:00 +08:00
d29ccc0aca toast context判断 禁止context.getString 操作 2018-02-03 10:16:27 +08:00
bf51be498b ImageUtils 非空问题 2018-02-01 16:02:28 +08:00
6d941975e2 toast禁止使用context 2018-02-01 15:27:29 +08:00
0e075d28a5 imageUtils kotlin非空问题 2018-01-31 14:25:40 +08:00
4b5e6b574f 修复列表刷新FooterViewHolder的方式 以及调整邀请达人FooterViewHolder的间距 2018-01-31 10:56:20 +08:00
fc79581f8c NavigationTitle空处理 MessageDetailActivity继承NormalActivity 2018-01-30 20:48:32 +08:00
6176c47e2f 修复已知bug,debug状态关闭数据上报,release增加tinker开发设备(channel:GH_TEST) 2018-01-30 19:45:56 +08:00
9abe0eb158 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-01-30 16:30:13 +08:00
4d7cedb8a6 解决社区游戏选择分页后数据异常问题,解决问题详情无法分页问题 2018-01-30 16:28:34 +08:00
2b02fe06ac Merge remote-tracking branch 'origin/dev' into dev 2018-01-30 11:34:27 +08:00
cd5f530fc6 Add todo. 2018-01-30 11:34:04 +08:00
b9085c7091 修复最新礼包无法下拉刷新问题,appbar在触控屏幕时禁止open/close,部分Fragment commit 替换成commitAllowingStateLoss 2018-01-30 10:38:26 +08:00
679ee71f89 修复channel脚本路劲问题,打tinker基础包 2018-01-28 16:10:12 +08:00
536f0e038a Activity 相关跳转(内部/外部)增加NormalActivity兼容 2018-01-28 15:34:13 +08:00
b087e35b30 修复问答-问题由于调整顺序可能会造成的闪退问题,修复社区-问题由于切换社区造成的数据异常 2018-01-28 14:33:30 +08:00
db3df649ce 优化下载超过100%问题 2018-01-26 16:51:47 +08:00
bb708277b1 修改昵称违规toast文案 2018-01-26 15:43:24 +08:00
c3b694dc6c 优化下载进度超过100%问题 登录相关增加错误toast 2018-01-26 15:34:21 +08:00
b9ff0b1c88 修复下载相关无法即时刷新页面问题 2018-01-25 19:06:04 +08:00
52be8db71f 后台控制关闭插件相关的功能 2018-01-25 17:41:54 +08:00
0e791133dd gradle internal publish 2018-01-24 18:12:01 +08:00
b4f760d69f 社区问题加载... 2018-01-24 18:02:55 +08:00
9bba3c9560 修复问答社区切换时造成数据异常问题 2018-01-24 17:59:49 +08:00
bcd61e87d3 修改草稿后重新刷新我的草稿列表 2018-01-24 11:28:15 +08:00
e8c0e523e6 光环助手V3.1 RELEASE(20180123-1205)测试汇总 2018-01-24 10:53:10 +08:00
af9e9a87b4 去除KEY_DATA, NormalActivity增加适配规则 2018-01-23 17:32:48 +08:00
2d1bb6435f 修复安装/卸载后游戏插件化区域无法更新问题 2018-01-23 14:50:41 +08:00
5680b8508d 问题详情标题去除行数限制 调整标签顺序 2018-01-23 11:00:21 +08:00
df0e9197dc 对话详情回复字数限制,答案/回答详情标题间距修改 2018-01-23 10:21:00 +08:00
79964160ff 发现页面入口点击统计 问答问题修改后刷新问题详情页面 2018-01-22 17:28:45 +08:00
0d46554b66 光环助手V3.1 RELEASE(20180118-2020)测试汇总(完成部分) 2018-01-22 16:07:07 +08:00
2c674896ff tinker脚本修改(internal切到publish) 2018-01-22 09:35:18 +08:00
3ce1f28ae6 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-01-19 11:33:20 +08:00
5ef145ed47 修复InstallUtils卸载事件异常BUG 修复提问时问题标签顺序混乱问题 2018-01-19 11:30:54 +08:00
b478cd6812 Merge remote-tracking branch 'origin/dev' into dev 2018-01-19 11:05:28 +08:00
7e86187132 1.答案编辑页面去处拷贝来的样式
2.增加超出文字字数处理逻辑
2018-01-19 11:04:49 +08:00
58b7a9515f 修复点击取消安装后依然收到安装通知的Bug,删除安装完成自动删除安装包 默认安装后不删除安装包 2018-01-18 18:13:35 +08:00
370b2122aa 解决重复登录 出现多个弹窗问题 2018-01-18 15:35:42 +08:00
c6f1a7d212 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-01-18 14:41:07 +08:00
c04e425550 光环助手V3.1 RELEASE(20180116-1826)测试汇总 补充 2018-01-18 14:40:40 +08:00
19543d7d29 修复了修改回答 Webview 进入时无法滚到页面底部的问题 2018-01-18 09:19:45 +08:00
12af602066 问答相关一些间距调整, 社区搜索增加提问按钮,提问标题字数不足30字且最后字节不是问号的情况下自动增加问号 2018-01-17 16:13:24 +08:00
000515cda7 首页问答增加断网重连 2018-01-17 15:12:05 +08:00
645e5a94a6 调整toolbar menu间距 2018-01-17 14:54:45 +08:00
c2f69eb03d 问题详情我的回答和我来回答图标调换 2018-01-16 18:14:46 +08:00
93a9c41bee Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Conflicts:
#	README.md
2018-01-16 18:07:08 +08:00
02dffc6e22 修复消息小红点问题,修改问题详情刷新方式 2018-01-16 18:04:00 +08:00
2658b7ca93 Add todo. 2018-01-16 17:23:17 +08:00
8c3335a7bf 再次优化图片压缩方式, 提问和反馈(先压缩再显示界面) 2018-01-16 14:18:36 +08:00
c0e7b8e3ee 修复外部跳转NormalFragment失败问题,光环助手V3.1 RELEASE(20180112-0755)测试汇总 2018-01-15 18:37:04 +08:00
9ef3d65aa4 修复回答编辑框默认文案显示异常问题 2018-01-15 16:56:45 +08:00
8d188d4798 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-01-15 14:41:26 +08:00
7bfc84c156 回答详情重命名,外部跳转支持NormalFragment(未测试) 2018-01-15 14:38:58 +08:00
18bc47efe1 图片压缩优化 以及 问题详情页面调整 2018-01-15 11:53:43 +08:00
4593952cc3 把查询发现红点的间隔从60秒改成5分钟 2018-01-15 11:32:55 +08:00
1d3e30f8d3 社区问题页面 ViewPager Adapter 更换 2018-01-13 19:14:58 +08:00
6fef655e44 合并后续 2018-01-13 15:53:19 +08:00
552b81c558 1-12最后部分修改以及合并代码 2018-01-13 15:51:40 +08:00
6c9a4daf9b 修复了发现tab的红点问题 2018-01-12 18:44:57 +08:00
fbc46c54c4 修复社区页面没有登录也能进入提问编辑页面的问题 2018-01-12 14:43:45 +08:00
bc7aaa8b08 1-12修改 2018-01-12 08:26:13 +08:00
95af9902e7 部分UI调整,选择社区和问题详情脚布局调整 2018-01-11 18:15:01 +08:00
f340a13212 光环助手V3.1 DEV(20180109-2100)测试汇总 2018-01-10 21:30:25 +08:00
3d8f17d641 社区回答修改答案上传规则 2018-01-10 16:07:02 +08:00
68f7b0f20f 增加首页-发现和修复部分汇总 2018-01-09 21:22:12 +08:00
c3a3060b92 光环助手V3.1 DEV(20180106-1901)测试汇总(补充) 2018-01-09 14:07:50 +08:00
c01b96298d 光环助手V3.1 DEV(20180106-1901)测试汇总(部分未完成) 2018-01-09 10:49:31 +08:00
26655da185 toolbar统一样式(后续有时间再全部整理) 2018-01-08 11:01:18 +08:00
9d0345303a 重新整理ShareUtils,增加社区相关分享 2018-01-06 18:19:15 +08:00
33d02a0b2e 问题正文,如果超过3行的,要出现查看全文按钮,默认最多只支持显示3行 2018-01-06 17:23:13 +08:00
f301ab694c 所有user_data的SerializedName改为me,答案详情增加“查看大图”按钮 2018-01-06 15:49:31 +08:00
baa6c0db3c 光环助手V3.1 DEV测试汇总(20180104) 2018-01-06 11:43:34 +08:00
d118f54bd3 重新整理ShareUtils,增加社区相关分享 2018-01-05 18:17:39 +08:00
4a7384d371 LogHub增加混淆,修复问题详情无法查看我的答案 2018-01-05 10:55:18 +08:00
6a91b8ae0f Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-01-04 18:24:57 +08:00
b5fddfbbd0 界面调整和部分测试汇总 2018-01-04 18:24:36 +08:00
cfa3ceaae7 RichEditor 增加缩略图控制,图片监听(还差查看大图按钮),相关页面已经接入 2018-01-04 11:09:29 +08:00
7a8f75abfc 问答用户头像圆角,发布问题成功后跳转到问题详情 2018-01-03 14:40:26 +08:00
3db70fcbbe Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2018-01-03 12:05:45 +08:00
7b74d9fe47 fix webview wide viewport 2018-01-03 12:05:15 +08:00
553c211f24 新增问答搜索统计 2018-01-02 17:49:09 +08:00
3b153f5967 增加LogHub 新增问答答案统计, 新增问答问题统计 2018-01-02 17:05:53 +08:00
926b2d070f 修复有草稿箱进去回答答案成功后无法刷新页面问题 2017-12-29 18:24:31 +08:00
3e37731d84 评论关键字标红 答案编辑传参更改 2017-12-29 15:38:25 +08:00
24b5b81279 问答相关非GET请求处理(toast),修复由我的草稿编辑无法评论问题 2017-12-28 19:20:23 +08:00
0534294b82 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-12-28 17:26:24 +08:00
a314404b61 更改消息客服接口 2017-12-28 17:26:14 +08:00
71b81b2255 消息中心-消息页面 改造完成 2017-12-28 17:21:32 +08:00
c8cb61436e 问题Tag标签整理(位置调整保持),社区选择回调(刷新界面) 2017-12-28 09:52:04 +08:00
1006bf25c1 1、移除MTA可视化埋点
2、增加TalkingData可视化埋点
2017-12-27 19:20:31 +08:00
cb6f03231e 问答社区相关优化 2017-12-27 16:47:42 +08:00
8ee2308ee1 整理NormalFragment相关代码 2017-12-27 15:02:17 +08:00
719dbeef76 整理页面toolbar,修复开服表跨年显示异常问题 2017-12-26 17:30:59 +08:00
4c34333956 NormalFragment 增加getItemMenu, 修复答案收藏无法反选问题 2017-12-25 18:11:35 +08:00
bff677d607 增加创建社区投票,编辑草稿回调失败问题, gameInfo增加icon 2017-12-25 15:48:15 +08:00
ba1461c874 增加收藏-答案 2017-12-22 15:56:35 +08:00
7a0e885444 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-12-21 18:26:10 +08:00
72d4ab6db5 优化我的问答界面以及跳转和其他问答相关页面整理 2017-12-21 18:25:40 +08:00
dfd6b61123 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-12-21 17:27:24 +08:00
352d7d032e 1、解决toolbar上面文字的问题。。。简直6
2、解决快传文件的一个bug
2017-12-21 17:01:29 +08:00
ae6ba7832d x 2017-12-21 14:46:08 +08:00
9d63a6d0c4 fix string 2017-12-21 14:45:24 +08:00
e905fb366e 问题精选更改Entity 和点击跳转 2017-12-21 11:33:55 +08:00
27b325f7d9 答案编辑-保存草稿 修复答案收藏和问题关注 2017-12-21 10:49:28 +08:00
5c2f8c60dd 对接问题关注和答案收藏 2017-12-20 19:49:24 +08:00
3ac5905994 增加答案编辑(接口测不通) 2017-12-20 16:55:10 +08:00
0e460b0778 个人中心 增加我的问答 2017-12-20 15:39:00 +08:00
4eea5b99d6 ... 2017-12-19 21:16:38 +08:00
34c60d09f6 问答相关接口测试整理 升级3.1 2017-12-19 18:10:43 +08:00
48e1ee4e7b Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/ask/questionsdetail/AnswerEditFragment.java
2017-12-19 16:21:09 +08:00
46863d09a2 问答接口测试 整理 2017-12-19 16:17:48 +08:00
ade08dcbee revert gradle 2017-12-19 15:57:15 +08:00
e9a381068e 1、用户信息相关页面整理 2017-12-19 15:56:32 +08:00
f5a068937a Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-12-19 11:21:00 +08:00
c2bc52e474 重构专题页面相关逻辑
其他toolbar逻辑移除
2017-12-19 11:20:47 +08:00
cd4ce2aa6b Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/ask/questionsdetail/AnswerEditFragment.java
2017-12-19 09:27:48 +08:00
257e82e825 问答相关接口测试与对接 2017-12-19 09:25:22 +08:00
a705f0ec53 fix gradle.properties 2017-12-18 16:20:17 +08:00
46699a05ce Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-12-18 16:00:44 +08:00
9fd1855daa 资讯相关页面的整理 2017-12-18 16:00:30 +08:00
9a96fffd18 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-12-18 15:07:36 +08:00
00d6f5e4b1 问题搜索 问题编辑 页面处理 2017-12-18 15:06:52 +08:00
a3adb87a6a (答案-编辑,问答-问题,问答-邀请)功能优化整理 2017-12-17 18:30:32 +08:00
d0c01f1873 问答-答案详情 2017-12-17 14:20:44 +08:00
725d0b217a 优化问答编辑框 2017-12-17 10:10:47 +08:00
1958c6aefb update readme 2017-12-15 18:06:27 +08:00
05be092d69 1、移除部分haloapp的静态变量
2、整理hardcode tag
3、修复NPE
2017-12-15 18:04:56 +08:00
40fccea23a 1、修复libaoactivity、libaodetailactivity崩溃
2、处理部分toolbar
3、处理输入法弹出、隐藏
2017-12-15 17:23:34 +08:00
a022526e7e Merge remote-tracking branch 'origin/temp' into dev 2017-12-15 11:00:08 +08:00
765b4c3afa fix to compile 2017-12-15 10:26:27 +08:00
f704a29b38 Merge remote-tracking branch 'origin/3.1' into dev 2017-12-15 09:57:57 +08:00
309bb98036 选择游戏页面修改 2017-12-14 18:06:09 +08:00
bf7b0b0a82 处理一部分activity的toolbar,已经处理完毕的标记为Deprecated,为了保持MTA数据上报兼容性,暂时未删除对应的Activity 2017-12-14 17:56:54 +08:00
98629c5e85 问答标签同步 2017-12-14 15:38:45 +08:00
461acbd376 答案编辑改进 2017-12-13 18:02:17 +08:00
e0b70b26f3 1、分离datautils,debug release独立逻辑
2、baseactivity toolbar处理(继续处理消除activity)
3、xml处理
2017-12-13 16:47:27 +08:00
4a831f4cb9 优化部分命名问题 2017-12-12 17:55:00 +08:00
b58bbbe705 社区对接接口 2017-12-12 17:13:00 +08:00
dc186e2e6b 部分enum修改 2017-12-12 10:22:16 +08:00
44deb59624 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Conflicts:
#	gradle.properties
2017-12-11 18:42:29 +08:00
886007eae5 对接部分接口 2017-12-11 18:37:12 +08:00
27fc39cb70 revert tinkerid 2017-12-11 17:35:25 +08:00
5480caf44e update gradle to 3.0 & fix tinker filepath 2017-12-11 17:33:44 +08:00
877ecbaef1 问答相关页面整理 2017-12-11 16:45:09 +08:00
434bfde292 问答-搜索,问答-提问 2017-12-08 18:35:46 +08:00
40c55e716d 问题详情/问题详情-邀请页面/问题详情-回答编辑页面 2017-12-08 14:47:27 +08:00
a448a974f1 1.开服日历页面时关闭日历详情
2.删除对开服信息时间的判断 如果有开服信息就显示开服日历
2017-12-07 16:14:15 +08:00
1738fac5fd Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-12-06 18:33:10 +08:00
7b74318ca5 修复详情页面 启动需要检查网络的BUG 2017-12-06 18:32:19 +08:00
19e394abb8 问答社区-问题/切换社区-选择游戏/问答社区-调整问题类型顺序 2017-12-06 18:09:11 +08:00
6dabbe19dd update libs 2017-12-06 16:15:20 +08:00
7b95d991d4 问答-问题 2017-12-05 19:18:45 +08:00
e286be7f1e 修复开服表过年无法显示问题,修改开服表显示规则 2017-12-05 16:39:21 +08:00
4214c08e76 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into 3.1
QQ 跳转无法回话问题
2017-12-05 11:02:17 +08:00
180c49f9d3 问答精选基本完成(还差接口) 2017-12-05 11:00:52 +08:00
ef040f68c7 区分企业QQ和普通QQ的打开方式 2017-12-05 10:15:44 +08:00
65e098e1c8 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into 3.1 2017-12-04 18:48:41 +08:00
3978ab95f4 新增通用列表模块,问答精选 2017-12-04 18:47:53 +08:00
b134d077cf 礼包领取判断修正 2017-12-04 12:01:43 +08:00
d537cb2383 登录重构(token过期重试部分) 2017-12-02 14:32:08 +08:00
dba866e5c9 登录重构相关 2017-12-01 17:44:09 +08:00
ce36dd4012 登录重构(网络层的token重试未完成, 还有其他登录相关代码的整理) 2017-12-01 16:59:32 +08:00
ea2b9ef4df Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into 3.1 2017-11-28 15:45:12 +08:00
69fe3b3d76 fix appbar scroll behavior 2017-11-28 15:37:57 +08:00
a34b101a05 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into 3.1 2017-11-28 09:23:56 +08:00
c134c4bf9e 删除无用log 2017-11-28 09:22:09 +08:00
b0fe7595da Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into 3.1 2017-11-27 16:39:04 +08:00
6a7ef44bdd 字符串hardcode问题 2017-11-27 16:37:06 +08:00
633acb9236 礼包领取限制 2017-11-27 16:03:32 +08:00
cf84205571 修复礼包列表和专题列表分页加载过慢问题 2017-11-27 15:04:12 +08:00
5aced2c03c 光环助手V3.0.2优化需求与bug汇总(11-27) 2017-11-27 11:57:11 +08:00
6cfa949493 解决跳转QQ后无法聊天问题 2017-11-27 09:27:29 +08:00
4131396117 引入constraintLayout 2017-11-24 10:42:53 +08:00
e5f8d959ed Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into 3.1 2017-11-23 20:07:25 +08:00
6f0c9e0b59 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into 3.1 2017-11-23 20:04:55 +08:00
dcfe3dee0e Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-11-23 20:04:24 +08:00
8348568ea7 修复3.0.1意见反馈Bug
1.ImageUtils传入的url允许为空
2.修复专题ActionBarTitle有可能为空问题
2017-11-23 19:58:00 +08:00
1d5dece894 fix git submodule update script 2017-11-23 15:57:52 +08:00
051e0751a5 禁止用Class SimpleName做bundle的TAG 2017-11-23 10:15:02 +08:00
64594c4457 调整下载重试时间间隔 2017-11-22 17:12:07 +08:00
5f19f55e03 文章详情 相关文章推荐优化 2017-11-22 17:09:35 +08:00
da6cfdc4e8 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into 3.1 2017-11-22 15:44:27 +08:00
c2274d6b6f 3.0升级日志 2017-11-22 15:44:04 +08:00
adbdc55bc4 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into 3.1 2017-11-22 15:23:56 +08:00
165059ca2d 快传 传送最低时间设为1秒 2017-11-22 15:07:29 +08:00
6c1da15ae4 整理文章详情和游戏详情的文章列表(将布局代码抽离到xml) 2017-11-21 18:31:03 +08:00
ecf05bcd00 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into 3.1
# Conflicts:
#	app/src/main/java/com/halo/assistant/HaloApp.java // 设置GH_TEST渠道为Bugly(tinker)开发设备
2017-11-21 17:02:25 +08:00
3baec32ff8 彻底删除小米推送,整理部分TODO 2017-11-21 16:55:45 +08:00
cb95204fac 解决一些hardcode和命名规范 2017-11-21 09:23:33 +08:00
89e05d1a29 设置GH_TEST渠道为Bugly(tinker)开发设备 2017-11-20 17:24:02 +08:00
41b940a8e9 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into 3.1 2017-11-19 14:29:32 +08:00
3d8d612897 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into 3.1 2017-11-19 14:27:09 +08:00
b3297e3fcd 升级最新友盟推送(包含华为小米),删除旧版小米(已包含在友盟) 2017-11-19 14:14:39 +08:00
9f00cab409 优化首页缓存 2017-11-19 12:00:00 +08:00
e8a795f97b 1117测试问题:
1.如果后台隐藏了评论,前端在消息中心点击跳转对话详情,会一直转圈圈,也没任何提示(应该要出现飞碟提示才对)
2.消息中心-客服,排版和“评论”不一致
(1)分割线与头像之间的间距(比“评论”那边窄了)
(2)昵称和时间之间的间距(比“评论”那边宽了)
2017-11-17 11:37:00 +08:00
c8c93cac6e 与3.0.2合并 2017-11-17 10:47:43 +08:00
96c233ebd0 光环助手V3.0.2 评论对话增加弹窗(回复/点赞/复制 等) 2017-11-16 20:04:03 +08:00
36ef13b237 光环助手V3.0.2优化需求汇总(20171116) 2017-11-16 18:06:23 +08:00
f54fdd6016 可以多次重定向,但有数量限制.断网重连先延迟后判断 2017-11-16 12:02:32 +08:00
a43947077a 新增打渠道包脚本 2017-11-16 09:19:47 +08:00
a863b7be13 fix proguard library 2017-11-15 17:33:47 +08:00
ab1ce8e179 HttpDns版本和友盟HttpDns改成一致 2017-11-15 17:12:27 +08:00
d391ab20b7 更换3.0.1tinker_id以及tinker_base_apk_dir 2017-11-15 15:13:47 +08:00
8403bc3a64 求版本敏感词优化 2017-11-15 15:07:34 +08:00
038e736eb1 下载暂停和继续延迟一秒,防止一个包同时有多个线程在下载(后续想一个更好的方案) 2017-11-15 10:41:02 +08:00
a215192175 下载增加httpdns 2017-11-14 20:42:27 +08:00
22a1895050 消息中心优化, 求版本功能完善(敏感词toast还要确认), 修复搜索游戏失败时无法重试问题 2017-11-13 17:44:10 +08:00
2df42c772b 下载重试优化 2017-11-13 15:34:24 +08:00
e68e47e132 增加 baselist 相关 2017-11-11 15:48:10 +08:00
72f9e8ed79 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into 3.1 2017-11-11 09:34:43 +08:00
3a2c67152e 字符串hardcode问题 2017-11-11 09:34:01 +08:00
82fea04460 首页启动性能优化-获取到了新数据后 要更新界面 2017-11-10 15:53:53 +08:00
6ccd70dad2 首页启动性能优化,修复游戏平台面板插件图标异常问题 2017-11-09 19:28:24 +08:00
ec2d14bffe 修复refreshToken过期重试问题 2017-11-09 11:47:13 +08:00
1d544ff558 修复登录相关问题(删除用户数据后发注销广播) 2017-11-08 20:06:40 +08:00
867cd29e0f 修复强制弹窗 2017-11-08 19:39:59 +08:00
d1cf660af6 修复获取验证码返回处理 2017-11-08 18:36:58 +08:00
adabe3a227 20171108issues: http://gitlab.ghzhushou.com/pm/halo-app-issues/issues/91
登录无网络处理
2017-11-08 18:31:38 +08:00
b57ef6c3b4 refreshToken抽离 refreshToken同一时间只能访问一次 2017-11-08 10:53:23 +08:00
1b50823843 修复第一次登录头像提示 2017-11-07 21:04:31 +08:00
c4c499532a Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into 3.1 2017-11-07 14:57:02 +08:00
18ddad522a 补丁弹窗问题 2017-11-07 14:40:50 +08:00
85b034ecfb make sure that update dialog show 2017-11-07 12:05:11 +08:00
5a04749ef2 make sure that update dialog show 2017-11-07 11:59:22 +08:00
bcd32dde85 fix tinker patch 2017-11-07 11:31:41 +08:00
7832cb810b fix tinker script bug 2017-11-07 10:59:00 +08:00
cb652721a7 fix tinker script bug 2017-11-07 10:57:19 +08:00
4ad005fb53 update about version 2017-11-07 10:46:19 +08:00
ce312aea72 fix tinkerId show update log 2017-11-07 10:39:40 +08:00
6c5dc556e8 fix tinker support 2017-11-07 10:21:03 +08:00
95dc18f1d0 remove tinkerid before tinker release base 2017-11-07 10:17:10 +08:00
f284cc8676 test 2017-11-07 09:59:47 +08:00
0cc456c4a1 3.0.1优化
http://gitlab.ghzhushou.com/pm/halo-app-issues/issues/87
2017-11-06 18:29:34 +08:00
0666146374 11-6 打母包 2017-11-06 15:56:32 +08:00
5860ca720e 优化掉线问题 2017-11-03 19:43:49 +08:00
91ee8362ba 修复查看评论 2017-11-02 19:43:04 +08:00
d8f043ad71 游戏列表开服信息 重写到ViewHolder类本身 2017-11-02 16:45:36 +08:00
1706ead392 整理已安装的游戏数据表 2017-11-02 15:20:38 +08:00
dd81460826 修复补丁弹窗问题 2017-11-01 17:29:50 +08:00
5180916d9f Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-11-01 17:16:18 +08:00
4d92ddcc75 ... 2017-11-01 17:15:09 +08:00
f1f0900e13 get tinkerid 2017-11-01 17:12:46 +08:00
6edf68d03c 补丁安装完成弹窗提示优化 2017-11-01 15:23:11 +08:00
c643ae507b 添加额外渠道 2017-10-31 18:13:05 +08:00
fdc843a93a V3.0.1优化完成 补丁安装完成要出现弹窗提示->还没测试 2017-10-31 18:11:09 +08:00
383c06c72a V3.0.1优化 1~9 2017-10-31 11:10:29 +08:00
a255ce3e36 添加渠道 2017-10-27 18:16:00 +08:00
fa58e820c1 修改老用户同步逻辑 2017-10-27 18:07:51 +08:00
fad011e2fc 修复登录掉线问题(应该OK了),关于版本显示补丁包版本号 2017-10-26 14:51:51 +08:00
9fad040e14 修复礼包(从文章超链接进入礼包详情),登录问题 2017-10-25 18:39:24 +08:00
8d0ab82f15 整理hardcode问题,整理imageUtils工具类 2017-10-19 09:11:22 +08:00
3d7e994b93 增加NormalActivity/fragment 2017-10-17 20:35:03 +08:00
4d40c0f431 修复首页页面切换时 插件化模块自动滑动问题 2017-10-16 17:53:39 +08:00
d9bb60e66b 整理Entrance type 2017-10-16 16:49:22 +08:00
52433ba347 抽离部分java代码中的字符串,equals判断常量放在前面 2017-10-14 15:52:15 +08:00
4290846698 抽离代码中的fromHtml的content,修复个人中心同步问题 2017-10-14 14:44:25 +08:00
6bbd7ec00d ... 2017-10-13 17:01:51 +08:00
dc535ddb38 V3.0 10-12汇总, 优化我的关注和登录页面 2017-10-13 16:54:37 +08:00
dfe087e702 登录增加进度弹窗,统一toast 2017-10-12 17:57:40 +08:00
930e0b92eb 修改下载管理更新游戏逻辑 2017-10-12 16:37:18 +08:00
3199bc6118 10-12优化补充 2017-10-12 09:57:36 +08:00
b1384375a3 打publish包 2017-10-12 09:24:45 +08:00
81dd98cefd 关于版本号更改, gson工具类 2017-10-11 20:19:14 +08:00
02108b3273 ViewPager 指针四舍五入取整 2017-10-11 15:34:12 +08:00
c5deb87c23 整理代码中的文本 2017-10-11 10:24:07 +08:00
572274a2e3 V3.0 10月10日测试包 2017-10-10 16:36:10 +08:00
7f303b362d bug修复 2017-10-10 15:19:17 +08:00
41ce6cce05 打tinker包 2017-10-10 10:17:38 +08:00
f6e1c55749 ... 2017-10-10 09:53:14 +08:00
d24bcf8e6e 修复游戏详情空白提示异常问题 2017-10-09 18:42:46 +08:00
2b497ff679 登录成功提示逻辑修改 2017-10-09 16:05:09 +08:00
627c20f6fd 修复验证码礼包无法领取问题 2017-10-09 15:15:18 +08:00
cfab918bea layout的颜色代码抽离 2017-10-09 14:29:53 +08:00
89746203fe 登录完成后自动刷新页面(我的关注,存号箱,礼包-关注), 修复资讯-关注礼包同步问题 2017-10-09 11:47:25 +08:00
8bc6947c94 dialog由默认layout改为在xml创建 2017-10-08 17:58:53 +08:00
5a264804da 整理礼包详情内容(layout抽离到xml) 2017-10-08 15:42:04 +08:00
1f5e025fea java代码抽离颜色代码,修复历史礼包已知bug 2017-10-08 14:56:40 +08:00
3201e220a0 礼包重复领取修复已知问题,收藏页面优化 2017-10-08 11:39:49 +08:00
d41129011b Tab指针居中 2017-09-28 17:50:20 +08:00
6eb1aefb1c V3.0 09-27 Tab指针居中问题未解决 2017-09-28 15:25:06 +08:00
433646b455 修改登录相关接口循环请求问题, 定时任务统一用postDelayedRunnable在baseFragment 统一remove 避免刷新过程中对出闪退 2017-09-28 11:57:34 +08:00
257e7d1d27 viewPager+fragment adapter notifyItemRangeInserted去除判断(好像是recyclerview修复了这个bug) 2017-09-27 18:22:51 +08:00
f668d6492a 整理部分可以快速弄好的todo 2017-09-27 17:44:15 +08:00
b8ea968a58 抽离列表的onclick事件 还未完成(太太太多啦), click startActivityForResult相关已经完成 2017-09-27 17:15:58 +08:00
5b361afc67 更换沉浸栏实现方法, actionBar menu 修改 2017-09-27 11:28:07 +08:00
0947cd1e24 fix tinker 2017-09-26 19:22:30 +08:00
f8ab1f108b Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-09-26 18:39:53 +08:00
84f53bbf81 fix gnu/bsd script 2017-09-26 18:39:50 +08:00
ad2656a24b ... 2017-09-26 18:39:42 +08:00
4734fbd651 fix tinker 2017-09-26 17:46:20 +08:00
a947755383 tinker test 2017-09-26 17:05:45 +08:00
f4a1283073 将列表onclick事件提取出来(只完成资讯模块) 2017-09-26 16:34:51 +08:00
f37a2c5b24 测试tinker回退, 没有测试成功.
获取VERSION_CODE失败 返回的是null.
跑patch脚本 gradle指定baseApk路径和脚本生成(多出两层目录)的路径不一致.
打出来的补丁包上传时提示"未匹配到可应用补丁app版本".
2017-09-25 20:56:10 +08:00
cca7d770f1 测试tinker 改了一些脚本 待会改回来哈 2017-09-25 19:28:30 +08:00
2c7f3f2321 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-09-25 18:34:16 +08:00
cc92e025f2 fix tinker build.gradle file 2017-09-25 18:32:57 +08:00
ce0e28dad6 activity入口整理(涉及到外部启动(插件跳转/推送)的未完成) 2017-09-25 17:22:07 +08:00
b483f7cdb6 整理xml的hardCode(部分固定文案尚未抽离) 2017-09-25 16:36:40 +08:00
8ce0694099 重写选择地区页面 2017-09-25 16:04:52 +08:00
910b356a05 push LGLibrary?? 2017-09-25 12:05:13 +08:00
d74e0310f8 测试tinker 2017-09-25 11:40:10 +08:00
ee19879577 整理startActivityForResult CODE 2017-09-22 18:02:20 +08:00
5e3d7d2f2b 删除无用的数据库相关类(concernDao还需整理), 修复不能重复领取/淘号问题 2017-09-22 15:27:54 +08:00
f292eb0fc6 9月19日测试包 完成 2017-09-22 09:21:49 +08:00
475de2281b Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-09-21 16:15:12 +08:00
949c8331d2 礼包详情重复淘号,从存号箱和普通列表进去礼包详情 数据同步 2017-09-21 16:09:06 +08:00
a5e0fa8402 fix conflict 2017-09-21 15:27:03 +08:00
f0066b3dac fix strings.xml formatable string 2017-09-21 15:26:04 +08:00
10480a533c add readme sample 2017-09-21 12:12:45 +08:00
d36dcac817 登录失败提示 2017-09-21 10:33:42 +08:00
d6d49ac7ad 整理Activity入口(还有部分未检查) 2017-09-20 20:01:07 +08:00
573e127fc7 整理消息页面(阅读后即时提交) 2017-09-20 15:39:20 +08:00
9cb6e599a4 整理无用代码 2017-09-20 14:37:40 +08:00
f42dd1013e Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-09-19 15:05:48 +08:00
70441658e5 收藏同步相关 2017-09-19 15:04:59 +08:00
0ca71f25f6 fix context related 2017-09-19 14:28:43 +08:00
5d3a4e24f9 fix debug keystore 2017-09-19 10:29:03 +08:00
3b8faf47c4 资讯-关注 优化 2017-09-18 19:33:01 +08:00
ac21776d3b 退出登录时增加过程弹窗, 防止过早或过慢清除token造成的页面错误 2017-09-18 18:36:13 +08:00
e5127c9040 退出登录时增加过程弹窗, 防止过早或过慢清除token造成的页面错误 2017-09-18 18:35:32 +08:00
8533d06943 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-09-18 17:11:27 +08:00
066dd6103f 用户数据同步-收藏增加多页面同步, 礼包部分整理(资讯-关注接口欠缺礼包用户数据, 评论相关接口欠缺用户数据) 2017-09-18 17:11:15 +08:00
670f9c280c add debug bugly 2017-09-18 15:37:43 +08:00
5ea3c58b77 update tree image 2017-09-18 14:16:50 +08:00
6e15571ef4 create patch test 2017-09-18 12:17:49 +08:00
ad46fced4f Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-09-18 12:06:54 +08:00
5acf42423e add rsync to 2.100 for backup 2017-09-18 12:06:44 +08:00
2a2bef8a47 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-09-16 18:31:20 +08:00
2ffb0f59a2 用户数据同步-礼包相关(优化/整理) 2017-09-16 18:30:51 +08:00
400bdaa6f5 fix script var naming 2017-09-16 18:10:54 +08:00
fa449966f3 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-09-16 17:29:41 +08:00
f4078493f6 fix patch/channel/ release scripts 2017-09-16 17:29:31 +08:00
5007f7e83d 用户数据同步-我的关注(页面更新逻辑修改) 2017-09-16 14:49:25 +08:00
ca1a8e15cb Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-09-16 09:24:35 +08:00
b9f299805f 用户数据同步-基本完成(比较多细节问题需优化) 2017-09-15 18:38:31 +08:00
acde49012f test tinker multiple channel release & patch 2017-09-15 18:17:35 +08:00
76c69f0d19 fix tinkerid not the same 2017-09-15 17:38:51 +08:00
c0b91b4a63 Merge remote-tracking branch 'origin/dev' into dev 2017-09-15 17:00:47 +08:00
f6a194ae92 fix patch script 2017-09-15 16:57:27 +08:00
9e7d178972 fix tinker patch path 2017-09-15 16:25:03 +08:00
17b2e2dca7 test patch 2017-09-15 16:03:22 +08:00
eb73bcd25f fix script 2017-09-15 16:00:13 +08:00
f96c090120 test script 2017-09-15 15:39:46 +08:00
aefdaee424 fix script 2017-09-15 15:34:50 +08:00
27ceee37c0 fix script 2017-09-15 15:33:24 +08:00
e1c2e3c984 fix script 2017-09-15 15:25:56 +08:00
48e3718fc2 add tinker scripts 2017-09-15 15:24:44 +08:00
ee20f65a9b 用户数据同步-礼包相关(基本完成, 尚未测试) 2017-09-15 14:22:40 +08:00
235a13855b 用户数据同步相关 2017-09-14 20:03:47 +08:00
acec42c6af 光环助手V3.0(9月12日测试包) 2017-09-14 17:16:33 +08:00
6d009eddf5 test tinker 2017-09-14 16:54:17 +08:00
b0dde281ea 相关数据关联UserDataEntity, 统一在Interceptor添加token 2017-09-14 15:23:08 +08:00
1e7d43bc72 优化6.0权限, 快传部分权限先搁置 2017-09-14 11:54:19 +08:00
8576a1edaf test patch 2017-09-13 19:24:26 +08:00
5dc97d2191 add test 2017-09-13 19:12:48 +08:00
a32b45e067 fix conflict 2017-09-13 18:31:41 +08:00
ff8210c72b proxy app logic 2017-09-13 18:27:11 +08:00
85031e89b6 Android 6.0及以上 权限适配 2017-09-13 18:23:55 +08:00
f2676532ce test fresco 2017-09-13 17:58:18 +08:00
7a996ee8f4 test fresco 2017-09-13 17:50:04 +08:00
d09e28d653 fix fresco crash 2017-09-13 17:08:24 +08:00
e446f4190f remove crash button 2017-09-13 16:57:34 +08:00
f53534b803 add crash button 2017-09-13 16:40:49 +08:00
fb6792f71b add crash button 2017-09-13 16:40:37 +08:00
5d66d55db1 remove crash me 2017-09-13 16:19:40 +08:00
d3bdd48425 test 2017-09-13 16:07:33 +08:00
c89f675ccf remove uncaught handler 2017-09-13 16:02:30 +08:00
f0b989d20e add crash button 2017-09-13 15:54:18 +08:00
3b950b6b28 fix extend 2017-09-13 15:47:37 +08:00
d10a0f956e fix crash 2017-09-13 15:11:41 +08:00
2317228642 test tinker patch 2017-09-13 14:47:08 +08:00
78a4571a8a Merge remote-tracking branch 'origin/dev' into merge 2017-09-12 15:03:56 +08:00
c7b16ce91b fix npe 2017-09-12 15:02:46 +08:00
2e84aeaccf 9月7日测试包 UI部分完成 2017-09-12 10:52:17 +08:00
49e9a532b8 Merge remote-tracking branch 'origin/dev' into merge 2017-09-11 15:37:45 +08:00
47f7d70cfb fix apiservice 2017-09-11 15:37:31 +08:00
a3b03efcbe Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-09-11 10:44:47 +08:00
814d4faf3e 9月7日测试包 UI部分未完成 2017-09-11 10:44:30 +08:00
c487dc2f03 fix webview focus issue 2017-09-08 15:22:40 +08:00
f552a06bd7 1、takingdata升级,精简无用的组件,480kb->220kb
2、数据统计部分整理,切勿更改数据统计和错误上报任何顺序
3、依赖整理
2017-09-08 11:58:56 +08:00
4de5593802 9月7日测试包 部分修复 2017-09-08 11:04:45 +08:00
4294e9f98d 最新礼包合并 2017-09-07 16:13:23 +08:00
05a911f1e3 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-09-07 16:06:08 +08:00
464f8d7851 最新礼包重做完成 2017-09-07 16:05:26 +08:00
370b07be31 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-09-07 14:32:30 +08:00
cb49c71279 check entrance 2017-09-07 14:32:20 +08:00
f637fb9596 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-09-06 17:01:27 +08:00
5c8072cc9e 完善礼包最新页面(未完成), 9.5测试需求 2017-09-06 17:00:59 +08:00
40cd057c28 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-09-06 16:18:52 +08:00
0bcd37c1f1 礼包最新页面修改实现逻辑(未完成), 9.5测试需求 2017-09-06 14:37:10 +08:00
6fce6fd80b Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-09-06 10:43:50 +08:00
bc13a6056d update gradle.properties to use https 2017-09-06 10:43:13 +08:00
00879964e4 3.0Bug修复/UI优化/礼包优化
暂时未解决:礼包页面切换时,礼包搜索条自动顶上去/LibaoEntity getId和getLibaoId混乱
2017-09-05 11:57:19 +08:00
64711d6175 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/java/com/gh/base/AppController.java
2017-09-04 10:54:35 +08:00
0d3704f55d 3.0bug优化,3.0UI问题汇总,3.0礼包问题.部分未完成需要检查 2017-09-04 10:52:21 +08:00
0856eed7fc update lglibrary 2017-09-03 17:13:23 +08:00
8efaa9e724 1、更改build variant,debugCompile,确保正式打包不包含debug类库
2、支持按照debug/release简单区分更多代码逻辑
2017-09-03 17:11:04 +08:00
98983ff4eb 关注操作成功时才改变按钮状态 2017-08-29 11:52:04 +08:00
0ae36ed7a7 完善token重试逻辑和多设备登录 2017-08-28 16:58:39 +08:00
8e8b20c3dd 光环助手V3.0(8月24日)测试包问题汇总 2017-08-25 17:40:17 +08:00
82e2aa45c6 更新登录相关错误码 多设备登录提示优化(没效果) 2017-08-25 10:47:15 +08:00
e4be47e7e7 部分UI调整,优化登录模块 2017-08-23 17:48:42 +08:00
404c605a1e 优化开服表(主要是单个游戏开服点下载是非常卡,修复后还是有点卡),把首页控制台的消息提示红点移到我的光环 2017-08-22 10:51:23 +08:00
4966d85634 新开服表(默认定位未完成,等待根据游戏id获取开服信息接口) 2017-08-20 17:47:53 +08:00
043eebf013 修改获取token逻辑,以及处理token 401问题 2017-08-18 11:25:28 +08:00
3b521ddd08 首页-游戏插件化模块改成可伸缩,user部分接口移到api(关注) 2017-08-16 16:00:42 +08:00
bd74d3a1a3 底部点击回到顶部(首页-游戏),闪退重启出现提示框 2017-08-15 11:30:04 +08:00
0dc867ce64 重做登录页面(普通登录和老用户登录) 2017-08-14 17:19:41 +08:00
dde08e2d67 老用户登录,token过去处理,登录模块优化 2017-08-14 15:17:26 +08:00
3c5871526d 登录签名认证 专题列表开服时间格式更改  收藏优化 2017-08-10 10:20:35 +08:00
49f4ba2da8 同步最后修改2.6代码 2017-08-01 17:10:47 +08:00
77b660576a 登录验证(还不行) 2017-08-01 16:43:59 +08:00
a15ab62f03 收藏相关(文章检查是否修改未完成) 2017-07-28 18:32:29 +08:00
c65250973c fix okhttp retry logic 2017-07-24 16:36:16 +08:00
d5872aad55 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
# Conflicts:
#	app/src/main/java/com/gh/base/AppController.java
2017-07-23 18:42:41 +08:00
9d27bba6fd 增加流量统计(尚未完善) 2017-07-23 18:36:45 +08:00
caeecce50b add okhttp request retry logic 2017-07-21 19:58:03 +08:00
f6c82dd767 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-07-21 18:21:16 +08:00
f88205f957 消息页面入口移到我的光环 2017-07-21 18:19:59 +08:00
3a0a4726b9 fix host and gradle vars 2017-07-21 10:11:30 +08:00
a113fc1c73 优化登录流程,修复2.6已知的BUG 2017-07-20 18:04:38 +08:00
92d122b0a3 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-07-19 11:24:15 +08:00
d96a2d22e0 增加收藏页面,优化登录流程 2017-07-19 11:21:42 +08:00
8d96b9fe7f add init submodule scripts 2017-07-19 10:25:17 +08:00
fdf7bdd64d 修改用户信息(更换头像未完成) 2017-07-18 15:43:02 +08:00
4f4c90f792 对接测试登录流程(第三方登录以及手机号码登录) 2017-07-18 10:43:38 +08:00
f42674ed6f add dev/public host product flavors 2017-07-14 17:15:05 +08:00
e66b697663 修改域名为ghzs666 2017-07-14 16:45:00 +08:00
a21e40a4f1 Merge branch '3.0' of gitlab.ghzhushou.com:halo/assistant-android into 3.0 2017-07-10 17:03:06 +08:00
03dd58ca41 .. 2017-07-10 17:00:41 +08:00
6f3827db15 Merge branch '3.0' of gitlab.ghzhushou.com:halo/assistant-android into 3.0
# Conflicts:
#	app/src/main/java/com/gh/common/util/GetLoginDataUtils.java
#	app/src/main/java/com/gh/gamecenter/LoginActivity.java
2017-07-10 17:00:22 +08:00
fd2b333bc7 fix weibo webview proguard 2017-07-10 16:37:18 +08:00
ba3e882f47 微信获取登录数据成功回调,登录模块优化 2017-07-10 16:22:13 +08:00
b9a80e12a8 patch viewpagerfragment for onactivityresult callback 2017-07-10 16:07:38 +08:00
979ee209dd Merge branch '3.0' of gitlab.ghzhushou.com:halo/assistant-android into 3.0 2017-07-10 15:01:39 +08:00
10b1380aad 1、下载模块部分重构
2、整理actionbar高度问题,测试toolbar,暂时未启用
3、sharedpreference使用default文件
2017-07-10 14:35:32 +08:00
b239407c25 模拟对接登录接口已经登录流程(未完成) 2017-07-07 19:31:58 +08:00
475221a011 debug和release生成对应域名 2017-07-07 14:36:15 +08:00
658ee78213 分离build/release key 2017-07-07 10:46:23 +08:00
5244fe73ea 1、处理release debug build区分 2017-07-07 10:43:29 +08:00
243e024d1a 修复友盟推送初始化异常,ImageUtils代码转换kotlin 2017-07-06 19:50:40 +08:00
5930996e1c 修复插件平台图片(旧版本)无法更新问题, 优化登录 2017-07-06 09:10:44 +08:00
a05e6917b8 更改弹出软键盘时移动布局方法(防止软键盘挡住布局),以适配个别手机计算错误 2017-07-05 15:09:51 +08:00
d05e9e57c3 实体类全部转换成kotlin 2017-07-04 17:07:12 +08:00
1b88e9c238 ... 2017-07-03 19:51:51 +08:00
ce32b8d63a Merge remote-tracking branch 'origin/3.0' into 3.0 2017-07-03 10:04:15 +08:00
2bc26c9046 接入微信登录, 增加个人信息编辑页面,我的光环增加自动检测更新,登录页面增加新老用户切换 2017-07-03 09:58:54 +08:00
714a64975f 1、对下载器任务的状态变化修改
2、对下载器内部的handler的消息屏蔽,pause的修改,剩余download roll未改动。
2017-07-02 09:49:21 +08:00
7a6354e781 Merge remote-tracking branch 'origin/3.0' into 3.0 2017-06-30 17:30:03 +08:00
5f11c2d0b6 接入微信登录, 增加个人信息编辑页面,我的光环增加自动检测更新,登录页面增加新老用户切换 2017-06-30 17:29:43 +08:00
9c6814482d 1、downloadmangeractivity逻辑改动到viewpager fragment 2017-06-30 11:44:23 +08:00
94a5736939 fix data error in gameentity 2017-06-29 16:36:27 +08:00
bc496d8277 update lib 2017-06-29 16:00:32 +08:00
2b23665cb5 fix entity 2017-06-29 15:59:36 +08:00
1d1c9666dc Merge remote-tracking branch 'origin/3.0' into 3.0 2017-06-29 11:27:21 +08:00
1b14f3f608 微博登录改动 2017-06-29 11:27:07 +08:00
d370e817c0 update lib 2017-06-29 11:25:06 +08:00
ea4c6c95a1 Merge branch '3.0' of gitlab.ghzhushou.com:halo/assistant-android into 3.0
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/adapter/CommentDetailAdapter.java
#	app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java
#	app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java
2017-06-29 11:23:47 +08:00
f97ccd5c5d 1、更改部分下载类,未完成
2、@#&@*#
2017-06-29 11:17:01 +08:00
0b2a672f2d Merge remote-tracking branch 'origin/3.0' into 3.0
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java
2017-06-28 18:09:08 +08:00
f960b07ee1 涉及到用户操作的加上登录验证, 把评论点赞抽离成工具方法 2017-06-28 18:06:36 +08:00
5cbf06f6a6 1、回退umeng push版本到3.1.1
2、catch umeng初始化。
2017-06-28 11:06:50 +08:00
70ea517a3a update LGLibrary, fix libaodetail entrance 2017-06-28 10:12:48 +08:00
957305d6f5 抽离详情页面下载模块(已完成) 2017-06-28 09:53:03 +08:00
bbd1d429a6 Merge remote-tracking branch 'origin/3.0' into 3.0 2017-06-27 16:31:48 +08:00
56ba47a844 抽离详情页面下载模块(新闻详情已完成) 2017-06-27 16:31:27 +08:00
8101d394a8 fix conflict 2017-06-27 16:28:33 +08:00
496144f8ad 1、统一下载逻辑,下一步准备移动到通用类库
2、修复viewimageactivity npe
2017-06-27 16:27:51 +08:00
4cbee71636 fix submodule 2017-06-26 18:57:09 +08:00
7aed643eba fix conflict 2017-06-26 18:38:16 +08:00
829da52101 更换新版Dialog,微博获取用户信息 2017-06-26 18:27:36 +08:00
9dd449c2ef 1、移动公用文件、样式到libraries/LGLibrary
2、请使用git submodule foreach git pull更新代码
2017-06-26 16:35:36 +08:00
f78bdaa358 mv BaseRecyclerAdapter to lib 2017-06-26 15:16:00 +08:00
16236e1361 remove weibo lib 2017-06-26 15:12:18 +08:00
8e52d45037 fix build script 2017-06-26 14:57:33 +08:00
2246670487 1、移除libraries/LGLibrary,使用submodule替代,具体使用方式参考README.md
2、更新readme.md的说明
3、添加CHANGELOG.md文件,用于保存版本更新记录
2017-06-26 14:48:16 +08:00
cde325198e 登录模块界面 2017-06-26 09:20:08 +08:00
faa0710fd5 ... 2017-06-22 16:28:54 +08:00
d1bb27ad6b 雷达扫描动画GIF 用自定义View实现 2017-06-22 16:28:08 +08:00
8f1f679077 修改代码遗留问题 2017-06-22 15:05:11 +08:00
b632cbba0f 命名规则 2017-06-22 11:08:22 +08:00
de438e90c4 大于两个的if分支,使用switch 2017-06-21 20:54:12 +08:00
7a3b1d4dbe viewpager滑动时,tab无法同步问题 2017-06-21 17:17:35 +08:00
44e9b4da4d Activity 统一入口 2017-06-21 12:03:27 +08:00
559710b4b4 部分Intent.putExtras参数传递实体类 用Parcelable来处理, 修复游戏插件下载闪退 2017-06-20 18:29:49 +08:00
a05c5b4976 登录页面 2017-06-20 09:30:49 +08:00
51cfe767ee 合并冲突 2017-06-19 11:30:25 +08:00
0891e78b8d Merge remote-tracking branch 'origin/3.0' into 3.0
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java
2017-06-19 11:06:16 +08:00
5c834ec09c gradle引入weiboSDK,接入第三点登录(QQ、微信、微博(未完善)), 我的光环改版 2017-06-19 11:05:16 +08:00
fc5b6ae4e4 1、处理viewpager fragment
2、将MainActivity管理的逻辑移到MainFragment,MessageFragment,NewsFragment同理,
3、处理首页ViewPager等手动计算size的问题
4、添加一堆ScaleXXXView,可以用来设定View本身的比例大小

TODO
1、将DownloadManagerActivity也处理成Fragment
2、其他界面也慢慢处理成Fragment
2017-06-17 15:52:42 +08:00
5e668d9e13 fix deprecated 2017-06-16 16:12:28 +08:00
b3d63c5698 1、处理viewholder
2、处理adapter
3、
2017-06-16 15:39:45 +08:00
079c160268 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-06-16 14:11:25 +08:00
f5425c2bea 1、统一所有fragment初始化流程,继承自BaseFragment
2、统一大部分viewholder
3、TODO fragment adapter viewholder的分包还没处理完成
2017-06-16 14:11:18 +08:00
8c4967abc4 Merge remote-tracking branch 'origin/dev' into dev 2017-06-15 17:28:03 +08:00
8dd069b38d 切换正式接口 2017-06-15 17:27:49 +08:00
1160fb999e 修改mta接入,然而貌似并没有什么卵用
禁用tcagent的uncaught exception 上报
2017-06-15 17:24:16 +08:00
948329f79e 0614小问题优化 2017-06-14 20:02:12 +08:00
a61ef37a22 Merge remote-tracking branch 'origin/dev' into dev 2017-06-14 18:23:10 +08:00
66e8de06f0 gif移到assets 2017-06-14 18:22:26 +08:00
b5c3daea0c fix conflict 2017-06-14 18:20:08 +08:00
ba70ecc063 1、修复验证码出现的各种奇葩问题和崩溃,传入activity作为显示,但不持有引用
2、增加重试机制,3次获取不成功才失败。
3、修复okhttp Response返回非HTTPException导致的NPE
2017-06-14 18:19:25 +08:00
3b1145133a 1、修复验证码textview 初始化崩溃的bug
2、修复验证码返回时activity 已被销毁仍然弹窗导致的崩溃
2017-06-14 16:46:38 +08:00
3e0e4caa0c 专题头图增加跳转 2017-06-14 11:22:41 +08:00
a55a969588 修复部分bug 2017-06-13 09:25:40 +08:00
8b46435808 增加eventbus混淆 2017-06-12 15:08:48 +08:00
1a6966e522 EventBus版本升级(旧版的lib未删) 2017-06-09 16:08:19 +08:00
2fcee4cea0 优化代码,删除无用文件 2017-06-08 14:55:29 +08:00
223b7c6069 修改平铺专题实现方法, 修复资讯关注推荐小板块BUG,版本升至2.6 2017-06-07 10:25:30 +08:00
771946918a 工具想搜索关注的游戏优先, 开服表修改显示逻辑 2017-06-05 11:20:06 +08:00
d7e113108b 修复部分BUG,工具箱增加搜索功能 2017-05-31 20:39:18 +08:00
e3d9fac1b0 修改游戏详情协调布局的实现方法 2017-05-28 18:36:58 +08:00
7c78109bf2 整理专题合并,首页游戏列表和专题列表增加游戏标签 2017-05-28 16:10:33 +08:00
b7ccf66418 合并专题Acticity 2017-05-28 15:08:50 +08:00
8c5265f9b5 对接工具箱接口,工具箱详情增加分享功能 2017-05-27 16:46:02 +08:00
e81bbf5195 增加平铺游戏专题(缺少数据借口) 2017-05-26 11:44:39 +08:00
f219b62fcc 工具箱(为对接数据接口),解决footeritem高度不一问题和开服表闪退问题 2017-05-25 09:54:21 +08:00
6347260522 修复模拟器闪退问题,增加DEBUG推送appid和appkey 2017-05-24 10:13:27 +08:00
9fe80cfb66 Merge remote-tracking branch 'origin/dev' into dev 2017-05-23 14:35:05 +08:00
62975e5e1b .... 2017-05-23 14:34:56 +08:00
9b4e62149f add umeng debug 2017-05-23 14:30:15 +08:00
8643a12744 new Thread用RxJava或者线程池代替 2017-05-22 09:07:18 +08:00
9369218821 reformat code & optimize import & rearrange code 2017-05-19 10:54:56 +08:00
0c1b48cee2 规范部分Thread 2017-05-19 10:47:43 +08:00
5865fdbd23 调整界面 2017-05-19 09:23:09 +08:00
6b5fe82d47 1、修复url匹配正则
2、部分onclick处理
3、代码整理
2017-05-18 12:05:25 +08:00
49624d5afd 修改游戏详情插件介绍实现方法(页面视图在XML创建,解决展开时位置移动) 2017-05-18 11:49:55 +08:00
a92de9ffa0 切换接口 2017-05-17 19:52:01 +08:00
d4133cc51d Merge remote-tracking branch 'origin/dev' into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/SuggestionActivity.java
2017-05-17 18:35:37 +08:00
611068a9b0 修复意见反馈提示顺序混乱问题 2017-05-17 18:32:51 +08:00
7930ecaea9 fix entrance 2017-05-17 18:28:26 +08:00
3c72080802 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-05-17 18:19:03 +08:00
4c762a1aa8 1、统一了entrance
2、统一了部分跳转intent,传参返回intent
3、修改出dialogfragment
4、clipboardmanager等处理
2017-05-17 18:18:46 +08:00
4f99477d83 修改游戏详情空白页优化, 开服表修改部分显示规则和增加滑动动画 2017-05-17 14:47:00 +08:00
6d4de6795e 优化汇总(20170513)补充 2017-05-16 17:43:59 +08:00
4f8b93cb6a 优化代码 2017-05-15 18:21:07 +08:00
48a4aefe96 Merge remote-tracking branch 'origin/dev' into dev 2017-05-14 17:54:02 +08:00
dc530be9be V2.5优化汇总(20170513) 2017-05-14 17:53:36 +08:00
bb5e9e739b fix td npe 2017-05-12 15:53:43 +08:00
7264249ef8 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-05-12 15:46:57 +08:00
5eb5f6807e 1、使用新的渠道打包方案,将渠道值写入到已经签名的apk上面,具体参考README.md
2、将各种第三方工具使用的appid、key和渠道值改成用gradle.properties的配置方式
2017-05-12 15:46:46 +08:00
8bb50a6e2c 游戏详情部分位置和显示方式修改 2017-05-12 11:39:31 +08:00
7b7987b574 部分代码整理 2017-05-11 14:55:54 +08:00
a209edc181 Merge remote-tracking branch 'origin/dev' into dev 2017-05-10 18:24:19 +08:00
e744a475c3 插件包增加隐藏状态(只能识别到插件化) 2017-05-10 18:24:02 +08:00
b280e1bf89 add shrinkresources & resconfig in order to reduce apk size 2017-05-10 16:26:55 +08:00
decb763a5f filter unused abi 2017-05-10 16:07:40 +08:00
28f685ae10 fix wrong arg in compress_resources.sh 2017-05-10 15:45:16 +08:00
6270d59f3f Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-05-10 15:23:02 +08:00
11c6f33392 1、升级support v4 系列到24.1.0
2、增加混淆配置,release默认启用
2017-05-10 15:22:50 +08:00
a75b613744 Merge remote-tracking branch 'origin/dev' into dev 2017-05-09 18:25:06 +08:00
ccca070dd2 修改礼包倒数领取规则 2017-05-09 18:24:45 +08:00
bd2ce2e82d 1、升级umeng push到3.1.1a,解决通知栏持续运行中的问题
2、fix game adapter
2017-05-09 18:17:28 +08:00
a88c920ef0 Merge remote-tracking branch 'origin/dev' into dev 2017-05-08 18:37:07 +08:00
6aee2ae6b9 ProgressBar固定样式(防止5.0以上样式改变),修改SwitchButton样式 2017-05-08 18:36:45 +08:00
0ec14da2ac 1、修复AppController push被禁用的问题
2、修复deprecated api call, Resources.getColor()
2017-05-08 17:41:58 +08:00
375f538bc1 1、fix skipactivity/baseappcompatactivity potential npe
2、fix appcontroller logic
2017-05-08 15:22:57 +08:00
1c6907373b 直接导入的swipelayout无法适应需求,直接源码导入进行修改 2017-05-08 14:58:53 +08:00
64fe9048f0 Merge remote-tracking branch 'origin/dev' into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/LibaoDetailActivity.java
2017-05-05 18:25:14 +08:00
c96193b3d0 代码整理 2017-05-05 18:24:37 +08:00
b1035c24bc resolve conflict 2017-05-05 18:21:21 +08:00
d69e75480e 1、将所有Activity统一到一个base(主题AppCompatTheme),layout和contentView统一处理
2、MainActivity tab切换方式的重构
3、下一步更改toolbar实现方式,然后再是尽量用fragment替换
2017-05-05 18:12:51 +08:00
4da12055e9 优化字符串叠加 2017-05-05 17:11:05 +08:00
7ca9272fe7 提取activity title到strings.xml 2017-05-05 10:23:13 +08:00
5f0bf827ae 游戏专题自动获取专题名称 2017-05-04 16:21:25 +08:00
87cd020e94 调整资讯位置 2017-05-04 15:15:44 +08:00
4fd7095fbf Merge remote-tracking branch 'origin/dev' into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.java
2017-05-04 14:44:24 +08:00
c1ebcf33e5 引入design包,游戏专题改版 2017-05-04 14:42:36 +08:00
d0f72a8d96 1、修改autoscrollviewpager/swipelayout为gradle引用
2、添加google iosched部分ui类
2017-05-04 11:59:54 +08:00
6e5ac76b52 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev 2017-05-04 11:49:03 +08:00
8ae3b93307 文章详情webview链接跳转修改 2017-05-04 11:48:34 +08:00
7246e06973 Merge remote-tracking branch 'origin/dev' into dev 2017-05-03 16:44:04 +08:00
0ae824b9f5 合并 2017-05-03 16:43:15 +08:00
deee22b6db Merge remote-tracking branch 'origin/dev' into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/CleanApkActivity.java
#	app/src/main/java/com/gh/gamecenter/MessageDetailActivity.java
#	app/src/main/java/com/gh/gamecenter/VoteActivity.java
#	app/src/main/java/com/gh/gamecenter/adapter/LibaoDetailAdapter.java
#	app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java
#	app/src/main/java/com/gh/gamecenter/adapter/VoteAdapter.java
#	app/src/main/java/com/gh/gamecenter/libao/Libao1FragmentAdapter.java
#	app/src/main/java/com/gh/gamecenter/libao/Libao2FragmentAdapter.java
#	app/src/main/java/com/gh/gamecenter/libao/Libao3FragmentAdapter.java
#	app/src/main/java/com/gh/gamecenter/message/CommentFragmentAdapter.java
#	app/src/main/java/com/gh/gamecenter/news/News1FragmentAdapter.java
2017-05-03 16:32:10 +08:00
c8e01182f4 1、fix splashscreen test
2、fix multidex lib
3、add stetho
2017-05-03 16:14:49 +08:00
dec6bd6779 产品优化汇总 2017-05-03 16:09:14 +08:00
b00b791107 启动屏幕部分逻辑修改 2017-05-02 17:15:37 +08:00
4db2b1cc29 retrofit2.adapter.rxjava.HttpException修改为retrofit2.HttpException 2017-05-02 10:44:23 +08:00
471ebb3b6e icon-default问题修改 2017-05-02 10:39:10 +08:00
e057b6530b confirem修改为confirm 2017-05-02 10:28:04 +08:00
b5328324f8 产品测试汇总 2017-04-29 17:25:37 +08:00
18aa853948 fix color back 2017-04-28 16:37:08 +08:00
c8559bd36a Merge branch 'dev' of git.oschina.net:dreamhua/GH-ASSISTv1.45 into dev 2017-04-28 16:13:44 +08:00
b71e717da1 1、提取xml的字符串和部分java文件的字符串到strings.xml
2、提取color到colors.xml
2017-04-28 16:13:32 +08:00
60677b36f6 沉浸栏颜色修改 2017-04-28 14:32:42 +08:00
339d32b1dd 推荐位数据收集修改 2017-04-28 11:53:11 +08:00
9432e34571 reformat code & optimize import & reorder entries 2017-04-27 14:27:17 +08:00
153f33f44b 1、所有引用整理到从dependencies.gradle文件,部分库做了升级
2、添加httplogginginteceptor记录网络请求情况
2017-04-27 14:15:05 +08:00
fc2f20ee6e Merge branch 'dev' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into dev
Conflicts:
	app/src/main/java/com/gh/gamecenter/MainActivity.java
2017-04-26 15:59:44 +08:00
cfa70feac5 应用上报 2017-04-26 15:56:19 +08:00
6a851f7247 应用数据上报 2017-04-26 15:55:53 +08:00
khy
a0cae1b7b8 游戏详情接入游戏推荐(大家都在玩),优化代码 2017-04-26 15:34:58 +08:00
khy
5798ba9e89 Merge remote-tracking branch 'origin/dev' into dev 2017-04-25 19:17:20 +08:00
khy
919e3c386d 增加MessageService(更改域名), 取消显示公告 2017-04-25 19:16:58 +08:00
e85bb40904 Merge remote-tracking branch 'origin/dev' into dev 2017-04-25 18:45:28 +08:00
d23a2df809 1、systembar tint/switchbutton/mipush做了更新整理
2、部分跳转常量整理
3、工程结构整理,基本国内几个sdk解决完了
2017-04-25 18:45:10 +08:00
khy
b9185cce15 合并整理 2017-04-25 14:53:57 +08:00
khy
c14605b598 Merge remote-tracking branch 'origin/dev' into dev
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/adapter/PlatformAdapter.java
#	app/src/main/java/com/gh/gamecenter/adapter/VoteAdapter.java
2017-04-25 14:35:03 +08:00
khy
68c2f3c754 对接求版本投票数据接口, 礼包重复领取优化 2017-04-25 14:29:58 +08:00
2725a59826 基本处理完成recyclerview adapter 2017-04-25 13:16:16 +08:00
khy
9ef8f5d1f2 Merge remote-tracking branch 'origin/dev' into dev 2017-04-25 10:17:18 +08:00
khy
39cd66032d 修改Handler 在 ondestroy时 remove全部消息,Context获取的Manager,改为Application Context持有,游戏列表增加开服信息 2017-04-24 19:14:47 +08:00
ee53e7218f add so files. 2017-04-24 18:49:17 +08:00
72a1cded27 fix so libs 2017-04-21 18:08:40 +08:00
3295b6a7b7 fix gradle version 2017-04-21 17:45:13 +08:00
4f64325f2b fix conflict 2017-04-21 17:08:36 +08:00
de9c9cbdcb 整理工程结构,library配置未完全抽离出来 2017-04-21 16:59:29 +08:00
khy
1fe9e259b4 消息页面对接数据接口, 礼包重复领取,删除无用文件 2017-04-21 16:32:44 +08:00
6b4f68128b fix gitignore 2017-04-21 14:34:12 +08:00
khy
8b637fbeec ... 2017-04-14 16:36:22 +08:00
khy
7267535ccf Merge remote-tracking branch 'origin/2.5' into 2.5
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.java
2017-04-14 16:15:19 +08:00
khy
8f99987696 游戏求版本功能(未对接接口), 文章详情优化(文章内容跳转未做),消息中心(未接接口),首页资讯改版,跳转意见反馈规则汇总 2017-04-14 16:07:36 +08:00
khy
515473e5dc 新版游戏详情,我的光环, 反馈页面。 专题增加标签 2017-04-02 17:18:00 +08:00
8b83e939ce 搜索数据收集 2017-03-28 16:44:00 +08:00
c71bd36de2 推荐位数据收集 2017-03-28 14:57:51 +08:00
9fdc8f0da3 修改版本为2.5,版本号20 2017-03-28 14:57:08 +08:00
khy
8ba099024e 去卡片化, 开服表, 首页游戏-资讯改版,游戏专题增加标签(还差一个接口) 2017-03-22 15:25:05 +08:00
khy
e656acec1d 2.4 进入下载页面默认跳转至游戏下载 2017-03-15 11:22:11 +08:00
khy
6fa4994e04 2.4-封包 2017-03-15 10:15:36 +08:00
khy
a929706219 Merge remote-tracking branch 'origin/2.4' into 2.4 2017-03-13 10:21:43 +08:00
khy
62effd1cc1 修复关注游戏时获取key失败, 游戏右划分享增加成绩单 2017-03-13 10:21:21 +08:00
417b597d1d 添加启动安装或卸载时5分钟的监听(扫描本地包,检查指定包是否存在或不存在) 2017-03-13 10:18:38 +08:00
2fabb9013a 更新package.txt 2017-03-10 11:04:11 +08:00
835dcc6446 https CA证书 2017-03-10 11:02:00 +08:00
khy
fba0a6ec71 更改换默认头像规则, 快传安装游戏后清空消息栏消息 2017-03-08 10:01:56 +08:00
khy
9a2f4c984c 光环助手V2.4优化汇总(20170302) 2017-03-07 09:46:54 +08:00
khy
d870e68001 Merge remote-tracking branch 'origin/2.4' into 2.4 2017-03-02 14:37:18 +08:00
khy
8e7fcfb746 防止礼包页面软键盘导致的闪屏 2017-03-02 14:36:40 +08:00
a995e132f3 暂时不为image url 增加webp后缀 2017-03-02 11:29:45 +08:00
6b9921c5a7 去除无用import 2017-03-02 11:26:24 +08:00
75695812ee 代码合并 2017-03-02 11:23:19 +08:00
eae0414cb4 插件标签修改,tinker接入 2017-03-02 10:28:41 +08:00
khy
7b203bedfc 界面优化 增加历史礼包(有未解决BUG)和关于页面 2017-03-02 10:25:45 +08:00
khy
da20b817d2 快传成绩单 - 热点优化 2017-02-24 15:11:00 +08:00
khy
ef1f2251b5 快传增加连接动画 安装包清理优化遍历apk方法防止内存溢出, 页面优化 2017-02-22 10:17:54 +08:00
c907835ce7 对接接口 game/digest/tags,更改api版本号为v2d4 2017-02-17 10:31:43 +08:00
3be623dd63 image url 统一添加?x-oss-process=image/format,webp后缀 2017-02-16 17:18:33 +08:00
khy
045c1e0305 快传优化以及增加传完继续传的功能, 增加8个默认头像(未与服务器交互) 2017-02-15 19:01:24 +08:00
c292e79d94 DownloadItemUtils.updateItem 参数简化 2017-02-13 11:31:52 +08:00
khy
cb54d87daf 快传(接收方图片缩略图尚需改进, 连接断开处理尚需改进),安装包清理, 网页传网页乱码未解决 2017-02-10 10:33:09 +08:00
a29c0bd466 新版apk package过滤机制 2017-02-09 17:39:16 +08:00
khy
575ba33e43 分享光环(普通分享和热点网页分享) 2017-02-07 17:06:32 +08:00
khy
30bb750d94 解决搜索页面点下载软键盘不发收起来问题 2017-01-25 10:10:12 +08:00
c045d4e2cc Merge branch '2.3' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.3
Conflicts:
	app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java
2017-01-20 17:14:07 +08:00
b2d568d646 entrance检查与统一 2017-01-20 17:11:03 +08:00
khy
22c2b47506 解决更新游戏平台不显示问题,我的光环已安装列表文案不匹配问题 2017-01-20 16:41:56 +08:00
khy
2ddaf3ee66 修复弹窗文案显示不全问题和游戏检查更新接口拼凑错误问题 2017-01-19 15:18:07 +08:00
khy
d4dbee023e Merge remote-tracking branch 'origin/2.3' into 2.3 2017-01-17 11:06:35 +08:00
khy
560c34afed 首页专题模块不盖住轮播图 2017-01-17 11:06:08 +08:00
b3fc66f6b9 Merge branch '2.3' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.3 2017-01-16 12:28:43 +08:00
0ca70316dc findviewbyid简化 2017-01-16 12:28:15 +08:00
dd0f475944 换一换算法修复 2017-01-16 12:27:12 +08:00
khy
80bb4a1888 礼包验证切换正式接口 2017-01-13 11:17:21 +08:00
khy
d7e72a96f9 领取礼包增加验证 2017-01-12 19:51:06 +08:00
khy
e552987663 .... 2017-01-11 18:15:37 +08:00
khy
33dea97475 Merge remote-tracking branch 'origin/2.3' into 2.3
# Conflicts:
#	app/src/main/java/com/gh/common/util/LibaoUtils.java
2017-01-11 18:11:26 +08:00
khy
4cbaae1567 礼包提示文案修改 2017-01-11 18:07:02 +08:00
a8a9e58fe9 Response的onFailure参数修改为HttpException 2017-01-11 12:00:20 +08:00
khy
93ec154b7e Merge remote-tracking branch 'origin/2.3' into 2.3
# Conflicts:
#	app/src/main/java/com/gh/common/util/ConcernUtils.java
2017-01-09 17:54:16 +08:00
khy
ed71d3e348 优化汇总(20170106),礼包相关优化补充(20170104), 快速点击弹窗按钮可能会出现卡死 2017-01-09 17:51:38 +08:00
62fb61a8bb 优化网络劫持检测机制 2017-01-09 17:34:56 +08:00
de75e67de7 Merge branch '2.3' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.3 2017-01-09 11:53:41 +08:00
4fc10d360a 跳转修改 2017-01-09 11:53:13 +08:00
khy
40615976e1 Merge remote-tracking branch 'origin/2.3' into 2.3
# Conflicts:
#	app/src/main/res/layout/game_normal_item.xml
2017-01-04 16:33:40 +08:00
khy
c6bd428c46 专题入口界面调整 2017-01-04 16:32:32 +08:00
95000d718a ,,, 2017-01-04 16:27:02 +08:00
1e077a7b0c Merge branch '2.3' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.3
Conflicts:
	app/src/main/java/com/gh/base/GHPushMessageReceiver.java
	app/src/main/java/com/gh/base/GHUmengNotificationClickHandler.java
	app/src/main/java/com/gh/common/util/PostCommentUtils.java
	app/src/main/java/com/gh/gamecenter/MainActivity.java
	app/src/main/res/layout/fragment_personal.xml
	app/src/main/res/layout/game_test_item.xml
2017-01-04 16:26:10 +08:00
659d6fc263 项目修改与整理 2017-01-04 16:16:34 +08:00
khy
d56fa926d2 issues 优化汇总(20161230), 文章详情加强评论功能,礼包功能补充(20161226) + 新增活跃的统计(未完成) 2017-01-04 15:32:10 +08:00
321121d5ef 修改getToken 2016-12-30 09:24:54 +08:00
a50b4ba041 Merge branch '2.3' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.3
Conflicts:
	app/src/main/java/com/gh/common/util/LibaoUtils.java
2016-12-30 09:24:11 +08:00
94b4d730e3 修改getToken逻辑 2016-12-29 17:50:12 +08:00
khy
f4a946f5e2 解决本次合并冲突 2016-12-29 15:15:09 +08:00
khy
23a062abea Merge remote-tracking branch 'origin/2.3' into 2.3
# Conflicts:
#	app/src/main/java/com/gh/common/util/LibaoUtils.java
#	app/src/main/java/com/gh/gamecenter/db/info/LibaoInfo.java
#	app/src/main/java/com/gh/gamecenter/entity/GiftEntity.java
#	app/src/main/java/com/gh/gamecenter/libao/Libao3FragmentAdapter.java
#	app/src/main/java/com/gh/gamecenter/retrofit/ApiService.java
2016-12-29 14:53:21 +08:00
khy
986f67adf6 新闻详情增加评论列表 游戏列表增加礼包标识 2016-12-29 14:35:44 +08:00
750c73fef9 重命名gift为libao 2016-12-29 11:37:16 +08:00
419a4d830f 重命名gift为libao 2016-12-29 11:35:32 +08:00
814daa5d3c 添加libao.ghzhushou.com域名 2016-12-29 10:28:33 +08:00
khy
308bd369bc Merge remote-tracking branch 'origin/2.3' into 2.3
# Conflicts:
#	PushSDK/build/intermediates/bundles/debug/AndroidManifest.xml
#	PushSDK/build/intermediates/bundles/debug/aapt/AndroidManifest.xml
#	PushSDK/build/intermediates/bundles/release/AndroidManifest.xml
#	PushSDK/build/intermediates/bundles/release/aapt/AndroidManifest.xml
#	PushSDK/build/intermediates/bundles/release/classes.jar
#	PushSDK/build/intermediates/manifest/androidTest/debug/AndroidManifest.xml
#	PushSDK/build/intermediates/res/resources-debug-androidTest.ap_
#	PushSDK/build/outputs/aar/PushSDK-debug.aar
#	PushSDK/build/outputs/aar/PushSDK-release.aar
2016-12-28 10:24:29 +08:00
khy
80670a9c4b 界面优化 友盟增加so 2016-12-28 10:20:10 +08:00
c01db35297 同步2.2修改 2016-12-26 17:04:24 +08:00
e8cbbbb4bc Merge branch '2.3' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.3
Conflicts:
	PushSDK/build/intermediates/bundles/debug/classes.jar
	PushSDK/build/intermediates/bundles/release/classes.jar
	PushSDK/build/intermediates/incremental/mergeAssets/androidTest/debug/merger.xml
	PushSDK/build/intermediates/incremental/mergeAssets/debug/merger.xml
	PushSDK/build/intermediates/incremental/mergeAssets/release/merger.xml
	PushSDK/build/intermediates/incremental/mergeResourcesandroidTest/debug/merger.xml
	PushSDK/build/intermediates/incremental/packageResourcesdebug/merger.xml
	PushSDK/build/intermediates/incremental/packageResourcesrelease/merger.xml
	PushSDK/build/intermediates/mockable-android-22.jar
	PushSDK/build/intermediates/res/resources-debug-androidTest.ap_
	PushSDK/build/outputs/aar/PushSDK-debug.aar
	PushSDK/build/outputs/aar/PushSDK-release.aar
2016-12-26 16:13:24 +08:00
b79955107b ... 2016-12-26 15:55:15 +08:00
67e646408b update .gitignore 2016-12-26 15:39:50 +08:00
f2500aeb6e 推送消息跳转 2016-12-26 15:31:21 +08:00
khy
0df714b9ea 合并优化 2016-12-23 16:53:09 +08:00
khy
3ebbb27c3a Merge remote-tracking branch 'origin/2.3' into 2.3
# Conflicts:
#	app/build.gradle
#	app/src/main/java/com/gh/common/util/GiftUtils.java
2016-12-23 16:34:51 +08:00
khy
8e9cf4603c 增加安装指引 2016-12-23 16:28:06 +08:00
khy
be4fc50ae0 友盟SDK 2016-12-23 14:08:49 +08:00
khy
bb8a33f1a8 ... 2016-12-23 11:59:45 +08:00
khy
c9147dc64d Merge remote-tracking branch 'origin/2.3' into 2.3
# Conflicts:
#	.idea/modules.xml
2016-12-23 11:57:31 +08:00
khy
aabca8f771 添加友盟推送,升级小米推送 2016-12-23 11:56:02 +08:00
e2e4f53d3e 针对助手2.3版本关注数据的迁移 2016-12-23 11:22:57 +08:00
4b2e3d876b 阴影添加,对接v1d1的user.ghzhushou.com接口 2016-12-23 11:00:40 +08:00
khy
a294484fb9 Merge remote-tracking branch 'origin/2.3' into 2.3
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/ShareCardPicActivity.java
#	app/src/main/res/layout/gamedetail_item_gift.xml
2016-12-22 20:56:50 +08:00
khy
8e0892498e 卡片分享根据链接生成二维码 2016-12-22 20:51:12 +08:00
khy
d571081625 礼包优化 2016-12-22 17:38:10 +08:00
46668e32f6 Merge branch '2.3' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.3
Conflicts:
	app/src/main/java/com/gh/gamecenter/MainActivity.java
2016-12-21 17:20:23 +08:00
627f513da0 解决代码合并后的问题 2016-12-21 17:16:45 +08:00
5b5c87a07b 代码合并 2016-12-21 17:15:55 +08:00
khy
df1eec07e5 。。。。 2016-12-21 10:53:09 +08:00
khy
3f98bcea33 优化礼包模块 2016-12-21 10:41:48 +08:00
11ac9f5f3e 统一数据收集 2016-12-19 16:33:55 +08:00
khy
66816e1a4c 增加礼包模块(未完成) 2016-12-18 18:06:53 +08:00
920bacd5aa 修改HomeFragment 2016-12-14 10:59:35 +08:00
f05f95dc41 切换CountDownLatch用Observable.merge 2016-12-13 15:30:02 +08:00
8b0faa57aa 去除CardView 2016-12-13 11:11:53 +08:00
e29741cf17 Merge branch '2.3' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.3
Conflicts:
	app/src/main/java/com/gh/gamecenter/MainActivity.java
	app/src/main/java/com/gh/gamecenter/adapter/SubjectAdapter.java
2016-12-12 16:54:45 +08:00
3cbc850d12 项目整理 2016-12-12 16:34:19 +08:00
khy
70e12db7b7 界面优化 2016-12-12 11:52:48 +08:00
khy
3b5f921c01 首页改版, 游戏专题优化(游戏主页actionbar下载数没同步) 2016-12-09 18:33:23 +08:00
khy
3c0b56c99a 合并修正 2016-12-06 17:29:44 +08:00
khy
ce841476ae Merge remote-tracking branch 'origin/2.3' into 2.3
# Conflicts:
#	app/src/main/java/com/gh/common/util/PostCommentUtils.java
#	app/src/main/java/com/gh/gamecenter/retrofit/ApiServiceImpl.java
#	app/src/main/java/com/gh/gamecenter/retrofit/CommentService.java
#	app/src/main/java/com/gh/gamecenter/retrofit/CommentServiceImpl.java
2016-12-06 17:18:18 +08:00
khy
110e7c9c29 新的攻略页面-完成 2016-12-06 17:12:44 +08:00
khy
4f0f1672c7 评论举报功能-完成 2016-12-06 17:06:00 +08:00
b18146f699 同步2.2
解决非apk2、download开头的https导致的无法下载问题
解决跳转意见反馈无content问题
2016-12-06 16:05:47 +08:00
c7ceb5cf82 去除volley 2016-12-05 18:43:58 +08:00
d02a136e2f Merge branch '2.2' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.2 2016-12-03 16:01:27 +08:00
1a9b23ca10 解决下载存储apk在data/data目录下导致的apk安装解析出错问题 2016-12-03 15:55:42 +08:00
khy
3d82162b4d 修复平台名字为null问题 2016-12-02 17:39:21 +08:00
khy
39a42e224a 换肤微调 2016-12-02 09:39:43 +08:00
khy
f93e5d38f2 修复原创文章闪退bug,换肤文案后台控制 2016-12-01 20:53:47 +08:00
khy
2f4688cb13 Merge remote-tracking branch 'origin/2.2' into 2.2 2016-12-01 14:46:29 +08:00
khy
24c41107d2 修改点赞逻辑,评论数据同步 2016-12-01 14:45:55 +08:00
9eef163e70 https修改 2016-12-01 11:46:09 +08:00
khy
e82f202a17 消息分享图片增加占位符 2016-11-30 11:22:47 +08:00
khy
da8ca7dbfb 合并整理 2016-11-30 10:44:37 +08:00
khy
0fcf70a2bf Merge remote-tracking branch 'origin/2.2' into 2.2
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/MessageDetailActivity.java
#	app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java
#	app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java
2016-11-30 10:39:35 +08:00
khy
68f8bee146 文章详情增加评论入口 2016-11-30 10:29:35 +08:00
e35a0ffc17 问题修复 2016-11-29 10:59:37 +08:00
21f1a161c9 Merge branch '2.2' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.2
Conflicts:
	app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java
2016-11-29 10:59:15 +08:00
a31d2cd28b 去除volley 中TAG的滥用导致无法重复加载同一url,项目整理 2016-11-29 10:49:45 +08:00
47f978a4fa 删除无用文件 2016-11-29 10:47:40 +08:00
c2f2672421 增加跳转意见反馈页面带content参数 2016-11-28 17:25:53 +08:00
aaf6598e43 onSaveInstanceState保存参数 2016-11-28 11:35:03 +08:00
f77a4eb3cb 删除静态searchHint的使用 2016-11-28 11:22:57 +08:00
3435da0124 增加意见反馈页面的跳转支持 2016-11-28 11:21:55 +08:00
d705a3172b 修复无限启动助手问题 2016-11-28 11:20:49 +08:00
khy
82cf8cb877 调用系统短信分享,删除shareSDK 2016-11-24 18:30:34 +08:00
khy
2dabd5492f 版本更新推送增加了一个“从不”的选项,修复微信好友分享不能扫描二维码问题 2016-11-24 17:19:23 +08:00
khy
64827028b5 接入微博分享官方SDK 2016-11-24 11:14:53 +08:00
khy
753ca3abc0 优化软键盘弹出,进入消息详情时定位到评论,修复海马模拟器无法显示评论内容 2016-11-23 12:02:15 +08:00
a6bf61bc48 。。。 2016-11-21 18:54:30 +08:00
0d79bc2600 。。。 2016-11-21 18:51:57 +08:00
3273e9879b 。。。 2016-11-21 18:47:47 +08:00
9c8898faa4 Merge branch '2.2' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.2
Conflicts:
	app/src/main/java/com/gh/common/util/PostCommentUtils.java
	app/src/main/java/com/gh/gamecenter/MessageDetailActivity.java
	app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java
	app/src/main/java/com/gh/gamecenter/entity/UserEntity.java
2016-11-21 18:45:44 +08:00
0ed314ed81 文件修改整理 2016-11-21 18:29:36 +08:00
khy
14fa92e0be Merge remote-tracking branch 'origin/2.2' into 2.2 2016-11-21 18:27:30 +08:00
khy
aeb5346606 消息相关优化汇总1120(3,6未完成) 2016-11-21 18:27:08 +08:00
0ab734f777 添加换肤 2016-11-21 18:21:20 +08:00
72a4b4e267 文件还原 2016-11-21 17:46:28 +08:00
7052c6f68b 文件删除 2016-11-21 17:17:23 +08:00
4beba85de4 Merge remote-tracking branch 'origin/2.2' into 2.2 2016-11-21 17:12:00 +08:00
51edbd9baa 版本回滚到commit 88bb8949dd 2016-11-21 17:08:14 +08:00
khy
e249968662 Merge remote-tracking branch 'origin/2.2' into 2.2 2016-11-21 16:41:07 +08:00
khy
567634c958 亚瑟王换肤 2016-11-21 16:40:28 +08:00
2a92c10777 修改下载按钮文案显示逻辑,修改多版本显示顺序逻辑,更换引导图 2016-11-21 11:27:27 +08:00
7c801366ef 一键修复下载成功跳转至首页 2016-11-21 09:27:54 +08:00
bbffe7737b 修复搜索界面崩溃bug 2016-11-21 09:07:20 +08:00
khy
88bb8949dd 消息webView下载跳转自带浏览器,分享卡片修复图片混乱 2016-11-18 18:32:21 +08:00
d7d9027afa Merge branch '2.2' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.2
Conflicts:
	app/src/main/java/com/gh/gamecenter/MessageDetailActivity.java
	app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java
2016-11-18 11:27:01 +08:00
khy
1917462ea3 成功添加评论后,修改资讯-关注列表评论数缓存。修复点赞复用bug 2016-11-17 19:43:10 +08:00
4c69888938 消息详情代码整理 2016-11-17 17:47:38 +08:00
639ca433a2 提取FragmentAdapter为独立类 2016-11-17 16:25:03 +08:00
khy
44c1a2adb6 成功添加评论后,更新资讯-关注评论数 2016-11-17 09:34:10 +08:00
6369c480f9 Merge branch '2.2' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.2
Conflicts:
	app/src/main/java/com/gh/gamecenter/news/News1FragmentAdapter.java
2016-11-16 19:17:12 +08:00
b2a7de0a72 去掉viewMap,在实体中添加views解决
修复部分问题
2016-11-16 19:13:40 +08:00
khy
19825aa844 解决插件弹窗平台图片大小不一致问题 2016-11-16 16:42:51 +08:00
khy
14ece26b85 编辑评论时增加提示文案 2016-11-16 14:31:54 +08:00
9a17352156 Merge branch '2.2' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.2
Conflicts:
	app/src/main/java/com/gh/common/util/PostCommentUtils.java
2016-11-16 14:28:56 +08:00
b9eb8de88a 解决token 401问题 2016-11-16 14:22:07 +08:00
khy
04cfbcb7e4 调整评论,消息分享,关闭下载的游戏不要隐藏下载按钮 2016-11-16 12:08:26 +08:00
d74d91532b 添加网页跳转助手支持 2016-11-16 11:44:33 +08:00
khy
f28a54506e 解决冲突 2016-11-16 10:22:06 +08:00
khy
b6797131e7 Merge remote-tracking branch 'origin/2.2' into 2.2
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java
#	app/src/main/java/com/gh/gamecenter/news/News1FragmentAdapter.java
#	app/src/main/java/com/gh/gamecenter/news/NewsConcernViewHolder.java
#	app/src/main/res/layout/news_digest_item.xml
2016-11-16 10:11:25 +08:00
khy
20a5f25901 评论和分享优化, 设置增加“自动关注”的开关选项 2016-11-16 09:19:02 +08:00
6ccc3e5cc6 添加首页轮播图数据统计 2016-11-14 19:01:27 +08:00
9eb68e641c 增加游戏详情和文章详情的插件游戏的下载按钮显示状态 2016-11-14 14:30:43 +08:00
3f5a94e710 修改后台或用户打开下载后不会再回到关闭下载的状态 2016-11-14 14:08:42 +08:00
22e51f1216 news模块修改(完成) 2016-11-14 13:58:02 +08:00
7060c906a7 TAG问题修复 2016-11-11 21:17:30 +08:00
e61c265418 Merge branch '2.2' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.2
Conflicts:
	app/src/main/java/com/gh/common/util/MessageShareUtils.java
2016-11-11 21:16:54 +08:00
1149751ae4 news模块修改2(未完成) 2016-11-11 21:13:41 +08:00
khy
d35a798a80 解决冲突代码 2016-11-11 18:31:27 +08:00
khy
175b07875a Merge remote-tracking branch 'origin/2.2' into 2.2
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/adapter/viewholder/FooterViewHolder.java
#	app/src/main/java/com/gh/gamecenter/news/News1FragmentAdapter.java
2016-11-11 18:25:23 +08:00
khy
8cb2ecd113 消息评论功能 基本完成 2016-11-11 18:17:09 +08:00
362de65b36 Merge branch '2.2' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.2 2016-11-09 19:10:06 +08:00
c753663079 news模块修改(未完成) 2016-11-09 19:09:30 +08:00
khy
f243d98094 Merge remote-tracking branch 'origin/2.2' into 2.2 2016-11-09 10:07:12 +08:00
d711a9a14c 增加timestamp,缓存机制,和404处理 2016-11-08 18:58:14 +08:00
khy
e399a81ee3 完成消息分享功能 2016-11-08 16:33:01 +08:00
f030f88029 提交Retrofit网络架构(未完成) 2016-11-07 18:58:15 +08:00
54f2959d6a 提取DATA_HOST 2016-11-07 11:25:56 +08:00
d5a63da257 Merge branch '2.2' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.2 2016-11-07 10:56:56 +08:00
2a09f39fdb . 2016-11-07 10:56:25 +08:00
khy
61a22cc910 更换框架 2016-11-05 18:52:04 +08:00
7c3a8fda4b 解决downloadOffText从digest中获取的bug,应该从detail中获取 2016-11-05 10:42:20 +08:00
khy
c8ff5bf624 版本升级到2.2 2016-11-04 17:31:15 +08:00
dfd791ffb5 解决handleMessage中getActivity()为null崩溃bug 2016-11-04 17:11:39 +08:00
345800ba25 解决mac为:::::导致的bug 2016-11-04 17:01:20 +08:00
4c3a5492c7 去除Hotfix热更模块 2016-11-04 16:51:09 +08:00
khy
7862426144 光环助手更新数据统计 2016-11-01 09:59:03 +08:00
6e196262a5 10.31 push 2016-10-31 09:57:59 +08:00
11abd6d60f 下载事件统计,添加该游戏已安装数 2016-10-28 11:23:42 +08:00
54df9912eb Merge branch '2.1' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.1 2016-10-28 09:00:14 +08:00
b46e1f3291 解决安装游戏不显示在已安装列表问题 2016-10-28 08:59:53 +08:00
khy
98eb063ea1 增加摘要字段 2016-10-27 19:21:10 +08:00
khy
ac29a19ee8 增加关注资讯摘要判断 2016-10-27 19:12:44 +08:00
khy
553d005ed0 Merge remote-tracking branch 'origin/2.1' into 2.1 2016-10-27 19:01:09 +08:00
khy
96e59d764a 游戏截图支持缩放 2016-10-27 19:00:34 +08:00
cb3c3eb046 更新提示Dialog 修改 2016-10-27 11:45:26 +08:00
8d50f12886 dialog xml 添加白色背景 2016-10-27 10:40:52 +08:00
c8821f2f54 屏蔽“光环助手”游戏 的下载 2016-10-26 18:11:44 +08:00
b3e2f3545d 修复部分bug 2016-10-26 18:03:09 +08:00
383b7bce21 添加防止重复奔溃导致的助手重复重启 2016-10-26 14:59:28 +08:00
ab9a8fd106 修改错误上传逻辑,修改第一次启动判断字段 2016-10-26 10:54:43 +08:00
2954260722 合并 2016-10-25 18:44:01 +08:00
6f78ba604f 添加自动恢复一次下载 2016-10-25 18:21:51 +08:00
4471d95482 文件整理,删除无用资源 2016-10-25 16:39:11 +08:00
khy
929038fc30 更换引导图 2016-10-25 16:30:46 +08:00
khy
c2cf64dfa0 Merge remote-tracking branch 'origin/2.1' into 2.1
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/news/News4Fragment.java
2016-10-25 14:56:42 +08:00
khy
719177b816 初始化关注 2016-10-25 14:50:14 +08:00
190296e533 ... 2016-10-25 11:34:32 +08:00
f1f33112fc Merge branch '2.1' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.1
Conflicts:
	app/src/main/java/com/gh/common/util/DialogUtils.java
	app/src/main/java/com/gh/gamecenter/news/News4Fragment.java
2016-10-25 11:34:00 +08:00
b1fdeeef65 ... 2016-10-25 11:31:42 +08:00
63b8e9551c ... 2016-10-25 11:29:50 +08:00
f6758d4d3a ... 2016-10-25 11:25:06 +08:00
e873b539eb ... 2016-10-25 11:24:31 +08:00
95a3d7b494 ... 2016-10-25 11:23:48 +08:00
1578925613 ... 2016-10-25 11:23:27 +08:00
f3ee2d2cf0 添加downloadOffText,检查下载上传数据是否完整 2016-10-25 09:32:39 +08:00
khy
39d71f3627 优化界面 2016-10-24 17:48:20 +08:00
khy
e52caa013d 优化游戏截图 2016-10-24 10:03:13 +08:00
18d88ab298 Merge branch '2.1' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.1 2016-10-21 18:54:24 +08:00
khy
b768f5f661 优化占位符 2016-10-21 18:47:32 +08:00
b756410982 去除无用import 2016-10-21 18:03:31 +08:00
bcc58481ed Merge branch '2.1' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.1
Conflicts:
	app/src/main/java/com/gh/gamecenter/CropImageActivity.java
	app/src/main/java/com/gh/gamecenter/MainActivity.java
	app/src/main/java/com/gh/gamecenter/news/News4Fragment.java
	app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java
2016-10-21 18:03:01 +08:00
2c6fd5d0d8 添加BitmapUtils 2016-10-21 17:38:14 +08:00
24238acf0e 检查for循环中的remove,检查response的length != 0 2016-10-21 16:44:40 +08:00
khy
089399307f 取消点击图片背景 2016-10-21 16:13:23 +08:00
khy
385d9155f7 Merge remote-tracking branch 'origin/2.1' into 2.1 2016-10-21 16:09:46 +08:00
khy
6eaef8388b 切换Fresco框架 2016-10-21 16:09:06 +08:00
3100d6aede Merge branch '2.1' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.1 2016-10-20 14:24:17 +08:00
35b62c2bc6 添加安装游戏后检查是否可以进行插件化功能、检查GamEntity getEntryMao方法返回null判断 2016-10-20 14:23:56 +08:00
ded2fcdc7d 添加链接为空的情况处理 2016-10-19 15:22:24 +08:00
0479cfca18 添加链接404 Not Found 处理 2016-10-19 14:16:22 +08:00
4f0a2dd3c8 插件化判断修改 2016-10-19 11:49:17 +08:00
khy
e082ad97ac 增加打开QQ临时会话Dialog 2016-10-19 11:33:41 +08:00
40d8f17ce7 统一ITEM TYPE 2016-10-19 10:58:48 +08:00
khy
140f876164 资讯-关注,推荐关注小版块功能更改(推荐关注游戏改为已安装的游戏+光环助手) 2016-10-18 09:29:18 +08:00
khy
5fa0fa8d17 Merge branch '2.1' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.1 2016-10-17 10:53:14 +08:00
da8ac35932 解决搜索的游戏无apk还显示下载按钮的问题 2016-10-16 09:25:10 +08:00
9e6491b86b 去除无用import 2016-10-14 18:45:22 +08:00
fcdb0e3d80 解决recommendGameList为null奔溃bug 2016-10-14 18:36:55 +08:00
e42e4ee96d Merge branch '2.1' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.1 2016-10-14 18:28:07 +08:00
a9d42403d9 我的关注热门游戏推荐添加已安装但未关注的游戏推荐 2016-10-14 18:27:53 +08:00
561dd33044 解决两个游戏具有相同包名apk导致的问题 2016-10-13 18:14:30 +08:00
khy
c5618bb3db 资讯列表,大图布局调整 2016-10-13 18:05:58 +08:00
khy
d9f5ba517d 调整资讯-关注-推荐小版块布局 2016-10-13 15:25:27 +08:00
054ceda63a 修改时间戳添加方式 2016-10-13 11:07:17 +08:00
ad0efd98ff 更换获取更新接口 2016-10-13 10:59:08 +08:00
khy
f0b473db2c issues97:资讯-关注的内容为空时,增加推荐关注的小板块 2016-10-12 18:54:18 +08:00
58324c5d24 添加批量添加关注方法 2016-10-12 18:33:44 +08:00
82d960c586 添加点击"下载中"跳转到下载管理定位到相应位置 2016-10-11 16:48:19 +08:00
ec9219ac7f 修改暂停的下载也算下载 2016-10-11 14:41:59 +08:00
28e7bd5304 统一HOST版本号 2016-10-11 11:35:12 +08:00
4e4c2cd788 统一USER_HOST 2016-10-11 10:46:55 +08:00
896c4e980c 添加下载状态通知功能 2016-10-11 10:07:04 +08:00
4262ec7386 非插件游戏不显示platform 2016-10-10 16:35:40 +08:00
08744c55ce 退出时,添加检查是否有已下载完成游戏,有则提示安装 2016-10-10 15:32:16 +08:00
6031161452 添加游戏下载的开始时间和完成时间 2016-10-10 15:08:12 +08:00
55c657aba6 资讯-关注图片添加点击事件,点击缩略图是直接全屏查看大图 2016-10-10 11:51:37 +08:00
c4e01140a2 解决反馈重复发送问题 2016-10-10 09:43:48 +08:00
c9cdf51b51 2.1正式开始 2016-10-09 15:57:24 +08:00
de3ab708e9 2.0正式封包 2016-10-09 15:18:33 +08:00
52f2dd22f2 统计下载出错log 2016-10-09 15:18:32 +08:00
8aa90935d8 解决上传头像文件时服务器返回403抛异常无法获取返回流问题 2016-10-09 15:18:17 +08:00
b8ae608d79 解决新闻详情点击分享图标奔溃问题 2016-10-09 15:18:16 +08:00
15070aab45 解决测试标签溢出换行问题 2016-10-09 15:18:16 +08:00
khy
9fb2da406a 优化https下载 2016-10-08 17:10:58 +08:00
khy
4488726b12 Merge remote-tracking branch 'origin/2.1' into 2.1 2016-10-08 14:36:58 +08:00
khy
6ade459c40 https忽略证书认证 2016-10-08 14:36:21 +08:00
47914f94ac 修复部分bug 2016-09-29 18:32:55 +08:00
e5e6a07e24 下载按钮修改为默认开 2016-09-29 09:41:19 +08:00
dda8fe032c 多页加载数据的页面,添加去除重复数据机制 2016-09-28 19:30:31 +08:00
09a0eabc48 url添加Timestamp逻辑修改 2016-09-28 18:47:14 +08:00
6546b580e9 增加打包渠道 2016-09-28 17:57:15 +08:00
93521840bc 数据收集添加device_id字段 2016-09-28 17:56:38 +08:00
5f2b84d88c 更换检查更新接口和控制下载按钮状态接口 2016-09-28 17:55:25 +08:00
794784e253 2.1正式开始 2016-09-28 08:47:51 +08:00
96bfeda954 2.0正式封包 2016-09-28 08:42:13 +08:00
ada909ec8a 下载被删除事件逻辑判断修改 2016-09-27 18:28:00 +08:00
5064a76aa5 DownloadDialog整理 2016-09-27 18:23:05 +08:00
20cc2f478f 我的光环,无安装、无关注时页面显示逻辑修改 2016-09-26 22:35:31 +08:00
f818e4033d notifyItemRemoved、notifyItemInserted使用检查 2016-09-26 22:07:45 +08:00
0736fc6b91 plugin、subject页面添加监听下载被删除事件 2016-09-26 19:05:37 +08:00
7bef401e6a 屏蔽删除下载时的notifyItemRemoved,该为notifyDataSetChanged 2016-09-26 18:32:47 +08:00
ea51e5e443 解决推送新闻崩溃问题 2016-09-26 18:24:19 +08:00
eccc0eb167 2.1版本开始 2016-09-26 16:55:09 +08:00
afa3f1d705 2.0封包 2016-09-26 16:23:59 +08:00
ce94de1214 MainActivity整理 2016-09-24 18:34:47 +08:00
3d3b596962 广播跳转助手逻辑修改 2016-09-24 16:50:50 +08:00
b42e0df218 Merge branch '2.0' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.0
Conflicts:
	app/src/main/java/com/gh/gamecenter/MainActivity.java
	app/src/main/java/com/gh/gamecenter/receiver/ActivitySkipReceiver.java
2016-09-24 15:57:21 +08:00
7da78b6e4a 插件化安装按钮显示背景修改,下载添加是否是插件字段 2016-09-24 15:55:03 +08:00
khy
0b63f8d4a2 Merge remote-tracking branch 'origin/2.0' into 2.0 2016-09-24 15:18:07 +08:00
khy
1aa9ddbb48 微调布局 2016-09-24 15:16:03 +08:00
5e44460112 处理下载网络异常导致的奔溃问题,和奔溃后进入助手下载状态显示错误问题 2016-09-23 18:14:20 +08:00
39350b2cfb 去掉MainActivity的entryMap、uninstallMap,使用下载是添加packageNam来进行获取DownloadEntity 2016-09-23 14:49:44 +08:00
154f7b5a54 已安装游戏判断空逻辑修改,修复RecyclerView的Inconsistency detected.问题 2016-09-22 22:43:28 +08:00
94adc2c922 启动页面图片替换,启动页面修改,修复部分问题 2016-09-22 19:06:38 +08:00
80e8ca0c36 解决冲突 2016-09-22 08:56:11 +08:00
358a3f84e6 Merge branch '2.0' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.0
Conflicts:
	app/src/main/java/com/gh/gamecenter/PluginActivity.java
	app/src/main/java/com/gh/gamecenter/adapter/PluginAdapter.java
2016-09-22 08:55:53 +08:00
7629d9f429 修改插件化界面获取插件化游戏逻辑 2016-09-21 22:02:48 +08:00
da87e974f4 Merge branch '2.0' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.0 2016-09-21 18:48:44 +08:00
6cd2397b27 修改下载统计事件的entrance 2016-09-21 18:48:26 +08:00
khy
d053fc9fea 微调布局 2016-09-21 18:26:32 +08:00
khy
979a4b808b Merge remote-tracking branch 'origin/2.0' into 2.0 2016-09-21 16:28:58 +08:00
khy
bdfda12d68 增加接受插件广播的接收器 2016-09-21 16:28:25 +08:00
c8211dbdd8 修改Queue的TAG为static fianl 对象(cancelQueue中判断的条件为TAG为统一对象才可取消) 2016-09-21 14:16:50 +08:00
4a0332a948 去除无用import 2016-09-21 09:00:08 +08:00
c17f13d467 去除无用import 2016-09-21 08:59:49 +08:00
khy
9efa6f163d DetailActivity 添加QQ分享回调 2016-09-20 18:49:40 +08:00
khy
560dee201f Merge remote-tracking branch 'origin/2.0' into 2.0
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/GameDetailActivity.java
2016-09-20 18:36:56 +08:00
khy
f6371537ed QQ 和 微信分享添加回调 ,Issue #79 分享功能问题汇总(2) 2016-09-20 18:34:09 +08:00
5a31813a45 Merge branch '2.0' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.0 2016-09-20 18:29:35 +08:00
384af8a9db 细节修复、部分bug修复 2016-09-20 18:29:19 +08:00
khy
186f594d1d Merge remote-tracking branch 'origin/2.0' into 2.0 2016-09-20 11:17:58 +08:00
khy
497cd6a494 解决微信分享图片太大无法分享和出现黑框问题,优化界面 2016-09-20 11:17:40 +08:00
471afcf0be 去处无用import 2016-09-19 22:29:25 +08:00
8724d3eff7 统一新闻详情底部栏——DetailActivity 2016-09-19 22:28:10 +08:00
29ba7a512e 细节修复、部分bug修复 2016-09-19 18:53:04 +08:00
9fbd5ee72b 去除无用资源 2016-09-19 15:31:54 +08:00
ed867884b0 登录后才能修改昵称、头像 2016-09-19 13:32:15 +08:00
8019b22fc4 添加第一次启动注册设备 2016-09-19 13:26:34 +08:00
0bcef534d0 Merge branch '2.0' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.0
Conflicts:
	app/src/main/java/com/gh/common/util/TokenUtils.java
2016-09-19 13:25:54 +08:00
69033c0657 修复插件化问题 2016-09-19 13:07:47 +08:00
khy
63c86bbacb 优化存储和获取DeviceID 2016-09-19 12:00:20 +08:00
khy
251e19d751 Merge remote-tracking branch 'origin/2.0' into 2.0 2016-09-19 09:52:51 +08:00
khy
12279501b4 布局优化,存储和获取DeviceID 2016-09-19 09:52:08 +08:00
3c512273f0 游戏详情添加开服信息 2016-09-18 18:20:57 +08:00
597651248a 解决小米4无法画间隔问题 2016-09-18 16:57:13 +08:00
a80c577f1f 添加修改用户头像,昵称 2016-09-18 11:57:01 +08:00
a09c8e329a Merge branch '2.0' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.0 2016-09-14 20:22:38 +08:00
2174451e97 修改用户头像为CircleImageView 2016-09-14 20:22:22 +08:00
khy
ee562eb3b7 修改属性名 2016-09-14 18:00:20 +08:00
khy
03e05b3e35 Merge remote-tracking branch 'origin/2.0' into 2.0
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/GameDetailActivity.java
#	app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java
#	app/src/main/res/layout/gamedetail_item_top.xml
2016-09-14 17:56:32 +08:00
khy
385a206f6b 增加QQ,微信独立分享,界面优化 2016-09-14 17:46:18 +08:00
202a78526c 安装完游戏自动关注游戏 2016-09-14 17:21:29 +08:00
eb7fe78410 搜索数据收集 2016-09-14 16:31:28 +08:00
e0f79490eb 劫持数据上传、删除Concern...Request.java 2016-09-14 15:59:18 +08:00
1acf79baae 数据收集createdOn时间获取修改、添加game_id字段(在有game字段的地方) 2016-09-14 11:43:39 +08:00
405056cbd3 新闻详情整理、我的光环界面修改 2016-09-13 18:48:30 +08:00
fc68b9add5 DownloadEntry修改为DownloadEntity 2016-09-13 07:23:02 +08:00
d95d5d5e6b 添加安装、卸载游戏处理 2016-09-09 19:52:53 +08:00
69d86affd0 解决合并后的bug 2016-09-09 18:31:02 +08:00
9f5374f4fd Merge branch '2.0' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.0
Conflicts:
	app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java
	app/src/main/res/drawable/progressbar_normal_radius_style.xml
	app/src/main/res/layout/fragment_news.xml
	app/src/main/res/layout/plugin_container_fragments.xml
2016-09-09 18:27:32 +08:00
f858ba0b70 整理 2016-09-09 18:23:54 +08:00
khy
b9a2374f8f Issue :游戏详情-插件介绍显示优化 2016-09-09 16:47:22 +08:00
khy
73c0af47db Merge remote-tracking branch 'origin/2.0' into 2.0
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/GameDetailsActivity.java
#	app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java
2016-09-09 10:34:21 +08:00
khy
72f62b595d Issue 68:游戏详情优化汇总 2016-09-09 10:30:14 +08:00
5316164f00 Merge branch '2.0' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.0 2016-09-09 08:28:49 +08:00
a14646d2e2 游戏详情、新闻详情下载按钮的修改 2016-09-09 08:28:24 +08:00
1135334a95 资讯-关注页面整理 2016-09-08 22:24:03 +08:00
5462167d85 gamedetails_item_loading修改为gamedetail_item_loading 2016-09-08 18:50:33 +08:00
b7c3856785 Merge branch '2.0' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.0 2016-09-08 18:48:56 +08:00
92ad0838e7 游戏详情整理、Config.isShow()修改 2016-09-08 18:48:22 +08:00
khy
ae405d54d5 修改轮播图点的选中颜色 2016-09-08 16:50:38 +08:00
khy
d9ea9cf1ba Merge remote-tracking branch 'origin/2.0' into 2.0
# Conflicts:
#	app/src/main/res/drawable-hdpi/home1_selected.png
#	app/src/main/res/drawable-hdpi/home1_unselected.png
#	app/src/main/res/drawable-hdpi/home2_selected.png
#	app/src/main/res/drawable-hdpi/home2_unselected.png
#	app/src/main/res/drawable-hdpi/home3_selected.png
#	app/src/main/res/drawable-hdpi/home3_unselected.png
#	app/src/main/res/drawable/oval_hint_dn.xml
#	app/src/main/res/drawable/oval_hint_up.xml
#	app/src/main/res/layout/activity_main.xml
2016-09-08 16:46:13 +08:00
khy
5c4a65d278 Issue UI优化汇总完成 2016-09-08 16:37:32 +08:00
cbc543b981 修改多版本下载时,使用移动网络的提示方式 2016-09-08 11:05:56 +08:00
a22f59aab6 去掉setClickable 2016-09-08 09:19:12 +08:00
9b7c5e7756 去掉setClickable 2016-09-08 09:18:42 +08:00
e2591a54d6 DataWatcher修改 2016-09-08 09:11:22 +08:00
9180089787 Merge branch '2.0' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.0 2016-09-07 18:52:30 +08:00
bd892a4cf1 解决final int position导致的bug 2016-09-07 18:52:21 +08:00
khy
1dd895ebef 修复微信好友和微信朋友圈无法分享问题(正式打包生效) 2016-09-07 18:17:22 +08:00
khy
c416adc980 Merge remote-tracking branch 'origin/2.0' into 2.0 2016-09-07 11:29:59 +08:00
khy
6737b17e43 修正游戏和新闻大图显示不全问题 2016-09-07 11:27:48 +08:00
3300d61a53 修改下载管理相关文件名、修复查看大图单击无法退出问题、资讯-攻略去重导致的奔溃bug 2016-09-07 11:23:27 +08:00
defbbc7b44 资讯-关注添加阅读量 2016-09-07 09:50:04 +08:00
a77e1ebf61 搜索为空提示修改、排序数字居中修改 2016-09-06 18:35:59 +08:00
6834be0909 合并 2016-09-06 18:21:27 +08:00
9d3640f6b9 Merge branch '2.0' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.0
Conflicts:
	app/src/main/java/com/gh/gamecenter/GameDetailsActivity.java
2016-09-06 18:21:13 +08:00
4e392eeb14 根据issues整理项目 2016-09-06 18:15:41 +08:00
khy
4ce778f76f 修复下载BUG,修复资讯-关注BUG,修改游戏详情-资讯攻略标签背景 2016-09-06 17:49:46 +08:00
khy
160bb20eed Merge remote-tracking branch 'origin/2.0' into 2.0 2016-09-06 10:24:19 +08:00
khy
27c73369da 分享文案修改 2016-09-06 10:23:01 +08:00
6cbb033326 统一gameMap、statusMap 2016-09-05 18:57:16 +08:00
khy
bfd31516ba 分享模块,下载合集微调 2016-09-05 11:14:24 +08:00
da664e5869 文件整理、修改 2016-09-04 18:35:43 +08:00
cae1f78025 Merge branch '2.0' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.0 2016-09-02 18:46:12 +08:00
8b282eaf8a 文件整理、修改 2016-09-02 18:40:45 +08:00
b5b65ecd41 Merge branch '2.0' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.0
Conflicts:
	app/src/main/res/drawable/oval_hint_up.xml
	app/src/main/res/layout/game_download_dialog.xml
2016-09-02 18:38:36 +08:00
khy
87b47a9c31 下载合集 修改二级版本背景,微调布局 2016-09-02 18:11:48 +08:00
6dd0c75cdc 文件整理 2016-09-02 17:14:05 +08:00
khy
5f3f2139c1 下载合集删除无用Log 2016-09-02 17:05:22 +08:00
khy
ef97c913cf 下载合集 2016-09-02 16:57:20 +08:00
b1df05ea47 合并后解决冲突、bug 2016-08-31 14:57:45 +08:00
a270946ce2 Merge branch '2.0' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.0
Conflicts:
	app/src/main/java/com/gh/common/util/ImageUtils.java
	app/src/main/java/com/gh/gamecenter/GameDetailsActivity.java
	app/src/main/java/com/gh/gamecenter/game/Game1FragmentAdapter.java
	app/src/main/java/com/gh/gamecenter/game/GameListAdapter.java
	app/src/main/java/com/gh/gamecenter/game/NewGame2FragmentAdapter.java
	app/src/main/java/com/gh/gamecenter/gamedetails/GameDetailsFragment.java
	app/src/main/java/com/gh/gamecenter/gamedetails/GameInformationFragment.java
	app/src/main/java/com/gh/gamecenter/gamedetails/GameStrategyFragment.java
	app/src/main/res/drawable/border_white_bg.xml
	app/src/main/res/layout/game_news_type_list_item.xml
	app/src/main/res/layout/home_consolegame_item.xml
	app/src/main/res/layout/home_game_test_item.xml
2016-08-31 14:46:50 +08:00
efc19441cd 文件整理 2016-08-31 14:41:42 +08:00
khy
803ec482fb 合集 2016-08-31 14:33:10 +08:00
khy
dac71dfd55 游戏新闻,游戏新闻搜索 2016-08-31 14:32:09 +08:00
khy
85b7ebdcc7 Merge remote-tracking branch 'origin/2.0' into 2.0
# Conflicts:
#	app/src/main/AndroidManifest.xml
#	app/src/main/java/com/gh/gamecenter/GameDetailsActivity.java
#	app/src/main/java/com/gh/gamecenter/NewGameDetailsActivity.java
2016-08-31 14:24:53 +08:00
khy
800bc52c0e 游戏-插件,推荐 卡片化。删除旧版游戏详情 2016-08-30 11:35:33 +08:00
d4498fb573 修改提示文本 2016-08-29 18:28:04 +08:00
2bd6c38bf6 游戏新闻界面,去除无用import 2016-08-29 18:05:39 +08:00
5dfbfe6cf5 主页底部按钮修改 2016-08-29 15:24:58 +08:00
f47768b8db 游戏详情页面和新闻详情页面下载进度条去掉暂停继续等操作,变为下载中,直接跳转到下载管理页面 2016-08-29 15:14:11 +08:00
2ba951bb42 Merge branch '2.0' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.0 2016-08-29 14:27:55 +08:00
39733689c6 提示文本修改 2016-08-29 14:27:42 +08:00
khy
c97bdbe203 关注BUG修改 2016-08-29 14:25:10 +08:00
6cfe7ff889 解决下载管理页面点击删除游戏报错 2016-08-29 13:54:34 +08:00
d5763ddbd6 解决合并产生的bug 2016-08-29 12:26:20 +08:00
khy
59ac399f9e 合并 2016-08-29 12:16:41 +08:00
khy
094a96ab78 关注模块,游戏推荐,资讯-关注,全部资讯,新闻搜索 2016-08-29 12:03:08 +08:00
26b5d00a72 主页图标替换 2016-08-29 11:59:24 +08:00
74e281b0c4 合并后解决错误代码 2016-08-29 11:28:23 +08:00
c6bd6e4b0c Merge branch '2.0' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.0
Conflicts:
	app/src/main/java/com/gh/common/util/DialogUtils.java
2016-08-29 10:38:05 +08:00
e3fc761414 游戏-插件页面,未完成 2016-08-29 10:28:33 +08:00
khy
16a65ffa93 游戏详情页面(包括关注工具类) 2016-08-27 18:44:36 +08:00
khy
63f0b0528c 修改弹窗样式(下载提示,插件化安装,正文字号,意见反馈,网络劫持,清除缓存) 2016-08-27 18:17:40 +08:00
khy
000c97881c 资讯,原创页面卡片化,修改新闻类型背景 2016-08-27 17:55:30 +08:00
20e9fcf172 设置界面的switchbutton修改 2016-08-18 15:29:02 +08:00
04851d5df3 设置界面增加 "一键修复下载" 按钮 2016-08-18 12:00:37 +08:00
9c29be3378 意见反馈界面修改 2016-08-18 11:59:56 +08:00
9d1c5a1184 重命名SearchListViewHolder为CardListViewHolder 2016-08-18 10:55:08 +08:00
56f7fd9a31 资讯攻略界面修改 2016-08-18 10:53:10 +08:00
8d9d28e1c9 重命名resue_actionbar.xml 为 reuse_actionbar.xml 2016-08-17 14:14:11 +08:00
47a14dfd40 搜索界面修改 2016-08-17 14:11:15 +08:00
9d0e0f4f2d 圆角角度修改,新增暂停、插件化中等样式 2016-08-16 15:55:01 +08:00
2543736e82 下载管理界面修改 2016-08-16 15:53:44 +08:00
84f8008167 下载进度条显示时,不隐藏标签列表,隐藏des内容 2016-08-15 15:12:04 +08:00
11676bff83 修改代码格式 2016-08-15 15:10:05 +08:00
a7c9ec51ed Merge branch '2.0' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 2.0 2016-08-15 14:21:22 +08:00
d077b6d880 下载显示逻辑修改(去掉继续、暂停,变为下载中,点击跳转下载管理页面),添加下载按钮样式 2016-08-15 14:21:10 +08:00
4ce9e8be3f 修改我的光环界面 2016-08-15 14:17:41 +08:00
khy
b2ee32b4ab 修改设置页面,更改提示更新app弹窗(ps:还有新闻详情页面分享按钮图片) 2016-08-14 16:40:39 +08:00
khy
0b705bd311 更改新闻详情页面 2016-08-14 16:34:34 +08:00
9ae9f307bc 修改首页actionbar 2016-08-12 10:16:48 +08:00
khy
83cbb60cb7 关注页面弹窗样式修改 2016-08-12 10:00:14 +08:00
khy
43d476786f 增加cardview框架,SDK版本提升到21,修改单机页面,修改游戏标签样式,修改下载进度条 圆角变直角 2016-08-12 09:52:07 +08:00
322f13072c 删除Trace,Utils增加log方法 2016-08-12 09:43:20 +08:00
khy
0861208b64 其他APP 跳转到光环助手某个页面 2016-08-12 09:33:57 +08:00
e08b9469d0 去除无用import 2016-08-11 14:16:53 +08:00
c9a7379847 修改log输出方式 - 剩余处理 2016-08-11 14:16:18 +08:00
b211d15b17 修改log输出方式 2016-08-11 14:10:41 +08:00
99cfa2080f 打开调试开关、修改ImageUtils错误参数bug、修改版本号为2.0 2016-08-11 09:15:33 +08:00
39fecb09a7 注释掉域名解析代码、修改.gitignore文件(添加忽略misc.xml文件) 2016-08-01 10:04:41 +08:00
42cbb4f6ec 修改游戏详情退出后奔溃bug 2016-07-25 18:32:05 +08:00
335dac3481 修改资讯-关注无游戏奔溃bug 2016-07-25 17:56:34 +08:00
24014feef0 修改渠道为GH_TEST,去除无用import 2016-07-22 14:23:01 +08:00
f74ae2a8cf 修改插件化提示框显示位置为所有界面,修复卸载后不自动跳安装bug,修复下载量超100%bug,添加打包渠道106 2016-07-22 13:57:11 +08:00
8eca878a8b Merge branch '1.50' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 1.50 2016-07-19 19:03:54 +08:00
khy
33ce47b438 调整游戏模块布局,搜索框索引优化 2016-07-19 19:03:17 +08:00
d2702c9d4a 游戏接口添加timestamp 2016-07-19 17:33:57 +08:00
cbc7a144a4 添加点击事件统计 2016-07-19 17:06:44 +08:00
a9f078865e 压缩启动图 2016-07-19 16:28:42 +08:00
khy
18330df2f0 修改主页轮播点的位置以及大小,修改引导页的启动模式 2016-07-19 16:02:52 +08:00
b0e401bbbd bug修复 2016-07-19 11:04:56 +08:00
1b03e434a7 合并后代码恢复 2016-07-19 09:56:03 +08:00
87c5c5a0d8 Merge branch '1.50' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 1.50
Conflicts:
	app/src/main/java/com/gh/gamecenter/game/Game1FragmentAdapter.java
2016-07-19 09:53:40 +08:00
b915ea01be 专题数据处理 2016-07-19 09:42:06 +08:00
khy
f0f12cf8ff 专题列表增加上拉加载,资讯大图处理,游戏列表优化 2016-07-18 18:27:36 +08:00
303f5b8f58 搜索数据实时上传 2016-07-15 19:14:06 +08:00
bff4d80c27 添加点击新闻-阅读统计 2016-07-15 19:04:16 +08:00
7cbdf69188 2016-07-15 17:56:45 +08:00
58c6a9a5d5 Merge branch '1.50' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 1.50 2016-07-15 15:58:13 +08:00
khy
e0c08e94f3 调整游戏模块布局,搜索框索引优化 2016-07-15 15:38:51 +08:00
15ad3e7d39 修改插件化全部提示逻辑 2016-07-15 15:37:47 +08:00
khy
4ce8d1ea95 修改游戏-插件页面主题名称变色BUG 2016-07-14 15:48:29 +08:00
khy
37af534904 Merge remote-tracking branch 'origin/1.50' into 1.50
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/game/Game1FragmentAdapter.java
2016-07-13 17:39:18 +08:00
khy
8de6a6a789 首页游戏页面布局结构修改,修复HttpDns解析失败无法下载BUG 2016-07-13 17:38:31 +08:00
e033e20dbf 修复单机游戏apk为null奔溃bug 2016-07-12 11:10:57 +08:00
42d0d9c60b 资讯-关注中我的游戏跳转到游戏详情的资讯页面 2016-07-11 18:56:54 +08:00
5559a47f80 Merge branch '1.50' of https://git.oschina.net/dreamhua/GH-ASSISTv1.45 into 1.50 2016-07-11 18:43:55 +08:00
c37c50d0c1 修改插件提示逻辑问题 2016-07-11 18:43:22 +08:00
khy
5b5341f9e1 细节优化,关注右侧增加箭头,关注底部按钮修改样式 2016-07-11 18:28:13 +08:00
khy
848b4e44d5 Merge remote-tracking branch 'origin/1.50' into 1.50
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/NewsActivity.java
2016-07-11 17:29:00 +08:00
khy
fa6cc8dfaf 增加 正文字号设置,加载Gif,Httpdns防止网络劫持,游戏截图横屏修改 2016-07-11 17:26:40 +08:00
3c83b4ad5c 资讯模块、整理完成 2016-07-08 14:10:45 +08:00
6c3e042edc 游戏模块,整理完成 2016-07-07 14:59:23 +08:00
4feff1600e 优化dialog,统一dialog显示 2016-07-06 11:16:37 +08:00
e7f510941f 修改HotcardAdapter为SubjectAdapter 2016-07-06 10:01:54 +08:00
3205 changed files with 208316 additions and 84275 deletions

14
.gitignore vendored
View File

@ -1,7 +1,11 @@
/.idea
.idea/
*.iml
.gradle
/local.properties
.gradle/
local.properties
# sign.properties
.DS_Store
/build
/captures
captures/
build/
release-app/
scripts/apk-channel/
app/src/test/java/com/gh/gamecenter

4
.gitmodules vendored Normal file
View File

@ -0,0 +1,4 @@
[submodule "libraries/LGLibrary"]
path = libraries/LGLibrary
url = git@gitlab.ghzs.com:android/common-library.git
branch = master

1
.idea/.name generated
View File

@ -1 +0,0 @@
GH-ASSISTv1.45

22
.idea/compiler.xml generated
View File

@ -1,22 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<resourceExtensions />
<wildcardResourcePatterns>
<entry name="!?*.java" />
<entry name="!?*.form" />
<entry name="!?*.class" />
<entry name="!?*.groovy" />
<entry name="!?*.scala" />
<entry name="!?*.flex" />
<entry name="!?*.kt" />
<entry name="!?*.clj" />
<entry name="!?*.aj" />
</wildcardResourcePatterns>
<annotationProcessing>
<profile default="true" name="Default" enabled="false">
<processorPath useClasspath="true" />
</profile>
</annotationProcessing>
</component>
</project>

View File

@ -1,3 +0,0 @@
<component name="CopyrightManager">
<settings default="" />
</component>

6
.idea/encodings.xml generated
View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="PROJECT" charset="UTF-8" />
</component>
</project>

28
.idea/gradle.xml generated
View File

@ -1,28 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleHome" value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" />
<option value="$PROJECT_DIR$/buildSrc" />
<option value="$PROJECT_DIR$/hackdex" />
</set>
</option>
<option name="myModules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" />
<option value="$PROJECT_DIR$/buildSrc" />
<option value="$PROJECT_DIR$/hackdex" />
</set>
</option>
</GradleProjectSettings>
</option>
</component>
</project>

46
.idea/misc.xml generated
View File

@ -1,46 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="EntryPointsManager">
<entry_points version="2.0" />
</component>
<component name="NullableNotNullManager">
<option name="myDefaultNullable" value="android.support.annotation.Nullable" />
<option name="myDefaultNotNull" value="android.support.annotation.NonNull" />
<option name="myNullables">
<value>
<list size="4">
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
<item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" />
<item index="3" class="java.lang.String" itemvalue="android.support.annotation.Nullable" />
</list>
</value>
</option>
<option name="myNotNulls">
<value>
<list size="4">
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
<item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
<item index="3" class="java.lang.String" itemvalue="android.support.annotation.NonNull" />
</list>
</value>
</option>
</component>
<component name="ProjectLevelVcsManager" settingsEditedManually="false">
<OptionsSetting value="true" id="Add" />
<OptionsSetting value="true" id="Remove" />
<OptionsSetting value="true" id="Checkout" />
<OptionsSetting value="true" id="Update" />
<OptionsSetting value="true" id="Status" />
<OptionsSetting value="true" id="Edit" />
<ConfirmationsSetting value="0" id="Add" />
<ConfirmationsSetting value="0" id="Remove" />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.7" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
<option name="id" value="Android" />
</component>
</project>

12
.idea/modules.xml generated
View File

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/GH-ASSISTv1.45.iml" filepath="$PROJECT_DIR$/GH-ASSISTv1.45.iml" />
<module fileurl="file://$PROJECT_DIR$/GH-ASSISTv1.50.iml" filepath="$PROJECT_DIR$/GH-ASSISTv1.50.iml" />
<module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
<module fileurl="file://$PROJECT_DIR$/buildSrc/buildSrc.iml" filepath="$PROJECT_DIR$/buildSrc/buildSrc.iml" />
<module fileurl="file://$PROJECT_DIR$/hackdex/hackdex.iml" filepath="$PROJECT_DIR$/hackdex/hackdex.iml" />
</modules>
</component>
</project>

View File

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RunConfigurationProducerService">
<option name="ignoredProducers">
<set>
<option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" />
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" />
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" />
</set>
</option>
</component>
</project>

6
.idea/vcs.xml generated
View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

89
CHANGELOG.md Normal file
View File

@ -0,0 +1,89 @@
# 版本升级备忘
### Ver 2.5
* 此处写本次更新所做的业务和代码修改
### Ver 2.6
* xx
### Ver 3.0
* 升级账号系统(登录流程/用户信息相关/用户账号相关操作(评论,礼包...))
* 新增收藏功能(文章/工具箱)
* 删除用户相关的所有本地数据库
* 重做总开服表
* 重做首页插件化模块
* 礼包重复领取机制改变(可重复领取的礼包,领取后立刻显示再领一个/再淘一个)
* 游戏下载平台面板修改(加快弹出速度,不再读取本地平台图片)
* 接入bugly(tinker)
### VER 3.1
### VER 3.2
### VER 3.3
### VER 3.4
### VER 3.5
### Ver 3.6
* 首页游戏增加预览骨架,游戏ITEM样式微调和开服标签
* 首页问答增加关注页面
* 重构游戏更新管理(游戏更新/插件化/已安装的游戏),具体细节参考PackageRepository & PackageViewModel
* 重构APP更新管理(已VersionVode为更新基准,小版本更新改为光环后台控制)
- 删除TINKER_VERISON_NAME
- tinker打包方式变更(以小版本作为Base包,防止与数据后台小版本更新发生冲突)
* 社区增加版主功能(版主可以对存在的相关内容进行修改/隐藏操作,内容包括问题/回答/回答评论)
* 社区互动引导优化(问答推荐增加`推荐关注`,回答详情增加一些交互动效)
### Ver 3.6.1
* 可以后台控制关闭资讯功能
* 版块、分类、专题详情、游戏详情、礼包详情增加预览骨架
* 下载按钮状态可以通过接口屏蔽相应的包
### Ver 3.6.2
* 资讯/问答入口和插件功能线上控制(不可逆)
* 首页不显示已安装的游戏
* 插件求版本功能增加内部跳转
* 下载面板增加公告和版本说明功能
* 接入腾讯`广点通`(广告)
### ver 3.6.3
* 社区搜索修改
- 增加 `文章/用户` 模块
- 增加 `搜索置顶` 功能
* 回答详情/社区文章详情修改
- 支持文案样式(加粗/斜体/删除线)和段落样式(引用/标题)
- 支持关闭评论功能
- 回答详情新增上下切换回答
* 社区编辑框(回答/文章)修改
- 支持批量插入图片(使用知乎Matisse实现)
- 新增插入特殊样式,文案样式(加粗/斜体/删除线)和段落样式(引用/标题)
* 编辑框部分 JS/CSS 使用远程文件
### ver 3.6.4
* 增加浏览记录(回答/文章/资讯/游戏)
* 回答/社区文章 增加反对功能
* 社区编辑框增加插入文章/回答/游戏
- 低版本兼容方案: 插入的样式默认隐藏,只有在3.6.4及以上才会显示
* 游戏详情评分模块增加`小编评论`区域以及样式修改
* 游戏评分增加回复功能
### var 3.6.5
* 以补丁方式向外推出并没有增加需求只是单纯的修BUG
### var 3.6.6
* 游戏详情:
- 支持修改评分
- 评分列表增加排序/过滤功能
- 增加弹出系统
* 社区相关:
- 选择社区页面重做
- 首页社区推荐增加推荐入口
- 首页社区问题模块改版,名称改为全部,去除问题分类(统一为问题列表),增加社区文章列表
* 游戏搜索默认页面改版
* 权限系统更改,不授权也可以进去App,申请权限细分到功能(用到某个功能时才需要强制授予权限)
* 增加隐私系统
* 增加游戏预约功能
* 增加标签详情模块
* 进入今日头条广告SDK
* 图片上传压缩机制优化
- 支持从后台修改上传配置(本该在早些版本实现,由于代码问题无法引用后台配置)
- 对压缩失败是进行catch(由于后台对宽高配置放宽,很容易发生OOM),失败后直接上传原图(这步可能会出现问题)
* 游戏相关UI修改

69
README.md Normal file
View File

@ -0,0 +1,69 @@
# 光环助手Android客户端
### APK打包配置
* 使用[ApkChannelPackage](https://github.com/ltlovezh/ApkChannelPackage)的方案
* 打包命令,视情况使用:
> 打包Tinker基准包`./scripts/tinker_release_base.sh`
> 以Tinker基准包打渠道包`./scripts/tinker_release_channel.sh`
> 以Tinker基准包打补丁包`./scripts/tinker_release_patch.sh`
### 混淆配置
* 配置文件Android默认配置+proguard-rules.txt等
* 参考libraries下每个项目独立的配置文件`proguard-project.txt`
### apk大小优化
* 限制resConfig资源集
* 开启ShrinkResources
* 开启混淆使用minifyEnabled(仅在release开启
* pngquant对png压缩、png/jpg->webp(未尝试)
### 第三方appkey等配置
* 修改`gradle.properties`文件将各种key填入其中实现统一管理
* 通过gradle文件内的resValue/buildConfigField/manifestPlaceHolder方式实现编译期间修改具体情况请参考``./build.gradle``和``./app/build.gradle``配置
### 拉取代码步骤
1. 拉取主项目代码: `git clone -b dev git@gitlab.ghzhushou.com:halo/assistant-android.git`
2. 初始化公用类库: `bash ./scripts/submodules_init.sh`
### submodule管理方式(只拉取master)
* 提交代码需要cd到submodule文件夹去做修改
* 更新远端代码,`bash ./scripts/submodules_update.sh`
### TODO
* GSON 序列化用统一的一个, GsonUtil fromJson
* CleanApkAdapter 转化字符串size工具函数 比如SpeedUtils
* getString 解决 字符串hardcode问题
* ~~Adapter 里面clicklistener 用接口传参将点击操作委托给controller~~
* ~~Adapter ViewHolder的功能部分重写到ViewHolder类本身~~
* ~~activity 统一入口未完成(外部入口相关)去除多余activity使用统一toolbar~~
* ~~release / debug compile不同的类库不需要再做什么开关~~
* ~~Toolbar分离有图形按钮/没有图形按钮~~
### TODO Since 3.1
- 解决 Utils 工具类引发的内存泄漏问题
- 把原有 EventBus 的消息 Type 统一到一个文件内
- 将实现细节从 View(Fragment、Activity) 剥离并以 MVVM 结构改造
- ~~将 ListViewModel 所对应的 ListRepository 合并到 ListViewModel 中~~
- 依照光环助手界面功能以大模块 - 小模块的方式去修改包结构,包内文件建议以包名摘要作为前缀
- ~~使用 RxJava 的 Debounce 和 Map 操作优化搜索触发机制 参考资料:[1](https://proandroiddev.com/building-an-autocompleting-edittext-using-rxjava-f69c5c3f5a40),[2](https://medium.com/@kurtisnusbaum/rxandroid-basics-part-2-6e877af352)~~
- ~~把 ListViewModel 的数据结构类型转换方式换为抽象方法,让继承的类实现,避免出现无响应的问题~~
- ~~rxjava2 如果接口返回为空 会发生异常:java.lang.NullPointerException: Null is not a valid element (答案编辑) 解决方法->com.gh.gamecenter.retrofit.Response~~
- constraintLayout 1.1.2 导致布局出现异常(问题编辑标签选择弹窗)
- 搞清楚 GameManager 的用途,看能不能去掉
- 重构一下 MainActivity

View File

@ -1,114 +1,359 @@
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android' // kotlin
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
task('processWithJavassist') << {
String classPath = file('build/intermediates/classes/debug')//项目编译class所在目录
dodola.patch.PatchClass.process(classPath, project(':hackdex').buildDir
.absolutePath + '/intermediates/classes/debug')//第二个参数是hackdex的class所在目录
}
// apkChannelPackage
apply plugin: 'channel'
task buildJar(dependsOn: ['compileReleaseJavaWithJavac'], type: Jar) {
baseName = "news"
//后缀名
extension = "jar"
//最终的 Jar 包名,如果没设置,默认为 [baseName]-[appendix]-[version]-[classifier].[extension]
archiveName = "news.jar";
//需打包的资源所在的路径集
def srcClassDir = [project.buildDir.absolutePath + "/intermediates/classes/debug"];
from srcClassDir
//去除路径集下部分的资源
exclude "com/gh/gamecenter/BuildConfig.class"
exclude "com/gh/gamecenter/R.class"
exclude "com/gh/gamecenter/BuildConfig/\$*.class"
exclude "com/gh/gamecenter/R/\$*.class"
//只导入资源路径集下的部分资源
include "com/gh/gamecenter/NewsActivity.class"
include "com/gh/gamecenter/NewsActivity\$*.class"
//注: exclude include 支持可变长参数
}
apply from: 'tinker-support.gradle'
android {
compileSdkVersion 19
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.gh.gamecenter"
minSdkVersion 14
targetSdkVersion 19
versionCode 13
versionName "1.50"
// 默认的渠道
// manifestPlaceholders = [CHANNEL_VALUE: "GH_TEST"]
androidExtensions {
experimental = true
}
/**
* 签名设置
*/
dataBinding {
enabled = true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
dexOptions {
// jumboMode = true
javaMaxHeapSize "4g"
}
defaultConfig {
multiDexEnabled true
javaCompileOptions {
annotationProcessorOptions {
arguments = [eventBusIndex: 'com.gh.EventBusIndex']
}
}
ndk {
abiFilters "armeabi-v7a", "x86"
}
// 由于app只针对中文用户所以仅保留zh资源其他删掉
resConfigs "zh"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode rootProject.ext.versionCode
versionName rootProject.ext.versionName
applicationId rootProject.ext.applicationId
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt', 'proguard-fresco.txt'
/**
* All third-party appid/appkey
*/
buildConfigField "String", "WECHAT_APPID", "\"${WECHAT_APPID}\""
buildConfigField "String", "WECHAT_SECRET", "\"${WECHAT_SECRET}\""
buildConfigField "String", "TENCENT_APPID", "\"${TENCENT_APPID}\""
buildConfigField "String", "WEIBO_APPKEY", "\"${WEIBO_APPKEY}\""
buildConfigField "String", "MTA_APPKEY", "\"${MTA_APPKEY}\""
buildConfigField "String", "TD_APPID", "\"${TD_APPID}\""
/**
* Build Time 供区分 jenkins 打包时间用
*/
buildConfigField "long", "BUILD_TIME", "0"
}
// gradle 2.2以上默认同时启用v1和v2优先用于Android N
signingConfigs {
debug {
v1SigningEnabled true
v2SigningEnabled true
}
release {
storeFile file("gh.keystore")
keyAlias "gh.keystore"
keyPassword "20150318"
storePassword "20150318"
v1SigningEnabled true
v2SigningEnabled true
}
}
buildTypes {
debug {
debuggable true
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
zipAlignEnabled false
signingConfig signingConfigs.debug
buildConfigField "String", "EXPOSURE_REPO", "\"test\""
buildConfigField "String", "EXPOSURE_VERSION", "\"E3\""
multiDexKeepProguard file("tinker_multidexkeep.pro")
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
debuggable false
minifyEnabled true
zipAlignEnabled true
shrinkResources true
signingConfig signingConfigs.release
buildConfigField "String", "EXPOSURE_REPO", "\"exposure\""
buildConfigField "String", "EXPOSURE_VERSION", "\"E3\""
multiDexKeepProguard file("tinker_multidexkeep.pro")
}
}
// applicationVariants.all { variant ->
// variant.dex.dependsOn << processWithJavassist //在执行dx命令之前将代码打入到class中
// }
flavorDimensions "nonsense"
/**
* 渠道打包
* 渠道打包,渠道请参考"channel.txt"文件所有渠道值均通过java code设置
*/
productFlavors {
GH_100 {}
GH_101 {}
GH_102 {}
GH_103 {}
GH_104 {}
GH_109 {}
GH_110 {}
GH_113 {}
GH_114 {}
GH_115 {}
GH_116 {}
GH_118 {}
GH_119 {}
GH_120 {}
GH_121 {}
GH_123 {}
GH_200 {}
GH_201 {}
GH_202 {}
GH_203 {}
GH_307 {}
GH_127 {}
// publish release host
publish {
dimension "nonsense"
buildConfigField "String", "API_HOST", "\"${API_HOST}\""
buildConfigField "String", "COMMENT_HOST", "\"${COMMENT_HOST}\""
buildConfigField "String", "DATA_HOST", "\"${DATA_HOST}\""
buildConfigField "String", "UMENG_APPKEY", "\"${UMENG_APPKEY}\""
buildConfigField "String", "UMENG_MESSAGE_SECRET", "\"${UMENG_MESSAGE_SECRET}\""
buildConfigField "String", "MIPUSH_APPID", "\"${MIPUSH_APPID}\""
buildConfigField "String", "MIPUSH_APPKEY", "\"${MIPUSH_APPKEY}\""
buildConfigField "String", "MEIZUPUSH_APPID", "\"${MEIZUPUSH_APPID}\""
buildConfigField "String", "MEIZUPUSH_APPKEY", "\"${MEIZUPUSH_APPKEY}\""
buildConfigField "String", "BUGLY_APPID", "\"${BUGLY_APPID}\""
}
// internal test dev host
internal {
dimension "nonsense"
versionNameSuffix "-debug"
buildConfigField "String", "API_HOST", "\"${DEV_API_HOST}\""
buildConfigField "String", "COMMENT_HOST", "\"${DEV_COMMENT_HOST}\""
buildConfigField "String", "DATA_HOST", "\"${DEV_DATA_HOST}\""
buildConfigField "String", "UMENG_APPKEY", "\"${DEBUG_UMENG_APPKEY}\""
buildConfigField "String", "UMENG_MESSAGE_SECRET", "\"${DEBUG_UMENG_MESSAGE_SECRET}\""
buildConfigField "String", "MIPUSH_APPID", "\"${DEBUG_MIPUSH_APPID}\""
buildConfigField "String", "MIPUSH_APPKEY", "\"${DEBUG_MIPUSH_APPKEY}\""
buildConfigField "String", "MEIZUPUSH_APPID", "\"${DEBUG_MEIZUPUSH_APPID}\""
buildConfigField "String", "MEIZUPUSH_APPKEY", "\"${DEBUG_MEIZUPUSH_APPKEY}\""
buildConfigField "String", "BUGLY_APPID", "\"${DEBUG_BUGLY_APPID}\""
}
}
productFlavors.all { flavor ->
flavor.manifestPlaceholders = [CHANNEL_VALUE: name]//命令 gradlew assembleRelease
}
// apkChannelPackage
channel {
//多渠道包的输出目录默认为new File(project.buildDir,"channel")
baseOutputDir = new File(project.buildDir, "channel")
//多渠道包的命名规则,默认为:${appName}-${versionName}-${versionCode}-${flavorName}-${buildType}
apkNameFormat = '${appName}-${versionName}-${versionCode}-${flavorName}-${buildType}'
}
rebuildChannel {
// baseDebugApk = 已有Debug APK
// baseReleaseApk = 已有Release APK
// //默认为new File(project.buildDir, "rebuildChannel/debug")
// debugOutputDir = Debug渠道包输出目录
// //默认为new File(project.buildDir, "rebuildChannel/release")
// releaseOutputDir = Release渠道包输出目录
}
repositories {
flatDir {
dirs 'libs/aars'
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
// compile ('com.facebook.fresco:fresco:0.9.0') {
// exclude module: 'support-v4'
implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
testImplementation 'junit:junit:4.12'
debugImplementation "com.squareup.leakcanary:leakcanary-android:${leakcanary}"
debugImplementation "com.facebook.stetho:stetho:${stetho}"
debugImplementation "com.facebook.stetho:stetho-okhttp3:${stetho}"
debugImplementation "com.squareup.okhttp3:logging-interceptor:${okHttp}"
implementation "androidx.core:core:${core}"
implementation "androidx.fragment:fragment:${fragment}"
implementation "androidx.multidex:multidex:${multiDex}"
implementation "androidx.appcompat:appcompat:${appCompat}"
implementation "androidx.cardview:cardview:${cardView}"
implementation "androidx.annotation:annotation:${annotation}"
implementation "androidx.constraintlayout:constraintlayout:${constraintLayout}"
implementation "androidx.recyclerview:recyclerview:${recyclerView}"
implementation "androidx.lifecycle:lifecycle-runtime:${lifeCycle}"
implementation "androidx.lifecycle:lifecycle-extensions:${lifeCycle}"
kapt "androidx.lifecycle:lifecycle-compiler:${lifeCycle}"
implementation "androidx.room:room-runtime:${room}"
implementation "androidx.room:room-rxjava2:${room}"
implementation "androidx.core:core-ktx:${ktx}"
kapt "androidx.room:room-compiler:${room}"
kapt "androidx.databinding:databinding-compiler:${databinding}"
implementation "com.google.android.material:material:${material}"
implementation "com.kyleduo.switchbutton:library:${switchButton}"
implementation "com.facebook.fresco:fresco:${fresco}"
implementation "com.facebook.fresco:animated-gif:${fresco}"
implementation "com.facebook.fresco:animated-drawable:${fresco}"
implementation "com.squareup.okhttp3:okhttp:${okHttp}"
implementation "com.leon.channel:helper:${apkChannelPackage}"
implementation "com.squareup.retrofit2:retrofit:${retrofit}"
implementation "com.squareup.retrofit2:converter-gson:${retrofit}" // include gson 2.7
implementation "com.squareup.retrofit2:adapter-rxjava2:${retrofit}"
implementation "com.j256.ormlite:ormlite-android:${ormlite}"
implementation "com.j256.ormlite:ormlite-core:${ormlite}"
implementation "com.jakewharton:butterknife:${butterKnife}"
kapt "com.jakewharton:butterknife-compiler:${butterKnife}"
implementation "org.jetbrains.kotlin:kotlin-stdlib:${kotlin_version}"
implementation "org.greenrobot:eventbus:${eventbus}"
kapt "org.greenrobot:eventbus-annotation-processor:${eventbusApt}"
implementation "io.reactivex.rxjava2:rxjava:${rxJava2}"
implementation "io.reactivex.rxjava2:rxandroid:${rxAndroid2}"
implementation "com.jakewharton.rxbinding2:rxbinding:${rxBinding2}"
implementation "com.google.zxing:core:${zxing}"
implementation "com.google.zxing:android-core:${zxing}"
implementation "com.daimajia.swipelayout:library:${swipeLayout}"
implementation "com.sina.weibo.sdk:core:${weiboSDK}"
// bugly with tinker support
implementation "com.tencent.bugly:crashreport_upgrade:${buglyTinkerSupport}"
implementation 'com.google.android:flexbox:1.1.0'
implementation "pub.devrel:easypermissions:${easypermissions}"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.contrarywind:Android-PickerView:4.1.3'
implementation "com.scwang.smartrefresh:SmartRefreshLayout:${smartRefreshLayout}"
implementation "net.cachapa.expandablelayout:expandablelayout:${expandableLayout}"
// 用于比较 versionName 是大于小于或等于
implementation "com.g00fy2:versioncompare:${versioncompare}"
implementation "top.zibin:Luban:${luban}"
implementation "com.squareup.picasso:picasso:${picasso}"
// for video streaming
implementation ("com.shuyu:gsyVideoPlayer-java:$gsyVideo",{
exclude module: "gsyvideoplayer-androidvideocache"
})
implementation "com.shuyu:gsyVideoPlayer-armv7a:$gsyVideo"
implementation "com.shuyu:gsyVideoPlayer-x86:$gsyVideo"
implementation "com.github.wendux:DSBridge-Android:$dsBridge"
implementation "android.arch.work:work-runtime:${workManager}"
implementation "com.llew.huawei:verifier:1.0.6"
implementation "com.github.tbruyelle:rxpermissions:${rxPermissions}"
implementation 'com.ethanhua:skeleton:1.1.1'
implementation 'io.supercharge:shimmerlayout:2.1.0'
implementation "com.tencent.mm.opensdk:wechat-sdk-android-without-mta:5.3.1"
implementation 'com.walkud.rom.checker:RomChecker:1.0.0'
debugImplementation "com.github.nichbar.chucker:library:$chucker"
releaseImplementation "com.github.nichbar.chucker:library-no-op:$chucker"
implementation "com.bytedance.applog:RangersAppLog-Lite-cn:$bytedanceApplog"
implementation 'com.aliyun.dpa:oss-android-sdk:2.9.2'
implementation "com.airbnb.android:lottie:$lottie"
implementation("com.github.piasy:BigImageViewer:$bigImageViewer", {
exclude group: 'com.squareup.okhttp3'
})
implementation project(':libraries:LGLibrary')
implementation project(':libraries:MTA')
implementation project(':libraries:QQShare')
implementation project(':libraries:TalkingData')
implementation project(':libraries:UmengPush')
// implementation project(':libraries:WechatShare')
implementation project(':libraries:im')
implementation project(':libraries:Matisse')
implementation project(path: ':libraries:gsyVideoPlayer-proxy_cache')
}
File propFile = file('sign.properties')
if (propFile.exists()) {
Properties props = new Properties()
props.load(new FileInputStream(propFile))
if (props.containsKey('keyAlias') && props.containsKey('keyPassword') &&
props.containsKey('storeFile') && props.containsKey('storePassword')) {
android.signingConfigs {
// debug 不要使用正式签名这样tinker才不会打补丁。
debug {
keyAlias props.get('keyAlias')
keyPassword props.get('keyPassword')
storeFile file(props.get('storeFile'))
storePassword props.get('storePassword')
}
release {
keyAlias props.get('keyAlias')
keyPassword props.get('keyPassword')
storeFile file(props.get('storeFile'))
storePassword props.get('storePassword')
}
}
} else {
android.buildTypes.release.signingConfig = null
}
} else {
android.buildTypes.release.signingConfig = null
}
// 用于测试读取 META-INF 里的 JSON 的代码
//task generateMetaJson {
// def resDir = new File(buildDir, 'generated/FILES_FOR_META_INF/')
// def destDir = new File(resDir, 'META-INF/')
// // Add resDir as a resource directory so that it is automatically included in the APK.
// android {
// sourceSets {
// main.resources {
// srcDir resDir
// }
// }
// }
}
//
// doLast {
// if (!destDir.exists()) destDir.mkdirs()
// copy {
// into destDir
// from new File('generated/FILES_FOR_META_INF/META-INF/halo_skip.json')
// }
// }
//}
//// Specify when put_files_in_META_INF should run
//project.afterEvaluate {
// tasks.findAll { task ->
// task.name.startsWith('merge') && task.name.endsWith('Resources')
// }.each { t -> t.dependsOn generateMetaJson }
//}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
app/libs/gid-1.0.jar Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

21
app/proguard-fresco.txt Normal file
View File

@ -0,0 +1,21 @@
# Keep our interfaces so they can be used by other ProGuard rules.
# See http://sourceforge.net/p/proguard/bugs/466/
-keep,allowobfuscation @interface com.facebook.common.internal.DoNotStrip
# Do not strip any method/class that is annotated with @DoNotStrip
-keep @com.facebook.common.internal.DoNotStrip class *
-keepclassmembers class * {
@com.facebook.common.internal.DoNotStrip *;
}
# Keep native methods
-keepclassmembers class * {
native <methods>;
}
-dontwarn okio.**
-dontwarn com.squareup.okhttp.**
-dontwarn okhttp3.**
-dontwarn javax.annotation.**
-dontwarn com.android.volley.toolbox.**
-dontwarn com.facebook.infer.**

View File

@ -1,17 +0,0 @@
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in C:\Android\sdk/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# Add any project specific keep options here:
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}

243
app/proguard-rules.txt Normal file
View File

@ -0,0 +1,243 @@
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in C:\Android\sdk/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# Add any project specific keep options here:
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
#--------- remove logs start ----------------
-assumenosideeffects class com.lightgame.config.CommonDebug {
private static String getLogTag(...);
private static String getMethodName();
public static void logMethodName(...);
public static void logParams(...);
public static void logFields(...);
public static void logMethodWithParams(...);
}
#-assumenosideeffects class com.lightgame.config.CommonDebug {*;}
#-dontoptimize
#--------- remove logs end ----------------
-keepattributes *Annotation*,Signature,InnerClasses,EnclosingMethod
-dontwarn InnerClasses
# OrmLite uses reflection
-keep class com.j256.**
-keepclassmembers class com.j256.** { *; }
-keep enum com.j256.**
-keepclassmembers enum com.j256.** { *; }
-keep interface com.j256.**
-keepclassmembers interface com.j256.** { *; }
-dontwarn com.j256.**
#okhttp3
-dontwarn com.squareup.okhttp3.**
-dontwarn okio.**
-keep class com.squareup.okhttp3.** { *;}
# stetho
-keep class com.facebook.stetho.** { *; }
-dontwarn com.facebook.stetho.**
# Retrofit 2.2
# Platform calls Class.forName on types which do not exist on Android to determine platform.
-dontnote retrofit2.Platform
# Platform used when running on Java 8 VMs. Will not be used at runtime.
-dontwarn retrofit2.Platform$Java8
# Retain generic type information for use by reflection by converters and adapters.
-keepattributes Signature
# Retain declared checked exceptions for use by a Proxy instance.
-keepattributes Exceptions
# Retrofit 2.X
## https://square.github.io/retrofit/ ##
-dontwarn retrofit2.**
-keep class retrofit2.** { *; }
-keepattributes Signature
-keepattributes Exceptions
-keepclasseswithmembers class * {
@retrofit2.http.* <methods>;
}
# rxjava
-keep class rx.schedulers.Schedulers {
public static <methods>;
}
-keep class rx.schedulers.ImmediateScheduler {
public <methods>;
}
-keep class rx.schedulers.TestScheduler {
public <methods>;
}
-keep class rx.schedulers.Schedulers {
public static ** test();
}
-keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
long producerIndex;
long consumerIndex;
}
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
long producerNode;
long consumerNode;
}
-dontwarn rx.internal.util.**
## AutoScrollViewPager
-keep class cn.trinea.android.** { *; }
-keepclassmembers class cn.trinea.android.** { *; }
-dontwarn cn.trinea.android.**
## butterknife
# Retain generated class which implement Unbinder.
#-keep public class * implements butterknife.Unbinder { public <init>(**, android.view.View); }
#
## Prevent obfuscation of types which use ButterKnife annotations since the simple name
## is used to reflectively look up the generated ViewBinding.
#-keep class butterknife.*
#-keepclasseswithmembernames class * { @butterknife.* <methods>; }
#-keepclasseswithmembernames class * { @butterknife.* <fields>; }
-dontwarn butterknife.internal.**
-keep class **$$ViewInjector { *; }
-keepnames class * { @butterknife.InjectView *;}
-dontwarn butterknife.Views$InjectViewProcessor
-dontwarn com.gc.materialdesign.views.**
# eventbus
-keepattributes *Annotation*
-keepclassmembers class ** {
@org.greenrobot.eventbus.Subscribe <methods>;
}
-keep enum org.greenrobot.eventbus.ThreadMode { *; }
# Only required if you use AsyncExecutor
-keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {
<init>(java.lang.Throwable);
}
# weiboSdk
-keep class com.sina.weibo.sdk.** { *; }
-dontwarn android.webkit.WebView
-dontwarn android.webkit.WebViewClient
# app models
-keep class com.gh.common.view.** {*;}
-keep class com.gh.gamecenter.db.info.** {*;}
-keep class com.gh.gamecenter.entity.** {*;}
-keep class com.gh.gamecenter.qa.entity.** {*;}
-keep class com.gh.gamecenter.retrofit.** {*;}
-keep class com.gh.gamecenter.eventbus.** {*;}
-keep class * extends rx.Subscriber
#---------------------------------webview------------------------------------
-keepclassmembers class * extends android.webkit.WebViewClient {
public void *(android.webkit.WebView, java.lang.String, android.graphics.Bitmap);
public boolean *(android.webkit.WebView, java.lang.String);
}
-keepclassmembers class * extends android.webkit.WebViewClient {
public void *(android.webkit.WebView, java.lang.String);
}
#----------------------------------------------------------------------------
##---------------Begin: proguard configuration for Gson ----------
# Gson uses generic type information stored in a class file when working with fields. Proguard
# removes such information by default, so configure it to keep all of it.
-keepattributes Signature
# For using GSON @Expose annotation
-keepattributes *Annotation*
# Gson specific classes
-keep class sun.misc.Unsafe { *; }
#-keep class com.google.gson.stream.** { *; }
# Prevent proguard from stripping interface information from TypeAdapterFactory,
# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
-keep class * implements com.google.gson.TypeAdapterFactory
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer
-keepclassmembers enum * { *; }
##---------------End: proguard configuration for Gson ----------
# ------ bugly ---------
-dontwarn com.tencent.bugly.**
-keep public class com.tencent.bugly.**{*;}
# easypermission
-keepclassmembers class * {
@pub.devrel.easypermissions.AfterPermissionGranted <methods>;
}
# 重命名文件为SourceFile再配合mapping符号表可以拿到真实的类名
-renamesourcefileattribute SourceFile
# 保留源文件行号
-keepattributes SourceFile,LineNumberTable
-ignorewarnings
-keep @androidx.annotation.Keep class *
-keepclassmembers class ** {
@androidx.annotation.Keep *;
}
-keep class com.gh.loghub.** { *; }
### greenDAO 3
-keepclassmembers class * extends org.greenrobot.greendao.AbstractDao {
public static java.lang.String TABLENAME;
}
-keep class **$Properties
-keep class org.greenrobot.greendao.** { *; }
# If you do not use SQLCipher:
-dontwarn org.greenrobot.greendao.database.**
# If you do not use RxJava:
-dontwarn rx.**
-dontwarn org.greenrobot.greendao.rx.**
-dontwarn org.greenrobot.greendao.**
### fastJson
-dontwarn com.alibaba.fastjson.**
-keep class com.alibaba.fastjson.** { *; }
-keepattributes Signature
-keepattributes Annotation
### 广点通
-dontwarn com.qq.gdt.action.**
-keep class com.qq.gdt.action.** {*;}
### AndroidX
-keep class androidx.core.app.CoreComponentFactory { *; }
#阿里云上传
-keep class com.alibaba.sdk.android.oss.** { *; }
-dontwarn okio.**
-dontwarn org.apache.commons.codec.binary.**
#视频相关
-keep class com.shuyu.gsyvideoplayer.video.** { *; }
-dontwarn com.shuyu.gsyvideoplayer.video.**
-keep class com.shuyu.gsyvideoplayer.video.base.** { *; }
-dontwarn com.shuyu.gsyvideoplayer.video.base.**
-keep class com.shuyu.gsyvideoplayer.utils.** { *; }
-dontwarn com.shuyu.gsyvideoplayer.utils.**
-keep class tv.danmaku.ijk.** { *; }
-dontwarn tv.danmaku.ijk.**

4
app/sign.properties Normal file
View File

@ -0,0 +1,4 @@
storeFile=gh.keystore
storePassword=20150318
keyAlias=gh.keystore
keyPassword=20150318

View File

@ -1,13 +0,0 @@
package com.gh.gamecenter;
import android.app.Application;
import android.test.ApplicationTestCase;
/**
* <a href="http://d.android.com/tools/testing/testing_android.html">Testing Fundamentals</a>
*/
public class ApplicationTest extends ApplicationTestCase<Application> {
public ApplicationTest() {
super(Application.class);
}
}

View File

@ -0,0 +1,46 @@
package com.gh.gamecenter;
import android.app.Application;
import com.facebook.stetho.Stetho;
import com.facebook.stetho.okhttp3.StethoInterceptor;
import com.squareup.leakcanary.LeakCanary;
import okhttp3.OkHttpClient;
import okhttp3.logging.HttpLoggingInterceptor;
/**
* @author CsHeng
* @Date 03/09/2017
* @Time 4:34 PM
*/
public class Injection {
public static boolean appInit(Application application) {
// init leakcanary
if (LeakCanary.isInAnalyzerProcess(application)) {
// This process is dedicated to LeakCanary for heap analysis.
// You should not init your app in this process.
return false;
}
LeakCanary.install(application);
// init stetho
Stetho.initializeWithDefaults(application);
return true;
}
public static OkHttpClient.Builder provideRetrofitBuilder() {
OkHttpClient.Builder builder = new OkHttpClient.Builder();
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
builder.addNetworkInterceptor(interceptor);
builder.addNetworkInterceptor(new StethoInterceptor());
return builder;
}
}

View File

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.gh.gamecenter" >
xmlns:tools="http://schemas.android.com/tools"
package="com.gh.gamecenter">
<!-- 允许应用程序访问网络连接 -->
<uses-permission android:name="android.permission.INTERNET" />
@ -20,28 +21,33 @@
<uses-permission android:name="android.permission.GET_TASKS" />
<!-- 允许访问振动设备 -->
<uses-permission android:name="android.permission.VIBRATE" />
<!-- 允许应用程序通过WiFi或移动基站获取粗略的位置信息 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!-- 允许应用程序通过GPS获取精确的位置信息 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- 允许应用程序改变Wi-Fi连接状态 -->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<!-- 允许应用程序管理AccountManager中的账户列表 -->
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
<!-- 允许应用程序访问GMail账户列表 -->
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<!-- 允许应用程序连接配对过的蓝牙设备 -->
<uses-permission android:name="android.permission.BLUETOOTH" />
<!-- 允许应用程序管理蓝牙,搜索和配对新的蓝牙设备 -->
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<!-- 允许应用程序打开系统窗口,显示其他应用程序 -->
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<!-- 小米推送需要的权限 -->
<uses-permission android:name="com.gh.gamecenter.permission.MIPUSH_RECEIVE" />
<!-- 修改系统设置的权限 -->
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<permission
android:name="com.gh.gamecenter.permission.MIPUSH_RECEIVE"
android:protectionLevel="signature" />
<uses-permission
android:name="android.permission.PACKAGE_USAGE_STATS"
tools:ignore="ProtectedPermissions" />
<!-- bugly with tinker -->
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<uses-sdk tools:overrideLibrary="com.shuyu.gsyvideoplayer,
com.shuyu.gsyvideoplayer.lib,
com.shuyu.gsyvideoplayer.armv7a,
com.shuyu.gsyvideoplayer.x86,
com.shuyu.gsy.base,
shuyu.com.androidvideocache,
pl.droidsonroids.gif" />
<!-- 去掉 SDK 一些流氓权限 -->
<uses-permission
android:name="android.permission.READ_CONTACTS"
tools:node="remove" />
<supports-screens
android:anyDensity="true"
@ -50,180 +56,523 @@
android:resizeable="true"
android:smallScreens="true" />
<!--android:largeHeap = "true"-->
<application
android:name="com.gh.base.AppController"
android:name="com.halo.assistant.TinkerApp"
android:allowBackup="true"
android:icon="@drawable/logo"
android:icon="@mipmap/logo"
android:label="@string/app_name"
android:theme="@style/AppThemeNormal" >
<!-- TalkingData -->
<meta-data
android:name="TD_APP_ID"
android:value="81DB144D555386A38A70B833537EC256" />
<meta-data
android:name="TD_CHANNEL_ID"
android:value="GH_TEST"
/>
<!--android:value="${CHANNEL_VALUE}"-->
<!-- MTA -->
<meta-data
android:name="TA_APPKEY"
android:value="APV567FTBS7J"/>
<meta-data
android:name="InstallChannel"
android:value="GH_TEST"/>
<!--android:value="${CHANNEL_VALUE}"-->
android:largeHeap="true"
android:resizeableActivity="true"
android:theme="@style/AppCompatTheme.APP"
tools:targetApi="n">
<!--android:launchMode = "singleTask"-->
<activity
android:name="com.gh.gamecenter.SplashScreenActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:screenOrientation="portrait"
android:theme="@style/AppTheme_Guide"
android:uiOptions="splitActionBarWhenNarrow" >
android:theme="@style/AppTheme.Launcher">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.mob.tools.MobUIShell"
android:configChanges="keyboardHidden|orientation|screenSize"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:windowSoftInputMode="stateHidden|adjustResize" >
<intent-filter>
<data android:scheme="tencent100371282" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".WXEntryActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.MainActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
android:configChanges="orientation|screenSize|keyboardHidden"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:theme="@style/AppCompatTheme.APP"
android:windowSoftInputMode="stateAlwaysHidden|adjustResize" />
<activity
android:name="com.gh.gamecenter.DownloadManagerActivity"
android:launchMode="singleTask"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.ViewImageActivity"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" />
<!--android:theme = "@android:style/Theme.Black.NoTitleBar.Fullscreen" 退出时屏幕抖动 -->
<activity android:name="com.gh.gamecenter.ViewImageActivity" />
<activity
android:name="com.gh.gamecenter.SearchActivity"
android:configChanges="keyboardHidden"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateVisible" />
android:theme="@style/AppCompatTheme.APP" />
<activity
android:name="com.gh.gamecenter.GameDetailsActivity"
android:screenOrientation="portrait" />
android:name="com.gh.gamecenter.amway.search.AmwaySearchActivity"
android:configChanges="keyboardHidden"
android:screenOrientation="portrait"
android:theme="@style/AppCompatTheme.APP" />
<activity
android:name="com.gh.gamecenter.NewsActivity"
android:name="com.gh.gamecenter.ShellActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.GameActivity"
android:name="com.gh.gamecenter.NewsDetailActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.SettingActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.SuggestionActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateVisible" />
<activity
android:name="com.gh.gamecenter.ConcernActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.SubjectActivity"
android:name="com.gh.gamecenter.subject.SubjectActivity"
android:screenOrientation="portrait" />
<receiver android:name="com.gh.gamecenter.receiver.InstallAndUninstallReceiver" >
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED" />
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<action android:name="android.intent.action.PACKAGE_REPLACED" />
<activity
android:name="com.gh.gamecenter.NewsSearchActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden" />
<data android:scheme="package" />
</intent-filter>
</receiver>
<receiver
android:name="com.gh.gamecenter.receiver.NotificationReceiver"
android:exported="false" >
<activity
android:name="com.gh.gamecenter.GameNewsActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.CropImageActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.WebActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.ShareCardPicActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.ShareCardActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.MessageDetailActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.LibaoActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden" />
<activity
android:name="com.gh.gamecenter.LibaoDetailActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.ShareGhActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.CleanApkActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.SelectUserIconActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.AboutActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.CommentDetailActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.mygame.MyGameActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.GameDetailActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.SuggestionActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.VoteActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateAlwaysHidden|adjustResize" />
<activity
android:name="com.gh.gamecenter.ToolBoxActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden" />
<activity
android:name="com.gh.gamecenter.WeiBoShareActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden" />
<activity
android:name=".category.CategoryDirectoryActivity"
android:screenOrientation="portrait" />
<activity
android:name=".category.CategoryListActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.LoginActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden" />
<activity
android:name="com.gh.gamecenter.UserInfoActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.UserRegionActivity"
android:screenOrientation="portrait" />
<activity
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"
android:windowSoftInputMode="stateHidden" />
<activity
android:name="com.gh.gamecenter.qa.search.AskSearchActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.qa.answer.detail.AnswerDetailActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.qa.questions.detail.QuestionsDetailActivity"
android:screenOrientation="portrait" />
<activity
android:name=".qa.answer.fold.AnswerFoldActivity"
android:screenOrientation="portrait" />
<activity
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.qa.select.CommunitiesSelectActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.qa.subject.CommunitySubjectActivity"
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" />
<activity
android:name="com.gh.gamecenter.qa.myqa.MyAskActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.qa.column.order.AskTabOrderActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.qa.questions.edit.QuestionEditActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.servers.add.AddKaiFuActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden" />
<activity
android:name="com.gh.gamecenter.servers.patch.PatchKaifuActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.BlockActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.amway.AmwayActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.qa.column.detail.AskColumnDetailActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.NetworkDiagnosisActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.personalhome.fans.FansActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.personalhome.followers.FollowersActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.personalhome.UserHomeActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.qa.article.edit.ArticleEditActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.qa.article.MyArticleActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.qa.article.draft.ArticleDraftActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.qa.article.detail.ArticleDetailActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.qa.draft.CommunityDraftWrapperActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.gamedetail.rating.edit.RatingEditActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateVisible" />
<activity
android:name="com.gh.gamecenter.qa.questions.edit.manager.HistoryDetailActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.qa.questions.edit.manager.HistoryActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.qa.editor.InsertAnswerWrapperActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.qa.editor.GameActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.qa.editor.InsertArticleWrapperActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.gamedetail.rating.RatingReplyActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.history.HistoryActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.personalhome.rating.RatingActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.gamedetail.rating.logs.CommentLogsActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.tag.TagsActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.qa.article.SimpleArticleListActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.video.videomanager.VideoManagerActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.video.upload.view.UploadVideoActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.video.game.GameVideoActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.qa.editor.VideoActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.mygame.PlayedGameActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.servers.GameServersActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.game.columncollection.detail.ColumnCollectionDetailActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.game.upload.GameSubmissionActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.halo.assistant.fragment.user.UserPortraitCropImageActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.HelpAndFeedbackActivity"
android:windowSoftInputMode="stateHidden"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.help.HelpDetailActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.gh.gamecenter.qa.comment.CommentActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.Transparent"
android:windowSoftInputMode="adjustNothing" />
<activity
android:name="com.gh.gamecenter.video.detail.VideoDetailActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:screenOrientation="portrait"
android:theme="@style/TransparentStatusBarAndNavigationBar" />
<activity
android:name=".gamedetail.myrating.MyRatingActivity"
android:screenOrientation="portrait" />
<!-- 使用小米/华为推送弹窗功能提高推送成功率-->
<activity
android:name="com.gh.gamecenter.PushProxyActivity"
android:exported="true"
android:theme="@android:style/Theme.Translucent" />
<activity
android:name="com.gh.gamecenter.SkipActivity"
android:theme="@style/Theme.AppCompat.Light.Fullscreen.Transparent">
<intent-filter>
<action android:name="com.gh.gamecenter.NOTIFICATION" />
</intent-filter>
</receiver>
<receiver
android:name="com.gh.gamecenter.receiver.UninstallReceiver"
android:exported="false" >
<intent-filter>
<action android:name="com.gh.gamecenter.UNINSTALL" />
</intent-filter>
</receiver>
<receiver android:name="com.gh.gamecenter.receiver.NetworkStateReceiver" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
<receiver
android:name="com.xiaomi.push.service.receivers.PingReceiver"
android:exported="false"
android:process=":pushservice" >
<intent-filter>
<action android:name="com.xiaomi.push.PING_TIMER" />
</intent-filter>
</receiver>
<receiver
android:name="com.gh.base.GHPushMessageReceiver"
android:exported="true" >
<intent-filter>
<action android:name="com.xiaomi.mipush.RECEIVE_MESSAGE" />
</intent-filter>
<intent-filter>
<action android:name="com.xiaomi.mipush.MESSAGE_ARRIVED" />
</intent-filter>
<intent-filter>
<action android:name="com.xiaomi.mipush.ERROR" />
</intent-filter>
</receiver>
<receiver
android:name="com.xiaomi.push.service.receivers.NetworkStatusReceiver"
android:exported="true" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<data android:scheme="ghzhushou" />
<category android:name="android.intent.category.DEFAULT" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>
<activity
android:name="${applicationId}.wxapi.WXEntryActivity"
android:exported="true"
android:label="@string/app_name"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar"></activity>
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths" />
</provider>
<receiver
android:name="com.gh.gamecenter.receiver.DownloadReceiver"
android:exported="false">
<intent-filter>
<action android:name="com.gh.gamecenter.DOWNLOAD" />
</intent-filter>
</receiver>
<receiver
android:name="com.xiaomi.push.service.receivers.PingReceiver"
android:exported="false"
android:process=":pushservice" >
android:name="com.gh.gamecenter.receiver.InstallReceiver"
android:exported="false">
<intent-filter>
<action android:name="com.xiaomi.push.PING_TIMER" />
<action android:name="com.gh.gamecenter.INSTALL" />
</intent-filter>
</receiver>
<service android:name="com.gh.download.DownloadService" />
<service
android:name="com.xiaomi.push.service.XMPushService"
android:enabled="true"
android:process=":pushservice" />
<service
android:name="com.xiaomi.mipush.sdk.PushMessageHandler"
android:enabled="true"
android:exported="true" />
<service
android:name="com.xiaomi.mipush.sdk.MessageHandleService"
android:enabled="true" />
<receiver
android:name="com.gh.gamecenter.receiver.ActivitySkipReceiver"
android:exported="true">
<intent-filter>
<action android:name="com.gh.gamecenter.ACTIVITYSKIP" />
</intent-filter>
</receiver>
<receiver android:name="com.gh.gamecenter.receiver.UmengMessageReceiver">
<intent-filter>
<action android:name="com.gh.gamecenter.UMENG" />
</intent-filter>
</receiver>
<!--魅族push应用定义消息receiver声明 -->
<receiver android:name="com.gh.gamecenter.receiver.MeizuPushReceiver">
<intent-filter>
<!-- 接收push消息 -->
<action android:name="com.meizu.flyme.push.intent.MESSAGE" />
<!-- 接收register消息 -->
<action android:name="com.meizu.flyme.push.intent.REGISTER.FEEDBACK" />
<!-- 接收unregister消息-->
<action android:name="com.meizu.flyme.push.intent.UNREGISTER.FEEDBACK" />
<!-- 兼容低版本Flyme3推送服务配置 -->
<action android:name="com.meizu.c2dm.intent.REGISTRATION" />
<action android:name="com.meizu.c2dm.intent.RECEIVE" />
<category android:name="${applicationId}" />
</intent-filter>
</receiver>
<receiver
android:name="com.gh.common.im.ImReceiver"
android:enabled="true">
<intent-filter android:priority="2147483647">
<action android:name="com.gh.im" />
<action android:name="action_finish" />
</intent-filter>
</receiver>
<service android:name="com.gh.base.GHUmengNotificationService" />
<!--<service android:name = "com.gh.gamecenter.statistics.AppStaticService" />-->
</application>
</manifest>

File diff suppressed because it is too large Load Diff

View File

@ -1,129 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<DevInfor>
<!--
说明:
1、表格中的第一项
<ShareSDK
AppKey="api20" />
是必须的其中的AppKey是您在ShareSDK上注册的开发者帐号的AppKey
2、所有集成到您项目的平台都应该为其在表格中填写相对应的开发者信息以新浪微博为例
<SinaWeibo
Id="1"
SortId="1"
AppKey="568898243"
AppSecret="38a4f8204cc784f81f9f0daaf31e02e3"
RedirectUrl="http://www.mob.com"
Enable="true" />
其中的SortId是此平台在分享列表中的位置由开发者自行定义可以是任何整型数字数值越大
越靠后AppKey、AppSecret和RedirectUrl是您在新浪微博上注册开发者信息和应用后得到的信息
Id是一个保留的识别符整型ShareSDK不使用此字段供您在自己的项目中当作平台的识别符。
Enable字段表示此平台是否有效布尔值默认为true如果Enable为false即便平台的jar包
已经添加到应用中,平台实例依然不可获取。
各个平台注册应用信息的地址如下:
新浪微博 http://open.weibo.com
腾讯微博 http://dev.t.qq.com
QQ空间 http://connect.qq.com/intro/login/
微信好友 http://open.weixin.qq.com
Facebook https://developers.facebook.com
Twitter https://dev.twitter.com
人人网 http://dev.renren.com
开心网 http://open.kaixin001.com
搜狐微博 http://open.t.sohu.com
网易微博 http://open.t.163.com
豆瓣 http://developers.douban.com
有道云笔记 http://note.youdao.com/open/developguide.html#app
印象笔记 https://dev.evernote.com/
Linkedin https://developer.linkedin.com
FourSquare https://developer.foursquare.com/
搜狐随身看 https://open.sohu.com/
Flickr http://www.flickr.com/services/
Pinterest http://developers.pinterest.com/
Tumblr http://www.tumblr.com/developers
Dropbox https://www.dropbox.com/developers
Instagram http://instagram.com/developer#
VKontakte http://vk.com/dev
易信好友 http://open.yixin.im/
明道 http://open.mingdao.com/
Line http://media.line.me/zh-hant/
Pocket http://getpocket.com/developer/apps/new
-->
<ShareSDK
AppKey = "6f286c8a261a"/> <!-- 修改成你在sharesdk后台注册的应用的appkey"-->
<!-- ShareByAppClient标识是否使用微博客户端分享默认是false -->
<SinaWeibo
Id="1"
SortId="1"
AppKey="568898243"
AppSecret="38a4f8204cc784f81f9f0daaf31e02e3"
RedirectUrl="http://www.sharesdk.cn"
ShareByAppClient="false"
Enable="true" />
<TencentWeibo
Id="2"
SortId="2"
AppKey="801307650"
AppSecret="ae36f4ee3946e1cbb98d6965b0b2ff5c"
RedirectUri="http://sharesdk.cn"
Enable="true" />
<!-- ShareByAppClient标识是否使用微博客户端分享默认是false -->
<QZone
Id="3"
SortId="3"
AppId="1104659243"
AppKey="OfjHS7bWyxPiH0t8"
ShareByAppClient="true"
Enable="true" />
<!--
Wechat微信和WechatMoments微信朋友圈的appid是一样的
注意开发者不能用我们这两个平台的appid,否则分享不了
微信测试的时候微信测试需要先签名打包出apk,
sample测试微信要先签名打包keystore在sample项目中密码123456
BypassApproval是绕过审核的标记设置为true后AppId将被忽略故不经过
审核的应用也可以执行分享,但是仅限于分享文字和图片,不能分享其他类型,
默认值为false。此外微信收藏不支持此字段。
-->
<Wechat
Id="4"
SortId="4"
AppId="wx4868b35061f87885"
AppSecret="64020361b8ec4c99936c0e3999a9f249"
BypassApproval="true"
Enable="true" />
<WechatMoments
Id="5"
SortId="5"
AppId="wx4868b35061f87885"
AppSecret="64020361b8ec4c99936c0e3999a9f249"
BypassApproval="true"
Enable="true" />
<WechatFavorite
Id="6"
SortId="6"
AppId="wx4868b35061f87885"
AppSecret="64020361b8ec4c99936c0e3999a9f249"
Enable="true" />
<!-- ShareByAppClient标识是否使用微博客户端分享默认是false -->
<QQ
Id="7"
SortId="7"
AppId="1104659243"
AppKey="OfjHS7bWyxPiH0t8"
ShareByAppClient="true"
Enable="true" />
</DevInfor>

View File

@ -0,0 +1,163 @@
function requestContentFocus() {
$("#editor").focus();
}
function setupWhenContentEditable() {
var editor = $("#editor");
if (!editor[0].hasAttribute("contenteditable")) {
return;
}
// paste
editor.on("paste", function(e) {
e.preventDefault();
var text = (e.originalEvent || e).clipboardData.getData("text/plain");
text = text.replace(/\n/g, "<br>");
if ("" != text) {
document.execCommand("insertHTML", false, text);
} else {
window.onPasteListener.onPaste();
}
});
requestContentFocus();
}
function getStyle(dom, name) {
return window.getComputedStyle(dom)[name];
}
function customLinkgo(self) {
var datas = self.dataset.datas;
console.log(datas)
window.OnLinkClickListener.onClick(datas);
}
var typeClassList = [
"community_article-container",
"answer-container",
"game-container"
];
function removeDomByParent(curDom) {
if (curDom.parentElement) {
curDom.parentElement.removeChild(curDom);
}
}
window.addEventListener("load", function() {
var EditorDom = document.querySelector("#editor");
setupWhenContentEditable();
document.addEventListener("keydown", function(e) {
var event = e || window.event;
if (event.keyCode === 8) {
var s = document.getSelection();
var r = s.getRangeAt(0);
if (r.startOffset === r.endOffset && r.endOffset === 0) {
var preDOM = s.focusNode.previousElementSibling;
if (
preDOM &&
preDOM instanceof Element &&
preDOM.nodeName === "IMG" &&
getStyle(preDOM, "display") === "block"
) {
preDOM.parentElement.removeChild(preDOM);
}
}
var customDom = s.focusNode;
if (customDom) {
if (
r.startContainer.nodeName.toLowerCase() === "blockquote" &&
r.startOffset === 0
) {
RE.formatBlock();
e.preventDefault();
} else if (
customDom.nodeName === "#text" &&
customDom.previousElementSibling &&
typeClassList.indexOf(customDom.previousElementSibling.className) >
-1 &&
r.startOffset === 1
) {
var needDeleteDom = customDom.previousElementSibling;
needDeleteDom.insertAdjacentElement(
"afterend",
document.createElement("br")
);
} else if (
customDom instanceof Element &&
customDom.childNodes[s.focusOffset] &&
customDom.childNodes[s.focusOffset].previousElementSibling &&
typeClassList.indexOf(
customDom.childNodes[s.focusOffset].previousElementSibling.className
) > -1
) {
customDom =
customDom.childNodes[s.focusOffset].previousElementSibling;
customDom.parentElement.removeChild(customDom);
}
}
}
});
document.addEventListener("keyup", function(e) {
var event = e || window.event;
if (event.keyCode === 13) {
var s = document.getSelection();
var curDom = s.focusNode;
var preDom = curDom.previousElementSibling;
if (
curDom.nodeName.toLowerCase() === "blockquote" &&
preDom.nodeName.toLowerCase() === "blockquote"
) {
if (
preDom.childNodes.length > 1 ||
(preDom.childNodes.length === 1 &&
preDom.childNodes[0].tagName !== "BR")
) {
curDom.style.marginTop = 0;
preDom.style.marginBottom = 0;
} else if (
(curDom.childNodes.length === 0 ||
(curDom.childNodes.length === 1 &&
curDom.childNodes[0].tagName === "BR")) &&
(preDom.childNodes.length === 0 ||
(preDom.childNodes.length === 1 &&
preDom.childNodes[0].tagName === "BR"))
) {
removeDomByParent(curDom);
var startQuoteDom = preDom.previousElementSibling;
startQuoteDom && startQuoteDom.nodeName.toLowerCase() === "blockquote"
? (startQuoteDom.style.marginBottom = "10px")
: null;
var range = document.createRange();
range.selectNode(preDom);
s.removeAllRanges();
s.addRange(range);
RE.formatBlock();
}
}
}
});
document.addEventListener("selectionchange", function(e) {
var event = e || window.event;
var targetDom = event.target.activeElement;
if (targetDom.id === "editor" && targetDom.lastElementChild) {
if (typeClassList.indexOf(targetDom.lastElementChild.className) > -1) {
var brDom = document.createElement("br");
EditorDom.appendChild(brDom);
}
}
});
});

View File

@ -0,0 +1,18 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="normalize.css">
<link rel="stylesheet" type="text/css" href="style.css">
<link rel="stylesheet" type="text/css" href="video-js.min.css">
<!--<link rel="stylesheet" type="text/css" href="https://resource.ghzs.com/css/halo_app.css">-->
</head>
<body>
<div id="editor" contenteditable="false"></div>
<script type="text/javascript" src="zepto.min.js"></script>
<script type="text/javascript" src="rich_editor.js"></script>
<script type="text/javascript" src="video.min.js"></script>
<!--<script type="text/javascript" src="content.js"></script>-->
<!--<script type="text/javascript" src="https://resource.ghzs.com/js/halo_app.js"></script>-->
</body>
</html>

View File

@ -0,0 +1,40 @@
emoji_kf_1.png,:smile:
emoji_kf_2.png,:smiley:
emoji_kf_3.png,:laughing:
emoji_kf_4.png,:blush:
emoji_kf_5.png,:heart_eyes:
emoji_kf_6.png,:smirk:
emoji_kf_7.png,:flushed:
emoji_kf_8.png,:kissing_heart:
emoji_kf_9.png,:grin:
emoji_kf_10.png,:wink:
emoji_kf_11.png,:stuck_out_tongue_winking_eye:
emoji_kf_12.png,:stuck_out_tongue_closed eyes:
emoji_kf_13.png,:worried:
emoji_kf_14.png,:sleeping:
emoji_kf_15.png,:expressionless:
emoji_kf_16.png,:sweat_smile:
emoji_kf_17.png,:joy:
emoji_kf_18.png,:cold_sweat:
emoji_kf_19.png,:sob:
emoji_kf_20.png,:angry:
emoji_kf_21.png,:mask:
emoji_kf_22.png,:scream:
emoji_kf_23.png,:sunglasses:
emoji_kf_24.png,:heart:
emoji_kf_25.png,:broken_heart:
emoji_kf_26.png,:star:
emoji_kf_27.png,:anger:
emoji_kf_28.png,:exclamation:
emoji_kf_29.png,:question:
emoji_kf_30.png,:zzz:
emoji_kf_31.png,:thumbsup:
emoji_kf_32.png,:thumbsdown:
emoji_kf_33.png,:ok_hand:
emoji_kf_34.png,:punch:
emoji_kf_35.png,:yeah:
emoji_kf_36.png,:clap:
emoji_kf_37.png,:muscle:
emoji_kf_38.png,:pray:
emoji_kf_39.png,:skull:
emoji_kf_40.png,:trollface:

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -0,0 +1 @@
{"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":[]}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"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":[]}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"v":"5.5.9","fr":30,"ip":0,"op":20,"w":66,"h":66,"nm":"tab_index","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"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]},{"t":6,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[33,40.493,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.167,0.167,0.167],"y":[0,0,0]},"t":0,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.54,0.54,0.333],"y":[0,0,0]},"t":4,"s":[80,80,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.555,0.555,0.333],"y":[0,0,0]},"t":9,"s":[110,110,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.552,0.552,0.333],"y":[0,0,0]},"t":13,"s":[90,90,100]},{"t":16,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[5,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.635],"y":[0]},"t":0,"s":[0]},{"t":8,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","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":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-0.5,"op":59.5,"st":-0.5,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"路径备份","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[33,32.993,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.508,0.508,0.333],"y":[0,0,0]},"t":0,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.488,0.488,0.333],"y":[0,0,0]},"t":4,"s":[80,80,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.502,0.502,0.333],"y":[0,0,0]},"t":9,"s":[110,110,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.534,0.534,0.333],"y":[0,0,0]},"t":13,"s":[95,95,100]},{"t":16,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.24,-1.21],[-1.93,-1.89],[-0.24,-0.57],[0,-0.06],[0,-2.63],[1.76,0],[0,0],[0,1.72],[0,2.63],[-0.24,0.61],[-0.03,0.02],[-1.93,1.89]],"o":[[1.92,1.89],[0.02,0.02],[0.24,0.57],[0,2.63],[0,1.72],[0,0],[-1.76,0],[0,-2.62],[0,-0.07],[0.25,-0.61],[1.92,-1.89],[1.24,-1.21]],"v":[[2.26,-9.09],[8.03,-3.42],[8.76,-2.38],[9,-1.02],[9,6.88],[5.82,10],[-5.82,10],[-9,6.88],[-9,-0.99],[-8.71,-2.38],[-8.01,-3.43],[-2.23,-9.09]],"c":true},"ix":2},"nm":"路径 1","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,0.266,0.638,1,0.5,0.242,0.595,1,1,0.217,0.552,1],"ix":9}},"s":{"a":0,"k":[-4.902,-4.663],"ix":5},"e":{"a":0,"k":[8.159,8.646],"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}],"ip":0,"op":60,"st":0,"bm":0}],"markers":[]}

View File

@ -0,0 +1 @@
{"v":"5.5.9","fr":30,"ip":0,"op":20,"w":66,"h":66,"nm":"tab_video","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"形状图层 1","parent":2,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.771],"y":[0]},"t":0,"s":[0]},{"t":5,"s":[100]}],"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[-3.742,6.835,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[30.937,31.042,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"sr","sy":2,"d":1,"pt":{"a":0,"k":3,"ix":3},"p":{"a":0,"k":[0,0],"ix":4},"r":{"a":0,"k":0,"ix":5},"or":{"a":0,"k":29.286,"ix":7},"os":{"a":0,"k":75,"ix":9},"ix":1,"nm":"多边星形路径 1","mn":"ADBE Vector Shape - Star","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":13,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-20.75,-13.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[102.743,88.578],"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":"多边星形 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.657],"y":[0]},"t":0,"s":[0]},{"t":8,"s":[100]}],"ix":2},"o":{"a":0,"k":-115,"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"路径 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[33,33.004,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.508,0.508,0.333],"y":[0,0,0]},"t":0,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.488,0.488,0.333],"y":[0,0,0]},"t":4,"s":[80,80,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.502,0.502,0.333],"y":[0,0,0]},"t":9,"s":[110,110,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.534,0.534,0.333],"y":[0,0,0]},"t":13,"s":[95,95,100]},{"t":16,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[2.16,0.38],[3.22,-0.55],[0.38,-2.16],[-0.55,-3.22],[-2.16,-0.38],[-1.63,0],[-1.61,0.27],[-0.38,2.16],[0.55,3.22]],"o":[[-0.38,-2.16],[-3.22,-0.55],[-2.16,0.38],[-0.55,3.22],[0.38,2.16],[1.61,0.27],[1.63,0],[2.16,-0.38],[0.55,-3.22],[0,0]],"v":[[9.09,-4.86],[4.86,-9.09],[-4.86,-9.09],[-9.09,-4.86],[-9.09,4.86],[-4.86,9.09],[0,9.5],[4.86,9.09],[9.09,4.86],[9.09,-4.86]],"c":true},"ix":2},"nm":"路径 1","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,0.266,0.638,1,0.5,0.242,0.595,1,1,0.217,0.552,1],"ix":9}},"s":{"a":0,"k":[-5.174,-4.43],"ix":5},"e":{"a":0,"k":[8.612,8.214],"ix":6},"t":1,"nm":"Gradient Fill 3","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}],"ip":0,"op":60,"st":0,"bm":0}],"markers":[]}

View File

@ -0,0 +1,5 @@
# This is a simple Microlog configuration file
microlog.level=DEBUG
microlog.appender=LogCatAppender;FileAppender
microlog.formatter=PatternFormatter
microlog.formatter.PatternFormatter.pattern=%c [%P] %m %T

413
app/src/main/assets/normalize.css vendored Normal file
View File

@ -0,0 +1,413 @@
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
* 1. Set default font family to sans-serif.
* 2. Prevent iOS text size adjust after orientation change, without disabling
* user zoom.
*/
html {
font-family: sans-serif; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/**
* Remove default margin.
*/
body {
margin: 0;
}
/* HTML5 display definitions
========================================================================== */
/**
* Correct `block` display not defined for any HTML5 element in IE 8/9.
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox.
* Correct `block` display not defined for `main` in IE 11.
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
display: block;
}
/**
* 1. Correct `inline-block` display not defined in IE 8/9.
* 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
*/
audio,
canvas,
progress,
video {
display: inline-block; /* 1 */
vertical-align: baseline; /* 2 */
}
/**
* Prevent modern browsers from displaying `audio` without controls.
* Remove excess height in iOS 5 devices.
*/
audio:not([controls]) {
display: none;
height: 0;
}
/**
* Address `[hidden]` styling not present in IE 8/9/10.
* Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
*/
[hidden],
template {
display: none;
}
/* Links
========================================================================== */
/**
* Remove the gray background color from active links in IE 10.
*/
a {
background-color: transparent;
}
/**
* Improve readability when focused and also mouse hovered in all browsers.
*/
a:active,
a:hover {
outline: 0;
}
/* Text-level semantics
========================================================================== */
/**
* Address styling not present in IE 8/9/10/11, Safari, and Chrome.
*/
abbr[title] {
border-bottom: 1px dotted;
}
/**
* Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
*/
b,
strong {
font-weight: bold;
}
/**
* Address styling not present in Safari and Chrome.
*/
dfn {
font-style: italic;
}
/**
* Address variable `h1` font-size and margin within `section` and `article`
* contexts in Firefox 4+, Safari, and Chrome.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/**
* Address styling not present in IE 8/9.
*/
mark {
background: #ff0;
color: #000;
}
/**
* Address inconsistent and variable font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` affecting `line-height` in all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sup {
top: -0.5em;
}
sub {
bottom: -0.25em;
}
/* Embedded content
========================================================================== */
/**
* Remove border when inside `a` element in IE 8/9/10.
*/
img {
border: 0;
}
/**
* Correct overflow not hidden in IE 9/10/11.
*/
svg:not(:root) {
overflow: hidden;
}
/* Grouping content
========================================================================== */
/**
* Address margin not present in IE 8/9 and Safari.
*/
figure {
margin: 1em 40px;
}
/**
* Address differences between Firefox and other browsers.
*/
hr {
box-sizing: content-box;
height: 0;
}
/**
* Contain overflow in all browsers.
*/
pre {
overflow: auto;
}
/**
* Address odd `em`-unit font size rendering in all browsers.
*/
code,
kbd,
pre,
samp {
font-family: monospace, monospace;
font-size: 1em;
}
/* Forms
========================================================================== */
/**
* Known limitation: by default, Chrome and Safari on OS X allow very limited
* styling of `select`, unless a `border` property is set.
*/
/**
* 1. Correct color not being inherited.
* Known issue: affects color of disabled elements.
* 2. Correct font properties not being inherited.
* 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
*/
button,
input,
optgroup,
select,
textarea {
color: inherit; /* 1 */
font: inherit; /* 2 */
margin: 0; /* 3 */
}
/**
* Address `overflow` set to `hidden` in IE 8/9/10/11.
*/
button {
overflow: visible;
}
/**
* Address inconsistent `text-transform` inheritance for `button` and `select`.
* All other form control elements do not inherit `text-transform` values.
* Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
* Correct `select` style inheritance in Firefox.
*/
button,
select {
text-transform: none;
}
/**
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
* and `video` controls.
* 2. Correct inability to style clickable `input` types in iOS.
* 3. Improve usability and consistency of cursor style between image-type
* `input` and others.
*/
button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
-webkit-appearance: button; /* 2 */
cursor: pointer; /* 3 */
}
/**
* Re-set default cursor for disabled elements.
*/
button[disabled],
html input[disabled] {
cursor: default;
}
/**
* Address Firefox 4+ setting `line-height` on `input` using `!important` in
* the UA stylesheet.
*/
input {
line-height: normal;
}
/**
* It's recommended that you don't attempt to style these elements.
* Firefox's implementation doesn't respect box-sizing, padding, or width.
*
* 1. Address box sizing set to `content-box` in IE 8/9/10.
* 2. Remove excess padding in IE 8/9/10.
*/
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Fix the cursor style for Chrome's increment/decrement buttons. For certain
* `font-size` values of the `input`, it causes the cursor style of the
* decrement button to change from `default` to `text`.
*/
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Address `appearance` set to `searchfield` in Safari and Chrome.
* 2. Address `box-sizing` set to `border-box` in Safari and Chrome
*/
input[type="search"] {
-webkit-appearance: textfield; /* 1 */
-webkit-box-sizing: content-box; /* 2 */
box-sizing: content-box;
}
/**
* Remove inner padding and search cancel button in Safari and Chrome on OS X.
* Safari (but not Chrome) clips the cancel button when the search input has
* padding (and `textfield` appearance).
*/
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* Define consistent border, margin, and padding.
*/
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
/**
* 1. Correct `color` not being inherited in IE 8/9/10/11.
* 2. Remove padding so people aren't caught out if they zero out fieldsets.
*/
legend {
border: 0; /* 1 */
padding: 0; /* 2 */
}
/**
* Remove default vertical scrollbar in IE 8/9/10/11.
*/
textarea {
overflow: auto;
}
/**
* Don't inherit the `font-weight` (applied by a rule above).
* NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
*/
optgroup {
font-weight: bold;
}
/* Tables
========================================================================== */
/**
* Remove most spacing between table cells.
*/
table {
border-collapse: collapse;
border-spacing: 0;
}
td,
th {
padding: 0;
}

File diff suppressed because it is too large Load Diff

View File

@ -1,30 +1,149 @@
9u=\u4E5D\u6E38\u7248
360=360\u7248
baidu=\u767E\u5EA6\u7248
dangle=\u5F53\u4E50\u7248
ouwan=\u5076\u73A9\u7248
gf=\u5B98\u65B9\u7248
mi=\u5C0F\u7C73\u7248
oppo=OPPO\u7248
91=91\u7248
wdj=\u8C4C\u8C46\u835A\u7248
vivo=VIVO\u7248
pps=PPS\u7248
37wan=37\u73A9\u7248
anzhi=\u5B89\u667A\u7248
ewan=\u76CA\u73A9\u7248
huawei=\u534E\u4E3A\u7248
gf-h=\u5B98\u65B9-\u4E13\u670D\u7248
gf-z=\u5B98\u65B9-\u6DF7\u670D\u7248
shuizhu=\u6C34\u716E\u7248
jifeng=\u673A\u950B\u7248
azsc=\u5B89\u5353\u5E02\u573A\u7248
lenvono=\u8054\u60F3\u7248
jinshan=\u91D1\u5C71\u7248
mumayi=\u6728\u8682\u8681\u7248
gf-n=\u5B98\u7F51-\u5185\u7248
gf-w=\u5B98\u7F51-\u5916\u7248
duoku=\u591A\u9177\u7248
pptv=PPTV\u7248
\u5B98\u65B9\u7248=\u5B98\u65B9\u7248
\u5B98\u65B9=\u5B98\u65B9\u7248
9u=\u4e5d\u6e38
4399=\u0034\u0033\u0039\u0039
yyb=\u5e94\u7528\u5b9d
xm=\u5c0f\u7c73
dl=\u5f53\u4e50
91=\u0039\u0031
yw=\u76ca\u73a9
gf-w=\u5b98\u65b9\u5916
az=\u5b89\u667a
oppo=\u006f\u0070\u0070\u006f
wdj=\u8c4c\u8c46\u835a
360=\u0033\u0036\u0030
vivo=\u0076\u0069\u0076\u006f
pps=\u0050\u0050\u0053
hw=\u534e\u4e3a
37=\u0033\u0037\u73a9
baidu=\u767e\u5ea6
ow=\u5076\u73a9
gf=\u5b98\u65b9
lenovo=\u8054\u60f3
pptv=\u0050\u0050\u0054\u0056
jf=\u673a\u950b
mumayi=\u6728\u8682\u8681
8868=\u0038\u0038\u0036\u0038
19196=\u0031\u0039\u0031\u0039\u0036
07073=\u0030\u0037\u0030\u0037\u0033
gp=\u679c\u76d8
mzw=\u62c7\u6307\u73a9
af=\u5b89\u950b
lb=\u730e\u5b9d
ayx=\u963f\u6e38\u620f
tt=\u0054\u0054
xiongmao=\u718a\u732b\u73a9
aq=\u5b89\u8da3
ls=\u4e50\u89c6
jl=\u91d1\u7acb
lehh=\u4e50\u55e8\u55e8
pyw=\u670b\u53cb\u73a9
azsc=\u5b89\u5353\u5e02\u573a
hyx=\u548c\u6e38\u620f
aiyouxi=\u7231\u6e38\u620f
woyouxi=\u6c83\u6e38\u620f
lg=\u4e50\u8d2d\u0028\u70b9\u70b9\u0029
gf-h=\u0028\u65e7\u0029\u5b98\u65b9\u4e13\u670d
gf-z=\u0028\u65e7\u0029\u5b98\u65b9\u6df7\u670d
gfzf=\u5b98\u65b9\u4e13\u670d
gfhf=\u5b98\u65b9\u6df7\u670d
owzf=\u5076\u73a9\u4e13\u670d
gf-n=\u5b98\u65b9\u5185
my=\u9b54\u9047
jinshan=\u91d1\u5c71
duoku=\u591a\u9177
yk=\u4f18\u9177
xl=\u65b0\u6d6a
sougou=\u641c\u72d7
dy=\u6597\u9c7c
dw=\u591a\u73a9
tf=\u53f0\u670d
xunlei=\u8fc5\u96f7
ky=\u5feb\u7528
lenvono=\u0028\u65e7\u0029\u8054\u60f3
jifeng=\u0028\u65e7\u0029\u673a\u950b
anzhi=\u0028\u65e7\u0029\u5b89\u667a
37wan=\u0028\u65e7\u0029\u0033\u0037\u73a9
ewan=\u0028\u65e7\u0029\u76ca\u73a9
mi=\u0028\u65e7\u0029\u5c0f\u7c73
dangle=\u0028\u65e7\u0029\u5f53\u4e50
ouwan=\u0028\u65e7\u0029\u5076\u73a9
ttyy=\u0028\u65e7\u0029\u0054\u0054
huawei=\u0028\u65e7\u0029\u534e\u4e3a
shuizhu=\u0028\u65e7\u0029\u6c34\u716e
43997=\u0034\u0033\u0039\u0039\u0037
19196zf=\u0031\u0039\u0031\u0039\u0036\u4e13\u670d
51508=\u0035\u0031\u0035\u0030\u0038
zzb=\u81f3\u5c0a\u5b9d
wkd=\u73a9\u5ba2\u7248
yq=\u4f18\u8da3
tiantian=\u5929\u5929
ddw=\u70b9\u70b9\u73a9
by=\u7206\u6e38
as=\u7231\u4e0a
flb=\u5c0f\u7b28\u6e38\u620f
cf=\u695a\u98ce
itools=\u0049\u0054\u004f\u004f\u004c\u0053
ayw=\u7231\u7ea6\u73a9
cc=\u866b\u866b
kpzs=\u9760\u8c31\u52a9\u624b
xtt=\u65b0\u0074\u0074
yt=\u6e38\u9014\u7248
9665=\u0039\u0036\u0036\u0035
lehhkf=\u4e50\u55e8\u55e8\u006b\u0066
lehhol=\u4e50\u55e8\u55e8\u006f\u006c
afly=\u5b89\u950b\u006c\u0079
360hf=\u0033\u0036\u0030\u6df7\u670d\u7248
qql=\u9f50\u9f50\u4e50
yehuo=\u91ce\u706b\u7248
jizhi=\u6781\u81f4\u7248
shengxun=\u76db\u8baf\u6e38\u620f
9upt=\u4e5d\u6e38\u666e\u901a\u7248
9ujs=\u4e5d\u6e38\u52a0\u901f\u7248
xmpt=\u5c0f\u7c73\u666e\u901a\u7248
xmjs=\u5c0f\u7c73\u52a0\u901f\u7248
gfpt=\u5b98\u65b9\u666e\u901a\u7248
gfjs=\u5b98\u65b9\u52a0\u901f\u7248
wkd1=\u73a9\u5ba2\u65b0\u7248
5288=\u0035\u0032\u0038\u0038
7guo=\u4e03\u679c
zhanyou=\u5c55\u6e38\u7248
babie=\u5df4\u522b\u65f6\u4ee3\u7248
yueyou=\u7ea6\u6e38\u7248
kuniu=\u9177\u725b\u7248
chukong=\u89e6\u63a7\u7248
changxiang=\u7545\u60f3\u7248
zhuohua=\u707c\u534e\u7248
duokemeng=\u54c6\u53ef\u68a6\u7248
xuanyun=\u7384\u4e91\u7248
hanqu=\u701a\u8da3\u7248
wapu=\u86d9\u6251\u7248
shengli=\u80dc\u5229\u6e38\u620f\u7248
heitao=\u9ed1\u6843\u4e92\u52a8\u7248
xumei=\u65ed\u6885\u6e38\u620f\u7248
weixun=\u5fae\u8baf\u7248
tianxiang=\u5929\u8c61\u4e92\u52a8\u7248
taiqi=\u6cf0\u5947\u7248
chujian=\u521d\u89c1\u7248
gaiya=\u76d6\u5a05\u7248
wanmei=\u5b8c\u7f8e\u4e16\u754c\u7248
zhuoyue=\u5353\u8d8a\u7248
meifeng=\u7f8e\u5cf0\u7248
xuanji=\u7384\u673a\u7248
changyou=\u7545\u6e38\u7248
syg=\u624b\u6e38\u72d7
youzu=\u6e38\u65cf\u7248
bili=\u0062\u0069\u006c\u0069\u0062\u0069\u006c\u0069\u7248
ly=\u4e50\u6e38
gfwy=\u7f51\u9875\u7248
miqi=\u7c73\u5947\u73a9
ayw=\u6e38\u620f\u0066\u0061\u006e
ys=\u591c\u795e\u7248
aofei=\u5965\u98de
mgw=\u8611\u83c7\u73a9
longc=\u9f99\u57ce\u7248
16y=\u0031\u0036\u6e38
xq=\u5c0f\u4e03
yuwan=\u9c7c\u4e38\u7248
jgp=\u679c\u76d8\u65e7
lequ=\u6dd8\u8da3
jianguo=\u575a\u679c\u7248
yanmeng=\u5ef6\u68a6\u7248

View File

@ -0,0 +1,619 @@
/**
* Copyright (C) 2017 Wasabeef
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// alert("")
var RE = {};
RE.currentSelection = {
"startContainer": 0,
"startOffset": 0,
"endContainer": 0,
"endOffset": 0};
var isDebug = false;
try {
isDebug = window.NativeCallBack.isNativeBuildDebug()
} catch(error) {
}
// 引用远端的JS 和 CSS
var script = document.createElement("script")
document.body.appendChild(script)
if (isDebug) {
script.src = "https://resource.ghzs.com/js/halo_app_test.js" + "?timestamp=" + Math.round(new Date().getTime() / 1000)
} else {
script.src = "https://resource.ghzs.com/js/halo.js" + "?timestamp=" + Math.round(new Date().getTime() / 1000 / 1000)
}
var style = document.createElement("link")
style.rel = "stylesheet"
style.type = "text/css"
if (isDebug) {
style.href = "https://resource.ghzs.com/css/halo_app_test.css" + "?timestamp=" + Math.round(new Date().getTime() / 1000)
} else {
style.href = "https://resource.ghzs.com/css/halo.css" + "?timestamp=" + Math.round(new Date().getTime() / 1000 / 1000)
}
document.head.appendChild(style)
RE.editor = document.getElementById('editor');
document.addEventListener("selectionchange", function() { RE.backuprange(); });
// Initializations
RE.callback = function() {
window.location.href = "re-callback://" + encodeURIComponent(RE.getHtml());
}
RE.setHtml = function(contents) {
RE.editor.innerHTML = decodeURIComponent(contents.replace(/\+/g, '%20'));
}
// 后续初始化html代码,都用该方法
RE.setHtmlByVideoStatus = function(contents) {
RE.editor.innerHTML = decodeURIComponent(contents.replace(/\+/g, '%20'));
}
// Deprecated
RE.getHtml = function() {
return RE.editor.innerHTML;
}
RE.getText = function() {
return RE.editor.innerText;
}
RE.setBaseTextColor = function(color) {
RE.editor.style.color = color;
}
RE.setBaseFontSize = function(size) {
RE.editor.style.fontSize = size;
}
RE.setPadding = function(left, top, right, bottom) {
RE.editor.style.paddingLeft = left;
RE.editor.style.paddingTop = top;
RE.editor.style.paddingRight = right;
RE.editor.style.paddingBottom = bottom;
}
RE.setBackgroundColor = function(color) {
document.body.style.backgroundColor = color;
}
RE.setBackgroundImage = function(image) {
RE.editor.style.backgroundImage = image;
}
RE.setWidth = function(size) {
RE.editor.style.minWidth = size;
}
RE.setHeight = function(size) {
RE.editor.style.height = size;
}
RE.setTextAlign = function(align) {
RE.editor.style.textAlign = align;
}
RE.setVerticalAlign = function(align) {
RE.editor.style.verticalAlign = align;
}
RE.setPlaceholder = function(placeholder) {
RE.editor.setAttribute("placeholder", placeholder);
}
RE.setEditorFocus = function() {
RE.editor.focus();
}
RE.setInputEnabled = function(inputEnabled) {
RE.editor.contentEditable = String(inputEnabled);
}
RE.formatBlock = function() {
document.execCommand('formatBlock', false, 'p');
}
RE.undo = function() {
document.execCommand('undo', false, null);
}
RE.redo = function() {
document.execCommand('redo', false, null);
}
RE.setBold = function() {
document.execCommand('bold', false, null);
}
RE.setItalic = function() {
document.execCommand('italic', false, null);
}
RE.setSubscript = function() {
document.execCommand('subscript', false, null);
}
RE.setSuperscript = function() {
document.execCommand('superscript', false, null);
}
RE.setStrikeThrough = function() {
document.execCommand('strikeThrough', false, null);
}
RE.setUnderline = function() {
document.execCommand('underline', false, null);
}
RE.setBullets = function() {
document.execCommand('insertUnorderedList', false, null);
}
RE.setNumbers = function() {
document.execCommand('insertOrderedList', false, null);
}
RE.setTextColor = function(color) {
RE.restorerange();
document.execCommand("styleWithCSS", null, true);
document.execCommand('foreColor', false, color);
document.execCommand("styleWithCSS", null, false);
}
RE.setTextBackgroundColor = function(color) {
RE.restorerange();
document.execCommand("styleWithCSS", null, true);
document.execCommand('hiliteColor', false, color);
document.execCommand("styleWithCSS", null, false);
}
RE.setFontSize = function(fontSize){
document.execCommand("fontSize", false, fontSize);
}
RE.setHeading = function(heading) {
document.execCommand('formatBlock', false, '<h'+heading+'>');
RE.sendElementNameToNative()
}
RE.setIndent = function() {
document.execCommand('indent', false, null);
}
RE.setOutdent = function() {
document.execCommand('outdent', false, null);
}
RE.setJustifyLeft = function() {
document.execCommand('justifyLeft', false, null);
}
RE.setJustifyCenter = function() {
document.execCommand('justifyCenter', false, null);
}
RE.setJustifyRight = function() {
document.execCommand('justifyRight', false, null);
}
RE.setBlockquote = function() {
document.execCommand('formatBlock', false, '<blockquote>');
// var blockId = window.getSelection().focusNode.parentNode;
// $(blockId).addClass("haloBlock")
RE.sendElementNameToNative()
}
RE.insertImage = function(url) {
var html = "<div><img src =\"" + url + "\" style=\" max-width: 100%; display:block; margin:15px auto; height: auto;\"></div><br>"
RE.insertHTML(html);
}
// 替换成缩略图
RE.replaceTbImage = function(imgRuleFlag, gifRuleFlag) {
var imgs = document.getElementsByTagName("img");
var index = 0
for (var i = 0; i < imgs.length; i++) {
var img = imgs[i];
var imageClassName = img.className;
// console.log(imageClassName)
if (imageClassName == "image-link" || img.className == "poster") continue;
if(img.src.indexOf("?") > 0) continue;
// console.log(i)
var tbImg
if(img.src.indexOf(".gif") > 0) {
tbImg = img.src + gifRuleFlag
} else {
tbImg = img.src + imgRuleFlag
}
img.style.cssText = "max-width: 60%; display:block; margin:15px auto; height: auto;"
img.src = tbImg;
if (index == 0) {
var bigImg = document.createElement('img');
bigImg.src = "file:///android_asset/web_load_dfimg_icon.png";
bigImg.style.cssText = "max-width: 20%; margin:15px 0 0 0; height: auto;"
img.parentNode.insertBefore(bigImg, img.parentNode.childNodes[0]);
i++;
if(img.parentNode != null) {
img.parentNode.style.cssText += "text-align: left;"
}
if(img.parentNode != null && img.parentNode.parentNode != null) {
img.parentNode.parentNode.style.cssText += "text-align: left;"
}
}
index ++;
}
}
// 替换成默认图
RE.replaceAllDfImage = function(imgRuleFlag, gifRuleFlag) {
var imgs = document.getElementsByTagName("img");
for (var i = 0; i < imgs.length; i++) {
var img = imgs[i];
var imageClassName = img.className;
if (imageClassName == "image-link" || img.className == "poster") continue;
if(img.src.indexOf("web_load_dfimg_icon") > 0) {
img.parentNode.removeChild(img.parentNode.childNodes[0]);
i--;
} else {
if(img.src.indexOf(".gif") > 0) {
if(gifRuleFlag.indexOf(",default") > 0) {
img.style.cssText = "max-width: 100%; display:block; margin:8px auto; height: auto;"
img.src = img.src.split("?")[0] + gifRuleFlag
}
} else {
img.style.cssText = "max-width: 100%; display:block; margin:8px auto; height: auto;"
img.src = img.src.split("?")[0] + imgRuleFlag
}
}
}
}
// 去除显示大图
RE.hideShowBigPic = function() {
var imgs = document.getElementsByTagName("img");
var j = 0;
for (var i = 0; i < imgs.length; i++) {
var img = imgs[i];
var imageClassName = img.className;
if (imageClassName == "image-link" || img.className == "poster") continue;
if(img.src.indexOf(",thumbnail") > 0 && img.src.indexOf(".gif") == -1) {
j++;
}
}
// 去除显示大图
if (j == 0) {
var imgs = document.getElementsByTagName("img");
for (var i = 0; i < imgs.length; i++) {
var img = imgs[i];
var imageClassName = img.className;
if (imageClassName == "image-link" || img.className == "poster") continue;
if(img.src.indexOf("web_load_dfimg_icon") > 0) {
img.parentNode.removeChild(img.parentNode.childNodes[0]);
break;
}
}
}
}
RE.replaceDfImageByUrl = function(imgUrl, imgRuleFlag, gifRuleFlag) {
var imgs = document.getElementsByTagName("img");
for (var i = 0; i < imgs.length; i++) {
var img = imgs[i];
var imageClassName = img.className;
if (imageClassName == "image-link" || img.className == "poster") continue;
if (img.src.indexOf(imgUrl) != -1) {
img.style.cssText = "max-width: 100%; display:block; margin:8px auto; height: auto;"
if(img.src.indexOf(".gif") > 0) {
img.src = img.src.split("?")[0] + gifRuleFlag
} else {
img.src = img.src.split("?")[0] + imgRuleFlag
}
}
}
RE.hideShowBigPic();
}
RE.ImageClickListener = function() {
var imgs = document.getElementsByTagName("img");
for (var i = 0; i < imgs.length; i++) {
var img = imgs[i];
var imageClassName = img.className;
if (imageClassName == "image-link"|| img.className == "poster") continue;
window.imagelistener.imageArr(img.src);
img.onclick = function() {
window.imagelistener.imageClick(this.src);
}
}
}
RE.insertHTML = function(html) {
RE.restorerange();
document.execCommand('insertHTML', false, html);
}
RE.insertLink = function(url, title) {
RE.restorerange();
var sel = document.getSelection();
if (sel.toString().length == 0) {
document.execCommand("insertHTML",false,"<a href='"+url+"'>"+title+"</a>");
} else if (sel.rangeCount) {
var el = document.createElement("a");
el.setAttribute("href", url);
el.setAttribute("title", title);
var range = sel.getRangeAt(0).cloneRange();
range.surroundContents(el);
sel.removeAllRanges();
sel.addRange(range);
}
RE.callback();
}
RE.setTodo = function(text) {
var html = '<input type="checkbox" name="'+ text +'" value="'+ text +'"/> &nbsp;';
document.execCommand('insertHTML', false, html);
}
RE.prepareInsert = function() {
RE.backuprange();
}
RE.backuprange = function(){
var selection = window.getSelection();
if (selection.rangeCount > 0) {
var range = selection.getRangeAt(0);
RE.currentSelection = {
"startContainer": range.startContainer,
"startOffset": range.startOffset,
"endContainer": range.endContainer,
"endOffset": range.endOffset};
}
}
RE.restorerange = function(){
try {
var selection = window.getSelection();
selection.removeAllRanges();
var range = document.createRange();
range.setStart(RE.currentSelection.startContainer, RE.currentSelection.startOffset);
range.setEnd(RE.currentSelection.endContainer, RE.currentSelection.endOffset);
selection.addRange(range);
} catch(error) {
}
}
RE.enabledEditingItems = function(e) {
var items = [];
if (document.queryCommandState('bold')) {
items.push('bold');
}
if (document.queryCommandState('italic')) {
items.push('italic');
}
if (document.queryCommandState('subscript')) {
items.push('subscript');
}
if (document.queryCommandState('superscript')) {
items.push('superscript');
}
if (document.queryCommandState('strikeThrough')) {
items.push('strikeThrough');
}
if (document.queryCommandState('underline')) {
items.push('underline');
}
if (document.queryCommandState('insertOrderedList')) {
items.push('orderedList');
}
if (document.queryCommandState('insertUnorderedList')) {
items.push('unorderedList');
}
if (document.queryCommandState('justifyCenter')) {
items.push('justifyCenter');
}
if (document.queryCommandState('justifyFull')) {
items.push('justifyFull');
}
if (document.queryCommandState('justifyLeft')) {
items.push('justifyLeft');
}
if (document.queryCommandState('justifyRight')) {
items.push('justifyRight');
}
if (document.queryCommandState('insertHorizontalRule')) {
items.push('horizontalRule');
}
var formatBlock = document.queryCommandValue('formatBlock');
if (formatBlock.length > 0) {
items.push(formatBlock);
}
window.location.href = "re-state://" + encodeURI(items.join(','));
}
RE.focus = function() {
var range = document.createRange();
range.selectNodeContents(RE.editor);
range.collapse(false);
var selection = window.getSelection();
selection.removeAllRanges();
selection.addRange(range);
RE.editor.focus();
}
RE.blurFocus = function() {
RE.editor.blur();
}
RE.removeFormat = function() {
document.execCommand('removeFormat', false, null);
}
RE.insertCustomStyleLink = function(data) {
var entity = JSON.parse(data)
var html = "<br/><div class='"+ entity.type +"-container'>\n" +
" <a class='"+ entity.type +"' href=\"javascript:void(0);\" contenteditable=\"false\" onclick=\"customLinkgo(this)\" data-datas='"+ data +"'>\n" +
" <div class='flex-container'>\n" +
" <div class='gh-internal-content img-left'>\n" +
" <img class = \"image-link\" src='"+ entity.icon +"' />\n" +
" </div>\n" +
" <div class='gh-internal-content content-right'>\n" +
" <p class='content-title'>"+ entity.title +"</p>\n" +
" <p class='contents'>"+ entity.brief +"</p>\n" +
" </div>\n" +
" </div>\n" +
" </a>\n" +
" </div><br/>"
var tags = "", gameHtml = ""
if (entity.tags != null) {
for (var i = 0; i < entity.tags.length; i++) {
tags += "<label>"+ entity.tags[i]+"</label>"
}
gameHtml = "<br/><div class='"+ entity.type +"-container'>\n" +
" <a class='"+ entity.type +"' href=\"javascript:void(0);\" contenteditable=\"false\" onclick=\"customLinkgo(this)\" data-datas='"+ data +"'>\n" +
" <div class='flex-container'>\n" +
" <div class='gh-internal-content img-left'>\n" +
" <img class='image-link' src='"+ entity.icon +"' />\n" +
" </div>\n" +
" <div class='gh-internal-content content-right'>\n" +
" <p class='content-title'>"+ entity.title +"</p>\n" +
" <p class='tags'>"+ tags +"</p>\n" +
" </div>\n" +
" </div>\n" +
" </a></div><br/>"
}
switch(entity.type) {
case "answer":
document.execCommand("insertHTML",false, html);
break
case "community_article":
document.execCommand("insertHTML",false, html);
break
case "game":
document.execCommand("insertHTML",false, gameHtml);
break
}
RE.callback();
}
RE.showLinkStyle = function() {
var answerElement = document.getElementsByClassName("answer-container");
for (var i=0;i<answerElement.length;i+=1){
answerElement[i].style.display = 'inline';
}
var articleElement = document.getElementsByClassName("community_article-container");
for (var i=0;i<articleElement.length;i+=1){
articleElement[i].style.display = 'inline';
}
var gameElement = document.getElementsByClassName("game-container");
for (var i=0;i<gameElement.length;i+=1){
gameElement[i].style.display = 'inline';
}
}
RE.hideLinkStyle = function() {
var answerElement = document.getElementsByClassName("answer-container");
for (var i=0;i<answerElement.length;i+=1){
answerElement[i].style.display = 'none';
}
var articleElement = document.getElementsByClassName("community_article-container");
for (var i=0;i<articleElement.length;i+=1){
articleElement[i].style.display = 'none';
}
var gameElement = document.getElementsByClassName("game-container");
for (var i=0;i<gameElement.length;i+=1){
gameElement[i].style.display = 'none';
}
}
// Event Listeners
RE.editor.addEventListener("input", RE.callback);
RE.editor.addEventListener("keyup", function(e) {
var KEY_LEFT = 37, KEY_RIGHT = 39;
if (e.which == KEY_LEFT || e.which == KEY_RIGHT) {
RE.enabledEditingItems(e);
}
RE.sendElementNameToNative()
});
RE.editor.addEventListener("click", function(e) {
RE.enabledEditingItems
RE.sendElementNameToNative()
var s = document.getSelection()
var isNeedRemoveR = RE.recursion(e.target)
if (isNeedRemoveR && s.rangeCount) {
s.removeAllRanges()
}
});
document.addEventListener("selectionchange", function(e) {
RE.sendElementNameToNative()
});
RE.recursion = function(dom) {
var parenDom = dom.parentElement
if (parenDom && parenDom instanceof Element &&
typeClassList.indexOf(parenDom.className) > -1) {
return parenDom
} else if(parenDom && parenDom instanceof Element &&
typeClassList.indexOf(parenDom.className) === -1 && parenDom.nodeName !== 'BODY') {
return RE.recursion(parenDom)
} else {
return null
}
}
// 返回组件标签 多个标签以"空格"划分
RE.sendElementNameToNative = function() {
if (window.getSelection) {
var selection = window.getSelection()
if (selection.rangeCount > 0) {
var range = selection.getRangeAt(0);
var container = range.startContainer;
var elements = " " + container.localName + " ";
var parentElement;
while(true) {
if(parentElement != null) {
parentElement = parentElement.parentElement
} else {
parentElement = container.parentElement
}
if (parentElement == null || parentElement.localName == null) {
break;
}
elements = elements + " " + parentElement.localName + " "
}
// console.log(elements)
window.OnCursorChangeListener.onElements(elements);
}
}
}

View File

@ -0,0 +1,43 @@
/**
* Copyright (C) 2017 Wasabeef
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
@charset "UTF-8";
html {
height: 100%;
}
body {
overflow: scroll;
display: table;
table-layout: fixed;
width: 100%;
min-height:100%;
}
#editor {
display: table-cell;
outline: 0px solid transparent;
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}
#editor[placeholder]:empty:not(:focus):before {
content: attr(placeholder);
opacity: .5;
}}

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

2
app/src/main/assets/zepto.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -1,697 +0,0 @@
/*
* Copyright (C) 2014 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.support.v7.widget;
import android.support.v4.util.Pools;
import android.util.Log;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import static android.support.v7.widget.RecyclerView.ViewHolder;
/**
* Helper class that can enqueue and process adapter update operations.
* <p>
* To support animations, RecyclerView presents an older version the Adapter to best represent
* previous state of the layout. Sometimes, this is not trivial when items are removed that were
* not laid out, in which case, RecyclerView has no way of providing that item's view for
* animations.
* <p>
* AdapterHelper creates an UpdateOp for each adapter data change then pre-processes them. During
* pre processing, AdapterHelper finds out which UpdateOps can be deferred to second layout pass
* and which cannot. For the UpdateOps that cannot be deferred, AdapterHelper will change them
* according to previously deferred operation and dispatch them before the first layout pass. It
* also takes care of updating deferred UpdateOps since order of operations is changed by this
* process.
* <p>
* Although operations may be forwarded to LayoutManager in different orders, resulting data set
* is guaranteed to be the consistent.
*/
class AdapterHelper implements OpReorderer.Callback {
final static int POSITION_TYPE_INVISIBLE = 0;
final static int POSITION_TYPE_NEW_OR_LAID_OUT = 1;
private static final boolean DEBUG = false;
private static final String TAG = "AHT";
private Pools.Pool<UpdateOp> mUpdateOpPool = new Pools.SimplePool<UpdateOp>(UpdateOp.POOL_SIZE);
final ArrayList<UpdateOp> mPendingUpdates = new ArrayList<UpdateOp>();
final ArrayList<UpdateOp> mPostponedList = new ArrayList<UpdateOp>();
final Callback mCallback;
Runnable mOnItemProcessedCallback;
final boolean mDisableRecycler;
final OpReorderer mOpReorderer;
AdapterHelper(Callback callback) {
this(callback, false);
}
AdapterHelper(Callback callback, boolean disableRecycler) {
mCallback = callback;
mDisableRecycler = disableRecycler;
mOpReorderer = new OpReorderer(this);
}
AdapterHelper addUpdateOp(UpdateOp... ops) {
Collections.addAll(mPendingUpdates, ops);
return this;
}
void reset() {
recycleUpdateOpsAndClearList(mPendingUpdates);
recycleUpdateOpsAndClearList(mPostponedList);
}
void preProcess() {
mOpReorderer.reorderOps(mPendingUpdates);
final int count = mPendingUpdates.size();
for (int i = 0; i < count; i++) {
UpdateOp op = mPendingUpdates.get(i);
switch (op.cmd) {
case UpdateOp.ADD:
applyAdd(op);
break;
case UpdateOp.REMOVE:
applyRemove(op);
break;
case UpdateOp.UPDATE:
applyUpdate(op);
break;
case UpdateOp.MOVE:
applyMove(op);
break;
}
if (mOnItemProcessedCallback != null) {
mOnItemProcessedCallback.run();
}
}
mPendingUpdates.clear();
}
void consumePostponedUpdates() {
final int count = mPostponedList.size();
for (int i = 0; i < count; i++) {
mCallback.onDispatchSecondPass(mPostponedList.get(i));
}
recycleUpdateOpsAndClearList(mPostponedList);
}
private void applyMove(UpdateOp op) {
// MOVE ops are pre-processed so at this point, we know that item is still in the adapter.
// otherwise, it would be converted into a REMOVE operation
postponeAndUpdateViewHolders(op);
}
private void applyRemove(UpdateOp op) {
int tmpStart = op.positionStart;
int tmpCount = 0;
int tmpEnd = op.positionStart + op.itemCount;
int type = -1;
for (int position = op.positionStart; position < tmpEnd; position++) {
boolean typeChanged = false;
ViewHolder vh = mCallback.findViewHolder(position);
if (vh != null || canFindInPreLayout(position)) {
// If a ViewHolder exists or this is a newly added item, we can defer this update
// to post layout stage.
// * For existing ViewHolders, we'll fake its existence in the pre-layout phase.
// * For items that are added and removed in the same process cycle, they won't
// have any effect in pre-layout since their add ops are already deferred to
// post-layout pass.
if (type == POSITION_TYPE_INVISIBLE) {
// Looks like we have other updates that we cannot merge with this one.
// Create an UpdateOp and dispatch it to LayoutManager.
UpdateOp newOp = obtainUpdateOp(UpdateOp.REMOVE, tmpStart, tmpCount);
dispatchAndUpdateViewHolders(newOp);
typeChanged = true;
}
type = POSITION_TYPE_NEW_OR_LAID_OUT;
} else {
// This update cannot be recovered because we don't have a ViewHolder representing
// this position. Instead, post it to LayoutManager immediately
if (type == POSITION_TYPE_NEW_OR_LAID_OUT) {
// Looks like we have other updates that we cannot merge with this one.
// Create UpdateOp op and dispatch it to LayoutManager.
UpdateOp newOp = obtainUpdateOp(UpdateOp.REMOVE, tmpStart, tmpCount);
postponeAndUpdateViewHolders(newOp);
typeChanged = true;
}
type = POSITION_TYPE_INVISIBLE;
}
if (typeChanged) {
position -= tmpCount; // also equal to tmpStart
tmpEnd -= tmpCount;
tmpCount = 1;
} else {
tmpCount++;
}
}
if (tmpCount != op.itemCount) { // all 1 effect
recycleUpdateOp(op);
op = obtainUpdateOp(UpdateOp.REMOVE, tmpStart, tmpCount);
}
if (type == POSITION_TYPE_INVISIBLE) {
dispatchAndUpdateViewHolders(op);
} else {
postponeAndUpdateViewHolders(op);
}
}
private void applyUpdate(UpdateOp op) {
int tmpStart = op.positionStart;
int tmpCount = 0;
int tmpEnd = op.positionStart + op.itemCount;
int type = -1;
for (int position = op.positionStart; position < tmpEnd; position++) {
ViewHolder vh = mCallback.findViewHolder(position);
if (vh != null || canFindInPreLayout(position)) { // deferred
if (type == POSITION_TYPE_INVISIBLE) {
UpdateOp newOp = obtainUpdateOp(UpdateOp.UPDATE, tmpStart, tmpCount);
dispatchAndUpdateViewHolders(newOp);
tmpCount = 0;
tmpStart = position;
}
type = POSITION_TYPE_NEW_OR_LAID_OUT;
} else { // applied
if (type == POSITION_TYPE_NEW_OR_LAID_OUT) {
UpdateOp newOp = obtainUpdateOp(UpdateOp.UPDATE, tmpStart, tmpCount);
postponeAndUpdateViewHolders(newOp);
tmpCount = 0;
tmpStart = position;
}
type = POSITION_TYPE_INVISIBLE;
}
tmpCount++;
}
if (tmpCount != op.itemCount) { // all 1 effect
recycleUpdateOp(op);
op = obtainUpdateOp(UpdateOp.UPDATE, tmpStart, tmpCount);
}
if (type == POSITION_TYPE_INVISIBLE) {
dispatchAndUpdateViewHolders(op);
} else {
postponeAndUpdateViewHolders(op);
}
}
private void dispatchAndUpdateViewHolders(UpdateOp op) {
// tricky part.
// traverse all postpones and revert their changes on this op if necessary, apply updated
// dispatch to them since now they are after this op.
if (op.cmd == UpdateOp.ADD || op.cmd == UpdateOp.MOVE) {
throw new IllegalArgumentException("should not dispatch add or move for pre layout");
}
if (DEBUG) {
Log.d(TAG, "dispatch (pre)" + op);
Log.d(TAG, "postponed state before:");
for (UpdateOp updateOp : mPostponedList) {
Log.d(TAG, updateOp.toString());
}
Log.d(TAG, "----");
}
// handle each pos 1 by 1 to ensure continuity. If it breaks, dispatch partial
// TODO Since move ops are pushed to end, we should not need this anymore
int tmpStart = updatePositionWithPostponed(op.positionStart, op.cmd);
if (DEBUG) {
Log.d(TAG, "pos:" + op.positionStart + ",updatedPos:" + tmpStart);
}
int tmpCnt = 1;
int offsetPositionForPartial = op.positionStart;
final int positionMultiplier;
switch (op.cmd) {
case UpdateOp.UPDATE:
positionMultiplier = 1;
break;
case UpdateOp.REMOVE:
positionMultiplier = 0;
break;
default:
throw new IllegalArgumentException("op should be remove or update." + op);
}
for (int p = 1; p < op.itemCount; p++) {
final int pos = op.positionStart + (positionMultiplier * p);
int updatedPos = updatePositionWithPostponed(pos, op.cmd);
if (DEBUG) {
Log.d(TAG, "pos:" + pos + ",updatedPos:" + updatedPos);
}
boolean continuous = false;
switch (op.cmd) {
case UpdateOp.UPDATE:
continuous = updatedPos == tmpStart + 1;
break;
case UpdateOp.REMOVE:
continuous = updatedPos == tmpStart;
break;
}
if (continuous) {
tmpCnt++;
} else {
// need to dispatch this separately
UpdateOp tmp = obtainUpdateOp(op.cmd, tmpStart, tmpCnt);
if (DEBUG) {
Log.d(TAG, "need to dispatch separately " + tmp);
}
dispatchFirstPassAndUpdateViewHolders(tmp, offsetPositionForPartial);
recycleUpdateOp(tmp);
if (op.cmd == UpdateOp.UPDATE) {
offsetPositionForPartial += tmpCnt;
}
tmpStart = updatedPos;// need to remove previously dispatched
tmpCnt = 1;
}
}
recycleUpdateOp(op);
if (tmpCnt > 0) {
UpdateOp tmp = obtainUpdateOp(op.cmd, tmpStart, tmpCnt);
if (DEBUG) {
Log.d(TAG, "dispatching:" + tmp);
}
dispatchFirstPassAndUpdateViewHolders(tmp, offsetPositionForPartial);
recycleUpdateOp(tmp);
}
if (DEBUG) {
Log.d(TAG, "post dispatch");
Log.d(TAG, "postponed state after:");
for (UpdateOp updateOp : mPostponedList) {
Log.d(TAG, updateOp.toString());
}
Log.d(TAG, "----");
}
}
void dispatchFirstPassAndUpdateViewHolders(UpdateOp op, int offsetStart) {
mCallback.onDispatchFirstPass(op);
switch (op.cmd) {
case UpdateOp.REMOVE:
mCallback.offsetPositionsForRemovingInvisible(offsetStart, op.itemCount);
break;
case UpdateOp.UPDATE:
mCallback.markViewHoldersUpdated(offsetStart, op.itemCount);
break;
default:
throw new IllegalArgumentException("only remove and update ops can be dispatched"
+ " in first pass");
}
}
private int updatePositionWithPostponed(int pos, int cmd) {
final int count = mPostponedList.size();
for (int i = count - 1; i >= 0; i--) {
UpdateOp postponed = mPostponedList.get(i);
if (postponed.cmd == UpdateOp.MOVE) {
int start, end;
if (postponed.positionStart < postponed.itemCount) {
start = postponed.positionStart;
end = postponed.itemCount;
} else {
start = postponed.itemCount;
end = postponed.positionStart;
}
if (pos >= start && pos <= end) {
//i'm affected
if (start == postponed.positionStart) {
if (cmd == UpdateOp.ADD) {
postponed.itemCount++;
} else if (cmd == UpdateOp.REMOVE) {
postponed.itemCount--;
}
// op moved to left, move it right to revert
pos++;
} else {
if (cmd == UpdateOp.ADD) {
postponed.positionStart++;
} else if (cmd == UpdateOp.REMOVE) {
postponed.positionStart--;
}
// op was moved right, move left to revert
pos--;
}
} else if (pos < postponed.positionStart) {
// postponed MV is outside the dispatched OP. if it is before, offset
if (cmd == UpdateOp.ADD) {
postponed.positionStart++;
postponed.itemCount++;
} else if (cmd == UpdateOp.REMOVE) {
postponed.positionStart--;
postponed.itemCount--;
}
}
} else {
if (postponed.positionStart <= pos) {
if (postponed.cmd == UpdateOp.ADD) {
pos -= postponed.itemCount;
} else if (postponed.cmd == UpdateOp.REMOVE) {
pos += postponed.itemCount;
}
} else {
if (cmd == UpdateOp.ADD) {
postponed.positionStart++;
} else if (cmd == UpdateOp.REMOVE) {
postponed.positionStart--;
}
}
}
if (DEBUG) {
Log.d(TAG, "dispath (step" + i + ")");
Log.d(TAG, "postponed state:" + i + ", pos:" + pos);
for (UpdateOp updateOp : mPostponedList) {
Log.d(TAG, updateOp.toString());
}
Log.d(TAG, "----");
}
}
for (int i = mPostponedList.size() - 1; i >= 0; i--) {
UpdateOp op = mPostponedList.get(i);
if (op.cmd == UpdateOp.MOVE) {
if (op.itemCount == op.positionStart || op.itemCount < 0) {
mPostponedList.remove(i);
recycleUpdateOp(op);
}
} else if (op.itemCount <= 0) {
mPostponedList.remove(i);
recycleUpdateOp(op);
}
}
return pos;
}
private boolean canFindInPreLayout(int position) {
final int count = mPostponedList.size();
for (int i = 0; i < count; i++) {
UpdateOp op = mPostponedList.get(i);
if (op.cmd == UpdateOp.MOVE) {
if (findPositionOffset(op.itemCount, i + 1) == position) {
return true;
}
} else if (op.cmd == UpdateOp.ADD) {
// TODO optimize.
final int end = op.positionStart + op.itemCount;
for (int pos = op.positionStart; pos < end; pos++) {
if (findPositionOffset(pos, i + 1) == position) {
return true;
}
}
}
}
return false;
}
private void applyAdd(UpdateOp op) {
postponeAndUpdateViewHolders(op);
}
private void postponeAndUpdateViewHolders(UpdateOp op) {
if (DEBUG) {
Log.d(TAG, "postponing " + op);
}
mPostponedList.add(op);
switch (op.cmd) {
case UpdateOp.ADD:
mCallback.offsetPositionsForAdd(op.positionStart, op.itemCount);
break;
case UpdateOp.MOVE:
mCallback.offsetPositionsForMove(op.positionStart, op.itemCount);
break;
case UpdateOp.REMOVE:
mCallback.offsetPositionsForRemovingLaidOutOrNewView(op.positionStart,
op.itemCount);
break;
case UpdateOp.UPDATE:
mCallback.markViewHoldersUpdated(op.positionStart, op.itemCount);
break;
default:
throw new IllegalArgumentException("Unknown update op type for " + op);
}
}
boolean hasPendingUpdates() {
return mPendingUpdates.size() > 0;
}
int findPositionOffset(int position) {
return findPositionOffset(position, 0);
}
int findPositionOffset(int position, int firstPostponedItem) {
int count = mPostponedList.size();
for (int i = firstPostponedItem; i < count; ++i) {
UpdateOp op = mPostponedList.get(i);
if (op.cmd == UpdateOp.MOVE) {
if (op.positionStart == position) {
position = op.itemCount;
} else {
if (op.positionStart < position) {
position--; // like a remove
}
if (op.itemCount <= position) {
position++; // like an add
}
}
} else if (op.positionStart <= position) {
if (op.cmd == UpdateOp.REMOVE) {
if (position < op.positionStart + op.itemCount) {
return -1;
}
position -= op.itemCount;
} else if (op.cmd == UpdateOp.ADD) {
position += op.itemCount;
}
}
}
return position;
}
/**
* @return True if updates should be processed.
*/
boolean onItemRangeChanged(int positionStart, int itemCount) {
mPendingUpdates.add(obtainUpdateOp(UpdateOp.UPDATE, positionStart, itemCount));
return mPendingUpdates.size() == 1;
}
/**
* @return True if updates should be processed.
*/
boolean onItemRangeInserted(int positionStart, int itemCount) {
mPendingUpdates.add(obtainUpdateOp(UpdateOp.ADD, positionStart, itemCount));
return mPendingUpdates.size() == 1;
}
/**
* @return True if updates should be processed.
*/
boolean onItemRangeRemoved(int positionStart, int itemCount) {
mPendingUpdates.add(obtainUpdateOp(UpdateOp.REMOVE, positionStart, itemCount));
return mPendingUpdates.size() == 1;
}
/**
* @return True if updates should be processed.
*/
boolean onItemRangeMoved(int from, int to, int itemCount) {
if (from == to) {
return false;//no-op
}
if (itemCount != 1) {
throw new IllegalArgumentException("Moving more than 1 item is not supported yet");
}
mPendingUpdates.add(obtainUpdateOp(UpdateOp.MOVE, from, to));
return mPendingUpdates.size() == 1;
}
/**
* Skips pre-processing and applies all updates in one pass.
*/
void consumeUpdatesInOnePass() {
// we still consume postponed updates (if there is) in case there was a pre-process call
// w/o a matching consumePostponedUpdates.
consumePostponedUpdates();
final int count = mPendingUpdates.size();
for (int i = 0; i < count; i++) {
UpdateOp op = mPendingUpdates.get(i);
switch (op.cmd) {
case UpdateOp.ADD:
mCallback.onDispatchSecondPass(op);
mCallback.offsetPositionsForAdd(op.positionStart, op.itemCount);
break;
case UpdateOp.REMOVE:
mCallback.onDispatchSecondPass(op);
mCallback.offsetPositionsForRemovingInvisible(op.positionStart, op.itemCount);
break;
case UpdateOp.UPDATE:
mCallback.onDispatchSecondPass(op);
mCallback.markViewHoldersUpdated(op.positionStart, op.itemCount);
break;
case UpdateOp.MOVE:
mCallback.onDispatchSecondPass(op);
mCallback.offsetPositionsForMove(op.positionStart, op.itemCount);
break;
}
if (mOnItemProcessedCallback != null) {
mOnItemProcessedCallback.run();
}
}
recycleUpdateOpsAndClearList(mPendingUpdates);
}
/**
* Queued operation to happen when child views are updated.
*/
static class UpdateOp {
static final int ADD = 0;
static final int REMOVE = 1;
static final int UPDATE = 2;
static final int MOVE = 3;
static final int POOL_SIZE = 30;
int cmd;
int positionStart;
// holds the target position if this is a MOVE
int itemCount;
UpdateOp(int cmd, int positionStart, int itemCount) {
this.cmd = cmd;
this.positionStart = positionStart;
this.itemCount = itemCount;
}
String cmdToString() {
switch (cmd) {
case ADD:
return "add";
case REMOVE:
return "rm";
case UPDATE:
return "up";
case MOVE:
return "mv";
}
return "??";
}
@Override
public String toString() {
return "[" + cmdToString() + ",s:" + positionStart + "c:" + itemCount + "]";
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
UpdateOp op = (UpdateOp) o;
if (cmd != op.cmd) {
return false;
}
if (cmd == MOVE && Math.abs(itemCount - positionStart) == 1) {
// reverse of this is also true
if (itemCount == op.positionStart && positionStart == op.itemCount) {
return true;
}
}
if (itemCount != op.itemCount) {
return false;
}
if (positionStart != op.positionStart) {
return false;
}
return true;
}
@Override
public int hashCode() {
int result = cmd;
result = 31 * result + positionStart;
result = 31 * result + itemCount;
return result;
}
}
@Override
public UpdateOp obtainUpdateOp(int cmd, int positionStart, int itemCount) {
UpdateOp op = mUpdateOpPool.acquire();
if (op == null) {
op = new UpdateOp(cmd, positionStart, itemCount);
} else {
op.cmd = cmd;
op.positionStart = positionStart;
op.itemCount = itemCount;
}
return op;
}
@Override
public void recycleUpdateOp(UpdateOp op) {
if (!mDisableRecycler) {
mUpdateOpPool.release(op);
}
}
void recycleUpdateOpsAndClearList(List<UpdateOp> ops) {
final int count = ops.size();
for (int i = 0; i < count; i++) {
recycleUpdateOp(ops.get(i));
}
ops.clear();
}
/**
* Contract between AdapterHelper and RecyclerView.
*/
static interface Callback {
ViewHolder findViewHolder(int position);
void offsetPositionsForRemovingInvisible(int positionStart, int itemCount);
void offsetPositionsForRemovingLaidOutOrNewView(int positionStart, int itemCount);
void markViewHoldersUpdated(int positionStart, int itemCount);
void onDispatchFirstPass(UpdateOp updateOp);
void onDispatchSecondPass(UpdateOp updateOp);
void offsetPositionsForAdd(int positionStart, int itemCount);
void offsetPositionsForMove(int from, int to);
}
}

View File

@ -1,484 +0,0 @@
/*
* Copyright (C) 2014 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.support.v7.widget;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import java.util.ArrayList;
import java.util.List;
/**
* Helper class to manage children.
* <p>
* It wraps a RecyclerView and adds ability to hide some children. There are two sets of methods
* provided by this class. <b>Regular</b> methods are the ones that replicate ViewGroup methods
* like getChildAt, getChildCount etc. These methods ignore hidden children.
* <p>
* When RecyclerView needs direct access to the view group children, it can call unfiltered
* methods like get getUnfilteredChildCount or getUnfilteredChildAt.
*/
class ChildHelper {
private static final boolean DEBUG = false;
private static final String TAG = "ChildrenHelper";
final Callback mCallback;
final Bucket mBucket;
final List<View> mHiddenViews;
ChildHelper(Callback callback) {
mCallback = callback;
mBucket = new Bucket();
mHiddenViews = new ArrayList<View>();
}
/**
* Adds a view to the ViewGroup
*
* @param child View to add.
* @param hidden If set to true, this item will be invisible from regular methods.
*/
void addView(View child, boolean hidden) {
addView(child, -1, hidden);
}
/**
* Add a view to the ViewGroup at an index
*
* @param child View to add.
* @param index Index of the child from the regular perspective (excluding hidden views).
* ChildHelper offsets this index to actual ViewGroup index.
* @param hidden If set to true, this item will be invisible from regular methods.
*/
void addView(View child, int index, boolean hidden) {
final int offset;
if (index < 0) {
offset = mCallback.getChildCount();
} else {
offset = getOffset(index);
}
mCallback.addView(child, offset);
mBucket.insert(offset, hidden);
if (hidden) {
mHiddenViews.add(child);
}
if (DEBUG) {
Log.d(TAG, "addViewAt " + index + ",h:" + hidden + ", " + this);
}
}
private int getOffset(int index) {
if (index < 0) {
return -1; //anything below 0 won't work as diff will be undefined.
}
final int limit = mCallback.getChildCount();
int offset = index;
while (offset < limit) {
final int removedBefore = mBucket.countOnesBefore(offset);
final int diff = index - (offset - removedBefore);
if (diff == 0) {
while (mBucket.get(offset)) { // ensure this offset is not hidden
offset ++;
}
return offset;
} else {
offset += diff;
}
}
return -1;
}
/**
* Removes the provided View from underlying RecyclerView.
*
* @param view The view to remove.
*/
void removeView(View view) {
int index = mCallback.indexOfChild(view);
if (index < 0) {
return;
}
mCallback.removeViewAt(index);
if (mBucket.remove(index)) {
mHiddenViews.remove(view);
}
if (DEBUG) {
Log.d(TAG, "remove View off:" + index + "," + this);
}
}
/**
* Removes the view at the provided index from RecyclerView.
*
* @param index Index of the child from the regular perspective (excluding hidden views).
* ChildHelper offsets this index to actual ViewGroup index.
*/
void removeViewAt(int index) {
final int offset = getOffset(index);
final View view = mCallback.getChildAt(offset);
if (view == null) {
return;
}
mCallback.removeViewAt(offset);
if (mBucket.remove(offset)) {
mHiddenViews.remove(view);
}
if (DEBUG) {
Log.d(TAG, "removeViewAt " + index + ", off:" + offset + ", " + this);
}
}
/**
* Returns the child at provided index.
*
* @param index Index of the child to return in regular perspective.
*/
View getChildAt(int index) {
final int offset = getOffset(index);
return mCallback.getChildAt(offset);
}
/**
* Removes all views from the ViewGroup including the hidden ones.
*/
void removeAllViewsUnfiltered() {
mCallback.removeAllViews();
mBucket.reset();
mHiddenViews.clear();
if (DEBUG) {
Log.d(TAG, "removeAllViewsUnfiltered");
}
}
/**
* This can be used to find a disappearing view by position.
*
* @param position The adapter position of the item.
* @param type View type, can be {@link RecyclerView#INVALID_TYPE}.
* @return A hidden view with a valid ViewHolder that matches the position and type.
*/
View findHiddenNonRemovedView(int position, int type) {
final int count = mHiddenViews.size();
for (int i = 0; i < count; i++) {
final View view = mHiddenViews.get(i);
RecyclerView.ViewHolder holder = mCallback.getChildViewHolder(view);
if (holder.getPosition() == position && !holder.isInvalid() &&
(type == RecyclerView.INVALID_TYPE || holder.getItemViewType() == type)) {
return view;
}
}
return null;
}
/**
* Attaches the provided view to the underlying ViewGroup.
*
* @param child Child to attach.
* @param index Index of the child to attach in regular perspective.
* @param layoutParams LayoutParams for the child.
* @param hidden If set to true, this item will be invisible to the regular methods.
*/
void attachViewToParent(View child, int index, ViewGroup.LayoutParams layoutParams,
boolean hidden) {
final int offset;
if (index < 0) {
offset = mCallback.getChildCount();
} else {
offset = getOffset(index);
}
mCallback.attachViewToParent(child, offset, layoutParams);
mBucket.insert(offset, hidden);
if (DEBUG) {
Log.d(TAG, "attach view to parent index:" + index + ",off:" + offset + "," +
"h:" + hidden + ", " + this);
}
}
/**
* Returns the number of children that are not hidden.
*
* @return Number of children that are not hidden.
* @see #getChildAt(int)
*/
int getChildCount() {
return mCallback.getChildCount() - mHiddenViews.size();
}
/**
* Returns the total number of children.
*
* @return The total number of children including the hidden views.
* @see #getUnfilteredChildAt(int)
*/
int getUnfilteredChildCount() {
return mCallback.getChildCount();
}
/**
* Returns a child by ViewGroup offset. ChildHelper won't offset this index.
*
* @param index ViewGroup index of the child to return.
* @return The view in the provided index.
*/
View getUnfilteredChildAt(int index) {
return mCallback.getChildAt(index);
}
/**
* Detaches the view at the provided index.
*
* @param index Index of the child to return in regular perspective.
*/
void detachViewFromParent(int index) {
final int offset = getOffset(index);
mCallback.detachViewFromParent(offset);
mBucket.remove(offset);
if (DEBUG) {
Log.d(TAG, "detach view from parent " + index + ", off:" + offset);
}
}
/**
* Returns the index of the child in regular perspective.
*
* @param child The child whose index will be returned.
* @return The regular perspective index of the child or -1 if it does not exists.
*/
int indexOfChild(View child) {
final int index = mCallback.indexOfChild(child);
if (index == -1) {
return -1;
}
if (mBucket.get(index)) {
if (DEBUG) {
throw new IllegalArgumentException("cannot get index of a hidden child");
} else {
return -1;
}
}
// reverse the index
return index - mBucket.countOnesBefore(index);
}
/**
* Returns whether a View is visible to LayoutManager or not.
*
* @param view The child view to check. Should be a child of the Callback.
* @return True if the View is not visible to LayoutManager
*/
boolean isHidden(View view) {
return mHiddenViews.contains(view);
}
/**
* Marks a child view as hidden.
*
* @param view The view to hide.
*/
void hide(View view) {
final int offset = mCallback.indexOfChild(view);
if (offset < 0) {
throw new IllegalArgumentException("view is not a child, cannot hide " + view);
}
if (DEBUG && mBucket.get(offset)) {
throw new RuntimeException("trying to hide same view twice, how come ? " + view);
}
mBucket.set(offset);
mHiddenViews.add(view);
if (DEBUG) {
Log.d(TAG, "hiding child " + view + " at offset " + offset+ ", " + this);
}
}
@Override
public String toString() {
return mBucket.toString();
}
/**
* Removes a view from the ViewGroup if it is hidden.
*
* @param view The view to remove.
* @return True if the View is found and it is hidden. False otherwise.
*/
boolean removeViewIfHidden(View view) {
final int index = mCallback.indexOfChild(view);
if (index == -1) {
if (mHiddenViews.remove(view) && DEBUG) {
throw new IllegalStateException("view is in hidden list but not in view group");
}
return true;
}
if (mBucket.get(index)) {
mBucket.remove(index);
mCallback.removeViewAt(index);
if (!mHiddenViews.remove(view) && DEBUG) {
throw new IllegalStateException(
"removed a hidden view but it is not in hidden views list");
}
return true;
}
return false;
}
/**
* Bitset implementation that provides methods to offset indices.
*/
static class Bucket {
final static int BITS_PER_WORD = Long.SIZE;
final static long LAST_BIT = 1L << (Long.SIZE - 1);
long mData = 0;
Bucket next;
void set(int index) {
if (index >= BITS_PER_WORD) {
ensureNext();
next.set(index - BITS_PER_WORD);
} else {
mData |= 1L << index;
}
}
private void ensureNext() {
if (next == null) {
next = new Bucket();
}
}
void clear(int index) {
if (index >= BITS_PER_WORD) {
if (next != null) {
next.clear(index - BITS_PER_WORD);
}
} else {
mData &= ~(1L << index);
}
}
boolean get(int index) {
if (index >= BITS_PER_WORD) {
ensureNext();
return next.get(index - BITS_PER_WORD);
} else {
return (mData & (1L << index)) != 0;
}
}
void reset() {
mData = 0;
if (next != null) {
next.reset();
}
}
void insert(int index, boolean value) {
if (index >= BITS_PER_WORD) {
ensureNext();
next.insert(index - BITS_PER_WORD, value);
} else {
final boolean lastBit = (mData & LAST_BIT) != 0;
long mask = (1L << index) - 1;
final long before = mData & mask;
final long after = ((mData & ~mask)) << 1;
mData = before | after;
if (value) {
set(index);
} else {
clear(index);
}
if (lastBit || next != null) {
ensureNext();
next.insert(0, lastBit);
}
}
}
boolean remove(int index) {
if (index >= BITS_PER_WORD) {
ensureNext();
return next.remove(index - BITS_PER_WORD);
} else {
long mask = (1L << index);
final boolean value = (mData & mask) != 0;
mData &= ~mask;
mask = mask - 1;
final long before = mData & mask;
// cannot use >> because it adds one.
final long after = Long.rotateRight(mData & ~mask, 1);
mData = before | after;
if (next != null) {
if (next.get(0)) {
set(BITS_PER_WORD - 1);
}
next.remove(0);
}
return value;
}
}
int countOnesBefore(int index) {
if (next == null) {
if (index >= BITS_PER_WORD) {
return Long.bitCount(mData);
}
return Long.bitCount(mData & ((1L << index) - 1));
}
if (index < BITS_PER_WORD) {
return Long.bitCount(mData & ((1L << index) - 1));
} else {
return next.countOnesBefore(index - BITS_PER_WORD) + Long.bitCount(mData);
}
}
@Override
public String toString() {
return next == null ? Long.toBinaryString(mData)
: next.toString() + "xx" + Long.toBinaryString(mData);
}
}
static interface Callback {
int getChildCount();
void addView(View child, int index);
int indexOfChild(View view);
void removeViewAt(int index);
View getChildAt(int offset);
void removeAllViews();
RecyclerView.ViewHolder getChildViewHolder(View view);
void attachViewToParent(View child, int index, ViewGroup.LayoutParams layoutParams);
void detachViewFromParent(int offset);
}
}

View File

@ -1,628 +0,0 @@
/*
* Copyright (C) 2014 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.support.v7.widget;
import android.support.v4.view.ViewCompat;
import android.support.v4.view.ViewPropertyAnimatorCompat;
import android.support.v4.view.ViewPropertyAnimatorListener;
import android.support.v7.widget.RecyclerView.ViewHolder;
import android.view.View;
import java.util.ArrayList;
import java.util.List;
/**
* This implementation of {@link RecyclerView.ItemAnimator} provides basic
* animations on remove, add, and move events that happen to the items in
* a RecyclerView. RecyclerView uses a DefaultItemAnimator by default.
*
* @see RecyclerView#setItemAnimator(RecyclerView.ItemAnimator)
*/
public class DefaultItemAnimator extends RecyclerView.ItemAnimator {
private static final boolean DEBUG = false;
private ArrayList<ViewHolder> mPendingRemovals = new ArrayList<ViewHolder>();
private ArrayList<ViewHolder> mPendingAdditions = new ArrayList<ViewHolder>();
private ArrayList<MoveInfo> mPendingMoves = new ArrayList<MoveInfo>();
private ArrayList<ChangeInfo> mPendingChanges = new ArrayList<ChangeInfo>();
private ArrayList<ArrayList<ViewHolder>> mAdditionsList =
new ArrayList<ArrayList<ViewHolder>>();
private ArrayList<ArrayList<MoveInfo>> mMovesList = new ArrayList<ArrayList<MoveInfo>>();
private ArrayList<ArrayList<ChangeInfo>> mChangesList = new ArrayList<ArrayList<ChangeInfo>>();
private ArrayList<ViewHolder> mAddAnimations = new ArrayList<ViewHolder>();
private ArrayList<ViewHolder> mMoveAnimations = new ArrayList<ViewHolder>();
private ArrayList<ViewHolder> mRemoveAnimations = new ArrayList<ViewHolder>();
private ArrayList<ViewHolder> mChangeAnimations = new ArrayList<ViewHolder>();
private static class MoveInfo {
public ViewHolder holder;
public int fromX, fromY, toX, toY;
private MoveInfo(ViewHolder holder, int fromX, int fromY, int toX, int toY) {
this.holder = holder;
this.fromX = fromX;
this.fromY = fromY;
this.toX = toX;
this.toY = toY;
}
}
private static class ChangeInfo {
public ViewHolder oldHolder, newHolder;
public int fromX, fromY, toX, toY;
private ChangeInfo(ViewHolder oldHolder, ViewHolder newHolder) {
this.oldHolder = oldHolder;
this.newHolder = newHolder;
}
private ChangeInfo(ViewHolder oldHolder, ViewHolder newHolder,
int fromX, int fromY, int toX, int toY) {
this(oldHolder, newHolder);
this.fromX = fromX;
this.fromY = fromY;
this.toX = toX;
this.toY = toY;
}
@Override
public String toString() {
return "ChangeInfo{" +
"oldHolder=" + oldHolder +
", newHolder=" + newHolder +
", fromX=" + fromX +
", fromY=" + fromY +
", toX=" + toX +
", toY=" + toY +
'}';
}
}
@Override
public void runPendingAnimations() {
boolean removalsPending = !mPendingRemovals.isEmpty();
boolean movesPending = !mPendingMoves.isEmpty();
boolean changesPending = !mPendingChanges.isEmpty();
boolean additionsPending = !mPendingAdditions.isEmpty();
if (!removalsPending && !movesPending && !additionsPending && !changesPending) {
// nothing to animate
return;
}
// First, remove stuff
for (ViewHolder holder : mPendingRemovals) {
animateRemoveImpl(holder);
}
mPendingRemovals.clear();
// Next, move stuff
if (movesPending) {
final ArrayList<MoveInfo> moves = new ArrayList<MoveInfo>();
moves.addAll(mPendingMoves);
mMovesList.add(moves);
mPendingMoves.clear();
Runnable mover = new Runnable() {
@Override
public void run() {
for (MoveInfo moveInfo : moves) {
animateMoveImpl(moveInfo.holder, moveInfo.fromX, moveInfo.fromY,
moveInfo.toX, moveInfo.toY);
}
moves.clear();
mMovesList.remove(moves);
}
};
if (removalsPending) {
View view = moves.get(0).holder.itemView;
ViewCompat.postOnAnimationDelayed(view, mover, getRemoveDuration());
} else {
mover.run();
}
}
// Next, change stuff, to run in parallel with move animations
if (changesPending) {
final ArrayList<ChangeInfo> changes = new ArrayList<ChangeInfo>();
changes.addAll(mPendingChanges);
mChangesList.add(changes);
mPendingChanges.clear();
Runnable changer = new Runnable() {
@Override
public void run() {
for (ChangeInfo change : changes) {
animateChangeImpl(change);
}
changes.clear();
mChangesList.remove(changes);
}
};
if (removalsPending) {
ViewHolder holder = changes.get(0).oldHolder;
ViewCompat.postOnAnimationDelayed(holder.itemView, changer, getRemoveDuration());
} else {
changer.run();
}
}
// Next, add stuff
if (additionsPending) {
final ArrayList<ViewHolder> additions = new ArrayList<ViewHolder>();
additions.addAll(mPendingAdditions);
mAdditionsList.add(additions);
mPendingAdditions.clear();
Runnable adder = new Runnable() {
public void run() {
for (ViewHolder holder : additions) {
animateAddImpl(holder);
}
additions.clear();
mAdditionsList.remove(additions);
}
};
if (removalsPending || movesPending || changesPending) {
long removeDuration = removalsPending ? getRemoveDuration() : 0;
long moveDuration = movesPending ? getMoveDuration() : 0;
long changeDuration = changesPending ? getChangeDuration() : 0;
long totalDelay = removeDuration + Math.max(moveDuration, changeDuration);
View view = additions.get(0).itemView;
ViewCompat.postOnAnimationDelayed(view, adder, totalDelay);
} else {
adder.run();
}
}
}
@Override
public boolean animateRemove(final ViewHolder holder) {
endAnimation(holder);
mPendingRemovals.add(holder);
return true;
}
private void animateRemoveImpl(final ViewHolder holder) {
final View view = holder.itemView;
final ViewPropertyAnimatorCompat animation = ViewCompat.animate(view);
animation.setDuration(getRemoveDuration())
.alpha(0).setListener(new VpaListenerAdapter() {
@Override
public void onAnimationStart(View view) {
dispatchRemoveStarting(holder);
}
@Override
public void onAnimationEnd(View view) {
animation.setListener(null);
ViewCompat.setAlpha(view, 1);
dispatchRemoveFinished(holder);
mRemoveAnimations.remove(holder);
dispatchFinishedWhenDone();
}
}).start();
mRemoveAnimations.add(holder);
}
@Override
public boolean animateAdd(final ViewHolder holder) {
endAnimation(holder);
ViewCompat.setAlpha(holder.itemView, 0);
mPendingAdditions.add(holder);
return true;
}
private void animateAddImpl(final ViewHolder holder) {
final View view = holder.itemView;
mAddAnimations.add(holder);
final ViewPropertyAnimatorCompat animation = ViewCompat.animate(view);
animation.alpha(1).setDuration(getAddDuration()).
setListener(new VpaListenerAdapter() {
@Override
public void onAnimationStart(View view) {
dispatchAddStarting(holder);
}
@Override
public void onAnimationCancel(View view) {
ViewCompat.setAlpha(view, 1);
}
@Override
public void onAnimationEnd(View view) {
animation.setListener(null);
dispatchAddFinished(holder);
mAddAnimations.remove(holder);
dispatchFinishedWhenDone();
}
}).start();
}
@Override
public boolean animateMove(final ViewHolder holder, int fromX, int fromY,
int toX, int toY) {
final View view = holder.itemView;
fromX += ViewCompat.getTranslationX(holder.itemView);
fromY += ViewCompat.getTranslationY(holder.itemView);
endAnimation(holder);
int deltaX = toX - fromX;
int deltaY = toY - fromY;
if (deltaX == 0 && deltaY == 0) {
dispatchMoveFinished(holder);
return false;
}
if (deltaX != 0) {
ViewCompat.setTranslationX(view, -deltaX);
}
if (deltaY != 0) {
ViewCompat.setTranslationY(view, -deltaY);
}
mPendingMoves.add(new MoveInfo(holder, fromX, fromY, toX, toY));
return true;
}
private void animateMoveImpl(final ViewHolder holder, int fromX, int fromY, int toX, int toY) {
final View view = holder.itemView;
final int deltaX = toX - fromX;
final int deltaY = toY - fromY;
if (deltaX != 0) {
ViewCompat.animate(view).translationX(0);
}
if (deltaY != 0) {
ViewCompat.animate(view).translationY(0);
}
// TODO: make EndActions end listeners instead, since end actions aren't called when
// vpas are canceled (and can't end them. why?)
// need listener functionality in VPACompat for this. Ick.
mMoveAnimations.add(holder);
final ViewPropertyAnimatorCompat animation = ViewCompat.animate(view);
animation.setDuration(getMoveDuration()).setListener(new VpaListenerAdapter() {
@Override
public void onAnimationStart(View view) {
dispatchMoveStarting(holder);
}
@Override
public void onAnimationCancel(View view) {
if (deltaX != 0) {
ViewCompat.setTranslationX(view, 0);
}
if (deltaY != 0) {
ViewCompat.setTranslationY(view, 0);
}
}
@Override
public void onAnimationEnd(View view) {
animation.setListener(null);
dispatchMoveFinished(holder);
mMoveAnimations.remove(holder);
dispatchFinishedWhenDone();
}
}).start();
}
@Override
public boolean animateChange(ViewHolder oldHolder, ViewHolder newHolder,
int fromX, int fromY, int toX, int toY) {
final float prevTranslationX = ViewCompat.getTranslationX(oldHolder.itemView);
final float prevTranslationY = ViewCompat.getTranslationY(oldHolder.itemView);
final float prevAlpha = ViewCompat.getAlpha(oldHolder.itemView);
endAnimation(oldHolder);
int deltaX = (int) (toX - fromX - prevTranslationX);
int deltaY = (int) (toY - fromY - prevTranslationY);
// recover prev translation state after ending animation
ViewCompat.setTranslationX(oldHolder.itemView, prevTranslationX);
ViewCompat.setTranslationY(oldHolder.itemView, prevTranslationY);
ViewCompat.setAlpha(oldHolder.itemView, prevAlpha);
if (newHolder != null && newHolder.itemView != null) {
// carry over translation values
endAnimation(newHolder);
ViewCompat.setTranslationX(newHolder.itemView, -deltaX);
ViewCompat.setTranslationY(newHolder.itemView, -deltaY);
ViewCompat.setAlpha(newHolder.itemView, 0);
}
mPendingChanges.add(new ChangeInfo(oldHolder, newHolder, fromX, fromY, toX, toY));
return true;
}
private void animateChangeImpl(final ChangeInfo changeInfo) {
final ViewHolder holder = changeInfo.oldHolder;
final View view = holder.itemView;
final ViewHolder newHolder = changeInfo.newHolder;
final View newView = newHolder != null ? newHolder.itemView : null;
mChangeAnimations.add(changeInfo.oldHolder);
final ViewPropertyAnimatorCompat oldViewAnim = ViewCompat.animate(view).setDuration(
getChangeDuration());
oldViewAnim.translationX(changeInfo.toX - changeInfo.fromX);
oldViewAnim.translationY(changeInfo.toY - changeInfo.fromY);
oldViewAnim.alpha(0).setListener(new VpaListenerAdapter() {
@Override
public void onAnimationStart(View view) {
dispatchChangeStarting(changeInfo.oldHolder, true);
}
@Override
public void onAnimationEnd(View view) {
oldViewAnim.setListener(null);
ViewCompat.setAlpha(view, 1);
ViewCompat.setTranslationX(view, 0);
ViewCompat.setTranslationY(view, 0);
dispatchChangeFinished(changeInfo.oldHolder, true);
mChangeAnimations.remove(changeInfo.oldHolder);
dispatchFinishedWhenDone();
}
}).start();
if (newView != null) {
mChangeAnimations.add(changeInfo.newHolder);
final ViewPropertyAnimatorCompat newViewAnimation = ViewCompat.animate(newView);
newViewAnimation.translationX(0).translationY(0).setDuration(getChangeDuration()).
alpha(1).setListener(new VpaListenerAdapter() {
@Override
public void onAnimationStart(View view) {
dispatchChangeStarting(changeInfo.newHolder, false);
}
@Override
public void onAnimationEnd(View view) {
newViewAnimation.setListener(null);
ViewCompat.setAlpha(newView, 1);
ViewCompat.setTranslationX(newView, 0);
ViewCompat.setTranslationY(newView, 0);
dispatchChangeFinished(changeInfo.newHolder, false);
mChangeAnimations.remove(changeInfo.newHolder);
dispatchFinishedWhenDone();
}
}).start();
}
}
private void endChangeAnimation(List<ChangeInfo> infoList, ViewHolder item) {
for (int i = infoList.size() - 1; i >= 0; i--) {
ChangeInfo changeInfo = infoList.get(i);
if (endChangeAnimationIfNecessary(changeInfo, item)) {
if (changeInfo.oldHolder == null && changeInfo.newHolder == null) {
infoList.remove(changeInfo);
}
}
}
}
private void endChangeAnimationIfNecessary(ChangeInfo changeInfo) {
if (changeInfo.oldHolder != null) {
endChangeAnimationIfNecessary(changeInfo, changeInfo.oldHolder);
}
if (changeInfo.newHolder != null) {
endChangeAnimationIfNecessary(changeInfo, changeInfo.newHolder);
}
}
private boolean endChangeAnimationIfNecessary(ChangeInfo changeInfo, ViewHolder item) {
boolean oldItem = false;
if (changeInfo.newHolder == item) {
changeInfo.newHolder = null;
} else if (changeInfo.oldHolder == item) {
changeInfo.oldHolder = null;
oldItem = true;
} else {
return false;
}
ViewCompat.setAlpha(item.itemView, 1);
ViewCompat.setTranslationX(item.itemView, 0);
ViewCompat.setTranslationY(item.itemView, 0);
dispatchChangeFinished(item, oldItem);
return true;
}
@Override
public void endAnimation(ViewHolder item) {
final View view = item.itemView;
// this will trigger end callback which should set properties to their target values.
ViewCompat.animate(view).cancel();
// TODO if some other animations are chained to end, how do we cancel them as well?
for (int i = mPendingMoves.size() - 1; i >= 0; i--) {
MoveInfo moveInfo = mPendingMoves.get(i);
if (moveInfo.holder == item) {
ViewCompat.setTranslationY(view, 0);
ViewCompat.setTranslationX(view, 0);
dispatchMoveFinished(item);
mPendingMoves.remove(item);
}
}
endChangeAnimation(mPendingChanges, item);
if (mPendingRemovals.remove(item)) {
ViewCompat.setAlpha(view, 1);
dispatchRemoveFinished(item);
}
if (mPendingAdditions.remove(item)) {
ViewCompat.setAlpha(view, 1);
dispatchAddFinished(item);
}
for (int i = mChangesList.size() - 1; i >= 0; i--) {
ArrayList<ChangeInfo> changes = mChangesList.get(i);
endChangeAnimation(changes, item);
if (changes.isEmpty()) {
mChangesList.remove(changes);
}
}
for (int i = mMovesList.size() - 1; i >= 0; i--) {
ArrayList<MoveInfo> moves = mMovesList.get(i);
for (int j = moves.size() - 1; j >= 0; j--) {
MoveInfo moveInfo = moves.get(j);
if (moveInfo.holder == item) {
ViewCompat.setTranslationY(view, 0);
ViewCompat.setTranslationX(view, 0);
dispatchMoveFinished(item);
moves.remove(j);
if (moves.isEmpty()) {
mMovesList.remove(moves);
}
break;
}
}
}
for (int i = mAdditionsList.size() - 1; i >= 0; i--) {
ArrayList<ViewHolder> additions = mAdditionsList.get(i);
if (additions.remove(item)) {
ViewCompat.setAlpha(view, 1);
dispatchAddFinished(item);
if (additions.isEmpty()) {
mAdditionsList.remove(additions);
}
}
}
// animations should be ended by the cancel above.
if (mRemoveAnimations.remove(item) && DEBUG) {
throw new IllegalStateException("after animation is cancelled, item should not be in "
+ "mRemoveAnimations list");
}
if (mAddAnimations.remove(item) && DEBUG) {
throw new IllegalStateException("after animation is cancelled, item should not be in "
+ "mAddAnimations list");
}
if (mChangeAnimations.remove(item) && DEBUG) {
throw new IllegalStateException("after animation is cancelled, item should not be in "
+ "mChangeAnimations list");
}
if (mMoveAnimations.remove(item) && DEBUG) {
throw new IllegalStateException("after animation is cancelled, item should not be in "
+ "mMoveAnimations list");
}
dispatchFinishedWhenDone();
}
@Override
public boolean isRunning() {
return (!mPendingAdditions.isEmpty() ||
!mPendingChanges.isEmpty() ||
!mPendingMoves.isEmpty() ||
!mPendingRemovals.isEmpty() ||
!mMoveAnimations.isEmpty() ||
!mRemoveAnimations.isEmpty() ||
!mAddAnimations.isEmpty() ||
!mChangeAnimations.isEmpty() ||
!mMovesList.isEmpty() ||
!mAdditionsList.isEmpty() ||
!mChangesList.isEmpty());
}
/**
* Check the state of currently pending and running animations. If there are none
* pending/running, call {@link #dispatchAnimationsFinished()} to notify any
* listeners.
*/
private void dispatchFinishedWhenDone() {
if (!isRunning()) {
dispatchAnimationsFinished();
}
}
@Override
public void endAnimations() {
int count = mPendingMoves.size();
for (int i = count - 1; i >= 0; i--) {
MoveInfo item = mPendingMoves.get(i);
View view = item.holder.itemView;
ViewCompat.setTranslationY(view, 0);
ViewCompat.setTranslationX(view, 0);
dispatchMoveFinished(item.holder);
mPendingMoves.remove(i);
}
count = mPendingRemovals.size();
for (int i = count - 1; i >= 0; i--) {
ViewHolder item = mPendingRemovals.get(i);
dispatchRemoveFinished(item);
mPendingRemovals.remove(i);
}
count = mPendingAdditions.size();
for (int i = count - 1; i >= 0; i--) {
ViewHolder item = mPendingAdditions.get(i);
View view = item.itemView;
ViewCompat.setAlpha(view, 1);
dispatchAddFinished(item);
mPendingAdditions.remove(i);
}
count = mPendingChanges.size();
for (int i = count - 1; i >= 0; i--) {
endChangeAnimationIfNecessary(mPendingChanges.get(i));
}
mPendingChanges.clear();
if (!isRunning()) {
return;
}
int listCount = mMovesList.size();
for (int i = listCount - 1; i >= 0; i--) {
ArrayList<MoveInfo> moves = mMovesList.get(i);
count = moves.size();
for (int j = count - 1; j >= 0; j--) {
MoveInfo moveInfo = moves.get(j);
ViewHolder item = moveInfo.holder;
View view = item.itemView;
ViewCompat.setTranslationY(view, 0);
ViewCompat.setTranslationX(view, 0);
dispatchMoveFinished(moveInfo.holder);
moves.remove(j);
if (moves.isEmpty()) {
mMovesList.remove(moves);
}
}
}
listCount = mAdditionsList.size();
for (int i = listCount - 1; i >= 0; i--) {
ArrayList<ViewHolder> additions = mAdditionsList.get(i);
count = additions.size();
for (int j = count - 1; j >= 0; j--) {
ViewHolder item = additions.get(j);
View view = item.itemView;
ViewCompat.setAlpha(view, 1);
dispatchAddFinished(item);
additions.remove(j);
if (additions.isEmpty()) {
mAdditionsList.remove(additions);
}
}
}
listCount = mChangesList.size();
for (int i = listCount - 1; i >= 0; i--) {
ArrayList<ChangeInfo> changes = mChangesList.get(i);
count = changes.size();
for (int j = count - 1; j >= 0; j--) {
endChangeAnimationIfNecessary(changes.get(j));
if (changes.isEmpty()) {
mChangesList.remove(changes);
}
}
}
cancelAll(mRemoveAnimations);
cancelAll(mMoveAnimations);
cancelAll(mAddAnimations);
cancelAll(mChangeAnimations);
dispatchAnimationsFinished();
}
void cancelAll(List<ViewHolder> viewHolders) {
for (int i = viewHolders.size() - 1; i >= 0; i--) {
ViewCompat.animate(viewHolders.get(i).itemView).cancel();
}
}
private static class VpaListenerAdapter implements ViewPropertyAnimatorListener {
@Override
public void onAnimationStart(View view) {}
@Override
public void onAnimationEnd(View view) {}
@Override
public void onAnimationCancel(View view) {}
};
}

View File

@ -1,816 +0,0 @@
/*
* Copyright (C) 2014 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific languag`e governing permissions and
* limitations under the License.
*/
package android.support.v7.widget;
import android.content.Context;
import android.graphics.Rect;
import android.support.v4.view.accessibility.AccessibilityNodeInfoCompat;
import android.util.AttributeSet;
import android.util.Log;
import android.util.SparseIntArray;
import android.view.View;
import android.view.ViewGroup;
import java.util.Arrays;
/**
* A {@link RecyclerView.LayoutManager} implementations that lays out items in a grid.
* <p>
* By default, each item occupies 1 span. You can change it by providing a custom
* {@link SpanSizeLookup} instance via {@link #setSpanSizeLookup(SpanSizeLookup)}.
*/
public class GridLayoutManager extends LinearLayoutManager {
private static final boolean DEBUG = false;
private static final String TAG = "GridLayoutManager";
public static final int DEFAULT_SPAN_COUNT = -1;
/**
* The measure spec for the scroll direction.
*/
static final int MAIN_DIR_SPEC =
View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
int mSpanCount = DEFAULT_SPAN_COUNT;
/**
* The size of each span
*/
int mSizePerSpan;
/**
* Temporary array to keep views in layoutChunk method
*/
View[] mSet;
final SparseIntArray mPreLayoutSpanSizeCache = new SparseIntArray();
final SparseIntArray mPreLayoutSpanIndexCache = new SparseIntArray();
SpanSizeLookup mSpanSizeLookup = new DefaultSpanSizeLookup();
// re-used variable to acquire decor insets from RecyclerView
final Rect mDecorInsets = new Rect();
/**
* Creates a vertical GridLayoutManager
*
* @param context Current context, will be used to access resources.
* @param spanCount The number of columns in the grid
*/
public GridLayoutManager(Context context, int spanCount) {
super(context);
setSpanCount(spanCount);
}
/**
* @param context Current context, will be used to access resources.
* @param spanCount The number of columns or rows in the grid
* @param orientation Layout orientation. Should be {@link #HORIZONTAL} or {@link
* #VERTICAL}.
* @param reverseLayout When set to true, layouts from end to start.
*/
public GridLayoutManager(Context context, int spanCount, int orientation,
boolean reverseLayout) {
super(context, orientation, reverseLayout);
setSpanCount(spanCount);
}
/**
* stackFromEnd is not supported by GridLayoutManager. Consider using
* {@link #setReverseLayout(boolean)}.
*/
@Override
public void setStackFromEnd(boolean stackFromEnd) {
if (stackFromEnd) {
throw new UnsupportedOperationException(
"GridLayoutManager does not support stack from end."
+ " Consider using reverse layout");
}
super.setStackFromEnd(false);
}
@Override
public int getRowCountForAccessibility(RecyclerView.Recycler recycler,
RecyclerView.State state) {
if (mOrientation == HORIZONTAL) {
return mSpanCount;
}
if (state.getItemCount() < 1) {
return 0;
}
return getSpanGroupIndex(recycler, state, state.getItemCount() - 1);
}
@Override
public int getColumnCountForAccessibility(RecyclerView.Recycler recycler,
RecyclerView.State state) {
if (mOrientation == VERTICAL) {
return mSpanCount;
}
if (state.getItemCount() < 1) {
return 0;
}
return getSpanGroupIndex(recycler, state, state.getItemCount() - 1);
}
@Override
public void onInitializeAccessibilityNodeInfoForItem(RecyclerView.Recycler recycler,
RecyclerView.State state, View host, AccessibilityNodeInfoCompat info) {
ViewGroup.LayoutParams lp = host.getLayoutParams();
if (!(lp instanceof LayoutParams)) {
super.onInitializeAccessibilityNodeInfoForItem(host, info);
return;
}
LayoutParams glp = (LayoutParams) lp;
int spanGroupIndex = getSpanGroupIndex(recycler, state, glp.getViewPosition());
if (mOrientation == HORIZONTAL) {
info.setCollectionItemInfo(AccessibilityNodeInfoCompat.CollectionItemInfoCompat.obtain(
glp.getSpanIndex(), glp.getSpanSize(),
spanGroupIndex, 1,
mSpanCount > 1 && glp.getSpanSize() == mSpanCount, false));
} else { // VERTICAL
info.setCollectionItemInfo(AccessibilityNodeInfoCompat.CollectionItemInfoCompat.obtain(
spanGroupIndex , 1,
glp.getSpanIndex(), glp.getSpanSize(),
mSpanCount > 1 && glp.getSpanSize() == mSpanCount, false));
}
}
@Override
public void onLayoutChildren(RecyclerView.Recycler recycler, RecyclerView.State state) {
if (state.isPreLayout()) {
cachePreLayoutSpanMapping();
}
super.onLayoutChildren(recycler, state);
if (DEBUG) {
validateChildOrder();
}
clearPreLayoutSpanMappingCache();
}
private void clearPreLayoutSpanMappingCache() {
mPreLayoutSpanSizeCache.clear();
mPreLayoutSpanIndexCache.clear();
}
private void cachePreLayoutSpanMapping() {
final int childCount = getChildCount();
for (int i = 0; i < childCount; i++) {
final LayoutParams lp = (LayoutParams) getChildAt(i).getLayoutParams();
final int viewPosition = lp.getViewPosition();
mPreLayoutSpanSizeCache.put(viewPosition, lp.getSpanSize());
mPreLayoutSpanIndexCache.put(viewPosition, lp.getSpanIndex());
}
}
@Override
public void onItemsAdded(RecyclerView recyclerView, int positionStart, int itemCount) {
mSpanSizeLookup.invalidateSpanIndexCache();
}
@Override
public void onItemsChanged(RecyclerView recyclerView) {
mSpanSizeLookup.invalidateSpanIndexCache();
}
@Override
public void onItemsRemoved(RecyclerView recyclerView, int positionStart, int itemCount) {
mSpanSizeLookup.invalidateSpanIndexCache();
}
@Override
public void onItemsUpdated(RecyclerView recyclerView, int positionStart, int itemCount) {
mSpanSizeLookup.invalidateSpanIndexCache();
}
@Override
public void onItemsMoved(RecyclerView recyclerView, int from, int to, int itemCount) {
mSpanSizeLookup.invalidateSpanIndexCache();
}
@Override
public RecyclerView.LayoutParams generateDefaultLayoutParams() {
return new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
}
@Override
public RecyclerView.LayoutParams generateLayoutParams(Context c, AttributeSet attrs) {
return new LayoutParams(c, attrs);
}
@Override
public RecyclerView.LayoutParams generateLayoutParams(ViewGroup.LayoutParams lp) {
if (lp instanceof ViewGroup.MarginLayoutParams) {
return new LayoutParams((ViewGroup.MarginLayoutParams) lp);
} else {
return new LayoutParams(lp);
}
}
@Override
public boolean checkLayoutParams(RecyclerView.LayoutParams lp) {
return lp instanceof LayoutParams;
}
/**
* Sets the source to get the number of spans occupied by each item in the adapter.
*
* @param spanSizeLookup {@link SpanSizeLookup} instance to be used to query number of spans
* occupied by each item
*/
public void setSpanSizeLookup(SpanSizeLookup spanSizeLookup) {
mSpanSizeLookup = spanSizeLookup;
}
/**
* Returns the current {@link SpanSizeLookup} used by the GridLayoutManager.
*
* @return The current {@link SpanSizeLookup} used by the GridLayoutManager.
*/
public SpanSizeLookup getSpanSizeLookup() {
return mSpanSizeLookup;
}
private void updateMeasurements() {
int totalSpace;
if (getOrientation() == VERTICAL) {
totalSpace = getWidth() - getPaddingRight() - getPaddingLeft();
} else {
totalSpace = getHeight() - getPaddingBottom() - getPaddingTop();
}
mSizePerSpan = totalSpace / mSpanCount;
}
@Override
void onAnchorReady(RecyclerView.State state, AnchorInfo anchorInfo) {
super.onAnchorReady(state, anchorInfo);
updateMeasurements();
if (state.getItemCount() > 0 && !state.isPreLayout()) {
ensureAnchorIsInFirstSpan(anchorInfo);
}
if (mSet == null || mSet.length != mSpanCount) {
mSet = new View[mSpanCount];
}
}
private void ensureAnchorIsInFirstSpan(AnchorInfo anchorInfo) {
int span = mSpanSizeLookup.getCachedSpanIndex(anchorInfo.mPosition, mSpanCount);
while (span > 0 && anchorInfo.mPosition > 0) {
anchorInfo.mPosition--;
span = mSpanSizeLookup.getCachedSpanIndex(anchorInfo.mPosition, mSpanCount);
}
}
private int getSpanGroupIndex(RecyclerView.Recycler recycler, RecyclerView.State state,
int viewPosition) {
if (!state.isPreLayout()) {
return mSpanSizeLookup.getSpanGroupIndex(viewPosition, mSpanCount);
}
final int adapterPosition = recycler.convertPreLayoutPositionToPostLayout(viewPosition);
if (adapterPosition == -1) {
if (DEBUG) {
throw new RuntimeException("Cannot find span group index for position "
+ viewPosition);
}
Log.w(TAG, "Cannot find span size for pre layout position. " + viewPosition);
return 0;
}
return mSpanSizeLookup.getSpanGroupIndex(adapterPosition, mSpanCount);
}
private int getSpanIndex(RecyclerView.Recycler recycler, RecyclerView.State state, int pos) {
if (!state.isPreLayout()) {
return mSpanSizeLookup.getCachedSpanIndex(pos, mSpanCount);
}
final int cached = mPreLayoutSpanIndexCache.get(pos, -1);
if (cached != -1) {
return cached;
}
final int adapterPosition = recycler.convertPreLayoutPositionToPostLayout(pos);
if (adapterPosition == -1) {
if (DEBUG) {
throw new RuntimeException("Cannot find span index for pre layout position. It is"
+ " not cached, not in the adapter. Pos:" + pos);
}
Log.w(TAG, "Cannot find span size for pre layout position. It is"
+ " not cached, not in the adapter. Pos:" + pos);
return 0;
}
return mSpanSizeLookup.getCachedSpanIndex(adapterPosition, mSpanCount);
}
private int getSpanSize(RecyclerView.Recycler recycler, RecyclerView.State state, int pos) {
if (!state.isPreLayout()) {
return mSpanSizeLookup.getSpanSize(pos);
}
final int cached = mPreLayoutSpanSizeCache.get(pos, -1);
if (cached != -1) {
return cached;
}
final int adapterPosition = recycler.convertPreLayoutPositionToPostLayout(pos);
if (adapterPosition == -1) {
if (DEBUG) {
throw new RuntimeException("Cannot find span size for pre layout position. It is"
+ " not cached, not in the adapter. Pos:" + pos);
}
Log.w(TAG, "Cannot find span size for pre layout position. It is"
+ " not cached, not in the adapter. Pos:" + pos);
return 1;
}
return mSpanSizeLookup.getSpanSize(adapterPosition);
}
@Override
void layoutChunk(RecyclerView.Recycler recycler, RecyclerView.State state,
LayoutState layoutState, LayoutChunkResult result) {
final boolean layingOutInPrimaryDirection =
layoutState.mItemDirection == LayoutState.ITEM_DIRECTION_TAIL;
int count = 0;
int consumedSpanCount = 0;
int remainingSpan = mSpanCount;
if (!layingOutInPrimaryDirection) {
int itemSpanIndex = getSpanIndex(recycler, state, layoutState.mCurrentPosition);
int itemSpanSize = getSpanSize(recycler, state, layoutState.mCurrentPosition);
remainingSpan = itemSpanIndex + itemSpanSize;
}
while (count < mSpanCount && layoutState.hasMore(state) && remainingSpan > 0) {
int pos = layoutState.mCurrentPosition;
final int spanSize = getSpanSize(recycler, state, pos);
if (spanSize > mSpanCount) {
throw new IllegalArgumentException("Item at position " + pos + " requires " +
spanSize + " spans but GridLayoutManager has only " + mSpanCount
+ " spans.");
}
remainingSpan -= spanSize;
if (remainingSpan < 0) {
break; // item did not fit into this row or column
}
View view = layoutState.next(recycler);
if (view == null) {
break;
}
consumedSpanCount += spanSize;
mSet[count] = view;
count++;
}
if (count == 0) {
result.mFinished = true;
return;
}
int maxSize = 0;
// we should assign spans before item decor offsets are calculated
assignSpans(recycler, state, count, consumedSpanCount, layingOutInPrimaryDirection);
for (int i = 0; i < count; i++) {
View view = mSet[i];
if (layoutState.mScrapList == null) {
if (layingOutInPrimaryDirection) {
addView(view);
} else {
addView(view, 0);
}
} else {
if (layingOutInPrimaryDirection) {
addDisappearingView(view);
} else {
addDisappearingView(view, 0);
}
}
int spanSize = getSpanSize(recycler, state, getPosition(view));
final int spec = View.MeasureSpec.makeMeasureSpec(mSizePerSpan * spanSize,
View.MeasureSpec.EXACTLY);
final LayoutParams lp = (LayoutParams) view.getLayoutParams();
if (mOrientation == VERTICAL) {
measureChildWithDecorationsAndMargin(view, spec, getMainDirSpec(lp.height));
} else {
measureChildWithDecorationsAndMargin(view, getMainDirSpec(lp.width), spec);
}
final int size = mOrientationHelper.getDecoratedMeasurement(view);
if (size > maxSize) {
maxSize = size;
}
}
// views that did not measure the maxSize has to be re-measured
final int maxMeasureSpec = getMainDirSpec(maxSize);
for (int i = 0; i < count; i ++) {
final View view = mSet[i];
if (mOrientationHelper.getDecoratedMeasurement(view) != maxSize) {
int spanSize = getSpanSize(recycler, state, getPosition(view));
final int spec = View.MeasureSpec.makeMeasureSpec(mSizePerSpan * spanSize,
View.MeasureSpec.EXACTLY);
if (mOrientation == VERTICAL) {
measureChildWithDecorationsAndMargin(view, spec, maxMeasureSpec);
} else {
measureChildWithDecorationsAndMargin(view, maxMeasureSpec, spec);
}
}
}
result.mConsumed = maxSize;
int left = 0, right = 0, top = 0, bottom = 0;
if (mOrientation == VERTICAL) {
if (layoutState.mLayoutDirection == LayoutState.LAYOUT_START) {
bottom = layoutState.mOffset;
top = bottom - maxSize;
} else {
top = layoutState.mOffset;
bottom = top + maxSize;
}
} else {
if (layoutState.mLayoutDirection == LayoutState.LAYOUT_START) {
right = layoutState.mOffset;
left = right - maxSize;
} else {
left = layoutState.mOffset;
right = left + maxSize;
}
}
for (int i = 0; i < count; i++) {
View view = mSet[i];
LayoutParams params = (LayoutParams) view.getLayoutParams();
if (mOrientation == VERTICAL) {
left = getPaddingLeft() + mSizePerSpan * params.mSpanIndex;
right = left + mOrientationHelper.getDecoratedMeasurementInOther(view);
} else {
top = getPaddingTop() + mSizePerSpan * params.mSpanIndex;
bottom = top + mOrientationHelper.getDecoratedMeasurementInOther(view);
}
// We calculate everything with View's bounding box (which includes decor and margins)
// To calculate correct layout position, we subtract margins.
layoutDecorated(view, left + params.leftMargin, top + params.topMargin,
right - params.rightMargin, bottom - params.bottomMargin);
if (DEBUG) {
Log.d(TAG, "laid out child at position " + getPosition(view) + ", with l:"
+ (left + params.leftMargin) + ", t:" + (top + params.topMargin) + ", r:"
+ (right - params.rightMargin) + ", b:" + (bottom - params.bottomMargin)
+ ", span:" + params.mSpanIndex + ", spanSize:" + params.mSpanSize);
}
// Consume the available space if the view is not removed OR changed
if (params.isItemRemoved() || params.isItemChanged()) {
result.mIgnoreConsumed = true;
}
result.mFocusable |= view.isFocusable();
}
Arrays.fill(mSet, null);
}
private int getMainDirSpec(int dim) {
if (dim < 0) {
return MAIN_DIR_SPEC;
} else {
return View.MeasureSpec.makeMeasureSpec(dim, View.MeasureSpec.EXACTLY);
}
}
private void measureChildWithDecorationsAndMargin(View child, int widthSpec, int heightSpec) {
calculateItemDecorationsForChild(child, mDecorInsets);
RecyclerView.LayoutParams lp = (RecyclerView.LayoutParams) child.getLayoutParams();
widthSpec = updateSpecWithExtra(widthSpec, lp.leftMargin + mDecorInsets.left,
lp.rightMargin + mDecorInsets.right);
heightSpec = updateSpecWithExtra(heightSpec, lp.topMargin + mDecorInsets.top,
lp.bottomMargin + mDecorInsets.bottom);
child.measure(widthSpec, heightSpec);
}
private int updateSpecWithExtra(int spec, int startInset, int endInset) {
if (startInset == 0 && endInset == 0) {
return spec;
}
final int mode = View.MeasureSpec.getMode(spec);
if (mode == View.MeasureSpec.AT_MOST || mode == View.MeasureSpec.EXACTLY) {
return View.MeasureSpec.makeMeasureSpec(
View.MeasureSpec.getSize(spec) - startInset - endInset, mode);
}
return spec;
}
private void assignSpans(RecyclerView.Recycler recycler, RecyclerView.State state, int count,
int consumedSpanCount, boolean layingOutInPrimaryDirection) {
int span, spanDiff, start, end, diff;
// make sure we traverse from min position to max position
if (layingOutInPrimaryDirection) {
start = 0;
end = count;
diff = 1;
} else {
start = count - 1;
end = -1;
diff = -1;
}
if (mOrientation == VERTICAL && isLayoutRTL()) { // start from last span
span = consumedSpanCount - 1;
spanDiff = -1;
} else {
span = 0;
spanDiff = 1;
}
for (int i = start; i != end; i += diff) {
View view = mSet[i];
LayoutParams params = (LayoutParams) view.getLayoutParams();
params.mSpanSize = getSpanSize(recycler, state, getPosition(view));
if (spanDiff == -1 && params.mSpanSize > 1) {
params.mSpanIndex = span - (params.mSpanSize - 1);
} else {
params.mSpanIndex = span;
}
span += spanDiff * params.mSpanSize;
}
}
/**
* Returns the number of spans laid out by this grid.
*
* @return The number of spans
* @see #setSpanCount(int)
*/
public int getSpanCount() {
return mSpanCount;
}
/**
* Sets the number of spans to be laid out.
* <p>
* If {@link #getOrientation()} is {@link #VERTICAL}, this is the number of columns.
* If {@link #getOrientation()} is {@link #HORIZONTAL}, this is the number of rows.
*
* @param spanCount The total number of spans in the grid
* @see #getSpanCount()
*/
public void setSpanCount(int spanCount) {
if (spanCount == mSpanCount) {
return;
}
if (spanCount < 1) {
throw new IllegalArgumentException("Span count should be at least 1. Provided "
+ spanCount);
}
mSpanCount = spanCount;
mSpanSizeLookup.invalidateSpanIndexCache();
}
/**
* A helper class to provide the number of spans each item occupies.
* <p>
* Default implementation sets each item to occupy exactly 1 span.
*
* @see GridLayoutManager#setSpanSizeLookup(SpanSizeLookup)
*/
public static abstract class SpanSizeLookup {
final SparseIntArray mSpanIndexCache = new SparseIntArray();
private boolean mCacheSpanIndices = false;
/**
* Returns the number of span occupied by the item at <code>position</code>.
*
* @param position The adapter position of the item
* @return The number of spans occupied by the item at the provided position
*/
abstract public int getSpanSize(int position);
/**
* Sets whether the results of {@link #getSpanIndex(int, int)} method should be cached or
* not. By default these values are not cached. If you are not overriding
* {@link #getSpanIndex(int, int)}, you should set this to true for better performance.
*
* @param cacheSpanIndices Whether results of getSpanIndex should be cached or not.
*/
public void setSpanIndexCacheEnabled(boolean cacheSpanIndices) {
mCacheSpanIndices = cacheSpanIndices;
}
/**
* Clears the span index cache. GridLayoutManager automatically calls this method when
* adapter changes occur.
*/
public void invalidateSpanIndexCache() {
mSpanIndexCache.clear();
}
/**
* Returns whether results of {@link #getSpanIndex(int, int)} method are cached or not.
*
* @return True if results of {@link #getSpanIndex(int, int)} are cached.
*/
public boolean isSpanIndexCacheEnabled() {
return mCacheSpanIndices;
}
int getCachedSpanIndex(int position, int spanCount) {
if (!mCacheSpanIndices) {
return getSpanIndex(position, spanCount);
}
final int existing = mSpanIndexCache.get(position, -1);
if (existing != -1) {
return existing;
}
final int value = getSpanIndex(position, spanCount);
mSpanIndexCache.put(position, value);
return value;
}
/**
* Returns the final span index of the provided position.
* <p>
* If you have a faster way to calculate span index for your items, you should override
* this method. Otherwise, you should enable span index cache
* ({@link #setSpanIndexCacheEnabled(boolean)}) for better performance. When caching is
* disabled, default implementation traverses all items from 0 to
* <code>position</code>. When caching is enabled, it calculates from the closest cached
* value before the <code>position</code>.
* <p>
* If you override this method, you need to make sure it is consistent with
* {@link #getSpanSize(int)}. GridLayoutManager does not call this method for
* each item. It is called only for the reference item and rest of the items
* are assigned to spans based on the reference item. For example, you cannot assign a
* position to span 2 while span 1 is empty.
* <p>
* Note that span offsets always start with 0 and are not affected by RTL.
*
* @param position The position of the item
* @param spanCount The total number of spans in the grid
* @return The final span position of the item. Should be between 0 (inclusive) and
* <code>spanCount</code>(exclusive)
*/
public int getSpanIndex(int position, int spanCount) {
int positionSpanSize = getSpanSize(position);
if (positionSpanSize == spanCount) {
return 0; // quick return for full-span items
}
int span = 0;
int startPos = 0;
// If caching is enabled, try to jump
if (mCacheSpanIndices && mSpanIndexCache.size() > 0) {
int prevKey = findReferenceIndexFromCache(position);
if (prevKey >= 0) {
span = mSpanIndexCache.get(prevKey) + getSpanSize(prevKey);
startPos = prevKey + 1;
}
}
for (int i = startPos; i < position; i++) {
int size = getSpanSize(i);
span += size;
if (span == spanCount) {
span = 0;
} else if (span > spanCount) {
// did not fit, moving to next row / column
span = size;
}
}
if (span + positionSpanSize <= spanCount) {
return span;
}
return 0;
}
int findReferenceIndexFromCache(int position) {
int lo = 0;
int hi = mSpanIndexCache.size() - 1;
while (lo <= hi) {
final int mid = (lo + hi) >>> 1;
final int midVal = mSpanIndexCache.keyAt(mid);
if (midVal < position) {
lo = mid + 1;
} else {
hi = mid - 1;
}
}
int index = lo - 1;
if (index >= 0 && index < mSpanIndexCache.size()) {
return mSpanIndexCache.keyAt(index);
}
return -1;
}
/**
* Returns the index of the group this position belongs.
* <p>
* For example, if grid has 3 columns and each item occupies 1 span, span group index
* for item 1 will be 0, item 5 will be 1.
*
* @param adapterPosition The position in adapter
* @param spanCount The total number of spans in the grid
* @return The index of the span group including the item at the given adapter position
*/
public int getSpanGroupIndex(int adapterPosition, int spanCount) {
int span = 0;
int group = 0;
int positionSpanSize = getSpanSize(adapterPosition);
for (int i = 0; i < adapterPosition; i++) {
int size = getSpanSize(i);
span += size;
if (span == spanCount) {
span = 0;
group++;
} else if (span > spanCount) {
// did not fit, moving to next row / column
span = size;
group++;
}
}
if (span + positionSpanSize > spanCount) {
group++;
}
return group;
}
}
@Override
public boolean supportsPredictiveItemAnimations() {
return mPendingSavedState == null;
}
/**
* Default implementation for {@link SpanSizeLookup}. Each item occupies 1 span.
*/
public static final class DefaultSpanSizeLookup extends SpanSizeLookup {
@Override
public int getSpanSize(int position) {
return 1;
}
@Override
public int getSpanIndex(int position, int spanCount) {
return position % spanCount;
}
}
/**
* LayoutParams used by GridLayoutManager.
*/
public static class LayoutParams extends RecyclerView.LayoutParams {
/**
* Span Id for Views that are not laid out yet.
*/
public static final int INVALID_SPAN_ID = -1;
private int mSpanIndex = INVALID_SPAN_ID;
private int mSpanSize = 0;
public LayoutParams(Context c, AttributeSet attrs) {
super(c, attrs);
}
public LayoutParams(int width, int height) {
super(width, height);
}
public LayoutParams(ViewGroup.MarginLayoutParams source) {
super(source);
}
public LayoutParams(ViewGroup.LayoutParams source) {
super(source);
}
public LayoutParams(RecyclerView.LayoutParams source) {
super(source);
}
/**
* Returns the current span index of this View. If the View is not laid out yet, the return
* value is <code>undefined</code>.
* <p>
* Note that span index may change by whether the RecyclerView is RTL or not. For
* example, if the number of spans is 3 and layout is RTL, the rightmost item will have
* span index of 2. If the layout changes back to LTR, span index for this view will be 0.
* If the item was occupying 2 spans, span indices would be 1 and 0 respectively.
* <p>
* If the View occupies multiple spans, span with the minimum index is returned.
*
* @return The span index of the View.
*/
public int getSpanIndex() {
return mSpanIndex;
}
/**
* Returns the number of spans occupied by this View. If the View not laid out yet, the
* return value is <code>undefined</code>.
*
* @return The number of spans occupied by this View.
*/
public int getSpanSize() {
return mSpanSize;
}
}
}

View File

@ -1,87 +0,0 @@
/*
* Copyright (C) 2014 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific languag`e governing permissions and
* limitations under the License.
*/
package android.support.v7.widget;
import android.view.View;
/**
* Helper class that keeps temporary state while {LayoutManager} is filling out the empty
* space.
*/
class LayoutState {
final static String TAG = "LayoutState";
final static int LAYOUT_START = -1;
final static int LAYOUT_END = 1;
final static int INVALID_LAYOUT = Integer.MIN_VALUE;
final static int ITEM_DIRECTION_HEAD = -1;
final static int ITEM_DIRECTION_TAIL = 1;
final static int SCOLLING_OFFSET_NaN = Integer.MIN_VALUE;
/**
* Number of pixels that we should fill, in the layout direction.
*/
int mAvailable;
/**
* Current position on the adapter to get the next item.
*/
int mCurrentPosition;
/**
* Defines the direction in which the data adapter is traversed.
* Should be {@link #ITEM_DIRECTION_HEAD} or {@link #ITEM_DIRECTION_TAIL}
*/
int mItemDirection;
/**
* Defines the direction in which the layout is filled.
* Should be {@link #LAYOUT_START} or {@link #LAYOUT_END}
*/
int mLayoutDirection;
/**
* Used if you want to pre-layout items that are not yet visible.
* The difference with {@link #mAvailable} is that, when recycling, distance rendered for
* {@link #mExtra} is not considered not to recycle visible children.
*/
int mExtra = 0;
/**
* @return true if there are more items in the data adapter
*/
boolean hasMore(RecyclerView.State state) {
return mCurrentPosition >= 0 && mCurrentPosition < state.getItemCount();
}
/**
* Gets the view for the next element that we should render.
* Also updates current item index to the next item, based on {@link #mItemDirection}
*
* @return The next element that we should render.
*/
View next(RecyclerView.Recycler recycler) {
final View view = recycler.getViewForPosition(mCurrentPosition);
mCurrentPosition += mItemDirection;
return view;
}
}

View File

@ -1,338 +0,0 @@
/*
* Copyright (C) 2014 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.support.v7.widget;
import android.content.Context;
import android.graphics.PointF;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.View;
import android.view.animation.DecelerateInterpolator;
import android.view.animation.LinearInterpolator;
/**
* {@link RecyclerView.SmoothScroller} implementation which uses
* {@link LinearInterpolator} until the target position becames a child of
* the RecyclerView and then uses
* {@link DecelerateInterpolator} to slowly approach to target position.
*/
abstract public class LinearSmoothScroller extends RecyclerView.SmoothScroller {
private static final String TAG = "LinearSmoothScroller";
private static final boolean DEBUG = false;
private static final float MILLISECONDS_PER_INCH = 25f;
private static final int TARGET_SEEK_SCROLL_DISTANCE_PX = 10000;
/**
* Align child view's left or top with parent view's left or top
*
* @see #calculateDtToFit(int, int, int, int, int)
* @see #calculateDxToMakeVisible(View, int)
* @see #calculateDyToMakeVisible(View, int)
*/
public static final int SNAP_TO_START = -1;
/**
* Align child view's right or bottom with parent view's right or bottom
*
* @see #calculateDtToFit(int, int, int, int, int)
* @see #calculateDxToMakeVisible(View, int)
* @see #calculateDyToMakeVisible(View, int)
*/
public static final int SNAP_TO_END = 1;
/**
* <p>Decides if the child should be snapped from start or end, depending on where it
* currently is in relation to its parent.</p>
* <p>For instance, if the view is virtually on the left of RecyclerView, using
* {@code SNAP_TO_ANY} is the same as using {@code SNAP_TO_START}</p>
*
* @see #calculateDtToFit(int, int, int, int, int)
* @see #calculateDxToMakeVisible(View, int)
* @see #calculateDyToMakeVisible(View, int)
*/
public static final int SNAP_TO_ANY = 0;
// Trigger a scroll to a further distance than TARGET_SEEK_SCROLL_DISTANCE_PX so that if target
// view is not laid out until interim target position is reached, we can detect the case before
// scrolling slows down and reschedule another interim target scroll
private static final float TARGET_SEEK_EXTRA_SCROLL_RATIO = 1.2f;
protected final LinearInterpolator mLinearInterpolator = new LinearInterpolator();
protected final DecelerateInterpolator mDecelerateInterpolator = new DecelerateInterpolator();
protected PointF mTargetVector;
private final float MILLISECONDS_PER_PX;
// Temporary variables to keep track of the interim scroll target. These values do not
// point to a real item position, rather point to an estimated location pixels.
protected int mInterimTargetDx = 0, mInterimTargetDy = 0;
public LinearSmoothScroller(Context context) {
MILLISECONDS_PER_PX = calculateSpeedPerPixel(context.getResources().getDisplayMetrics());
}
/**
* {@inheritDoc}
*/
@Override
protected void onStart() {
}
/**
* {@inheritDoc}
*/
@Override
protected void onTargetFound(View targetView, RecyclerView.State state, Action action) {
final int dx = calculateDxToMakeVisible(targetView, getHorizontalSnapPreference());
final int dy = calculateDyToMakeVisible(targetView, getVerticalSnapPreference());
final int distance = (int) Math.sqrt(dx * dx + dy * dy);
final int time = calculateTimeForDeceleration(distance);
if (time > 0) {
action.update(-dx, -dy, time, mDecelerateInterpolator);
}
}
/**
* {@inheritDoc}
*/
@Override
protected void onSeekTargetStep(int dx, int dy, RecyclerView.State state, Action action) {
if (getChildCount() == 0) {
stop();
return;
}
if (DEBUG && mTargetVector != null
&& ((mTargetVector.x * dx < 0 || mTargetVector.y * dy < 0))) {
throw new IllegalStateException("Scroll happened in the opposite direction"
+ " of the target. Some calculations are wrong");
}
mInterimTargetDx = clampApplyScroll(mInterimTargetDx, dx);
mInterimTargetDy = clampApplyScroll(mInterimTargetDy, dy);
if (mInterimTargetDx == 0 && mInterimTargetDy == 0) {
updateActionForInterimTarget(action);
} // everything is valid, keep going
}
/**
* {@inheritDoc}
*/
@Override
protected void onStop() {
mInterimTargetDx = mInterimTargetDy = 0;
mTargetVector = null;
}
/**
* Calculates the scroll speed.
*
* @param displayMetrics DisplayMetrics to be used for real dimension calculations
* @return The time (in ms) it should take for each pixel. For instance, if returned value is
* 2 ms, it means scrolling 1000 pixels with LinearInterpolation should take 2 seconds.
*/
protected float calculateSpeedPerPixel(DisplayMetrics displayMetrics) {
return MILLISECONDS_PER_INCH / displayMetrics.densityDpi;
}
/**
* <p>Calculates the time for deceleration so that transition from LinearInterpolator to
* DecelerateInterpolator looks smooth.</p>
*
* @param dx Distance to scroll
* @return Time for DecelerateInterpolator to smoothly traverse the distance when transitioning
* from LinearInterpolation
*/
protected int calculateTimeForDeceleration(int dx) {
// we want to cover same area with the linear interpolator for the first 10% of the
// interpolation. After that, deceleration will take control.
// area under curve (1-(1-x)^2) can be calculated as (1 - x/3) * x * x
// which gives 0.100028 when x = .3356
// this is why we divide linear scrolling time with .3356
return (int) Math.ceil(calculateTimeForScrolling(dx) / .3356);
}
/**
* Calculates the time it should take to scroll the given distance (in pixels)
*
* @param dx Distance in pixels that we want to scroll
* @return Time in milliseconds
* @see #calculateSpeedPerPixel(DisplayMetrics)
*/
protected int calculateTimeForScrolling(int dx) {
// In a case where dx is very small, rounding may return 0 although dx > 0.
// To avoid that issue, ceil the result so that if dx > 0, we'll always return positive
// time.
return (int) Math.ceil(Math.abs(dx) * MILLISECONDS_PER_PX);
}
/**
* When scrolling towards a child view, this method defines whether we should align the left
* or the right edge of the child with the parent RecyclerView.
*
* @return SNAP_TO_START, SNAP_TO_END or SNAP_TO_ANY; depending on the current target vector
* @see #SNAP_TO_START
* @see #SNAP_TO_END
* @see #SNAP_TO_ANY
*/
protected int getHorizontalSnapPreference() {
return mTargetVector == null || mTargetVector.x == 0 ? SNAP_TO_ANY :
mTargetVector.x > 0 ? SNAP_TO_END : SNAP_TO_START;
}
/**
* When scrolling towards a child view, this method defines whether we should align the top
* or the bottom edge of the child with the parent RecyclerView.
*
* @return SNAP_TO_START, SNAP_TO_END or SNAP_TO_ANY; depending on the current target vector
* @see #SNAP_TO_START
* @see #SNAP_TO_END
* @see #SNAP_TO_ANY
*/
protected int getVerticalSnapPreference() {
return mTargetVector == null || mTargetVector.y == 0 ? SNAP_TO_ANY :
mTargetVector.y > 0 ? SNAP_TO_END : SNAP_TO_START;
}
/**
* When the target scroll position is not a child of the RecyclerView, this method calculates
* a direction vector towards that child and triggers a smooth scroll.
*
* @see #computeScrollVectorForPosition(int)
*/
protected void updateActionForInterimTarget(Action action) {
// find an interim target position
PointF scrollVector = computeScrollVectorForPosition(getTargetPosition());
if (scrollVector == null || (scrollVector.x == 0 && scrollVector.y == 0)) {
Log.e(TAG, "To support smooth scrolling, you should override \n"
+ "LayoutManager#computeScrollVectorForPosition.\n"
+ "Falling back to instant scroll");
final int target = getTargetPosition();
stop();
instantScrollToPosition(target);
return;
}
normalize(scrollVector);
mTargetVector = scrollVector;
mInterimTargetDx = (int) (TARGET_SEEK_SCROLL_DISTANCE_PX * scrollVector.x);
mInterimTargetDy = (int) (TARGET_SEEK_SCROLL_DISTANCE_PX * scrollVector.y);
final int time = calculateTimeForScrolling(TARGET_SEEK_SCROLL_DISTANCE_PX);
// To avoid UI hiccups, trigger a smooth scroll to a distance little further than the
// interim target. Since we track the distance travelled in onSeekTargetStep callback, it
// won't actually scroll more than what we need.
action.update((int) (mInterimTargetDx * TARGET_SEEK_EXTRA_SCROLL_RATIO)
, (int) (mInterimTargetDy * TARGET_SEEK_EXTRA_SCROLL_RATIO)
, (int) (time * TARGET_SEEK_EXTRA_SCROLL_RATIO), mLinearInterpolator);
}
private int clampApplyScroll(int tmpDt, int dt) {
final int before = tmpDt;
tmpDt -= dt;
if (before * tmpDt <= 0) { // changed sign, reached 0 or was 0, reset
return 0;
}
return tmpDt;
}
/**
* Helper method for {@link #calculateDxToMakeVisible(View, int)} and
* {@link #calculateDyToMakeVisible(View, int)}
*/
public int calculateDtToFit(int viewStart, int viewEnd, int boxStart, int boxEnd, int
snapPreference) {
switch (snapPreference) {
case SNAP_TO_START:
return boxStart - viewStart;
case SNAP_TO_END:
return boxEnd - viewEnd;
case SNAP_TO_ANY:
final int dtStart = boxStart - viewStart;
if (dtStart > 0) {
return dtStart;
}
final int dtEnd = boxEnd - viewEnd;
if (dtEnd < 0) {
return dtEnd;
}
break;
default:
throw new IllegalArgumentException("snap preference should be one of the"
+ " constants defined in SmoothScroller, starting with SNAP_");
}
return 0;
}
/**
* Calculates the vertical scroll amount necessary to make the given view fully visible
* inside the RecyclerView.
*
* @param view The view which we want to make fully visible
* @param snapPreference The edge which the view should snap to when entering the visible
* area. One of {@link #SNAP_TO_START}, {@link #SNAP_TO_END} or
* {@link #SNAP_TO_END}.
* @return The vertical scroll amount necessary to make the view visible with the given
* snap preference.
*/
public int calculateDyToMakeVisible(View view, int snapPreference) {
final RecyclerView.LayoutManager layoutManager = getLayoutManager();
if (!layoutManager.canScrollVertically()) {
return 0;
}
final RecyclerView.LayoutParams params = (RecyclerView.LayoutParams)
view.getLayoutParams();
final int top = layoutManager.getDecoratedTop(view) - params.topMargin;
final int bottom = layoutManager.getDecoratedBottom(view) + params.bottomMargin;
final int start = layoutManager.getPaddingTop();
final int end = layoutManager.getHeight() - layoutManager.getPaddingBottom();
return calculateDtToFit(top, bottom, start, end, snapPreference);
}
/**
* Calculates the horizontal scroll amount necessary to make the given view fully visible
* inside the RecyclerView.
*
* @param view The view which we want to make fully visible
* @param snapPreference The edge which the view should snap to when entering the visible
* area. One of {@link #SNAP_TO_START}, {@link #SNAP_TO_END} or
* {@link #SNAP_TO_END}
* @return The vertical scroll amount necessary to make the view visible with the given
* snap preference.
*/
public int calculateDxToMakeVisible(View view, int snapPreference) {
final RecyclerView.LayoutManager layoutManager = getLayoutManager();
if (!layoutManager.canScrollHorizontally()) {
return 0;
}
final RecyclerView.LayoutParams params = (RecyclerView.LayoutParams)
view.getLayoutParams();
final int left = layoutManager.getDecoratedLeft(view) - params.leftMargin;
final int right = layoutManager.getDecoratedRight(view) + params.rightMargin;
final int start = layoutManager.getPaddingLeft();
final int end = layoutManager.getWidth() - layoutManager.getPaddingRight();
return calculateDtToFit(left, right, start, end, snapPreference);
}
abstract public PointF computeScrollVectorForPosition(int targetPosition);
}

View File

@ -1,238 +0,0 @@
/*
* Copyright (C) 2014 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.support.v7.widget;
import android.support.v7.widget.AdapterHelper.UpdateOp;
import java.util.List;
import static android.support.v7.widget.AdapterHelper.UpdateOp.ADD;
import static android.support.v7.widget.AdapterHelper.UpdateOp.MOVE;
import static android.support.v7.widget.AdapterHelper.UpdateOp.REMOVE;
import static android.support.v7.widget.AdapterHelper.UpdateOp.UPDATE;
class OpReorderer {
final Callback mCallback;
public OpReorderer(Callback callback) {
mCallback = callback;
}
void reorderOps(List<UpdateOp> ops) {
// since move operations breaks continuity, their effects on ADD/RM are hard to handle.
// we push them to the end of the list so that they can be handled easily.
int badMove;
while ((badMove = getLastMoveOutOfOrder(ops)) != -1) {
swapMoveOp(ops, badMove, badMove + 1);
}
}
private void swapMoveOp(List<UpdateOp> list, int badMove, int next) {
final UpdateOp moveOp = list.get(badMove);
final UpdateOp nextOp = list.get(next);
switch (nextOp.cmd) {
case REMOVE:
swapMoveRemove(list, badMove, moveOp, next, nextOp);
break;
case ADD:
swapMoveAdd(list, badMove, moveOp, next, nextOp);
break;
case UPDATE:
swapMoveUpdate(list, badMove, moveOp, next, nextOp);
break;
}
}
void swapMoveRemove(List<UpdateOp> list, int movePos, UpdateOp moveOp,
int removePos, UpdateOp removeOp) {
UpdateOp extraRm = null;
// check if move is nulled out by remove
boolean revertedMove = false;
final boolean moveIsBackwards;
if (moveOp.positionStart < moveOp.itemCount) {
moveIsBackwards = false;
if (removeOp.positionStart == moveOp.positionStart
&& removeOp.itemCount == moveOp.itemCount - moveOp.positionStart) {
revertedMove = true;
}
} else {
moveIsBackwards = true;
if (removeOp.positionStart == moveOp.itemCount + 1 &&
removeOp.itemCount == moveOp.positionStart - moveOp.itemCount) {
revertedMove = true;
}
}
// going in reverse, first revert the effect of add
if (moveOp.itemCount < removeOp.positionStart) {
removeOp.positionStart--;
} else if (moveOp.itemCount < removeOp.positionStart + removeOp.itemCount) {
// move is removed.
removeOp.itemCount --;
moveOp.cmd = REMOVE;
moveOp.itemCount = 1;
if (removeOp.itemCount == 0) {
list.remove(removePos);
mCallback.recycleUpdateOp(removeOp);
}
// no need to swap, it is already a remove
return;
}
// now affect of add is consumed. now apply effect of first remove
if (moveOp.positionStart <= removeOp.positionStart) {
removeOp.positionStart++;
} else if (moveOp.positionStart < removeOp.positionStart + removeOp.itemCount) {
final int remaining = removeOp.positionStart + removeOp.itemCount
- moveOp.positionStart;
extraRm = mCallback.obtainUpdateOp(REMOVE, moveOp.positionStart + 1, remaining);
removeOp.itemCount = moveOp.positionStart - removeOp.positionStart;
}
// if effects of move is reverted by remove, we are done.
if (revertedMove) {
list.set(movePos, removeOp);
list.remove(removePos);
mCallback.recycleUpdateOp(moveOp);
return;
}
// now find out the new locations for move actions
if (moveIsBackwards) {
if (extraRm != null) {
if (moveOp.positionStart > extraRm.positionStart) {
moveOp.positionStart -= extraRm.itemCount;
}
if (moveOp.itemCount > extraRm.positionStart) {
moveOp.itemCount -= extraRm.itemCount;
}
}
if (moveOp.positionStart > removeOp.positionStart) {
moveOp.positionStart -= removeOp.itemCount;
}
if (moveOp.itemCount > removeOp.positionStart) {
moveOp.itemCount -= removeOp.itemCount;
}
} else {
if (extraRm != null) {
if (moveOp.positionStart >= extraRm.positionStart) {
moveOp.positionStart -= extraRm.itemCount;
}
if (moveOp.itemCount >= extraRm.positionStart) {
moveOp.itemCount -= extraRm.itemCount;
}
}
if (moveOp.positionStart >= removeOp.positionStart) {
moveOp.positionStart -= removeOp.itemCount;
}
if (moveOp.itemCount >= removeOp.positionStart) {
moveOp.itemCount -= removeOp.itemCount;
}
}
list.set(movePos, removeOp);
if (moveOp.positionStart != moveOp.itemCount) {
list.set(removePos, moveOp);
} else {
list.remove(removePos);
}
if (extraRm != null) {
list.add(movePos, extraRm);
}
}
private void swapMoveAdd(List<UpdateOp> list, int move, UpdateOp moveOp, int add,
UpdateOp addOp) {
int offset = 0;
// going in reverse, first revert the effect of add
if (moveOp.itemCount < addOp.positionStart) {
offset--;
}
if (moveOp.positionStart < addOp.positionStart) {
offset++;
}
if (addOp.positionStart <= moveOp.positionStart) {
moveOp.positionStart += addOp.itemCount;
}
if (addOp.positionStart <= moveOp.itemCount) {
moveOp.itemCount += addOp.itemCount;
}
addOp.positionStart += offset;
list.set(move, addOp);
list.set(add, moveOp);
}
void swapMoveUpdate(List<UpdateOp> list, int move, UpdateOp moveOp, int update,
UpdateOp updateOp) {
UpdateOp extraUp1 = null;
UpdateOp extraUp2 = null;
// going in reverse, first revert the effect of add
if (moveOp.itemCount < updateOp.positionStart) {
updateOp.positionStart--;
} else if (moveOp.itemCount < updateOp.positionStart + updateOp.itemCount) {
// moved item is updated. add an update for it
updateOp.itemCount--;
extraUp1 = mCallback.obtainUpdateOp(UPDATE, moveOp.positionStart, 1);
}
// now affect of add is consumed. now apply effect of first remove
if (moveOp.positionStart <= updateOp.positionStart) {
updateOp.positionStart++;
} else if (moveOp.positionStart < updateOp.positionStart + updateOp.itemCount) {
final int remaining = updateOp.positionStart + updateOp.itemCount
- moveOp.positionStart;
extraUp2 = mCallback.obtainUpdateOp(UPDATE, moveOp.positionStart + 1, remaining);
updateOp.itemCount -= remaining;
}
list.set(update, moveOp);
if (updateOp.itemCount > 0) {
list.set(move, updateOp);
} else {
list.remove(move);
mCallback.recycleUpdateOp(updateOp);
}
if (extraUp1 != null) {
list.add(move, extraUp1);
}
if (extraUp2 != null) {
list.add(move, extraUp2);
}
}
private int getLastMoveOutOfOrder(List<UpdateOp> list) {
boolean foundNonMove = false;
for (int i = list.size() - 1; i >= 0; i--) {
final UpdateOp op1 = list.get(i);
if (op1.cmd == MOVE) {
if (foundNonMove) {
return i;
}
} else {
foundNonMove = true;
}
}
return -1;
}
static interface Callback {
UpdateOp obtainUpdateOp(int cmd, int startPosition, int itemCount);
void recycleUpdateOp(UpdateOp op);
}
}

View File

@ -1,338 +0,0 @@
/*
* Copyright (C) 2014 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.support.v7.widget;
import android.view.View;
import android.widget.LinearLayout;
/**
* Helper class for LayoutManagers to abstract measurements depending on the View's orientation.
* <p>
* It is developed to easily support vertical and horizontal orientations in a LayoutManager but
* can also be used to abstract calls around view bounds and child measurements with margins and
* decorations.
*
* @see #createHorizontalHelper(RecyclerView.LayoutManager)
* @see #createVerticalHelper(RecyclerView.LayoutManager)
*/
public abstract class OrientationHelper {
private static final int INVALID_SIZE = Integer.MIN_VALUE;
protected final RecyclerView.LayoutManager mLayoutManager;
public static final int HORIZONTAL = LinearLayout.HORIZONTAL;
public static final int VERTICAL = LinearLayout.VERTICAL;
private int mLastTotalSpace = INVALID_SIZE;
private OrientationHelper(RecyclerView.LayoutManager layoutManager) {
mLayoutManager = layoutManager;
}
/**
* Call this method after onLayout method is complete if state is NOT pre-layout.
* This method records information like layout bounds that might be useful in the next layout
* calculations.
*/
public void onLayoutComplete() {
mLastTotalSpace = getTotalSpace();
}
/**
* Returns the layout space change between the previous layout pass and current layout pass.
* <p>
* Make sure you call {@link #onLayoutComplete()} at the end of your LayoutManager's
* {@link RecyclerView.LayoutManager#onLayoutChildren(RecyclerView.Recycler,
* RecyclerView.State)} method.
*
* @return The difference between the current total space and previous layout's total space.
* @see #onLayoutComplete()
*/
public int getTotalSpaceChange() {
return INVALID_SIZE == mLastTotalSpace ? 0 : getTotalSpace() - mLastTotalSpace;
}
/**
* Returns the start of the view including its decoration and margin.
* <p>
* For example, for the horizontal helper, if a View's left is at pixel 20, has 2px left
* decoration and 3px left margin, returned value will be 15px.
*
* @param view The view element to check
* @return The first pixel of the element
* @see #getDecoratedEnd(View)
*/
public abstract int getDecoratedStart(View view);
/**
* Returns the end of the view including its decoration and margin.
* <p>
* For example, for the horizontal helper, if a View's right is at pixel 200, has 2px right
* decoration and 3px right margin, returned value will be 205.
*
* @param view The view element to check
* @return The last pixel of the element
* @see #getDecoratedStart(View)
*/
public abstract int getDecoratedEnd(View view);
/**
* Returns the space occupied by this View in the current orientation including decorations and
* margins.
*
* @param view The view element to check
* @return Total space occupied by this view
* @see #getDecoratedMeasurementInOther(View)
*/
public abstract int getDecoratedMeasurement(View view);
/**
* Returns the space occupied by this View in the perpendicular orientation including
* decorations and margins.
*
* @param view The view element to check
* @return Total space occupied by this view in the perpendicular orientation to current one
* @see #getDecoratedMeasurement(View)
*/
public abstract int getDecoratedMeasurementInOther(View view);
/**
* Returns the start position of the layout after the start padding is added.
*
* @return The very first pixel we can draw.
*/
public abstract int getStartAfterPadding();
/**
* Returns the end position of the layout after the end padding is removed.
*
* @return The end boundary for this layout.
*/
public abstract int getEndAfterPadding();
/**
* Returns the end position of the layout without taking padding into account.
*
* @return The end boundary for this layout without considering padding.
*/
public abstract int getEnd();
/**
* Offsets all children's positions by the given amount.
*
* @param amount Value to add to each child's layout parameters
*/
public abstract void offsetChildren(int amount);
/**
* Returns the total space to layout. This number is the difference between
* {@link #getEndAfterPadding()} and {@link #getStartAfterPadding()}.
*
* @return Total space to layout children
*/
public abstract int getTotalSpace();
/**
* Offsets the child in this orientation.
*
* @param view View to offset
* @param offset offset amount
*/
public abstract void offsetChild(View view, int offset);
/**
* Returns the padding at the end of the layout. For horizontal helper, this is the right
* padding and for vertical helper, this is the bottom padding. This method does not check
* whether the layout is RTL or not.
*
* @return The padding at the end of the layout.
*/
public abstract int getEndPadding();
/**
* Creates an OrientationHelper for the given LayoutManager and orientation.
*
* @param layoutManager LayoutManager to attach to
* @param orientation Desired orientation. Should be {@link #HORIZONTAL} or {@link #VERTICAL}
* @return A new OrientationHelper
*/
public static OrientationHelper createOrientationHelper(
RecyclerView.LayoutManager layoutManager, int orientation) {
switch (orientation) {
case HORIZONTAL:
return createHorizontalHelper(layoutManager);
case VERTICAL:
return createVerticalHelper(layoutManager);
}
throw new IllegalArgumentException("invalid orientation");
}
/**
* Creates a horizontal OrientationHelper for the given LayoutManager.
*
* @param layoutManager The LayoutManager to attach to.
* @return A new OrientationHelper
*/
public static OrientationHelper createHorizontalHelper(
RecyclerView.LayoutManager layoutManager) {
return new OrientationHelper(layoutManager) {
@Override
public int getEndAfterPadding() {
return mLayoutManager.getWidth() - mLayoutManager.getPaddingRight();
}
@Override
public int getEnd() {
return mLayoutManager.getWidth();
}
@Override
public void offsetChildren(int amount) {
mLayoutManager.offsetChildrenHorizontal(amount);
}
@Override
public int getStartAfterPadding() {
return mLayoutManager.getPaddingLeft();
}
@Override
public int getDecoratedMeasurement(View view) {
final RecyclerView.LayoutParams params = (RecyclerView.LayoutParams)
view.getLayoutParams();
return mLayoutManager.getDecoratedMeasuredWidth(view) + params.leftMargin
+ params.rightMargin;
}
@Override
public int getDecoratedMeasurementInOther(View view) {
final RecyclerView.LayoutParams params = (RecyclerView.LayoutParams)
view.getLayoutParams();
return mLayoutManager.getDecoratedMeasuredHeight(view) + params.topMargin
+ params.bottomMargin;
}
@Override
public int getDecoratedEnd(View view) {
final RecyclerView.LayoutParams params = (RecyclerView.LayoutParams)
view.getLayoutParams();
return mLayoutManager.getDecoratedRight(view) + params.rightMargin;
}
@Override
public int getDecoratedStart(View view) {
final RecyclerView.LayoutParams params = (RecyclerView.LayoutParams)
view.getLayoutParams();
return mLayoutManager.getDecoratedLeft(view) - params.leftMargin;
}
@Override
public int getTotalSpace() {
return mLayoutManager.getWidth() - mLayoutManager.getPaddingLeft()
- mLayoutManager.getPaddingRight();
}
@Override
public void offsetChild(View view, int offset) {
view.offsetLeftAndRight(offset);
}
@Override
public int getEndPadding() {
return mLayoutManager.getPaddingRight();
}
};
}
/**
* Creates a vertical OrientationHelper for the given LayoutManager.
*
* @param layoutManager The LayoutManager to attach to.
* @return A new OrientationHelper
*/
public static OrientationHelper createVerticalHelper(RecyclerView.LayoutManager layoutManager) {
return new OrientationHelper(layoutManager) {
@Override
public int getEndAfterPadding() {
return mLayoutManager.getHeight() - mLayoutManager.getPaddingBottom();
}
@Override
public int getEnd() {
return mLayoutManager.getHeight();
}
@Override
public void offsetChildren(int amount) {
mLayoutManager.offsetChildrenVertical(amount);
}
@Override
public int getStartAfterPadding() {
return mLayoutManager.getPaddingTop();
}
@Override
public int getDecoratedMeasurement(View view) {
final RecyclerView.LayoutParams params = (RecyclerView.LayoutParams)
view.getLayoutParams();
return mLayoutManager.getDecoratedMeasuredHeight(view) + params.topMargin
+ params.bottomMargin;
}
@Override
public int getDecoratedMeasurementInOther(View view) {
final RecyclerView.LayoutParams params = (RecyclerView.LayoutParams)
view.getLayoutParams();
return mLayoutManager.getDecoratedMeasuredWidth(view) + params.leftMargin
+ params.rightMargin;
}
@Override
public int getDecoratedEnd(View view) {
final RecyclerView.LayoutParams params = (RecyclerView.LayoutParams)
view.getLayoutParams();
return mLayoutManager.getDecoratedBottom(view) + params.bottomMargin;
}
@Override
public int getDecoratedStart(View view) {
final RecyclerView.LayoutParams params = (RecyclerView.LayoutParams)
view.getLayoutParams();
return mLayoutManager.getDecoratedTop(view) - params.topMargin;
}
@Override
public int getTotalSpace() {
return mLayoutManager.getHeight() - mLayoutManager.getPaddingTop()
- mLayoutManager.getPaddingBottom();
}
@Override
public void offsetChild(View view, int offset) {
view.offsetTopAndBottom(offset);
}
@Override
public int getEndPadding() {
return mLayoutManager.getPaddingBottom();
}
};
}
}

View File

@ -1,460 +0,0 @@
/*
* Copyright (C) 2013 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.support.v7.widget;
import java.util.ArrayList;
/**
* Like a SparseArray, but with the ability to offset key ranges for bulk insertions/deletions.
*/
class PositionMap<E> implements Cloneable {
private static final Object DELETED = new Object();
private boolean mGarbage = false;
private int[] mKeys;
private Object[] mValues;
private int mSize;
/**
* Creates a new SparseArray containing no mappings.
*/
public PositionMap() {
this(10);
}
/**
* Creates a new PositionMap containing no mappings that will not
* require any additional memory allocation to store the specified
* number of mappings. If you supply an initial capacity of 0, the
* sparse array will be initialized with a light-weight representation
* not requiring any additional array allocations.
*/
public PositionMap(int initialCapacity) {
if (initialCapacity == 0) {
mKeys = ContainerHelpers.EMPTY_INTS;
mValues = ContainerHelpers.EMPTY_OBJECTS;
} else {
initialCapacity = idealIntArraySize(initialCapacity);
mKeys = new int[initialCapacity];
mValues = new Object[initialCapacity];
}
mSize = 0;
}
@Override
@SuppressWarnings("unchecked")
public PositionMap<E> clone() {
PositionMap<E> clone = null;
try {
clone = (PositionMap<E>) super.clone();
clone.mKeys = mKeys.clone();
clone.mValues = mValues.clone();
} catch (CloneNotSupportedException cnse) {
/* ignore */
}
return clone;
}
/**
* Gets the Object mapped from the specified key, or <code>null</code>
* if no such mapping has been made.
*/
public E get(int key) {
return get(key, null);
}
/**
* Gets the Object mapped from the specified key, or the specified Object
* if no such mapping has been made.
*/
@SuppressWarnings("unchecked")
public E get(int key, E valueIfKeyNotFound) {
int i = ContainerHelpers.binarySearch(mKeys, mSize, key);
if (i < 0 || mValues[i] == DELETED) {
return valueIfKeyNotFound;
} else {
return (E) mValues[i];
}
}
/**
* Removes the mapping from the specified key, if there was any.
*/
public void delete(int key) {
int i = ContainerHelpers.binarySearch(mKeys, mSize, key);
if (i >= 0) {
if (mValues[i] != DELETED) {
mValues[i] = DELETED;
mGarbage = true;
}
}
}
/**
* Alias for {@link #delete(int)}.
*/
public void remove(int key) {
delete(key);
}
/**
* Removes the mapping at the specified index.
*/
public void removeAt(int index) {
if (mValues[index] != DELETED) {
mValues[index] = DELETED;
mGarbage = true;
}
}
/**
* Remove a range of mappings as a batch.
*
* @param index Index to begin at
* @param size Number of mappings to remove
*/
public void removeAtRange(int index, int size) {
final int end = Math.min(mSize, index + size);
for (int i = index; i < end; i++) {
removeAt(i);
}
}
public void insertKeyRange(int keyStart, int count) {
}
public void removeKeyRange(ArrayList<E> removedItems, int keyStart, int count) {
}
private void gc() {
// Log.e("SparseArray", "gc start with " + mSize);
int n = mSize;
int o = 0;
int[] keys = mKeys;
Object[] values = mValues;
for (int i = 0; i < n; i++) {
Object val = values[i];
if (val != DELETED) {
if (i != o) {
keys[o] = keys[i];
values[o] = val;
values[i] = null;
}
o++;
}
}
mGarbage = false;
mSize = o;
// Log.e("SparseArray", "gc end with " + mSize);
}
/**
* Adds a mapping from the specified key to the specified value,
* replacing the previous mapping from the specified key if there
* was one.
*/
public void put(int key, E value) {
int i = ContainerHelpers.binarySearch(mKeys, mSize, key);
if (i >= 0) {
mValues[i] = value;
} else {
i = ~i;
if (i < mSize && mValues[i] == DELETED) {
mKeys[i] = key;
mValues[i] = value;
return;
}
if (mGarbage && mSize >= mKeys.length) {
gc();
// Search again because indices may have changed.
i = ~ContainerHelpers.binarySearch(mKeys, mSize, key);
}
if (mSize >= mKeys.length) {
int n = idealIntArraySize(mSize + 1);
int[] nkeys = new int[n];
Object[] nvalues = new Object[n];
// Log.e("SparseArray", "grow " + mKeys.length + " to " + n);
System.arraycopy(mKeys, 0, nkeys, 0, mKeys.length);
System.arraycopy(mValues, 0, nvalues, 0, mValues.length);
mKeys = nkeys;
mValues = nvalues;
}
if (mSize - i != 0) {
// Log.e("SparseArray", "move " + (mSize - i));
System.arraycopy(mKeys, i, mKeys, i + 1, mSize - i);
System.arraycopy(mValues, i, mValues, i + 1, mSize - i);
}
mKeys[i] = key;
mValues[i] = value;
mSize++;
}
}
/**
* Returns the number of key-value mappings that this SparseArray
* currently stores.
*/
public int size() {
if (mGarbage) {
gc();
}
return mSize;
}
/**
* Given an index in the range <code>0...size()-1</code>, returns
* the key from the <code>index</code>th key-value mapping that this
* SparseArray stores.
*/
public int keyAt(int index) {
if (mGarbage) {
gc();
}
return mKeys[index];
}
/**
* Given an index in the range <code>0...size()-1</code>, returns
* the value from the <code>index</code>th key-value mapping that this
* SparseArray stores.
*/
@SuppressWarnings("unchecked")
public E valueAt(int index) {
if (mGarbage) {
gc();
}
return (E) mValues[index];
}
/**
* Given an index in the range <code>0...size()-1</code>, sets a new
* value for the <code>index</code>th key-value mapping that this
* SparseArray stores.
*/
public void setValueAt(int index, E value) {
if (mGarbage) {
gc();
}
mValues[index] = value;
}
/**
* Returns the index for which {@link #keyAt} would return the
* specified key, or a negative number if the specified
* key is not mapped.
*/
public int indexOfKey(int key) {
if (mGarbage) {
gc();
}
return ContainerHelpers.binarySearch(mKeys, mSize, key);
}
/**
* Returns an index for which {@link #valueAt} would return the
* specified key, or a negative number if no keys map to the
* specified value.
* <p>Beware that this is a linear search, unlike lookups by key,
* and that multiple keys can map to the same value and this will
* find only one of them.
* <p>Note also that unlike most collections' {@code indexOf} methods,
* this method compares values using {@code ==} rather than {@code equals}.
*/
public int indexOfValue(E value) {
if (mGarbage) {
gc();
}
for (int i = 0; i < mSize; i++)
if (mValues[i] == value)
return i;
return -1;
}
/**
* Removes all key-value mappings from this SparseArray.
*/
public void clear() {
int n = mSize;
Object[] values = mValues;
for (int i = 0; i < n; i++) {
values[i] = null;
}
mSize = 0;
mGarbage = false;
}
/**
* Puts a key/value pair into the array, optimizing for the case where
* the key is greater than all existing keys in the array.
*/
public void append(int key, E value) {
if (mSize != 0 && key <= mKeys[mSize - 1]) {
put(key, value);
return;
}
if (mGarbage && mSize >= mKeys.length) {
gc();
}
int pos = mSize;
if (pos >= mKeys.length) {
int n = idealIntArraySize(pos + 1);
int[] nkeys = new int[n];
Object[] nvalues = new Object[n];
// Log.e("SparseArray", "grow " + mKeys.length + " to " + n);
System.arraycopy(mKeys, 0, nkeys, 0, mKeys.length);
System.arraycopy(mValues, 0, nvalues, 0, mValues.length);
mKeys = nkeys;
mValues = nvalues;
}
mKeys[pos] = key;
mValues[pos] = value;
mSize = pos + 1;
}
/**
* {@inheritDoc}
*
* <p>This implementation composes a string by iterating over its mappings. If
* this map contains itself as a value, the string "(this Map)"
* will appear in its place.
*/
@Override
public String toString() {
if (size() <= 0) {
return "{}";
}
StringBuilder buffer = new StringBuilder(mSize * 28);
buffer.append('{');
for (int i=0; i<mSize; i++) {
if (i > 0) {
buffer.append(", ");
}
int key = keyAt(i);
buffer.append(key);
buffer.append('=');
Object value = valueAt(i);
if (value != this) {
buffer.append(value);
} else {
buffer.append("(this Map)");
}
}
buffer.append('}');
return buffer.toString();
}
static int idealByteArraySize(int need) {
for (int i = 4; i < 32; i++)
if (need <= (1 << i) - 12)
return (1 << i) - 12;
return need;
}
static int idealBooleanArraySize(int need) {
return idealByteArraySize(need);
}
static int idealShortArraySize(int need) {
return idealByteArraySize(need * 2) / 2;
}
static int idealCharArraySize(int need) {
return idealByteArraySize(need * 2) / 2;
}
static int idealIntArraySize(int need) {
return idealByteArraySize(need * 4) / 4;
}
static int idealFloatArraySize(int need) {
return idealByteArraySize(need * 4) / 4;
}
static int idealObjectArraySize(int need) {
return idealByteArraySize(need * 4) / 4;
}
static int idealLongArraySize(int need) {
return idealByteArraySize(need * 8) / 8;
}
static class ContainerHelpers {
static final boolean[] EMPTY_BOOLEANS = new boolean[0];
static final int[] EMPTY_INTS = new int[0];
static final long[] EMPTY_LONGS = new long[0];
static final Object[] EMPTY_OBJECTS = new Object[0];
// This is Arrays.binarySearch(), but doesn't do any argument validation.
static int binarySearch(int[] array, int size, int value) {
int lo = 0;
int hi = size - 1;
while (lo <= hi) {
final int mid = (lo + hi) >>> 1;
final int midVal = array[mid];
if (midVal < value) {
lo = mid + 1;
} else if (midVal > value) {
hi = mid - 1;
} else {
return mid; // value found
}
}
return ~lo; // value not present
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,97 +0,0 @@
/*
* Copyright (C) 2014 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.support.v7.widget;
import android.os.Bundle;
import android.support.v4.view.AccessibilityDelegateCompat;
import android.support.v4.view.accessibility.AccessibilityNodeInfoCompat;
import android.view.View;
import android.view.accessibility.AccessibilityEvent;
/**
* The AccessibilityDelegate used by RecyclerView.
* <p>
* This class handles basic accessibility actions and delegates them to LayoutManager.
*/
public class RecyclerViewAccessibilityDelegate extends AccessibilityDelegateCompat {
final RecyclerView mRecyclerView;
public RecyclerViewAccessibilityDelegate(RecyclerView recyclerView) {
mRecyclerView = recyclerView;
}
@Override
public boolean performAccessibilityAction(View host, int action, Bundle args) {
if (super.performAccessibilityAction(host, action, args)) {
return true;
}
if (mRecyclerView.getLayoutManager() != null) {
return mRecyclerView.getLayoutManager().performAccessibilityAction(action, args);
}
return false;
}
@Override
public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfoCompat info) {
super.onInitializeAccessibilityNodeInfo(host, info);
info.setClassName(RecyclerView.class.getName());
if (mRecyclerView.getLayoutManager() != null) {
mRecyclerView.getLayoutManager().onInitializeAccessibilityNodeInfo(info);
}
}
@Override
public void onInitializeAccessibilityEvent(View host, AccessibilityEvent event) {
super.onInitializeAccessibilityEvent(host, event);
event.setClassName(RecyclerView.class.getName());
if (host instanceof RecyclerView) {
RecyclerView rv = (RecyclerView) host;
if (rv.getLayoutManager() != null) {
rv.getLayoutManager().onInitializeAccessibilityEvent(event);
}
}
}
AccessibilityDelegateCompat getItemDelegate() {
return mItemDelegate;
}
final AccessibilityDelegateCompat mItemDelegate = new AccessibilityDelegateCompat() {
@Override
public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfoCompat info) {
super.onInitializeAccessibilityNodeInfo(host, info);
if (mRecyclerView.getLayoutManager() != null) {
mRecyclerView.getLayoutManager().
onInitializeAccessibilityNodeInfoForItem(host, info);
}
}
@Override
public boolean performAccessibilityAction(View host, int action, Bundle args) {
if (super.performAccessibilityAction(host, action, args)) {
return true;
}
if (mRecyclerView.getLayoutManager() != null) {
return mRecyclerView.getLayoutManager().
performAccessibilityActionForItem(host, action, args);
}
return false;
}
};
}

View File

@ -1,94 +0,0 @@
/*
* Copyright (C) 2014 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.support.v7.widget;
import android.view.View;
/**
* A helper class to do scroll offset calculations.
*/
class ScrollbarHelper {
/**
* @param startChild View closest to start of the list. (top or left)
* @param endChild View closest to end of the list (bottom or right)
*/
static int computeScrollOffset(RecyclerView.State state, OrientationHelper orientation,
View startChild, View endChild, RecyclerView.LayoutManager lm,
boolean smoothScrollbarEnabled, boolean reverseLayout) {
if (lm.getChildCount() == 0 || state.getItemCount() == 0 || startChild == null ||
endChild == null) {
return 0;
}
final int minPosition = Math.min(lm.getPosition(startChild), lm.getPosition(endChild));
final int maxPosition = Math.max(lm.getPosition(startChild), lm.getPosition(endChild));
final int itemsBefore = reverseLayout
? Math.max(0, state.getItemCount() - maxPosition - 1)
: Math.max(0, minPosition - 1);
if (!smoothScrollbarEnabled) {
return itemsBefore;
}
final int laidOutArea = Math.abs(orientation.getDecoratedEnd(endChild) -
orientation.getDecoratedStart(startChild));
final int itemRange = Math.abs(lm.getPosition(startChild) - lm.getPosition(endChild)) + 1;
final float avgSizePerRow = (float) laidOutArea / itemRange;
return Math.round(itemsBefore * avgSizePerRow + (orientation.getStartAfterPadding()
- orientation.getDecoratedStart(startChild)));
}
/**
* @param startChild View closest to start of the list. (top or left)
* @param endChild View closest to end of the list (bottom or right)
*/
static int computeScrollExtent(RecyclerView.State state, OrientationHelper orientation,
View startChild, View endChild, RecyclerView.LayoutManager lm,
boolean smoothScrollbarEnabled) {
if (lm.getChildCount() == 0 || state.getItemCount() == 0 || startChild == null ||
endChild == null) {
return 0;
}
if (!smoothScrollbarEnabled) {
return Math.abs(lm.getPosition(startChild) - lm.getPosition(endChild)) + 1;
}
final int extend = orientation.getDecoratedEnd(endChild)
- orientation.getDecoratedStart(startChild);
return Math.min(orientation.getTotalSpace(), extend);
}
/**
* @param startChild View closest to start of the list. (top or left)
* @param endChild View closest to end of the list (bottom or right)
*/
static int computeScrollRange(RecyclerView.State state, OrientationHelper orientation,
View startChild, View endChild, RecyclerView.LayoutManager lm,
boolean smoothScrollbarEnabled) {
if (lm.getChildCount() == 0 || state.getItemCount() == 0 || startChild == null ||
endChild == null) {
return 0;
}
if (!smoothScrollbarEnabled) {
return state.getItemCount();
}
// smooth scrollbar enabled. try to estimate better.
final int laidOutArea = orientation.getDecoratedEnd(endChild) -
orientation.getDecoratedStart(startChild);
final int laidOutRange = Math.abs(lm.getPosition(startChild) - lm.getPosition(endChild))
+ 1;
// estimate a size for full list.
return (int) ((float) laidOutArea / laidOutRange * state.getItemCount());
}
}

View File

@ -1,58 +0,0 @@
/*
* Copyright (C) 2011 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.volley;
import android.content.Intent;
/**
* Error indicating that there was an authentication failure when performing a Request.
*/
@SuppressWarnings("serial")
public class AuthFailureError extends VolleyError {
/** An intent that can be used to resolve this exception. (Brings up the password dialog.) */
private Intent mResolutionIntent;
public AuthFailureError() { }
public AuthFailureError(Intent intent) {
mResolutionIntent = intent;
}
public AuthFailureError(NetworkResponse response) {
super(response);
}
public AuthFailureError(String message) {
super(message);
}
public AuthFailureError(String message, Exception reason) {
super(message, reason);
}
public Intent getResolutionIntent() {
return mResolutionIntent;
}
@Override
public String getMessage() {
if (mResolutionIntent != null) {
return "User needs to (re)enter credentials.";
}
return super.getMessage();
}
}

View File

@ -1,97 +0,0 @@
/*
* Copyright (C) 2011 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.volley;
import java.util.Collections;
import java.util.Map;
/**
* An interface for a cache keyed by a String with a byte array as data.
*/
public interface Cache {
/**
* Retrieves an entry from the cache.
* @param key Cache key
* @return An {@link Entry} or null in the event of a cache miss
*/
public Entry get(String key);
/**
* Adds or replaces an entry to the cache.
* @param key Cache key
* @param entry Data to store and metadata for cache coherency, TTL, etc.
*/
public void put(String key, Entry entry);
/**
* Performs any potentially long-running actions needed to initialize the cache;
* will be called from a worker thread.
*/
public void initialize();
/**
* Invalidates an entry in the cache.
* @param key Cache key
* @param fullExpire True to fully expire the entry, false to soft expire
*/
public void invalidate(String key, boolean fullExpire);
/**
* Removes an entry from the cache.
* @param key Cache key
*/
public void remove(String key);
/**
* Empties the cache.
*/
public void clear();
/**
* Data and metadata for an entry returned by the cache.
*/
public static class Entry {
/** The data returned from cache. */
public byte[] data;
/** ETag for cache coherency. */
public String etag;
/** Date of this response as reported by the server. */
public long serverDate;
/** TTL for this record. */
public long ttl;
/** Soft TTL for this record. */
public long softTtl;
/** Immutable response headers as received from server; must be non-null. */
public Map<String, String> responseHeaders = Collections.emptyMap();
/** True if the entry is expired. */
public boolean isExpired() {
return this.ttl < System.currentTimeMillis();
}
/** True if a refresh is needed from the original data source. */
public boolean refreshNeeded() {
return this.softTtl < System.currentTimeMillis();
}
}
}

View File

@ -1,159 +0,0 @@
/*
* Copyright (C) 2011 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.volley;
import android.os.Process;
import java.util.concurrent.BlockingQueue;
/**
* Provides a thread for performing cache triage on a queue of requests.
*
* Requests added to the specified cache queue are resolved from cache.
* Any deliverable response is posted back to the caller via a
* {@link ResponseDelivery}. Cache misses and responses that require
* refresh are enqueued on the specified network queue for processing
* by a {@link NetworkDispatcher}.
*/
@SuppressWarnings("rawtypes")
public class CacheDispatcher extends Thread {
private static final boolean DEBUG = VolleyLog.DEBUG;
/** The queue of requests coming in for triage. */
private final BlockingQueue<Request> mCacheQueue;
/** The queue of requests going out to the network. */
private final BlockingQueue<Request> mNetworkQueue;
/** The cache to read from. */
private final Cache mCache;
/** For posting responses. */
private final ResponseDelivery mDelivery;
/** Used for telling us to die. */
private volatile boolean mQuit = false;
/**
* Creates a new cache triage dispatcher thread. You must call {@link #start()}
* in order to begin processing.
*
* @param cacheQueue Queue of incoming requests for triage
* @param networkQueue Queue to post requests that require network to
* @param cache Cache interface to use for resolution
* @param delivery Delivery interface to use for posting responses
*/
public CacheDispatcher(
BlockingQueue<Request> cacheQueue, BlockingQueue<Request> networkQueue,
Cache cache, ResponseDelivery delivery) {
mCacheQueue = cacheQueue;
mNetworkQueue = networkQueue;
mCache = cache;
mDelivery = delivery;
}
/**
* Forces this dispatcher to quit immediately. If any requests are still in
* the queue, they are not guaranteed to be processed.
*/
public void quit() {
mQuit = true;
interrupt();
}
@Override
public void run() {
if (DEBUG) VolleyLog.v("start new dispatcher");
Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);
// Make a blocking call to initialize the cache.
mCache.initialize();
while (true) {
try {
// Get a request from the cache triage queue, blocking until
// at least one is available.
final Request request = mCacheQueue.take();
request.addMarker("cache-queue-take");
// If the request has been canceled, don't bother dispatching it.
if (request.isCanceled()) {
request.finish("cache-discard-canceled");
continue;
}
// Attempt to retrieve this item from cache.
Cache.Entry entry = mCache.get(request.getCacheKey());
if (entry == null) {
request.addMarker("cache-miss");
// Cache miss; send off to the network dispatcher.
mNetworkQueue.put(request);
continue;
}
// If it is completely expired, just send it to the network.
if (entry.isExpired()) {
request.addMarker("cache-hit-expired");
request.setCacheEntry(entry);
mNetworkQueue.put(request);
continue;
}
// We have a cache hit; parse its data for delivery back to the request.
request.addMarker("cache-hit");
Response<?> response = request.parseNetworkResponse(
new NetworkResponse(entry.data, entry.responseHeaders));
request.addMarker("cache-hit-parsed");
if (!entry.refreshNeeded()) {
// Completely unexpired cache hit. Just deliver the response.
mDelivery.postResponse(request, response);
} else {
// Soft-expired cache hit. We can deliver the cached response,
// but we need to also send the request to the network for
// refreshing.
request.addMarker("cache-hit-refresh-needed");
request.setCacheEntry(entry);
// Mark the response as intermediate.
response.intermediate = true;
// Post the intermediate response back to the user and have
// the delivery then forward the request along to the network.
mDelivery.postResponse(request, response, new Runnable() {
@Override
public void run() {
try {
mNetworkQueue.put(request);
} catch (InterruptedException e) {
// Not much we can do about this.
}
}
});
}
} catch (InterruptedException e) {
// We may have been interrupted because it was time to quit.
if (mQuit) {
return;
}
continue;
}
}
}
}

View File

@ -1,98 +0,0 @@
/*
* Copyright (C) 2011 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.volley;
/**
* Default retry policy for requests.
*/
public class DefaultRetryPolicy implements RetryPolicy {
/** The current timeout in milliseconds. */
private int mCurrentTimeoutMs;
/** The current retry count. */
private int mCurrentRetryCount;
/** The maximum number of attempts. */
private final int mMaxNumRetries;
/** The backoff multiplier for for the policy. */
private final float mBackoffMultiplier;
/** The default socket timeout in milliseconds */
public static final int DEFAULT_TIMEOUT_MS = 2500;
/** The default number of retries */
public static final int DEFAULT_MAX_RETRIES = 1;
/** The default backoff multiplier */
public static final float DEFAULT_BACKOFF_MULT = 1f;
/**
* Constructs a new retry policy using the default timeouts.
*/
public DefaultRetryPolicy() {
this(DEFAULT_TIMEOUT_MS, DEFAULT_MAX_RETRIES, DEFAULT_BACKOFF_MULT);
}
/**
* Constructs a new retry policy.
* @param initialTimeoutMs The initial timeout for the policy.
* @param maxNumRetries The maximum number of retries.
* @param backoffMultiplier Backoff multiplier for the policy.
*/
public DefaultRetryPolicy(int initialTimeoutMs, int maxNumRetries, float backoffMultiplier) {
mCurrentTimeoutMs = initialTimeoutMs;
mMaxNumRetries = maxNumRetries;
mBackoffMultiplier = backoffMultiplier;
}
/**
* Returns the current timeout.
*/
@Override
public int getCurrentTimeout() {
return mCurrentTimeoutMs;
}
/**
* Returns the current retry count.
*/
@Override
public int getCurrentRetryCount() {
return mCurrentRetryCount;
}
/**
* Prepares for the next retry by applying a backoff to the timeout.
* @param error The error code of the last attempt.
*/
@Override
public void retry(VolleyError error) throws VolleyError {
mCurrentRetryCount++;
mCurrentTimeoutMs += (mCurrentTimeoutMs * mBackoffMultiplier);
if (!hasAttemptRemaining()) {
throw error;
}
}
/**
* Returns true if this policy has attempts remaining, false otherwise.
*/
protected boolean hasAttemptRemaining() {
return mCurrentRetryCount <= mMaxNumRetries;
}
}

View File

@ -1,118 +0,0 @@
/*
* Copyright (C) 2011 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.volley;
import android.os.Handler;
import java.util.concurrent.Executor;
/**
* Delivers responses and errors.
*/
public class ExecutorDelivery implements ResponseDelivery {
/** Used for posting responses, typically to the main thread. */
private final Executor mResponsePoster;
/**
* Creates a new response delivery interface.
* @param handler {@link Handler} to post responses on
*/
public ExecutorDelivery(final Handler handler) {
// Make an Executor that just wraps the handler.
mResponsePoster = new Executor() {
@Override
public void execute(Runnable command) {
handler.post(command);
}
};
}
/**
* Creates a new response delivery interface, mockable version
* for testing.
* @param executor For running delivery tasks
*/
public ExecutorDelivery(Executor executor) {
mResponsePoster = executor;
}
@Override
public void postResponse(Request<?> request, Response<?> response) {
postResponse(request, response, null);
}
@Override
public void postResponse(Request<?> request, Response<?> response, Runnable runnable) {
request.markDelivered();
request.addMarker("post-response");
mResponsePoster.execute(new ResponseDeliveryRunnable(request, response, runnable));
}
@Override
public void postError(Request<?> request, VolleyError error) {
request.addMarker("post-error");
Response<?> response = Response.error(error);
mResponsePoster.execute(new ResponseDeliveryRunnable(request, response, null));
}
/**
* A Runnable used for delivering network responses to a listener on the
* main thread.
*/
@SuppressWarnings("rawtypes")
private class ResponseDeliveryRunnable implements Runnable {
private final Request mRequest;
private final Response mResponse;
private final Runnable mRunnable;
public ResponseDeliveryRunnable(Request request, Response response, Runnable runnable) {
mRequest = request;
mResponse = response;
mRunnable = runnable;
}
@SuppressWarnings("unchecked")
@Override
public void run() {
// If this request has canceled, finish it and don't deliver.
if (mRequest.isCanceled()) {
mRequest.finish("canceled-at-delivery");
return;
}
// Deliver a normal response or error, depending.
if (mResponse.isSuccess()) {
mRequest.deliverResponse(mResponse.result);
} else {
mRequest.deliverError(mResponse.error);
}
// If this is an intermediate response, add a marker, otherwise we're done
// and the request can be finished.
if (mResponse.intermediate) {
mRequest.addMarker("intermediate-response");
} else {
mRequest.finish("done");
}
// If we have been provided a post-delivery runnable, run it.
if (mRunnable != null) {
mRunnable.run();
}
}
}
}

View File

@ -1,30 +0,0 @@
/*
* Copyright (C) 2011 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.volley;
/**
* An interface for performing requests.
*/
public interface Network {
/**
* Performs the specified request.
* @param request Request to process
* @return A {@link NetworkResponse} with data and caching metadata; will never be null
* @throws VolleyError on errors
*/
public NetworkResponse performRequest(Request<?> request) throws VolleyError;
}

View File

@ -1,142 +0,0 @@
/*
* Copyright (C) 2011 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.volley;
import android.net.TrafficStats;
import android.os.Build;
import android.os.Process;
import java.util.concurrent.BlockingQueue;
/**
* Provides a thread for performing network dispatch from a queue of requests.
*
* Requests added to the specified queue are processed from the network via a
* specified {@link Network} interface. Responses are committed to cache, if
* eligible, using a specified {@link Cache} interface. Valid responses and
* errors are posted back to the caller via a {@link ResponseDelivery}.
*/
@SuppressWarnings("rawtypes")
public class NetworkDispatcher extends Thread {
/** The queue of requests to service. */
private final BlockingQueue<Request> mQueue;
/** The network interface for processing requests. */
private final Network mNetwork;
/** The cache to write to. */
private final Cache mCache;
/** For posting responses and errors. */
private final ResponseDelivery mDelivery;
/** Used for telling us to die. */
private volatile boolean mQuit = false;
/**
* Creates a new network dispatcher thread. You must call {@link #start()}
* in order to begin processing.
*
* @param queue Queue of incoming requests for triage
* @param network Network interface to use for performing requests
* @param cache Cache interface to use for writing responses to cache
* @param delivery Delivery interface to use for posting responses
*/
public NetworkDispatcher(BlockingQueue<Request> queue,
Network network, Cache cache,
ResponseDelivery delivery) {
mQueue = queue;
mNetwork = network;
mCache = cache;
mDelivery = delivery;
}
/**
* Forces this dispatcher to quit immediately. If any requests are still in
* the queue, they are not guaranteed to be processed.
*/
public void quit() {
mQuit = true;
interrupt();
}
@Override
public void run() {
Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);
Request request;
while (true) {
try {
// Take a request from the queue.
request = mQueue.take();
} catch (InterruptedException e) {
// We may have been interrupted because it was time to quit.
if (mQuit) {
return;
}
continue;
}
try {
request.addMarker("network-queue-take");
// If the request was cancelled already, do not perform the
// network request.
if (request.isCanceled()) {
request.finish("network-discard-cancelled");
continue;
}
// Tag the request (if API >= 14)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
TrafficStats.setThreadStatsTag(request.getTrafficStatsTag());
}
// Perform the network request.
NetworkResponse networkResponse = mNetwork.performRequest(request);
request.addMarker("network-http-complete");
// If the server returned 304 AND we delivered a response already,
// we're done -- don't deliver a second identical response.
if (networkResponse.notModified && request.hasHadResponseDelivered()) {
request.finish("not-modified");
continue;
}
// Parse the response here on the worker thread.
Response<?> response = request.parseNetworkResponse(networkResponse);
request.addMarker("network-parse-complete");
// Write to cache if applicable.
// TODO: Only update cache metadata instead of entire record for 304s.
if (request.shouldCache() && response.cacheEntry != null) {
mCache.put(request.getCacheKey(), response.cacheEntry);
request.addMarker("network-cache-written");
}
// Post the response back.
request.markDelivered();
mDelivery.postResponse(request, response);
} catch (VolleyError volleyError) {
parseAndDeliverNetworkError(request, volleyError);
} catch (Exception e) {
VolleyLog.e(e, "Unhandled exception %s", e.toString());
mDelivery.postError(request, new VolleyError(e));
}
}
}
private void parseAndDeliverNetworkError(Request<?> request, VolleyError error) {
error = request.parseNetworkError(error);
mDelivery.postError(request, error);
}
}

View File

@ -1,36 +0,0 @@
/*
* Copyright (C) 2011 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.volley;
/**
* Indicates that there was a network error when performing a Volley request.
*/
@SuppressWarnings("serial")
public class NetworkError extends VolleyError {
public NetworkError() {
super();
}
public NetworkError(Throwable cause) {
super(cause);
}
public NetworkError(NetworkResponse networkResponse) {
super(networkResponse);
}
}

View File

@ -1,62 +0,0 @@
/*
* Copyright (C) 2011 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.volley;
import org.apache.http.HttpStatus;
import java.util.Collections;
import java.util.Map;
/**
* Data and headers returned from {@link Network#performRequest(Request)}.
*/
public class NetworkResponse {
/**
* Creates a new network response.
* @param statusCode the HTTP status code
* @param data Response body
* @param headers Headers returned with this response, or null for none
* @param notModified True if the server returned a 304 and the data was already in cache
*/
public NetworkResponse(int statusCode, byte[] data, Map<String, String> headers,
boolean notModified) {
this.statusCode = statusCode;
this.data = data;
this.headers = headers;
this.notModified = notModified;
}
public NetworkResponse(byte[] data) {
this(HttpStatus.SC_OK, data, Collections.<String, String>emptyMap(), false);
}
public NetworkResponse(byte[] data, Map<String, String> headers) {
this(HttpStatus.SC_OK, data, headers, false);
}
/** The HTTP status code. */
public final int statusCode;
/** Raw data from this response. */
public final byte[] data;
/** Response headers. */
public final Map<String, String> headers;
/** True if the server returned a 304 (Not Modified). */
public final boolean notModified;
}

View File

@ -1,31 +0,0 @@
/*
* Copyright (C) 2011 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.volley;
/**
* Error indicating that no connection could be established when performing a Volley request.
*/
@SuppressWarnings("serial")
public class NoConnectionError extends NetworkError {
public NoConnectionError() {
super();
}
public NoConnectionError(Throwable reason) {
super(reason);
}
}

View File

@ -1,34 +0,0 @@
/*
* Copyright (C) 2011 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.volley;
/**
* Indicates that the server's response could not be parsed.
*/
@SuppressWarnings("serial")
public class ParseError extends VolleyError {
public ParseError() { }
public ParseError(NetworkResponse networkResponse) {
super(networkResponse);
}
public ParseError(Throwable cause) {
super(cause);
}
}

View File

@ -1,543 +0,0 @@
/*
* Copyright (C) 2011 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.volley;
import android.net.TrafficStats;
import android.net.Uri;
import android.os.Handler;
import android.os.Looper;
import android.os.SystemClock;
import android.text.TextUtils;
import com.android.volley.VolleyLog.MarkerLog;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.Collections;
import java.util.Map;
/**
* Base class for all network requests.
*
* @param <T> The type of parsed response this request expects.
*/
public abstract class Request<T> implements Comparable<Request<T>> {
/**
* Default encoding for POST or PUT parameters. See {@link #getParamsEncoding()}.
*/
private static final String DEFAULT_PARAMS_ENCODING = "UTF-8";
/**
* Supported request methods.
*/
public interface Method {
int DEPRECATED_GET_OR_POST = -1;
int GET = 0;
int POST = 1;
int PUT = 2;
int DELETE = 3;
}
/** An event log tracing the lifetime of this request; for debugging. */
private final MarkerLog mEventLog = MarkerLog.ENABLED ? new MarkerLog() : null;
/** Request method of this request. Currently supports GET, POST, PUT, and DELETE. */
private final int mMethod;
/** URL of this request. */
private final String mUrl;
/** Default tag for {@link TrafficStats}. */
private final int mDefaultTrafficStatsTag;
/** Listener interface for errors. */
private final Response.ErrorListener mErrorListener;
/** Sequence number of this request, used to enforce FIFO ordering. */
private Integer mSequence;
/** The request queue this request is associated with. */
private RequestQueue mRequestQueue;
/** Whether or not responses to this request should be cached. */
private boolean mShouldCache = true;
/** Whether or not this request has been canceled. */
private boolean mCanceled = false;
/** Whether or not a response has been delivered for this request yet. */
private boolean mResponseDelivered = false;
// A cheap variant of request tracing used to dump slow requests.
private long mRequestBirthTime = 0;
/** Threshold at which we should log the request (even when debug logging is not enabled). */
private static final long SLOW_REQUEST_THRESHOLD_MS = 3000;
/** The retry policy for this request. */
private RetryPolicy mRetryPolicy;
/**
* When a request can be retrieved from cache but must be refreshed from
* the network, the cache entry will be stored here so that in the event of
* a "Not Modified" response, we can be sure it hasn't been evicted from cache.
*/
private Cache.Entry mCacheEntry = null;
/** An opaque token tagging this request; used for bulk cancellation. */
private Object mTag;
/**
* Creates a new request with the given URL and error listener. Note that
* the normal response listener is not provided here as delivery of responses
* is provided by subclasses, who have a better idea of how to deliver an
* already-parsed response.
*
* @deprecated Use {@link #Request(int, String, com.android.volley.Response.ErrorListener)}.
*/
public Request(String url, Response.ErrorListener listener) {
this(Method.DEPRECATED_GET_OR_POST, url, listener);
}
/**
* Creates a new request with the given method (one of the values from {@link Method}),
* URL, and error listener. Note that the normal response listener is not provided here as
* delivery of responses is provided by subclasses, who have a better idea of how to deliver
* an already-parsed response.
*/
public Request(int method, String url, Response.ErrorListener listener) {
mMethod = method;
mUrl = url;
mErrorListener = listener;
setRetryPolicy(new DefaultRetryPolicy());
mDefaultTrafficStatsTag = TextUtils.isEmpty(url) ? 0: Uri.parse(url).getHost().hashCode();
}
/**
* Return the method for this request. Can be one of the values in {@link Method}.
*/
public int getMethod() {
return mMethod;
}
/**
* Set a tag on this request. Can be used to cancel all requests with this
* tag by {@link RequestQueue#cancelAll(Object)}.
*/
public void setTag(Object tag) {
mTag = tag;
}
/**
* Returns this request's tag.
* @see Request#setTag(Object)
*/
public Object getTag() {
return mTag;
}
/**
* @return A tag for use with {@link TrafficStats#setThreadStatsTag(int)}
*/
public int getTrafficStatsTag() {
return mDefaultTrafficStatsTag;
}
/**
* Sets the retry policy for this request.
*/
public void setRetryPolicy(RetryPolicy retryPolicy) {
mRetryPolicy = retryPolicy;
}
/**
* Adds an event to this request's event log; for debugging.
*/
public void addMarker(String tag) {
if (MarkerLog.ENABLED) {
mEventLog.add(tag, Thread.currentThread().getId());
} else if (mRequestBirthTime == 0) {
mRequestBirthTime = SystemClock.elapsedRealtime();
}
}
/**
* Notifies the request queue that this request has finished (successfully or with error).
*
* <p>Also dumps all events from this request's event log; for debugging.</p>
*/
void finish(final String tag) {
if (mRequestQueue != null) {
mRequestQueue.finish(this);
}
if (MarkerLog.ENABLED) {
final long threadId = Thread.currentThread().getId();
if (Looper.myLooper() != Looper.getMainLooper()) {
// If we finish marking off of the main thread, we need to
// actually do it on the main thread to ensure correct ordering.
Handler mainThread = new Handler(Looper.getMainLooper());
mainThread.post(new Runnable() {
@Override
public void run() {
mEventLog.add(tag, threadId);
mEventLog.finish(this.toString());
}
});
return;
}
mEventLog.add(tag, threadId);
mEventLog.finish(this.toString());
} else {
long requestTime = SystemClock.elapsedRealtime() - mRequestBirthTime;
if (requestTime >= SLOW_REQUEST_THRESHOLD_MS) {
VolleyLog.d("%d ms: %s", requestTime, this.toString());
}
}
}
/**
* Associates this request with the given queue. The request queue will be notified when this
* request has finished.
*/
public void setRequestQueue(RequestQueue requestQueue) {
mRequestQueue = requestQueue;
}
/**
* Sets the sequence number of this request. Used by {@link RequestQueue}.
*/
public final void setSequence(int sequence) {
mSequence = sequence;
}
/**
* Returns the sequence number of this request.
*/
public final int getSequence() {
if (mSequence == null) {
throw new IllegalStateException("getSequence called before setSequence");
}
return mSequence;
}
/**
* Returns the URL of this request.
*/
public String getUrl() {
return mUrl;
}
/**
* Returns the cache key for this request. By default, this is the URL.
*/
public String getCacheKey() {
return getUrl();
}
/**
* Annotates this request with an entry retrieved for it from cache.
* Used for cache coherency support.
*/
public void setCacheEntry(Cache.Entry entry) {
mCacheEntry = entry;
}
/**
* Returns the annotated cache entry, or null if there isn't one.
*/
public Cache.Entry getCacheEntry() {
return mCacheEntry;
}
/**
* Mark this request as canceled. No callback will be delivered.
*/
public void cancel() {
mCanceled = true;
}
/**
* Returns true if this request has been canceled.
*/
public boolean isCanceled() {
return mCanceled;
}
/**
* Returns a list of extra HTTP headers to go along with this request. Can
* throw {@link AuthFailureError} as authentication may be required to
* provide these values.
* @throws AuthFailureError In the event of auth failure
*/
public Map<String, String> getHeaders() throws AuthFailureError {
return Collections.emptyMap();
}
/**
* Returns a Map of POST parameters to be used for this request, or null if
* a simple GET should be used. Can throw {@link AuthFailureError} as
* authentication may be required to provide these values.
*
* <p>Note that only one of getPostParams() and getPostBody() can return a non-null
* value.</p>
* @throws AuthFailureError In the event of auth failure
*
* @deprecated Use {@link #getParams()} instead.
*/
protected Map<String, String> getPostParams() throws AuthFailureError {
return getParams();
}
/**
* Returns which encoding should be used when converting POST parameters returned by
* {@link #getPostParams()} into a raw POST body.
*
* <p>This controls both encodings:
* <ol>
* <li>The string encoding used when converting parameter names and values into bytes prior
* to URL encoding them.</li>
* <li>The string encoding used when converting the URL encoded parameters into a raw
* byte array.</li>
* </ol>
*
* @deprecated Use {@link #getParamsEncoding()} instead.
*/
protected String getPostParamsEncoding() {
return getParamsEncoding();
}
/**
* @deprecated Use {@link #getBodyContentType()} instead.
*/
public String getPostBodyContentType() {
return getBodyContentType();
}
/**
* Returns the raw POST body to be sent.
*
* @throws AuthFailureError In the event of auth failure
*
* @deprecated Use {@link #getBody()} instead.
*/
public byte[] getPostBody() throws AuthFailureError {
// Note: For compatibility with legacy clients of volley, this implementation must remain
// here instead of simply calling the getBody() function because this function must
// call getPostParams() and getPostParamsEncoding() since legacy clients would have
// overridden these two member functions for POST requests.
Map<String, String> postParams = getPostParams();
if (postParams != null && postParams.size() > 0) {
return encodeParameters(postParams, getPostParamsEncoding());
}
return null;
}
/**
* Returns a Map of parameters to be used for a POST or PUT request. Can throw
* {@link AuthFailureError} as authentication may be required to provide these values.
*
* <p>Note that you can directly override {@link #getBody()} for custom data.</p>
*
* @throws AuthFailureError in the event of auth failure
*/
protected Map<String, String> getParams() throws AuthFailureError {
return null;
}
/**
* Returns which encoding should be used when converting POST or PUT parameters returned by
* {@link #getParams()} into a raw POST or PUT body.
*
* <p>This controls both encodings:
* <ol>
* <li>The string encoding used when converting parameter names and values into bytes prior
* to URL encoding them.</li>
* <li>The string encoding used when converting the URL encoded parameters into a raw
* byte array.</li>
* </ol>
*/
protected String getParamsEncoding() {
return DEFAULT_PARAMS_ENCODING;
}
public String getBodyContentType() {
return "application/x-www-form-urlencoded; charset=" + getParamsEncoding();
}
/**
* Returns the raw POST or PUT body to be sent.
*
* @throws AuthFailureError in the event of auth failure
*/
public byte[] getBody() throws AuthFailureError {
Map<String, String> params = getParams();
if (params != null && params.size() > 0) {
return encodeParameters(params, getParamsEncoding());
}
return null;
}
/**
* Converts <code>params</code> into an application/x-www-form-urlencoded encoded string.
*/
private byte[] encodeParameters(Map<String, String> params, String paramsEncoding) {
StringBuilder encodedParams = new StringBuilder();
try {
for (Map.Entry<String, String> entry : params.entrySet()) {
encodedParams.append(URLEncoder.encode(entry.getKey(), paramsEncoding));
encodedParams.append('=');
encodedParams.append(URLEncoder.encode(entry.getValue(), paramsEncoding));
encodedParams.append('&');
}
return encodedParams.toString().getBytes(paramsEncoding);
} catch (UnsupportedEncodingException uee) {
throw new RuntimeException("Encoding not supported: " + paramsEncoding, uee);
}
}
/**
* Set whether or not responses to this request should be cached.
*/
public final void setShouldCache(boolean shouldCache) {
mShouldCache = shouldCache;
}
/**
* Returns true if responses to this request should be cached.
*/
public final boolean shouldCache() {
return mShouldCache;
}
/**
* Priority values. Requests will be processed from higher priorities to
* lower priorities, in FIFO order.
*/
public enum Priority {
LOW,
NORMAL,
HIGH,
IMMEDIATE
}
/**
* Returns the {@link Priority} of this request; {@link Priority#NORMAL} by default.
*/
public Priority getPriority() {
return Priority.NORMAL;
}
/**
* Returns the socket timeout in milliseconds per retry attempt. (This value can be changed
* per retry attempt if a backoff is specified via backoffTimeout()). If there are no retry
* attempts remaining, this will cause delivery of a {@link TimeoutError} error.
*/
public final int getTimeoutMs() {
return mRetryPolicy.getCurrentTimeout();
}
/**
* Returns the retry policy that should be used for this request.
*/
public RetryPolicy getRetryPolicy() {
return mRetryPolicy;
}
/**
* Mark this request as having a response delivered on it. This can be used
* later in the request's lifetime for suppressing identical responses.
*/
public void markDelivered() {
mResponseDelivered = true;
}
/**
* Returns true if this request has had a response delivered for it.
*/
public boolean hasHadResponseDelivered() {
return mResponseDelivered;
}
/**
* Subclasses must implement this to parse the raw network response
* and return an appropriate response type. This method will be
* called from a worker thread. The response will not be delivered
* if you return null.
* @param response Response from the network
* @return The parsed response, or null in the case of an error
*/
abstract protected Response<T> parseNetworkResponse(NetworkResponse response);
/**
* Subclasses can override this method to parse 'networkError' and return a more specific error.
*
* <p>The default implementation just returns the passed 'networkError'.</p>
*
* @param volleyError the error retrieved from the network
* @return an NetworkError augmented with additional information
*/
protected VolleyError parseNetworkError(VolleyError volleyError) {
return volleyError;
}
/**
* Subclasses must implement this to perform delivery of the parsed
* response to their listeners. The given response is guaranteed to
* be non-null; responses that fail to parse are not delivered.
* @param response The parsed response returned by
* {@link #parseNetworkResponse(NetworkResponse)}
*/
abstract protected void deliverResponse(T response);
/**
* Delivers error message to the ErrorListener that the Request was
* initialized with.
*
* @param error Error details
*/
public void deliverError(VolleyError error) {
if (mErrorListener != null) {
mErrorListener.onErrorResponse(error);
}
}
/**
* Our comparator sorts from high to low priority, and secondarily by
* sequence number to provide FIFO ordering.
*/
@Override
public int compareTo(Request<T> other) {
Priority left = this.getPriority();
Priority right = other.getPriority();
// High-priority requests are "lesser" so they are sorted to the front.
// Equal priorities are sorted by sequence number to provide FIFO ordering.
return left == right ?
this.mSequence - other.mSequence :
right.ordinal() - left.ordinal();
}
@Override
public String toString() {
String trafficStatsTag = "0x" + Integer.toHexString(getTrafficStatsTag());
return (mCanceled ? "[X] " : "[ ] ") + getUrl() + " " + trafficStatsTag + " "
+ getPriority() + " " + mSequence;
}
}

View File

@ -1,287 +0,0 @@
/*
* Copyright (C) 2011 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.volley;
import android.os.Handler;
import android.os.Looper;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.Map;
import java.util.Queue;
import java.util.Set;
import java.util.concurrent.PriorityBlockingQueue;
import java.util.concurrent.atomic.AtomicInteger;
/**
* A request dispatch queue with a thread pool of dispatchers.
*
* Calling {@link #add(Request)} will enqueue the given Request for dispatch,
* resolving from either cache or network on a worker thread, and then delivering
* a parsed response on the main thread.
*/
@SuppressWarnings("rawtypes")
public class RequestQueue {
/** Used for generating monotonically-increasing sequence numbers for requests. */
private AtomicInteger mSequenceGenerator = new AtomicInteger();
/**
* Staging area for requests that already have a duplicate request in flight.
*
* <ul>
* <li>containsKey(cacheKey) indicates that there is a request in flight for the given cache
* key.</li>
* <li>get(cacheKey) returns waiting requests for the given cache key. The in flight request
* is <em>not</em> contained in that list. Is null if no requests are staged.</li>
* </ul>
*/
private final Map<String, Queue<Request>> mWaitingRequests =
new HashMap<String, Queue<Request>>();
/**
* The set of all requests currently being processed by this RequestQueue. A Request
* will be in this set if it is waiting in any queue or currently being processed by
* any dispatcher.
*/
private final Set<Request> mCurrentRequests = new HashSet<Request>();
/** The cache triage queue. */
private final PriorityBlockingQueue<Request> mCacheQueue =
new PriorityBlockingQueue<Request>();
/** The queue of requests that are actually going out to the network. */
private final PriorityBlockingQueue<Request> mNetworkQueue =
new PriorityBlockingQueue<Request>();
/** Number of network request dispatcher threads to start. */
private static final int DEFAULT_NETWORK_THREAD_POOL_SIZE = 4;
/** Cache interface for retrieving and storing respones. */
private final Cache mCache;
/** Network interface for performing requests. */
private final Network mNetwork;
/** Response delivery mechanism. */
private final ResponseDelivery mDelivery;
/** The network dispatchers. */
private NetworkDispatcher[] mDispatchers;
/** The cache dispatcher. */
private CacheDispatcher mCacheDispatcher;
/**
* Creates the worker pool. Processing will not begin until {@link #start()} is called.
*
* @param cache A Cache to use for persisting responses to disk
* @param network A Network interface for performing HTTP requests
* @param threadPoolSize Number of network dispatcher threads to create
* @param delivery A ResponseDelivery interface for posting responses and errors
*/
public RequestQueue(Cache cache, Network network, int threadPoolSize,
ResponseDelivery delivery) {
mCache = cache;
mNetwork = network;
mDispatchers = new NetworkDispatcher[threadPoolSize];
mDelivery = delivery;
}
/**
* Creates the worker pool. Processing will not begin until {@link #start()} is called.
*
* @param cache A Cache to use for persisting responses to disk
* @param network A Network interface for performing HTTP requests
* @param threadPoolSize Number of network dispatcher threads to create
*/
public RequestQueue(Cache cache, Network network, int threadPoolSize) {
this(cache, network, threadPoolSize,
new ExecutorDelivery(new Handler(Looper.getMainLooper())));
}
/**
* Creates the worker pool. Processing will not begin until {@link #start()} is called.
*
* @param cache A Cache to use for persisting responses to disk
* @param network A Network interface for performing HTTP requests
*/
public RequestQueue(Cache cache, Network network) {
this(cache, network, DEFAULT_NETWORK_THREAD_POOL_SIZE);
}
/**
* Starts the dispatchers in this queue.
*/
public void start() {
stop(); // Make sure any currently running dispatchers are stopped.
// Create the cache dispatcher and start it.
mCacheDispatcher = new CacheDispatcher(mCacheQueue, mNetworkQueue, mCache, mDelivery);
mCacheDispatcher.start();
// Create network dispatchers (and corresponding threads) up to the pool size.
for (int i = 0; i < mDispatchers.length; i++) {
NetworkDispatcher networkDispatcher = new NetworkDispatcher(mNetworkQueue, mNetwork,
mCache, mDelivery);
mDispatchers[i] = networkDispatcher;
networkDispatcher.start();
}
}
/**
* Stops the cache and network dispatchers.
*/
public void stop() {
if (mCacheDispatcher != null) {
mCacheDispatcher.quit();
}
for (int i = 0; i < mDispatchers.length; i++) {
if (mDispatchers[i] != null) {
mDispatchers[i].quit();
}
}
}
/**
* Gets a sequence number.
*/
public int getSequenceNumber() {
return mSequenceGenerator.incrementAndGet();
}
/**
* Gets the {@link Cache} instance being used.
*/
public Cache getCache() {
return mCache;
}
/**
* A simple predicate or filter interface for Requests, for use by
* {@link RequestQueue#cancelAll(RequestFilter)}.
*/
public interface RequestFilter {
public boolean apply(Request<?> request);
}
/**
* Cancels all requests in this queue for which the given filter applies.
* @param filter The filtering function to use
*/
public void cancelAll(RequestFilter filter) {
synchronized (mCurrentRequests) {
for (Request<?> request : mCurrentRequests) {
if (filter.apply(request)) {
request.cancel();
}
}
}
}
/**
* Cancels all requests in this queue with the given tag. Tag must be non-null
* and equality is by identity.
*/
public void cancelAll(final Object tag) {
if (tag == null) {
throw new IllegalArgumentException("Cannot cancelAll with a null tag");
}
cancelAll(new RequestFilter() {
@Override
public boolean apply(Request<?> request) {
return request.getTag() == tag;
}
});
}
/**
* Adds a Request to the dispatch queue.
* @param request The request to service
* @return The passed-in request
*/
public Request add(Request request) {
// Tag the request as belonging to this queue and add it to the set of current requests.
request.setRequestQueue(this);
synchronized (mCurrentRequests) {
mCurrentRequests.add(request);
}
// Process requests in the order they are added.
request.setSequence(getSequenceNumber());
request.addMarker("add-to-queue");
// If the request is uncacheable, skip the cache queue and go straight to the network.
if (!request.shouldCache()) {
mNetworkQueue.add(request);
return request;
}
// Insert request into stage if there's already a request with the same cache key in flight.
synchronized (mWaitingRequests) {
String cacheKey = request.getCacheKey();
if (mWaitingRequests.containsKey(cacheKey)) {
// There is already a request in flight. Queue up.
Queue<Request> stagedRequests = mWaitingRequests.get(cacheKey);
if (stagedRequests == null) {
stagedRequests = new LinkedList<Request>();
}
stagedRequests.add(request);
mWaitingRequests.put(cacheKey, stagedRequests);
if (VolleyLog.DEBUG) {
VolleyLog.v("Request for cacheKey=%s is in flight, putting on hold.", cacheKey);
}
} else {
// Insert 'null' queue for this cacheKey, indicating there is now a request in
// flight.
mWaitingRequests.put(cacheKey, null);
mCacheQueue.add(request);
}
return request;
}
}
/**
* Called from {@link Request#finish(String)}, indicating that processing of the given request
* has finished.
*
* <p>Releases waiting requests for <code>request.getCacheKey()</code> if
* <code>request.shouldCache()</code>.</p>
*/
void finish(Request request) {
// Remove from the set of requests currently being processed.
synchronized (mCurrentRequests) {
mCurrentRequests.remove(request);
}
if (request.shouldCache()) {
synchronized (mWaitingRequests) {
String cacheKey = request.getCacheKey();
Queue<Request> waitingRequests = mWaitingRequests.remove(cacheKey);
if (waitingRequests != null) {
if (VolleyLog.DEBUG) {
VolleyLog.v("Releasing %d waiting requests for cacheKey=%s.",
waitingRequests.size(), cacheKey);
}
// Process all queued up requests. They won't be considered as in flight, but
// that's not a problem as the cache has been primed by 'request'.
mCacheQueue.addAll(waitingRequests);
}
}
}
}
}

View File

@ -1,85 +0,0 @@
/*
* Copyright (C) 2011 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.volley;
/**
* Encapsulates a parsed response for delivery.
*
* @param <T> Parsed type of this response
*/
public class Response<T> {
/** Callback interface for delivering parsed responses. */
public interface Listener<T> {
/** Called when a response is received. */
public void onResponse(T response);
}
/** Callback interface for delivering error responses. */
public interface ErrorListener {
/**
* Callback method that an error has been occurred with the
* provided error code and optional user-readable message.
*/
public void onErrorResponse(VolleyError error);
}
/** Returns a successful response containing the parsed result. */
public static <T> Response<T> success(T result, Cache.Entry cacheEntry) {
return new Response<T>(result, cacheEntry);
}
/**
* Returns a failed response containing the given error code and an optional
* localized message displayed to the user.
*/
public static <T> Response<T> error(VolleyError error) {
return new Response<T>(error);
}
/** Parsed response, or null in the case of error. */
public final T result;
/** Cache metadata for this response, or null in the case of error. */
public final Cache.Entry cacheEntry;
/** Detailed error information if <code>errorCode != OK</code>. */
public final VolleyError error;
/** True if this response was a soft-expired one and a second one MAY be coming. */
public boolean intermediate = false;
/**
* Returns whether this response is considered successful.
*/
public boolean isSuccess() {
return error == null;
}
private Response(T result, Cache.Entry cacheEntry) {
this.result = result;
this.cacheEntry = cacheEntry;
this.error = null;
}
private Response(VolleyError error) {
this.result = null;
this.cacheEntry = null;
this.error = error;
}
}

View File

@ -1,35 +0,0 @@
/*
* Copyright (C) 2011 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.volley;
public interface ResponseDelivery {
/**
* Parses a response from the network or cache and delivers it.
*/
public void postResponse(Request<?> request, Response<?> response);
/**
* Parses a response from the network or cache and delivers it. The provided
* Runnable will be executed after delivery.
*/
public void postResponse(Request<?> request, Response<?> response, Runnable runnable);
/**
* Posts an error for the given request.
*/
public void postError(Request<?> request, VolleyError error);
}

View File

@ -1,41 +0,0 @@
/*
* Copyright (C) 2011 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.volley;
/**
* Retry policy for a request.
*/
public interface RetryPolicy {
/**
* Returns the current timeout (used for logging).
*/
public int getCurrentTimeout();
/**
* Returns the current retry count (used for logging).
*/
public int getCurrentRetryCount();
/**
* Prepares for the next retry by applying a backoff to the timeout.
* @param error The error code of the last attempt.
* @throws VolleyError In the event that the retry could not be performed (for example if we
* ran out of attempts), the passed in error is thrown.
*/
public void retry(VolleyError error) throws VolleyError;
}

View File

@ -1,32 +0,0 @@
/*
* Copyright (C) 2011 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.volley;
/**
* Indicates that the error responded with an error response.
*/
@SuppressWarnings("serial")
public class ServerError extends VolleyError {
public ServerError(NetworkResponse networkResponse) {
super(networkResponse);
}
public ServerError() {
super();
}
}

View File

@ -1,23 +0,0 @@
/*
* Copyright (C) 2011 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.volley;
/**
* Indicates that the connection or the socket timed out.
*/
@SuppressWarnings("serial")
public class TimeoutError extends VolleyError { }

View File

@ -1,48 +0,0 @@
/*
* Copyright (C) 2011 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.volley;
/**
* Exception style class encapsulating Volley errors
*/
@SuppressWarnings("serial")
public class VolleyError extends Exception {
public final NetworkResponse networkResponse;
public VolleyError() {
networkResponse = null;
}
public VolleyError(NetworkResponse response) {
networkResponse = response;
}
public VolleyError(String exceptionMessage) {
super(exceptionMessage);
networkResponse = null;
}
public VolleyError(String exceptionMessage, Throwable reason) {
super(exceptionMessage, reason);
networkResponse = null;
}
public VolleyError(Throwable cause) {
super(cause);
networkResponse = null;
}
}

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