utiliser une map pour conserver les infos du contact
This commit is contained in:
parent
91f727d5c0
commit
b973615de2
|
@ -9,14 +9,14 @@ import android.provider.ContactsContract
|
|||
*/
|
||||
class NornContact(val number: String?, context: Context) {
|
||||
|
||||
val uri: Uri = this.getContactUri()
|
||||
val name: String?
|
||||
val avatar: Uri?
|
||||
val uri: Uri = this.getContactUri()
|
||||
|
||||
init {
|
||||
val row = this.getContactName(context)
|
||||
this.name = row[0] as String?
|
||||
this.avatar = row[1] as Uri?
|
||||
val contact = this.getContact(context)
|
||||
this.name = contact.get("name") as String?
|
||||
this.avatar = contact.get("avatar") as Uri?
|
||||
}
|
||||
|
||||
|
||||
|
@ -29,14 +29,14 @@ class NornContact(val number: String?, context: Context) {
|
|||
}
|
||||
}
|
||||
|
||||
private fun getContactName(context: Context): Array<Any?> {
|
||||
private fun getContact(context: Context): Map<String, Any?> {
|
||||
val projection = arrayOf(ContactsContract.PhoneLookup.DISPLAY_NAME,
|
||||
ContactsContract.PhoneLookup.PHOTO_URI)
|
||||
ContactsContract.PhoneLookup.PHOTO_THUMBNAIL_URI)
|
||||
|
||||
return this.query(projection, context)
|
||||
}
|
||||
|
||||
private fun query(projection: Array<String>?, context: Context): Array<Any?> {
|
||||
private fun query(projection: Array<String>?, context: Context): Map<String, Any?> {
|
||||
val cursor = context.contentResolver.query(this.uri, projection, null, null, null)
|
||||
|
||||
var name: String? = null
|
||||
|
@ -44,8 +44,8 @@ class NornContact(val number: String?, context: Context) {
|
|||
|
||||
if (cursor != null) {
|
||||
if (cursor.moveToFirst()) {
|
||||
name = cursor.getString(0)
|
||||
val avatarString = cursor.getString(1)
|
||||
name = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.PhoneLookup.DISPLAY_NAME))
|
||||
val avatarString = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.PhoneLookup.PHOTO_THUMBNAIL_URI))
|
||||
|
||||
avatar = if (avatarString == null) null else Uri.parse(avatarString)
|
||||
}
|
||||
|
@ -53,7 +53,7 @@ class NornContact(val number: String?, context: Context) {
|
|||
cursor.close()
|
||||
}
|
||||
|
||||
return arrayOf(name, avatar)
|
||||
return mapOf("name" to name, "avatar" to avatar)
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in a new issue