From 7bf74e9e70730ccbe910e8c9fa671c3c5e039540 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 29 Jan 2018 16:44:36 +0100 Subject: [PATCH] properly refresh contacts when thumbnail visibility changes --- .../contacts/activities/MainActivity.kt | 9 +++++---- .../contacts/fragments/MyViewPagerFragment.kt | 10 +++++++++- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/MainActivity.kt index 1ee745cb..ad7bb649 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/MainActivity.kt @@ -77,14 +77,15 @@ class MainActivity : SimpleActivity(), RefreshContactsListener { return } - if (storedShowContactThumbnails != config.showContactThumbnails) { + if (storedShowPhoneNumbers != config.showPhoneNumbers) { restartActivity() return } - if (storedShowPhoneNumbers != config.showPhoneNumbers) { - restartActivity() - return + val configShowContactThumbnails = config.showContactThumbnails + if (storedShowContactThumbnails != configShowContactThumbnails) { + contacts_fragment.showContactThumbnailsChanged(configShowContactThumbnails) + favorites_fragment.showContactThumbnailsChanged(configShowContactThumbnails) } val configTextColor = config.textColor diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/fragments/MyViewPagerFragment.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/fragments/MyViewPagerFragment.kt index 150cfd3e..1feb7b88 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/fragments/MyViewPagerFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/fragments/MyViewPagerFragment.kt @@ -24,7 +24,7 @@ abstract class MyViewPagerFragment(context: Context, attributeSet: AttributeSet) protected var activity: MainActivity? = null private var lastHashCode = 0 private var contactsIgnoringSearch = ArrayList() - lateinit private var config: Config + private lateinit var config: Config var forceListRedraw = false @@ -144,11 +144,19 @@ abstract class MyViewPagerFragment(context: Context, attributeSet: AttributeSet) (currAdapter as ContactsAdapter).apply { startNameWithSurname = config.startNameWithSurname showPhoneNumbers = config.showPhoneNumbers + showContactThumbnails = config.showContactThumbnails updateItems(contacts) } } } + fun showContactThumbnailsChanged(showThumbnails: Boolean) { + (fragment_list.adapter as? ContactsAdapter)?.apply { + showContactThumbnails = showThumbnails + notifyDataSetChanged() + } + } + fun onActivityResume() { updateViewStuff() }