fix: kotlin code
This commit is contained in:
@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user