优化到期时间刷新功能

This commit is contained in:
cyh 2025-04-25 17:43:22 +08:00
parent c6f35f6223
commit 65f17fba52
1 changed files with 70 additions and 59 deletions

View File

@ -198,10 +198,11 @@ class HomeFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispatcher
noVerticalPadding = true, noVerticalPadding = true,
horizontalPadding = false horizontalPadding = false
) )
getCustomView().findViewById<TextView>(R.id.tv_pay_finish).setOnClickListener { getCustomView().findViewById<TextView>(R.id.tv_pay_finish)
goNewRecharge() .setOnClickListener {
dismiss() goNewRecharge()
} dismiss()
}
} }
} }
return@setOnClickListener return@setOnClickListener
@ -820,70 +821,80 @@ class HomeFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispatcher
@SuppressLint("SimpleDateFormat") @SuppressLint("SimpleDateFormat")
fun setExpireDate() { fun setExpireDate() {
val isExpire = checkExpire() lifecycleScope.launch {
var endTimeInfo = "--" val isExpire = checkExpire()
if (isExpire) { var endTimeInfo = "--"
if (isAdded) { if (isExpire) {
endTimeInfo = resources.getString(R.string.AccountExpired) if (isAdded) {
endTimeInfo = resources.getString(R.string.AccountExpired)
this@HomeFragment.context?.let { mc ->
tvExpirationTime.setTextColor(
ContextCompat.getColor(
mc, R.color.red
)
)
}
}
} else {
val validPeriod =
MMKV.defaultMMKV().decodeLong(BZYConstants.MMKV_KEY_VPN_VALID_PERIOD)
val decodeString = MMKV.defaultMMKV().decodeString(BZYConstants.languageInfo, "")
if (decodeString.isNullOrEmpty()) {
//获取当前系统语言
val config = resources.configuration
val language = config.locale.language
if (language.equals("en")) {
val dateFormat = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
val localEN = Locale.ENGLISH
SimpleDateFormat("MM/dd/yyyy HH:mm", localEN)
} else {
val localEN = Locale.ENGLISH
SimpleDateFormat("MM/dd/yyyy HH:mm", localEN)
}
endTimeInfo = dateFormat.format(validPeriod)
} else {
val dateFormat = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
SimpleDateFormat("yyyy年MM月dd日 HH:mm")
} else {
SimpleDateFormat("yyyy年MM月dd日 HH:mm")
}
endTimeInfo = dateFormat.format(validPeriod)
}
} else {
if (decodeString == "English") {
val dateFormat = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
val locale = Locale.ENGLISH
SimpleDateFormat("MM/dd/yyyy HH:mm", locale)
} else {
val locale = Locale.ENGLISH
SimpleDateFormat("MM/dd/yyyy HH:mm", locale)
}
endTimeInfo = dateFormat.format(validPeriod)
} else {
val dateFormat = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
SimpleDateFormat("yyyy年MM月dd日 HH:mm")
} else {
SimpleDateFormat("yyyy年MM月dd日 HH:mm")
}
endTimeInfo = dateFormat.format(validPeriod)
}
}
this@HomeFragment.context?.let { mc -> this@HomeFragment.context?.let { mc ->
tvExpirationTime.setTextColor( tvExpirationTime.setTextColor(
ContextCompat.getColor( ContextCompat.getColor(
mc, R.color.red mc, R.color.blue_0136CB
) )
) )
} }
} }
} else {
val validPeriod = MMKV.defaultMMKV().decodeLong(BZYConstants.MMKV_KEY_VPN_VALID_PERIOD)
val decodeString = MMKV.defaultMMKV().decodeString(BZYConstants.languageInfo, "") tvExpirationTime.text = endTimeInfo
if (decodeString.isNullOrEmpty()) {
//获取当前系统语言
val config = resources.configuration
val language = config.locale.language
if (language.equals("en")) {
val dateFormat = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
val localEN = Locale.ENGLISH
SimpleDateFormat("MM/dd/yyyy HH:mm", localEN)
} else {
val localEN = Locale.ENGLISH
SimpleDateFormat("MM/dd/yyyy HH:mm", localEN)
}
endTimeInfo = dateFormat.format(validPeriod)
} else {
val dateFormat = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
SimpleDateFormat("yyyy年MM月dd日 HH:mm")
} else {
SimpleDateFormat("yyyy年MM月dd日 HH:mm")
}
endTimeInfo = dateFormat.format(validPeriod)
}
} else {
if (decodeString == "English") {
val dateFormat = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
val locale = Locale.ENGLISH
SimpleDateFormat("MM/dd/yyyy HH:mm", locale)
} else {
val locale = Locale.ENGLISH
SimpleDateFormat("MM/dd/yyyy HH:mm", locale)
}
endTimeInfo = dateFormat.format(validPeriod)
} else {
val dateFormat = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
SimpleDateFormat("yyyy年MM月dd日 HH:mm")
} else {
SimpleDateFormat("yyyy年MM月dd日 HH:mm")
}
endTimeInfo = dateFormat.format(validPeriod)
}
}
} }
tvExpirationTime.text = endTimeInfo
} }
private fun goNewRecharge() { private fun goNewRecharge() {