mirror of
https://github.com/2dust/v2rayNG.git
synced 2026-10-29 06:31:54 +00:00
Bug fix
This commit is contained in:
1 parent
e549000e5a
commit
2c1efde450
1 file changed
+17
-9
@@ -198,7 +198,8 @@ fun ProxyChainScreen(
|
|||||||
onDelete: () -> Unit
|
onDelete: () -> Unit
|
||||||
) {
|
) {
|
||||||
var remarks by rememberSaveable { mutableStateOf(initialRemarks) }
|
var remarks by rememberSaveable { mutableStateOf(initialRemarks) }
|
||||||
var members by rememberSaveable { mutableStateOf(initialMembers.toMutableList()) }
|
var members by rememberSaveable { mutableStateOf(initialMembers) }
|
||||||
|
var memberKeys by rememberSaveable { mutableStateOf(List(initialMembers.size) { UUID.randomUUID().toString() }) }
|
||||||
var showProfileDeleteConfirm by remember { mutableStateOf(false) }
|
var showProfileDeleteConfirm by remember { mutableStateOf(false) }
|
||||||
var memberToDeleteIndex by rememberSaveable { mutableStateOf<Int?>(null) }
|
var memberToDeleteIndex by rememberSaveable { mutableStateOf<Int?>(null) }
|
||||||
val showDelete = editGuid.isNotEmpty() && !isRunning
|
val showDelete = editGuid.isNotEmpty() && !isRunning
|
||||||
@@ -207,12 +208,14 @@ fun ProxyChainScreen(
|
|||||||
val reorderableState = rememberReorderableLazyListState(lazyListState) { from, to ->
|
val reorderableState = rememberReorderableLazyListState(lazyListState) { from, to ->
|
||||||
val fromIndex = memberKeys.indexOf(from.key)
|
val fromIndex = memberKeys.indexOf(from.key)
|
||||||
val toIndex = memberKeys.indexOf(to.key)
|
val toIndex = memberKeys.indexOf(to.key)
|
||||||
val reordered = members.toMutableList()
|
if (fromIndex != -1 && toIndex != -1) {
|
||||||
val reorderedKeys = memberKeys.toMutableList()
|
val reordered = members.toMutableList()
|
||||||
if (reordered.moveItem(fromIndex, toIndex)) {
|
val reorderedKeys = memberKeys.toMutableList()
|
||||||
reorderedKeys.moveItem(fromIndex, toIndex)
|
if (reordered.moveItem(fromIndex, toIndex)) {
|
||||||
members = reordered
|
reorderedKeys.moveItem(fromIndex, toIndex)
|
||||||
memberKeys = reorderedKeys
|
members = reordered
|
||||||
|
memberKeys = reorderedKeys
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -308,8 +311,12 @@ fun ProxyChainScreen(
|
|||||||
modifier = Modifier.weight(1f)
|
modifier = Modifier.weight(1f)
|
||||||
)
|
)
|
||||||
IconButton(onClick = {
|
IconButton(onClick = {
|
||||||
if (member.isBlank()) members = members.toMutableList().also { it.removeAt(index) }
|
if (member.isBlank()) {
|
||||||
else memberToDeleteIndex = index
|
members = members.toMutableList().also { it.removeAt(index) }
|
||||||
|
memberKeys = memberKeys.toMutableList().also { it.removeAt(index) }
|
||||||
|
} else {
|
||||||
|
memberToDeleteIndex = index
|
||||||
|
}
|
||||||
}) {
|
}) {
|
||||||
Icon(
|
Icon(
|
||||||
painterResource(R.drawable.ic_delete_24dp),
|
painterResource(R.drawable.ic_delete_24dp),
|
||||||
@@ -335,6 +342,7 @@ fun ProxyChainScreen(
|
|||||||
message = stringResource(R.string.confirm_delete_proxy_chain_member),
|
message = stringResource(R.string.confirm_delete_proxy_chain_member),
|
||||||
onConfirm = {
|
onConfirm = {
|
||||||
members = members.toMutableList().also { it.removeAt(index) }
|
members = members.toMutableList().also { it.removeAt(index) }
|
||||||
|
memberKeys = memberKeys.toMutableList().also { it.removeAt(index) }
|
||||||
memberToDeleteIndex = null
|
memberToDeleteIndex = null
|
||||||
},
|
},
|
||||||
onDismiss = { memberToDeleteIndex = null }
|
onDismiss = { memberToDeleteIndex = null }
|
||||||
|
|||||||
Reference in new issue
Block a user