mirror of
https://github.com/MetaCubeX/ClashMetaForAndroid.git
synced 2025-02-21 09:13:16 +03:00
Fix: operate clipboard on main thread
This commit is contained in:
parent
b472580ca6
commit
a405372f6a
@ -76,11 +76,8 @@ class AccessControlActivity : BaseActivity<AccessControlDesign>() {
|
|||||||
val data = clipboard?.primaryClip
|
val data = clipboard?.primaryClip
|
||||||
|
|
||||||
if (data != null && data.itemCount > 0) {
|
if (data != null && data.itemCount > 0) {
|
||||||
val all = withContext(Dispatchers.IO) {
|
|
||||||
val packages = data.getItemAt(0).text.split("\n").toSet()
|
val packages = data.getItemAt(0).text.split("\n").toSet()
|
||||||
|
val all = design.apps.map(AppInfo::packageName).intersect(packages)
|
||||||
design.apps.map(AppInfo::packageName).intersect(packages)
|
|
||||||
}
|
|
||||||
|
|
||||||
selected.clear()
|
selected.clear()
|
||||||
selected.addAll(all)
|
selected.addAll(all)
|
||||||
@ -91,7 +88,6 @@ class AccessControlActivity : BaseActivity<AccessControlDesign>() {
|
|||||||
AccessControlDesign.Request.Export -> {
|
AccessControlDesign.Request.Export -> {
|
||||||
val clipboard = getSystemService<ClipboardManager>()
|
val clipboard = getSystemService<ClipboardManager>()
|
||||||
|
|
||||||
withContext(Dispatchers.IO) {
|
|
||||||
val data = ClipData.newPlainText(
|
val data = ClipData.newPlainText(
|
||||||
"packages",
|
"packages",
|
||||||
selected.joinToString("\n")
|
selected.joinToString("\n")
|
||||||
@ -104,7 +100,6 @@ class AccessControlActivity : BaseActivity<AccessControlDesign>() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
private suspend fun loadApps(selected: Set<String>): List<AppInfo> =
|
private suspend fun loadApps(selected: Set<String>): List<AppInfo> =
|
||||||
withContext(Dispatchers.IO) {
|
withContext(Dispatchers.IO) {
|
||||||
|
@ -26,7 +26,7 @@ class LogcatDesign(
|
|||||||
private val binding = DesignLogcatBinding
|
private val binding = DesignLogcatBinding
|
||||||
.inflate(context.layoutInflater, context.root, false)
|
.inflate(context.layoutInflater, context.root, false)
|
||||||
private val adapter = LogMessageAdapter(context) {
|
private val adapter = LogMessageAdapter(context) {
|
||||||
launch(Dispatchers.IO) {
|
launch {
|
||||||
val data = ClipData.newPlainText("log_message", it.message)
|
val data = ClipData.newPlainText("log_message", it.message)
|
||||||
|
|
||||||
context.getSystemService<ClipboardManager>()?.setPrimaryClip(data)
|
context.getSystemService<ClipboardManager>()?.setPrimaryClip(data)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user