fix:【光环助手V5.11.0】多版本下载面板-求版本优化(0622测试1) https://git.shanqu.cc/pm/halo/halo-app-issues/-/issues/1893
This commit is contained in:
@ -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
|
||||
|
||||
@ -336,7 +336,7 @@ public interface ApiService {
|
||||
/**
|
||||
* 获取投票 游戏求版本列表
|
||||
*/
|
||||
@GET("games/{game_id}/platform_requests")
|
||||
@GET("games/elasticsearch/{game_id}/platform_requests")
|
||||
Observable<List<VersionVoteEntity>> getVersionVote(@Path("game_id") String gameId, @Query("page") int page, @Query("keyword") String keyword);
|
||||
|
||||
/**
|
||||
|
||||
@ -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<VersionVoteEntity>(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) {
|
||||
|
||||
@ -84,6 +84,8 @@ class VoteFragment: ListFragment<VersionVoteEntity, VoteViewModel>() {
|
||||
if (it) {
|
||||
mUploadDialog.updateProgress(360) // 上传完APK就到100%
|
||||
mUploadDialog.dismiss()
|
||||
mAdapter.updateDataWhenUploadSuccess()
|
||||
mApkUrl = ""
|
||||
toast("上传成功,正在加急制作中~")
|
||||
} else {
|
||||
mUploadDialog.uploadFail()
|
||||
|
||||
Reference in New Issue
Block a user