add some more third party intent handling

This commit is contained in:
tibbi
2018-01-02 14:57:19 +01:00
parent f2f22a34ff
commit 29c16d543f
3 changed files with 33 additions and 12 deletions

View File

@ -48,20 +48,26 @@ fun Context.sendSMSIntent(recipient: String) {
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
fun Context.getContactRawId(dataUri: Uri): Int? {
fun Context.getLookupUriRawId(dataUri: Uri): Int {
val lookupKey = getLookupKeyFromUri(dataUri)
if (lookupKey != null && isLollipopPlus()) {
val uri = lookupContactUri(lookupKey, this)
val projection = arrayOf(ContactsContract.Contacts.NAME_RAW_CONTACT_ID)
var cursor: Cursor? = null
try {
cursor = contentResolver.query(uri, projection, null, null, null)
if (cursor.moveToFirst()) {
return cursor.getIntValue(ContactsContract.Contacts.NAME_RAW_CONTACT_ID)
}
} finally {
cursor?.close()
return getContactUriRawId(uri)
}
return -1
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
fun Context.getContactUriRawId(uri: Uri): Int {
val projection = arrayOf(ContactsContract.Contacts.NAME_RAW_CONTACT_ID)
var cursor: Cursor? = null
try {
cursor = contentResolver.query(uri, projection, null, null, null)
if (cursor.moveToFirst()) {
return cursor.getIntValue(ContactsContract.Contacts.NAME_RAW_CONTACT_ID)
}
} finally {
cursor?.close()
}
return -1
}