Project Information
Repository: https://github.com/rparkins999/CalendarTrigger
Project Name: Calendar Trigger
Publisher: https://github.com/rparkins999
Expected behaviour
When a user indicates that they would like to browse a sound file for after enabling notifications on "event end of action for class X" a user should be presented with a file picker to select a sound. (A user may be presented with a pre-defined list of available sounds from the default Android sounds instead).
Actual behaviour
When a user indicates that they would like to browse a sound file for after enabling notifications on "event end of action for class X" a fatal exception occurs.
How to reproduce
- From either a fresh install or existing install select "Create new event class" located within the top navigation bar.
- When the create new event class option is presented you can name your class anything. However, for clarity, this should be named "testClass"
- Submit the new name, you will be presented with the ability to select from the different actions that can be configured against a class. Select "Event end action for testClass".
- Enable "show a notification"
- Click browse for a sound file (written in italics at the bottom of the list) (The application will crash).
Logs
05-26 22:31:20.652 11789-11789/uk.co.yahoo.p1rpp.calendartrigger E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.co.yahoo.p1rpp.calendartrigger, PID: 11789
java.lang.NullPointerException: Attempt to get length of null array
at uk.co.yahoo.p1rpp.calendartrigger.activites.l.b(Unknown Source:39)
at uk.co.yahoo.p1rpp.calendartrigger.activites.FileListView.a(Unknown Source:30)
at uk.co.yahoo.p1rpp.calendartrigger.activites.j.onViewCreated(Unknown Source:59)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1289)
at android.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1557)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1618)
at android.app.BackStackRecord.executeOps(BackStackRecord.java:807)
at android.app.FragmentManagerImpl.executeOps(FragmentManager.java:2386)
at android.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2181)
at android.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2136)
at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2043)
at android.app.FragmentManagerImpl$1.run(FragmentManager.java:719)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
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)
Environment
Tested on multiple different Android versions both using a physical device and emulators.
Device | Android Version | Emulator/Physical | Reproducible? |
---|---|---|---|
Motorola 3 (3rd Generation) | 6.0.1 | Physical | No |
Pixel 2 | 6.0 | Emulated | No |
Pixel 2 | 7.1 | Emulated | Yes |
Pixel 2 | 8.0 | Emulated | Yes |
Application Version: 2.0
Recording of the issue
The following video shows the issue in more detail, the video was taken on the 8.0 emulator.
Proof of work
- My GitHub account: https://github.com/tobias-g1
- The issue has been reported here: https://github.com/rparkins999/CalendarTrigger/issues/8