Currently, it's not possible to change from a "empty" password to a user define password.
2018-07-18 11:20:21.333 19121-19121/at.favre.lib.securesharedpreferences E/AndroidRuntime: FATAL EXCEPTION: main
Process: at.favre.lib.securesharedpreferences, PID: 19121
java.lang.IllegalStateException: Could not execute method for android:onClick
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:389)
at android.view.View.performClick(View.java:6294)
at android.view.View$PerformClick.run(View.java:24770)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:384)
at android.view.View.performClick(View.java:6294)
at android.view.View$PerformClick.run(View.java:24770)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: java.lang.NullPointerException: Attempt to get length of null array
at java.util.Arrays.fill(Arrays.java:2879)
at at.favre.lib.armadillo.SecureSharedPreferences.changePassword(SecureSharedPreferences.java:252)
at at.favre.lib.armadillo.SecureSharedPreferences.changePassword(SecureSharedPreferences.java:230)
at at.favre.lib.securesharedpreferences.ChangePasswordActivity.onChangePasswordClicked(ChangePasswordActivity.java:60)
2018-07-18 11:16:52.676 18954-18954/at.favre.lib.securesharedpreferences E/AndroidRuntime: FATAL EXCEPTION: main
Process: at.favre.lib.securesharedpreferences, PID: 18954
java.lang.IllegalStateException: Could not execute method for android:onClick
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:389)
at android.view.View.performClick(View.java:6294)
at android.view.View$PerformClick.run(View.java:24770)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:384)
at android.view.View.performClick(View.java:6294)
at android.view.View$PerformClick.run(View.java:24770)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: java.lang.IllegalStateException: could not stretch with bcrypt
at at.favre.lib.armadillo.FixedBcryptKeyStretcher.stretch(FixedBcryptKeyStretcher.java:59)
at at.favre.lib.armadillo.DefaultEncryptionProtocol.keyDerivationFunction(DefaultEncryptionProtocol.java:178)
at at.favre.lib.armadillo.DefaultEncryptionProtocol.decrypt(DefaultEncryptionProtocol.java:151)
at at.favre.lib.armadillo.SecureSharedPreferences.decrypt(SecureSharedPreferences.java:463)
at at.favre.lib.armadillo.SecureSharedPreferences.reencryptStringType(SecureSharedPreferences.java:273)
at at.favre.lib.armadillo.SecureSharedPreferences.changePassword(SecureSharedPreferences.java:242)
at at.favre.lib.armadillo.SecureSharedPreferences.changePassword(SecureSharedPreferences.java:230)
at at.favre.lib.securesharedpreferences.ChangePasswordActivity.onChangePasswordClicked(ChangePasswordActivity.java:54)
at java.lang.reflect.Method.invoke(Native Method)
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:384)
at android.view.View.performClick(View.java:6294)
at android.view.View$PerformClick.run(View.java:24770)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: java.lang.IllegalArgumentException: provided pseudoRandomKey must be at least of size 1 and not null
at at.favre.lib.crypto.HKDF$Expander.execute(HKDF.java:230)
at at.favre.lib.crypto.HKDF.expand(HKDF.java:151)
at at.favre.lib.armadillo.FixedBcryptKeyStretcher.bcrypt(FixedBcryptKeyStretcher.java:78)
at at.favre.lib.armadillo.FixedBcryptKeyStretcher.stretch(FixedBcryptKeyStretcher.java:57)