Android : better promises handling + bonuses #105
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.

Some leftover code fixing some other leaking promises + other code refactoring
Highlights:
AudioWaveformModulehelps to ensure promises are resolved correctlyAudioPlayerfor a leaner class and not "react-native" taintedBonus:
onPlayerStateChangedin favour ofonPlaybackStateChangedonErrorand simplified itPromise.resolveandPromise.rejectcombined with try-catch that are useless and can be simplified by returning the value directly or throwing an error since the method is alreadyasyncpreparePlayeris wrong. If we play a file with an invalid path, the player never gets ready and gets stuck idle. Sinceplayer.prepare()should move it out ofidle, if it stays inidle, there is a problem, and the promise is rejected.IStartPlayermandatory else; I test it, and passing no value crashes the android, so there are no optionalawait preparePlayerForPath();inside theonDidFinishPlayingAudiosince this one is circular, where you trigger the player's end but recreate it immediately. Also, after removal, it still worksLet me know what you think!
Note: I may need to remove my logger
logPromisetracking the leaking promises before you merge!