NeutrinosPlatform / cordova-plugin-document-scanner

cordova plugin for document scan
https://www.neutrinos.co/
MIT License
85 stars 60 forks source link

Crash on android with scanDoc 1 #5

Closed dylanvdmerwe closed 6 years ago

dylanvdmerwe commented 6 years ago

Crash occurs with the following code:

    scan.scanDoc(1, (imgUri) => {
      console.log(imgUri);
    }, (err) => {
      console.error(err);
    });

The aim is to open the camera to scan a document. Tested on Android 8.1 (Pixel 2 XL).

Note that scan.scanDoc(0 works as expected.

Crash:

   --------- beginning of crash
05-05 13:07:00.885 7415-7415/io.ionic.starter E/AndroidRuntime: FATAL EXCEPTION: main
    Process: io.ionic.starter, PID: 7415
    java.lang.RuntimeException: Unable to start activity ComponentInfo{io.ionic.starter/com.scanlibrary.ScanActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager, java.lang.String)' on a null object reference
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2778)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
        at android.app.ActivityThread.-wrap11(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6494)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
     Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager, java.lang.String)' on a null object reference
        at android.support.v4.content.FileProvider.parsePathStrategy(FileProvider.java:583)
        at android.support.v4.content.FileProvider.getPathStrategy(FileProvider.java:557)
        at android.support.v4.content.FileProvider.getUriForFile(FileProvider.java:399)
        at com.scanlibrary.PickImageFragment.openCamera(PickImageFragment.java:279)
        at com.scanlibrary.PickImageFragment.handleIntentPreference(PickImageFragment.java:226)
        at com.scanlibrary.PickImageFragment.checkMultiplePermissions(PickImageFragment.java:182)
        at com.scanlibrary.PickImageFragment.init(PickImageFragment.java:84)
        at com.scanlibrary.PickImageFragment.onCreateView(PickImageFragment.java:74)
        at android.app.Fragment.performCreateView(Fragment.java:2508)
        at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1279)
        at android.app.FragmentManagerImpl.addAddedFragments(FragmentManager.java:2407)
        at android.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2186)
        at android.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2142)
        at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2043)
        at android.app.FragmentManagerImpl.dispatchMoveToState(FragmentManager.java:3032)
        at android.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:2979)
        at android.app.FragmentController.dispatchActivityCreated(FragmentController.java:178)
        at android.app.Activity.performCreate(Activity.java:7005)
        at android.app.Activity.performCreate(Activity.java:6990)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856) 
        at android.app.ActivityThread.-wrap11(Unknown Source:0) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:164) 
        at android.app.ActivityThread.main(ActivityThread.java:6494) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) 

System Info

cli packages: (/usr/local/lib/node_modules)

    @ionic/cli-utils  : 1.19.2
    ionic (Ionic CLI) : 3.20.0

global packages:

    cordova (Cordova CLI) : 8.0.0

local packages:

    @ionic/app-scripts : 3.1.9
    Cordova Platforms  : android 7.2.0-nightly.2018.5.5.59e3b907
    Ionic Framework    : ionic-angular 3.9.2

System:

    ios-deploy : 1.9.2
    ios-sim    : 6.1.2
    Node       : v8.11.1
    npm        : 5.8.0
    OS         : macOS High Sierra
    Xcode      : Xcode 9.3 Build version 9E145

See attached repo. document-scanner.zip

ChrisTomAlx commented 6 years ago

Oh. I see. Looking into this. Will get back to you as soon as possible.

ChrisTomAlx commented 6 years ago

Apologies for the delay. This issue has now been fixed and tested. Closing the issue for now. Please do let us know if you are still running into problems.

dylanvdmerwe commented 6 years ago

Confirmed working on Android thank you. Will test iOS later.