From b264c36095e4d0fa456d5fb9119731067a6a542c Mon Sep 17 00:00:00 2001 From: Ryan Heise Date: Thu, 13 Aug 2020 13:01:02 +1000 Subject: [PATCH] Remove dependency on Java streams API. --- .../com/ryanheise/just_audio/AudioPlayer.java | 27 +++++++++++-------- example/pubspec.lock | 2 +- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/android/src/main/java/com/ryanheise/just_audio/AudioPlayer.java b/android/src/main/java/com/ryanheise/just_audio/AudioPlayer.java index 337dcc1..ff17203 100644 --- a/android/src/main/java/com/ryanheise/just_audio/AudioPlayer.java +++ b/android/src/main/java/com/ryanheise/just_audio/AudioPlayer.java @@ -45,7 +45,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; -import java.util.stream.Collectors; public class AudioPlayer implements MethodCallHandler, Player.EventListener, MetadataOutput { @@ -454,15 +453,12 @@ public class AudioPlayer implements MethodCallHandler, Player.EventListener, Met .setTag(id) .createMediaSource(Uri.parse((String)map.get("uri"))); case "concatenating": - List audioSources = (List)map.get("audioSources"); + MediaSource[] mediaSources = getAudioSourcesArray(map.get("audioSources")); return new ConcatenatingMediaSource( false, // isAtomic (Boolean)map.get("useLazyPreparation"), - new DefaultShuffleOrder(audioSources.size()), - audioSources - .stream() - .map(s -> getAudioSource(s)) - .toArray(MediaSource[]::new)); + new DefaultShuffleOrder(mediaSources.length), + mediaSources); case "clipping": Long start = getLong(map.get("start")); Long end = getLong(map.get("end")); @@ -482,11 +478,20 @@ public class AudioPlayer implements MethodCallHandler, Player.EventListener, Met } } + private MediaSource[] getAudioSourcesArray(final Object json) { + List mediaSources = getAudioSources(json); + MediaSource[] mediaSourcesArray = new MediaSource[mediaSources.size()]; + mediaSources.toArray(mediaSourcesArray); + return mediaSourcesArray; + } + private List getAudioSources(final Object json) { - return ((List)json) - .stream() - .map(s -> getAudioSource(s)) - .collect(Collectors.toList()); + List audioSources = (List)json; + List mediaSources = new ArrayList(); + for (int i = 0 ; i < audioSources.size(); i++) { + mediaSources.add(getAudioSource(audioSources.get(i))); + } + return mediaSources; } private DataSource.Factory buildDataSourceFactory() { diff --git a/example/pubspec.lock b/example/pubspec.lock index 0bdb2a9..d65101b 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -106,7 +106,7 @@ packages: path: ".." relative: true source: path - version: "0.2.2" + version: "0.3.2" matcher: dependency: transitive description: