Skip to content

Commit 77a4b2e

Browse files
authored
fix(Module): adjustStreamVolume: send ACTION_UP event (#236)
1 parent 616b99f commit 77a4b2e

1 file changed

Lines changed: 24 additions & 15 deletions

File tree

app/src/main/java/ru/hepolise/volumekeytrackcontrol/module/VolumeKeyControlModuleHandlers.kt

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ object VolumeKeyControlModuleHandlers {
203203
abortAll()
204204
if (!isLongPress && getMediaController().isMusicActive()) {
205205
log("Adjusting stream volume")
206-
keyHelper.adjustStreamVolume(audioManager)
206+
keyHelper.adjustStreamVolume(this)
207207
}
208208
}
209209

@@ -370,23 +370,32 @@ object VolumeKeyControlModuleHandlers {
370370
}
371371
}
372372

373-
fun adjustStreamVolume(audioManager: AudioManager) {
373+
fun adjustStreamVolume(param: MethodHookParam) {
374374
try {
375-
val direction = when (origKey) {
376-
Key.UP -> KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_VOLUME_UP)
377-
Key.DOWN -> KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_VOLUME_DOWN)
375+
val keyCode = when (origKey) {
376+
Key.UP -> KeyEvent.KEYCODE_VOLUME_UP
377+
Key.DOWN -> KeyEvent.KEYCODE_VOLUME_DOWN
378+
}
379+
380+
fun sendEvent(action: Int) {
381+
XposedHelpers.callMethod(
382+
sessionHelper,
383+
"sendVolumeKeyEvent",
384+
arrayOf(
385+
KeyEvent::class.java,
386+
Int::class.javaPrimitiveType,
387+
Boolean::class.javaPrimitiveType
388+
),
389+
KeyEvent(action, keyCode),
390+
AudioManager.USE_DEFAULT_STREAM_TYPE,
391+
false
392+
)
378393
}
379394

380-
XposedHelpers.callMethod(
381-
sessionHelper,
382-
"sendVolumeKeyEvent",
383-
arrayOf(
384-
KeyEvent::class.java,
385-
Int::class.javaPrimitiveType,
386-
Boolean::class.javaPrimitiveType
387-
),
388-
direction, AudioManager.USE_DEFAULT_STREAM_TYPE, false
389-
)
395+
sendEvent(KeyEvent.ACTION_DOWN)
396+
param.getHandler().postDelayed({
397+
sendEvent(KeyEvent.ACTION_UP)
398+
}, 20)
390399
} catch (e: Exception) {
391400
log("Failed to adjust stream volume: ${e.message}")
392401
log("Falling back to adjustStreamVolume")

0 commit comments

Comments
 (0)