From 2b47776554a4a984dd71ec1171fffa4019523a8b Mon Sep 17 00:00:00 2001 From: Kr328 <39107975+Kr328@users.noreply.github.com> Date: Mon, 9 Dec 2019 01:03:05 +0800 Subject: [PATCH] fix profile scroll not working & pin selected access control apps --- .../java/com/github/kr328/clash/ProfilesActivity.kt | 5 +---- .../com/github/kr328/clash/SettingAccessActivity.kt | 12 +++++++----- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/github/kr328/clash/ProfilesActivity.kt b/app/src/main/java/com/github/kr328/clash/ProfilesActivity.kt index 550dbdb..af3055b 100644 --- a/app/src/main/java/com/github/kr328/clash/ProfilesActivity.kt +++ b/app/src/main/java/com/github/kr328/clash/ProfilesActivity.kt @@ -33,10 +33,7 @@ class ProfilesActivity : BaseActivity() { setSupportActionBar(activity_profiles_toolbar) - activity_profiles_main_list.layoutManager = object : LinearLayoutManager(this) { - override fun canScrollHorizontally(): Boolean = false - override fun canScrollVertically(): Boolean = false - } + activity_profiles_main_list.layoutManager = LinearLayoutManager(this) activity_profiles_main_list.adapter = ProfileAdapter(this, this::onProfileClick, this::onOperateClick, diff --git a/app/src/main/java/com/github/kr328/clash/SettingAccessActivity.kt b/app/src/main/java/com/github/kr328/clash/SettingAccessActivity.kt index 77a9f78..56cf7de 100644 --- a/app/src/main/java/com/github/kr328/clash/SettingAccessActivity.kt +++ b/app/src/main/java/com/github/kr328/clash/SettingAccessActivity.kt @@ -102,6 +102,7 @@ class SettingAccessActivity : BaseActivity() { } val exclude = resources.getStringArray(R.array.default_disallow_application).toSet() + val selected = settings.accessControlApps.toMutableSet() val applications = packageManager.getInstalledApplications(0) .filterNot { @@ -114,10 +115,11 @@ class SettingAccessActivity : BaseActivity() { app.loadIcon(packageManager) ) } - .sortedBy { app -> - app.name - } - val selected = settings.accessControlApps.toMutableSet() + .sortedWith( + compareBy( + { app -> selected.contains(app.packageName) }, + { app -> app.name }) + ) runOnUiThread { activity_setting_access_app_list.apply { @@ -230,7 +232,7 @@ class SettingAccessActivity : BaseActivity() { } private fun updateSelectedMode(mode: Int) { - when ( mode ) { + when (mode) { 0 -> { activity_setting_access_allow_all.isChecked = true activity_setting_access_allow.isChecked = false