diff --git a/app/src/main/java/com/kunzisoft/keepass/database/action/CreateDatabaseRunnable.kt b/app/src/main/java/com/kunzisoft/keepass/database/action/CreateDatabaseRunnable.kt index 188ba639c..43f6b5bd6 100644 --- a/app/src/main/java/com/kunzisoft/keepass/database/action/CreateDatabaseRunnable.kt +++ b/app/src/main/java/com/kunzisoft/keepass/database/action/CreateDatabaseRunnable.kt @@ -28,6 +28,8 @@ import com.kunzisoft.keepass.database.element.Database class CreateDatabaseRunnable(context: Context, private val mDatabase: Database, databaseUri: Uri, + private val databaseName: String, + private val rootName: String, withMasterPassword: Boolean, masterPassword: String?, withKeyFile: Boolean, @@ -39,7 +41,7 @@ class CreateDatabaseRunnable(context: Context, try { // Create new database record mDatabase.apply { - createData(mDatabaseUri) + createData(mDatabaseUri, databaseName, rootName) // Set Database state loaded = true } diff --git a/app/src/main/java/com/kunzisoft/keepass/database/element/Database.kt b/app/src/main/java/com/kunzisoft/keepass/database/element/Database.kt index 7efd5998d..d43994ff3 100644 --- a/app/src/main/java/com/kunzisoft/keepass/database/element/Database.kt +++ b/app/src/main/java/com/kunzisoft/keepass/database/element/Database.kt @@ -274,20 +274,8 @@ class Database { this.pwDatabaseV4 = pwDatabaseV4 } - private fun dbNameFromUri(databaseUri: Uri): String { - val filename = URLUtil.guessFileName(databaseUri.path, null, null) - if (filename == null || filename.isEmpty()) { - return "KeePass Database" - } - val lastExtDot = filename.lastIndexOf(".") - return if (lastExtDot == -1) { - filename - } else filename.substring(0, lastExtDot) - } - - fun createData(databaseUri: Uri) { - // Always create a new database with the last version - setDatabaseV4(PwDatabaseV4(dbNameFromUri(databaseUri))) + fun createData(databaseUri: Uri, databaseName: String, rootName: String) { + setDatabaseV4(PwDatabaseV4(databaseName, rootName)) this.fileUri = databaseUri } diff --git a/app/src/main/java/com/kunzisoft/keepass/database/element/PwDatabaseV4.kt b/app/src/main/java/com/kunzisoft/keepass/database/element/PwDatabaseV4.kt index 31b11f8e1..06221e87a 100644 --- a/app/src/main/java/com/kunzisoft/keepass/database/element/PwDatabaseV4.kt +++ b/app/src/main/java/com/kunzisoft/keepass/database/element/PwDatabaseV4.kt @@ -53,7 +53,7 @@ class PwDatabaseV4 : PwDatabase { private var numKeyEncRounds: Long = 0 var publicCustomData = VariantDictionary() - var name = "KeePass DX database" + var name = "" var nameChanged = PwDate() // TODO change setting date var settingsChanged = PwDate() @@ -90,7 +90,7 @@ class PwDatabaseV4 : PwDatabase { var binPool = BinaryPool() - var localizedAppName = "KeePassDX" // TODO resource + var localizedAppName = "KeePassDX" init { kdfV4List.add(KdfFactory.aesKdf) @@ -99,9 +99,13 @@ class PwDatabaseV4 : PwDatabase { constructor() - constructor(databaseName: String) { + /** + * Create a new database with a root group + */ + constructor(databaseName: String, rootName: String) { + name = databaseName val groupV4 = createGroup().apply { - title = databaseName + title = rootName icon = iconFactory.folderIcon } rootGroup = groupV4 diff --git a/app/src/main/java/com/kunzisoft/keepass/notifications/DatabaseTaskNotificationService.kt b/app/src/main/java/com/kunzisoft/keepass/notifications/DatabaseTaskNotificationService.kt index 8ca0dafb1..634baef94 100644 --- a/app/src/main/java/com/kunzisoft/keepass/notifications/DatabaseTaskNotificationService.kt +++ b/app/src/main/java/com/kunzisoft/keepass/notifications/DatabaseTaskNotificationService.kt @@ -179,6 +179,8 @@ class DatabaseTaskNotificationService : NotificationService(), ProgressTaskUpdat return CreateDatabaseRunnable(this, Database.getInstance(), databaseUri, + getString(R.string.database_default_name), + getString(R.string.database), intent.getBooleanExtra(MASTER_PASSWORD_CHECKED_KEY, false), intent.getStringExtra(MASTER_PASSWORD_KEY), intent.getBooleanExtra(KEY_FILE_CHECKED_KEY, false), diff --git a/app/src/main/res/values/donottranslate.xml b/app/src/main/res/values/donottranslate.xml index b946d1cf0..f23e0e769 100644 --- a/app/src/main/res/values/donottranslate.xml +++ b/app/src/main/res/values/donottranslate.xml @@ -50,6 +50,7 @@ @string/database_file_extension_default + KeePass DX Database