From a557255099f0b383e9c3a84833ada65643d7fd1a Mon Sep 17 00:00:00 2001 From: Kr328 <39107975+Kr328@users.noreply.github.com> Date: Thu, 20 Feb 2020 15:02:47 +0800 Subject: [PATCH] fix access control mode & packages --- .../java/com/github/kr328/clash/PackagesActivity.kt | 4 +++- .../com/github/kr328/clash/adapter/PackagesAdapter.kt | 10 ++++++++++ app/src/main/res/values/arrays.xml | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/github/kr328/clash/PackagesActivity.kt b/app/src/main/java/com/github/kr328/clash/PackagesActivity.kt index f8d5956..829d7a0 100644 --- a/app/src/main/java/com/github/kr328/clash/PackagesActivity.kt +++ b/app/src/main/java/com/github/kr328/clash/PackagesActivity.kt @@ -50,7 +50,6 @@ class PackagesActivity : BaseActivity() { it.applicationInfo.flags and ApplicationInfo.FLAG_SYSTEM != 0 ) } - .sorted(compareBy(PackagesAdapter.AppInfo::label)) .toList() } } @@ -73,10 +72,13 @@ class PackagesActivity : BaseActivity() { progress.visibility = View.GONE + refreshChannel.offer(Unit) + while (isActive) { refreshChannel.receive() adapter.applyFilter(keyword, sort, decrease, systemApp) + mainList.scrollToPosition(0) delay(200) } diff --git a/app/src/main/java/com/github/kr328/clash/adapter/PackagesAdapter.kt b/app/src/main/java/com/github/kr328/clash/adapter/PackagesAdapter.kt index 3d12061..f0e4a7d 100644 --- a/app/src/main/java/com/github/kr328/clash/adapter/PackagesAdapter.kt +++ b/app/src/main/java/com/github/kr328/clash/adapter/PackagesAdapter.kt @@ -46,6 +46,16 @@ class PackagesAdapter(private val context: Context, && (systemApp || !it.isSystem) } .sorted { a, b -> + val sA = selectedPackages.contains(a.packageName) + val sB = selectedPackages.contains(b.packageName) + + if ( sA != sB ) { + when { + sA -> return@sorted -1 + sB -> return@sorted 1 + } + } + val result = when (sort) { Sort.NAME -> a.label.compareTo(b.label, true) Sort.PACKAGE -> a.packageName.compareTo(b.packageName) diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 07ef2ed..6c38418 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -23,8 +23,8 @@ access_control_mode_all - access_control_mode_blacklist access_control_mode_whitelist + access_control_mode_blacklist