diff --git a/app/src/main/java/com/gh/common/databind/BindingAdapters.java b/app/src/main/java/com/gh/common/databind/BindingAdapters.java index 4eba8180da..a34c4f298f 100644 --- a/app/src/main/java/com/gh/common/databind/BindingAdapters.java +++ b/app/src/main/java/com/gh/common/databind/BindingAdapters.java @@ -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, () -> { diff --git a/app/src/main/java/com/gh/common/util/DownloadItemUtils.kt b/app/src/main/java/com/gh/common/util/DownloadItemUtils.kt index 07ef630aae..d56fd3465c 100644 --- a/app/src/main/java/com/gh/common/util/DownloadItemUtils.kt +++ b/app/src/main/java/com/gh/common/util/DownloadItemUtils.kt @@ -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 { diff --git a/app/src/main/java/com/gh/download/dialog/DownloadDialogItemViewHolder.kt b/app/src/main/java/com/gh/download/dialog/DownloadDialogItemViewHolder.kt index 6b75fae923..56a458969b 100644 --- a/app/src/main/java/com/gh/download/dialog/DownloadDialogItemViewHolder.kt +++ b/app/src/main/java/com/gh/download/dialog/DownloadDialogItemViewHolder.kt @@ -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() { diff --git a/app/src/main/java/com/gh/download/server/BrowserInstallHelper.kt b/app/src/main/java/com/gh/download/server/BrowserInstallHelper.kt index c5993f66bd..2415efd587 100644 --- a/app/src/main/java/com/gh/download/server/BrowserInstallHelper.kt +++ b/app/src/main/java/com/gh/download/server/BrowserInstallHelper.kt @@ -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 } diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DetailViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DetailViewHolder.java index 7cd9483e1d..4cba7b8c0f 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DetailViewHolder.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DetailViewHolder.java @@ -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, () -> { diff --git a/app/src/main/java/com/gh/gamecenter/home/HomeViewModel.kt b/app/src/main/java/com/gh/gamecenter/home/HomeViewModel.kt index a8d7bb6c63..9080ffe9f6 100644 --- a/app/src/main/java/com/gh/gamecenter/home/HomeViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/home/HomeViewModel.kt @@ -115,6 +115,9 @@ class HomeViewModel(application: Application) : AndroidViewModel(application) { mVGameList?.clear() transformationItemData() } + } else { + mVGameList?.clear() + transformationItemData() } } diff --git a/app/src/main/java/com/gh/vspace/VHelper.kt b/app/src/main/java/com/gh/vspace/VHelper.kt index 9644df5481..0ec094a0ee 100644 --- a/app/src/main/java/com/gh/vspace/VHelper.kt +++ b/app/src/main/java/com/gh/vspace/VHelper.kt @@ -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() for (info in installedList) { - installedPackageList.add(info.packageName) + info.packageName?.let { + installedPackageList.add(info.packageName) + } } Utils.log(LOG_TAG, "已安装包名列表$installedPackageList")