Browse Source

Fix load group #299

世界 4 years ago
parent
commit
243dbeb13a

+ 5 - 6
app/src/main/java/io/nekohasekai/sagernet/ui/ConfigurationFragment.kt

@@ -848,12 +848,11 @@ class ConfigurationFragment @JvmOverloads constructor(
                     SagerDatabase.groupDao.createGroup(ProxyGroup(ungrouped = true))
                     SagerDatabase.groupDao.createGroup(ProxyGroup(ungrouped = true))
                     groupList = ArrayList(SagerDatabase.groupDao.allGroups())
                     groupList = ArrayList(SagerDatabase.groupDao.allGroups())
                 }
                 }
-
-                val hideUngrouped = groupList.size > 1 && SagerDatabase.proxyDao.countByGroup(
-                    groupList.find { it.ungrouped }!!.id
-                ) == 0L
-
-                if (hideUngrouped) groupList.removeAll { it.ungrouped }
+                groupList.find { it.ungrouped }?.let {
+                    if (SagerDatabase.proxyDao.countByGroup(it.id) == 0L) {
+                        groupList.remove(it)
+                    }
+                }
 
 
                 val selectedGroup = selectedItem?.groupId ?: DataStore.currentGroupId()
                 val selectedGroup = selectedItem?.groupId ?: DataStore.currentGroupId()
                 if (selectedGroup != 0L) {
                 if (selectedGroup != 0L) {

+ 5 - 3
app/src/main/java/io/nekohasekai/sagernet/ui/GroupFragment.kt

@@ -161,9 +161,11 @@ class GroupFragment : ToolbarFragment(R.layout.layout_group),
 
 
         suspend fun reload() {
         suspend fun reload() {
             val groups = SagerDatabase.groupDao.allGroups().toMutableList()
             val groups = SagerDatabase.groupDao.allGroups().toMutableList()
-            val hideUngrouped =
-                SagerDatabase.proxyDao.countByGroup(groups.find { it.ungrouped }!!.id) == 0L
-            if (groups.size > 1 && hideUngrouped) groups.removeAll { it.ungrouped }
+            groups.find { it.ungrouped }?.let {
+                if (SagerDatabase.proxyDao.countByGroup(it.id) == 0L) {
+                    groups.remove(it)
+                }
+            }
 
 
             groupList.clear()
             groupList.clear()
             groupList.addAll(groups)
             groupList.addAll(groups)