Show expiration not referenced

This commit is contained in:
J-Jamet
2021-06-24 15:38:07 +02:00
parent bdc9facd41
commit 02a266cbea

View File

@@ -168,10 +168,10 @@ abstract class TemplateAbstractView<TEntryFieldView: GenericEntryFieldView, TDat
abstract fun preProcessTemplate() abstract fun preProcessTemplate()
private fun buildViewForNotReferencedField(field: Field): View? { private fun buildViewForNotReferencedField(field: Field, attributeType: TemplateAttributeType): View? {
val standardFieldTemplateAttribute = TemplateAttribute( val standardFieldTemplateAttribute = TemplateAttribute(
field.name, field.name,
TemplateAttributeType.MULTILINE, attributeType,
field.protectedValue.isProtected, field.protectedValue.isProtected,
field.protectedValue.stringValue) field.protectedValue.stringValue)
val fieldTag: String = getTagFromStandardTemplateAttribute(standardFieldTemplateAttribute) val fieldTag: String = getTagFromStandardTemplateAttribute(standardFieldTemplateAttribute)
@@ -239,8 +239,10 @@ abstract class TemplateAbstractView<TEntryFieldView: GenericEntryFieldView, TDat
buildTemplateAndPopulateInfo() buildTemplateAndPopulateInfo()
} }
@Suppress("UNCHECKED_CAST")
private fun populateEntryFieldView(fieldTag: String, private fun populateEntryFieldView(fieldTag: String,
label: String, label: String,
type: TemplateAttributeType,
entryInfoValue: String, entryInfoValue: String,
showEmptyFields: Boolean) { showEmptyFields: Boolean) {
var fieldView: TEntryFieldView? = findViewWithTag(fieldTag) var fieldView: TEntryFieldView? = findViewWithTag(fieldTag)
@@ -249,7 +251,8 @@ abstract class TemplateAbstractView<TEntryFieldView: GenericEntryFieldView, TDat
} else if (fieldView == null && entryInfoValue.isNotEmpty()) { } else if (fieldView == null && entryInfoValue.isNotEmpty()) {
// Add new not referenced view if standard field not in template // Add new not referenced view if standard field not in template
fieldView = buildViewForNotReferencedField( fieldView = buildViewForNotReferencedField(
Field(label, ProtectedString(false, entryInfoValue)) Field(label, ProtectedString(false, entryInfoValue)),
type
) as? TEntryFieldView? ) as? TEntryFieldView?
fieldView?.let { fieldView?.let {
addNotReferencedView(it as View) addNotReferencedView(it as View)
@@ -259,6 +262,30 @@ abstract class TemplateAbstractView<TEntryFieldView: GenericEntryFieldView, TDat
fieldView?.applyFontVisibility(mFontInVisibility) fieldView?.applyFontVisibility(mFontInVisibility)
} }
@Suppress("UNCHECKED_CAST")
private fun populateDateTimeView(fieldTag: String,
label: String,
type: TemplateAttributeType,
expires: Boolean,
expiryTime: DateInstant,
showEmptyFields: Boolean) {
var fieldView: TDateTimeView? = findViewWithTag(fieldTag)
if (!showEmptyFields && !expires) {
fieldView?.isFieldVisible = false
} else if (fieldView == null && expires) {
fieldView = buildViewForNotReferencedField(
Field(label, ProtectedString(false, "")),
type
) as? TDateTimeView?
fieldView?.let {
addNotReferencedView(it as View)
}
}
fieldView?.activation = expires
fieldView?.dateTime = expiryTime
}
/** /**
* Return empty custom fields * Return empty custom fields
*/ */
@@ -267,30 +294,33 @@ abstract class TemplateAbstractView<TEntryFieldView: GenericEntryFieldView, TDat
populateEntryFieldView(FIELD_TITLE_TAG, populateEntryFieldView(FIELD_TITLE_TAG,
TemplateField.LABEL_TITLE, TemplateField.LABEL_TITLE,
TemplateAttributeType.INLINE,
entryInfo.title, entryInfo.title,
showEmptyFields) showEmptyFields)
populateEntryFieldView(FIELD_USERNAME_TAG, populateEntryFieldView(FIELD_USERNAME_TAG,
TemplateField.LABEL_USERNAME, TemplateField.LABEL_USERNAME,
TemplateAttributeType.INLINE,
entryInfo.username, entryInfo.username,
showEmptyFields) showEmptyFields)
populateEntryFieldView(FIELD_PASSWORD_TAG, populateEntryFieldView(FIELD_PASSWORD_TAG,
TemplateField.LABEL_PASSWORD, TemplateField.LABEL_PASSWORD,
TemplateAttributeType.INLINE,
entryInfo.password, entryInfo.password,
showEmptyFields) showEmptyFields)
populateEntryFieldView(FIELD_URL_TAG, populateEntryFieldView(FIELD_URL_TAG,
TemplateField.LABEL_URL, TemplateField.LABEL_URL,
TemplateAttributeType.INLINE,
entryInfo.url, entryInfo.url,
showEmptyFields) showEmptyFields)
populateDateTimeView(FIELD_EXPIRES_TAG,
val expirationView: TDateTimeView? = findViewWithTag(FIELD_EXPIRES_TAG) TemplateField.LABEL_EXPIRATION,
expirationView?.activation = entryInfo.expires TemplateAttributeType.DATETIME,
expirationView?.dateTime = entryInfo.expiryTime entryInfo.expires,
if (!showEmptyFields && !entryInfo.expires) { entryInfo.expiryTime,
expirationView?.isFieldVisible = false showEmptyFields)
}
populateEntryFieldView(FIELD_NOTES_TAG, populateEntryFieldView(FIELD_NOTES_TAG,
TemplateField.LABEL_NOTES, TemplateField.LABEL_NOTES,
TemplateAttributeType.MULTILINE,
entryInfo.notes, entryInfo.notes,
showEmptyFields) showEmptyFields)