fix(clipboard): Android warnings and build on SDK under 28 (#1771)

This commit is contained in:
Lucas Fernandes Nogueira
2024-09-13 12:03:10 -03:00
committed by GitHub
parent cc03ccf5e0
commit 341a5320c3
4 changed files with 48 additions and 31 deletions
@@ -4,12 +4,12 @@
package app.tauri.clipboard
import android.R.attr.value
import android.app.Activity
import android.content.ClipData
import android.content.ClipDescription
import android.content.ClipboardManager
import android.content.Context
import android.os.Build
import app.tauri.annotation.Command
import app.tauri.annotation.InvokeArg
import app.tauri.annotation.TauriPlugin
@@ -59,6 +59,9 @@ internal class ReadClipDataSerializer @JvmOverloads constructor(t: Class<ReadCli
jgen.writeEndObject()
}
else -> {
throw Exception("unimplemented ReadClipData")
}
}
jgen.writeEndObject()
@@ -93,7 +96,7 @@ class ClipboardPlugin(private val activity: Activity) : Plugin(activity) {
is WriteOptions.PlainText -> {
ClipData.newPlainText(args.label, args.text)
} else -> {
invoke.reject("Invalid write options provided")
invoke.reject("unimplemented WriteOptions")
return
}
@@ -128,7 +131,11 @@ class ClipboardPlugin(private val activity: Activity) : Plugin(activity) {
@Command
fun clear(invoke: Invoke) {
if (manager.hasPrimaryClip()) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
manager.clearPrimaryClip()
} else {
manager.setPrimaryClip(ClipData.newPlainText("", ""))
}
}
invoke.resolve()
}