fix: kotlin code

This commit is contained in:
2025-10-21 17:29:03 +02:00
parent 845022ad6d
commit 0d4ec3c415
2 changed files with 10 additions and 19 deletions

View File

@ -1,10 +0,0 @@
package de.cfp.duck
import android.util.Log
class Duck {
fun pong(value: String): String {
Log.i("Pong", value)
return value
}
}

View File

@ -1,6 +1,7 @@
package de.cfp.duck package de.cfp.duck
import android.app.Activity import android.app.Activity
import android.content.Context
import app.tauri.annotation.Command import app.tauri.annotation.Command
import app.tauri.annotation.InvokeArg import app.tauri.annotation.InvokeArg
import app.tauri.annotation.TauriPlugin import app.tauri.annotation.TauriPlugin
@ -10,19 +11,20 @@ import app.tauri.plugin.Invoke
import android.media.AudioFocusRequest import android.media.AudioFocusRequest
import android.media.AudioManager import android.media.AudioManager
import android.context.Context import android.os.Build
import android.webkit.WebView import android.webkit.WebView
import androidx.annotation.RequiresApi
@TauriPlugin @TauriPlugin
class DuckPlugin(private val activity: Activity): Plugin(activity) { class DuckPlugin(private val activity: Activity): Plugin(activity) {
private val implementation = Duck()
private lateinit var audioManager: AudioManager private lateinit var audioManager: AudioManager
private lateinit var focusRequest: AudioFocusRequest private var focusRequest: AudioFocusRequest? = null
override fun load(webView: WebView) { override fun load(webView: WebView) {
audioManager = (AudioManager) getBridge().getActivity().getSystemService(Context.AUDIO_SERVICE) audioManager = activity.getSystemService(Context.AUDIO_SERVICE) as AudioManager
} }
@RequiresApi(Build.VERSION_CODES.P)
@Command @Command
fun duck(invoke: Invoke) { fun duck(invoke: Invoke) {
focusRequest = AudioFocusRequest.Builder(AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK) focusRequest = AudioFocusRequest.Builder(AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK)
@ -30,19 +32,18 @@ class DuckPlugin(private val activity: Activity): Plugin(activity) {
.setWillPauseWhenDucked(false) .setWillPauseWhenDucked(false)
.setForceDucking(true) .setForceDucking(true)
.build() .build()
audioManager.requestAudioFocus(focusRequest) focusRequest?.let { audioManager.requestAudioFocus(it) }
val ret = JSObject() val ret = JSObject()
ret.put("success", true) ret.put("success", true)
invoke.resolve(ret) invoke.resolve(ret)
} }
@RequiresApi(Build.VERSION_CODES.O)
@Command @Command
fun unduck(invoke: Invoke) { fun unduck(invoke: Invoke) {
if (focusRequest != null) { focusRequest?.let { audioManager.abandonAudioFocusRequest(it) }
audioManager.abandonAudioFocusRequest(focusRequest)
}
val ret = JSObject() val ret = JSObject()
ret.put("success", true) ret.put("success", true)