Compare commits

...

10 Commits

Author SHA1 Message Date
5a826234d0 fix 2020-12-03 14:55:02 +08:00
9f5ffb084a 修复APP更新逻辑,以VersionName为准
修复App更新无法下载安装包问题
2020-11-23 18:38:01 +08:00
b5d4cbe718 更新启动弹窗隐私协议和用户协议内容 2020-11-20 14:20:49 +08:00
b39a47c0bd 光环马甲包4.3.8修改 2020-11-20 14:18:39 +08:00
5ea6647bf7 Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into video_only
# Conflicts:
#	app/src/main/java/com/gh/gamecenter/LoginActivity.java
#	app/src/main/java/com/gh/gamecenter/MainActivity.java
#	app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java
#	app/src/main/java/com/gh/gamecenter/collection/CollectionWrapperFragment.java
#	app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java
#	app/src/main/java/com/gh/gamecenter/history/HistoryWrapperFragment.kt
#	app/src/main/java/com/gh/gamecenter/personal/PersonalViewModel.kt
#	app/src/main/java/com/gh/gamecenter/personalhome/UserHomeFragment.kt
#	app/src/main/res/layout/fragment_home.xml
#	app/src/main/res/layout/fragment_login.xml
#	app/src/main/res/layout/fragment_personal.xml
2020-11-13 16:04:36 +08:00
798c4a2089 update 2020-04-29 10:59:39 +08:00
0686f70df6 更新到3.7.6 2020-04-29 10:51:28 +08:00
3c30564ab6 update 2020-04-10 19:10:11 +08:00
f04070e846 update 2020-04-02 18:39:01 +08:00
fc279839fa 光环助手马甲包——视频 https://gitlab.ghzs.com/pm/yunying/issues/1051 2020-04-02 15:07:11 +08:00
33 changed files with 666 additions and 1380 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,493 +1,161 @@
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>光环助手软件许可及服务协议</title>
</head>
<html lang="en"><head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>光环助手软件许可及服务协议</title>
<style>
* {
margin: 0;
padding: 0;
font-size: 14px;
-webkit-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
user-select: text;
}
* {
-webkit-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
user-select: text;
font-size: 16px;
}
</style>
</head>
<body>
<div class="content-area">
<p><b></b></p>
<p>
<b>光环</b>
<b>game</b>
<b>软件许可及服务协议</b>
</p>
<p><b>更新日期2020年11月20日</b></p>
<p><b>生效日期2020年11月30日</b></p>
<p><b>首部及导言</b></p>
<p>欢迎使用光环game软件许可及服务</p>
<p>
各位用户在使用光环game前请您务必审慎阅读、并充分理解本协议中的各项条款
<b>
特别是免除或者限制责任的条款,以及开通或使用某项服务的单独协议,并选择接受或不接受。
</b>
除非您已阅读并接受本协议所有条款,否则您无权下载、安装或使用本软件及相关服务。您的下载、安装、使用、登录等行为即视为您已阅读并同意上述协议的约束。
</p>
<p>如果您未满18周岁请在法定监护人的陪同下阅读本协议及其他上述协议。</p>
<p><b>一、权利声明</b></p>
<p>
“光环game”的一切知识产权以及与“光环game”相关的所有信息内容包括但不限于文字表述及其组合、图标、图饰、图像、图表、色彩、界面设计、版面框架、有关数据、附加程序、印刷材料或电子文档等均为光环game所有受著作权法和国际著作权条约以及其他知识产权法律法规的保护。
</p>
<p><b>二、软件使用规范</b></p>
<p>
2.1
本软件是基于Android安卓系统手机、平板电脑(PAD)等设备开发的一款软件,提供注册登录、观看视频、视频投稿等功能
</p>
<p>2.2 软件的下载、安装和使用</p>
<p>
本软件为免费软件用户可以非商业性、无限制数量地从光环game授权的渠道下载、安装及使用本软件。
</p>
<p>
<b>如果您从未经光环</b>
<b>game</b>
<b>授权的第三方获取本软件或与本软件名称相同的安装程序,光环</b>
<b>game</b>
<b>无法保证该软件能够正常使用,并对因此给您造成的损失不予负责。</b>
</p>
<p>2.3 软件的复制、分发和传播</p>
<p>
本产品以研究交流为目的。用户可以非商业性、无限制数量地复制、分发和传播本软件产品。但必须保证每一份复制、分发和传播都是完整和真实的,
包括所有有关本软件产品的软件、电子文档, 版权和商标,亦包括本协议。
</p>
<p>2.4 软件的更新</p>
<p>
为了改善用户体验、完善服务内容光环game将不断努力开发新的服务并为您不时提供软件更新这些更新可能会采取软件替换、修改、功能强化、版本升级等形式。为了保证本软件及服务的安全性和功能的一致性光环game有权不经向您特别通知而对软件进行更新或者对软件的部分功能效果进行改变或限制。本软件新版本发布后旧版本的软件可能无法使用。光环game不保证旧版本软件继续可用及相应的客户服务请您随时核对并下载最新版本。
</p>
<p><b>三、用户使用须知</b></p>
<p>3.1 您理解并同意:</p>
<p>
为了向您提供有效的服务,本软件会利用您移动通讯终端的处理器和带宽等资源。本软件使用过程中可能产生数据流量的费用,用户需自行向运营商了解相关资费信息,并自行承担相关费用.
</p>
<p>3.2您理解并同意:</p>
<p>
<b>
如果因您不正当使用本软件造成了不良影响,或因使用本软件造成的包括但不限于数据异常等问题,均由使用者自行承担,光环团队不对任意类型的使用结果承担责任;
</b>
</p>
<p>3.3您理解并同意:</p>
<p>
本软件不含任何破坏用户移动通讯设备数据和获取用户隐私信息的恶意代码,不会泄露用户的个人信息和隐私;
</p>
<p>3.4您理解并同意:</p>
<p>
<b>
对于包括但不限于互联网网络故障、计算机故障、手机故障或病毒、信息损坏或丢失、计算机系统问题,或其它任何基于不可抗力原因而产生的损失,光环团队不承担任何责任。
</b>
</p>
<p>3.5您理解并同意:</p>
<p>光环game发布、收录的视频均不代表光环立场。</p>
<p>3.6您理解并同意:</p>
<p>
用户应在遵守法律及本协议的前提下使用本软件。用户无权实施包括但不限于下列行为:
</p>
<p>3.6.1 不得删除或者改变本软件上的所有权利管理电子信息</p>
<p>
3.6.2
不得故意避开或者破坏著作权人为保护本软件著作权而采取的技术措施;&nbsp;
</p>
<p>3.6.3 用户不得利用本软件误导、欺骗他人;&nbsp;</p>
<p>
3.6.4
违反国家规定,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机信息系统不能正常运行;&nbsp;
</p>
<p>3.6.5 未经允许,进入计算机信息网络或者使用计算机信息网络资源;&nbsp;</p>
<p>3.6.6 未经允许,对计算机信息网络功能进行删除、修改或者增加;&nbsp;</p>
<p>
3.6.7
未经允许,对计算机信息网络中存储、处理或者传输的数据和应用程序进行删除、修改或者增加;&nbsp;
</p>
<p>
3.6.8
破坏本软件系统或网站的正常运行,故意传播计算机病毒等破坏性程序;&nbsp;
</p>
<p>3.6.9 其他任何危害计算机信息网络安全的行为。&nbsp;</p>
<p>3.7 您理解并同意:</p>
<p>
本软件经过详细的测试,但不能保证与所有的软硬件系统完全兼容,不能保证本软件完全没有错误。如果出现不兼容及软件错误的情况,用户可通过各反馈途径将情况告知光环团队,获得技术支持。如果无法解决兼容性问题,用户可以删除本软件。
</p>
<p><b>四、争议解决处理</b></p>
<p>
本《协议》的解释、效力及纠纷的解决适用于中华人民共和国法律。若用户和光环game之间发生任何纠纷或争议首先应友好协商解决协商不成的用户在此完全同意将纠纷或争议提交光环game所在地法院管辖
</p>
<p>
<b></b>
<b>、关于获取手机设备信息的说明</b>
</p>
<p>
1为方便区分每个用户的个人信息等本软件需获取用户的手机设备信息用于用户登录、视频评论互动交流等用户相关的行为
</p>
<p>
2为了保障软件与服务的安全运行我们会收集您的硬件型号、操作系统版本号、国际移动设备识别码、唯一设备标识符、网络设备硬件地址、IP
地址、WLAN接入点、蓝牙、基站、软件版本号、网络接入方式、类型、状态、网络质量数据、操作、使用、服务日志。
</p>
<p>
3为了预防恶意程序及安全运营所必需我们会收集安装的应用信息或正在运行的进程信息、应用程序的总体运行、使用情况与频率、应用崩溃情况、总体安装使用情况、性能数据、应用来源。
</p>
<p>
4我们可能使用您的账户信息、设备信息、服务日志信息以及我们关联公司、合作方在获得您授权或依法可以共享的信息用于判断账户安全、进行身份验证、检测及防范安全事件。
</p>
<p>5具体会发生获取手机设备信息场景如下说明</p>
<p>
&nbsp;&nbsp;1) 首次启动光环game&nbsp;2) 评论详情-发送评论功能&nbsp;3)
视频投稿-上传视频功能&nbsp;4) 视频详情-关注up主功能
</p>
<p><b>七、其他</b></p>
<p>
7.1
本协议所有条款的标题仅为阅读方便,本身并无实际涵义,不能作为本协议涵义解释的依据。
</p>
<p>
&nbsp;7.2
如果本协议中的任何条款无论因何种原因完全或部分无效或不具有执行力,或违反任何适用的法律,则该条款被视为删除,但本协议的其余条款仍应有效并且有约束力。
</p>
<p>
&nbsp;7.3
光环有权随时根据有关法律、法规的变化以及公司经营状况和经营策略的调整等修改本协议。修改后的协议会在软件设置内发布。
当发生有关争议时,以最新的协议文本为准。如果不同意改动的内容,用户可以自行删除本软件。如果用户继续使用本软件,则视为您接受本协议的变动。
</p>
<p>&nbsp;7.4 光环在法律允许的最大范围内对本协议拥有解释权与修改权。</p>
</div>
body {
margin: 10px;
}
.top {
margin-left: 0;
margin-right: 0;
padding: 10px 0 10px 0;
}
.title {
font-weight: 700;
}
p {
font-size: 14px;
word-break: break-all;
}
.bold {
font-weight: 700;
}
.margintop {
margin-top: 10px;
}
.left-indent {
margin-left: 20px;
}
.red-style {
color: red;
}
.bold-font {
font-weight: bold;
}
span.bold {
font-weight: bold;
}
.link-text {
color: #005ad0;
text-decoration: underline;
}
</style>
<body>
<h3 class="top">光环助手软件许可及服务协议</h3>
<h5 class="title">首部及导言</h5>
<p>欢迎使用光环助手软件许可及服务</p>
<p>
各位用户在使用光环助手前,请您务必审慎阅读、并充分理解本协议中的各项条款,
<span class="bold">
特别是免除或者限制责任的条款,以及开通或使用某项服务的单独协议,并选择接受或不接受。
</span>
除非您已阅读并接受本协议所有条款,否则您无权下载、安装或使用本软件及相关服务。您的下载、安装、使用、登录等行为即视为您已阅读并同意上述协议的约束。
</p>
<p>如果您未满18周岁请在法定监护人的陪同下阅读本协议及其他上述协议。</p>
<h5 class="title margintop">一、权利声明</h5>
<p>
“光环助手”的一切知识产权,以及与“光环助手”相关的所有信息内容,包括但不限于:文字表述及其组合、图标、图饰、图像、图表、色彩、界面设计、版面框架、有关数据、附加程序、印刷材料或电子文档等均为光环助手所有,受著作权法和国际著作权条约以及其他知识产权法律法规的保护。
</p>
<h5 class="title margintop">二、软件使用规范</h5>
<p>
2.1
本软件是基于Android安卓系统手机、平板电脑(PAD)等设备开发的一款软件,提供注册登录、手机游戏管理、游戏推荐、文章阅读等功能
</p>
<p>2.2 软件的下载、安装和使用</p>
<p>
本软件为免费软件,用户可以非商业性、无限制数量地从光环授权的渠道下载、安装及使用本软件。
</p>
<p>
<span class="bold">
如果您从未经光环授权的第三方获取本软件或与本软件名称相同的安装程序,光环无法保证该软件能够正常使用,并对因此给您造成的损失不予负责。
</span>
</p>
<p>2.3 软件的复制、分发和传播</p>
<p>
本产品以学习、研究交流为目的。用户可以非商业性、无限制数量地复制、分发和传播本软件产品。但必须保证每一份复制、分发和传播都是完整和真实的,
包括所有有关本软件产品的软件、电子文档, 版权和商标,亦包括本协议。
</p>
<p>2.4 软件的更新</p>
<p>
为了改善用户体验、完善服务内容,光环将不断努力开发新的服务,并为您不时提供软件更新(这些更新可能会采取软件替换、修改、功能强化、版本升级等形式)。为了保证本软件及服务的安全性和功能的一致性,光环有权不经向您特别通知而对软件进行更新,或者对软件的部分功能效果进行改变或限制。本软件新版本发布后,旧版本的软件可能无法使用。光环不保证旧版本软件继续可用及相应的客户服务,请您随时核对并下载最新版本。
</p>
<h5 class="title margintop">三、用户使用须知</h5>
<p>3.1 您理解并同意:</p>
<p>
为了向您提供有效的服务,本软件会利用您移动通讯终端的处理器和带宽等资源。本软件使用过程中可能产生数据流量的费用,用户需自行向运营商了解相关资费信息,并自行承担相关费用.
</p>
<p>3.2 您理解并同意:</p>
<p>
由本软件进行收录、推荐并提供下载、升级服务的第三方软件,由第三方享有一切合法权利,光环并不能识别用户利用本软件下载、安装的第三方软件是否有合法来源。
<span class="bold">
因第三方软件引发的任何纠纷,由该第三方负责解决,光环不承担任何责任。
</span>
同时光环不对第三方软件或技术提供客服支持,若用户需要获取支持,请与该软件或技术提供商联系,若您为有关软件的权利人,不愿本软件为您的软件提供用户下载、安装、使用的服务,也可按本协议约定的联系方式联系我们,我们将会积极配合进行处理。
</p>
<p>3.3 您理解并同意:</p>
<p>
<span class="bold">
如果因您不正当使用本软件造成了不良影响,或因使用本软件造成的包括但不限于数据异常等问题,均由使用者自行承担,光环团队不对任意类型的使用结果承担责任;
</span>
</p>
<p>3.4 您理解并同意:</p>
<p>
本软件不含任何破坏用户移动通讯设备数据和获取用户隐私信息的恶意代码,不会泄露用户的个人信息和隐私;
</p>
<p>3.5 您理解并同意:</p>
<p>
<span class="bold">
对于包括但不限于互联网网络故障、计算机故障、手机故障或病毒、信息损坏或丢失、计算机系统问题,或其它任何基于不可抗力原因而产生的损失,光环团队不承担任何责任。
</span>
</p>
<p>3.6 您理解并同意:</p>
<p>光环发布、收录的文章均不代表光环立场。</p>
<p>3.7 您理解并同意:</p>
<p>
为实现软件包括但不限于集中展示、下载、安装、卸载等游戏管理功能以及文章优先推荐功能,本软件会检测用户手机中已安装游戏的包名、版本号、版本名、游戏名称信息。除征得用户明确同意和法律明确规定外,光环不会向第三方泄露任何的用户信息
</p>
<p>3.8 您理解并同意:</p>
<p>
用户应在遵守法律及本协议的前提下使用本软件。用户无权实施包括但不限于下列行为:
</p>
3.8.1 不得删除或者改变本软件上的所有权利管理电子信息
<br />
3.8.2 不得故意避开或者破坏著作权人为保护本软件著作权而采取的技术措施;
<br />
3.8.3 用户不得利用本软件误导、欺骗他人;
<br />
3.8.4
违反国家规定,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机信息系统不能正常运行;
<br />
3.8.5 未经允许,进入计算机信息网络或者使用计算机信息网络资源;
<br />
3.8.6 未经允许,对计算机信息网络功能进行删除、修改或者增加;
<br />
3.8.7
未经允许,对计算机信息网络中存储、处理或者传输的数据和应用程序进行删除、修改或者增加;
<br />
3.8.8 破坏本软件系统或网站的正常运行,故意传播计算机病毒等破坏性程序;
<br />
3.8.9 其他任何危害计算机信息网络安全的行为。
<br />
<p>3.9 您理解并同意:</p>
<p>
本软件经过详细的测试,但不能保证与所有的软硬件系统完全兼容,不能保证本软件完全没有错误。如果出现不兼容及软件错误的情况,用户可通过各反馈途径将情况告知光环团队,获得技术支持。如果无法解决兼容性问题,用户可以删除本软件。
</p>
<h5 class="title margintop">四、争议解决处理</h5>
<p>
本《协议》的解释、效力及纠纷的解决,适用于中华人民共和国法律。若用户和光环助手之间发生任何纠纷或争议,首先应友好协商解决,协商不成的,用户在此完全同意将纠纷或争议提交光环助手所在地法院管辖
</p>
<p class="title margintop"><b>五、第三方SDK接入说明</b></p>
<p>
为保障光环助手App相关功能的实现与应用安全稳定的运行我们会接入由第三方提供的软件开发包SDK实现相关功能。
<br />
我们会对合作方获取有关信息的软件工具开发包SDK进行严格的安全检测并与授权合作伙伴约定严格的数据保护措施令其按照我们的委托目的、服务说明、本隐私权政策以及其他任何相关的保密和安全措施来处理个人信息。
<br />
<span class="red-style">
下方为整个光环助手
<span class="bold">所有版本</span>
内接入的所有信息收集类第三方SDK的权限说明因隐私政策会因光环助手版本迭代而新接入SDK或停止合作部分SDK方便照顾
<span class="bold">所有版本</span>
的用户查看自己SDK第三方权限说明。
<br />
我们对涉及用户信息使用的SDK相关情况进行了逐项列举具体如下
</span>
</p>
<p class="margintop red-style bold-font"><b>1数据统计类</b></p>
<p>1.头条推广</p>
<p>
SDK官网
<span class="link-text">
https://ad.oceanengine.com/openapi/index.html
</span>
</p>
<p>SDK包名com.bytedance</p>
<p>企业主体:北京有竹居网络技术有限公司</p>
<p>使用目的:用于广告流量统计相关服务</p>
<p>
收集信息类型设备品牌、型号、软件系统相关信息、安卓oaid、无线网SSID名称、WiFi路由器MAC地址、设备MAC地址、IMEI、地理位置
</p>
<p>
隐私政策链接:
<span class="link-text">
https://ad.oceanengine.com/openapi/register/protocol.html?rid=vo25p8sfqde
</span>
</p>
<p>2.talkingdata统计</p>
<p>
SDK官网
<span class="link-text">http://www.talkingdata.com/</span>
</p>
<p>SDK包名com.tendcloud</p>
<p>企业主体:北京腾云天下科技有限公司</p>
<p>使用目的:用于统计数据和效果分析,以便为用户提供更好的服务</p>
<p>收集信息类型:设备信息、网络信息、位置信息、应用信息</p>
<p>
隐私政策链接:
<span class="link-text">
http://www.talkingdata.com/privacy.jsp?languagetype=zh_cn
</span>
</p>
<p>3.腾讯MTA</p>
<p>
SDK官网
<span class="link-text">https://mta.qq.com/mta/</span>
</p>
<p>SDK包名com.tencent</p>
<p>企业主体:深圳市腾讯计算机系统有限公司</p>
<p>使用目的:用于统计数据和效果分析</p>
<p>
收集信息类型Mac地址、唯一设备识别码IMEI、android
ID、IDFA、OPENUDID、GUID/SIM卡IMSI信息、地理位置信息
</p>
<p>
隐私政策链接:
<span class="link-text">
https://mta.qq.com/mta/ctr_index/protocol_v2/
</span>
</p>
<p>4.腾讯广点通</p>
<p>
SDK官网
<span class="link-text">https://developers.e.qq.com/</span>
</p>
<p>SDK包名com.tencent</p>
<p>企业主体:深圳市腾讯计算机系统有限公司</p>
<p>使用目的:用于广告流量统计相关服务</p>
<p>
收集信息类型:
个人常用设备信息IMEI、AndroidID、位置信息IP地址、软件版本号
</p>
<p>
隐私政策链接:
<span class="link-text">https://e.qq.com/optout.html</span>
</p>
<p class="margintop red-style bold-font"><b>2社交登录类</b></p>
<p>5.微信登录分享</p>
<p>
SDK官网
<span class="link-text">https://open.weixin.qq.com/</span>
</p>
<p>SDK包名com.tencent.mm.opensdk</p>
<p>企业主体:深圳市腾讯计算机系统有限公司</p>
<p>使用目的:用于支持微信登录、分享</p>
<p>
收集信息类型个人常用设备信息MAC地址、IMEI、AndroidID、硬件型号、操作系统类型、软件信息软件版本号、浏览器类型、IP地址、服务日志信息、通讯日志信息
</p>
<p>
隐私政策链接:
<span class="link-text">https://privacy.tencent.com/</span>
</p>
<p>6.QQ登录分享</p>
<p>
SDK官网
<span class="link-text">https://connect.qq.com/</span>
</p>
<p>SDK包名com.tentcent</p>
<p>企业主体:深圳市腾讯计算机系统有限公司</p>
<p>使用目的用于支持QQ登录、分享</p>
<p>
收集信息类型个人常用设备信息MAC地址、IMEI、AndroidID、IMSI、ICCID、序列号、设备型号、操作系统版本、软件信息软件版本号、浏览器类型、网络信息、IP地址、服务日志信息、通讯日志信息 
</p>
<p>
隐私政策链接:
<span class="link-text">
https://wiki.connect.qq.com/qq互联sdk隐私保护声明
</span>
</p>
<p>7.微博登录分享</p>
<p>
SDK官网
<span class="link-text">http://open.weibo.com/authentication</span>
</p>
<p>SDK包名com.sina.weibo.sdk</p>
<p>企业主体:北京微梦创科网络技术有限公司</p>
<p>使用目的:用于支持微博登录、分享</p>
<p>
收集信息类型个人常用设备信息MAC地址、IMEI、AndroidID、IMSI、ICCID、序列号、网络信息、应用列表硬件型号、操作系统类型、软件信息软件版本号、浏览器类型、IP地址、服务日志信息、通讯日志信息
</p>
<p>
隐私政策链接:
<span class="link-text">https://open.weibo.com/wiki/开发者协议</span>
</p>
<p>8.头条抖音登录</p>
<p>
SDK官网
<span class="link-text">https://open.douyin.com/platform</span>
</p>
<p>SDK包名com.bytedance.sdk</p>
<p>企业主体:北京字节跳动科技有限公司</p>
<p>使用目的:用于支持抖音登录</p>
<p>
收集信息类型个人常用设备信息MAC地址、IMEI、AndroidID、硬件型号、操作系统类型、软件信息软件版本号、浏览器类型、IP地址、服务日志信息、通讯日志信息
</p>
<p>
隐私政策链接:
<span class="link-text">
https://www.douyin.com/agreements/?id=6773901168964798477
</span>
</p>
<p class="margintop red-style bold-font"><b>3推送通知类</b></p>
<p>9.友盟推送</p>
<p>
SDK官网
<span class="link-text">https://www.umeng.com/push</span>
</p>
<p>SDK包名com.umeng</p>
<p>企业主体:北京友盟网络科技有限公司</p>
<p>使用目的:用于游戏相关信息的提醒通知</p>
<p>
收集信息类型Mac地址、唯一设备识别码IMEI、android
ID、IDFA、OPENUDID、GUID/SIM卡IMSI信息、地理位置信息
</p>
<p>
隐私政策链接:
<span class="link-text">
https://www.umeng.com/page/policy?spm=a213m0.14063960.0.0.7f626e72hx3nnv
</span>
</p>
<p class="margintop red-style bold-font"><b>4其他功能类</b></p>
<p>10.阿里云反爬虫</p>
<p>
SDK官网
<span class="link-text">https://www.aliyun.com/product/antibot</span>
</p>
<p>SDK包名com.alibaba.wireless</p>
<p>企业主体:阿里巴巴网络技术有限公司</p>
<p>使用目的为APP提供网络应用安全防护</p>
<p>
收集信息类型设备相关信息例如设备型号、操作系统版本、设备设置、唯一设备标识符等软硬件特征信息、设备所在位置相关信息例如IP地址、GPS位置以及能够提供相关信息的Wi-Fi接入点、蓝牙和基站等传感器信息
</p>
<p>
隐私政策链接:
<span class="link-text">
http://terms.aliyun.com/legal-agreement/terms/suit_bu1_ali_cloud/suit_bu1_ali_cloud201902141711_54837.html?spm=a2c4g.11186623.J_9220772140.81.b7574832gmk0vr
</span>
</p>
<p>11.腾讯bugly</p>
<p>
SDK官网
<span class="link-text">https://bugly.qq.com/v2/</span>
</p>
<p>SDK包名com.tencent.bugly</p>
<p>企业主体:深圳市腾讯计算机系统有限公司</p>
<p>使用目的APP异常上报</p>
<p>
收集信息类型:设备及应用信息。如:设备名称、设备识别符、硬件型号、操作系统版本、应用程序版本
</p>
<p>
隐私政策链接:
<span class="link-text">https://bugly.qq.com/v2/contract</span>
</p>
<p>12.阿里云文件上传</p>
<p>
SDK官网
<span class="link-text">https://www.alibabacloud.com/zh</span>
</p>
<p>SDK包名com.alibaba.sdk.android</p>
<p>SDK包名com.alibaba.sdk.android</p>
<p>企业主体:阿里巴巴网络技术有限公司</p>
<p>使用目的:用于支持用户上传视频等相关内容</p>
<p>
收集信息类型设备相关信息例如设备型号、操作系统版本、设备设置、唯一设备标识符等软硬件特征信息、设备所在位置相关信息例如IP地址、GPS位置以及能够提供相关信息的Wi-Fi接入点、蓝牙和基站等传感器信息
</p>
<p>
隐私政策链接:
<span class="link-text">
http://terms.aliyun.com/legal-agreement/terms/suit_bu1_ali_cloud/suit_bu1_ali_cloud201902141711_54837.html?spm=a2c4g.11186623.J_9220772140.81.b7574832gmk0vr
</span>
</p>
<p>13.阿里云日志上传</p>
<p>
SDK官网
<span class="link-text">https://www.alibabacloud.com/zh</span>
</p>
<p>SDK包名com.aliyun.sls.android.sdk</p>
<p>企业主体:阿里巴巴网络技术有限公司</p>
<p>
使用目的:通过网络日志分析这些信息以便更及时响应您的帮助请求,以及用于改进服务
</p>
<p>
收集信息类型设备相关信息例如设备型号、操作系统版本、设备设置、唯一设备标识符等软硬件特征信息、设备所在位置相关信息例如IP地址、GPS位置以及能够提供相关信息的Wi-Fi接入点、蓝牙和基站等传感器信息
</p>
<p>
隐私政策链接:
<span class="link-text">
http://terms.aliyun.com/legal-agreement/terms/suit_bu1_ali_cloud/suit_bu1_ali_cloud201902141711_54837.html?spm=a2c4g.11186623.J_9220772140.81.b7574832gmk0vr
</span>
</p>
<p>14.容联七陌</p>
<p>
SDK官网
<span class="link-text">https://www.7moor.com/developer</span>
</p>
<p>SDK包名com.m7.imkfsdk</p>
<p>企业主体:北京七陌科技有限公司</p>
<p>使用目的:用于提供对应在线客服功能</p>
<p>
收集信息类型:设备相关信息(设备名称、设备型号、硬件序列号、操作系统和应用程序版本及类型、语言设置、分辨率、移动终端随机存储内存、摄像头/相册、通讯录权限等)
</p>
<p>
隐私政策链接:
<span class="link-text">http://m.7moor.com/72/57/p5077783560e807/</span>
</p>
<h5 class="title margintop">六、关于获取手机设备信息的说明</h5>
<div>
1为方便区分每个用户的个人信息等本软件需获取用户的手机设备信息用于游戏主动预约、论坛互动交流后进行推送等用户相关的行为
<br />
2为了保障软件与服务的安全运行我们会收集您的硬件型号、操作系统版本号、国际移动设备识别码、唯一设备标识符、网络设备硬件地址、IP
地址、WLAN接入点、蓝牙、基站、软件版本号、网络接入方式、类型、状态、网络质量数据、操作、使用、服务日志。
<br />
3为了预防恶意程序及安全运营所必需我们会收集安装的应用信息或正在运行的进程信息、应用程序的总体运行、使用情况与频率、应用崩溃情况、总体安装使用情况、性能数据、应用来源。
<br />
4我们可能使用您的账户信息、设备信息、服务日志信息以及我们关联公司、合作方在获得您授权或依法可以共享的信息用于判断账户安全、进行身份验证、检测及防范安全事件。
<br />
5具体会发生获取手机设备信息场景如下说明
<br />
<p class="left-indent">
1) 首次启动光环助手
<br />
2) 游戏列表/游戏详情/资讯文章详情/搜索结果页-预约功能
<br />
3) 礼包中心/礼包详情-领取功能
<br />
4) 评论详情-发送评论功能
<br />
5) 回答/问题详情-我来回答功能
<br />
6) 问答首页-提问功能
<br />
7) 个人主页-发文章功能
<br />
8) 帖子草稿/我的草稿-编辑功能
<br />
9) 游戏投稿功能
<br />
10) 视频投稿-上传视频功能
<br />
11) 游戏详情-关注游戏功能
</p>
</div>
<h5 class="title margintop">七、其他</h5>
<p>
7.1
本协议所有条款的标题仅为阅读方便,本身并无实际涵义,不能作为本协议涵义解释的依据。
<br />
7.2
如果本协议中的任何条款无论因何种原因完全或部分无效或不具有执行力,或违反任何适用的法律,则该条款被视为删除,但本协议的其余条款仍应有效并且有约束力。
<br />
7.3
光环有权随时根据有关法律、法规的变化以及公司经营状况和经营策略的调整等修改本协议。修改后的协议会在软件设置内发布。
当发生有关争议时,以最新的协议文本为准。如果不同意改动的内容,用户可以自行删除本软件。如果用户继续使用本软件,则视为您接受本协议的变动。
<br />
<span class="bold">
7.4 光环在法律允许的最大范围内对本协议拥有解释权与修改权。
</span>
</p>
</body>
</html>
</body></html>

View File

@ -255,23 +255,23 @@ fun String.containHtmlTag(): Boolean {
* 用户行为相关
*/
fun Fragment.showRegulationTestDialogIfNeeded(action: (() -> Unit)) {
if (UserManager.getInstance().userShouldTakeRegulationBaseOnLastRemind()) {
DialogUtils.showRegulationTestDialog(requireContext(),
{ DirectUtils.directToRegulationTestPage(requireContext()) },
{ action.invoke() })
} else {
// if (UserManager.getInstance().userShouldTakeRegulationBaseOnLastRemind()) {
// DialogUtils.showRegulationTestDialog(requireContext(),
// { DirectUtils.directToRegulationTestPage(requireContext()) },
// { action.invoke() })
// } else {
action()
}
// }
}
fun Context.showRegulationTestDialogIfNeeded(action: (() -> Unit)) {
if (UserManager.getInstance().userShouldTakeRegulationBaseOnLastRemind()) {
DialogUtils.showRegulationTestDialog(this,
{ DirectUtils.directToRegulationTestPage(this) },
{ action.invoke() })
} else {
// if (UserManager.getInstance().userShouldTakeRegulationBaseOnLastRemind()) {
// DialogUtils.showRegulationTestDialog(this,
// { DirectUtils.directToRegulationTestPage(this) },
// { action.invoke() })
// } else {
action()
}
// }
}
/**

View File

@ -154,8 +154,8 @@ object NotificationHelper {
callBack?.invoke(false)
} else {
callBack?.invoke(true)
if (activity.supportFragmentManager.isStateSaved) return
NotificationHintDialogFragment.getInstance(ugc).show(activity.supportFragmentManager, "notification")
// if (activity.supportFragmentManager.isStateSaved) return
// NotificationHintDialogFragment.getInstance(ugc).show(activity.supportFragmentManager, "notification")
}
}

View File

@ -9,6 +9,7 @@ import androidx.annotation.NonNull;
import com.gh.common.util.DisplayUtils;
import com.gh.common.util.EntranceUtils;
import com.gh.gamecenter.fragment.LoginFragment;
import com.halo.assistant.HaloApp;
/**
* Created by khy on 14/08/17.

View File

@ -164,6 +164,10 @@ public class MainActivity extends BaseActivity {
} else if (getIntent() != null) {
mMainWrapperFragment.setArguments(getIntent().getExtras());
}
Bundle arguments = mMainWrapperFragment.getArguments();
if (arguments == null) arguments = new Bundle();
arguments.putInt(BaseFragment_ViewPager.ARGS_INDEX, MainWrapperFragment.INDEX_VIDEO);
mMainWrapperFragment.setArguments(arguments);
replaceFragment(mMainWrapperFragment);
mSp = PreferenceManager.getDefaultSharedPreferences(this);

View File

@ -131,9 +131,10 @@ public class SplashScreenActivity extends BaseActivity {
if (isSuccess) {
showPrivacyPolicy(() -> {
// Dialog dismiss 后的回调
guideLayout.setVisibility(View.VISIBLE);
// guideLayout.setVisibility(View.VISIBLE);
SPUtils.setBoolean(Constants.SP_BRAND_NEW_USER, false);
requestPermission();
// requestPermission();
launchMainActivity();
});
} else {
DialogUtils.showPrivacyPolicyDisallowDialog(this, PrivacyPolicyEntity.createDefaultData(),()->{
@ -230,7 +231,7 @@ public class SplashScreenActivity extends BaseActivity {
public void onSuccess(PrivacyPolicyEntity data) {
DialogUtils.showPrivacyPolicyDialog(
SplashScreenActivity.this,
data, callback);
PrivacyPolicyEntity.createDefaultData(), callback);
}
@Override

View File

@ -31,19 +31,19 @@ public class CollectionWrapperFragment extends BaseFragment_TabLayout {
@Override
protected void initTabTitleList(List<String> tabTitleList) {
tabTitleList.add(getString(R.string.answer));
tabTitleList.add(getString(R.string.collection_article));
tabTitleList.add(getString(R.string.collection_toolkit));
tabTitleList.add(getString(R.string.collection_info));
// tabTitleList.add(getString(R.string.answer));
// tabTitleList.add(getString(R.string.collection_article));
// tabTitleList.add(getString(R.string.collection_toolkit));
// tabTitleList.add(getString(R.string.collection_info));
tabTitleList.add(getString(R.string.video));
}
@Override
protected void initFragmentList(List<Fragment> fragments) {
fragments.add(new AnswerFragment().with(getArguments()));
fragments.add(new CommunityArticleFragment().with(getArguments()));
fragments.add(new ToolsFragment().with(getArguments()));
fragments.add(new ArticleFragment().with(getArguments()));
// fragments.add(AnswerFragment.getInstance(AnswerFragment.Type.COLLECTION).with(getArguments()));
// fragments.add(CommunityArticleFragment.getInstance(CommunityArticleFragment.Type.COLLECTION).with(getArguments()));
// fragments.add(new ToolsFragment().with(getArguments()));
// fragments.add(ArticleFragment.getInstance(ArticleFragment.Type.COLLECTION).with(getArguments()));
Bundle arguments = getArguments();
if (arguments != null)

View File

@ -2,6 +2,7 @@ package com.gh.gamecenter.entity
import com.gh.gamecenter.R
import com.google.gson.annotations.SerializedName
import com.halo.assistant.HaloApp
data class PrivacyPolicyEntity(
var title: String = "",
@ -15,8 +16,8 @@ data class PrivacyPolicyEntity(
@JvmStatic
fun createDefaultData(): PrivacyPolicyEntity {
val data = PrivacyPolicyEntity()
data.title = "欢迎来到光环助手"
data.topContent = "为提供完整的功能与稳定的服务,光环助手将向你申请开启以下权限:"
data.title = "欢迎来到" + HaloApp.getInstance().application.getString(R.string.app_name)
data.topContent = "为提供完整的功能与稳定的服务," + HaloApp.getInstance().application.getString(R.string.app_name) + "将向你申请开启以下权限:"
data.bottomContent = "你可以在系统设置中关闭授权,但可能会影响部分功能的正常使用"
val permissions = arrayListOf<PermissionsEntity>()
permissions.add(PermissionsEntity(

View File

@ -1,6 +1,5 @@
package com.gh.gamecenter.fragment;
import android.graphics.Bitmap;
import android.graphics.PorterDuff;
import android.graphics.drawable.Animatable;
import android.net.Uri;
@ -29,16 +28,13 @@ import com.gh.base.OnDoubleTapListener;
import com.gh.base.fragment.BaseFragment_ViewPager_Checkable;
import com.gh.common.constant.Config;
import com.gh.common.syncpage.SyncPageRepository;
import com.gh.common.util.BiCallback;
import com.gh.common.util.DataUtils;
import com.gh.common.util.DisplayUtils;
import com.gh.common.util.EntranceUtils;
import com.gh.common.util.ExtensionsKt;
import com.gh.common.util.HomeBottomBarHelper;
import com.gh.common.util.ImageUtils;
import com.gh.common.util.LogUtils;
import com.gh.common.view.ReserveDialog;
import com.gh.common.view.WelcomeDialog;
import com.gh.gamecenter.R;
import com.gh.gamecenter.entity.SettingsEntity;
import com.gh.gamecenter.entity.SubjectRecommendEntity;
@ -52,7 +48,6 @@ import com.gh.gamecenter.message.MessageUnreadRepository;
import com.gh.gamecenter.message.MessageUnreadViewModel;
import com.gh.gamecenter.personal.PersonalFragment;
import com.gh.gamecenter.video.detail.HomeVideoFragment;
import com.halo.assistant.HaloApp;
import com.lightgame.listeners.OnBackPressedListener;
import com.lightgame.view.CheckableImageView;
import com.lightgame.view.CheckableLinearLayout;
@ -165,7 +160,7 @@ public class MainWrapperFragment extends BaseFragment_ViewPager_Checkable implem
if (TextUtils.isEmpty(defaultGameBarData.getLink())) {
mGameTab.setVisibility(View.GONE);
} else {
mGameTab.setVisibility(View.VISIBLE);
mGameTab.setVisibility(View.GONE);
mTabGameName.setText(defaultGameBarData.getName());
Picasso.with(getContext())
.load(Uri.parse(defaultGameBarData.getIconUnselect()))
@ -193,40 +188,40 @@ public class MainWrapperFragment extends BaseFragment_ViewPager_Checkable implem
});
// 判断是否是第一次启动应用,不是的话不弹启动弹窗
if (HaloApp.get(MainWrapperViewModel.SHOULD_SHOW_OPENING_DIALOG, false) == null) {
HaloApp.put(MainWrapperViewModel.SHOULD_SHOW_OPENING_DIALOG, false);
mViewModel.requestOpeningData();
mViewModel.getOpeningDialog().observe(this, it -> {
if (it != null) {
ImageUtils.getBitmap(it.getIcon(), new BiCallback<Bitmap, Boolean>() {
@Override
public void onFirst(Bitmap bitmap) {
// 网络速度追不上用户操作的时候可能会出现要弹启动弹窗但用户已经不停留在 MainActivity 的情况
if (isStateSaved()) return;
WelcomeDialog welcomeDialog = WelcomeDialog.getInstance(it);
welcomeDialog.setOnDismissListener(() -> {
mViewModel.requestReserveDialog();
return null;
});
welcomeDialog.show(getChildFragmentManager(), "openingDialog");
}
@Override
public void onSecond(Boolean aBoolean) {
mViewModel.requestReserveDialog();
}
});
} else {
mViewModel.requestReserveDialog();
}
});
}
// if (HaloApp.get(MainWrapperViewModel.SHOULD_SHOW_OPENING_DIALOG, false) == null) {
// HaloApp.put(MainWrapperViewModel.SHOULD_SHOW_OPENING_DIALOG, false);
// mViewModel.requestOpeningData();
// mViewModel.getOpeningDialog().observe(this, it -> {
// if (it != null) {
// ImageUtils.getBitmap(it.getIcon(), new BiCallback<Bitmap, Boolean>() {
// @Override
// public void onFirst(Bitmap bitmap) {
// // 网络速度追不上用户操作的时候可能会出现要弹启动弹窗但用户已经不停留在 MainActivity 的情况
// if (isStateSaved()) return;
//
// WelcomeDialog welcomeDialog = WelcomeDialog.getInstance(it);
// welcomeDialog.setOnDismissListener(() -> {
// mViewModel.requestReserveDialog();
// return null;
// });
// welcomeDialog.show(getChildFragmentManager(), "openingDialog");
// }
//
// @Override
// public void onSecond(Boolean aBoolean) {
// mViewModel.requestReserveDialog();
// }
// });
// } else {
// mViewModel.requestReserveDialog();
// }
// });
// }
}
private void updateGameBarContent(SubjectRecommendEntity navBarEntity) {
if (navBarEntity != null) {
mGameTab.setVisibility(View.VISIBLE);
mGameTab.setVisibility(View.GONE);
mTabGameName.setText(navBarEntity.getName());
Picasso.with(getContext())
.load(Uri.parse(navBarEntity.getIconUnselect()))
@ -278,6 +273,8 @@ public class MainWrapperFragment extends BaseFragment_ViewPager_Checkable implem
}
});
}
changeColor(mCheckedIndex);
}
@Override
@ -496,7 +493,7 @@ public class MainWrapperFragment extends BaseFragment_ViewPager_Checkable implem
if (settings != null && !settings.showCommunityEntrance()) {
mTabCommunity.setVisibility(View.GONE);
} else {
mTabCommunity.setVisibility(View.VISIBLE);
mTabCommunity.setVisibility(View.GONE);
}
}
}

View File

@ -3,7 +3,6 @@ package com.gh.gamecenter.history
import android.os.Bundle
import androidx.fragment.app.Fragment
import com.gh.base.fragment.BaseFragment_TabLayout
import com.gh.common.util.EntranceUtils
import com.gh.common.util.MtaHelper
import com.gh.gamecenter.R
import com.gh.gamecenter.collection.AnswerFragment
@ -14,21 +13,21 @@ import com.gh.gamecenter.collection.VideoFragment
class HistoryWrapperFragment : BaseFragment_TabLayout() {
override fun initTabTitleList(tabTitleList: MutableList<String>) {
tabTitleList.add(getString(R.string.main_game))
// tabTitleList.add(getString(R.string.answer))
// tabTitleList.add(getString(R.string.collection_article))
// tabTitleList.add(getString(R.string.collection_info))
// tabTitleList.add(getString(R.string.main_game))
tabTitleList.add(getString(R.string.video))
tabTitleList.add(getString(R.string.answer))
tabTitleList.add(getString(R.string.collection_article))
tabTitleList.add(getString(R.string.collection_info))
}
override fun initFragmentList(fragments: MutableList<Fragment>) {
fragments.add(HistoryGameListFragment().with(arguments))
// fragments.add(AnswerFragment.getInstance(AnswerFragment.Type.HISTORY).with(arguments))
// fragments.add(CommunityArticleFragment.getInstance(CommunityArticleFragment.Type.HISTORY).with(arguments))
// fragments.add(ArticleFragment.getInstance(ArticleFragment.Type.HISTORY).with(arguments))
// fragments.add(HistoryGameListFragment().with(arguments))
fragments.add(VideoFragment().with(arguments?.apply {
putString("videoStyle", VideoFragment.VideoStyle.BROWSING_HISTORY.value)
}))
fragments.add(AnswerFragment().with(arguments?.apply { putString(EntranceUtils.KEY_TYPE, AnswerFragment.HISTORY) }))
fragments.add(CommunityArticleFragment().with(arguments?.apply { putString(EntranceUtils.KEY_TYPE, CommunityArticleFragment.Type.HISTORY.value) }))
fragments.add(ArticleFragment().with(arguments?.apply { putString(EntranceUtils.KEY_TYPE, ArticleFragment.HISTORY) }))
}
override fun onPageSelected(position: Int) {

View File

@ -16,6 +16,7 @@ import android.widget.TextView;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.core.app.NotificationManagerCompat;
import com.g00fy2.versioncompare.Version;
import com.gh.common.AppExecutor;
import com.gh.common.constant.Constants;
import com.gh.common.util.DataLogUtils;
@ -127,7 +128,7 @@ public class UpdateManager {
downloadDialog.dismiss();
}
if (appEntity != null && appEntity.isForce()) {
exitApp();
AppExecutor.getUiExecutor().executeWithDelay(() -> exitApp(), 1000);
}
} else if (DownloadStatus.neterror.equals(downloadEntity.getStatus())) {
Utils.toast(mContext, "网络错误,请稍后重试");
@ -190,8 +191,7 @@ public class UpdateManager {
RetrofitManager.getInstance(mContext).getApi().getUpdate(PackageUtils.getVersionName(), PackageUtils.getVersionCode(), channel)
.map(appEntity -> {
boolean isShowUpdateDialog = false;
if (appEntity.getVersionCode() > PackageUtils.getVersionCode()) {
if (new Version(appEntity.getVersion()).isHigherThan(PackageUtils.getVersionName())) {
// 助手有更新
UpdateManager.this.appEntity = appEntity;
@ -269,7 +269,7 @@ public class UpdateManager {
handler.sendEmptyMessage(1);
}
if (e != null && (e.code() == 304 || e.code() == 404)) {
Utils.toast(mContext, "您的光环助手已是最新版本");
Utils.toast(mContext, "您的" + mContext.getString(R.string.app_name) + "已是最新版本");
return;
}

View File

@ -721,7 +721,7 @@ public class PersonalFragment extends BaseLazyFragment {
mUserInfoEntity.getIcon(), mUserInfoEntity.getAuth() == null ? "" : mUserInfoEntity.getAuth().getIcon());
ImageUtils.displayIcon(mUserIconSmall, mUserInfoEntity.getIcon());
mPersonalUserName.setVisibility(View.VISIBLE);
mPersonalBadge.setVisibility(View.VISIBLE);
// mPersonalBadge.setVisibility(View.VISIBLE);
mPersonalHome.setVisibility(View.VISIBLE);
mPersonalLogin.setVisibility(View.GONE);
mPersonalUserName.setText(mUserInfoEntity.getName());

View File

@ -18,14 +18,14 @@ class PersonalViewModel(application: Application) : AndroidViewModel(application
var haloAddData = MutableLiveData<ArrayList<FunctionalGroupEntity>>()
private val commonFuncs = arrayListOf(
Triple("我的游戏", R.drawable.personal_my_game, "我的游戏"),
Triple("游戏评论", R.drawable.personal_game_comment, "游戏评论"),
Triple("我的问答", R.drawable.personal_my_questions, "我的问答"),
// Triple("我的游戏", R.drawable.personal_my_game, "我的游戏"),
// Triple("游戏评论", R.drawable.personal_game_comment, "游戏评论"),
// Triple("我的问答", R.drawable.personal_my_questions, "我的问答"),
Triple("视频投稿", R.drawable.personal_video_submission, "视频投稿"),
Triple("我的收藏", R.drawable.personal_my_collect, "我的收藏"),
Triple("浏览记录", R.drawable.personal_browsing_history, "浏览记录"),
Triple("账号安全", R.drawable.personal_account_security, "账号安全"),
Triple("模拟器游戏", R.drawable.personal_simulator_game, "模拟器游戏")
Triple("账号安全", R.drawable.personal_account_security, "账号安全")
// Triple("模拟器游戏", R.drawable.personal_simulator_game, "模拟器游戏")
)
private val contentCenterFuncs = arrayListOf(
Triple("游戏动态", R.drawable.personal_game_dynamic, "游戏动态"),
@ -34,10 +34,10 @@ class PersonalViewModel(application: Application) : AndroidViewModel(application
Triple("工具箱", R.drawable.personal_tools, "工具箱")
)
private val otherFuncs = arrayListOf(
Triple("帮助与反馈", R.drawable.personal_feedback, "帮助与反馈"),
// Triple("帮助与反馈", R.drawable.personal_feedback, "帮助与反馈"),
Triple("实名认证", R.drawable.personal_verified, "实名认证"),
Triple("微信提醒", R.drawable.personal_wechat_remind, "微信提醒"),
Triple("安装包清理", R.drawable.personal_package_chean, "安装包清理"),
// Triple("微信提醒", R.drawable.personal_wechat_remind, "微信提醒"),
// Triple("安装包清理", R.drawable.personal_package_chean, "安装包清理"),
Triple("分享光环", R.drawable.personal_share, "分享光环"),
Triple("设置", R.drawable.personal_setting, "设置")
)
@ -48,24 +48,24 @@ class PersonalViewModel(application: Application) : AndroidViewModel(application
@SuppressLint("CheckResult")
fun getHaloAddons() {
RetrofitManager.getInstance(getApplication())
.api.haloAddons
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(object : BiResponse<ArrayList<FunctionalGroupEntity>>() {
override fun onSuccess(data: ArrayList<FunctionalGroupEntity>) {
haloAddData.postValue(data)
data.forEach loop@{
it.addons.forEach { link ->
if (link.type == "设置") {
SPUtils.setString(Constants.SP_PRIVACY_CURRENT_MD5, link.checkSum?.privacyPolicy
?: "")
return@loop
}
}
}
}
})
// RetrofitManager.getInstance(getApplication())
// .api.haloAddons
// .subscribeOn(Schedulers.io())
// .observeOn(AndroidSchedulers.mainThread())
// .subscribe(object : BiResponse<ArrayList<FunctionalGroupEntity>>() {
// override fun onSuccess(data: ArrayList<FunctionalGroupEntity>) {
// haloAddData.postValue(data)
// data.forEach loop@{
// it.addons.forEach { link ->
// if (link.type == "设置") {
// SPUtils.setString(Constants.SP_PRIVACY_CURRENT_MD5, link.checkSum?.privacyPolicy
// ?: "")
// return@loop
// }
// }
// }
// }
// })
}
private fun initDefaultData() {
@ -80,14 +80,14 @@ class PersonalViewModel(application: Application) : AndroidViewModel(application
}
datas.add(groupEntity1)
val groupEntity2 = FunctionalGroupEntity(name = "内容中心")
contentCenterFuncs.forEach {
groupEntity2.addons.add(FunctionalLinkEntity(iconRes = it.second).apply {
name = it.first
type = it.third
})
}
datas.add(groupEntity2)
// val groupEntity2 = FunctionalGroupEntity(name = "内容中心")
// contentCenterFuncs.forEach {
// groupEntity2.addons.add(FunctionalLinkEntity(iconRes = it.second).apply {
// name = it.first
// type = it.third
// })
// }
// datas.add(groupEntity2)
val groupEntity3 = FunctionalGroupEntity(name = "其它功能")
otherFuncs.forEach {

View File

@ -90,7 +90,7 @@ class UserHomeFragment : NormalFragment() {
}
mHomeBinding?.container?.setZoomView(mHomeBinding?.userBackgroundContainer)
mHomeBinding?.userBadge?.visibleIf(mUserHomeViewModel.userId == UserManager.getInstance().userId)
// mHomeBinding?.userBadge?.visibleIf(mUserHomeViewModel.userId == UserManager.getInstance().userId)
mUserHomeViewModel.userInfo.observeNonNull(this) {
// 区分是数据初始化还是数据更新
@ -313,7 +313,7 @@ class UserHomeFragment : NormalFragment() {
val adapter = UserHomePlayedGameAdapter(playedGames)
playedGameContainer.visibility = View.VISIBLE
playedGameContainer.visibility = View.GONE
playedGameRecyclerView.adapter = adapter
playedGameRecyclerView.layoutManager = LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, false)
playedGameRecyclerView.addItemDecoration(HorizontalItemDecoration(requireContext(), 24, playedGames.size, true))

View File

@ -335,7 +335,7 @@ class DetailPlayerView @JvmOverloads constructor(context: Context, attrs: Attrib
} else {
when (videoEntity.status) {
"pass" -> {
gameContainer.visibility = View.VISIBLE
gameContainer.visibility = View.INVISIBLE
censoringContainer.visibility = View.GONE
}
"fail" -> {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 933 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 448 KiB

View File

@ -1,9 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/white" />
<!-- <item android:drawable="@color/white" />-->
<item
android:drawable="@drawable/splash_image"
android:gravity="center" />
<item android:drawable="@drawable/splash_image" />
</layer-list>

View File

@ -43,7 +43,7 @@
android:layout_marginTop="16dp"
android:gravity="center"
android:lineSpacingExtra="4dp"
android:text="您需要同意本隐私政策才能继续使用\n光环助手"
android:text="您需要同意本隐私政策才能继续使用\n光环game"
android:textColor="@color/black"
android:textSize="16sp"
android:textStyle="bold" />

View File

@ -201,7 +201,7 @@
android:textColor="@color/white"
android:textSize="10sp"
android:text="@string/recent_visit" />
<com.facebook.drawee.view.SimpleDraweeView
visibleGone="@{!TextUtils.isEmpty(entity.lastVisitor.icon)}"
android:id="@+id/recent_visit_icon"
@ -624,7 +624,8 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
android:orientation="vertical"
android:visibility="gone">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/tabContainer"
@ -663,6 +664,7 @@
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior" />
</com.gh.common.view.ZoomCoordinatorLayout>

View File

@ -22,11 +22,11 @@
<ImageView
android:id="@+id/login_logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="64dp"
android:src="@drawable/ic_login_logo" />
android:src="@mipmap/logo" />
<RelativeLayout
android:id="@+id/login_phone_container"
@ -146,6 +146,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:visibility="gone"
android:orientation="horizontal">
<View
@ -175,6 +176,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:layout_marginBottom="32dp"
android:visibility="gone"
android:orientation="horizontal">
<ImageView

View File

@ -35,7 +35,8 @@
android:background="?selectableItemBackgroundBorderless"
android:checked="true"
android:gravity="center"
android:orientation="vertical">
android:orientation="vertical"
android:visibility="gone">
<RelativeLayout
android:layout_width="wrap_content"
@ -76,7 +77,7 @@
android:checked="true"
android:gravity="center"
android:orientation="vertical"
android:visibility="visible">
android:visibility="gone">
<RelativeLayout
android:layout_width="wrap_content"
@ -160,7 +161,8 @@
android:background="?selectableItemBackgroundBorderless"
android:checked="true"
android:gravity="center"
android:orientation="vertical">
android:orientation="vertical"
android:visibility="gone">
<RelativeLayout
android:layout_width="wrap_content"

View File

@ -243,6 +243,7 @@
android:layout_centerVertical="true"
android:layout_marginRight="16dp"
android:layout_toLeftOf="@+id/msg_rl"
android:visibility="gone"
android:src="@drawable/personal_sign_icon_white" />
<RelativeLayout

View File

@ -98,7 +98,8 @@
android:paddingLeft="20dp"
android:paddingTop="12dp"
android:paddingRight="6dp"
android:paddingBottom="12dp">
android:paddingBottom="12dp"
android:visibility="gone">
<TextView
android:id="@+id/setting_usage_stats_title"
@ -229,7 +230,8 @@
android:background="@drawable/reuse_listview_item_style"
android:gravity="center_vertical"
android:paddingLeft="20dp"
android:paddingRight="6dp">
android:paddingRight="6dp"
android:visibility="gone">
<TextView
android:id="@+id/setting_tv_autoinstall"
@ -256,7 +258,8 @@
android:layout_marginTop="0.5dp"
android:background="@drawable/reuse_listview_item_style"
android:paddingLeft="20dp"
android:paddingRight="6dp">
android:paddingRight="6dp"
android:visibility="gone">
<TextView
android:layout_width="wrap_content"
@ -284,7 +287,8 @@
android:background="@drawable/reuse_listview_item_style"
android:gravity="center_vertical"
android:paddingLeft="20dp"
android:paddingRight="20dp">
android:paddingRight="20dp"
android:visibility="gone">
<TextView
android:layout_width="wrap_content"
@ -313,7 +317,8 @@
android:background="@drawable/reuse_listview_item_style"
android:gravity="center_vertical"
android:paddingLeft="20dp"
android:paddingRight="20dp">
android:paddingRight="20dp"
android:visibility="gone">
<TextView
android:layout_width="wrap_content"
@ -344,7 +349,8 @@
android:paddingRight="20dp"
android:text="@string/setting_clean_package"
android:textColor="@color/title"
android:textSize="15sp" />
android:textSize="15sp"
android:visibility="gone" />
<RelativeLayout
android:id="@+id/setting_rl_cache"
@ -427,6 +433,7 @@
android:paddingRight="20dp"
android:text="@string/setting_game_submission"
android:textColor="@color/title"
android:visibility="gone"
android:textSize="15sp" />
<RelativeLayout

View File

@ -94,7 +94,8 @@
android:paddingLeft="4dp"
android:paddingTop="5dp"
android:paddingRight="8dp"
android:paddingBottom="5dp">
android:paddingBottom="5dp"
android:visibility="gone">
<ImageView
android:layout_width="wrap_content"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 185 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 185 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 185 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 185 KiB

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">光环助手</string>
<string name="app_name">光环game</string>
<string name="hundred_percent">100%</string>
<string name="thousand">999+</string>
@ -450,7 +450,7 @@
<string name="kc_install_more">查看更多</string>
<string name="kc_send_count">发送(%1$d</string>
<string name="disclaimer_title">用户协议与免责声明</string>
<string name="disclaimer_url">http://api.ghzs666.com/v2d6/disclaimer</string>
<string name="disclaimer_url">https://resource.ghzs.com/page/user_protocol/vest_disclaimer.html</string>
<string name="third_party_sdk_title">光环助手接入第三方SDK目录</string>
<string name="third_party_sdk_statement_url">https://resource.ghzs.com/page/third_party_sdk/index.html</string>
<string name="comment_rules_title">光环助手评论规则</string>
@ -668,7 +668,7 @@
<string name="privacy_policy_title">隐私政策</string>
<string name="upload_game_policy_title">游戏服务上传准则</string>
<string name="privacy_policy_url">https://resource.ghzs.com/page/privacy_policies/privacy_policies.html</string>
<string name="privacy_policy_url">https://resource.ghzs.com/page/privacy_policies/vest_privacy_policies.html</string>
<string name="upload_game_policy_url">https://resource.ghzs.com/page/game_rule/game_rule.html</string>
<string name="user_regulation_url">https://resource.ghzs.com/page/user_protocol/disclaimer.html</string>

View File

@ -7,9 +7,9 @@ ext {
targetSdkVersion = 26
// application info (每个大版本之间的 versionCode 增加 20)
versionCode = 230
versionName = "4.4.0"
applicationId = "com.gh.gamecenter"
versionCode = 400000
versionName = "4.3.8"
applicationId = "com.ghyx.game"
// AndroidX
core = "1.2.0"