一键连更改

This commit is contained in:
level 2025-07-15 14:48:17 +08:00
parent 3bb67f05bb
commit a063a4753e
6 changed files with 60 additions and 8 deletions

View File

@ -20,6 +20,9 @@ import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AppCompatActivity.RESULT_OK import androidx.appcompat.app.AppCompatActivity.RESULT_OK
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.afollestad.materialdialogs.MaterialDialog
import com.afollestad.materialdialogs.customview.customView
import com.afollestad.materialdialogs.customview.getCustomView
import com.cncat.vpn.common.constants.Intents import com.cncat.vpn.common.constants.Intents
import com.cncat.vpn.common.log.Log import com.cncat.vpn.common.log.Log
import com.cncat.vpn.core.Clash import com.cncat.vpn.core.Clash
@ -91,6 +94,8 @@ open class NewAccFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dis
var proList: MutableList<ClashNodebBean>? = null var proList: MutableList<ClashNodebBean>? = null
private val reloadLock = Semaphore(10) private val reloadLock = Semaphore(10)
private val uiStore by lazy { context?.let { UiStore(it) } } private val uiStore by lazy { context?.let { UiStore(it) } }
private var baseLoading: RxDialogShapeLoading? = null
override fun init( override fun init(
titleBarRl: RelativeLayout, titleBarRl: RelativeLayout,
backIv: ImageView, backIv: ImageView,
@ -202,12 +207,12 @@ open class NewAccFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dis
} }
return return
}else{ }else{
if(isSubbed){ showLoading(resources.getString(R.string.Starting), requireContext())
launch {
delay(2000)
startClash() startClash()
getDelayData()
}else{
RxToast.success(resources.getString(R.string.tooFast))
} }
getDelayData()
} }
} }
@ -221,7 +226,21 @@ open class NewAccFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dis
private fun startClash() { private fun startClash() {
if (checkExpire()) { if (checkExpire()) {
if (isAdded) { if (isAdded) {
RxToast.info(resources.getString(R.string.AccountExpired)) hideLoading()
MaterialDialog(requireContext()).show {
this.cancelable(false)
cornerRadius(res = R.dimen.dp_10)
customView(
R.layout.expired_recharge__layout,
scrollable = false,
noVerticalPadding = true,
horizontalPadding = false
)
getCustomView().findViewById<TextView>(R.id.tv_pay_finish).setOnClickListener {
goNewRecharge()
dismiss()
}
}
} }
return return
} }
@ -264,9 +283,16 @@ open class NewAccFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dis
stateChanged(Clash_Starting, true) stateChanged(Clash_Starting, true)
context?.startClashService() context?.startClashService()
accelerateViewModel.appStartupStatus() accelerateViewModel.appStartupStatus()
withContext(Dispatchers.Main){
hideLoading()
}
} }
}else{ }else{
accelerateViewModel.appStartupStatus() accelerateViewModel.appStartupStatus()
withContext(Dispatchers.Main){
hideLoading()
}
} }
} catch (e: Exception) { } catch (e: Exception) {
stopUTimer() stopUTimer()
@ -725,4 +751,26 @@ open class NewAccFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dis
requireContext().stopService(serviceIntent) requireContext().stopService(serviceIntent)
} }
} }
fun showLoading(str: String, context: Context) {
val message = if (TextUtils.isEmpty(str)) "进行中..." else str
if (baseLoading == null) {
baseLoading = RxDialogShapeLoading(context)
}
baseLoading?.setMessage(message)
if (baseLoading?.isShowing == false) {
baseLoading?.show()
}
}
fun hideLoading() {
if (baseLoading != null && baseLoading?.isShowing == true) {
baseLoading?.cancel()
}
}
private fun goNewRecharge() {
if (activity != null) {
val newMain = activity as NewMainActivity
newMain.goBackupRechargeWeb()
}
}
} }

View File

@ -400,4 +400,5 @@ Service Description\n
<string name="SwitchingSource">Please turn off acceleration before switching sources</string> <string name="SwitchingSource">Please turn off acceleration before switching sources</string>
<string name="LoginOut">It is detected that the current account is logged in on other devices. If it is not your own operation, please change the password immediately and log out of the unfamiliar device.</string> <string name="LoginOut">It is detected that the current account is logged in on other devices. If it is not your own operation, please change the password immediately and log out of the unfamiliar device.</string>
<string name="tooFast">The application is initializing. Please wait for 1~2 seconds and try again.</string> <string name="tooFast">The application is initializing. Please wait for 1~2 seconds and try again.</string>
<string name="Starting">Starting</string>
</resources> </resources>

View File

@ -390,4 +390,5 @@
<string name="SwitchingSource">請關閉加速後在進行源切換</string> <string name="SwitchingSource">請關閉加速後在進行源切換</string>
<string name="LoginOut">檢測到當前賬號在其他設備登錄,如非本人操作,請立即修改密碼並退出陌生設備。</string> <string name="LoginOut">檢測到當前賬號在其他設備登錄,如非本人操作,請立即修改密碼並退出陌生設備。</string>
<string name="tooFast">應用初始化中,請等待1~2秒後重試</string> <string name="tooFast">應用初始化中,請等待1~2秒後重試</string>
<string name="Starting">啟動中</string>
</resources> </resources>

View File

@ -388,4 +388,5 @@
<string name="SwitchingSource">請關閉加速後在進行源切換</string> <string name="SwitchingSource">請關閉加速後在進行源切換</string>
<string name="LoginOut">檢測到當前賬號在其他設備登錄,如非本人操作,請立即修改密碼並退出陌生設備。</string> <string name="LoginOut">檢測到當前賬號在其他設備登錄,如非本人操作,請立即修改密碼並退出陌生設備。</string>
<string name="tooFast">應用初始化中,請等待1~2秒後重試</string> <string name="tooFast">應用初始化中,請等待1~2秒後重試</string>
<string name="Starting">啟動中</string>
</resources> </resources>

View File

@ -414,5 +414,6 @@
<string name="SwitchingSource">请关闭加速后在进行源切换</string> <string name="SwitchingSource">请关闭加速后在进行源切换</string>
<string name="LoginOut">检测到当前账号在其他设备登录,如非本人操作,请立即修改密码并退出陌生设备。</string> <string name="LoginOut">检测到当前账号在其他设备登录,如非本人操作,请立即修改密码并退出陌生设备。</string>
<string name="tooFast">应用初始化中,请等待1~2秒后重试</string> <string name="tooFast">应用初始化中,请等待1~2秒后重试</string>
<string name="Starting">启动中</string>
</resources> </resources>

View File

@ -119,7 +119,7 @@ subprojects {
) )
) )
} }
create("9999") { create("2222") {
isDefault = true isDefault = true
dimension = flavorDimensionList[0] dimension = flavorDimensionList[0]
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")") buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
@ -130,7 +130,7 @@ subprojects {
buildConfigField("String", "applicationId", "\"com.jsq.wufu\"") buildConfigField("String", "applicationId", "\"com.jsq.wufu\"")
buildConfigField("String", "service_url", "\"https://api.yijianlianjsq.com/\"") buildConfigField("String", "service_url", "\"https://api.yijianlianjsq.com/\"")
buildConfigField("boolean", "is_free", "false") buildConfigField("boolean", "is_free", "false")
buildConfigField("String", "productId", "\"9999\"") buildConfigField("String", "productId", "\"2222\"")
manifestPlaceholders( manifestPlaceholders(
mapOf( mapOf(
"APP_NAME" to "@string/wf", "APP_NAME" to "@string/wf",
@ -140,7 +140,7 @@ subprojects {
} }
} }
sourceSets { sourceSets {
getByName("9999") { getByName("2222") {
java.srcDirs("src/foss/java") java.srcDirs("src/foss/java")
} }
} }