Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

java.lang.NullPointerException: Attempt to invoke virtual method 'int[] com.codekidlabs.storagechooser.models.Config.getScheme()' #108

Open
ankitgupta199 opened this issue Jul 25, 2019 · 12 comments

Comments

@ankitgupta199
Copy link

1- Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{***}: java.lang.NullPointerException: Attempt to invoke virtual method 'int[] com.codekidlabs.storagechooser.models.Config.getScheme()' on a null object reference

2- java.lang.NullPointerException: Attempt to invoke virtual method 'com.codekidlabs.storagechooser.Content com.codekidlabs.storagechooser.models.Config.getContent()

3- Fatal Exception: java.lang.IndexOutOfBoundsException: Index: 4, Size: 4

4- Fatal Exception: java.lang.RuntimeException: An error occured while executing doInBackground()

5-Fatal Exception: java.lang.IllegalArgumentException: Invalid path: /storage/emulated/0

6-Caused by android.system.ErrnoException: statvfs failed: ENOENT (No such file or directory)
at libcore.io.Posix.statvfs(Posix.java)

I am getting above errors for version 2.0.4.2, I am getting errors frequently and too much in my crashlytics, but not getting in actual when I test it on any device, how can I fix these errors as it's full log shows error in only this library?

@codekidX
Copy link
Owner

  1. You are setting theme but you are not setting scheme

  2. line numbers are important for this, please paste full log

  3. Which file?

  4. Full log

  5. Which android version this came for? full log

  6. I think some user has a storage that is not supported by the statfs (example some chinese OEMs)

@ankitgupta199
Copy link
Author

ankitgupta199 commented Jul 27, 2019

I am mentioning here full log of my code for setting scheme and theme for 1st question-
1-(a) I tried to set scheme this way, also mentioning second way below

`StorageChooser.Theme theme = new StorageChooser.Theme(getActivity());
int[] myScheme = theme.getDefaultScheme();
// this is overview dialog list color
myScheme[StorageChooser.Theme.OVERVIEW_HEADER_INDEX] = getActivity().getResources().getColor(R.color.colorAccent);
myScheme[StorageChooser.Theme.OVERVIEW_BG_INDEX] = getActivity().getResources().getColor(R.color.white);
myScheme[StorageChooser.Theme.OVERVIEW_INDICATOR_INDEX] = getActivity().getResources().getColor(R.color.c_252525);
myScheme[StorageChooser.Theme.OVERVIEW_STORAGE_TEXT_INDEX] = getActivity().getResources().getColor(R.color.c_252525);
myScheme[StorageChooser.Theme.OVERVIEW_TEXT_INDEX] = getActivity().getResources().getColor(R.color.white);
myScheme[StorageChooser.Theme.OVERVIEW_MEMORYBAR_INDEX] = getActivity().getResources().getColor(R.color.colorAccent);

    // this is secondary dialog list color
    myScheme[StorageChooser.Theme.SEC_BG_INDEX] = getActivity().getResources().getColor(R.color.white);
    myScheme[StorageChooser.Theme.SEC_FOLDER_TINT_INDEX] = getActivity().getResources().getColor(R.color.colorAccent);
    myScheme[StorageChooser.Theme.SEC_ADDRESS_BAR_BG] = getActivity().getResources().getColor(R.color.c_c5c5c5);
    myScheme[StorageChooser.Theme.SEC_ADDRESS_TINT_INDEX] = getActivity().getResources().getColor(R.color.c_252525);
    myScheme[StorageChooser.Theme.SEC_FOLDER_CREATION_BG_INDEX] = getActivity().getResources().getColor(R.color.c_da6c6c);
    myScheme[StorageChooser.Theme.SEC_DONE_FAB_INDEX] = getActivity().getResources().getColor(R.color.colorAccent);
    myScheme[StorageChooser.Theme.SEC_SELECT_LABEL_INDEX] = getActivity().getResources().getColor(R.color.colorAccent);
    myScheme[StorageChooser.Theme.SEC_HINT_TINT_INDEX] = getActivity().getResources().getColor(R.color.colorAccent);
    myScheme[StorageChooser.Theme.SEC_TEXT_INDEX] = getActivity().getResources().getColor(R.color.c_252525);

    theme.setScheme(myScheme);

`

1- (b)- Second way-

StorageChooser.Theme theme = new StorageChooser.Theme(getActivity()); theme.setScheme(getResources().getIntArray(R.array.paranoid_theme));

Set scheme in Theme

StorageChooser chooser = new StorageChooser.Builder() .withActivity(getActivity()) .withFragmentManager(getFragmentManager()) .allowCustomPath(true) .setType(StorageChooser.FILE_PICKER) .filter(StorageChooser.FileType.DOCS) .withMemoryBar(true) .setTheme(theme) .build(); chooser.show();

In both cases I got same logs, mentioning below crash logs-

1- Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.app/com.example.app.PdfActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'int[] com.codekidlabs.storagechooser.models.Config.getScheme()' on a null object reference
at android.app.ActivityThread.performLaunchActivity + 2817(ActivityThread.java:2817)
at android.app.ActivityThread.handleLaunchActivity + 2895(ActivityThread.java:2895)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage + 1616(ActivityThread.java:1616)
at android.os.Handler.dispatchMessage + 106(Handler.java:106)
at android.os.Looper.loop + 176(Looper.java:176)
at android.app.ActivityThread.main + 6651(ActivityThread.java:6651)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run + 547(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main + 824(ZygoteInit.java:824)

2- Caused by java.lang.NullPointerException: Attempt to invoke virtual method 'int[] com.codekidlabs.storagechooser.models.Config.getScheme()' on a null object reference
at com.codekidlabs.storagechooser.fragments.SecondaryChooserFragment.getLayout + 335(SecondaryChooserFragment.java:335)
at com.codekidlabs.storagechooser.fragments.SecondaryChooserFragment.onCreateDialog + 744(SecondaryChooserFragment.java:744)
at android.app.DialogFragment.onGetLayoutInflater + 406(DialogFragment.java:406)
at android.app.Fragment.performGetLayoutInflater + 1325(Fragment.java:1325)
at android.app.FragmentManagerImpl.moveToState + 1279(FragmentManagerImpl.java:1279)
at android.app.FragmentManagerImpl.moveFragmentToExpectedState + 1562(FragmentManagerImpl.java:1562)
at android.app.FragmentManagerImpl.moveToState + 1623(FragmentManagerImpl.java:1623)
at android.app.FragmentManagerImpl.dispatchMoveToState + 3032(FragmentManagerImpl.java:3032)
at android.app.FragmentManagerImpl.dispatchActivityCreated + 2984(FragmentManagerImpl.java:2984)
at android.app.FragmentController.dispatchActivityCreated + 178(FragmentController.java:178)
at android.app.Activity.performCreate + 7094(Activity.java:7094)
at android.app.Activity.performCreate + 7079(Activity.java:7079)
at android.app.Instrumentation.callActivityOnCreate + 1215(Instrumentation.java:1215)
at android.app.ActivityThread.performLaunchActivity + 2770(ActivityThread.java:2770)
at android.app.ActivityThread.handleLaunchActivity + 2895(ActivityThread.java:2895)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage + 1616(ActivityThread.java:1616)
at android.os.Handler.dispatchMessage + 106(Handler.java:106)
at android.os.Looper.loop + 176(Looper.java:176)
at android.app.ActivityThread.main + 6651(ActivityThread.java:6651)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run + 547(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main + 824(ZygoteInit.java:824)

@ankitgupta199
Copy link
Author

ankitgupta199 commented Jul 27, 2019

**Another Logs
2-
Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.app/com.example.app.activity.PdfActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'com.codekidlabs.storagechooser.Content com.codekidlabs.storagechooser.models.Config.getContent()' on a null object reference
at android.app.ActivityThread.performLaunchActivity + 2830(ActivityThread.java:2830)
at android.app.ActivityThread.handleLaunchActivity + 2909(ActivityThread.java:2909)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage + 1606(ActivityThread.java:1606)
at android.os.Handler.dispatchMessage + 105(Handler.java:105)
at android.os.Looper.loop + 164(Looper.java:164)
at android.app.ActivityThread.main + 6592(ActivityThread.java:6592)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run + 240(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main + 769(ZygoteInit.java:769)


Caused by java.lang.NullPointerException: Attempt to invoke virtual method 'com.codekidlabs.storagechooser.Content com.codekidlabs.storagechooser.models.Config.getContent()' on a null object reference
at com.codekidlabs.storagechooser.fragments.ChooserDialogFragment.getLayout + 78(ChooserDialogFragment.java:78)
at com.codekidlabs.storagechooser.fragments.ChooserDialogFragment.onCreateDialog + 299(ChooserDialogFragment.java:299)
at android.app.DialogFragment.onGetLayoutInflater + 406(DialogFragment.java:406)
at android.app.Fragment.performGetLayoutInflater + 1429(Fragment.java:1429)
at android.app.FragmentManagerImpl.moveToState + 1276(FragmentManagerImpl.java:1276)
at android.app.FragmentManagerImpl.moveFragmentToExpectedState + 1549(FragmentManagerImpl.java:1549)
at android.app.FragmentManagerImpl.moveToState + 1611(FragmentManagerImpl.java:1611)
at android.app.FragmentManagerImpl.dispatchMoveToState + 3039(FragmentManagerImpl.java:3039)
at android.app.FragmentManagerImpl.dispatchActivityCreated + 2991(FragmentManagerImpl.java:2991)
at android.app.FragmentController.dispatchActivityCreated + 178(FragmentController.java:178)
at android.app.Activity.performCreateCommon + 6978(Activity.java:6978)
at android.app.Activity.performCreate + 6986(Activity.java:6986)
at android.app.Instrumentation.callActivityOnCreate + 1235(Instrumentation.java:1235)
at android.app.ActivityThread.performLaunchActivity + 2783(ActivityThread.java:2783)
at android.app.ActivityThread.handleLaunchActivity + 2909(ActivityThread.java:2909)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage + 1606(ActivityThread.java:1606)
at android.os.Handler.dispatchMessage + 105(Handler.java:105)
at android.os.Looper.loop + 164(Looper.java:164)
at android.app.ActivityThread.main + 6592(ActivityThread.java:6592)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run + 240(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main + 769(ZygoteInit.java:769)


3-
Fatal Exception: java.lang.IndexOutOfBoundsException: Index: 2, Size: 1
at java.util.ArrayList.get + 411(ArrayList.java:411)
at com.codekidlabs.storagechooser.fragments.SecondaryChooserFragment$5$1.run + 153(SecondaryChooserFragment.java:153)
at android.os.Handler.handleCallback + 836(Handler.java:836)
at android.os.Handler.dispatchMessage + 103(Handler.java:103)
at android.os.Looper.loop + 203(Looper.java:203)
at android.app.ActivityThread.main + 6328(ActivityThread.java:6328)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run + 1076(ZygoteInit.java:1076)
at com.android.internal.os.ZygoteInit.main + 937(ZygoteInit.java:937)


Fatal Exception: java.lang.IndexOutOfBoundsException: Invalid index 205, size is 0
at java.util.ArrayList.throwIndexOutOfBoundsException + 260(ArrayList.java:260)
at java.util.ArrayList.get + 313(ArrayList.java:313)
at com.codekidlabs.storagechooser.adapters.SecondaryChooserAdapter.getView + 73(SecondaryChooserAdapter.java:73)
at android.widget.AbsListView.obtainView + 2570(AbsListView.java:2570)
at android.widget.ListView.makeAndAddView + 1920(ListView.java:1920)
at android.widget.ListView.fillUp + 751(ListView.java:751)
at android.widget.ListView.fillGap + 690(ListView.java:690)
at android.widget.AbsListView.trackMotionScroll + 5862(AbsListView.java:5862)
at android.widget.AbsListView$FlingRunnable.run + 5323(AbsListView.java:5323)
at android.view.Choreographer$CallbackRecord.run + 911(Choreographer.java:911)
at android.view.Choreographer.doCallbacks + 713(Choreographer.java:713)
at android.view.Choreographer.doFrame + 645(Choreographer.java:645)
at android.view.Choreographer$FrameDisplayEventReceiver.run + 897(Choreographer.java:897)
at android.os.Handler.handleCallback + 815(Handler.java:815)
at android.os.Handler.dispatchMessage + 104(Handler.java:104)
at android.os.Looper.loop + 207(Looper.java:207)
at android.app.ActivityThread.main + 5790(ActivityThread.java:5790)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run + 1015(ZygoteInit.java:1015)
at com.android.internal.os.ZygoteInit.main + 876(ZygoteInit.java:876)


4-
Fatal Exception: java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done + 304(AsyncTask.java:304)
at java.util.concurrent.FutureTask.finishCompletion + 355(FutureTask.java:355)
at java.util.concurrent.FutureTask.setException + 222(FutureTask.java:222)
at java.util.concurrent.FutureTask.run + 242(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run + 231(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker + 1112(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run + 587(ThreadPoolExecutor.java:587)
at java.lang.Thread.run + 818(Thread.java:818)



Caused by java.lang.NullPointerException: Attempt to get length of null array
at com.codekidlabs.storagechooser.filters.UniversalFileFilter.findInDirectory + 96(UniversalFileFilter.java:96)
at com.codekidlabs.storagechooser.filters.UniversalFileFilter.accept + 51(UniversalFileFilter.java:51)
at java.io.File.listFiles + 825(File.java:825)
at com.codekidlabs.storagechooser.fragments.SecondaryChooserFragment$FileFilterTask.doInBackground$5f8445a4 + 821(SecondaryChooserFragment.java:821)
at com.codekidlabs.storagechooser.fragments.SecondaryChooserFragment$FileFilterTask.doInBackground + 795(SecondaryChooserFragment.java:795)
at android.os.AsyncTask$2.call + 292(AsyncTask.java:292)
at java.util.concurrent.FutureTask.run + 237(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run + 231(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker + 1112(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run + 587(ThreadPoolExecutor.java:587)
at java.lang.Thread.run + 818(Thread.java:818)


5-- (This crash came in version 7.1.2 for Mircomax- Canvas Infinity device)
Fatal Exception: java.lang.IllegalArgumentException: Invalid path: /storage/emulated/0
at android.os.StatFs.doStat + 46(StatFs.java:46)
at android.os.StatFs.(StatFs.java:39)
at com.codekidlabs.storagechooser.utils.MemoryUtil.getTotalMemorySize + 71(MemoryUtil.java:71)
at com.codekidlabs.storagechooser.fragments.ChooserDialogFragment.populateList + 256(ChooserDialogFragment.java:256)
at com.codekidlabs.storagechooser.fragments.ChooserDialogFragment.initListView + 114(ChooserDialogFragment.java:114)
at com.codekidlabs.storagechooser.fragments.ChooserDialogFragment.getLayout + 84(ChooserDialogFragment.java:84)
at com.codekidlabs.storagechooser.fragments.ChooserDialogFragment.onCreateDialog + 299(ChooserDialogFragment.java:299)
at android.app.DialogFragment.getLayoutInflater + 406(DialogFragment.java:406)
at android.app.FragmentManagerImpl.moveToState + 995(FragmentManagerImpl.java:995)
at android.app.FragmentManagerImpl.moveToState + 1171(FragmentManagerImpl.java:1171)
at android.app.BackStackRecord.run + 832(BackStackRecord.java:832)
at android.app.FragmentManagerImpl.execPendingActions + 1578(FragmentManagerImpl.java:1578)
at android.app.FragmentManagerImpl$1.run + 483(FragmentManagerImpl.java:483)
at android.os.Handler.handleCallback + 751(Handler.java:751)
at android.os.Handler.dispatchMessage + 95(Handler.java:95)
at android.os.Looper.TinnoLoop + 150(Looper.java:150)
at android.os.Looper.loop + 208(Looper.java:208)
at android.app.ActivityThread.main + 6175(ActivityThread.java:6175)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run + 889(ZygoteInit.java:889)
at com.android.internal.os.ZygoteInit.main + 779(ZygoteInit.java:779)


6-
Caused by android.system.ErrnoException: statvfs failed: ENOENT (No such file or directory)
at libcore.io.Posix.statvfs(Posix.java)
at libcore.io.BlockGuardOs.statvfs + 304(BlockGuardOs.java:304)
at android.system.Os.statvfs + 506(Os.java:506)
at android.os.StatFs.doStat + 44(StatFs.java:44)
at android.os.StatFs.(StatFs.java:39)
at com.codekidlabs.storagechooser.utils.MemoryUtil.getTotalMemorySize + 71(MemoryUtil.java:71)
at com.codekidlabs.storagechooser.fragments.ChooserDialogFragment.populateList + 256(ChooserDialogFragment.java:256)
at com.codekidlabs.storagechooser.fragments.ChooserDialogFragment.initListView + 114(ChooserDialogFragment.java:114)
at com.codekidlabs.storagechooser.fragments.ChooserDialogFragment.getLayout + 84(ChooserDialogFragment.java:84)
at com.codekidlabs.storagechooser.fragments.ChooserDialogFragment.onCreateDialog + 299(ChooserDialogFragment.java:299)
at android.app.DialogFragment.getLayoutInflater + 406(DialogFragment.java:406)
at android.app.FragmentManagerImpl.moveToState + 995(FragmentManagerImpl.java:995)
at android.app.FragmentManagerImpl.moveToState + 1171(FragmentManagerImpl.java:1171)
at android.app.BackStackRecord.run + 832(BackStackRecord.java:832)
at android.app.FragmentManagerImpl.execPendingActions + 1578(FragmentManagerImpl.java:1578)
at android.app.FragmentManagerImpl$1.run + 483(FragmentManagerImpl.java:483)
at android.os.Handler.handleCallback + 751(Handler.java:751)
at android.os.Handler.dispatchMessage + 95(Handler.java:95)
at android.os.Looper.TinnoLoop + 150(Looper.java:150)
at android.os.Looper.loop + 208(Looper.java:208)
at android.app.ActivityThread.main + 6175(ActivityThread.java:6175)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run + 889(ZygoteInit.java:889)
at com.android.internal.os.ZygoteInit.main + 779(ZygoteInit.java:779)**

@ankitgupta199
Copy link
Author

@codekidX I had shared all logs, please check once and tell me about solutions.

@codekidX
Copy link
Owner

codekidX commented Aug 2, 2019

1st things 1st upgrade to 2.0.4.4. These logs are pretty weird I'll separately test them with your code and let you know.

@ankitgupta199
Copy link
Author

Yes, I can upgrade in 2.0.4.4, but for that I have required to upgrade my all code in androidx, as I tried ,so I am doing that changes and that will take time to upgrade all code, but if possible then please tell me these logs solutions at least for 1 & 2 points, both logs are coming too frequently.

@ankitgupta199
Copy link
Author

@codekidX- I upgragded library 2.0.4.4, but still getting crashes for above mentioned points, can you suggest me any solution.

@codekidX
Copy link
Owner

codekidX commented Nov 9, 2019

@ankitgupta199 will you be willing to give me a screen recording of how you get this error. It would be helpful to identify on which step you get this crashes (if you have encountered it yourself).

Btw if any of the old users who did not update might be crashes, are you sure the users upgraded your app?

@muzzikapp
Copy link

Fixed in my fork branch, basicly what i do is if i got an exception i set the selected folder to default music folder (at least app doesnt crash because of this)

https://github.com/muzzikapp/storage-chooser

@codekidX
Copy link
Owner

@muzzikapp thanks for this, I'll handle it in current branch and create a release.

@ankitgupta199
Copy link
Author

@codekidX , I am not getting these crashes on my devices when I test it , but getting crash logs from crashlytics and firebase for others users who is using app, so I can provide you only these logs. Also I have upgraded this library for 2.0.4.4 and as per analytics I can track that 95% users upgraded app, and I am still getting same logs from upgraded users. Is there I need to make any change again in version or anywhere in library, please suggest me that?

@TehreemMasooman
Copy link

Any Body Solve this Issu Please Share it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants