feat: 畅玩游戏绕过浏览器下载判断
This commit is contained in:
@ -384,7 +384,7 @@ public class BindingAdapters {
|
||||
}
|
||||
VHelper.checkVSpaceBeforeAction(v.getContext(), gameEntity, () -> {
|
||||
GamePermissionDialogFragment.show((AppCompatActivity) v.getContext(), gameEntity, gameEntity.getInfo(), () -> {
|
||||
BrowserInstallHelper.showBrowserInstallHintDialog(v.getContext(), () -> {
|
||||
BrowserInstallHelper.showBrowserInstallHintDialog(v.getContext(), gameEntity.isVGame(), () -> {
|
||||
PackageCheckDialogFragment.show((AppCompatActivity) v.getContext(), gameEntity, () -> {
|
||||
DownloadDialogHelper.findAvailableDialogAndShow(v.getContext(), gameEntity, apk, () -> {
|
||||
CertificationDialog.showCertificationDialog(v.getContext(), gameEntity, () -> {
|
||||
|
||||
@ -651,7 +651,7 @@ object DownloadItemUtils {
|
||||
val apk = gameEntity.getApk().safelyGetInRelease(0) ?: return
|
||||
if (str == context.getString(R.string.download)) {
|
||||
GamePermissionDialogFragment.show((context as AppCompatActivity), gameEntity, gameEntity.info) {
|
||||
BrowserInstallHelper.showBrowserInstallHintDialog(context, object : EmptyCallback {
|
||||
BrowserInstallHelper.showBrowserInstallHintDialog(context, gameEntity.isVGame(), object : EmptyCallback {
|
||||
override fun onCallback() {
|
||||
PackageCheckDialogFragment.show(context, gameEntity) {
|
||||
DownloadDialogHelper.findAvailableDialogAndShow(context, gameEntity, apk, object : EmptyCallback {
|
||||
@ -672,7 +672,7 @@ object DownloadItemUtils {
|
||||
DataLogUtils.uploadGameLog(context, gameEntity.id, gameEntity.name, entrance)
|
||||
} else if (str == context.getString(R.string.attempt)) {
|
||||
GamePermissionDialogFragment.show((context as AppCompatActivity), gameEntity, gameEntity.info) {
|
||||
BrowserInstallHelper.showBrowserInstallHintDialog(context, object : EmptyCallback {
|
||||
BrowserInstallHelper.showBrowserInstallHintDialog(context, gameEntity.isVGame(), object : EmptyCallback {
|
||||
override fun onCallback() {
|
||||
PackageCheckDialogFragment.show(context, gameEntity) {
|
||||
DownloadDialogHelper.findAvailableDialogAndShow(context, gameEntity, apk, object : EmptyCallback {
|
||||
|
||||
@ -6,23 +6,26 @@ import android.widget.RelativeLayout
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.gh.gamecenter.common.base.activity.BaseActivity
|
||||
import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
|
||||
import com.gh.common.constant.Config
|
||||
import com.gh.common.dialog.CertificationDialog
|
||||
import com.gh.common.dialog.DeviceRemindDialog
|
||||
import com.gh.common.dialog.PackageCheckDialogFragment
|
||||
import com.gh.common.exposure.ExposureEvent
|
||||
import com.gh.common.util.*
|
||||
import com.gh.common.util.DialogUtils
|
||||
import com.gh.common.util.DirectUtils.directToLinkPage
|
||||
import com.gh.common.util.DownloadDialogHelper
|
||||
import com.gh.common.util.PackageInstaller
|
||||
import com.gh.common.util.PackageUtils
|
||||
import com.gh.download.DownloadManager
|
||||
import com.gh.download.server.BrowserInstallHelper
|
||||
import com.gh.gamecenter.DownloadManagerActivity
|
||||
import com.gh.gamecenter.R
|
||||
import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
|
||||
import com.gh.gamecenter.common.base.activity.BaseActivity
|
||||
import com.gh.gamecenter.common.callback.ConfirmListener
|
||||
import com.gh.gamecenter.common.utils.*
|
||||
import com.gh.gamecenter.core.utils.*
|
||||
import com.gh.gamecenter.core.utils.EmptyCallback
|
||||
import com.gh.gamecenter.core.utils.SpeedUtils
|
||||
import com.gh.gamecenter.databinding.DownloadDialogItemBinding
|
||||
import com.gh.gamecenter.entity.ApkEntity
|
||||
import com.gh.gamecenter.entity.GameCollectionEntity
|
||||
@ -351,7 +354,7 @@ class DownloadDialogItemViewHolder(val binding: DownloadDialogItemBinding) : Bas
|
||||
// todo 有时间存储判断统一处理
|
||||
val msg = FileUtils.isCanDownload(context, apkEntity.size)
|
||||
if (msg.isNullOrEmpty()) {
|
||||
BrowserInstallHelper.showBrowserInstallHintDialog(context, object : EmptyCallback {
|
||||
BrowserInstallHelper.showBrowserInstallHintDialog(context, gameEntity.isVGame(), object : EmptyCallback {
|
||||
override fun onCallback() {
|
||||
DownloadDialogHelper.findAvailableDialogAndShow(context, gameEntity, apkEntity, object : EmptyCallback {
|
||||
override fun onCallback() {
|
||||
|
||||
@ -123,8 +123,8 @@ object BrowserInstallHelper {
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun showBrowserInstallHintDialog(context: Context, callback: EmptyCallback) {
|
||||
if (!shouldShowUseBrowserToInstallHint()) {
|
||||
fun showBrowserInstallHintDialog(context: Context, skipBrowserInstallDialog: Boolean = false, callback: EmptyCallback) {
|
||||
if (skipBrowserInstallDialog || !shouldShowUseBrowserToInstallHint()) {
|
||||
callback.onCallback()
|
||||
return
|
||||
}
|
||||
|
||||
@ -194,7 +194,7 @@ public class DetailViewHolder {
|
||||
PermissionHelper.checkStoragePermissionBeforeAction(mViewHolder.context, () -> {
|
||||
if (mGameEntity.getApk().size() == 1) {
|
||||
ApkEntity apk = mGameEntity.getApk().get(0);
|
||||
BrowserInstallHelper.showBrowserInstallHintDialog(mViewHolder.context, () -> {
|
||||
BrowserInstallHelper.showBrowserInstallHintDialog(mViewHolder.context, mGameEntity.isVGame(), () -> {
|
||||
PackageCheckDialogFragment.show((AppCompatActivity) mViewHolder.context, mGameEntity, () -> {
|
||||
DownloadDialogHelper.findAvailableDialogAndShow(mViewHolder.context, mGameEntity, apk, () -> {
|
||||
CertificationDialog.showCertificationDialog(mViewHolder.context, mGameEntity, () -> {
|
||||
|
||||
@ -115,6 +115,9 @@ class HomeViewModel(application: Application) : AndroidViewModel(application) {
|
||||
mVGameList?.clear()
|
||||
transformationItemData()
|
||||
}
|
||||
} else {
|
||||
mVGameList?.clear()
|
||||
transformationItemData()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -127,7 +127,7 @@ object VHelper {
|
||||
*/
|
||||
@JvmStatic
|
||||
fun isInstalled(packageName: String?): Boolean {
|
||||
return mInstalledInfoList.any { it.packageName == packageName }
|
||||
return mInstalledInfoList.any { it?.packageName == packageName }
|
||||
}
|
||||
|
||||
/**
|
||||
@ -215,7 +215,9 @@ object VHelper {
|
||||
val installedPackageList = arrayListOf<String>()
|
||||
|
||||
for (info in installedList) {
|
||||
installedPackageList.add(info.packageName)
|
||||
info.packageName?.let {
|
||||
installedPackageList.add(info.packageName)
|
||||
}
|
||||
}
|
||||
|
||||
Utils.log(LOG_TAG, "已安装包名列表$installedPackageList")
|
||||
|
||||
Reference in New Issue
Block a user