From 06e55b62187cd67b4a046f11b332b637f745459b Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 17 Nov 2021 19:43:03 +0100 Subject: [PATCH] use our own icons for messaging apps, we cannot scan the system anymore --- .../contacts/pro/extensions/Context.kt | 39 +++++++++---------- .../main/res/drawable/ic_signal_vector.xml | 4 ++ .../main/res/drawable/ic_telegram_vector.xml | 4 ++ .../main/res/drawable/ic_threema_vector.xml | 5 +++ app/src/main/res/drawable/ic_viber_vector.xml | 9 +++++ .../main/res/drawable/ic_whatsapp_vector.xml | 5 +++ .../main/res/layout/item_choose_social.xml | 9 +++-- .../res/layout/item_view_contact_source.xml | 8 ++-- app/src/main/res/values/styles.xml | 5 +++ 9 files changed, 61 insertions(+), 27 deletions(-) create mode 100644 app/src/main/res/drawable/ic_signal_vector.xml create mode 100644 app/src/main/res/drawable/ic_telegram_vector.xml create mode 100644 app/src/main/res/drawable/ic_threema_vector.xml create mode 100644 app/src/main/res/drawable/ic_viber_vector.xml create mode 100644 app/src/main/res/drawable/ic_whatsapp_vector.xml diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/extensions/Context.kt index 05ca1913..d9294ff9 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/extensions/Context.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/extensions/Context.kt @@ -1,9 +1,10 @@ package com.simplemobiletools.contacts.pro.extensions +import android.annotation.SuppressLint import android.content.Context import android.content.Intent -import android.content.pm.LauncherApps import android.database.Cursor +import android.graphics.* import android.graphics.drawable.Drawable import android.net.Uri import android.os.Handler @@ -26,6 +27,7 @@ import com.simplemobiletools.contacts.pro.models.Organization import com.simplemobiletools.contacts.pro.models.SocialAction import java.io.File + val Context.config: Config get() = Config.newInstance(applicationContext) val Context.contactsDB: ContactsDao get() = ContactsDatabase.getInstance(applicationContext).ContactsDao() @@ -35,8 +37,10 @@ val Context.groupsDB: GroupsDao get() = ContactsDatabase.getInstance(application fun Context.getEmptyContact(): Contact { val originalContactSource = if (hasContactPermissions()) config.lastUsedContactSource else SMT_PRIVATE val organization = Organization("", "") - return Contact(0, "", "", "", "", "", "", "", ArrayList(), ArrayList(), ArrayList(), ArrayList(), originalContactSource, 0, 0, "", - null, "", ArrayList(), organization, ArrayList(), ArrayList(), DEFAULT_MIMETYPE, null) + return Contact( + 0, "", "", "", "", "", "", "", ArrayList(), ArrayList(), ArrayList(), ArrayList(), originalContactSource, 0, 0, "", + null, "", ArrayList(), organization, ArrayList(), ArrayList(), DEFAULT_MIMETYPE, null + ) } fun Context.viewContact(contact: Contact) { @@ -355,22 +359,15 @@ fun Context.getSocialActions(id: Int): ArrayList { return socialActions } -fun Context.getPackageDrawable(packageName: String): Drawable? { - var drawable: Drawable? = null - try { - // try getting the properly colored launcher icons - val launcher = getSystemService(Context.LAUNCHER_APPS_SERVICE) as LauncherApps - val activityList = launcher.getActivityList(packageName, android.os.Process.myUserHandle())[0] - drawable = activityList.getBadgedIcon(0) - } catch (ignored: Exception) { - } - - if (drawable == null) { - try { - drawable = packageManager.getApplicationIcon(packageName) - } catch (ignored: Exception) { - } - } - - return drawable +@SuppressLint("UseCompatLoadingForDrawables") +fun Context.getPackageDrawable(packageName: String): Drawable { + return resources.getDrawable( + when (packageName) { + TELEGRAM_PACKAGE -> R.drawable.ic_telegram_vector + SIGNAL_PACKAGE -> R.drawable.ic_signal_vector + WHATSAPP_PACKAGE -> R.drawable.ic_whatsapp_vector + VIBER_PACKAGE -> R.drawable.ic_viber_vector + else -> R.drawable.ic_threema_vector + }, theme + ) } diff --git a/app/src/main/res/drawable/ic_signal_vector.xml b/app/src/main/res/drawable/ic_signal_vector.xml new file mode 100644 index 00000000..08658680 --- /dev/null +++ b/app/src/main/res/drawable/ic_signal_vector.xml @@ -0,0 +1,4 @@ + + + + diff --git a/app/src/main/res/drawable/ic_telegram_vector.xml b/app/src/main/res/drawable/ic_telegram_vector.xml new file mode 100644 index 00000000..1262e68f --- /dev/null +++ b/app/src/main/res/drawable/ic_telegram_vector.xml @@ -0,0 +1,4 @@ + + + + diff --git a/app/src/main/res/drawable/ic_threema_vector.xml b/app/src/main/res/drawable/ic_threema_vector.xml new file mode 100644 index 00000000..4e806b25 --- /dev/null +++ b/app/src/main/res/drawable/ic_threema_vector.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_viber_vector.xml b/app/src/main/res/drawable/ic_viber_vector.xml new file mode 100644 index 00000000..52baa287 --- /dev/null +++ b/app/src/main/res/drawable/ic_viber_vector.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_whatsapp_vector.xml b/app/src/main/res/drawable/ic_whatsapp_vector.xml new file mode 100644 index 00000000..55577cae --- /dev/null +++ b/app/src/main/res/drawable/ic_whatsapp_vector.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/layout/item_choose_social.xml b/app/src/main/res/layout/item_choose_social.xml index 36799a59..58fbf402 100644 --- a/app/src/main/res/layout/item_choose_social.xml +++ b/app/src/main/res/layout/item_choose_social.xml @@ -1,5 +1,6 @@ - + android:padding="@dimen/small_margin" + android:scaleType="centerCrop" + app:shapeAppearanceOverlay="@style/roundedImageView" + tools:src="@drawable/ic_whatsapp_vector" /> - + android:scaleType="centerCrop" + app:shapeAppearanceOverlay="@style/roundedImageView" + tools:src="@drawable/ic_whatsapp_vector" /> diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 9c3b80f3..7c4d1a23 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -2,4 +2,9 @@ +