[
https://issues.apache.org/jira/browse/CB-10554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15198163#comment-15198163
]
ASF GitHub Bot commented on CB-10554:
-------------------------------------
Github user riknoll commented on the pull request:
https://github.com/apache/cordova-plugin-media-capture/pull/51#issuecomment-197549101
@adamduren I've tested this and the save/restore stuff appears to work
great! There is an issue, however, with the results that are returned in the
resume event. They need to be wrapped in `MediaFile` objects before use. This
was also an issue in the Contacts plugin where they needed to be wrapped in a
`Contact` object and the solution was to just provide an example of how to do
that in the README (see
[here](https://github.com/apache/cordova-plugin-contacts#android-quirks)). In
this plugin it is a little bit trickier because we need to decide how to expose
the `MediaFile` object creation. Currently, it just happens in the `exec`
callback
[here](https://github.com/apache/cordova-plugin-media-capture/blob/0867898701c9f547dddd8448bfc0f46d6ae14008/www/capture.js#L34)
without a public API. Thoughts? Maybe we should add a `MediaFile` constructor
that encapsulates that `exec` callback? That at least would not be a breaking
change.
> Media Capture: Null reference in low memory conditions
> ------------------------------------------------------
>
> Key: CB-10554
> URL: https://issues.apache.org/jira/browse/CB-10554
> Project: Apache Cordova
> Issue Type: Bug
> Components: Plugin Media Capture
> Environment: android
> Reporter: Adam Duren
> Assignee: Richard B Knoll
> Priority: Critical
> Labels: PR, android, pendingPR, triaged
>
> I have been testing my app in low memory conditions by setting the android
> developer setting of "Don't keep Activities" which simulates low memory
> conditions. Every time I use the capture plugin for video when returning from
> the capture activity the app crashes. It appears that the state is not saved
> and on resume there are now null references such as the callbackContext and
> results array. It is fixed by using the onRestoreStateForActivityResult and
> onSaveInstanceState methods.
> *Related Exception*
> {quote}
> 7 14:30:31.181 23432-24842/com.ionicframework.alto442183 E/AndroidRuntime:
> FATAL EXCEPTION: pool-3-thread-2
>
> Process: com.ionicframework.alto442183, PID: 23432
>
> java.lang.NullPointerException: Attempt to invoke virtual method 'void
> org.apache.cordova.CallbackContext.sendPluginResult(org.apache.cordova.PluginResult)'
> on a null object reference
>
> at org.apache.cordova.mediacapture.Capture$3.run(Capture.java:396)
>
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
>
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
>
> at java.lang.Thread.run(Thread.java:818)
> {quote}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]