AnyMemo
                                
                                
                                
                                    AnyMemo copied to clipboard
                            
                            
                            
                        the app throw java.lang.StringIndexOutOfBoundsException when click "Merge DB" button
the environment is as follows:
App version: 10.11.3
Android version: 6.0
Device: Nexux_5X
The steps to reproduce:
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)