AnyMemo icon indicating copy to clipboard operation
AnyMemo copied to clipboard

NumberFormatException crash occurs when String values are 'set' to Preference 'Max recent list size'

Open 2021QTester opened this issue 4 years ago • 0 comments

I am sorry for posting the second issue. When using automated testing tools, I found several tools can do beyond normal user, e.g., they can set String values to Preference 'Max recent list size', which only allows integer values for normal users. Do you think it is better to have a number check to avoid such crashes?

The logcat is as follows: E AndroidRuntime: FATAL EXCEPTION: main E AndroidRuntime: Process: org.liberty.android.fantastischmemo, PID: 5519 E AndroidRuntime: java.lang.NumberFormatException: Invalid float: "Change" E AndroidRuntime: at java.lang.StringToReal.invalidReal(StringToReal.java:63) E AndroidRuntime: at java.lang.StringToReal.initialParse(StringToReal.java:94) E AndroidRuntime: at java.lang.StringToReal.parseFloat(StringToReal.java:323) E AndroidRuntime: at java.lang.Float.parseFloat(Float.java:306) E AndroidRuntime: at java.lang.Float.valueOf(Float.java:343) E AndroidRuntime: at org.liberty.android.fantastischmemo.ui.widgets.FloatEditTextPreference.persistString(FloatEditTextPreference.java:1) E AndroidRuntime: at android.preference.EditTextPreference.setText(EditTextPreference.java:92) E AndroidRuntime: at android.preference.EditTextPreference.onDialogClosed(EditTextPreference.java:146) E AndroidRuntime: at android.preference.DialogPreference.onDismiss(DialogPreference.java:395) E AndroidRuntime: at android.app.Dialog$ListenersHandler.handleMessage(Dialog.java:1323) E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102) E AndroidRuntime: at android.os.Looper.loop(Looper.java:148) E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5417) E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

2021QTester avatar Jun 30 '21 12:06 2021QTester