Compare commits

..

209 Commits

Author SHA1 Message Date
18401019693
283de1047c 悬浮窗关闭 2022-11-01 16:12:16 +08:00
18401019693
06079c7e9c 红点通知 2022-11-01 14:47:58 +08:00
9e411ecd71 修复送礼主播会闪退问题(心愿单id冲突) 2022-11-01 11:26:49 +08:00
18401019693
574d93d608 分支创建 2022-10-31 09:41:41 +08:00
09687fb318 幸运天使点击气泡弹名牌框 2022-10-29 16:54:17 +08:00
18401019693
64bfc37bd7 关播页面 2022-10-29 16:13:47 +08:00
18401019693
a632e48d38 关播页面 2022-10-29 15:58:14 +08:00
18401019693
5570d29f32 关播页面 2022-10-29 15:51:50 +08:00
18401019693
c440b58981 关播页面 2022-10-29 15:08:44 +08:00
18401019693
6efd2898d7 关播页面 2022-10-29 14:31:53 +08:00
18401019693
a7c48675af 修改图片 2022-10-29 13:49:14 +08:00
18401019693
7e9d2917b6 修改图片 2022-10-29 13:44:48 +08:00
18401019693
cb118e4a9f 测试修改 2022-10-28 18:09:52 +08:00
18401019693
6e582829b2 测试修改 2022-10-28 18:06:05 +08:00
30902825d6 恢复新人特惠代码,从banner进直播间需要打开新人特惠 2022-10-28 17:51:59 +08:00
a4c56c7e28 替换美颜key 2022-10-28 17:26:49 +08:00
26db1514d8 修复直播间-用户-头像-跳直播间会卡主的问题 2022-10-28 17:06:20 +08:00
40cd824389 Merge remote-tracking branch 'origin/master' 2022-10-28 16:03:27 +08:00
fd687ab2d5 修复Banner连点多开问题 2022-10-28 16:03:12 +08:00
18401019693
bab377a202 测试修改 2022-10-28 15:59:56 +08:00
f1554f8201 修复心愿单Banner连点多开问题 2022-10-28 15:50:10 +08:00
81933f0ad7 修复活动Banner加载框不消失的问题 2022-10-28 15:45:05 +08:00
18401019693
a16ae482a8 测试修改 2022-10-28 15:03:50 +08:00
18401019693
b688e671c1 测试修改 2022-10-28 15:00:56 +08:00
476caa4be3 修复心愿单链接 2022-10-28 14:26:03 +08:00
d04a44044c 修复活动tab没带活动id 2022-10-28 13:55:51 +08:00
b394a8f9b5 修复firebase反馈的空指针问题 2022-10-28 13:50:34 +08:00
07ae094bed 修复firebase反馈的空指针问题 2022-10-28 13:12:39 +08:00
18401019693
4be0148324 测试修改 2022-10-28 11:14:02 +08:00
025c8d74aa 修复firebase反馈的MainActivity.forward空指针问题 2022-10-28 10:51:48 +08:00
f60aeaa35e 修复firebase反馈的SocketRyClient.mSocketHandler空指针问题 2022-10-28 10:44:25 +08:00
bf8e6de236 补充反馈参数 2022-10-27 18:30:00 +08:00
2c74fb78d9 补充幸运天使的房间号id参数 2022-10-27 18:06:08 +08:00
78c4c455a8 补充反馈日志 2022-10-27 17:56:27 +08:00
135f8f5be3 调整底栏跳活动id 2022-10-27 17:22:20 +08:00
32832654ef 修复活动banner快速点击会多次打开的问题 2022-10-27 16:54:41 +08:00
92ec8a3044 修复活动banner快速点击会多次打开的问题 2022-10-27 16:52:06 +08:00
cccde7a3f8 重新调整活动Banner逻辑 2022-10-27 16:29:22 +08:00
6efcb75c31 修复首页周星榜svga会消失的问题
修复Firebase可能没uid的问题
新增其他事件统计
2022-10-27 15:28:43 +08:00
18401019693
2e2e5c7ec0 测试修改 2022-10-27 15:20:46 +08:00
18401019693
c8ab6ffa15 测试修改 2022-10-27 14:55:55 +08:00
18401019693
8b180ce664 测试修改 2022-10-27 14:48:07 +08:00
fb0e35196c 更新融云sdk 2022-10-27 14:13:15 +08:00
92233e1298 Merge remote-tracking branch 'origin/master' 2022-10-27 10:37:12 +08:00
18401019693
2891c3bf14 直播间UI调整,修改悬浮 2022-10-27 10:36:25 +08:00
0f236f743d 修复几处PendingIntent的Flag闪退问题 2022-10-27 10:34:15 +08:00
1d8cdf250d 调整趣味游戏tab选中线颜色 2022-10-27 10:19:50 +08:00
875fa33625 新增趣玩游戏对话框 2022-10-27 10:05:32 +08:00
9c629937da 调整Banner点击事件 2022-10-26 17:26:26 +08:00
38d2e0df57 新增直播间轮播Banner
调整身份特权弹窗
2022-10-26 16:34:53 +08:00
18401019693
c725be7bbc 直播间UI调整,修改悬浮 2022-10-26 16:16:55 +08:00
18401019693
787d50c5b4 直播间UI调整,修改悬浮 2022-10-26 15:28:03 +08:00
18401019693
af7a8965a7 直播间UI调整 2022-10-26 14:45:39 +08:00
18142669586
d8d29dd2ad 新增更新区分潘多拉和pd,拉黑不感兴趣首页消失,谷歌支付页面修改 2022-10-26 13:40:17 +08:00
22225eece6 调整AppContext只在主线程中初始化
新增crashlytics的控制开关
2022-10-26 11:34:50 +08:00
dad3f85864 Merge remote-tracking branch 'origin/master' 2022-10-26 11:33:43 +08:00
c83db0ec77 新增幸运女神通知 2022-10-26 11:33:32 +08:00
18401019693
0b601738f7 直播间UI调整 2022-10-26 10:39:54 +08:00
2eba951ad1 Merge remote-tracking branch 'origin/master' 2022-10-25 17:11:22 +08:00
0d6bf8adaa 修复直播间侧边栏Banner点击后加载弹窗不会消失的问题 2022-10-25 17:11:14 +08:00
bc87e143c8 修复直播间侧边栏Banner点击后加载弹窗不会消失的问题 2022-10-25 17:10:29 +08:00
18401019693
92dfe89213 界面修改 2022-10-25 17:10:20 +08:00
18401019693
b0ba5b7d57 权限判断 2022-10-25 16:10:50 +08:00
18401019693
1959a7933b 添加30秒倒计时 2022-10-25 15:50:49 +08:00
18401019693
1ce5ac2c5f 语音转文字 2022-10-25 15:29:21 +08:00
003f6622b9 修复切换滤镜-其他-滤镜时,不会恢复拖动条的问题 2022-10-25 15:09:27 +08:00
18401019693
7e00a5e71e 语音转文字 2022-10-25 14:41:08 +08:00
18401019693
172b37ece2 语音转文字 2022-10-25 14:05:33 +08:00
b4e048bf74 根据需求修改美颜UI 2022-10-25 11:24:42 +08:00
a0bff8a019 Merge remote-tracking branch 'origin/master' 2022-10-24 18:26:42 +08:00
5db1021ecc 补充FirebaseCrashlytics控制开关 2022-10-24 18:26:31 +08:00
18401019693
7fabc4f1b6 语音转文字 2022-10-24 18:18:39 +08:00
6b7fd4d53e 新增firebase-crashlytics 2022-10-24 17:55:43 +08:00
18401019693
ab6e578336 删除不必要文件,修改设置页面 2022-10-24 10:58:56 +08:00
18401019693
e0861ff7eb 星级挑战修改,聊天修改 2022-10-22 17:42:17 +08:00
f9fd849ce0 补充异常日志内容 2022-10-22 17:18:02 +08:00
18401019693
60a132489a 悬浮窗修改 2022-10-22 16:27:12 +08:00
a82d3984fa 补充异常日志内容 2022-10-22 15:59:00 +08:00
ed97955d90 修复一处闪退问题 2022-10-22 15:00:21 +08:00
3be5f8b0cd Merge remote-tracking branch 'origin/master' 2022-10-22 14:50:18 +08:00
d2977fae85 移除调试代码 2022-10-22 14:49:37 +08:00
be0f81e059 Merge branch 'dev_20221020' 2022-10-22 14:48:25 +08:00
18401019693
099cc0d83d 讯飞sdk替换,页面修改 2022-10-22 14:43:01 +08:00
18401019693
90e249e2d7 根据后端需求修改上报日志接口参数 2022-10-22 14:40:35 +08:00
38a269ae1c 新增捕获并上传异常日志的功能 2022-10-22 13:23:57 +08:00
77f5d89f28 Merge remote-tracking branch 'origin/master' 2022-10-22 13:15:53 +08:00
18401019693
1ecad0f89f 设定页面修改 2022-10-22 11:23:24 +08:00
18401019693
c2d2687441 设定页面修改 2022-10-22 10:04:05 +08:00
f51237f04a 修复一处闪退问题 2022-10-22 09:48:18 +08:00
18401019693
5f27031620 设置页面修改 2022-10-21 18:28:50 +08:00
18401019693
e0a398a9fd 直播内播放修改 2022-10-21 16:01:03 +08:00
18401019693
05d4b29991 直播内播放 2022-10-21 15:52:53 +08:00
dedb30d297 修复聊天框名牌混乱问题 2022-10-21 14:40:31 +08:00
c9743f28a3 Merge remote-tracking branch 'origin/master' 2022-10-21 13:44:57 +08:00
512708284c 调整签到提示对话框高度 2022-10-21 13:44:29 +08:00
18142669586
d4d101843b Merge remote-tracking branch 'origin/master' 2022-10-21 13:23:33 +08:00
18142669586
11aeb95fd7 谷歌包强制不获取推广码 2022-10-21 13:23:16 +08:00
99e07bf861 调整签到提示文本高度 2022-10-21 11:19:16 +08:00
be735d9ca6 压缩资源文件 2022-10-21 09:33:06 +08:00
3dd9f3f551 新增启动直播准备间时就加载上次美颜参数 2022-10-20 17:58:10 +08:00
18401019693
f25f61b78c 语音听写 2022-10-20 17:49:04 +08:00
461a23a790 Merge branch 'master' into dev_20221020 2022-10-20 17:40:57 +08:00
3c6b4d13a9 Merge remote-tracking branch 'origin/master' 2022-10-20 15:36:04 +08:00
231ffcac84 修复一处空指针闪退问题 2022-10-20 15:35:49 +08:00
18401019693
845be4d795 按需求修改 2022-10-20 15:10:18 +08:00
6f40ff969d 移除调试代码 2022-10-20 14:23:34 +08:00
5559dd7eb2 Merge branch 'master' into dev_20221020 2022-10-20 12:17:14 +08:00
18401019693
5ec6a14ba1 修改悬浮窗样式,添加悬浮设置 2022-10-20 11:42:30 +08:00
1e2d146e74 Merge branch 'master' into dev_20221020 2022-10-20 11:34:23 +08:00
18401019693
217c5f3115 修改悬浮窗样式,添加悬浮设置 2022-10-20 11:33:56 +08:00
18401019693
a09cbf4776 修改悬浮窗样式,添加悬浮设置 2022-10-20 11:32:33 +08:00
4330ee9d57 Merge branch 'master' into dev_20221020 2022-10-20 11:30:05 +08:00
18401019693
ad785f2b39 修改悬浮窗样式,添加悬浮设置 2022-10-20 11:29:37 +08:00
1501858a7d Merge branch 'master' into dev_20221020 2022-10-20 11:23:53 +08:00
18401019693
a49db975b1 修改悬浮窗样式,添加悬浮设置 2022-10-20 11:22:31 +08:00
79aadad668 Merge branch 'master' into dev_20221020
# Conflicts:
#	settings.gradle
2022-10-20 11:17:52 +08:00
e4ba0b7f80 fix 移除旧美颜初始化代码 2022-10-20 11:16:03 +08:00
ca03a8f23e 排除美颜so
压缩图片资源
2022-10-20 10:49:08 +08:00
18401019693
4b5f3a9560 修改悬浮窗样式,添加悬浮设置 2022-10-20 10:48:58 +08:00
97fc07db0c 调整选择了风格推荐的话,则不允许使用其他功能
替换风格推荐icon
2022-10-19 17:28:15 +08:00
28137615df fix:直播间侧边推荐Banner多次点击可能导致重复进入直播间问题 2022-10-19 16:36:09 +08:00
00dfd38be5 重新启用美颜sdk
调整美颜sdk只使用美颜功能
2022-10-19 16:19:50 +08:00
99d32c03b2 fix:直播间侧边推荐banner点击跳转后未打开新人签到对话框 2022-10-18 18:24:19 +08:00
18401019693
80f23f4cc3 修改悬浮窗样式 2022-10-18 17:23:13 +08:00
18401019693
234756149c 修改悬浮窗样式 2022-10-18 17:08:41 +08:00
ec1656fbbd update:调整下载策略,如检测到直播播放器卡顿(fps为0)则暂停所有下载所有任务,当fps大于0则认为正常网络而继续下载,从而确保优先播放 2022-10-18 16:45:49 +08:00
18401019693
baa596158d 修改活动导致星级出现展示不出来的问题 2022-10-18 15:12:25 +08:00
18401019693
94c5f4b809 修改线上问题 2022-10-18 14:06:05 +08:00
18401019693
91743ecd3d 修改测试问题 2022-10-18 13:11:14 +08:00
0d12df93ab Merge remote-tracking branch 'origin/master' 2022-10-17 17:46:45 +08:00
4070c7717b add:直播间私信悬浮窗默认隐藏,随接口判断是否显示 2022-10-17 17:46:30 +08:00
18401019693
5bf95c28d2 直播结束,悬浮窗 2022-10-17 16:00:27 +08:00
09f74c3881 fix:修复一处内存泄漏问题 2022-10-17 15:10:03 +08:00
18401019693
5f44473c49 直播结束,悬浮窗 2022-10-17 14:58:36 +08:00
18401019693
842ef05dc7 直播结束,悬浮窗 2022-10-17 14:48:19 +08:00
814e45952c fix:直播准备间心愿单未自动下载礼物的问题 2022-10-17 10:57:35 +08:00
18401019693
0eb6b68b5c 直播结束,悬浮窗 2022-10-17 10:45:33 +08:00
18401019693
47b6f9b45f 直播结束,悬浮窗 2022-10-17 10:13:17 +08:00
780f9a3328 fix:修复滑动直播间无法再次点亮问题 2022-10-14 15:55:24 +08:00
fd038da6d7 fix:修复Banner重复点击会进入两次直播间的问题 2022-10-14 10:35:24 +08:00
9503f4a6c7 fix:礼物返回为null的问题 2022-10-13 20:42:54 +08:00
18401019693
b8ff6d56ae 修复测试问题 2022-10-13 18:29:23 +08:00
e352db3ced Merge remote-tracking branch 'origin/master' 2022-10-13 16:08:05 +08:00
2cbc018764 更新gradle脚本 2022-10-13 16:07:52 +08:00
18401019693
9e02ad5119 修复测试问题 2022-10-13 13:52:01 +08:00
18401019693
2d122a93b7 6.4.3版本 2022-10-13 13:05:21 +08:00
18401019693
8d0af1a06e 连麦 2022-10-13 11:10:29 +08:00
db1940c571 补充心动svga地址 2022-10-12 17:54:35 +08:00
b8e742cd08 调整界面UI透明度 2022-10-12 17:30:12 +08:00
eb2aa91612 调整新人签到弹框 2022-10-12 17:03:26 +08:00
fa4042bf42 Merge remote-tracking branch 'origin/master' 2022-10-12 16:38:01 +08:00
9de86e545b 调整礼物UI
新增新人签到弹框
2022-10-12 16:37:52 +08:00
18401019693
b9977a3d90 星级挑战成功 2022-10-12 16:34:54 +08:00
99308f5ac5 Merge remote-tracking branch 'origin/master' 2022-10-12 16:05:42 +08:00
d86e68060c 调整礼物UI
新增新人签到弹框
2022-10-12 16:05:33 +08:00
18401019693
9212ed34cc 星级挑战成功 2022-10-12 14:44:21 +08:00
18401019693
62dc81d971 星级挑战成功 2022-10-12 13:37:42 +08:00
6d4e4f8566 调整礼物弹框文本 2022-10-12 13:23:11 +08:00
18401019693
88107b7ab5 星级挑战成功 2022-10-12 11:52:45 +08:00
db81f4556a 调整礼物UI 贵族名字位置 2022-10-12 11:22:50 +08:00
18401019693
5b4912815a 机器人Im消息 2022-10-12 10:05:30 +08:00
20916313dd 新人特惠补充URL问号判断 2022-10-12 09:55:48 +08:00
18401019693
c118a7c999 机器人Im消息 2022-10-11 18:31:10 +08:00
310fe91a19 调整弱网下,礼物加载动画失败后取消 2022-10-11 18:03:32 +08:00
1a8e7ecae9 调整.9图缓存策略 2022-10-11 17:56:15 +08:00
18401019693
447f8537f1 dian9图问题直播间聊天列表优化 2022-10-11 17:26:49 +08:00
7e35cc8e3c 调整礼物UI高度 2022-10-11 16:38:59 +08:00
18401019693
3689a3a29d 修改活动UI重叠问题 2022-10-11 16:22:53 +08:00
18401019693
ca0dd85b8d 修改问题 2022-10-11 15:59:48 +08:00
18401019693
0a25585c8e 老用户回归,星级Im消息修改 2022-10-11 15:36:17 +08:00
18401019693
9b1e182fbd 老用户回归 2022-10-11 14:44:40 +08:00
f2a3f55e52 新增Banner进入直播间直接唤起新人特惠
修复新人特惠URL为null时依旧打开弹框
调整新人特惠红点入口
调整用户手动下载svga如网络失败时的操作
2022-10-11 14:11:12 +08:00
18401019693
127490ca91 测试修改 2022-10-11 13:37:44 +08:00
18401019693
11d0afde56 测试修改 2022-10-11 10:59:19 +08:00
18401019693
0a6471163c 测试修改 2022-10-11 10:26:35 +08:00
18401019693
8aefa10ef8 测试修改 2022-10-10 18:03:13 +08:00
c0fa59ce64 修复:模拟器首次进入直播间卡顿问题 2022-10-10 17:33:53 +08:00
18401019693
ce7433226d 星级挑战 2022-10-10 17:22:04 +08:00
d1e40abe2e 修复:聊天获取AtUserId为空的空指针错误 2022-10-10 17:11:35 +08:00
8f37f3cc6d 更新SVGA库:新增获取动画持续时间方法 2022-10-10 16:10:15 +08:00
f202fdd08d update 2022-10-10 14:57:26 +08:00
89c29fa442 Merge remote-tracking branch 'origin/master' 2022-10-10 13:44:41 +08:00
1435848f2a 调整礼物包裹UI 2022-10-10 13:44:31 +08:00
18401019693
5f9e27aa8a @消息逻辑补充 2022-10-10 13:38:51 +08:00
06bc518372 补充礼物包裹的下载 2022-10-10 11:41:13 +08:00
18401019693
ee7374d816 @消息逻辑补充 2022-10-10 11:34:29 +08:00
5060d647fb 根据文档修改新礼物UI
移除主界面预下载所有礼物svga入口
获取直播间状态后开始下载所有礼物svga
GiftCacheUtil改为单例并支持顺序下载所有礼物及插队下载
预处理新人特惠红点显示/隐藏接口
获取svga播放时间统一由SVGAViewUtils处理
2022-10-10 11:00:46 +08:00
3a87583340 Merge remote-tracking branch 'origin/master' 2022-10-10 10:58:27 +08:00
18401019693
a6004941ad @消息界面删除逻辑补充 2022-10-08 18:26:05 +08:00
18401019693
e2095f6e46 @消息界面删除逻辑补充 2022-10-08 18:24:05 +08:00
18401019693
8cf76a13e0 @消息界面删除逻辑 2022-10-08 18:09:37 +08:00
bc553a1b1d Merge remote-tracking branch 'origin/master'
# Conflicts:
#	common/src/main/res/values/strings.xml
2022-10-08 11:10:12 +08:00
18401019693
80655a8662 @消息界面 2022-10-08 10:01:58 +08:00
18142669586
a1633e3456 新增注册第三方注册的来源字段 2022-10-07 16:58:49 +08:00
340217e922 优化直播间加载.9图改为由Glide管理Bitmap 2022-10-06 18:15:34 +08:00
f10316bf57 Merge remote-tracking branch 'origin/master' 2022-10-06 18:12:39 +08:00
18401019693
b279bb1083 新消息补充 2022-10-06 17:58:46 +08:00
d7d980860c Merge remote-tracking branch 'origin/master' 2022-10-06 17:43:43 +08:00
18401019693
575d870dcc 新消息 2022-10-06 17:35:31 +08:00
2f97839619 优化视觉:第三方登录点击后弹出loading
更新svga库
2022-10-06 17:34:45 +08:00
92e435f6b6 更新FacebookSDK版本
修复Facebook登录成功后无反应问题
第三方登录新增三秒内不允许重复点击功能
2022-10-06 14:08:12 +08:00
5c349902dd Merge remote-tracking branch 'origin/master' 2022-10-06 13:28:27 +08:00
18401019693
72dd63355e 直播间滑动设置 2022-10-06 13:06:46 +08:00
dd97d35851 退出Activity时清理bitmap
退出LiveActivity时,清理SVGA
新增检测到触发未捕获异常闪退时,直接退出不再重新加载
优化一处LiveActivity所持有的静态view,防止内存泄漏
更新SVGAPlayer库
2022-10-06 11:43:06 +08:00
18401019693
39b4a52ade 直播后台播放 2022-09-30 14:23:15 +08:00
18401019693
dea52ee452 更改图标大小 2022-09-30 10:47:58 +08:00
18401019693
b7129bcbfa TOKEN失效 2022-09-29 16:26:10 +08:00
1f0a95ad0f 优化点击进入直播间的速度 2022-09-29 15:58:57 +08:00
18401019693
81f701e915 连麦问题解决 2022-09-29 15:06:55 +08:00
1157 changed files with 13304 additions and 3343 deletions

View File

@@ -19,11 +19,15 @@ import com.faceunity.core.enumeration.FUInputTextureEnum;
import com.faceunity.core.enumeration.FUTransformMatrixEnum;
import com.faceunity.core.faceunity.FUAIKit;
import com.faceunity.core.utils.CameraUtils;
import com.yunbao.faceunity.data.FaceBeautyDataFactory;
import com.yunbao.faceunity.data.FaceUnityDataFactory;
import com.yunbao.faceunity.entity.FaceBeautyBean;
import com.yunbao.faceunity.entity.FaceBeautyFilterBean;
import com.yunbao.faceunity.listener.FURendererListener;
import com.yunbao.faceunity.ui.FaceUnityView;
import com.yunbao.faceunity.utils.CSVUtils;
import com.yunbao.faceunity.utils.FURenderer;
import com.yunbao.faceunity.utils.FaceSPUtils;
import com.yunbao.faceunity.utils.FaceUnityData;
import com.yunbao.faceunity.utils.net.OkHttpUtils;
@@ -31,6 +35,8 @@ import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.Map;
import java.util.Objects;
import cn.rongcloud.rtc.api.RCRTCEngine;
import cn.rongcloud.rtc.api.callback.IRCRTCVideoOutputFrameListener;
@@ -83,6 +89,7 @@ public class FaceManager implements SensorEventListener {
/**
* 注册长按对比键事件
*
* @param faceUnityView
*/
public void setFaceUnityView(FaceUnityView faceUnityView) {
@@ -98,6 +105,44 @@ public class FaceManager implements SensorEventListener {
}
});
}
public void loadConfig(){
initFaceBeauty();
}
public void initFaceBeauty() {
FaceBeautyDataFactory faceBeautyDataFactory;
faceBeautyDataFactory = new FaceBeautyDataFactory();
Map<String, ?> configMap = FaceSPUtils.getInstance().getAll();
for (String key : configMap.keySet()) {
if ("FilterViewHolder_".equals(key)) {
for (FaceBeautyFilterBean filter : faceBeautyDataFactory.getBeautyFilters()) {
if (filter.getKey().equals(configMap.get(key))&&!"origin".equals(configMap.get(key))) {
faceBeautyDataFactory.onFilterSelected(filter.getKey(), Double.parseDouble((String) Objects.requireNonNull(configMap.get("FilterViewHolder_" + configMap.get(key) + "_val")))/100, filter.getDesRes());
Log.i(TAG, "test: 设置滤镜 ="+filter.getKey()+" val = "+configMap.get("FilterViewHolder_" + configMap.get(key) + "_val"));
break;
}
}
} else if (key.startsWith("BeautySkinViewHolder_")) {
String name = key.replace("BeautySkinViewHolder_", "");
for (FaceBeautyBean bean : faceBeautyDataFactory.getShapeBeauty()) {
if (bean.getKey().equals(name)) {
faceBeautyDataFactory.updateParamIntensity(bean.getKey(),Double.parseDouble((String) Objects.requireNonNull(configMap.get(key))));
Log.i(TAG, "test: 设置美颜 = "+bean.getKey()+" val = "+configMap.get(key));
break;
}
}
}else if(key.startsWith("BeautyShapeViewHolder")){
String name = key.replace("BeautyShapeViewHolder_", "");
for (FaceBeautyBean bean : faceBeautyDataFactory.getShapeBeauty()) {
if (bean.getKey().equals(name)) {
faceBeautyDataFactory.updateParamIntensity(bean.getKey(),Double.parseDouble((String) Objects.requireNonNull(configMap.get(key))));
Log.i(TAG, "test: 设置美肤 = "+bean.getKey()+" val = "+configMap.get(key));
break;
}
}
}
}
}
/**
* 监听人脸识别个数

View File

@@ -4,7 +4,6 @@ import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

View File

@@ -66,7 +66,7 @@ public class AnimojiViewHolder extends BaseViewHolder {
@Override
public void reset(List<? extends BaseBean> list) {
adapter.del(getName(this));
adapter.save(getName(this),"0");
adapter.getAnimojiDataFactory().onAnimojiSelected((AnimojiBean) list.get(0));
adapter.setSelectPosition(0);
}

View File

@@ -37,7 +37,8 @@ public class BeautyShapeViewHolder extends BaseViewHolder {
super.onProgressChanged(seekBar, value, fromUser);
FaceBeautyBean bean = (FaceBeautyBean) itemView.getTag();
double toValue = SeekBarUtils.Companion.seekToValue(bean.getModelAttributeData().getMaxRange(), value, seekBar.getMin());
BeautyShapeViewHolder.this.value.setText(String.format("%.1f", toValue));
BeautyShapeViewHolder.this.value.setTag(String.format("%.1f", toValue));
BeautyShapeViewHolder.this.value.setText(value+"");
adapter.getFaceBeautyDataFactory().updateParamIntensity(bean.getKey(), toValue);
saveData();
}
@@ -80,7 +81,7 @@ public class BeautyShapeViewHolder extends BaseViewHolder {
@Override
public void saveData() {
FaceBeautyBean bean = (FaceBeautyBean) itemView.getTag();
adapter.save(getName(this)+bean.getKey(), (String) value.getText());
adapter.save(getName(this)+bean.getKey(), (String) value.getTag());
}
@Override

View File

@@ -36,7 +36,8 @@ public class BeautySkinViewHolder extends BaseViewHolder{
super.onProgressChanged(seekBar, value, fromUser);
FaceBeautyBean bean = (FaceBeautyBean) itemView.getTag();
double toValue = SeekBarUtils.Companion.seekToValue(bean.getModelAttributeData().getMaxRange(), value, seekBar.getMin());
BeautySkinViewHolder.this.value.setText(String.format("%.1f",toValue));
BeautySkinViewHolder.this.value.setTag(String.format("%.1f",toValue));
BeautySkinViewHolder.this.value.setText(value+"");
adapter.getFaceBeautyDataFactory().updateParamIntensity(bean.getKey(),toValue);
saveData();
}
@@ -80,7 +81,7 @@ public class BeautySkinViewHolder extends BaseViewHolder{
@Override
public void saveData() {
String key = ((FaceBeautyBean)itemView.getTag()).getKey();
String val= (String) value.getText();
String val= (String) value.getTag();
adapter.save(getName(this)+key,val);
}

View File

@@ -71,7 +71,7 @@ public class BigHeadViewHolder extends BaseViewHolder {
@Override
public void reset(List<? extends BaseBean> list) {
adapter.del(getName(this));
adapter.save(getName(this),list.get(0).getKey());
adapter.getPropDataFactory().setPropType(FunctionEnum.BIG_HEAD);
adapter.getPropDataFactory().onItemSelected((PropBean) list.get(0));
adapter.setSelectPosition(0);

View File

@@ -9,6 +9,8 @@ import androidx.annotation.NonNull;
import com.yunbao.faceunity.R;
import com.yunbao.faceunity.entity.BaseBean;
import com.yunbao.faceunity.entity.FaceBeautyFilterBean;
import com.yunbao.faceunity.seekbar.DiscreteSeekBar;
import com.yunbao.faceunity.utils.SeekBarUtils;
import java.util.List;
@@ -18,6 +20,7 @@ import java.util.List;
public class FilterViewHolder extends BaseViewHolder {
private ImageView icon;
private TextView title;
private String KEY_VAL;
public FilterViewHolder(@NonNull View itemView) {
super(itemView);
@@ -28,6 +31,28 @@ public class FilterViewHolder extends BaseViewHolder {
adapter.getFaceBeautyDataFactory().onFilterSelected(bean.getKey(), bean.getIntensity(), bean.getDesRes());
setSelectPosition(getAdapterPosition());
saveData();
if("origin".equals(bean.getKey())){
adapter.hideSeekBar();
return;
}
adapter.showSeekBar();
adapter.getSeekBar().setMax(100);
adapter.getSeekBar().setTag(bean);
adapter.getSeekBar().setOnProgressChangeListener(new DiscreteSeekBar.OnSimpleProgressChangeListener(){
@Override
public void onProgressChanged(DiscreteSeekBar seekBar, int value, boolean fromUser) {
super.onProgressChanged(seekBar, value, fromUser);
KEY_VAL=getName(FilterViewHolder.this)+((BaseBean)seekBar.getTag()).getKey()+"_val";
double toValue = SeekBarUtils.Companion.seekToValue(1, value, seekBar.getMin());
adapter.getFaceBeautyDataFactory().updateFilterIntensity(toValue);
adapter.save(KEY_VAL,value+"");
}
});
if(adapter.getString(KEY_VAL)==null) {
adapter.getSeekBar().setProgress((int) (bean.getIntensity() * 100));
}else{
adapter.getSeekBar().setProgress(Integer.parseInt(adapter.getString(KEY_VAL)));
}
});
}
@@ -47,6 +72,7 @@ public class FilterViewHolder extends BaseViewHolder {
@Override
public boolean loadData() {
FaceBeautyFilterBean bean = (FaceBeautyFilterBean) itemView.getTag();
KEY_VAL=getName(FilterViewHolder.this)+bean.getKey()+"_val";
String val = adapter.getString(getName(this));
if (val == null) {
return false;
@@ -54,8 +80,14 @@ public class FilterViewHolder extends BaseViewHolder {
if (!val.equals(bean.getKey())) {
return false;
}
if(!"origin".equals(bean.getKey())){
adapter.showSeekBar();
}
icon.setSelected(true);
title.setSelected(true);
if(adapter.getString(KEY_VAL)!=null) {
bean.setIntensity(Double.parseDouble(adapter.getString(KEY_VAL))/100);
}
adapter.getFaceBeautyDataFactory().onFilterSelected(bean.getKey(), bean.getIntensity(), bean.getDesRes());
return true;
}
@@ -68,8 +100,14 @@ public class FilterViewHolder extends BaseViewHolder {
@Override
public void reset(List<? extends BaseBean> list) {
adapter.del(getName(this));
itemView.callOnClick();
FaceBeautyFilterBean bean = (FaceBeautyFilterBean) list.get(0);
for (BaseBean baseBean : list) {
String key=getName(this)+baseBean.getKey()+"_val";
adapter.save(key,"40");
}
adapter.hideSeekBar();
adapter.save(getName(this),bean.getKey());
adapter.getFaceBeautyDataFactory().onFilterSelected(bean.getKey(), bean.getIntensity(), bean.getDesRes());
adapter.setSelectPosition(0);
}
}

View File

@@ -72,7 +72,7 @@ public class FineStickerViewHolder extends BaseViewHolder implements StickerDown
@Override
public void reset(List<? extends BaseBean> list) {
adapter.del(getName(this));
adapter.save(getName(this),list.get(0).getKey());
itemView.callOnClick();
adapter.setSelectPosition(0);
}

View File

@@ -115,11 +115,10 @@ public class MakeupCustomItemViewHolder extends BaseViewHolder {
@Override
public void reset(List<? extends BaseBean> list) {
adapter.del(getName(this));
adapter.save(getName(this),list.get(0).getKey());
for (BaseBean bean : list) {
adapter.del(getName(this) + bean.getKey() + "_val");
}
itemView.callOnClick();
adapter.setSelectPosition(0);
}

View File

@@ -73,7 +73,7 @@ public class MakeupViewHolder extends BaseViewHolder {
@Override
public void reset(List<? extends BaseBean>list) {
adapter.del(getName(this));
adapter.save(getName(this),list.get(0).getKey());
FaceSPUtils.getInstance().delStart("MakeupCustomItemViewHolder");
adapter.getMakeupDataFactory().onMakeupCombinationSelected((MakeupCombinationBean) list.get(0));
adapter.getMakeupDataFactory().clearAll();

View File

@@ -70,7 +70,7 @@ public class StickerViewHolder extends BaseViewHolder{
@Override
public void reset(List<? extends BaseBean> list) {
adapter.del(getName(this));
adapter.save(getName(this),list.get(0).getKey());
adapter.getPropDataFactory().setPropType(FunctionEnum.STICKER);
adapter.getPropDataFactory().onItemSelected((PropBean) list.get(0));
adapter.setSelectPosition(0);

View File

@@ -46,7 +46,9 @@ public class StyleViewHolder extends BaseViewHolder{
BaseBean bean= (BaseBean) itemView.getTag();
String val = adapter.getString(getName(this));
if(val==null){
return false;
icon.setSelected(false);
title.setSelected(false);
return true;
}
if(!val.equals(bean.getKey())){
return false;
@@ -66,8 +68,9 @@ public class StyleViewHolder extends BaseViewHolder{
@Override
public void reset(List<? extends BaseBean> list) {
adapter.del(getName(this));
itemView.callOnClick();
// adapter.save(getName(this),list.get(0).getKey());
adapter.setSelectPosition(0);
adapter.del(getName(this));
adapter.getFaceBeautyDataFactory().onStyleSelected(null);
}
}

View File

@@ -85,6 +85,19 @@ public class FaceBeautyDataFactory extends AbstractFaceBeautyDataFactory {
public FaceBeautyDataFactory(FaceBeautyListener listener) {
mFaceBeautyListener = listener;
}
public FaceBeautyDataFactory(){
mFaceBeautyListener=new FaceBeautyListener() {
@Override
public void onFilterSelected(int res) {
}
@Override
public void onFaceBeautyEnable(boolean enable) {
}
};
}
/**

View File

@@ -4,7 +4,6 @@ import android.content.Context;
import android.util.AttributeSet;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
@@ -15,10 +14,12 @@ import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.tabs.TabLayout;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.faceunity.R;
import com.yunbao.faceunity.adapters.ContainerRecyclerAdapter;
import com.yunbao.faceunity.adapters.MenuGroupRecyclerAdapter;
import com.yunbao.faceunity.adapters.vh.StyleViewHolder;
import com.yunbao.faceunity.data.FaceParam;
import com.yunbao.faceunity.data.FineStickerDataFactory;
import com.yunbao.faceunity.entity.BaseBean;
@@ -33,6 +34,7 @@ import com.yunbao.faceunity.repo.FaceBeautySource;
import com.yunbao.faceunity.repo.MakeupSource;
import com.yunbao.faceunity.repo.PropSource;
import com.yunbao.faceunity.seekbar.DiscreteSeekBar;
import com.yunbao.faceunity.utils.FaceSPUtils;
import com.yunbao.faceunity.utils.net.StickerDownloadHelper;
import java.util.ArrayList;
@@ -57,6 +59,7 @@ public class FaceUnityView extends LinearLayout implements StickerDownloadHelper
private DiscreteSeekBar seekBar;
private IFaceUnityInter iFaceUnityInter;
private ConstraintLayout titleLayout;
private static final String TAG = "美颜";
public FaceUnityView(Context context) {
super(context);
@@ -104,6 +107,7 @@ public class FaceUnityView extends LinearLayout implements StickerDownloadHelper
initMenuGroup();
setContainerRecycler(new ArrayList<>());
initViewClick();
gotoFaceBeauty();
}
/**
@@ -168,6 +172,25 @@ public class FaceUnityView extends LinearLayout implements StickerDownloadHelper
menuDiy.setVisibility(GONE);
}
/**
* 目前只需要美颜功能,进入后直奔美颜
*/
private void gotoFaceBeauty() {
LinkedHashMap<Integer, Integer> map = new LinkedHashMap<>();
map.put(R.string.beauty_radio_skin_beauty, FaceParam.FACE_BEAUTY_SKIN);
map.put(R.string.beauty_radio_face_shape, FaceParam.FACE_BEAUTY_SHAPE);
map.put(R.string.beauty_radio_filter, FaceParam.FACE_BEAUTY_FILTER);
map.put(R.string.beauty_radio_style, FaceParam.FACE_BEAUTY_STYLE);
setContainerRecycler(FaceBeautySource.buildSkinParams());
changeRecyclerItemCount(2);
setTab(createTabs(map));
menuGroup.setVisibility(GONE);
titleLayout.setVisibility(GONE);
back.setVisibility(GONE);
menu2Back.setVisibility(GONE);
menu2.setVisibility(VISIBLE);
}
/**
* 配置主菜单
*/
@@ -287,12 +310,26 @@ public class FaceUnityView extends LinearLayout implements StickerDownloadHelper
tabLayout.removeAllTabs();
for (TabLayout.Tab tab : tabs) {
tabLayout.addTab(tab);
if (tab.getTag() instanceof Integer) {
if (FaceSPUtils.getInstance().getString(StyleViewHolder.class.getSimpleName() + "_") != null && (int) tab.getTag() == FaceParam.FACE_BEAUTY_STYLE) {
ToastUtil.show("请先重置风格推荐");
tab.select();
changeRecyclerItemCount(5);
setContainerRecycler(FaceBeautySource.buildStylesParams());
}
}
}
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
Object tabTag = tab.getTag();
if (tabTag instanceof Integer) {
if (FaceSPUtils.getInstance().getString(StyleViewHolder.class.getSimpleName() + "_") != null && (int) tab.getTag() < FaceParam.FACE_BEAUTY_STYLE) {
ToastUtil.show("请先重置风格推荐");
tabLayout.getTabAt(3).select();
return;
}
switch ((int) tab.getTag()) {
case FaceParam.FACE_BEAUTY_SKIN:
changeRecyclerItemCount(2);
@@ -407,7 +444,8 @@ public class FaceUnityView extends LinearLayout implements StickerDownloadHelper
containerRecycler.setLayoutManager(new GridLayoutManager(mContext, 2));
containerRecycler.setAdapter(containerAdapter);
}
titleLayout.setVisibility(title.getVisibility()==GONE?INVISIBLE:VISIBLE);
// titleLayout.setVisibility(title.getVisibility()==GONE?INVISIBLE:VISIBLE);
// Log.i(TAG, "setContainerRecycler: " + list.size());
containerAdapter.setList(list);
containerAdapter.notifyDataSetChanged();
}

View File

@@ -55,7 +55,7 @@ public class FURenderer extends IFURenderer {
private FURenderKit mFURenderKit;
/* AI道具*/
private String BUNDLE_AI_FACE = "model" + File.separator + "ai_face_processor.bundle";
private String BUNDLE_AI_FACE = "model" + File.separator + "ai_face_processor_lite.bundle";
private String BUNDLE_AI_HUMAN = "model" + File.separator + "ai_human_processor.bundle";
/* GL 线程 ID */
@@ -87,8 +87,8 @@ public class FURenderer extends IFURenderer {
*/
@Override
public void setup(Context context) {
FURenderManager.setKitDebug(FULogger.LogLevel.OFF);
FURenderManager.setCoreDebug(FULogger.LogLevel.OFF);
FURenderManager.setKitDebug(FULogger.LogLevel.INFO);
FURenderManager.setCoreDebug(FULogger.LogLevel.INFO);
FURenderManager.registerFURender(context, Authpack.A(), new OperateCallback() {
@Override
public void onSuccess(int i, @NotNull String s) {

View File

@@ -5,6 +5,8 @@ import android.content.SharedPreferences;
import com.yunbao.common.CommonAppContext;
import java.util.Map;
public class FaceSPUtils {
private static FaceSPUtils utils;
private SharedPreferences mSharedPreferences;
@@ -38,4 +40,7 @@ public class FaceSPUtils {
}
}
}
public Map<String, ?> getAll(){
return mSharedPreferences.getAll();
}
}

View File

@@ -15,7 +15,7 @@ public class FaceUnityConfig {
/************************** 算法Model ******************************/
// 人脸识别
public static String BUNDLE_AI_FACE = "model" + File.separator + "ai_face_processor.bundle";
public static String BUNDLE_AI_FACE = "model" + File.separator + "ai_face_processor_lite.bundle";
// 手势
public static String BUNDLE_AI_HAND = "model" + File.separator + "ai_hand_processor.bundle";

View File

@@ -59,6 +59,7 @@
android:id="@+id/titleLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
android:layout_marginTop="16dp"
>
@@ -178,11 +179,11 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
android:visibility="visible">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="25dp"
android:layout_height="35dp"
android:gravity="center"
android:orientation="horizontal">
@@ -202,7 +203,7 @@
<HorizontalScrollView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_height="match_parent"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:layout_weight="1">
@@ -214,6 +215,8 @@
app:tabMaxWidth="100dp"
app:tabMode="scrollable"
app:tabSelectedTextColor="#F6F7FB"
app:tabIndicatorColor="#F6F7FB"
app:tabIndicatorFullWidth="false"
app:tabTextColor="#9A9A9A" />
</HorizontalScrollView>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 422 B

After

Width:  |  Height:  |  Size: 390 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 276 KiB

After

Width:  |  Height:  |  Size: 276 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 128 KiB

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.9 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

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