mirror of
https://github.com/Kunzisoft/KeePassDX.git
synced 2025-12-04 15:49:33 +01:00
Refactor TemplateField and Template name as resource
This commit is contained in:
@@ -50,7 +50,7 @@ import com.kunzisoft.keepass.database.element.node.NodeId
|
|||||||
import com.kunzisoft.keepass.database.element.template.TemplateEngine
|
import com.kunzisoft.keepass.database.element.template.TemplateEngine
|
||||||
import com.kunzisoft.keepass.education.EntryActivityEducation
|
import com.kunzisoft.keepass.education.EntryActivityEducation
|
||||||
import com.kunzisoft.keepass.magikeyboard.MagikIME
|
import com.kunzisoft.keepass.magikeyboard.MagikIME
|
||||||
import com.kunzisoft.keepass.database.element.template.TemplatesFields
|
import com.kunzisoft.keepass.database.element.template.TemplateField
|
||||||
import com.kunzisoft.keepass.model.EntryAttachmentState
|
import com.kunzisoft.keepass.model.EntryAttachmentState
|
||||||
import com.kunzisoft.keepass.model.StreamDirection
|
import com.kunzisoft.keepass.model.StreamDirection
|
||||||
import com.kunzisoft.keepass.otp.OtpEntryFields
|
import com.kunzisoft.keepass.otp.OtpEntryFields
|
||||||
@@ -337,7 +337,7 @@ class EntryActivity : LockingActivity() {
|
|||||||
clipboardHelper?.timeoutCopyToClipboard(
|
clipboardHelper?.timeoutCopyToClipboard(
|
||||||
value.toString(),
|
value.toString(),
|
||||||
getString(R.string.copy_field,
|
getString(R.string.copy_field,
|
||||||
TemplatesFields.getLocalizedName(applicationContext, field.name))
|
TemplateField.getLocalizedName(applicationContext, field.name))
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -42,12 +42,12 @@ import com.kunzisoft.keepass.database.element.DateInstant
|
|||||||
import com.kunzisoft.keepass.database.element.icon.IconImage
|
import com.kunzisoft.keepass.database.element.icon.IconImage
|
||||||
import com.kunzisoft.keepass.database.element.security.ProtectedString
|
import com.kunzisoft.keepass.database.element.security.ProtectedString
|
||||||
import com.kunzisoft.keepass.database.element.template.*
|
import com.kunzisoft.keepass.database.element.template.*
|
||||||
import com.kunzisoft.keepass.database.element.template.TemplatesFields.STANDARD_EXPIRATION
|
import com.kunzisoft.keepass.database.element.template.TemplateField.STANDARD_EXPIRATION
|
||||||
import com.kunzisoft.keepass.database.element.template.TemplatesFields.STANDARD_NOTES
|
import com.kunzisoft.keepass.database.element.template.TemplateField.STANDARD_NOTES
|
||||||
import com.kunzisoft.keepass.database.element.template.TemplatesFields.STANDARD_PASSWORD
|
import com.kunzisoft.keepass.database.element.template.TemplateField.STANDARD_PASSWORD
|
||||||
import com.kunzisoft.keepass.database.element.template.TemplatesFields.STANDARD_TITLE
|
import com.kunzisoft.keepass.database.element.template.TemplateField.STANDARD_TITLE
|
||||||
import com.kunzisoft.keepass.database.element.template.TemplatesFields.STANDARD_URL
|
import com.kunzisoft.keepass.database.element.template.TemplateField.STANDARD_URL
|
||||||
import com.kunzisoft.keepass.database.element.template.TemplatesFields.STANDARD_USERNAME
|
import com.kunzisoft.keepass.database.element.template.TemplateField.STANDARD_USERNAME
|
||||||
import com.kunzisoft.keepass.education.EntryEditActivityEducation
|
import com.kunzisoft.keepass.education.EntryEditActivityEducation
|
||||||
import com.kunzisoft.keepass.icons.IconDrawableFactory
|
import com.kunzisoft.keepass.icons.IconDrawableFactory
|
||||||
import com.kunzisoft.keepass.model.*
|
import com.kunzisoft.keepass.model.*
|
||||||
@@ -354,7 +354,7 @@ class EntryEditFragment : StylishFragment() {
|
|||||||
// Add an action icon if needed
|
// Add an action icon if needed
|
||||||
return context?.let {
|
return context?.let {
|
||||||
EntryEditFieldView(it).apply {
|
EntryEditFieldView(it).apply {
|
||||||
label = TemplatesFields.getLocalizedName(context, field.name)
|
label = TemplateField.getLocalizedName(context, field.name)
|
||||||
setProtection(field.protectedValue.isProtected, mHideProtectedValue)
|
setProtection(field.protectedValue.isProtected, mHideProtectedValue)
|
||||||
setValue(field.protectedValue.toString(), when (templateAttribute.type) {
|
setValue(field.protectedValue.toString(), when (templateAttribute.type) {
|
||||||
TemplateAttributeType.MULTILINE -> EntryEditFieldView.TextType.MULTI_LINE
|
TemplateAttributeType.MULTILINE -> EntryEditFieldView.TextType.MULTI_LINE
|
||||||
@@ -387,7 +387,7 @@ class EntryEditFragment : StylishFragment() {
|
|||||||
field: Field): View? {
|
field: Field): View? {
|
||||||
return context?.let {
|
return context?.let {
|
||||||
DateTimeView(it).apply {
|
DateTimeView(it).apply {
|
||||||
label = TemplatesFields.getLocalizedName(context, field.name)
|
label = TemplateField.getLocalizedName(context, field.name)
|
||||||
try {
|
try {
|
||||||
val value = field.protectedValue.toString()
|
val value = field.protectedValue.toString()
|
||||||
activation = value.trim().isNotEmpty()
|
activation = value.trim().isNotEmpty()
|
||||||
@@ -450,7 +450,7 @@ class EntryEditFragment : StylishFragment() {
|
|||||||
}.toMutableList().also { customFields ->
|
}.toMutableList().also { customFields ->
|
||||||
// Add template field
|
// Add template field
|
||||||
if (mTemplate != Template.STANDARD) {
|
if (mTemplate != Template.STANDARD) {
|
||||||
TemplatesFields.getTemplateUUIDField(mTemplate)?.let { templateField ->
|
TemplateField.getTemplateUUIDField(mTemplate)?.let { templateField ->
|
||||||
customFields.add(templateField)
|
customFields.add(templateField)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -537,7 +537,7 @@ class EntryEditFragment : StylishFragment() {
|
|||||||
private data class FieldId(var viewId: Int, var protected: Boolean)
|
private data class FieldId(var viewId: Int, var protected: Boolean)
|
||||||
|
|
||||||
private fun isStandardFieldName(name: String): Boolean {
|
private fun isStandardFieldName(name: String): Boolean {
|
||||||
return TemplatesFields.isStandardFieldName(name)
|
return TemplateField.isStandardFieldName(name)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun containsCustomFieldName(name: String): Boolean {
|
private fun containsCustomFieldName(name: String): Boolean {
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ import com.kunzisoft.keepass.database.element.Database
|
|||||||
import com.kunzisoft.keepass.database.element.icon.IconImage
|
import com.kunzisoft.keepass.database.element.icon.IconImage
|
||||||
import com.kunzisoft.keepass.model.EntryInfo
|
import com.kunzisoft.keepass.model.EntryInfo
|
||||||
import com.kunzisoft.keepass.model.SearchInfo
|
import com.kunzisoft.keepass.model.SearchInfo
|
||||||
import com.kunzisoft.keepass.database.element.template.TemplatesFields
|
import com.kunzisoft.keepass.database.element.template.TemplateField
|
||||||
import com.kunzisoft.keepass.settings.AutofillSettingsActivity
|
import com.kunzisoft.keepass.settings.AutofillSettingsActivity
|
||||||
import com.kunzisoft.keepass.settings.PreferencesUtil
|
import com.kunzisoft.keepass.settings.PreferencesUtil
|
||||||
import java.util.*
|
import java.util.*
|
||||||
@@ -175,17 +175,17 @@ object AutofillHelper {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (field in entryInfo.customFields) {
|
for (field in entryInfo.customFields) {
|
||||||
if (field.name == TemplatesFields.CREDIT_CARD_CARDHOLDER) {
|
if (field.name == TemplateField.CREDIT_CARD_CARDHOLDER) {
|
||||||
struct.ccNameId?.let { ccNameId ->
|
struct.ccNameId?.let { ccNameId ->
|
||||||
builder.setValue(ccNameId, AutofillValue.forText(field.protectedValue.stringValue))
|
builder.setValue(ccNameId, AutofillValue.forText(field.protectedValue.stringValue))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (field.name == TemplatesFields.CREDIT_CARD_NUMBER) {
|
if (field.name == TemplateField.CREDIT_CARD_NUMBER) {
|
||||||
struct.ccnId?.let { ccnId ->
|
struct.ccnId?.let { ccnId ->
|
||||||
builder.setValue(ccnId, AutofillValue.forText(field.protectedValue.stringValue))
|
builder.setValue(ccnId, AutofillValue.forText(field.protectedValue.stringValue))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (field.name == TemplatesFields.CREDIT_CARD_CVV) {
|
if (field.name == TemplateField.CREDIT_CARD_CVV) {
|
||||||
struct.cvvId?.let { cvvId ->
|
struct.cvvId?.let { cvvId ->
|
||||||
builder.setValue(cvvId, AutofillValue.forText(field.protectedValue.stringValue))
|
builder.setValue(cvvId, AutofillValue.forText(field.protectedValue.stringValue))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -388,8 +388,8 @@ class Database {
|
|||||||
val isTemplatesEnabled: Boolean
|
val isTemplatesEnabled: Boolean
|
||||||
get() = mDatabaseKDBX?.isTemplatesGroupEnabled() ?: false
|
get() = mDatabaseKDBX?.isTemplatesGroupEnabled() ?: false
|
||||||
|
|
||||||
fun enableTemplates(enable: Boolean) {
|
fun enableTemplates(enable: Boolean, resources: Resources) {
|
||||||
mDatabaseKDBX?.enableTemplatesGroup(enable)
|
mDatabaseKDBX?.enableTemplatesGroup(enable, resources)
|
||||||
}
|
}
|
||||||
|
|
||||||
val templatesGroup: Group?
|
val templatesGroup: Group?
|
||||||
|
|||||||
@@ -339,10 +339,9 @@ class DatabaseKDBX : DatabaseVersioned<UUID, UUID, GroupKDBX, EntryKDBX> {
|
|||||||
return entryTemplatesGroup != UUID_ZERO
|
return entryTemplatesGroup != UUID_ZERO
|
||||||
}
|
}
|
||||||
|
|
||||||
fun enableTemplatesGroup(enable: Boolean) {
|
fun enableTemplatesGroup(enable: Boolean, resources: Resources) {
|
||||||
if (enable) {
|
if (enable) {
|
||||||
val uuidTemplatesGroup = mTemplateEngine.createNewTemplatesGroup()
|
val uuidTemplatesGroup = mTemplateEngine.createNewTemplatesGroup(resources)
|
||||||
|
|
||||||
addGroupTo(uuidTemplatesGroup, rootGroup)
|
addGroupTo(uuidTemplatesGroup, rootGroup)
|
||||||
entryTemplatesGroup = uuidTemplatesGroup.id
|
entryTemplatesGroup = uuidTemplatesGroup.id
|
||||||
entryTemplatesGroupChanged = uuidTemplatesGroup.lastModificationTime
|
entryTemplatesGroupChanged = uuidTemplatesGroup.lastModificationTime
|
||||||
|
|||||||
@@ -23,11 +23,11 @@ import android.os.ParcelUuid
|
|||||||
import android.os.Parcelable
|
import android.os.Parcelable
|
||||||
import com.kunzisoft.keepass.database.element.database.DatabaseVersioned
|
import com.kunzisoft.keepass.database.element.database.DatabaseVersioned
|
||||||
import com.kunzisoft.keepass.database.element.icon.IconImage
|
import com.kunzisoft.keepass.database.element.icon.IconImage
|
||||||
import com.kunzisoft.keepass.database.element.template.TemplatesFields.STANDARD_EXPIRATION
|
import com.kunzisoft.keepass.database.element.template.TemplateField.STANDARD_EXPIRATION
|
||||||
import com.kunzisoft.keepass.database.element.template.TemplatesFields.STANDARD_NOTES
|
import com.kunzisoft.keepass.database.element.template.TemplateField.STANDARD_NOTES
|
||||||
import com.kunzisoft.keepass.database.element.template.TemplatesFields.STANDARD_PASSWORD
|
import com.kunzisoft.keepass.database.element.template.TemplateField.STANDARD_PASSWORD
|
||||||
import com.kunzisoft.keepass.database.element.template.TemplatesFields.STANDARD_URL
|
import com.kunzisoft.keepass.database.element.template.TemplateField.STANDARD_URL
|
||||||
import com.kunzisoft.keepass.database.element.template.TemplatesFields.STANDARD_USERNAME
|
import com.kunzisoft.keepass.database.element.template.TemplateField.STANDARD_USERNAME
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import kotlin.collections.ArrayList
|
import kotlin.collections.ArrayList
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package com.kunzisoft.keepass.database.element.template
|
package com.kunzisoft.keepass.database.element.template
|
||||||
|
|
||||||
|
import android.content.res.Resources
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
|
import com.kunzisoft.keepass.R
|
||||||
import com.kunzisoft.keepass.database.element.database.DatabaseKDBX
|
import com.kunzisoft.keepass.database.element.database.DatabaseKDBX
|
||||||
import com.kunzisoft.keepass.database.element.entry.EntryKDBX
|
import com.kunzisoft.keepass.database.element.entry.EntryKDBX
|
||||||
import com.kunzisoft.keepass.database.element.group.GroupKDBX
|
import com.kunzisoft.keepass.database.element.group.GroupKDBX
|
||||||
@@ -33,9 +35,9 @@ class TemplateEngine(private val databaseKDBX: DatabaseKDBX) {
|
|||||||
return templates
|
return templates
|
||||||
}
|
}
|
||||||
|
|
||||||
fun createNewTemplatesGroup(): GroupKDBX {
|
fun createNewTemplatesGroup(resources: Resources): GroupKDBX {
|
||||||
return databaseKDBX.createGroup().apply {
|
return databaseKDBX.createGroup().apply {
|
||||||
title = TEMPLATE_GROUP_NAME
|
title = getDefaultTemplateGroupName(resources)
|
||||||
icon.standard = databaseKDBX.getStandardIcon(IconImageStandard.FOLDER_ID)
|
icon.standard = databaseKDBX.getStandardIcon(IconImageStandard.FOLDER_ID)
|
||||||
enableAutoType = false
|
enableAutoType = false
|
||||||
enableSearching = false
|
enableSearching = false
|
||||||
@@ -92,7 +94,7 @@ class TemplateEngine(private val databaseKDBX: DatabaseKDBX) {
|
|||||||
val attribute = getOrRetrieveAttributeFromName(attributes, attributeName)
|
val attribute = getOrRetrieveAttributeFromName(attributes, attributeName)
|
||||||
var referenceLabel = value.stringValue
|
var referenceLabel = value.stringValue
|
||||||
if (referenceLabel.equals(TEMPLATE_ATTRIBUTE_TITLE_EXPIRATION, true)) {
|
if (referenceLabel.equals(TEMPLATE_ATTRIBUTE_TITLE_EXPIRATION, true)) {
|
||||||
referenceLabel = TemplatesFields.STANDARD_EXPIRATION
|
referenceLabel = TemplateField.STANDARD_EXPIRATION
|
||||||
}
|
}
|
||||||
attribute.attribute.label = referenceLabel
|
attribute.attribute.label = referenceLabel
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
@@ -171,7 +173,6 @@ class TemplateEngine(private val databaseKDBX: DatabaseKDBX) {
|
|||||||
private data class TemplateAttributePosition(var position: Int, var attribute: TemplateAttribute)
|
private data class TemplateAttributePosition(var position: Int, var attribute: TemplateAttribute)
|
||||||
|
|
||||||
private val TAG = TemplateEngine::class.java.name
|
private val TAG = TemplateEngine::class.java.name
|
||||||
private const val TEMPLATE_GROUP_NAME = "Templates"
|
|
||||||
private const val TEMPLATE_LABEL_VERSION = "_etm_template"
|
private const val TEMPLATE_LABEL_VERSION = "_etm_template"
|
||||||
const val TEMPLATE_ENTRY_UUID = "_etm_template_uuid"
|
const val TEMPLATE_ENTRY_UUID = "_etm_template_uuid"
|
||||||
private const val TEMPLATE_ATTRIBUTE_POSITION_PREFIX = "_etm_position"
|
private const val TEMPLATE_ATTRIBUTE_POSITION_PREFIX = "_etm_position"
|
||||||
@@ -187,5 +188,9 @@ class TemplateEngine(private val databaseKDBX: DatabaseKDBX) {
|
|||||||
private const val TEMPLATE_ATTRIBUTE_TYPE_LISTBOX = "Listbox"
|
private const val TEMPLATE_ATTRIBUTE_TYPE_LISTBOX = "Listbox"
|
||||||
private const val TEMPLATE_ATTRIBUTE_TYPE_POPOUT = "Popout"
|
private const val TEMPLATE_ATTRIBUTE_TYPE_POPOUT = "Popout"
|
||||||
private const val TEMPLATE_ATTRIBUTE_TYPE_RICH_TEXTBOX = "Rich Textbox"
|
private const val TEMPLATE_ATTRIBUTE_TYPE_RICH_TEXTBOX = "Rich Textbox"
|
||||||
|
|
||||||
|
fun getDefaultTemplateGroupName(resources: Resources): String {
|
||||||
|
return resources.getString(R.string.templates)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -6,7 +6,7 @@ import com.kunzisoft.keepass.database.element.security.ProtectedString
|
|||||||
import com.kunzisoft.keepass.model.Field
|
import com.kunzisoft.keepass.model.Field
|
||||||
import com.kunzisoft.keepass.utils.UuidUtil
|
import com.kunzisoft.keepass.utils.UuidUtil
|
||||||
|
|
||||||
object TemplatesFields {
|
object TemplateField {
|
||||||
|
|
||||||
const val STANDARD_TITLE = "title"
|
const val STANDARD_TITLE = "title"
|
||||||
const val STANDARD_USERNAME = "username"
|
const val STANDARD_USERNAME = "username"
|
||||||
@@ -15,10 +15,34 @@ object TemplatesFields {
|
|||||||
const val STANDARD_EXPIRATION = "expires"
|
const val STANDARD_EXPIRATION = "expires"
|
||||||
const val STANDARD_NOTES = "notes"
|
const val STANDARD_NOTES = "notes"
|
||||||
|
|
||||||
|
const val CREDIT_CARD_TITLE = "Credit Card"
|
||||||
const val CREDIT_CARD_CARDHOLDER = "Card holder"
|
const val CREDIT_CARD_CARDHOLDER = "Card holder"
|
||||||
const val CREDIT_CARD_NUMBER = "Number"
|
const val CREDIT_CARD_NUMBER = "Number"
|
||||||
const val CREDIT_CARD_CVV = "CVV"
|
const val CREDIT_CARD_CVV = "CVV"
|
||||||
private const val CREDIT_CARD_PIN = "PIN"
|
const val CREDIT_CARD_PIN = "PIN"
|
||||||
|
|
||||||
|
const val ID_CARD_TITLE = "ID Card"
|
||||||
|
const val ID_CARD_NUMBER = "Number"
|
||||||
|
const val ID_CARD_NAME = "Name"
|
||||||
|
const val ID_CARD_PLACE_OF_ISSUE = "Place of issue"
|
||||||
|
const val ID_CARD_DATE_OF_ISSUE = "Date of issue"
|
||||||
|
|
||||||
|
const val EMAIL_TITLE = "E-mail"
|
||||||
|
const val EMAIL_ADDRESS = "E-mail address"
|
||||||
|
const val EMAIL_URL = "URL"
|
||||||
|
const val EMAIL_PASSWORD = "Password"
|
||||||
|
|
||||||
|
const val WIRELESS_LAN_TITLE = "Wireless LAN"
|
||||||
|
const val WIRELESS_LAN_SSID = "SSID"
|
||||||
|
const val WIRELESS_LAN_PASSWORD = "Password"
|
||||||
|
|
||||||
|
const val SECURE_NOTE_TITLE = "Secure Note"
|
||||||
|
const val SECURE_NOTE_NOTES = "Notes"
|
||||||
|
|
||||||
|
const val MEMBERSHIP_TITLE = "Membership"
|
||||||
|
const val MEMBERSHIP_Number = "Number"
|
||||||
|
const val MEMBERSHIP_URL = "URL"
|
||||||
|
const val MEMBERSHIP_EXPIRATION = "@exp_date"
|
||||||
|
|
||||||
fun isStandardFieldName(name: String): Boolean {
|
fun isStandardFieldName(name: String): Boolean {
|
||||||
return arrayOf(
|
return arrayOf(
|
||||||
@@ -24,7 +24,7 @@ import android.os.Parcelable
|
|||||||
import com.kunzisoft.keepass.database.element.Attachment
|
import com.kunzisoft.keepass.database.element.Attachment
|
||||||
import com.kunzisoft.keepass.database.element.Database
|
import com.kunzisoft.keepass.database.element.Database
|
||||||
import com.kunzisoft.keepass.database.element.security.ProtectedString
|
import com.kunzisoft.keepass.database.element.security.ProtectedString
|
||||||
import com.kunzisoft.keepass.database.element.template.TemplatesFields
|
import com.kunzisoft.keepass.database.element.template.TemplateField
|
||||||
import com.kunzisoft.keepass.otp.OtpElement
|
import com.kunzisoft.keepass.otp.OtpElement
|
||||||
import com.kunzisoft.keepass.otp.OtpEntryFields
|
import com.kunzisoft.keepass.otp.OtpEntryFields
|
||||||
import com.kunzisoft.keepass.otp.OtpEntryFields.OTP_TOKEN_FIELD
|
import com.kunzisoft.keepass.otp.OtpEntryFields.OTP_TOKEN_FIELD
|
||||||
@@ -167,7 +167,7 @@ class EntryInfo : NodeInfo {
|
|||||||
creditCard?.let { cc ->
|
creditCard?.let { cc ->
|
||||||
cc.cardholder?.let {
|
cc.cardholder?.let {
|
||||||
val v = ProtectedString(false, it)
|
val v = ProtectedString(false, it)
|
||||||
addUniqueField(Field(TemplatesFields.CREDIT_CARD_CARDHOLDER, v))
|
addUniqueField(Field(TemplateField.CREDIT_CARD_CARDHOLDER, v))
|
||||||
}
|
}
|
||||||
cc.expiration?.let {
|
cc.expiration?.let {
|
||||||
expires = true
|
expires = true
|
||||||
@@ -175,11 +175,11 @@ class EntryInfo : NodeInfo {
|
|||||||
}
|
}
|
||||||
cc.number?.let {
|
cc.number?.let {
|
||||||
val v = ProtectedString(false, it)
|
val v = ProtectedString(false, it)
|
||||||
addUniqueField(Field(TemplatesFields.CREDIT_CARD_NUMBER, v))
|
addUniqueField(Field(TemplateField.CREDIT_CARD_NUMBER, v))
|
||||||
}
|
}
|
||||||
cc.cvv?.let {
|
cc.cvv?.let {
|
||||||
val v = ProtectedString(true, it)
|
val v = ProtectedString(true, it)
|
||||||
addUniqueField(Field(TemplatesFields.CREDIT_CARD_CVV, v))
|
addUniqueField(Field(TemplateField.CREDIT_CARD_CVV, v))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -187,7 +187,7 @@ class NestedDatabaseSettingsFragment : NestedSettingsFragment() {
|
|||||||
isEnabled = if (!mDatabaseReadOnly) {
|
isEnabled = if (!mDatabaseReadOnly) {
|
||||||
setOnPreferenceChangeListener { _, newValue ->
|
setOnPreferenceChangeListener { _, newValue ->
|
||||||
val templatesEnabled = newValue as Boolean
|
val templatesEnabled = newValue as Boolean
|
||||||
mDatabase.enableTemplates(templatesEnabled)
|
mDatabase.enableTemplates(templatesEnabled, resources)
|
||||||
refreshTemplatesGroup()
|
refreshTemplatesGroup()
|
||||||
// Save the database if not in readonly mode
|
// Save the database if not in readonly mode
|
||||||
(context as SettingsActivity?)?.
|
(context as SettingsActivity?)?.
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ import com.kunzisoft.keepass.database.element.security.ProtectedString
|
|||||||
import com.kunzisoft.keepass.utils.UuidUtil
|
import com.kunzisoft.keepass.utils.UuidUtil
|
||||||
import com.kunzisoft.keepass.model.EntryAttachmentState
|
import com.kunzisoft.keepass.model.EntryAttachmentState
|
||||||
import com.kunzisoft.keepass.model.StreamDirection
|
import com.kunzisoft.keepass.model.StreamDirection
|
||||||
import com.kunzisoft.keepass.database.element.template.TemplatesFields
|
import com.kunzisoft.keepass.database.element.template.TemplateField
|
||||||
import com.kunzisoft.keepass.otp.OtpElement
|
import com.kunzisoft.keepass.otp.OtpElement
|
||||||
import com.kunzisoft.keepass.otp.OtpType
|
import com.kunzisoft.keepass.otp.OtpType
|
||||||
import com.kunzisoft.keepass.settings.PreferencesUtil
|
import com.kunzisoft.keepass.settings.PreferencesUtil
|
||||||
@@ -313,7 +313,7 @@ class EntryContentsView @JvmOverloads constructor(context: Context,
|
|||||||
onCopyButtonClickListener: OnClickListener?) {
|
onCopyButtonClickListener: OnClickListener?) {
|
||||||
|
|
||||||
extraFieldsListView.addView(EntryFieldView(context).apply {
|
extraFieldsListView.addView(EntryFieldView(context).apply {
|
||||||
setLabel(TemplatesFields.getLocalizedName(context, title))
|
setLabel(TemplateField.getLocalizedName(context, title))
|
||||||
setValue(value.toString(), value.isProtected)
|
setValue(value.toString(), value.isProtected)
|
||||||
setAutoLink()
|
setAutoLink()
|
||||||
activateCopyButton(allowCopy)
|
activateCopyButton(allowCopy)
|
||||||
|
|||||||
Reference in New Issue
Block a user