mirror of
https://github.com/SimpleMobileTools/Simple-Dialer.git
synced 2025-06-05 21:49:23 +02:00
Created updateListAdapter fun for changing viewType
This commit is contained in:
@@ -208,7 +208,7 @@ class MainActivity : SimpleActivity() {
|
||||
|
||||
private fun changeViewType() {
|
||||
ChangeViewTypeDialog(this) {
|
||||
|
||||
favorites_fragment.updateListAdapter()
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -7,11 +7,10 @@ import com.reddit.indicatorfastscroll.FastScrollItemIndicator
|
||||
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter
|
||||
import com.simplemobiletools.commons.dialogs.CallConfirmationDialog
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.helpers.ContactsHelper
|
||||
import com.simplemobiletools.commons.helpers.MyContactsContentProvider
|
||||
import com.simplemobiletools.commons.helpers.PERMISSION_READ_CONTACTS
|
||||
import com.simplemobiletools.commons.helpers.SMT_PRIVATE
|
||||
import com.simplemobiletools.commons.helpers.*
|
||||
import com.simplemobiletools.commons.models.contacts.Contact
|
||||
import com.simplemobiletools.commons.views.MyGridLayoutManager
|
||||
import com.simplemobiletools.commons.views.MyLinearLayoutManager
|
||||
import com.simplemobiletools.dialer.R
|
||||
import com.simplemobiletools.dialer.activities.SimpleActivity
|
||||
import com.simplemobiletools.dialer.adapters.ContactsAdapter
|
||||
@@ -84,13 +83,20 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa
|
||||
fragment_placeholder.beGone()
|
||||
fragment_list.beVisible()
|
||||
|
||||
val currAdapter = fragment_list.adapter
|
||||
if (currAdapter == null) {
|
||||
updateListAdapter()
|
||||
}
|
||||
}
|
||||
|
||||
fun updateListAdapter() {
|
||||
val viewType = context.config.viewType
|
||||
setViewType(viewType)
|
||||
|
||||
ContactsAdapter(
|
||||
activity = activity as SimpleActivity,
|
||||
contacts = contacts,
|
||||
contacts = allContacts,
|
||||
recyclerView = fragment_list,
|
||||
refreshItemsListener = this,
|
||||
viewType = viewType,
|
||||
showDeleteButton = false,
|
||||
enableDrag = true,
|
||||
) {
|
||||
@@ -121,10 +127,6 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa
|
||||
if (context.areSystemAnimationsEnabled) {
|
||||
fragment_list.scheduleLayoutAnimation()
|
||||
}
|
||||
} else {
|
||||
(currAdapter as ContactsAdapter).updateItems(contacts)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun sortByCustomOrder(favorites: List<Contact>): ArrayList<Contact> {
|
||||
@@ -178,4 +180,15 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa
|
||||
(fragment_list.adapter as? ContactsAdapter)?.updateItems(contacts, text)
|
||||
setupLetterFastScroller(contacts)
|
||||
}
|
||||
|
||||
private fun setViewType(viewType: Int) {
|
||||
val layoutManager = if (viewType == VIEW_TYPE_GRID) {
|
||||
letter_fastscroller.beGone()
|
||||
MyGridLayoutManager(context, 3)
|
||||
} else {
|
||||
letter_fastscroller.beVisible()
|
||||
MyLinearLayoutManager(context)
|
||||
}
|
||||
fragment_list.layoutManager = layoutManager
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user