Did created CB-7106:
-----------------------

             Summary: NullPointerException at App startup if SD-Card is absent
                 Key: CB-7106
                 URL: https://issues.apache.org/jira/browse/CB-7106
             Project: Apache Cordova
          Issue Type: Bug
          Components: Android, Plugin File
    Affects Versions: 3.5.0
         Environment: Android 4.0.3, Industrial Handheld, using 
cordova-plugin-file
            Reporter: Did


in the Android implementation of cordova-plugin-file an exception is thrown 
when the device has no sd-card:

07-09 06:56:32.400: E/PluginManager(2877): Uncaught exception from plugin
07-09 06:56:32.400: E/PluginManager(2877): java.lang.NullPointerException
07-09 06:56:32.400: E/PluginManager(2877):      at 
org.apache.cordova.file.FileUtils.requestAllPaths(FileUtils.java:866)
07-09 06:56:32.400: E/PluginManager(2877):      at 
org.apache.cordova.file.FileUtils.execute(FileUtils.java:348)
07-09 06:56:32.400: E/PluginManager(2877):      at 
org.apache.cordova.CordovaPlugin.execute(CordovaPlugin.java:65)
07-09 06:56:32.400: E/PluginManager(2877):      at 
org.apache.cordova.PluginManager.execHelper(PluginManager.java:242)
07-09 06:56:32.400: E/PluginManager(2877):      at 
org.apache.cordova.PluginManager.exec(PluginManager.java:227)
07-09 06:56:32.400: E/PluginManager(2877):      at 
org.apache.cordova.ExposedJsApi.exec(ExposedJsApi.java:53)
07-09 06:56:32.400: E/PluginManager(2877):      at 
org.apache.cordova.CordovaChromeClient.onJsPrompt(CordovaChromeClient.java:227)
07-09 06:56:32.400: E/PluginManager(2877):      at 
android.webkit.CallbackProxy.handleMessage(CallbackProxy.java:600)
07-09 06:56:32.400: E/PluginManager(2877):      at 
android.os.Handler.dispatchMessage(Handler.java:99)
07-09 06:56:32.400: E/PluginManager(2877):      at 
android.os.Looper.loop(Looper.java:137)
07-09 06:56:32.400: E/PluginManager(2877):      at 
android.app.ActivityThread.main(ActivityThread.java:4424)
07-09 06:56:32.400: E/PluginManager(2877):      at 
java.lang.reflect.Method.invokeNative(Native Method)
07-09 06:56:32.400: E/PluginManager(2877):      at 
java.lang.reflect.Method.invoke(Method.java:511)
07-09 06:56:32.400: E/PluginManager(2877):      at 
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
07-09 06:56:32.400: E/PluginManager(2877):      at 
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
07-09 06:56:32.400: E/PluginManager(2877):      at 
dalvik.system.NativeStart.main(Native Method)

the documentation for context.getExternal... (i.e.: 
context.getExternalFilesDir, context.getExternalCacheDir())
tells there is NULL returned if no external storage is available

this leads to a problem for calls like this:
context.getExternalFilesDir(null).getParentFile();

context.getExternalFilesDir(null) returns null and there is a call to 
null.getParentFile(); which throws NullPointerException



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to