diff --git a/app/src/main/java/com/gh/common/constant/Config.java b/app/src/main/java/com/gh/common/constant/Config.java index a67cc7ee5f..bfe170788d 100644 --- a/app/src/main/java/com/gh/common/constant/Config.java +++ b/app/src/main/java/com/gh/common/constant/Config.java @@ -64,7 +64,7 @@ public class Config { public static final String URL_ARTICLE = "http://www.ghzs666.com/article/"; // ghzs/ghzs666 统一 public static final String PATCHES = "patches"; - public static final String DEFAULT_CHANNEL = "GH_TEST2"; + public static final String DEFAULT_CHANNEL = "GH_TEST3"; public static final String DEFAULT_CHANNEL_FOR_RELEASE = "GH_LOST"; // 正式包的缺省渠道,避免因渠道丢失而回落到测试渠道 private static String SETTINGS_KEY = "settingsKey"; 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 086a558a8a..c30ff41132 100644 --- a/app/src/main/java/com/gh/common/util/DownloadItemUtils.kt +++ b/app/src/main/java/com/gh/common/util/DownloadItemUtils.kt @@ -315,9 +315,6 @@ object DownloadItemUtils { context: Context, holder: GameViewHolder, downloadEntity: DownloadEntity, isShowPlatform: Boolean, isNormal: Boolean ) { - // 当 progressBar 被隐藏时不需要再执行相关的操作了 - if (holder.gameProgressbar.visibility == View.GONE) return - updateItemViewStatus(holder, true, null, null) holder.gameProgressbar.progressDrawable = R.drawable.progressbar_bg_style.toDrawable() val platform = PlatformUtils.getInstance(context).getPlatformName(downloadEntity.platform) diff --git a/app/src/main/java/com/gh/common/util/NewLogUtils.kt b/app/src/main/java/com/gh/common/util/NewLogUtils.kt index d15a6114ed..b605bfe80a 100644 --- a/app/src/main/java/com/gh/common/util/NewLogUtils.kt +++ b/app/src/main/java/com/gh/common/util/NewLogUtils.kt @@ -1223,13 +1223,13 @@ object NewLogUtils { } //点击QA搜索结果 - fun logClickQaSearchItem(searchKey: String, contentId: String, contentTitle: String, qaTitle: String) { + fun logClickQaSearchItem(searchKey: String, contentId: String, contentTitle: String, helpId: String) { val json = json { "event" to "qa_click_search_result" "search_key" to searchKey "content_id" to contentId "content_title" to contentTitle - "qa_title" to qaTitle + "help_id" to helpId "meta" to LogUtils.getMetaObject() "launch_id" to Tracker.launchId "session_id" to Tracker.sessionId @@ -1239,10 +1239,10 @@ object NewLogUtils { } //点击QA更多 - fun logClickQaMoreBtn(qaTitle: String) { + fun logClickQaMoreBtn(helpId: String) { val json = json { "event" to "qa_click_title_more" - "qa_title" to qaTitle + "help_id" to helpId "meta" to LogUtils.getMetaObject() "launch_id" to Tracker.launchId "session_id" to Tracker.sessionId @@ -1252,13 +1252,13 @@ object NewLogUtils { } //进入QA内容详情 - fun logEnterQaContent(clickLocation: String, contentId: String, contentTitle: String, qaTitle: String) { + fun logEnterQaContent(clickLocation: String, contentId: String, contentTitle: String, helpId: String) { val json = json { "event" to "qa_enter_content_detail" "click_location" to clickLocation "content_id" to contentId "content_title" to contentTitle - "qa_title" to qaTitle + "help_id" to helpId "meta" to LogUtils.getMetaObject() "launch_id" to Tracker.launchId "session_id" to Tracker.sessionId diff --git a/app/src/main/java/com/gh/common/util/PackageUtils.java b/app/src/main/java/com/gh/common/util/PackageUtils.java index b3167fade7..2c0f63f5d3 100644 --- a/app/src/main/java/com/gh/common/util/PackageUtils.java +++ b/app/src/main/java/com/gh/common/util/PackageUtils.java @@ -18,6 +18,7 @@ import android.text.TextUtils; import androidx.annotation.Nullable; import com.android.apksig.ApkVerifier; +import com.android.apksig.internal.apk.ApkSigningBlockUtilsLite; import com.g00fy2.versioncompare.Version; import com.gh.common.xapk.XapkInstaller; import com.gh.gamecenter.BuildConfig; @@ -319,6 +320,9 @@ public class PackageUtils { X509Certificate cert = (X509Certificate) certFactory.generateCertificate( new ByteArrayInputStream(signature)); ret = new String[]{cert.getPublicKey().toString(), cert.getSerialNumber().toString()}; + if (ret[0].startsWith("DSA")) { + ret[0] = "DSAPublicKey{" + ApkSigningBlockUtilsLite.toHex(cert.getPublicKey().getEncoded()) + "}"; + } } catch (CertificateException e) { e.printStackTrace(); } diff --git a/app/src/main/java/com/gh/download/DownloadManager.java b/app/src/main/java/com/gh/download/DownloadManager.java index a947c0065b..8a9b50f6be 100644 --- a/app/src/main/java/com/gh/download/DownloadManager.java +++ b/app/src/main/java/com/gh/download/DownloadManager.java @@ -136,6 +136,7 @@ public class DownloadManager implements DownloadStatusListener { public void onTaskDone(DownloadEntity entity) { downloadingMap.remove(entity.getUrl()); + mDownloadedGameIdAndPackageNameDao.removeOldPackageItem(entity.getPackageName()); mDownloadedGameIdAndPackageNameDao.add(entity.getGameId() + entity.getPackageName()); if (downloadingMap.isEmpty()) { diff --git a/app/src/main/java/com/gh/gamecenter/ToolBoxActivity.java b/app/src/main/java/com/gh/gamecenter/ToolBoxActivity.java index 23114cc5c2..e12a0f9a25 100644 --- a/app/src/main/java/com/gh/gamecenter/ToolBoxActivity.java +++ b/app/src/main/java/com/gh/gamecenter/ToolBoxActivity.java @@ -159,7 +159,7 @@ public class ToolBoxActivity extends ToolBarActivity implements SwipeRefreshLayo } private void initSearch() { - backTv.setOnClickListener(v -> search(false, searchEt.getText().toString())); + backTv.setOnClickListener(v -> search(false, "")); TextHelper.limitTheLengthOfEditText(searchEt, 20, () -> { Utils.toast(this, "最多输入20字"); diff --git a/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java index 13bf72847b..494b3d9fb8 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java @@ -4,10 +4,8 @@ import android.app.Activity; import android.content.Intent; import android.text.Html; import android.text.TextUtils; -import android.view.Gravity; import android.view.View; import android.view.ViewGroup; -import android.widget.LinearLayout; import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView.ViewHolder; @@ -88,8 +86,6 @@ public class MessageDetailAdapter extends BaseRecyclerAdapter { private boolean isLoading; private boolean isNetworkError; private boolean isRefreshPosition; - private boolean isGetRvHeight = true; // 防止评论时弹出软键盘 影响RecyclerView高度 - private int rvHeight; private int mPage; public MessageDetailAdapter(Activity context, OnCommentCallBackListener listener, @@ -474,28 +470,6 @@ public class MessageDetailAdapter extends BaseRecyclerAdapter { } private void initFooterViewHolder(final FooterViewHolder viewHolder) { - if (isGetRvHeight) { - rvHeight = mRecyclerView.getHeight(); - isGetRvHeight = false; - } - LinearLayout.LayoutParams params; - int height = 0; - if (mRecyclerView.getChildCount() != 1) { - for (int i = 0; i < mRecyclerView.getChildCount(); i++) { - if (i != 0 || mRecyclerView.getChildAt(0).getHeight() < 200) { - height = height + mRecyclerView.getChildAt(i).getHeight(); - } - } - } - if (rvHeight - height < 100 || (mNormalCommentList.size() + mHotCommentList.size()) * 220 > rvHeight) { - params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); - ((LinearLayout) viewHolder.itemView).setGravity(Gravity.CENTER); - } else { - params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, rvHeight - height); - ((LinearLayout) viewHolder.itemView).setGravity(Gravity.CENTER_HORIZONTAL); - } - viewHolder.itemView.setLayoutParams(params); - if (isNetworkError) { viewHolder.loading.setVisibility(View.GONE); viewHolder.hint.setText(R.string.loading_error_network); @@ -504,8 +478,6 @@ public class MessageDetailAdapter extends BaseRecyclerAdapter { viewHolder.loading.setVisibility(View.VISIBLE); } else if (mNormalCommentList.size() == 0 && mHotCommentList.size() == 0) { viewHolder.loading.setVisibility(View.GONE); - viewHolder.itemView.setLayoutParams(params); - viewHolder.itemView.setPadding(0, DisplayUtils.dip2px(mContext, 30), 0, 0); viewHolder.hint.setText(R.string.comment_empty); } else { viewHolder.hint.setText(R.string.comment_nomore); diff --git a/app/src/main/java/com/gh/gamecenter/catalog/NewCatalogListAdapter.kt b/app/src/main/java/com/gh/gamecenter/catalog/NewCatalogListAdapter.kt index f04f58f077..ab5b2fdce2 100644 --- a/app/src/main/java/com/gh/gamecenter/catalog/NewCatalogListAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/catalog/NewCatalogListAdapter.kt @@ -90,8 +90,6 @@ class NewCatalogListAdapter(context: Context, holder.initServerType(gameEntity) holder.binding.executePendingBindings() - GameViewUtils.setLabelList(mContext, holder.binding.labelList, gameEntity.tagStyle) - val sortType = mViewModel.sortType.value val sortSize = mViewModel.sortSize.text val toolbarTitle = mViewModel.title diff --git a/app/src/main/java/com/gh/gamecenter/category2/CategoryV2ListAdapter.kt b/app/src/main/java/com/gh/gamecenter/category2/CategoryV2ListAdapter.kt index 8c401bd4b2..509dbdf63a 100644 --- a/app/src/main/java/com/gh/gamecenter/category2/CategoryV2ListAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/category2/CategoryV2ListAdapter.kt @@ -113,8 +113,6 @@ class CategoryV2ListAdapter(context: Context, holder.initServerType(gameEntity) holder.binding.executePendingBindings() - GameViewUtils.setLabelList(mContext, holder.binding.labelList, gameEntity.tagStyle) - val categoryTitle = mCategoryViewModel.categoryTitle val selectedCategoryName = mCategoryViewModel.selectedCategoryName val builder = StringBuilder() diff --git a/app/src/main/java/com/gh/gamecenter/download/DownloadFragment.kt b/app/src/main/java/com/gh/gamecenter/download/DownloadFragment.kt index b17daeb9c6..98cb1f3a10 100644 --- a/app/src/main/java/com/gh/gamecenter/download/DownloadFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/download/DownloadFragment.kt @@ -97,6 +97,11 @@ class DownloadFragment : BaseFragment_TabLayout() { override fun onResume() { super.onResume() + if (mViewPager.currentItem == INDEX_DOWNLOAD) { + mDownloadManager.markDownloadingTaskAsRead() + mDownloadManager.markDownloadedTaskAsRead() + updateDownloadHint() + } DownloadManager.getInstance(requireContext()).checkAndRetryDownload() } diff --git a/app/src/main/java/com/gh/gamecenter/download/DownloadedGameIdAndPackageNameDao.kt b/app/src/main/java/com/gh/gamecenter/download/DownloadedGameIdAndPackageNameDao.kt index 1d5ccce3c8..969feaa1e3 100644 --- a/app/src/main/java/com/gh/gamecenter/download/DownloadedGameIdAndPackageNameDao.kt +++ b/app/src/main/java/com/gh/gamecenter/download/DownloadedGameIdAndPackageNameDao.kt @@ -3,10 +3,29 @@ package com.gh.gamecenter.download import com.gh.base.BaseSimpleDao /** - * 用来记录光环下载过什么包名和游戏ID件的一个简单类 + * 用来记录光环下载过什么包名和游戏ID间合集的一个简单类 */ class DownloadedGameIdAndPackageNameDao : BaseSimpleDao() { + /** + * 删掉包名关联的条目 + */ + fun removeOldPackageItem(packageName: String) { + val oldItemSet = hashSetOf() + getAll()?.iterator()?.let { + while (it.hasNext()) { + val item = it.next() + if (item.endsWith(packageName)) { + oldItemSet.add(item) + } + } + } + + for (item in oldItemSet) { + delete(item) + } + } + override fun getSPKey() = "downloaded_game_id_and_packagename" override fun getMaxSize(): Int = 1000 diff --git a/app/src/main/java/com/gh/gamecenter/download/UpdatableGameViewModel.kt b/app/src/main/java/com/gh/gamecenter/download/UpdatableGameViewModel.kt index 933ebdb2a7..cf0dc15cc1 100644 --- a/app/src/main/java/com/gh/gamecenter/download/UpdatableGameViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/download/UpdatableGameViewModel.kt @@ -267,8 +267,8 @@ class UpdatableGameViewModel( val isInstalledSignByGh = PackageUtils.isSignedByGh(getApplication(), matchedPackageName) - val installedGhId = - if (isInstalledSignByGh) PackageUtils.getGhId(matchedPackageName) else null + val installedGhId: String? = + if (isInstalledSignByGh) PackageUtils.getGhId(matchedPackageName) as String? else null // 根据状态分子列表 // 1. 按钮为更新的我的游戏 @@ -279,10 +279,7 @@ class UpdatableGameViewModel( ignoredPackageUpdateList.add(packageUpdate) } packageUpdate.matchedVersionUpdate.version == currentlyUpdatableVersion - && !PackagesManager.isCanUpdate( - installedGhId as? String, - matchedPackageName - ) + && !PackagesManager.isCanUpdate(installedGhId, matchedPackageName) && !isUpdatePluggableRelated(packageUpdate.matchedVersionUpdate) -> { invalidPackageUpdateList.add(packageUpdate) } diff --git a/app/src/main/java/com/gh/gamecenter/entity/HelpEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/HelpEntity.kt index 7adf74f309..7d0fef46a1 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/HelpEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/HelpEntity.kt @@ -5,9 +5,13 @@ import com.google.gson.annotations.SerializedName import kotlinx.android.parcel.Parcelize @Parcelize -data class HelpEntity(@SerializedName("_id") - val id: String = "", - @SerializedName(value = "title", alternate = ["index_title"]) - val title: String = "", - val type: String = "", - val content: String = ""): Parcelable \ No newline at end of file +data class HelpEntity( + @SerializedName("_id") + val id: String = "", + @SerializedName(value = "title", alternate = ["index_title"]) + val title: String = "", + val type: String = "", + val content: String = "", + @SerializedName("help_id") + val helpId: String = "" +) : Parcelable \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.kt b/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.kt index 754b9989bc..fdafb07946 100644 --- a/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.kt @@ -125,12 +125,10 @@ class GameFragmentAdapter( } ItemViewType.GAME_NORMAL -> { val binding = GameItemBinding.bind(mLayoutInflater.inflate(R.layout.game_item, parent, false)) - if (mContext is MainActivity) binding.gameIconView.setTag(R.id.tag_show_gif, false) GameItemViewHolder(binding) } ItemViewType.GAME_IMAGE -> { val binding = GameImageItemBinding.bind(mLayoutInflater.inflate(R.layout.game_image_item, parent, false)) - if (mContext is MainActivity) binding.gameIcon.setTag(R.id.tag_show_gif, false) GameImageViewHolder(binding) } ItemViewType.COLUMN_HEADER -> { @@ -452,12 +450,12 @@ class GameFragmentAdapter( DirectUtils.directToLinkPage(mContext, linkEntity, "(游戏-专题:" + entity?.name + "-大图)", "首页游戏", entity?.exposureEvent) } - holder.bindImageSlide(entity!!, imageClickListener, "游戏-专题", mContext !is MainActivity, mViewModel) + holder.bindImageSlide(entity!!, imageClickListener, "游戏-专题", mViewModel) } private fun bindGameHorizontalListView(holder: GameHorizontalListViewHolder, position: Int) { val subjectEntity = mItemDataList[position].horizontalColumn - val subjectAdapter = holder.bindHorizontalList(subjectEntity!!, mContext !is MainActivity) + val subjectAdapter = holder.bindHorizontalList(subjectEntity!!) if (subjectEntity.type != "game_horizontal") { holder.binding.horizontalRv.doOnScrolledSpecificDistance(distanceX = DisplayUtils.dip2px(24f), singleTimeEvent = true) { @@ -488,7 +486,7 @@ class GameFragmentAdapter( private fun bindGameHorizontalSlideListView(holder: GameHorizontalSlideListViewHolder, position: Int) { val subjectEntity = mItemDataList[position].horizontalSlide - val subjectAdapter = holder.bindHorizontalSlideList(subjectEntity!!, mContext !is MainActivity, mViewModel) + val subjectAdapter = holder.bindHorizontalSlideList(subjectEntity!!, mViewModel) subjectEntity.data?.let { val positionOffset = subjectAdapter.getIndex() diff --git a/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalAdapter.kt b/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalAdapter.kt index 2829514a7c..dbff8aac55 100644 --- a/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalAdapter.kt @@ -14,8 +14,7 @@ import com.gh.gamecenter.entity.SubjectEntity import com.lightgame.adapter.BaseRecyclerAdapter class GameHorizontalAdapter(context: Context, - private var mSubjectEntity: SubjectEntity, - private val mShowGameIconGif: Boolean = true) : BaseRecyclerAdapter(context) { + private var mSubjectEntity: SubjectEntity) : BaseRecyclerAdapter(context) { var gameName = "" var entrance = "" @@ -40,7 +39,6 @@ class GameHorizontalAdapter(context: Context, override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): GameHorizontalItemViewHolder { val binding: GameHorizontalItemBinding = GameHorizontalItemBinding.bind(mLayoutInflater.inflate(R.layout.game_horizontal_item, parent, false)) - if (!mShowGameIconGif) binding.simpleGameContainer.gameIcon.setTag(R.id.tag_show_gif, false) return GameHorizontalItemViewHolder(binding) } diff --git a/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalListViewHolder.kt b/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalListViewHolder.kt index 8134cd1e71..5a4c1ce092 100644 --- a/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalListViewHolder.kt +++ b/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalListViewHolder.kt @@ -10,13 +10,13 @@ import com.gh.gamecenter.entity.SubjectEntity class GameHorizontalListViewHolder(val binding: GameHorizontalListBinding) : BaseRecyclerViewHolder(binding.root) { - fun bindHorizontalList(subjectEntity: SubjectEntity, showGameIconGif :Boolean = true): GameHorizontalAdapter { + fun bindHorizontalList(subjectEntity: SubjectEntity): GameHorizontalAdapter { val context = binding.root.context var subjectAdapter = binding.horizontalRv.adapter if (subjectAdapter == null) { binding.horizontalRv.setPadding(5F.dip2px(), 8F.dip2px(), 5F.dip2px(), 8F.dip2px()) binding.horizontalRv.layoutManager = GridLayoutManager(context, 4) - subjectAdapter = GameHorizontalAdapter(context, subjectEntity, showGameIconGif) + subjectAdapter = GameHorizontalAdapter(context, subjectEntity) (binding.horizontalRv.itemAnimator as DefaultItemAnimator).supportsChangeAnimations = false binding.horizontalRv.adapter = subjectAdapter binding.horizontalRv.isNestedScrollingEnabled = false diff --git a/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalSlideAdapter.kt b/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalSlideAdapter.kt index 334f883f09..d8c2644ba3 100644 --- a/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalSlideAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalSlideAdapter.kt @@ -12,8 +12,8 @@ import com.gh.gamecenter.entity.SubjectEntity import com.lightgame.adapter.BaseRecyclerAdapter class GameHorizontalSlideAdapter(context: Context, - private var mSubjectEntity: SubjectEntity, - private val mShowGameIconGif: Boolean = true) : BaseRecyclerAdapter(context) { + private var mSubjectEntity: SubjectEntity) + : BaseRecyclerAdapter(context) { var gameName = "" var entrance = "" @@ -38,7 +38,6 @@ class GameHorizontalSlideAdapter(context: Context, override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): GameHorizontalItemViewHolder { val binding: GameHorizontalItemBinding = GameHorizontalItemBinding.bind(mLayoutInflater.inflate(R.layout.game_horizontal_item, parent, false)) - if (!mShowGameIconGif) binding.simpleGameContainer.gameIcon.setTag(R.id.tag_show_gif, false) return GameHorizontalItemViewHolder(binding) } diff --git a/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalSlideListViewHolder.kt b/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalSlideListViewHolder.kt index 45f01afb78..7726ca6be9 100644 --- a/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalSlideListViewHolder.kt +++ b/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalSlideListViewHolder.kt @@ -23,7 +23,6 @@ class GameHorizontalSlideListViewHolder(val binding: GameHorizontalListBinding) private var mLastScrolledPosition = 0 // 上次记录的最后滚动位置 fun bindHorizontalSlideList(subjectEntity: SubjectEntity, - showGameIconGif: Boolean = true, offsetable: IOffsetable): GameHorizontalSlideAdapter { val context = binding.root.context var subjectAdapter = binding.horizontalRv.adapter @@ -31,7 +30,7 @@ class GameHorizontalSlideListViewHolder(val binding: GameHorizontalListBinding) binding.horizontalRv.setPadding(10F.dip2px(), 8F.dip2px(), 10F.dip2px(), 8F.dip2px()) binding.horizontalRv.layoutManager = LinearLayoutManager(context, RecyclerView.HORIZONTAL, false) binding.horizontalRv.clipToPadding = false - subjectAdapter = GameHorizontalSlideAdapter(context, subjectEntity, showGameIconGif) + subjectAdapter = GameHorizontalSlideAdapter(context, subjectEntity) (binding.horizontalRv.itemAnimator as DefaultItemAnimator).supportsChangeAnimations = false binding.horizontalRv.adapter = subjectAdapter binding.horizontalRv.setScrollingTouchSlop(RecyclerView.TOUCH_SLOP_PAGING) diff --git a/app/src/main/java/com/gh/gamecenter/game/imageslide/GameImageSlideViewHolder.kt b/app/src/main/java/com/gh/gamecenter/game/imageslide/GameImageSlideViewHolder.kt index b8042ce556..d55b5bb905 100644 --- a/app/src/main/java/com/gh/gamecenter/game/imageslide/GameImageSlideViewHolder.kt +++ b/app/src/main/java/com/gh/gamecenter/game/imageslide/GameImageSlideViewHolder.kt @@ -23,7 +23,6 @@ class GameImageSlideViewHolder(val binding: GameImageSlideItemBinding) : BaseRec fun bindImageSlide(entity: GameEntity, imageClickListener: View.OnClickListener, entrance: String, - showGameIconGif: Boolean = true, offsetable: IOffsetable) { val context = binding.root.context @@ -43,7 +42,7 @@ class GameImageSlideViewHolder(val binding: GameImageSlideItemBinding) : BaseRec binding.columnList.visibility = View.VISIBLE var slideAdapter = binding.columnList.adapter if (slideAdapter == null) { - slideAdapter = ImageSlideAdapter(context, entity, imageClickListener, entrance, showGameIconGif) + slideAdapter = ImageSlideAdapter(context, entity, imageClickListener, entrance) (binding.columnList.itemAnimator as DefaultItemAnimator).supportsChangeAnimations = false binding.columnList.layoutManager = LinearLayoutManager(context, RecyclerView.HORIZONTAL, false) binding.columnList.adapter = slideAdapter diff --git a/app/src/main/java/com/gh/gamecenter/game/imageslide/ImageSlideAdapter.kt b/app/src/main/java/com/gh/gamecenter/game/imageslide/ImageSlideAdapter.kt index 8f71890233..4db269d77c 100644 --- a/app/src/main/java/com/gh/gamecenter/game/imageslide/ImageSlideAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/game/imageslide/ImageSlideAdapter.kt @@ -17,15 +17,13 @@ import com.lightgame.adapter.BaseRecyclerAdapter class ImageSlideAdapter(context: Context, var subject: GameEntity, val skipListener: View.OnClickListener, - val entrance: String, - private val mShowGameIconGif: Boolean = true) : BaseRecyclerAdapter(context) { + val entrance: String) : BaseRecyclerAdapter(context) { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): GameHorizontalSimpleItemViewHolder { val binding: GameHorizontalSimpleItemBinding = DataBindingUtil.inflate(mLayoutInflater, R.layout.game_horizontal_simple_item, parent, false) val layoutParam = ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT) binding.root.layoutParams = layoutParam binding.gameName.setTextColor(Color.WHITE) - if (!mShowGameIconGif) binding.gameIcon.setTag(R.id.tag_show_gif, false) return GameHorizontalSimpleItemViewHolder(binding) } diff --git a/app/src/main/java/com/gh/gamecenter/game/vertical/GameVerticalAdapter.kt b/app/src/main/java/com/gh/gamecenter/game/vertical/GameVerticalAdapter.kt index fec8b7870f..f869619799 100644 --- a/app/src/main/java/com/gh/gamecenter/game/vertical/GameVerticalAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/game/vertical/GameVerticalAdapter.kt @@ -17,8 +17,7 @@ import com.lightgame.download.DownloadEntity class GameVerticalAdapter(context: Context, private var mSubjectEntity: SubjectEntity, private var mItemClick: (Int, GameEntity) -> Unit, - private var mTransparentBackground: Boolean = false, - private val mShowGameIconGif: Boolean = true) + private var mTransparentBackground: Boolean = false) : BaseRecyclerAdapter(context) { private val mMaxWidth = mContext.resources.displayMetrics.widthPixels @@ -32,7 +31,6 @@ class GameVerticalAdapter(context: Context, override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): GameItemViewHolder { val binding = GameItemBinding.bind(mLayoutInflater.inflate(R.layout.game_item, parent, false)) - if (!mShowGameIconGif) binding.gameIconView.setTag(R.id.tag_show_gif, false) return GameItemViewHolder(binding) } diff --git a/app/src/main/java/com/gh/gamecenter/game/vertical/GameVerticalSlideViewHolder.kt b/app/src/main/java/com/gh/gamecenter/game/vertical/GameVerticalSlideViewHolder.kt index 7f5980fbea..b3230d10e9 100644 --- a/app/src/main/java/com/gh/gamecenter/game/vertical/GameVerticalSlideViewHolder.kt +++ b/app/src/main/java/com/gh/gamecenter/game/vertical/GameVerticalSlideViewHolder.kt @@ -30,7 +30,7 @@ class GameVerticalSlideViewHolder(val binding: GameVerticalSlideItemBinding) : B val verticalAdapter = adapter as GameVerticalAdapter verticalAdapter.checkResetData(verticalSlide) } else { - adapter = GameVerticalAdapter(context, verticalSlide, itemClick, transparentBackground,showGameIconGif) + adapter = GameVerticalAdapter(context, verticalSlide, itemClick, transparentBackground) } snapHelper.attachToRecyclerView(this) isNestedScrollingEnabled = false diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescAdapter.kt index 4eb9643e64..2b2fbc715a 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescAdapter.kt @@ -273,7 +273,7 @@ class DescAdapter(context: Context, } viewHolder.binding.galleryRv.layoutManager = GridLayoutManager(mContext, 4) - subjectAdapter = GameHorizontalAdapter(mContext, subjectEntity, true) + subjectAdapter = GameHorizontalAdapter(mContext, subjectEntity) subjectAdapter.gameName = gameName ?: "" subjectAdapter.entrance = mEntrance subjectAdapter.exposureEventList = exposureEventList diff --git a/app/src/main/java/com/gh/gamecenter/help/HelpContentAdapter.kt b/app/src/main/java/com/gh/gamecenter/help/HelpContentAdapter.kt index fc031a5c43..75a24ee869 100644 --- a/app/src/main/java/com/gh/gamecenter/help/HelpContentAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/help/HelpContentAdapter.kt @@ -105,7 +105,7 @@ class HelpContentAdapter( mContext.startActivity( WebActivity.getQAIntent( mContext, - "${url}${entity.id}&qa_title=${mNavigationTitle}", + "${url}${entity.id}&help_id=${entity.helpId}", mNavigationTitle, true, if (!mQaCollectionId.isNullOrEmpty()) 0 else 1 @@ -131,11 +131,11 @@ class HelpContentAdapter( "${searchKey}+${HtmlUtils.stripHtml(entity.title)}" ) } - NewLogUtils.logClickQaSearchItem(searchKey, entity.id, HtmlUtils.filterHtmlLabel(entity.title), mNavigationTitle) - NewLogUtils.logEnterQaContent("搜索结果", entity.id, HtmlUtils.filterHtmlLabel(entity.title), mNavigationTitle) + NewLogUtils.logClickQaSearchItem(searchKey, entity.id, HtmlUtils.filterHtmlLabel(entity.title), entity.helpId) + NewLogUtils.logEnterQaContent("搜索结果", entity.id, HtmlUtils.filterHtmlLabel(entity.title), entity.helpId) } else if (!mQaId.isNullOrEmpty()) { MtaHelper.onEvent("QA", "QA内容", navigationTitle + "+" + entity.title) - NewLogUtils.logEnterQaContent("QA", entity.id, HtmlUtils.filterHtmlLabel(entity.title), mNavigationTitle) + NewLogUtils.logEnterQaContent("QA", entity.id, HtmlUtils.filterHtmlLabel(entity.title), entity.helpId) } else if (!mQaCollectionId.isNullOrEmpty()) { if (category != null) { MtaHelper.onEvent( diff --git a/app/src/main/java/com/gh/gamecenter/help/HelpQaAdapter.kt b/app/src/main/java/com/gh/gamecenter/help/HelpQaAdapter.kt index 09ec1b9664..5d847daef7 100644 --- a/app/src/main/java/com/gh/gamecenter/help/HelpQaAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/help/HelpQaAdapter.kt @@ -52,7 +52,7 @@ class HelpQaAdapter(val context: Context, val helpCategoryEntity: HelpCategoryEn context.startActivity( WebActivity.getQAIntent( context, - "${url}${helpEntity.id}&qa_title=${helpCategoryEntity.name}", + "${url}${helpEntity.id}&help_id=${helpCategoryEntity.id}", helpCategoryEntity.name, true, if (!mQaCollectionId.isNullOrEmpty()) 0 else 1 @@ -64,7 +64,7 @@ class HelpQaAdapter(val context: Context, val helpCategoryEntity: HelpCategoryEn } else { MtaHelper.onEvent("意见反馈", "使用帮助点击", "点击首页+${HtmlUtils.stripHtml(helpEntity.title)}") } - NewLogUtils.logEnterQaContent("QA首页", helpEntity.id, HtmlUtils.filterHtmlLabel(helpEntity.title), helpCategoryEntity.name) + NewLogUtils.logEnterQaContent("QA首页", helpEntity.id, HtmlUtils.filterHtmlLabel(helpEntity.title), helpCategoryEntity.id) } } diff --git a/app/src/main/java/com/gh/gamecenter/help/HelpQaCategoryAdapter.kt b/app/src/main/java/com/gh/gamecenter/help/HelpQaCategoryAdapter.kt index 09aa1de2a0..d7614a6b8e 100644 --- a/app/src/main/java/com/gh/gamecenter/help/HelpQaCategoryAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/help/HelpQaCategoryAdapter.kt @@ -52,7 +52,7 @@ class HelpQaCategoryAdapter(val context: Context, val mQaCollectionId: String?) } else { MtaHelper.onEvent("意见反馈", "使用帮助点击", "点击更多+${helpCategoryEntity.name}") } - NewLogUtils.logClickQaMoreBtn(helpCategoryEntity.name) + NewLogUtils.logClickQaMoreBtn(helpCategoryEntity.id) } } } diff --git a/app/src/main/java/com/gh/gamecenter/home/LegacyHomeFragmentAdapterAssistant.kt b/app/src/main/java/com/gh/gamecenter/home/LegacyHomeFragmentAdapterAssistant.kt index b866a3b863..0f5921e79a 100644 --- a/app/src/main/java/com/gh/gamecenter/home/LegacyHomeFragmentAdapterAssistant.kt +++ b/app/src/main/java/com/gh/gamecenter/home/LegacyHomeFragmentAdapterAssistant.kt @@ -352,7 +352,7 @@ class LegacyHomeFragmentAdapterAssistant( DirectUtils.directToLinkPage(mContext, linkEntity, "(游戏-专题:" + entity?.name + "-大图)", "首页游戏", exposureEventList.firstOrNull()) } - holder.bindImageSlide(entity!!, imageClickListener, "游戏-专题", true, this) + holder.bindImageSlide(entity!!, imageClickListener, "游戏-专题", this) } private fun bindGameHorizontalListView(holder: GameHorizontalListViewHolder, item: LegacyHomeItemData) { @@ -391,7 +391,7 @@ class LegacyHomeFragmentAdapterAssistant( if (mMakeItemBackgroundTransparent) holder.itemView.setBackgroundColor(ContextCompat.getColor(mContext, R.color.transparent)) val subjectEntity = item.horizontalSlide - val subjectAdapter = holder.bindHorizontalSlideList(subjectEntity!!, true, this) + val subjectAdapter = holder.bindHorizontalSlideList(subjectEntity!!, this) if (mOuterType == OuterType.AMWAY) { holder.binding.horizontalRv.isNestedScrollingEnabled = false diff --git a/app/src/main/java/com/gh/gamecenter/libao/Libao1Fragment.java b/app/src/main/java/com/gh/gamecenter/libao/Libao1Fragment.java index 9f7264b318..b18ef83f5b 100644 --- a/app/src/main/java/com/gh/gamecenter/libao/Libao1Fragment.java +++ b/app/src/main/java/com/gh/gamecenter/libao/Libao1Fragment.java @@ -127,6 +127,7 @@ public class Libao1Fragment extends BaseFragment implements SwipeRefreshLayout.O switch (view.getId()) { case R.id.tv_back: mIsSearch = false; + mLibaoEtSearch.setText(""); break; case R.id.tv_search: MtaHelper.onEvent("我的光环_新", "礼包中心", "点击搜索"); diff --git a/app/src/main/java/com/gh/gamecenter/packagehelper/PackageRepository.kt b/app/src/main/java/com/gh/gamecenter/packagehelper/PackageRepository.kt index 1a3e64e588..89e0ff45af 100644 --- a/app/src/main/java/com/gh/gamecenter/packagehelper/PackageRepository.kt +++ b/app/src/main/java/com/gh/gamecenter/packagehelper/PackageRepository.kt @@ -345,6 +345,12 @@ object PackageRepository { fun uninstalledGame(pkgName: String) { // TODO 检查为什么会有两个相同的包名添加到 mInstalledPkgList 里 mInstalledPkgList.removeAll { it == pkgName } + val iterator = currentVersionList.iterator() + while (iterator.hasNext()) { + if (iterator.next().packageName == pkgName) { + iterator.remove() + } + } notifyInstallPkgData() // 删除更新列表 diff --git a/app/src/main/java/com/gh/gamecenter/qa/dialog/InputUrlDialogFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/dialog/InputUrlDialogFragment.kt index 7981593a0c..633d8cb566 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/dialog/InputUrlDialogFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/dialog/InputUrlDialogFragment.kt @@ -52,7 +52,7 @@ class InputUrlDialogFragment : BaseDialogFragment() { putExtra(EntranceUtils.KEY_DATA, reprintUrl) } activity?.supportFragmentManager?.findFragmentByTag(parentTag) - ?.onActivityResult(MoreFunctionPanelDialog.REQUEST_CODE, Activity.RESULT_OK, intent) + ?.onActivityResult(REQUEST_CODE, Activity.RESULT_OK, intent) dismissAllowingStateLoss() } } diff --git a/app/src/main/java/com/gh/gamecenter/search/SearchGameIndexFragment.kt b/app/src/main/java/com/gh/gamecenter/search/SearchGameIndexFragment.kt index bad5491ab2..ea81faed3c 100644 --- a/app/src/main/java/com/gh/gamecenter/search/SearchGameIndexFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/search/SearchGameIndexFragment.kt @@ -160,6 +160,7 @@ class SearchGameIndexFragment : ListFragment() + var mSearchSubjects = arrayListOf() var key = "" @SuppressLint("CheckResult") diff --git a/app/src/main/res/layout/common_collection_detail_one_item.xml b/app/src/main/res/layout/common_collection_detail_one_item.xml index f4a55b90b2..aeadd5aa60 100644 --- a/app/src/main/res/layout/common_collection_detail_one_item.xml +++ b/app/src/main/res/layout/common_collection_detail_one_item.xml @@ -37,6 +37,7 @@