FireflyMobile
FireflyMobile copied to clipboard
App crashes when trying to add a new transaction
Firefly III Server Version: 5.7.5
Firefly III Mobile Version: 2.0.7
Android Version: 12
Device Information:
- BRAND: Samsung
- MODEL: Galaxy A72
Expected Behavior
To be able to add new transaction
Current Behavior
App crashes
Steps to Reproduce
Set-up the app, then upgrade the server from 5.5.10 to 5.7.5. Seems that the mobile app doesn't detect the server version change, as in the about section still 5.5.10 is reported.
REPORT_ID=6386b917-74eb-48da-a079-38d7920c7ae4 APP_VERSION_NAME=2.0.7 PHONE_MODEL=SM-A725F BRAND=samsung PRODUCT=a72qnseea ANDROID_VERSION=12 BUILD_CONFIG= STACK_TRACE=java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.List xyz.hisname.fireflyiii.repository.models.error.Errors.getTransactions_currency()' on a null object reference at xyz.hisname.fireflyiii.d.q.b$a.a(TransactionsViewModel.kt:4) at xyz.hisname.fireflyiii.d.q.b$a.E(TransactionsViewModel.kt:1) at xyz.hisname.fireflyiii.util.s.a$a.a(CallbackUtil.kt:1) at l.i$b$a.d(DefaultCallAdapterFactory.java:3) at l.a.run(Unknown Source:6) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:226) at android.os.Looper.loop(Looper.java:313) at android.app.ActivityThread.main(ActivityThread.java:8663) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)
LOGCAT=06-07 09:34:52.010 D/DecorView(26172): setCaptionType = 0, this = DecorView@aee9d6d[] 06-07 09:34:52.016 D/ScrollView(26172): initGoToTop 06-07 09:34:52.018 D/ScrollView(26172): initGoToTop 06-07 09:34:52.039 I/ViewRootImpl@6a18352AddTransactionActivity: setView = com.android.internal.policy.DecorView@aee9d6d TM=true 06-07 09:34:52.046 D/CompatibilityChangeReporter(26172): Compat change id reported: 170233598; UID 10342; state: DISABLED 06-07 09:34:52.076 I/ViewRootImpl@6a18352AddTransactionActivity: Relayout returned: old=(0,86,1080,2265) new=(27,444,1053,1906) req=(1026,1462)0 dur=10 res=0x7 s={true 500028428432} ch=true fn=-1 06-07 09:34:52.077 D/OpenGLRenderer(26172): eglCreateWindowSurface 06-07 09:34:52.081 D/ScrollView(26172): onsize change changed 06-07 09:34:52.081 D/ScrollView(26172): onsize change changed 06-07 09:34:52.095 I/ViewRootImpl@6a18352AddTransactionActivity: [DP] dp(1) 1 android.view.ViewRootImpl.reportNextDraw:11374 android.view.ViewRootImpl.performTraversals:4167 android.view.ViewRootImpl.doTraversal:2893 06-07 09:34:52.109 I/BufferQueueProducer(26172): ViewRootImpl@6a18352[AddTransactionActivity]#2(BLAST Consumer)2 queueBuffer: queued for the first time. 06-07 09:34:52.113 I/ViewRootImpl@6a18352AddTransactionActivity: [DP] pdf(0) 1 android.view.ViewRootImpl.lambda$addFrameCompleteCallbackIfNeeded$3$ViewRootImpl:4969 android.view.ViewRootImpl$$ExternalSyntheticLambda16.run:6 android.os.Handler.handleCallback:938 06-07 09:34:52.113 I/ViewRootImpl@6a18352AddTransactionActivity: [DP] rdf() 06-07 09:34:52.113 D/ViewRootImpl@6a18352AddTransactionActivity: reportDrawFinished (fn: -1) 06-07 09:34:52.116 I/ViewRootImpl@64a1e5cAddTransactionActivity: MSG_WINDOW_FOCUS_CHANGED 0 1 06-07 09:34:52.145 I/ViewRootImpl@6a18352AddTransactionActivity: MSG_WINDOW_FOCUS_CHANGED 1 1 06-07 09:34:53.368 I/ViewRootImpl@6a18352AddTransactionActivity: ViewPostIme pointer 0 06-07 09:34:53.408 I/ViewRootImpl@6a18352AddTransactionActivity: ViewPostIme pointer 1 06-07 09:34:53.424 D/OpenGLRenderer(26172): setSurface called with nullptr 06-07 09:34:53.424 D/OpenGLRenderer(26172): setSurface() destroyed EGLSurface 06-07 09:34:53.424 D/OpenGLRenderer(26172): destroyEglSurface 06-07 09:34:53.426 D/OpenGLRenderer(26172): endAllActiveAnimators on 0x73fc151760 (RippleDrawable) with handle 0x730c088850 06-07 09:34:53.426 I/ViewRootImpl@6a18352AddTransactionActivity: dispatchDetachedFromWindow 06-07 09:34:53.444 D/InputTransport(26172): Input channel destroyed: 'f37d066', fd=105 06-07 09:34:53.463 I/ViewRootImpl@64a1e5cAddTransactionActivity: MSG_WINDOW_FOCUS_CHANGED 1 1 06-07 09:34:53.477 I/InputMethodManager(26172): startInputAsyncOnWindowFocusGain - mService.startInputOrWindowGainedFocus 06-07 09:34:54.931 I/ViewRootImpl@64a1e5cAddTransactionActivity: ViewPostIme pointer 0 06-07 09:34:54.969 I/ViewRootImpl@64a1e5cAddTransactionActivity: ViewPostIme pointer 1 06-07 09:34:54.975 D/InputMethodManager(26172): startInputInner - Id : 0 06-07 09:34:54.975 I/InputMethodManager(26172): startInputInner - mService.startInputOrWindowGainedFocus 06-07 09:34:55.004 I/ViewRootImpl@8bb0386PopupWindow:1de8c6b: setView = android.widget.PopupWindow$PopupDecorView@2578447 TM=true 06-07 09:34:55.021 I/ViewRootImpl@8bb0386PopupWindow:1de8c6b: Resizing android.view.ViewRootImpl@9f8fd5e: frame=[84,86][996,1115] reportDraw=true forceLayout=false backDropFrame=Rect(0, 0 - 912, 1029) 06-07 09:34:55.025 I/ViewRootImpl@8bb0386PopupWindow:1de8c6b: Relayout returned: old=(0,86,1080,1392) new=(84,86,996,1115) req=(912,1029)0 dur=5 res=0x7 s={true 500028428432} ch=true fn=-1 06-07 09:34:55.026 D/OpenGLRenderer(26172): eglCreateWindowSurface 06-07 09:34:55.030 D/AbsListView(26172): in onLayout changed 06-07 09:34:55.031 I/ViewRootImpl@8bb0386PopupWindow:1de8c6b: [DP] dp(1) 0 android.view.ViewRootImpl.reportNextDraw:11374 android.view.ViewRootImpl.performTraversals:4167 android.view.ViewRootImpl.doTraversal:2893 06-07 09:34:55.035 I/BufferQueueProducer(26172): ViewRootImpl@8bb0386[PopupWindow:1de8c6b]#3(BLAST Consumer)3 queueBuffer: queued for the first time. 06-07 09:34:55.039 I/ViewRootImpl@8bb0386PopupWindow:1de8c6b: [DP] pdf(0) 0 android.view.ViewRootImpl.lambda$addFrameCompleteCallbackIfNeeded$3$ViewRootImpl:4969 android.view.ViewRootImpl$$ExternalSyntheticLambda16.run:6 android.os.Handler.handleCallback:938 06-07 09:34:55.039 I/ViewRootImpl@8bb0386PopupWindow:1de8c6b: [DP] rdf() 06-07 09:34:55.039 D/ViewRootImpl@8bb0386PopupWindow:1de8c6b: reportDrawFinished (fn: -1) 06-07 09:34:55.039 W/IInputConnectionWrapper(26172): requestCursorAnchorInfo on inactive InputConnection 06-07 09:34:55.048 I/ViewRootImpl@8bb0386PopupWindow:1de8c6b: handleResized, msg = 5 frames=ClientWindowFrames{frame=[84,86][996,1115] display=[-10000,-10000][10000,10000] backdrop=[0,0][912,1029]} forceNextWindowRelayout=false displayId=0 frameChanged=false backdropFrameChanged=true configChanged=false displayChanged=false mNextDrawUseBlastSync=false mergedConfiguration={mGlobalConfig={1.0 284mcc3mnc [en_GB,bg_BG] ldltr sw384dp w384dp h774dp 450dpi nrml long port night finger -keyb/v/h -nav/h winConfig={ mBounds=Rect(0, 0 - 1080, 2400) mAppBounds=Rect(0, 86 - 1080, 2265) mMaxBounds=Rect(0, 0 - 1080, 2400) mWindowingMode=fullscreen mDisplayWindowingMode=fullscreen mActivityType=undefined mAlwaysOnTop=undefined mRotation=ROTATION_0 mPopOver=off mFreeformTaskPinningState=unpinned} s.9707 fontWeightAdjustment=0 ff=0 bf=0 bts=0 enb/d themeSeq=0} mOverrideConfig={1.0 284mcc3mnc [en_GB,bg_BG] ldltr sw384dp w384dp h774dp 450dpi nrml long port night finger -keyb/v/h -nav/h winConfig={ mBounds=Rect(0, 0 - 1080, 2400) mAppBounds=Rect(0, 86 - 1080, 2265) mMaxBounds=Rect(0, 0 - 1080, 2400) mWindowingMode=fullscreen mDisplayWindowingMode=fullscreen mActivityType=standard mAlwaysOnTop=undefined mRotation=ROTATION_0 mPopOver=off mFreeformTaskPinningState=unpinned} s.1 fontWeightAdjustment=0 ff=0 bf=0 bts=0 enb/d themeSeq=0}} 06-07 09:34:55.050 I/ViewRootImpl@8bb0386PopupWindow:1de8c6b: [DP] dp(1) 0 android.view.ViewRootImpl.reportNextDraw:11374 android.view.ViewRootImpl.handleResized:2204 android.view.ViewRootImpl.access$1200:294 06-07 09:34:55.053 I/ViewRootImpl@8bb0386PopupWindow:1de8c6b: [DP] pdf(0) 0 android.view.ViewRootImpl.lambda$addFrameCompleteCallbackIfNeeded$3$ViewRootImpl:4969 android.view.ViewRootImpl$$ExternalSyntheticLambda16.run:6 android.os.Handler.handleCallback:938 06-07 09:34:55.053 I/ViewRootImpl@8bb0386PopupWindow:1de8c6b: [DP] rdf() 06-07 09:34:55.053 D/ViewRootImpl@8bb0386PopupWindow:1de8c6b: reportDrawFinished (fn: -1) 06-07 09:34:55.094 D/InsetsController(26172): show(ime(), fromIme=true) 06-07 09:34:55.897 I/ViewRootImpl@8bb0386PopupWindow:1de8c6b: ViewPostIme pointer 0 06-07 09:34:55.939 I/ViewRootImpl@8bb0386PopupWindow:1de8c6b: ViewPostIme pointer 1 06-07 09:34:55.940 D/AbsListView(26172): onTouchUp() mTouchMode : 0 06-07 09:34:56.010 D/InputMethodManager(26172): startInputInner - Id : 0 06-07 09:34:56.010 I/InputMethodManager(26172): startInputInner - mService.startInputOrWindowGainedFocus 06-07 09:34:56.016 D/OpenGLRenderer(26172): setSurface called with nullptr 06-07 09:34:56.016 D/OpenGLRenderer(26172): setSurface() destroyed EGLSurface 06-07 09:34:56.016 D/OpenGLRenderer(26172): destroyEglSurface 06-07 09:34:56.017 D/OpenGLRenderer(26172): endAllActiveAnimators on 0x73fc158b40 (DropDownListView) with handle 0x730c08c5a0 06-07 09:34:56.017 I/ViewRootImpl@8bb0386PopupWindow:1de8c6b: dispatchDetachedFromWindow 06-07 09:34:56.023 D/InputTransport(26172): Input channel destroyed: 'cac281a', fd=145 06-07 09:34:56.053 D/InsetsController(26172): show(ime(), fromIme=true) 06-07 09:34:56.689 I/ViewRootImpl@64a1e5cAddTransactionActivity: ViewPostIme pointer 0 06-07 09:34:57.396 I/ViewRootImpl@64a1e5cAddTransactionActivity: ViewPostIme pointer 1 06-07 09:34:58.849 I/ViewRootImpl@64a1e5cAddTransactionActivity: ViewPostIme pointer 0 06-07 09:34:58.889 I/ViewRootImpl@64a1e5cAddTransactionActivity: ViewPostIme pointer 1 06-07 09:34:58.896 I/IMM_LC (26172): hsifw() - flags=0, caller=android.view.inputmethod.InputMethodManager.hideSoftInputFromWindow:1846 android.view.inputmethod.InputMethodManager.hideSoftInputFromWindow:1815 xyz.hisname.fireflyiii.util.r.j.l:2 xyz.hisname.fireflyiii.util.r.j.k:1 xyz.hisname.fireflyiii.util.r.j.m:1 06-07 09:34:58.896 I/IMM_LC (26172): hideSoftInputFromWindow - mService.hideSoftInput 06-07 09:34:58.916 D/InsetsSourceConsumer(26172): setRequestedVisible: visible=false, type=19, host=xyz.hisname.fireflyiii/xyz.hisname.fireflyiii.ui.transaction.addtransaction.AddTransactionActivity, from=android.view.InsetsSourceConsumer.hide:242 android.view.ImeInsetsSourceConsumer.hide:68 android.view.ImeInsetsSourceConsumer.hide:74 android.view.InsetsController.hideDirectly:1473 android.view.InsetsController.controlAnimationUnchecked:1139 android.view.InsetsController.applyAnimation:1456 android.view.InsetsController.applyAnimation:1437 android.view.InsetsController.hide:1006 android.view.ViewRootImpl$ViewRootHandler.handleMessageImpl:6461 android.view.ViewRootImpl$ViewRootHandler.handleMessage:6382 06-07 09:34:59.127 I/IMM_LC (26172): notifyImeHidden 06-07 09:34:59.208 D/AndroidRuntime(26172): Shutting down VM --------- beginning of crash 06-07 09:34:59.211 E/AndroidRuntime(26172): FATAL EXCEPTION: main 06-07 09:34:59.211 E/AndroidRuntime(26172): Process: xyz.hisname.fireflyiii, PID: 26172 06-07 09:34:59.211 E/AndroidRuntime(26172): java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.List xyz.hisname.fireflyiii.repository.models.error.Errors.getTransactions_currency()' on a null object reference 06-07 09:34:59.211 E/AndroidRuntime(26172): at xyz.hisname.fireflyiii.d.q.b$a.a(TransactionsViewModel.kt:4) 06-07 09:34:59.211 E/AndroidRuntime(26172): at xyz.hisname.fireflyiii.d.q.b$a.E(TransactionsViewModel.kt:1) 06-07 09:34:59.211 E/AndroidRuntime(26172): at xyz.hisname.fireflyiii.util.s.a$a.a(CallbackUtil.kt:1) 06-07 09:34:59.211 E/AndroidRuntime(26172): at l.i$b$a.d(DefaultCallAdapterFactory.java:3) 06-07 09:34:59.211 E/AndroidRuntime(26172): at l.a.run(Unknown Source:6) 06-07 09:34:59.211 E/AndroidRuntime(26172): at android.os.Handler.handleCallback(Handler.java:938) 06-07 09:34:59.211 E/AndroidRuntime(26172): at android.os.Handler.dispatchMessage(Handler.java:99) 06-07 09:34:59.211 E/AndroidRuntime(26172): at android.os.Looper.loopOnce(Looper.java:226) 06-07 09:34:59.211 E/AndroidRuntime(26172): at android.os.Looper.loop(Looper.java:313) 06-07 09:34:59.211 E/AndroidRuntime(26172): at android.app.ActivityThread.main(ActivityThread.java:8663) 06-07 09:34:59.211 E/AndroidRuntime(26172): at java.lang.reflect.Method.invoke(Native Method) 06-07 09:34:59.211 E/AndroidRuntime(26172): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567) 06-07 09:34:59.211 E/AndroidRuntime(26172): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135) 06-07 09:34:59.212 E/ACRA (26172): ACRA caught a NullPointerException for xyz.hisname.fireflyiii 06-07 09:34:59.212 E/ACRA (26172): java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.List xyz.hisname.fireflyiii.repository.models.error.Errors.getTransactions_currency()' on a null object reference 06-07 09:34:59.212 E/ACRA (26172): at xyz.hisname.fireflyiii.d.q.b$a.a(TransactionsViewModel.kt:4) 06-07 09:34:59.212 E/ACRA (26172): at xyz.hisname.fireflyiii.d.q.b$a.E(TransactionsViewModel.kt:1) 06-07 09:34:59.212 E/ACRA (26172): at xyz.hisname.fireflyiii.util.s.a$a.a(CallbackUtil.kt:1) 06-07 09:34:59.212 E/ACRA (26172): at l.i$b$a.d(DefaultCallAdapterFactory.java:3) 06-07 09:34:59.212 E/ACRA (26172): at l.a.run(Unknown Source:6) 06-07 09:34:59.212 E/ACRA (26172): at android.os.Handler.handleCallback(Handler.java:938) 06-07 09:34:59.212 E/ACRA (26172): at android.os.Handler.dispatchMessage(Handler.java:99) 06-07 09:34:59.212 E/ACRA (26172): at android.os.Looper.loopOnce(Looper.java:226) 06-07 09:34:59.212 E/ACRA (26172): at android.os.Looper.loop(Looper.java:313) 06-07 09:34:59.212 E/ACRA (26172): at android.app.ActivityThread.main(ActivityThread.java:8663) 06-07 09:34:59.212 E/ACRA (26172): at java.lang.reflect.Method.invoke(Native Method) 06-07 09:34:59.212 E/ACRA (26172): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567) 06-07 09:34:59.212 E/ACRA (26172): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135) IS_SILENT=false USER_CRASH_DATE=2022-06-07T09:34:59.220+03:00
Trying to refresh the token from the settings leads to the same issue.
Hello. I will look into it this weekend.