From ea0633e9033318f20ddc2112d1266bc0216e24cb Mon Sep 17 00:00:00 2001 From: leafwai Date: Thu, 23 Jun 2022 17:46:34 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E3=80=90=E5=85=89=E7=8E=AF=E5=8A=A9?= =?UTF-8?q?=E6=89=8BV5.11.0=E3=80=91=E5=A4=9A=E7=89=88=E6=9C=AC=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E9=9D=A2=E6=9D=BF-=E6=B1=82=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E4=BC=98=E5=8C=96(0622=E6=B5=8B=E8=AF=951)=20https://git.shanq?= =?UTF-8?q?u.cc/pm/halo/halo-app-issues/-/issues/1893?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/gh/gamecenter/entity/MeEntity.kt | 3 +++ .../retrofit/service/ApiService.java | 2 +- .../com/gh/gamecenter/vote/VoteAdapter.kt | 26 ++++++++++++++++--- .../com/gh/gamecenter/vote/VoteFragment.kt | 2 ++ 4 files changed, 29 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/gh/gamecenter/entity/MeEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/MeEntity.kt index 85b459cedf..6f3364fca1 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/MeEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/MeEntity.kt @@ -118,6 +118,9 @@ class MeEntity(@SerializedName("is_community_voted") @SerializedName("is_follow_bbs") var isFollowForum: Boolean = false, + + @SerializedName("request_version_apk_uploaded") + var requestsVersionApkUploaded: Boolean = false, ) : Parcelable @Parcelize diff --git a/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java b/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java index ad25478be3..3700febd0d 100644 --- a/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java +++ b/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java @@ -336,7 +336,7 @@ public interface ApiService { /** * 获取投票 游戏求版本列表 */ - @GET("games/{game_id}/platform_requests") + @GET("games/elasticsearch/{game_id}/platform_requests") Observable> getVersionVote(@Path("game_id") String gameId, @Query("page") int page, @Query("keyword") String keyword); /** diff --git a/app/src/main/java/com/gh/gamecenter/vote/VoteAdapter.kt b/app/src/main/java/com/gh/gamecenter/vote/VoteAdapter.kt index 8e5c0efa9e..46c474409d 100644 --- a/app/src/main/java/com/gh/gamecenter/vote/VoteAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/vote/VoteAdapter.kt @@ -32,12 +32,14 @@ import com.gh.gamecenter.entity.MeEntity import com.gh.gamecenter.entity.VersionVoteEntity import com.gh.gamecenter.game.upload.GameUploadFragment import com.gh.gamecenter.suggest.SuggestSelectGameAdapter +import com.lightgame.utils.Utils import splitties.collections.forEachWithIndex class VoteAdapter(context: Context, private val fragment: VoteFragment, private val addVoteCallback: () -> Unit, private val voteCallback: (id: String?) -> Unit) : ListAdapter(context) { var mSelectGameDialog: Dialog? = null + var mUploadPosition = -1 //进度条原始最大宽度 private var mPbWidth = (DisplayUtils.getScreenWidth() - 144F.dip2px()).toFloat() @@ -87,7 +89,7 @@ class VoteAdapter(context: Context, private val fragment: VoteFragment, private val curSize = versionVoteEntity.num.toFloat() var width = curSize / maxSize * mPbWidth if (width < 1) width = 1F - layoutParams.width = width.toInt() + layoutParams.width = if (width > mPbWidth) mPbWidth.toInt() else width.toInt() } else { layoutParams.width = mPbWidth.toInt() } @@ -105,8 +107,16 @@ class VoteAdapter(context: Context, private val fragment: VoteFragment, private R.color.theme_font, false ) { - mContext.ifLogin("下载游戏-求版本-[去上传]") { - versionVoteEntity.id?.let { showSelectDialog(it) } + val isUserUploaded = versionVoteEntity.me?.requestsVersionApkUploaded ?: false + if (isUserUploaded) { + Utils.toast(mContext, "您已上传安装包,正在加急制作中~") + } else { + mContext.ifLogin("下载游戏-求版本-[去上传]") { + versionVoteEntity.id?.let { + mUploadPosition = position + showSelectDialog(it) + } + } } }.build() holder.binding.voteItemReply.movementMethod = CustomLinkMovementMethod.getInstance() @@ -201,6 +211,16 @@ class VoteAdapter(context: Context, private val fragment: VoteFragment, private return mEntityList } + fun updateDataWhenUploadSuccess() { + if (mUploadPosition != -1) { + if (mEntityList[mUploadPosition].me == null) { + mEntityList[mUploadPosition].me = MeEntity(requestsVersionApkUploaded = true) + } else { + mEntityList[mUploadPosition].me?.requestsVersionApkUploaded = true + } + } + } + fun updateHighLightView(versionVoteEntity: VersionVoteEntity, position: Int) { mEntityList.forEachWithIndex { index, entity -> if (entity.isHighLight) { diff --git a/app/src/main/java/com/gh/gamecenter/vote/VoteFragment.kt b/app/src/main/java/com/gh/gamecenter/vote/VoteFragment.kt index d648ae8d1c..7a52bd47e1 100644 --- a/app/src/main/java/com/gh/gamecenter/vote/VoteFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/vote/VoteFragment.kt @@ -84,6 +84,8 @@ class VoteFragment: ListFragment() { if (it) { mUploadDialog.updateProgress(360) // 上传完APK就到100% mUploadDialog.dismiss() + mAdapter.updateDataWhenUploadSuccess() + mApkUrl = "" toast("上传成功,正在加急制作中~") } else { mUploadDialog.uploadFail()