move item refreshing from activity into fragments

This commit is contained in:
tibbi 2020-05-11 13:39:15 +02:00
parent b4683d946c
commit 4b04219976
3 changed files with 20 additions and 16 deletions

View File

@ -15,7 +15,6 @@ import com.simplemobiletools.dialer.BuildConfig
import com.simplemobiletools.dialer.R
import com.simplemobiletools.dialer.adapters.ViewPagerAdapter
import com.simplemobiletools.dialer.extensions.config
import com.simplemobiletools.dialer.helpers.RecentsHelper
import com.simplemobiletools.dialer.helpers.tabsList
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.fragment_contacts.*
@ -215,17 +214,8 @@ class MainActivity : SimpleActivity() {
viewpager.currentItem = config.lastUsedViewPagerPage
}
SimpleContactsHelper(this).getAvailableContacts { contacts ->
runOnUiThread {
contacts_fragment.refreshContacts(contacts)
}
}
RecentsHelper(this).getRecentCalls { recents ->
runOnUiThread {
recents_fragment.updateRecents(recents)
}
}
contacts_fragment.refreshContacts()
recents_fragment.refreshRecents()
}
private fun getAllFragments() = arrayListOf(contacts_fragment, recents_fragment)

View File

@ -15,6 +15,7 @@ import com.simplemobiletools.dialer.R
import com.simplemobiletools.dialer.activities.SimpleActivity
import com.simplemobiletools.dialer.adapters.ContactsAdapter
import com.simplemobiletools.dialer.extensions.config
import kotlinx.android.synthetic.main.fragment_contacts.*
import kotlinx.android.synthetic.main.fragment_letters_layout.view.*
import java.util.*
@ -71,7 +72,15 @@ class ContactsFragment(context: Context, attributeSet: AttributeSet) : MyViewPag
fragment_fab.background.applyColorFilter(context.getAdjustedPrimaryColor())
}
fun refreshContacts(contacts: ArrayList<SimpleContact>) {
fun refreshContacts() {
SimpleContactsHelper(context).getAvailableContacts { contacts ->
activity?.runOnUiThread {
gotContacts(contacts)
}
}
}
fun gotContacts(contacts: ArrayList<SimpleContact>) {
setupLetterFastscroller(contacts)
if (contacts.isEmpty()) {
fragment_placeholder.beVisible()
@ -117,7 +126,7 @@ class ContactsFragment(context: Context, attributeSet: AttributeSet) : MyViewPag
SimpleContactsHelper(context).getAvailableContacts { contacts ->
activity?.runOnUiThread {
refreshContacts(contacts)
gotContacts(contacts)
}
}
}

View File

@ -41,9 +41,14 @@ class RecentsFragment(context: Context, attributeSet: AttributeSet) : MyViewPage
override fun primaryColorChanged(color: Int) {}
override fun refreshRecents() {
RecentsHelper(context).getRecentCalls { recents ->
activity?.runOnUiThread {
gotRecents(recents)
}
}
}
fun updateRecents(recents: ArrayList<RecentCall>) {
private fun gotRecents(recents: ArrayList<RecentCall>) {
if (recents.isEmpty()) {
recents_placeholder.beVisible()
recents_placeholder_2.beVisibleIf(!context.hasPermission(PERMISSION_WRITE_CALL_LOG))
@ -74,7 +79,7 @@ class RecentsFragment(context: Context, attributeSet: AttributeSet) : MyViewPage
RecentsHelper(context).getRecentCalls { recents ->
activity?.runOnUiThread {
updateRecents(recents)
gotRecents(recents)
}
}
}