Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 38106a2096 | |||
| a476afb311 |
@@ -79,8 +79,8 @@ android {
|
|||||||
applicationId "com.ariacockpit"
|
applicationId "com.ariacockpit"
|
||||||
minSdkVersion rootProject.ext.minSdkVersion
|
minSdkVersion rootProject.ext.minSdkVersion
|
||||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||||
versionCode 10005
|
versionCode 10006
|
||||||
versionName "0.1.0.5"
|
versionName "0.1.0.6"
|
||||||
// Fallback fuer Libraries mit Product Flavors
|
// Fallback fuer Libraries mit Product Flavors
|
||||||
missingDimensionStrategy 'react-native-camera', 'general'
|
missingDimensionStrategy 'react-native-camera', 'general'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -148,33 +148,39 @@ class AudioFocusModule(reactContext: ReactApplicationContext) : ReactContextBase
|
|||||||
promise.resolve(false)
|
promise.resolve(false)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
try {
|
// Async laufen lassen — wir wollen einen request, Pause, dann abandon.
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
// Ohne Pause merkt das System (und damit Spotify) die kurze Owner-
|
||||||
val attrs = AudioAttributes.Builder()
|
// Wechsel oft gar nicht. 250ms reicht erfahrungsgemaess fuer den
|
||||||
.setUsage(AudioAttributes.USAGE_MEDIA)
|
// Focus-Stack-Refresh.
|
||||||
.setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
|
Thread {
|
||||||
.build()
|
try {
|
||||||
val kickListener = AudioManager.OnAudioFocusChangeListener { /* ignorieren */ }
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||||
val kickReq = AudioFocusRequest.Builder(AudioManager.AUDIOFOCUS_GAIN)
|
val attrs = AudioAttributes.Builder()
|
||||||
.setAudioAttributes(attrs)
|
.setUsage(AudioAttributes.USAGE_MEDIA)
|
||||||
.setOnAudioFocusChangeListener(kickListener)
|
.setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
|
||||||
.build()
|
.build()
|
||||||
am.requestAudioFocus(kickReq)
|
val kickListener = AudioManager.OnAudioFocusChangeListener { /* ignorieren */ }
|
||||||
am.abandonAudioFocusRequest(kickReq)
|
val kickReq = AudioFocusRequest.Builder(AudioManager.AUDIOFOCUS_GAIN)
|
||||||
} else {
|
.setAudioAttributes(attrs)
|
||||||
@Suppress("DEPRECATION")
|
.setOnAudioFocusChangeListener(kickListener)
|
||||||
val kickListener = AudioManager.OnAudioFocusChangeListener { /* ignorieren */ }
|
.build()
|
||||||
@Suppress("DEPRECATION")
|
am.requestAudioFocus(kickReq)
|
||||||
am.requestAudioFocus(kickListener, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN)
|
Thread.sleep(250)
|
||||||
@Suppress("DEPRECATION")
|
am.abandonAudioFocusRequest(kickReq)
|
||||||
am.abandonAudioFocus(kickListener)
|
} else {
|
||||||
|
val kickListener = AudioManager.OnAudioFocusChangeListener { /* ignorieren */ }
|
||||||
|
@Suppress("DEPRECATION")
|
||||||
|
am.requestAudioFocus(kickListener, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN)
|
||||||
|
Thread.sleep(250)
|
||||||
|
@Suppress("DEPRECATION")
|
||||||
|
am.abandonAudioFocus(kickListener)
|
||||||
|
}
|
||||||
|
Log.i(TAG, "kickReleaseMedia: USAGE_MEDIA-Stack aufgemischt (250ms Pause)")
|
||||||
|
} catch (e: Exception) {
|
||||||
|
Log.w(TAG, "kickReleaseMedia failed: ${e.message}")
|
||||||
}
|
}
|
||||||
Log.i(TAG, "kickReleaseMedia: USAGE_MEDIA-Stack aufgemischt")
|
}.start()
|
||||||
promise.resolve(true)
|
promise.resolve(true)
|
||||||
} catch (e: Exception) {
|
|
||||||
Log.w(TAG, "kickReleaseMedia failed: ${e.message}")
|
|
||||||
promise.resolve(false)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun release() {
|
private fun release() {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "aria-cockpit",
|
"name": "aria-cockpit",
|
||||||
"version": "0.1.0.5",
|
"version": "0.1.0.6",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"android": "react-native run-android",
|
"android": "react-native run-android",
|
||||||
|
|||||||
Reference in New Issue
Block a user