diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/ui/logcat/LogcatActivity.kt b/V2rayNG/app/src/main/java/com/v2ray/ang/ui/logcat/LogcatActivity.kt index 73d710e6..deca87eb 100644 --- a/V2rayNG/app/src/main/java/com/v2ray/ang/ui/logcat/LogcatActivity.kt +++ b/V2rayNG/app/src/main/java/com/v2ray/ang/ui/logcat/LogcatActivity.kt @@ -40,7 +40,6 @@ import androidx.lifecycle.lifecycleScope import com.v2ray.ang.R import com.v2ray.ang.compose.AppDivider import com.v2ray.ang.compose.AppTopBar -import com.v2ray.ang.compose.LocalAppSnackbar import com.v2ray.ang.compose.verticalScrollbar import com.v2ray.ang.extension.toast import com.v2ray.ang.ui.base.BaseComponentActivity @@ -134,7 +133,6 @@ fun LogcatScreen( var searchQuery by remember { mutableStateOf("") } var showSearch by remember { mutableStateOf(false) } - val snackbar = LocalAppSnackbar.current val listState = rememberLazyListState() Scaffold( @@ -165,11 +163,7 @@ fun LogcatScreen( ) } } - IconButton(onClick = { - val all = viewModel.filteredLogs.value.joinToString("\n") - Utils.setClipboard(context, all) - snackbar.showInfo(context, R.string.toast_success) - }) { + IconButton(onClick = { viewModel.copyLogcat() }) { Icon( painterResource(R.drawable.ic_copy), contentDescription = stringResource(R.string.logcat_copy) diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/ui/logcat/LogcatViewModel.kt b/V2rayNG/app/src/main/java/com/v2ray/ang/ui/logcat/LogcatViewModel.kt index 9c90c951..1666456a 100644 --- a/V2rayNG/app/src/main/java/com/v2ray/ang/ui/logcat/LogcatViewModel.kt +++ b/V2rayNG/app/src/main/java/com/v2ray/ang/ui/logcat/LogcatViewModel.kt @@ -2,8 +2,10 @@ package com.v2ray.ang.ui.logcat import android.app.Application import com.v2ray.ang.AppConfig +import com.v2ray.ang.R import com.v2ray.ang.ui.base.BaseViewModel import com.v2ray.ang.util.LogUtil +import com.v2ray.ang.util.Utils import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow @@ -38,6 +40,12 @@ class LogcatViewModel(application: Application) : BaseViewModel(application) { } } + fun copyLogcat() { + val all = filteredLogs.value.joinToString("\n") + Utils.setClipboard(app, all) + toast(R.string.toast_success) + } + fun clearLogcat() { try { val lst = LinkedHashSet()