光环助手V4.0.2-开服日历表优化(2(1),2(2))https://gitlab.ghzs.com/pm/halo-app-issues/-/issues/893
This commit is contained in:
@ -7,5 +7,7 @@ class CalendarEntity {
|
||||
|
||||
var day: Int = 0
|
||||
|
||||
var month: Int = 0
|
||||
|
||||
var server: MutableList<ServerCalendarEntity> = ArrayList()
|
||||
}
|
||||
|
||||
@ -255,7 +255,7 @@ class ServersCalendarActivity : ToolBarActivity() {
|
||||
feedback.setOnClickListener {
|
||||
if (mViewModel.meEntity?.isPartTime == true) {
|
||||
startActivityForResult(AddKaiFuActivity.getIntent(this,
|
||||
mViewModel.serverCalendarLiveData.value!!.last(),
|
||||
calendarEntity.server.last(),
|
||||
mViewModel.serverCalendarLiveData.value as ArrayList<ServerCalendarEntity>,
|
||||
mViewModel.game.id), GAME_DETAIL_ADD_KAIFU_REQUEST)
|
||||
} else {
|
||||
|
||||
@ -9,18 +9,18 @@ import android.view.ViewGroup
|
||||
import android.widget.TextView
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.gh.common.util.MtaHelper
|
||||
import com.gh.common.util.dip2px
|
||||
import com.gh.common.util.toColor
|
||||
import com.gh.common.util.*
|
||||
import com.gh.common.view.DrawableView
|
||||
import com.gh.gamecenter.R
|
||||
import com.gh.gamecenter.adapter.viewholder.GameDetailCalenderViewHolder
|
||||
import com.gh.gamecenter.entity.CalendarEntity
|
||||
import com.gh.gamecenter.entity.ServerCalendarEntity
|
||||
import com.gh.gamecenter.gamedetail.fuli.FuLiFragment
|
||||
import com.gh.gamecenter.servers.add.AddKaiFuActivity.Companion.getIntent
|
||||
import com.lightgame.adapter.BaseRecyclerAdapter
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
import kotlin.collections.HashMap
|
||||
import kotlin.math.abs
|
||||
|
||||
class ServersCalendarAdapter(context: Context,
|
||||
val viewModel: ServersCalendarViewModel,
|
||||
@ -101,7 +101,7 @@ class ServersCalendarAdapter(context: Context,
|
||||
if (meEntity?.isPartTime == true) {
|
||||
(mContext as Activity).startActivityForResult(
|
||||
getIntent(mContext,
|
||||
viewModel.serverCalendarLiveData.value!!.last(),
|
||||
getRecentServerByPosition(day),
|
||||
viewModel.serverCalendarLiveData.value as ArrayList<ServerCalendarEntity>,
|
||||
mGameEntity.id),
|
||||
ServersCalendarActivity.GAME_DETAIL_ADD_KAIFU_REQUEST)
|
||||
@ -119,6 +119,27 @@ class ServersCalendarAdapter(context: Context,
|
||||
}
|
||||
}
|
||||
|
||||
// 获取当前位置(时间)最近的开服信息
|
||||
private fun getRecentServerByPosition(day: Int): ServerCalendarEntity {
|
||||
tryCatchInRelease {
|
||||
val formatDay = SimpleDateFormat("dd", Locale.CHINA)
|
||||
val offsetAndServerMap = HashMap<Int, ServerCalendarEntity>()
|
||||
|
||||
for (calendarEntity in calendarList) {
|
||||
val servers = calendarEntity.server
|
||||
if (servers.isNotEmpty()) {
|
||||
val server = servers.last()
|
||||
offsetAndServerMap[abs(formatDay.format(server.getTime() * 1000).toInt() - day)] = server
|
||||
}
|
||||
}
|
||||
|
||||
val toList = offsetAndServerMap.keys.toMutableList()
|
||||
toList.sortWith(Comparator { o1, o2 -> o1 - o2 })
|
||||
return offsetAndServerMap[toList.first()]!!
|
||||
}
|
||||
return viewModel.serverCalendarLiveData.value!!.last()
|
||||
}
|
||||
|
||||
private class WeekViewHolder(val week: TextView) : RecyclerView.ViewHolder(week)
|
||||
|
||||
companion object {
|
||||
|
||||
@ -51,7 +51,7 @@ class AddKaiFuActivity : ToolBarActivity() {
|
||||
// initViewModel
|
||||
mViewModel = ViewModelProviders.of(this).get(AddKaiFuViewModel::class.java)
|
||||
mViewModel?.initData(intent.getParcelableExtra(ServerCalendarEntity.TAG)
|
||||
, intent.getParcelableArrayListExtra<ServerCalendarEntity>(EntranceUtils.KEY_KAIFU_LIST)
|
||||
, intent.getParcelableArrayListExtra(EntranceUtils.KEY_KAIFU_LIST)
|
||||
, intent.getStringExtra(EntranceUtils.KEY_GAMEID))
|
||||
mViewModel?.postResult?.observe(this, androidx.lifecycle.Observer { it ->
|
||||
if (it == null) {
|
||||
|
||||
Reference in New Issue
Block a user