From 0d4ec3c415b925b8600b365eec712813bd99a81c Mon Sep 17 00:00:00 2001 From: Jannik Date: Tue, 21 Oct 2025 17:29:03 +0200 Subject: [PATCH] fix: kotlin code --- android/src/main/java/Duck.kt | 10 ---------- android/src/main/java/DuckPlugin.kt | 19 ++++++++++--------- 2 files changed, 10 insertions(+), 19 deletions(-) delete mode 100644 android/src/main/java/Duck.kt diff --git a/android/src/main/java/Duck.kt b/android/src/main/java/Duck.kt deleted file mode 100644 index d70c89c..0000000 --- a/android/src/main/java/Duck.kt +++ /dev/null @@ -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 - } -} diff --git a/android/src/main/java/DuckPlugin.kt b/android/src/main/java/DuckPlugin.kt index fdeebeb..dee55e8 100644 --- a/android/src/main/java/DuckPlugin.kt +++ b/android/src/main/java/DuckPlugin.kt @@ -1,6 +1,7 @@ package de.cfp.duck import android.app.Activity +import android.content.Context import app.tauri.annotation.Command import app.tauri.annotation.InvokeArg import app.tauri.annotation.TauriPlugin @@ -10,19 +11,20 @@ import app.tauri.plugin.Invoke import android.media.AudioFocusRequest import android.media.AudioManager -import android.context.Context +import android.os.Build import android.webkit.WebView +import androidx.annotation.RequiresApi @TauriPlugin class DuckPlugin(private val activity: Activity): Plugin(activity) { - private val implementation = Duck() private lateinit var audioManager: AudioManager - private lateinit var focusRequest: AudioFocusRequest + private var focusRequest: AudioFocusRequest? = null 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 fun duck(invoke: Invoke) { focusRequest = AudioFocusRequest.Builder(AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK) @@ -30,19 +32,18 @@ class DuckPlugin(private val activity: Activity): Plugin(activity) { .setWillPauseWhenDucked(false) .setForceDucking(true) .build() - - audioManager.requestAudioFocus(focusRequest) + + focusRequest?.let { audioManager.requestAudioFocus(it) } val ret = JSObject() ret.put("success", true) invoke.resolve(ret) } + @RequiresApi(Build.VERSION_CODES.O) @Command fun unduck(invoke: Invoke) { - if (focusRequest != null) { - audioManager.abandonAudioFocusRequest(focusRequest) - } + focusRequest?.let { audioManager.abandonAudioFocusRequest(it) } val ret = JSObject() ret.put("success", true)