TeamAmaze / TeamAmaze/AmazeFileManager

NPE on `MainFragment#loadlist`

Open
#3,516 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Crash-NullPointerException Issue-Bug Issue-Severe (high)
Dominant language
Kotlin
Stars
6.4k
Forks
1.7k
Avg merge
3d 9h
Merged PRs (30d)
1

Description

Issue explanation (write below this line)

Exception

  • App Name: Amaze
  • Package: com.amaze.filemanager
  • Version: 3.8.2
  • User Action: UI Error
  • Request: Application crash
  • OS: Linux
    OnePlus/OnePlus9_EEA/OnePlus9:12/RKQ1.211119.001/R.GDPR.202205311640:user/release-keys
    12 - 31
  • Device: OnePlus9
  • Model: LE2113
  • Product: OnePlus9_EEA
Crash log

java.lang.NullPointerException: Parameter specified as non-null is null:
method kotlin.jvm.internal.Intrinsics.checkNotNullParameter, parameter path
at
com.amaze.filemanager.filesystem.FileProperties.remapPathForApi30OrAbove(Unknown
Source:2)
at
com.amaze.filemanager.ui.fragments.MainFragment.loadlist(MainFragment.java:582)
at
com.amaze.filemanager.ui.fragments.MainFragment.goBack(MainFragment.java:1085)
at
com.amaze.filemanager.ui.activities.MainActivity.lambda$onBackPressed$6(MainActivity.java:895)
at
com.amaze.filemanager.ui.activities.MainActivity.$r8$lambda$fKbQXJTjmE3tEXFhvzq2Q8y2c_E(Unknown
Source:0)
at
com.amaze.filemanager.ui.activities.MainActivity$$ExternalSyntheticLambda14.apply(Unknown
Source:2)
at
com.amaze.filemanager.ui.activities.MainActivity.executeWithMainFragment(MainActivity.java:2504)
at
com.amaze.filemanager.ui.activities.MainActivity.executeWithMainFragment(MainActivity.java:2496)
at
com.amaze.filemanager.ui.activities.MainActivity.onBackPressed(MainActivity.java:893)
at android.app.Activity.onKeyUp(Activity.java:3863)
at android.view.KeyEvent.dispatch(KeyEvent.java:2878)
at android.app.Activity.dispatchKeyEvent(Activity.java:4216)
at
androidx.core.app.ComponentActivity.superDispatchKeyEvent(ComponentActivity.java:122)
at
androidx.core.view.KeyEventDispatcher.dispatchKeyEvent(KeyEventDispatcher.java:84)
at
androidx.core.app.ComponentActivity.dispatchKeyEvent(ComponentActivity.java:140)
at
androidx.appcompat.app.AppCompatActivity.dispatchKeyEvent(AppCompatActivity.java:599)
at
androidx.appcompat.view.WindowCallbackWrapper.dispatchKeyEvent(WindowCallbackWrapper.java:59)
at
androidx.appcompat.app.AppCompatDelegateImpl$AppCompatWindowCallback.dispatchKeyEvent(AppCompatDelegateImpl.java:3068)
at
androidx.appcompat.view.WindowCallbackWrapper.dispatchKeyEvent(WindowCallbackWrapper.java:59)
at
com.android.internal.policy.DecorView.dispatchKeyEvent(DecorView.java:448)
at
android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:6665)
at
android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:6522)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5995)
at
android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:6057)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:6018)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:6192)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:6026)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:6249)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5999)
at
android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:6057)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:6018)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:6026)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5999)
at
android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:6057)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:6018)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:6225)
at
android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:6383)
at
android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:3284)
at
android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:2840)
at
android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:2831)
at
android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:3261)
at
android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:154)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:339)
at android.os.Looper.loopOnce(Looper.java:179)
at android.os.Looper.loop(Looper.java:344)
at android.app.ActivityThread.main(ActivityThread.java:8212)
at java.lang.reflect.Method.invoke(Native Method)
at
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1034)


Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Inspect FileProperties.remapPathForApi30OrAbove and MainFragment.loadlist at line 582, using the Android 12 crash trace as the starting point. Reproduce the back-navigation flow if possible and verify that returning through MainFragment no longer passes a null path or crashes.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
mobile
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.