From 7096cf5912b3122ff8fdc6f308ed90bf1d54d6ae Mon Sep 17 00:00:00 2001 From: merkost Date: Thu, 20 Jul 2023 11:41:39 +1000 Subject: [PATCH] Added change column count animation --- .../dialer/activities/MainActivity.kt | 4 ++-- .../dialer/fragments/FavoritesFragment.kt | 12 +++++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt index d9003d6e..a1ab191a 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt @@ -226,7 +226,7 @@ class MainActivity : SimpleActivity() { val newColumnCount = it as Int if (currentColumnCount != newColumnCount) { config.contactsGridColumnCount = newColumnCount - favorites_fragment.updateListAdapter() + favorites_fragment?.columnCountChanged() } } } @@ -234,7 +234,7 @@ class MainActivity : SimpleActivity() { private fun changeViewType() { ChangeViewTypeDialog(this) { refreshMenuItems() - favorites_fragment.updateListAdapter() + favorites_fragment?.refreshItems() } } diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/fragments/FavoritesFragment.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/fragments/FavoritesFragment.kt index 4cad19af..9cfae02c 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/fragments/FavoritesFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/fragments/FavoritesFragment.kt @@ -87,7 +87,7 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa } } - fun updateListAdapter() { + private fun updateListAdapter() { val viewType = context.config.viewType setViewType(viewType) @@ -135,13 +135,19 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa fragment_list.scheduleLayoutAnimation() } } else { - currAdapter.updateItems(allContacts) currAdapter.viewType = viewType - currAdapter.recyclerView.requestLayout() + currAdapter.updateItems(allContacts) } } + fun columnCountChanged() { + (fragment_list.layoutManager as MyGridLayoutManager).spanCount = context!!.config.contactsGridColumnCount + fragment_list?.adapter?.apply { + notifyItemRangeChanged(0, allContacts.size) + } + } + private fun sortByCustomOrder(favorites: List): ArrayList { val favoritesOrder = activity!!.config.favoritesContactsOrder