add importing note from vcf file
This commit is contained in:
parent
c2b92f46f6
commit
926ba81bcd
|
@ -31,6 +31,7 @@ const val ANNIVERSARY = "ANNIVERSARY:"
|
||||||
const val PHOTO = "PHOTO"
|
const val PHOTO = "PHOTO"
|
||||||
const val EMAIL = "EMAIL"
|
const val EMAIL = "EMAIL"
|
||||||
const val ADR = "ADR"
|
const val ADR = "ADR"
|
||||||
|
const val NOTE = "NOTE:"
|
||||||
const val ENCODING = "ENCODING"
|
const val ENCODING = "ENCODING"
|
||||||
const val BASE64 = "BASE64"
|
const val BASE64 = "BASE64"
|
||||||
const val JPEG = "JPEG"
|
const val JPEG = "JPEG"
|
||||||
|
|
|
@ -37,6 +37,9 @@ class VcfImporter(val activity: SimpleActivity) {
|
||||||
private var currentNameIsANSI = false
|
private var currentNameIsANSI = false
|
||||||
private var currentNameString = StringBuilder()
|
private var currentNameString = StringBuilder()
|
||||||
|
|
||||||
|
private var isGettingNotes = false
|
||||||
|
private var currentNotesSB = StringBuilder()
|
||||||
|
|
||||||
private var contactsImported = 0
|
private var contactsImported = 0
|
||||||
private var contactsFailed = 0
|
private var contactsFailed = 0
|
||||||
|
|
||||||
|
@ -61,10 +64,18 @@ class VcfImporter(val activity: SimpleActivity) {
|
||||||
currentNameString.append(line.trimStart('\t'))
|
currentNameString.append(line.trimStart('\t'))
|
||||||
isGettingName = false
|
isGettingName = false
|
||||||
parseNames()
|
parseNames()
|
||||||
|
} else if (isGettingNotes) {
|
||||||
|
if (line.startsWith(' ')) {
|
||||||
|
currentNotesSB.append(line.substring(1))
|
||||||
|
} else {
|
||||||
|
curNotes = currentNotesSB.toString().replace("\\n", "\n").replace("\\,", ",")
|
||||||
|
isGettingNotes = false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
when {
|
when {
|
||||||
line.toUpperCase() == BEGIN_VCARD -> resetValues()
|
line.toUpperCase() == BEGIN_VCARD -> resetValues()
|
||||||
|
line.toUpperCase().startsWith(NOTE) -> addNotes(line.substring(NOTE.length))
|
||||||
line.toUpperCase().startsWith(N) -> addNames(line.substring(N.length))
|
line.toUpperCase().startsWith(N) -> addNames(line.substring(N.length))
|
||||||
line.toUpperCase().startsWith(TEL) -> addPhoneNumber(line.substring(TEL.length))
|
line.toUpperCase().startsWith(TEL) -> addPhoneNumber(line.substring(TEL.length))
|
||||||
line.toUpperCase().startsWith(EMAIL) -> addEmail(line.substring(EMAIL.length))
|
line.toUpperCase().startsWith(EMAIL) -> addEmail(line.substring(EMAIL.length))
|
||||||
|
@ -217,6 +228,11 @@ class VcfImporter(val activity: SimpleActivity) {
|
||||||
curPhotoUri = activity.getCachePhotoUri(file).toString()
|
curPhotoUri = activity.getCachePhotoUri(file).toString()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun addNotes(notes: String) {
|
||||||
|
currentNotesSB.append(notes)
|
||||||
|
isGettingNotes = true
|
||||||
|
}
|
||||||
|
|
||||||
private fun saveContact(source: String) {
|
private fun saveContact(source: String) {
|
||||||
val contact = Contact(0, curFirstName, curMiddleName, curSurname, curPhotoUri, curPhoneNumbers, curEmails, curAddresses, curEvents, source, 0, 0, "", null, curNotes)
|
val contact = Contact(0, curFirstName, curMiddleName, curSurname, curPhotoUri, curPhoneNumbers, curEmails, curAddresses, curEvents, source, 0, 0, "", null, curNotes)
|
||||||
if (ContactsHelper(activity).insertContact(contact)) {
|
if (ContactsHelper(activity).insertContact(contact)) {
|
||||||
|
@ -242,5 +258,8 @@ class VcfImporter(val activity: SimpleActivity) {
|
||||||
isGettingName = false
|
isGettingName = false
|
||||||
currentNameIsANSI = false
|
currentNameIsANSI = false
|
||||||
currentNameString = StringBuilder()
|
currentNameString = StringBuilder()
|
||||||
|
|
||||||
|
isGettingNotes = false
|
||||||
|
currentNotesSB = StringBuilder()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue