Skip to content
Snippets Groups Projects
Commit a405372f authored by kr328's avatar kr328
Browse files

Fix: operate clipboard on main thread

parent b472580c
No related branches found
No related tags found
No related merge requests found
...@@ -76,11 +76,8 @@ class AccessControlActivity : BaseActivity<AccessControlDesign>() { ...@@ -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,14 +88,12 @@ class AccessControlActivity : BaseActivity<AccessControlDesign>() { ...@@ -91,14 +88,12 @@ 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") )
)
clipboard?.setPrimaryClip(data) clipboard?.setPrimaryClip(data)
}
} }
} }
} }
......
...@@ -26,7 +26,7 @@ class LogcatDesign( ...@@ -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)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment