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 6ff47fbb..a3591cea 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt @@ -18,13 +18,13 @@ import com.simplemobiletools.dialer.R import com.simplemobiletools.dialer.adapters.ViewPagerAdapter import com.simplemobiletools.dialer.extensions.config import com.simplemobiletools.dialer.helpers.ALL_TABS_MASK +import com.simplemobiletools.dialer.helpers.CONTACTS_TAB_MASK +import com.simplemobiletools.dialer.helpers.RECENTS_TAB_MASK import com.simplemobiletools.dialer.helpers.tabsList import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.fragment_contacts.* class MainActivity : SimpleActivity() { - private var isGettingContacts = false - override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) @@ -94,7 +94,7 @@ class MainActivity : SimpleActivity() { }) viewpager.onGlobalLayout { - refreshContacts(ALL_TABS_MASK) + refreshItems(ALL_TABS_MASK) } main_tabs_holder.onTabSelectionChanged( @@ -124,29 +124,34 @@ class MainActivity : SimpleActivity() { private fun getTabIcon(position: Int): Drawable { val drawableId = when (position) { - else -> R.drawable.ic_person_vector + 0 -> R.drawable.ic_person_vector + else -> R.drawable.ic_clock_vector } return resources.getColoredDrawableWithColor(drawableId, config.textColor) } - fun refreshContacts(refreshTabsMask: Int) { - if (isDestroyed || isFinishing || isGettingContacts) { + fun refreshItems(refreshTabsMask: Int) { + if (isDestroyed || isFinishing) { return } - isGettingContacts = true - if (viewpager.adapter == null) { viewpager.adapter = ViewPagerAdapter(this) viewpager.currentItem = config.lastUsedViewPagerPage } - ContactsHelper(this).getAvailableContacts { contacts -> - runOnUiThread { - contacts_fragment.refreshContacts(contacts) + if (refreshTabsMask and CONTACTS_TAB_MASK != 0) { + ContactsHelper(this).getAvailableContacts { contacts -> + runOnUiThread { + contacts_fragment.refreshContacts(contacts) + } } } + + if (refreshTabsMask and RECENTS_TAB_MASK != 0) { + + } } private fun getAllFragments() = arrayListOf(contacts_fragment) diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/ViewPagerAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/ViewPagerAdapter.kt index 8e48e665..6c84b889 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/ViewPagerAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/ViewPagerAdapter.kt @@ -25,11 +25,15 @@ class ViewPagerAdapter(val activity: SimpleActivity) : PagerAdapter() { container.removeView(item as View) } - override fun getCount() = 1 + override fun getCount() = 2 override fun isViewFromObject(view: View, item: Any) = view == item private fun getFragment(position: Int): Int { - return R.layout.fragment_contacts + return if (position == 0) { + R.layout.fragment_contacts + } else { + R.layout.fragment_recents + } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/fragments/RecentsFragment.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/fragments/RecentsFragment.kt new file mode 100644 index 00000000..57c88513 --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/fragments/RecentsFragment.kt @@ -0,0 +1,6 @@ +package com.simplemobiletools.dialer.fragments + +import android.content.Context +import android.util.AttributeSet + +class RecentsFragment(context: Context, attributeSet: AttributeSet) : MyViewPagerFragment(context, attributeSet) diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Constants.kt index 4c82374a..717c9b9c 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Constants.kt @@ -2,7 +2,7 @@ package com.simplemobiletools.dialer.helpers const val CONTACTS_TAB_MASK = 1 const val FAVORITES_TAB_MASK = 2 -const val HISTORY_TAB_MASK = 4 -const val ALL_TABS_MASK = CONTACTS_TAB_MASK or FAVORITES_TAB_MASK or HISTORY_TAB_MASK +const val RECENTS_TAB_MASK = 4 +const val ALL_TABS_MASK = CONTACTS_TAB_MASK or FAVORITES_TAB_MASK or RECENTS_TAB_MASK -val tabsList = arrayListOf(CONTACTS_TAB_MASK) +val tabsList = arrayListOf(CONTACTS_TAB_MASK, RECENTS_TAB_MASK) diff --git a/app/src/main/res/layout/fragment_recents.xml b/app/src/main/res/layout/fragment_recents.xml new file mode 100644 index 00000000..f093a2f0 --- /dev/null +++ b/app/src/main/res/layout/fragment_recents.xml @@ -0,0 +1,44 @@ + + + + + + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 2f2ff4d7..fbf6f43e 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,4 +1,9 @@ Simple Dialer Dialer + + + No previous calls have been found + Could not access the call history + Request access