Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/bitfireAT/vcard4android.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicki Hirner <hirner@bitfire.at>2021-08-23 01:34:59 +0300
committerRicki Hirner <hirner@bitfire.at>2021-08-23 01:34:59 +0300
commita574ff294dceaf57df7f33c4e1441f650c49992e (patch)
treee602c9c48f124f78bea6374f78feef8493ae381d
parentc4f7abf79bf59d69f8c3ae8cf7a1c3286d26f545 (diff)
Raise SDK compatibility level to 31 (Android 12); lint
-rw-r--r--build.gradle4
-rw-r--r--src/androidTest/java/at/bitfire/vcard4android/contactrow/EmailHandlerTest.kt1
-rw-r--r--src/androidTest/java/at/bitfire/vcard4android/contactrow/PhotoHandlerTest.kt1
-rw-r--r--src/main/java/at/bitfire/vcard4android/AndroidContact.kt17
-rw-r--r--src/main/java/at/bitfire/vcard4android/BatchOperation.kt2
-rw-r--r--src/main/java/at/bitfire/vcard4android/Contact.kt3
-rw-r--r--src/main/java/at/bitfire/vcard4android/ContactWriter.kt16
-rw-r--r--src/main/java/at/bitfire/vcard4android/LabeledProperty.kt1
-rw-r--r--src/main/java/at/bitfire/vcard4android/contactrow/ContactProcessor.kt2
-rw-r--r--src/main/java/at/bitfire/vcard4android/contactrow/DataRowHandler.kt4
-rw-r--r--src/main/java/at/bitfire/vcard4android/contactrow/EmailHandler.kt3
-rw-r--r--src/main/java/at/bitfire/vcard4android/contactrow/EventBuilder.kt3
-rw-r--r--src/main/java/at/bitfire/vcard4android/contactrow/PhotoBuilder.kt7
-rw-r--r--src/main/java/at/bitfire/vcard4android/contactrow/PhotoHandler.kt3
-rw-r--r--src/main/java/at/bitfire/vcard4android/contactrow/RelationBuilder.kt2
-rw-r--r--src/main/java/at/bitfire/vcard4android/property/CustomScribes.kt2
-rw-r--r--src/main/java/at/bitfire/vcard4android/property/CustomType.kt10
-rw-r--r--src/main/java/at/bitfire/vcard4android/property/XSip.kt5
18 files changed, 27 insertions, 59 deletions
diff --git a/build.gradle b/build.gradle
index 3697b85..d51350e 100644
--- a/build.gradle
+++ b/build.gradle
@@ -30,12 +30,12 @@ apply plugin: 'kotlin-android'
apply plugin: 'org.jetbrains.dokka'
android {
- compileSdkVersion 30
+ compileSdkVersion 31
buildToolsVersion '30.0.3'
defaultConfig {
minSdkVersion 16 // Android 4.1
- targetSdkVersion 30 // Android 11
+ targetSdkVersion 31 // Android 12
}
compileOptions {
diff --git a/src/androidTest/java/at/bitfire/vcard4android/contactrow/EmailHandlerTest.kt b/src/androidTest/java/at/bitfire/vcard4android/contactrow/EmailHandlerTest.kt
index e91d5b9..6229ffe 100644
--- a/src/androidTest/java/at/bitfire/vcard4android/contactrow/EmailHandlerTest.kt
+++ b/src/androidTest/java/at/bitfire/vcard4android/contactrow/EmailHandlerTest.kt
@@ -3,7 +3,6 @@ package at.bitfire.vcard4android.contactrow
import android.content.ContentValues
import android.provider.ContactsContract.CommonDataKinds.Email
import at.bitfire.vcard4android.Contact
-import at.bitfire.vcard4android.datavalues.EmailHandler
import at.bitfire.vcard4android.property.CustomType
import ezvcard.parameter.EmailType
import org.junit.Assert.*
diff --git a/src/androidTest/java/at/bitfire/vcard4android/contactrow/PhotoHandlerTest.kt b/src/androidTest/java/at/bitfire/vcard4android/contactrow/PhotoHandlerTest.kt
index 9db3a19..80ec1fc 100644
--- a/src/androidTest/java/at/bitfire/vcard4android/contactrow/PhotoHandlerTest.kt
+++ b/src/androidTest/java/at/bitfire/vcard4android/contactrow/PhotoHandlerTest.kt
@@ -3,7 +3,6 @@ package at.bitfire.vcard4android.contactrow
import android.content.ContentValues
import android.provider.ContactsContract.CommonDataKinds.Photo
import at.bitfire.vcard4android.Contact
-import at.bitfire.vcard4android.datavalues.PhotoHandler
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNull
import org.junit.Test
diff --git a/src/main/java/at/bitfire/vcard4android/AndroidContact.kt b/src/main/java/at/bitfire/vcard4android/AndroidContact.kt
index a19b5aa..385ae04 100644
--- a/src/main/java/at/bitfire/vcard4android/AndroidContact.kt
+++ b/src/main/java/at/bitfire/vcard4android/AndroidContact.kt
@@ -150,9 +150,9 @@ open class AndroidContact(
// - We'll only delete rows we have inserted so that unknown rows like
// vnd.android.cursor.item/important_people (= contact is in Samsung "edge panel") remain untouched.
val typesToRemove = processor.builderMimeTypes()
- val sqlTypesToRemove = typesToRemove.map { mimeType ->
+ val sqlTypesToRemove = typesToRemove.joinToString(",") { mimeType ->
DatabaseUtils.sqlEscapeString(mimeType)
- }.joinToString(",")
+ }
batch.enqueue(BatchOperation.CpoBuilder
.newDelete(dataSyncURI())
.withSelection(Data.RAW_CONTACT_ID + "=? AND ${Data.MIMETYPE} IN ($sqlTypesToRemove)", arrayOf(id!!.toString())))
@@ -205,19 +205,6 @@ open class AndroidContact(
// helpers
- protected fun insertDataBuilder(rawContactKeyName: String): BatchOperation.CpoBuilder {
- val builder = BatchOperation.CpoBuilder.newInsert(dataSyncURI())
- if (id == null)
- builder.withValueBackReference(rawContactKeyName, 0)
- else
- builder.withValue(rawContactKeyName, id)
-
- if (addressBook.readOnly)
- builder.withValue(Data.IS_READ_ONLY, 1)
-
- return builder
- }
-
protected fun rawContactSyncURI(): Uri {
val id = requireNotNull(id)
return addressBook.syncAdapterURI(ContentUris.withAppendedId(RawContacts.CONTENT_URI, id))
diff --git a/src/main/java/at/bitfire/vcard4android/BatchOperation.kt b/src/main/java/at/bitfire/vcard4android/BatchOperation.kt
index bbe2bbf..9895606 100644
--- a/src/main/java/at/bitfire/vcard4android/BatchOperation.kt
+++ b/src/main/java/at/bitfire/vcard4android/BatchOperation.kt
@@ -87,7 +87,7 @@ class BatchOperation(
* @param end index of last operation which will be run (exclusive!)
* @throws RemoteException on calendar provider errors
* @throws OperationApplicationException when the batch can't be processed
- * @throws CalendarStorageException if the transaction is too large
+ * @throws ContactsStorageException if the transaction is too large
*/
private fun runBatch(start: Int, end: Int) {
if (end == start)
diff --git a/src/main/java/at/bitfire/vcard4android/Contact.kt b/src/main/java/at/bitfire/vcard4android/Contact.kt
index 889a812..442b1bc 100644
--- a/src/main/java/at/bitfire/vcard4android/Contact.kt
+++ b/src/main/java/at/bitfire/vcard4android/Contact.kt
@@ -27,8 +27,7 @@ import java.util.*
*
* Data shall be stored without workarounds in the most appropriate form. For instance,
* an anniversary should be stored as [anniversary] and not in [customDates] with a
- * proprietary label ([Contact.DATE_LABEL_ANNIVERSARY]). Strings should not be empty values
- * (rather *null* in this case).
+ * proprietary label. Strings should not be empty values (rather *null* in this case).
*
* vCards are parsed to [Contact]s by [ContactReader].
* [Contact]s are written to vCards by [ContactWriter].
diff --git a/src/main/java/at/bitfire/vcard4android/ContactWriter.kt b/src/main/java/at/bitfire/vcard4android/ContactWriter.kt
index a737960..e6db1f8 100644
--- a/src/main/java/at/bitfire/vcard4android/ContactWriter.kt
+++ b/src/main/java/at/bitfire/vcard4android/ContactWriter.kt
@@ -41,7 +41,7 @@ class ContactWriter private constructor(val contact: Contact, val version: VCard
addProperties()
}
- fun addProperties() {
+ private fun addProperties() {
contact.uid?.let { vCard.uid = Uid(it) }
Contact.productID?.let { vCard.setProductId(it) }
@@ -120,19 +120,17 @@ class ContactWriter private constructor(val contact: Contact, val version: VCard
} else /* version == VCardVersion.V3_0 */ {
// vCard 3 REQUIRES FN [RFC 2426 p. 29]
- var fn =
+ val fn =
// use display name, if available
StringUtils.trimToNull(contact.displayName) ?:
// no display name, try organization
- contact.organization?.let { org ->
- org.values.joinToString(" / ")
- } ?:
+ contact.organization?.values?.joinToString(" / ") ?:
// otherwise, try nickname
- contact.nickName?.let { nick -> nick.property.values.firstOrNull() } ?:
+ contact.nickName?.property?.values?.firstOrNull() ?:
// otherwise, try email address
- contact.emails.firstOrNull()?.let { email -> email.property.value } ?:
+ contact.emails.firstOrNull()?.property?.value ?:
// otherwise, try phone number
- contact.phoneNumbers.firstOrNull()?.let { phone -> phone.property.text } ?:
+ contact.phoneNumbers.firstOrNull()?.property?.text ?:
// otherwise, try UID or use empty string
contact.uid ?: ""
vCard.setFormattedName(fn)
@@ -199,7 +197,7 @@ class ContactWriter private constructor(val contact: Contact, val version: VCard
if (relation.types.isEmpty())
name.addParameter("TYPE", "other")
else
- label = relation.types.map { type -> WordUtils.capitalize(type.value) }.joinToString(", ")
+ label = relation.types.joinToString(", ") { type -> WordUtils.capitalize(type.value) }
}
}
diff --git a/src/main/java/at/bitfire/vcard4android/LabeledProperty.kt b/src/main/java/at/bitfire/vcard4android/LabeledProperty.kt
index a5d2a7c..51b4657 100644
--- a/src/main/java/at/bitfire/vcard4android/LabeledProperty.kt
+++ b/src/main/java/at/bitfire/vcard4android/LabeledProperty.kt
@@ -9,7 +9,6 @@
package at.bitfire.vcard4android
import ezvcard.property.VCardProperty
-import org.apache.commons.lang3.StringUtils
data class LabeledProperty<out T: VCardProperty> @JvmOverloads constructor(
val property: T,
diff --git a/src/main/java/at/bitfire/vcard4android/contactrow/ContactProcessor.kt b/src/main/java/at/bitfire/vcard4android/contactrow/ContactProcessor.kt
index 3ceb183..5305fc2 100644
--- a/src/main/java/at/bitfire/vcard4android/contactrow/ContactProcessor.kt
+++ b/src/main/java/at/bitfire/vcard4android/contactrow/ContactProcessor.kt
@@ -8,8 +8,6 @@ import at.bitfire.vcard4android.AndroidContact
import at.bitfire.vcard4android.BatchOperation
import at.bitfire.vcard4android.Constants
import at.bitfire.vcard4android.Contact
-import at.bitfire.vcard4android.datavalues.EmailHandler
-import at.bitfire.vcard4android.datavalues.PhotoHandler
import java.util.logging.Level
class ContactProcessor(
diff --git a/src/main/java/at/bitfire/vcard4android/contactrow/DataRowHandler.kt b/src/main/java/at/bitfire/vcard4android/contactrow/DataRowHandler.kt
index d8401b8..be91709 100644
--- a/src/main/java/at/bitfire/vcard4android/contactrow/DataRowHandler.kt
+++ b/src/main/java/at/bitfire/vcard4android/contactrow/DataRowHandler.kt
@@ -6,10 +6,6 @@ import at.bitfire.vcard4android.Contact
/**
* Handler for a raw contact's data row.
- *
- * @param provider content provider client that has been used to fetch the data row;
- * may be used by the handler to fetch further data (like a photo)
- *
*/
abstract class DataRowHandler {
diff --git a/src/main/java/at/bitfire/vcard4android/contactrow/EmailHandler.kt b/src/main/java/at/bitfire/vcard4android/contactrow/EmailHandler.kt
index b8b8d84..8a16a55 100644
--- a/src/main/java/at/bitfire/vcard4android/contactrow/EmailHandler.kt
+++ b/src/main/java/at/bitfire/vcard4android/contactrow/EmailHandler.kt
@@ -1,10 +1,9 @@
-package at.bitfire.vcard4android.datavalues
+package at.bitfire.vcard4android.contactrow
import android.content.ContentValues
import android.provider.ContactsContract.CommonDataKinds.Email
import at.bitfire.vcard4android.Contact
import at.bitfire.vcard4android.LabeledProperty
-import at.bitfire.vcard4android.contactrow.DataRowHandler
import at.bitfire.vcard4android.property.CustomType
import ezvcard.parameter.EmailType
diff --git a/src/main/java/at/bitfire/vcard4android/contactrow/EventBuilder.kt b/src/main/java/at/bitfire/vcard4android/contactrow/EventBuilder.kt
index b90211b..c326527 100644
--- a/src/main/java/at/bitfire/vcard4android/contactrow/EventBuilder.kt
+++ b/src/main/java/at/bitfire/vcard4android/contactrow/EventBuilder.kt
@@ -35,8 +35,7 @@ class EventBuilder(dataRowUri: Uri, rawContactId: Long?, contact: Contact)
if (dateOrTime == null)
return null
- val dateStr: String
- dateStr = when {
+ val dateStr: String = when {
dateOrTime.date != null -> {
val format = SimpleDateFormat("yyyy-MM-dd", Locale.ROOT)
format.format(dateOrTime.date)
diff --git a/src/main/java/at/bitfire/vcard4android/contactrow/PhotoBuilder.kt b/src/main/java/at/bitfire/vcard4android/contactrow/PhotoBuilder.kt
index 5fca982..6ea5e63 100644
--- a/src/main/java/at/bitfire/vcard4android/contactrow/PhotoBuilder.kt
+++ b/src/main/java/at/bitfire/vcard4android/contactrow/PhotoBuilder.kt
@@ -10,13 +10,14 @@ import at.bitfire.vcard4android.Constants
import at.bitfire.vcard4android.Contact
import java.io.ByteArrayOutputStream
import java.util.*
+import kotlin.math.min
class PhotoBuilder(dataRowUri: Uri, rawContactId: Long?, contact: Contact)
: DataRowBuilder(Factory.mimeType(), dataRowUri, rawContactId, contact) {
companion object {
- val MAX_PHOTO_BLOB_SIZE = 950*1024 // IPC limit 1 MB, minus 50 kB for the protocol itself = 950 kB
- val MAX_RESIZE_PASSES = 10
+ const val MAX_PHOTO_BLOB_SIZE = 950*1024 // IPC limit 1 MB, minus 50 kB for the protocol itself = 950 kB
+ const val MAX_RESIZE_PASSES = 10
}
override fun build(): List<BatchOperation.CpoBuilder> {
@@ -59,7 +60,7 @@ class PhotoBuilder(dataRowUri: Uri, rawContactId: Long?, contact: Contact)
return null
}
- var size = Math.min(bitmap.width, bitmap.height).toFloat()
+ var size = min(bitmap.width, bitmap.height).toFloat()
var resized: ByteArray = blob
var count = 0
var quality = 98
diff --git a/src/main/java/at/bitfire/vcard4android/contactrow/PhotoHandler.kt b/src/main/java/at/bitfire/vcard4android/contactrow/PhotoHandler.kt
index a7f03b6..06c14ef 100644
--- a/src/main/java/at/bitfire/vcard4android/contactrow/PhotoHandler.kt
+++ b/src/main/java/at/bitfire/vcard4android/contactrow/PhotoHandler.kt
@@ -1,4 +1,4 @@
-package at.bitfire.vcard4android.datavalues
+package at.bitfire.vcard4android.contactrow
import android.content.ContentProviderClient
import android.content.ContentUris
@@ -7,7 +7,6 @@ import android.provider.ContactsContract
import android.provider.ContactsContract.CommonDataKinds.Photo
import at.bitfire.vcard4android.Constants
import at.bitfire.vcard4android.Contact
-import at.bitfire.vcard4android.contactrow.DataRowHandler
import org.apache.commons.io.IOUtils
import java.io.IOException
import java.util.logging.Level
diff --git a/src/main/java/at/bitfire/vcard4android/contactrow/RelationBuilder.kt b/src/main/java/at/bitfire/vcard4android/contactrow/RelationBuilder.kt
index 0298e1a..9a3c1ea 100644
--- a/src/main/java/at/bitfire/vcard4android/contactrow/RelationBuilder.kt
+++ b/src/main/java/at/bitfire/vcard4android/contactrow/RelationBuilder.kt
@@ -20,7 +20,7 @@ class RelationBuilder(dataRowUri: Uri, rawContactId: Long?, contact: Contact)
if (name.isNullOrBlank())
continue
- var typeCode = when {
+ val typeCode = when {
// specific Android types (not defined in RFC 6350)
related.types.contains(CustomType.Related.ASSISTANT) -> Relation.TYPE_ASSISTANT
related.types.contains(CustomType.Related.BROTHER) -> Relation.TYPE_BROTHER
diff --git a/src/main/java/at/bitfire/vcard4android/property/CustomScribes.kt b/src/main/java/at/bitfire/vcard4android/property/CustomScribes.kt
index 6a35f17..640e657 100644
--- a/src/main/java/at/bitfire/vcard4android/property/CustomScribes.kt
+++ b/src/main/java/at/bitfire/vcard4android/property/CustomScribes.kt
@@ -8,7 +8,7 @@ import ezvcard.io.text.VCardWriter
object CustomScribes {
/** list of all custom scribes (will be registered to readers/writers) **/
- val customScribes = arrayOf(
+ private val customScribes = arrayOf(
XAbDate.Scribe,
XAbLabel.Scribe,
XAbRelatedNames.Scribe,
diff --git a/src/main/java/at/bitfire/vcard4android/property/CustomType.kt b/src/main/java/at/bitfire/vcard4android/property/CustomType.kt
index 3a4df3f..2b1ccd9 100644
--- a/src/main/java/at/bitfire/vcard4android/property/CustomType.kt
+++ b/src/main/java/at/bitfire/vcard4android/property/CustomType.kt
@@ -9,17 +9,17 @@ import ezvcard.parameter.TelephoneType
*/
object CustomType {
- val HOME = "home"
- val WORK = "work"
+ const val HOME = "home"
+ const val WORK = "work"
object Email {
val MOBILE = EmailType.get("x-mobile")
}
object Nickname {
- val INITIALS = "x-initials"
- val MAIDEN_NAME = "x-maiden-name"
- val SHORT_NAME = "x-short-name"
+ const val INITIALS = "x-initials"
+ const val MAIDEN_NAME = "x-maiden-name"
+ const val SHORT_NAME = "x-short-name"
}
object Phone {
diff --git a/src/main/java/at/bitfire/vcard4android/property/XSip.kt b/src/main/java/at/bitfire/vcard4android/property/XSip.kt
index 30c5ad1..8368871 100644
--- a/src/main/java/at/bitfire/vcard4android/property/XSip.kt
+++ b/src/main/java/at/bitfire/vcard4android/property/XSip.kt
@@ -1,12 +1,7 @@
package at.bitfire.vcard4android.property
-import android.net.Uri
-import ezvcard.io.scribe.ImppScribe
import ezvcard.io.scribe.StringPropertyScribe
-import ezvcard.io.scribe.UriPropertyScribe
-import ezvcard.property.Impp
import ezvcard.property.TextProperty
-import ezvcard.property.UriProperty
class XSip(value: String?): TextProperty(value) {