From 6cfb3753cd8003f341d97e0b2417d4512f452267 Mon Sep 17 00:00:00 2001 From: Gustl22 Date: Thu, 6 Apr 2023 09:04:09 +0200 Subject: [PATCH] fix(android): Avoid calling onDuration on position event (closes #136) (#1460) # Description Unlike on other platforms, onDuration is constantly called on Android. This PR avoids calling onDuration on every position event. OnDuration is still once called with the correct duration after having prepared the source. --- packages/audioplayers/example/.metadata | 25 +++++++++++++++---- .../luan/audioplayers/AudioplayersPlugin.kt | 2 -- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/packages/audioplayers/example/.metadata b/packages/audioplayers/example/.metadata index a73a9b498..20eb09cce 100644 --- a/packages/audioplayers/example/.metadata +++ b/packages/audioplayers/example/.metadata @@ -4,7 +4,7 @@ # This file should be version controlled. version: - revision: ffccd96b62ee8cec7740dab303538c5fc26ac543 + revision: 62bd79521d8d007524e351747471ba66696fc2d4 channel: stable project_type: app @@ -13,11 +13,26 @@ project_type: app migration: platforms: - platform: root - create_revision: ffccd96b62ee8cec7740dab303538c5fc26ac543 - base_revision: ffccd96b62ee8cec7740dab303538c5fc26ac543 + create_revision: 62bd79521d8d007524e351747471ba66696fc2d4 + base_revision: 62bd79521d8d007524e351747471ba66696fc2d4 - platform: android - create_revision: ffccd96b62ee8cec7740dab303538c5fc26ac543 - base_revision: ffccd96b62ee8cec7740dab303538c5fc26ac543 + create_revision: 62bd79521d8d007524e351747471ba66696fc2d4 + base_revision: 62bd79521d8d007524e351747471ba66696fc2d4 + - platform: ios + create_revision: 62bd79521d8d007524e351747471ba66696fc2d4 + base_revision: 62bd79521d8d007524e351747471ba66696fc2d4 + - platform: linux + create_revision: 62bd79521d8d007524e351747471ba66696fc2d4 + base_revision: 62bd79521d8d007524e351747471ba66696fc2d4 + - platform: macos + create_revision: 62bd79521d8d007524e351747471ba66696fc2d4 + base_revision: 62bd79521d8d007524e351747471ba66696fc2d4 + - platform: web + create_revision: 62bd79521d8d007524e351747471ba66696fc2d4 + base_revision: 62bd79521d8d007524e351747471ba66696fc2d4 + - platform: windows + create_revision: 62bd79521d8d007524e351747471ba66696fc2d4 + base_revision: 62bd79521d8d007524e351747471ba66696fc2d4 # User provided section diff --git a/packages/audioplayers_android/android/src/main/kotlin/xyz/luan/audioplayers/AudioplayersPlugin.kt b/packages/audioplayers_android/android/src/main/kotlin/xyz/luan/audioplayers/AudioplayersPlugin.kt index b06f8b633..33cf3314b 100644 --- a/packages/audioplayers_android/android/src/main/kotlin/xyz/luan/audioplayers/AudioplayersPlugin.kt +++ b/packages/audioplayers_android/android/src/main/kotlin/xyz/luan/audioplayers/AudioplayersPlugin.kt @@ -290,9 +290,7 @@ class AudioplayersPlugin : FlutterPlugin, IUpdateCallback { continue } isAnyPlaying = true - val duration = player.getDuration() val time = player.getCurrentPosition() - player.eventHandler.success("audio.onDuration", hashMapOf("value" to (duration ?: 0))) player.eventHandler.success("audio.onCurrentPosition", hashMapOf("value" to (time ?: 0))) } if (isAnyPlaying) {