diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/ui/main/MainRepository.kt b/V2rayNG/app/src/main/java/com/v2ray/ang/ui/main/MainRepository.kt index cf00177f4..fa37a4761 100644 --- a/V2rayNG/app/src/main/java/com/v2ray/ang/ui/main/MainRepository.kt +++ b/V2rayNG/app/src/main/java/com/v2ray/ang/ui/main/MainRepository.kt @@ -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 diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/ui/main/MainServiceEvent.kt b/V2rayNG/app/src/main/java/com/v2ray/ang/ui/main/MainServiceEvent.kt index 376422803..f02a8aacb 100644 --- a/V2rayNG/app/src/main/java/com/v2ray/ang/ui/main/MainServiceEvent.kt +++ b/V2rayNG/app/src/main/java/com/v2ray/ang/ui/main/MainServiceEvent.kt @@ -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() diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/ui/main/MainViewModel.kt b/V2rayNG/app/src/main/java/com/v2ray/ang/ui/main/MainViewModel.kt index 75bc0f02c..129921de0 100644 --- a/V2rayNG/app/src/main/java/com/v2ray/ang/ui/main/MainViewModel.kt +++ b/V2rayNG/app/src/main/java/com/v2ray/ang/ui/main/MainViewModel.kt @@ -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) }