I am returning encrypted value from getText() With CharSequence for EditText View.
But occurring IllegalArgumentException: Invalid offset: -1. Valid range is [0, 49] Exception
If I set InputType as a number from XML it's working. Like-
<com.shubham.nbsdk.SecureEditText
    android:id="@+id/xpay_encrypt_edittext"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="Enter Text to Encrypt"
    android:inputType="number"/>
But having issue with android:inputType="text"
@Nullable
    @Override
    public Editable getText() {
    CharSequence encryptedText = 
    secureSDKImpl_inner.EncryptText(PlainText.toString());
       return new Editable.Factory().newEditable(encryptedText); 
    }
Log
java.lang.IllegalArgumentException: Invalid offset: -1. Valid range is [0, 49]
    at android.text.method.WordIterator.checkOffsetIsValid(WordIterator.java:384)
    at android.text.method.WordIterator.preceding(WordIterator.java:72)
    at android.widget.SpellChecker$SpellParser.parse(SpellChecker.java:592)
    at android.widget.SpellChecker$SpellParser.parse(SpellChecker.java:517)
    at android.widget.SpellChecker.spellCheck(SpellChecker.java:257)
    at android.widget.Editor.updateSpellCheckSpans(Editor.java:702)
    at android.widget.Editor.sendOnTextChanged(Editor.java:1248)
    at android.widget.TextView.sendOnTextChanged(TextView.java:9407)
    at android.widget.TextView.handleTextChanged(TextView.java:9490)
    at android.widget.TextView$ChangeWatcher.onTextChanged(TextView.java:11948)
    at android.text.SpannableStringBuilder.sendTextChanged(SpannableStringBuilder.java:1258)
    at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:573)
    at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:504)
    at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:502)
    at android.view.inputmethod.BaseInputConnection.replaceText(BaseInputConnection.java:843)
    at android.view.inputmethod.BaseInputConnection.setComposingText(BaseInputConnection.java:616)
    at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:396)
    at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:85)
    at android.os.Handler.dispatchMessage(Handler.java:105)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6694)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:769)
I think I am doing something wrong with this
return new Editable.Factory().newEditable(encryptedText);
Any other option to convert CharSequence into Editable