From 6608355e63931727abb44ed3b68c03c9e87180c7 Mon Sep 17 00:00:00 2001 From: Mygod Date: Wed, 6 Dec 2017 23:25:54 -0800 Subject: [PATCH] Fix a crash when reordering profiles --- .../src/main/java/com/github/shadowsocks/ProfilesFragment.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mobile/src/main/java/com/github/shadowsocks/ProfilesFragment.kt b/mobile/src/main/java/com/github/shadowsocks/ProfilesFragment.kt index a83691ab..fa68e458 100644 --- a/mobile/src/main/java/com/github/shadowsocks/ProfilesFragment.kt +++ b/mobile/src/main/java/com/github/shadowsocks/ProfilesFragment.kt @@ -244,10 +244,10 @@ class ProfilesFragment : ToolbarFragment(), Toolbar.OnMenuItemClickListener { fun move(from: Int, to: Int) { undoManager.flush() - val step = if (from < to) 1 else -1 val first = profiles[from] var previousOrder = first.userOrder - for (i in if (from < to) from until to else from..to + 1 step -1) { + val (step, range) = if (from < to) Pair(1, from until to) else Pair(-1, to + 1 downTo from) + for (i in range) { val next = profiles[i + step] val order = next.userOrder next.userOrder = previousOrder