diff --git a/app/src/main/java/com/gh/common/util/DetailDownloadUtils.java b/app/src/main/java/com/gh/common/util/DetailDownloadUtils.java
index 054c461e58..9b60dae37e 100644
--- a/app/src/main/java/com/gh/common/util/DetailDownloadUtils.java
+++ b/app/src/main/java/com/gh/common/util/DetailDownloadUtils.java
@@ -4,6 +4,7 @@ import android.text.TextUtils;
import android.view.View;
import com.gh.common.constant.Config;
+import com.gh.common.constant.Constants;
import com.gh.common.repository.ReservationRepository;
import com.gh.common.simulator.SimulatorGameManager;
import com.gh.common.view.DownloadProgressBar;
@@ -133,7 +134,11 @@ public class DetailDownloadUtils {
case downloading:
case pause:
case overflow:
- viewHolder.mDownloadPb.setText(R.string.downloading);
+ if (SPUtils.getBoolean(Constants.SP_USE_BROWSER_TO_INSTALL)) {
+ viewHolder.mDownloadPb.setText(R.string.browser_install_downloading);
+ } else {
+ viewHolder.mDownloadPb.setText(R.string.downloading);
+ }
if (downloadEntity.isPluggable() && PackagesManager.INSTANCE.isInstalled(downloadEntity.getPackageName())) {
viewHolder.mDownloadPb.setDownloadType(DownloadProgressBar.DownloadType.DOWNLOADING_PLUGIN);
} else {
@@ -152,17 +157,25 @@ public class DetailDownloadUtils {
}
break;
case done:
- if (SimulatorGameManager.isSimulatorGame(viewHolder.gameEntity)){
+ if (SimulatorGameManager.isSimulatorGame(viewHolder.gameEntity)) {
boolean isInstalled = PackageUtils.isInstalledFromAllPackage(viewHolder.context, viewHolder.gameEntity.getSimulator().getApk().getPackageName());
- if (isInstalled){
+ if (isInstalled) {
viewHolder.mDownloadPb.setText(R.string.launch);
viewHolder.mDownloadPb.setDownloadType(DownloadProgressBar.DownloadType.LAUNCH_OR_OPEN);
- }else{
- viewHolder.mDownloadPb.setText(R.string.install);
+ } else {
+ if (SPUtils.getBoolean(Constants.SP_USE_BROWSER_TO_INSTALL)) {
+ viewHolder.mDownloadPb.setText(R.string.browser_install_install);
+ } else {
+ viewHolder.mDownloadPb.setText(R.string.install);
+ }
viewHolder.mDownloadPb.setDownloadType(DownloadProgressBar.DownloadType.INSTALL_NORMAL);
}
- }else{
- viewHolder.mDownloadPb.setText(R.string.install);
+ } else {
+ if (SPUtils.getBoolean(Constants.SP_USE_BROWSER_TO_INSTALL)) {
+ viewHolder.mDownloadPb.setText(R.string.browser_install_install);
+ } else {
+ viewHolder.mDownloadPb.setText(R.string.install);
+ }
if (downloadEntity.isPluggable()
&& PackagesManager.isInstalled(downloadEntity.getPackageName())) {
viewHolder.mDownloadPb.setDownloadType(DownloadProgressBar.DownloadType.INSTALL_PLUGIN);
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.kt
index 010955bf3f..db3d49a4b9 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.kt
@@ -183,6 +183,9 @@ class GameDetailFragment : NormalFragment() {
@BindView(R.id.closeIv)
lateinit var mReserveGuideClose: View
+ @BindView(R.id.switch_btn)
+ lateinit var mSwitchBtn: TextView
+
@BindView(R.id.browser_install_hint_container)
lateinit var mBrowserInstallContainer: View
@@ -972,7 +975,7 @@ class GameDetailFragment : NormalFragment() {
}
}
- @OnClick(R.id.reuse_no_connection, R.id.gamedetail_kaifu_hint, R.id.concern_btn, R.id.reserve_btn, R.id.closeIv, R.id.recommendCloseIv)
+ @OnClick(R.id.reuse_no_connection, R.id.gamedetail_kaifu_hint, R.id.concern_btn, R.id.reserve_btn, R.id.switch_btn, R.id.closeIv, R.id.recommendCloseIv)
override fun onClick(v: View) {
when (v.id) {
R.id.reuse_no_connection -> {
@@ -1037,6 +1040,14 @@ class GameDetailFragment : NormalFragment() {
}
}
}
+ R.id.switch_btn -> {
+ val intent = ShellActivity.getIntent(
+ requireContext(),
+ ShellActivity.Type.SWITCH_INSTALL_METHOD,
+ null
+ )
+ requireActivity().startActivity(intent)
+ }
R.id.closeIv -> {
showReserveGuide(false)
}
@@ -1186,30 +1197,32 @@ class GameDetailFragment : NormalFragment() {
var closeHintText = ""
if (manufacturer == "OPPO" || manufacturer == "VIVO") {
- hintText = "${manufacturer}手机如何解决安装需要密码"
- closeHintText = "关闭后将不再显示免密安装引导,您可以前往“ 我的光环-设置-切换安装方式”进行设置,或在“ 我的光环-帮助与反馈”查看相关问题"
+ hintText = if (SPUtils.getBoolean(Constants.SP_USE_BROWSER_TO_INSTALL)) "当前安装方式为[浏览器安装],点击切换安装方式" else "${manufacturer}手机如何解决安装需要密码"
+ closeHintText = "关闭后“切换安装方式”入口将显示在左下角,您也可以前往“我的光环-设置-切换安装方式”进行设置,或在“ 我的光环-帮助与反馈”查看相关问题"
} else {
- hintText = "手机如何解决无法安装问题"
- closeHintText = "关闭后将不再显示切换安装方式引导,您可以前往“ 我的光环-设置-切换安装方式”进行设置"
+ hintText = if (SPUtils.getBoolean(Constants.SP_USE_BROWSER_TO_INSTALL)) "当前安装方式为[浏览器安装],点击切换安装方式" else "手机如何解决无法安装问题"
+ closeHintText = "关闭后“切换安装方式”入口将显示在左下角,您也可以前往“我的光环-设置-切换安装方式”进行设置"
}
mBrowserInstallHintTv.text = hintText
mBrowserInstallCloseIv.setOnClickListener {
DialogHelper.showDialog(
- requireContext(),
- "温馨提示",
- closeHintText,
- "确定",
- "取消",
- {
- mBrowserInstallContainer.visibility = View.GONE
- BrowserInstallHelper.hideGameDetailUseBrowserToInstallHint()
- BrowserInstallHelper.logOrdinaryBrowserEvent(BrowserInstallHelper.Type.SWITCH_INSTALL_GUIDE_QUIT)
- }
+ requireContext(),
+ "温馨提示",
+ closeHintText,
+ "确定",
+ "取消",
+ {
+ mBrowserInstallContainer.visibility = View.GONE
+ mSwitchBtn.visibility = View.VISIBLE
+ BrowserInstallHelper.hideGameDetailUseBrowserToInstallHint()
+ BrowserInstallHelper.logOrdinaryBrowserEvent(BrowserInstallHelper.Type.SWITCH_INSTALL_GUIDE_QUIT)
+ }
)
}
} else {
mBrowserInstallContainer.visibility = View.GONE
+ mSwitchBtn.visibility = View.VISIBLE
}
}
diff --git a/app/src/main/java/com/halo/assistant/fragment/SwitchInstallMethodFragment.kt b/app/src/main/java/com/halo/assistant/fragment/SwitchInstallMethodFragment.kt
index a48639d98e..7e7b191c7a 100644
--- a/app/src/main/java/com/halo/assistant/fragment/SwitchInstallMethodFragment.kt
+++ b/app/src/main/java/com/halo/assistant/fragment/SwitchInstallMethodFragment.kt
@@ -1,7 +1,9 @@
package com.halo.assistant.fragment
+import android.content.Intent
import android.os.Build
import android.os.Bundle
+import android.provider.Settings
import android.view.View
import com.gh.common.constant.Constants
import com.gh.common.util.SPUtils
@@ -37,24 +39,31 @@ class SwitchInstallMethodFragment : NormalFragment() {
val manufacturer = Build.MANUFACTURER.toUpperCase(Locale.CHINA)
- val defaultHintText: String
+ var defaultHintText: CharSequence
var browserHintText: CharSequence = "1.光环助手下载应用后,通过跳转默认浏览器安装已下载的应用(不会重复消耗流量),即可完成免密码安装\n2.内存较大的游戏在浏览器解压时间较长,需要等待片刻,您也可以通过浏览器的“下载记录”查看解压进度"
if (manufacturer == "OPPO" || manufacturer == "VIVO") {
- defaultHintText = "直接使用光环助手下载应用,但${manufacturer}手机自身安全性检测,下载后需要进行验证账户密码、指纹等解锁后安装"
+ val clickText : CharSequence = "前往手机设置-指纹、面部与密码>"
+ val endText = if (manufacturer == "OPPO") " 设置锁屏密码,再点击[添加指纹]录入指纹,将指纹用于[安装验证];或者点击[添加面部]录入面部,将面部用于[安装验证],即可实现快速安装" else "开启锁屏密码,再点击[添加指纹]录入指纹,将指纹用于[解锁],即可实现快速安装"
+ defaultHintText = "1.直接使用光环助手下载应用,但${manufacturer}手机自身安全性检测,下载后需要进行验证账户密码、指纹等解锁后安装\n2.您可以 $clickText$endText"
+ defaultHintText = SpanBuilder(defaultHintText)
+ .click(defaultHintText.length - clickText.length - endText.length, defaultHintText.length - endText.length, R.color.theme_font, true) {
+ requireContext().startActivity(Intent(Settings.ACTION_SETTINGS))
+ }
+ .build()
val clickableText: CharSequence = "可查看使用教程>"
- browserHintText = "$browserHintText\n以上未能解决安装需要密码的,$clickableText"
+ browserHintText = "$browserHintText\n\n以上未能解决安装需要密码的,$clickableText"
browserHintText = SpanBuilder(browserHintText)
- .click(browserHintText.length - clickableText.length, browserHintText.length, R.color.theme_font, true) {
- val url = if (manufacturer == "OPPO") {
- "https://static-web.ghzs.com/ghzs_help/help.html?content=5fa90fe143d91a022e0d33ff"
- } else {
- "https://static-web.ghzs.com/ghzs_help/help.html?content=5fc05a0033b5f008e04cdc4b"
- }
- requireContext().startActivity(WebActivity.getIntent(requireContext(), url, "安装问题", false, 1))
+ .click(browserHintText.length - clickableText.length, browserHintText.length, R.color.theme_font, true) {
+ val url = if (manufacturer == "OPPO") {
+ "https://static-web.ghzs.com/ghzs_help/help.html?content=5fa90fe143d91a022e0d33ff"
+ } else {
+ "https://static-web.ghzs.com/ghzs_help/help.html?content=5fc05a0033b5f008e04cdc4b"
}
- .build()
+ requireContext().startActivity(WebActivity.getIntent(requireContext(), url, "安装问题", false, 1))
+ }
+ .build()
} else {
defaultHintText = "直接使用光环助手下载应用,但部分手机可能存在无法安装的问题"
}
@@ -62,6 +71,7 @@ class SwitchInstallMethodFragment : NormalFragment() {
mBinding?.defaultHintTv?.text = defaultHintText
mBinding?.browserHintTv?.text = browserHintText
mBinding?.browserHintTv?.movementMethod = CustomLinkMovementMethod.getInstance()
+ mBinding?.defaultHintTv?.movementMethod = CustomLinkMovementMethod.getInstance()
}
private fun changeSwitch(useBrowserToInstall: Boolean) {
diff --git a/app/src/main/res/drawable-xxhdpi/ic_gamedetail_reserve.webp b/app/src/main/res/drawable-xxhdpi/ic_gamedetail_reserve.webp
index 66467b64eb..2ed31eefde 100644
Binary files a/app/src/main/res/drawable-xxhdpi/ic_gamedetail_reserve.webp and b/app/src/main/res/drawable-xxhdpi/ic_gamedetail_reserve.webp differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_gamedetail_reserved.webp b/app/src/main/res/drawable-xxhdpi/ic_gamedetail_reserved.webp
index 7057100674..03fe4ab86a 100644
Binary files a/app/src/main/res/drawable-xxhdpi/ic_gamedetail_reserved.webp and b/app/src/main/res/drawable-xxhdpi/ic_gamedetail_reserved.webp differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_gamedetail_switch_install.webp b/app/src/main/res/drawable-xxxhdpi/ic_gamedetail_switch_install.webp
new file mode 100644
index 0000000000..5bf37120b3
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_gamedetail_switch_install.webp differ
diff --git a/app/src/main/res/drawable/bg_browser_install_hint.xml b/app/src/main/res/drawable/bg_browser_install_hint.xml
new file mode 100644
index 0000000000..991a3e85f0
--- /dev/null
+++ b/app/src/main/res/drawable/bg_browser_install_hint.xml
@@ -0,0 +1,13 @@
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/detail_download_item.xml b/app/src/main/res/layout/detail_download_item.xml
index 7e3da5b63e..1d8c7af8df 100644
--- a/app/src/main/res/layout/detail_download_item.xml
+++ b/app/src/main/res/layout/detail_download_item.xml
@@ -24,14 +24,14 @@
android:id="@+id/browser_install_hint_container"
android:layout_width="match_parent"
android:layout_height="40dp"
- android:background="@color/bg_FFF6E6"
+ android:background="@drawable/bg_browser_install_hint"
android:visibility="gone"
tools:visibility="visible">
@@ -44,6 +44,8 @@
android:layout_marginLeft="8dp"
android:layout_toRightOf="@id/browser_install_hint_iv"
android:textColor="@color/text_F9A755"
+ android:textSize="12sp"
+ app:lineHeight="12dp"
tools:text="VIVO手机如何解决安装需要密码" />
+
+
试玩
展开 >
解压中
+ 下载后前往浏览器解压安装
+ 浏览器解压安装
已淘号:%1$s]]>
已领取:%1$s]]>