AnyMemo icon indicating copy to clipboard operation
AnyMemo copied to clipboard

the app throw java.lang.StringIndexOutOfBoundsException when click "Merge DB" button

Open androidAppGuard opened this issue 2 years ago • 0 comments

the environment is as follows:

App version: 10.11.3
Android version: 6.0
Device: Nexux_5X

The steps to reproduce: 9_AnyMemo_StringIndexOutOfBoundsException.gif The Exception log is as follows:

05-12 13:12:40.668 15386-15386/org.liberty.android.fantastischmemodev E/org.liberty.android.fantastischmemo.utils.AMGUIUtility: displayException
    java.lang.RuntimeException: java.lang.StringIndexOutOfBoundsException: length=0; index=0
        at org.liberty.android.fantastischmemo.dao.CardDaoImpl.createCards(CardDaoImpl.java:542)
        at org.liberty.android.fantastischmemo.utils.DatabaseUtil.mergeDatabases(DatabaseUtil.java:72)
        at org.liberty.android.fantastischmemo.ui.DatabaseMerger$1.doHeavyTask(DatabaseMerger.java:120)
        at org.liberty.android.fantastischmemo.utils.AMGUIUtility$4.run(AMGUIUtility.java:83)
     Caused by: java.lang.StringIndexOutOfBoundsException: length=0; index=0
        at java.lang.String.charAt(Native Method)
        at android.app.ContextImpl.validateFilePath(ContextImpl.java:1921)
        at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:566)
        at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:269)
        at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:223)
        at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163)
        at com.j256.ormlite.android.AndroidConnectionSource.getReadWriteConnection(AndroidConnectionSource.java:68)
        at com.j256.ormlite.stmt.StatementExecutor.doCallBatchTasks(StatementExecutor.java:607)
        at com.j256.ormlite.stmt.StatementExecutor.callBatchTasks(StatementExecutor.java:598)
        at com.j256.ormlite.dao.BaseDaoImpl.callBatchTasks(BaseDaoImpl.java:724)
        at org.liberty.android.fantastischmemo.dao.AbstractHelperDaoImpl.callBatchTasks(AbstractHelperDaoImpl.java:151)
        at org.liberty.android.fantastischmemo.dao.CardDaoImpl.createCards(CardDaoImpl.java:493)
        at org.liberty.android.fantastischmemo.utils.DatabaseUtil.mergeDatabases(DatabaseUtil.java:72) 
        at org.liberty.android.fantastischmemo.ui.DatabaseMerger$1.doHeavyTask(DatabaseMerger.java:120) 
        at org.liberty.android.fantastischmemo.utils.AMGUIUtility$4.run(AMGUIUtility.java:83) 
05-12 13:12:40.671 15386-15386/org.liberty.android.fantastischmemodev E/org.liberty.android.fantastischmemo.utils.AMGUIUtility: Error running progress task
    java.lang.RuntimeException: java.lang.StringIndexOutOfBoundsException: length=0; index=0
        at org.liberty.android.fantastischmemo.dao.CardDaoImpl.createCards(CardDaoImpl.java:542)
        at org.liberty.android.fantastischmemo.utils.DatabaseUtil.mergeDatabases(DatabaseUtil.java:72)
        at org.liberty.android.fantastischmemo.ui.DatabaseMerger$1.doHeavyTask(DatabaseMerger.java:120)
        at org.liberty.android.fantastischmemo.utils.AMGUIUtility$4.run(AMGUIUtility.java:83)
     Caused by: java.lang.StringIndexOutOfBoundsException: length=0; index=0
        at java.lang.String.charAt(Native Method)
        at android.app.ContextImpl.validateFilePath(ContextImpl.java:1921)
        at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:566)
        at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:269)
        at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:223)
        at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163)
        at com.j256.ormlite.android.AndroidConnectionSource.getReadWriteConnection(AndroidConnectionSource.java:68)
        at com.j256.ormlite.stmt.StatementExecutor.doCallBatchTasks(StatementExecutor.java:607)
        at com.j256.ormlite.stmt.StatementExecutor.callBatchTasks(StatementExecutor.java:598)
        at com.j256.ormlite.dao.BaseDaoImpl.callBatchTasks(BaseDaoImpl.java:724)
        at org.liberty.android.fantastischmemo.dao.AbstractHelperDaoImpl.callBatchTasks(AbstractHelperDaoImpl.java:151)
        at org.liberty.android.fantastischmemo.dao.CardDaoImpl.createCards(CardDaoImpl.java:493)
        at org.liberty.android.fantastischmemo.utils.DatabaseUtil.mergeDatabases(DatabaseUtil.java:72) 
        at org.liberty.android.fantastischmemo.ui.DatabaseMerger$1.doHeavyTask(DatabaseMerger.java:120) 
        at org.liberty.android.fantastischmemo.utils.AMGUIUtility$4.run(AMGUIUtility.java:83) 

androidAppGuard avatar May 12 '22 13:05 androidAppGuard