Fix merge and save copy in KDB database

This commit is contained in:
J-Jamet
2022-02-12 13:20:22 +01:00
parent e7eb8099ac
commit 8af70fa7b5
5 changed files with 14 additions and 1 deletions

View File

@@ -276,6 +276,9 @@ class GroupActivity : DatabaseLockActivity(),
inflateMenu(R.menu.settings)
inflateMenu(R.menu.database_extra)
inflateMenu(R.menu.about)
if (!mMergeDataAllowed) {
menu.findItem(R.id.menu_merge_from)?.isVisible = false
}
setNavigationItemSelectedListener { menuItem ->
when (menuItem.itemId) {
R.id.menu_app_settings -> {
@@ -289,7 +292,7 @@ class GroupActivity : DatabaseLockActivity(),
mExternalFileHelper?.createDocument(
getString(R.string.database_file_name_default) +
getString(R.string.database_file_name_copy) +
getString(R.string.database_file_extension_default))
mDatabase?.defaultFileExtension)
}
R.id.menu_contribute -> {
UriUtil.gotoUrl(this@GroupActivity, R.string.contribution_url)

View File

@@ -274,6 +274,9 @@ class Database {
}
}
val defaultFileExtension: String
get() = mDatabaseKDB?.defaultFileExtension ?: mDatabaseKDBX?.defaultFileExtension ?: ".bin"
val type: Class<*>?
get() = mDatabaseKDB?.javaClass ?: mDatabaseKDBX?.javaClass

View File

@@ -64,6 +64,9 @@ class DatabaseKDB : DatabaseVersioned<Int, UUID, GroupKDB, EntryKDB>() {
override val version: String
get() = "V1"
override val defaultFileExtension: String
get() = ".kdb"
init {
// New manual root because KDB contains multiple root groups (here available with getRootGroups())
rootGroup = createGroup().apply {

View File

@@ -201,6 +201,9 @@ class DatabaseKDBX : DatabaseVersioned<UUID, UUID, GroupKDBX, EntryKDBX> {
return "V2 - KDBX$kdbxStringVersion"
}
override val defaultFileExtension: String
get() = ".kdbx"
private open class NodeOperationHandler<T: NodeKDBXInterface> : NodeHandler<T>() {
var containsCustomData = false
override fun operate(node: T): Boolean {

View File

@@ -62,6 +62,7 @@ abstract class DatabaseVersioned<
protected set
abstract val version: String
abstract val defaultFileExtension: String
/**
* To manage binaries in faster way