[ 
https://issues.apache.org/jira/browse/CB-11655?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15419866#comment-15419866
 ] 

ASF GitHub Bot commented on CB-11655:
-------------------------------------

GitHub user alsorokin opened a pull request:

    https://github.com/apache/cordova-plugin-media/pull/107

    CB-11655 (Android) Enabled asynchronous error handling

    <!--
    Please make sure the checklist boxes are all checked before submitting the 
PR. The checklist
    is intended as a quick reference, for complete details please see our 
Contributor Guidelines:
    
    http://cordova.apache.org/contribute/contribute_guidelines.html
    
    Thanks!
    -->
    
    ### Platforms affected
    Android
    
    ### What does this PR do?
    Fixes a crash and enables asynchronous MediaPlayer error handling.
    The crash was happening because the plugin wasn't catching the error from 
Android's MediaPlayer and thus when the error (in this case, 
[MEDIA_ERROR_TIMED_OUT](https://developer.android.com/reference/android/media/MediaPlayer.html#MEDIA_ERROR_TIMED_OUT))
 occurred, the plugin wasn't aware of this and tried to send new commands to 
the MediaPlayer which was causing the crash.
    
    ### What testing has been done on this change?
    Manual and automatic mobilespec tests on Android 4.4 emulator.
    
    ### Checklist
    - [x] [ICLA](http://www.apache.org/licenses/icla.txt) has been signed and 
submitted to [email protected].
    - [x] [Reported an issue](http://cordova.apache.org/contribute/issues.html) 
in the JIRA database
    - [x] Commit message follows the format: "CB-3232: (android) Fix bug with 
resolving file paths", where CB-xxxx is the JIRA ID & "android" is the platform 
affected.
    - [ ] Added automated test coverage as appropriate for this change.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/alsorokin/cordova-plugin-media CB-11655

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/cordova-plugin-media/pull/107.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #107
    
----
commit 6557e2478702fed410f0c28c4814aeb4ae45f534
Author: Alexander Sorokin <[email protected]>
Date:   2016-08-12T15:37:23Z

    CB-11655 (Android) Enabled asynchronous error handling

----


> Plugin Media :app crashed when a telephone call come in if app is playing mp3.
> ------------------------------------------------------------------------------
>
>                 Key: CB-11655
>                 URL: https://issues.apache.org/jira/browse/CB-11655
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: Plugin Media
>    Affects Versions: 2.3.0
>         Environment: android 4.4/6.0.1,cordova 6.2.0
>            Reporter: lei
>            Assignee: Alexander Sorokin
>
> app crashed when a telephone call come in if app is playing mp3.
> following lines are exception info  in logcat :
> 07-30 16:53:39.932 23393 23393 E AndroidRuntime: FATAL EXCEPTION: main
> 07-30 16:53:39.932 23393 23393 E AndroidRuntime: Process: com.sin360.icolor, 
> PID: 23393
> 07-30 16:53:39.932 23393 23393 E AndroidRuntime: java.lang.RuntimeException: 
> Error receiving broadcast Intent { act=android.intent.action.PHONE_STATE 
> flg=0x10 (has extras) } in org.apache.cordova.CoreAndroid$5@ea96372
> 07-30 16:53:39.932 23393 23393 E AndroidRuntime:      at 
> android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:934)
> 07-30 16:53:39.932 23393 23393 E AndroidRuntime:      at 
> android.os.Handler.handleCallback(Handler.java:815)
> 07-30 16:53:39.932 23393 23393 E AndroidRuntime:      at 
> android.os.Handler.dispatchMessage(Handler.java:104)
> 07-30 16:53:39.932 23393 23393 E AndroidRuntime:      at 
> android.os.Looper.loop(Looper.java:207)
> 07-30 16:53:39.932 23393 23393 E AndroidRuntime:      at 
> android.app.ActivityThread.main(ActivityThread.java:5701)
> 07-30 16:53:39.932 23393 23393 E AndroidRuntime:      at 
> java.lang.reflect.Method.invoke(Native Method)
> 07-30 16:53:39.932 23393 23393 E AndroidRuntime:      at 
> com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888)
> 07-30 16:53:39.932 23393 23393 E AndroidRuntime:      at 
> com.android.internal.os.ZygoteInit.main(ZygoteInit.java:749)
> 07-30 16:53:39.932 23393 23393 E AndroidRuntime: Caused by: 
> java.lang.NullPointerException: rhs == null
> 07-30 16:53:39.932 23393 23393 E AndroidRuntime:      at 
> java.lang.String.compareTo(Native Method)
> 07-30 16:53:39.932 23393 23393 E AndroidRuntime:      at 
> org.apache.cordova.media.AudioPlayer.readyPlayer(AudioPlayer.java:492)
> 07-30 16:53:39.932 23393 23393 E AndroidRuntime:      at 
> org.apache.cordova.media.AudioPlayer.startPlaying(AudioPlayer.java:217)
> 07-30 16:53:39.932 23393 23393 E AndroidRuntime:      at 
> org.apache.cordova.media.AudioHandler.onMessage(AudioHandler.java:199)
> 07-30 16:53:39.932 23393 23393 E AndroidRuntime:      at 
> org.apache.cordova.PluginManager.postMessage(PluginManager.java:312)
> 07-30 16:53:39.932 23393 23393 E AndroidRuntime:      at 
> org.apache.cordova.CoreAndroid$5.onReceive(CoreAndroid.java:298)
> 07-30 16:53:39.932 23393 23393 E AndroidRuntime:      at 
> android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:924)
> 07-30 16:53:39.932 23393 23393 E AndroidRuntime:      ... 7 more



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to