From 87076840130d8ae7e8cde7e4b8108414387f6f19 Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 17 Nov 2021 09:54:44 +0100 Subject: [PATCH] use layout animations only if they arent disabled by the system --- .../contacts/pro/activities/GroupContactsActivity.kt | 5 ++++- .../contacts/pro/activities/SelectContactActivity.kt | 5 ++++- .../contacts/pro/dialogs/SelectContactsDialog.kt | 6 +++++- .../contacts/pro/fragments/MyViewPagerFragment.kt | 10 ++++++++-- 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/GroupContactsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/GroupContactsActivity.kt index a98d7c39..2f803349 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/GroupContactsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/GroupContactsActivity.kt @@ -139,7 +139,10 @@ class GroupContactsActivity : SimpleActivity(), RemoveFromGroupListener, Refresh group_contacts_list.adapter = this } - group_contacts_list.scheduleLayoutAnimation() + if (areSystemAnimationsEnabled) { + group_contacts_list.scheduleLayoutAnimation() + } + group_contacts_fastscroller.setScrollToY(0) group_contacts_fastscroller.setViews(group_contacts_list) { val item = (group_contacts_list.adapter as ContactsAdapter).contactItems.getOrNull(it) diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/SelectContactActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/SelectContactActivity.kt index bd877bc8..c094bc5c 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/SelectContactActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/SelectContactActivity.kt @@ -201,7 +201,10 @@ class SelectContactActivity : SimpleActivity() { select_contact_list.adapter = this } - select_contact_list.scheduleLayoutAnimation() + if (areSystemAnimationsEnabled) { + select_contact_list.scheduleLayoutAnimation() + } + select_contact_fastscroller.setViews(select_contact_list) { select_contact_fastscroller.updateBubbleText(contacts[it].getBubbleText()) } diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/dialogs/SelectContactsDialog.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/dialogs/SelectContactsDialog.kt index 0a014cb7..9ec82e84 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/dialogs/SelectContactsDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/dialogs/SelectContactsDialog.kt @@ -1,6 +1,7 @@ package com.simplemobiletools.contacts.pro.dialogs import androidx.appcompat.app.AlertDialog +import com.simplemobiletools.commons.extensions.areSystemAnimationsEnabled import com.simplemobiletools.commons.extensions.setupDialogStuff import com.simplemobiletools.commons.helpers.ensureBackgroundThread import com.simplemobiletools.contacts.pro.R @@ -42,7 +43,10 @@ class SelectContactsDialog(val activity: SimpleActivity, initialContacts: ArrayL select_contact_list.adapter = SelectContactsAdapter(activity, allContacts, initiallySelectedContacts, allowSelectMultiple, select_contact_list, select_contact_fastscroller, contactClickCallback) - select_contact_list.scheduleLayoutAnimation() + if (context.areSystemAnimationsEnabled) { + select_contact_list.scheduleLayoutAnimation() + } + select_contact_fastscroller.setViews(select_contact_list) { select_contact_fastscroller.updateBubbleText(allContacts[it].getBubbleText()) } diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/fragments/MyViewPagerFragment.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/fragments/MyViewPagerFragment.kt index b6f0294c..2da9f23e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/fragments/MyViewPagerFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/fragments/MyViewPagerFragment.kt @@ -178,7 +178,10 @@ abstract class MyViewPagerFragment(context: Context, attributeSet: AttributeSet) fragment_list.adapter = this } - fragment_list.scheduleLayoutAnimation() + if (context.areSystemAnimationsEnabled) { + fragment_list.scheduleLayoutAnimation() + } + fragment_fastscroller.setScrollToY(0) fragment_fastscroller.setViews(fragment_list) { val item = (fragment_list.adapter as GroupsAdapter).groups.getOrNull(it) @@ -211,7 +214,10 @@ abstract class MyViewPagerFragment(context: Context, attributeSet: AttributeSet) }.apply { fragment_list.adapter = this } - fragment_list.scheduleLayoutAnimation() + + if (context.areSystemAnimationsEnabled) { + fragment_list.scheduleLayoutAnimation() + } } else { (currAdapter as ContactsAdapter).apply { startNameWithSurname = config.startNameWithSurname