Fix database name

This commit is contained in:
J-Jamet
2019-11-13 20:06:44 +01:00
parent dda9d034aa
commit 8afcf043ee
5 changed files with 16 additions and 19 deletions

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -53,7 +53,7 @@ class PwDatabaseV4 : PwDatabase<UUID, UUID, PwGroupV4, PwEntryV4> {
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<UUID, UUID, PwGroupV4, PwEntryV4> {
var binPool = BinaryPool()
var localizedAppName = "KeePassDX" // TODO resource
var localizedAppName = "KeePassDX"
init {
kdfV4List.add(KdfFactory.aesKdf)
@@ -99,9 +99,13 @@ class PwDatabaseV4 : PwDatabase<UUID, UUID, PwGroupV4, PwEntryV4> {
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

View File

@@ -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),

View File

@@ -50,6 +50,7 @@
<string-array name="file_types">
<item translatable="false">@string/database_file_extension_default</item>
</string-array>
<string name="database_default_name" translatable="false">KeePass DX Database</string>
<!--
*******************