mirror of
https://github.com/2dust/v2rayNG.git
synced 2026-10-29 06:31:54 +00:00
Show service start failure details
Pass the optional failure message from the service layer through `MainServiceEvent` and show it in `MainViewModel` when available. This preserves the existing generic error toast as a fallback while surfacing more specific startup failures to the user.
This commit is contained in:
1 parent
1bd1bceadb
commit
4c7c964e65
3 files changed
+10
-4
No files matched your search
@@ -52,7 +52,9 @@ class MainRepository(
|
||||
AppConfig.MSG_STATE_RUNNING -> MainServiceEvent.StateRunning
|
||||
AppConfig.MSG_STATE_NOT_RUNNING -> MainServiceEvent.StateNotRunning
|
||||
AppConfig.MSG_STATE_START_SUCCESS -> MainServiceEvent.StateStartSuccess
|
||||
AppConfig.MSG_STATE_START_FAILURE -> MainServiceEvent.StateStartFailure
|
||||
AppConfig.MSG_STATE_START_FAILURE -> MainServiceEvent.StateStartFailure(
|
||||
safeIntent.getStringExtra("content")
|
||||
)
|
||||
|
||||
AppConfig.MSG_STATE_STOP_SUCCESS -> MainServiceEvent.StateStopSuccess
|
||||
AppConfig.MSG_MEASURE_DELAY_RESULT -> safeIntent
|
||||
|
||||
@@ -7,7 +7,7 @@ sealed class MainServiceEvent {
|
||||
data object StateRunning : MainServiceEvent()
|
||||
data object StateNotRunning : MainServiceEvent()
|
||||
data object StateStartSuccess : MainServiceEvent()
|
||||
data object StateStartFailure : MainServiceEvent()
|
||||
data class StateStartFailure(val message: String? = null) : MainServiceEvent()
|
||||
data object StateStopSuccess : MainServiceEvent()
|
||||
data class MeasureDelayResult(val result: ConnectionTestResult, val requestId: String) : MainServiceEvent()
|
||||
data class MeasureDelayCancelled(val requestId: String) : MainServiceEvent()
|
||||
|
||||
@@ -134,8 +134,12 @@ class MainViewModel(
|
||||
updateRunningState(true)
|
||||
}
|
||||
|
||||
MainServiceEvent.StateStartFailure -> {
|
||||
toastError(R.string.toast_services_failure)
|
||||
is MainServiceEvent.StateStartFailure -> {
|
||||
if (!event.message.isNullOrBlank()) {
|
||||
toastError(event.message)
|
||||
} else {
|
||||
toastError(R.string.toast_services_failure)
|
||||
}
|
||||
updateRunningState(false)
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user