gdgfresno / androidify-yourself

Androidify Yourself app for 2017 Valley DevFest, based on the GDG Riga event app
https://vdf2017-3a9f6.firebaseapp.com/participants/
MIT License
1 stars 0 forks source link

submitAvatar can lead to NPE #5

Closed MrCsabaToth closed 4 years ago

MrCsabaToth commented 4 years ago

Seeing this in App Store crash reports. Call stack:

java.lang.NullPointerException: 
  at com.valleydevfest.androidify.PlaceholderFragment.lambda$submitAvatar$0$PlaceholderFragment (PlaceholderFragment.java:112)
  at com.valleydevfest.androidify.-$$Lambda$PlaceholderFragment$tn98i92uumib3du7fkOl7pyG97M.onComplete (lambda)
  at com.google.firebase.database.core.Repo$6.run (Repo.java:406)
  at android.os.Handler.handleCallback (Handler.java:754)
  at android.os.Handler.dispatchMessage (Handler.java:95)
  at android.os.Looper.loop (Looper.java:165)
  at android.app.ActivityThread.main (ActivityThread.java:6375)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:912)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:802)

https://play.google.com/console/u/0/developers/7696534728259995393/app/4972777259653312467/vitals/crashes/62fdf4eb/details?installedFrom=PLAY_STORE&days=30

Screenshot_2020-09-04_22-25-35

MrCsabaToth commented 4 years ago

Line 112 is the seemingly harmless Toast message about the successful save.

                Toast.makeText(getActivity().getApplicationContext(),
                        getResources().getString(R.string.figure_saved),
                        Toast.LENGTH_SHORT).show();

Now, Android Studio even warns me that .getApplicationContext() can throw an NPE. According to some SO entries

https://stackoverflow.com/questions/23706939/android-programming-fragments-and-listeners https://stackoverflow.com/a/37936471/292502

I should simply use getActivity() or just this?