AnyMemo
AnyMemo copied to clipboard
NumberFormatException crash occurs when String values are 'set' to Preference 'Max recent list size'
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)