diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/ManageSpeedDialActivity.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/ManageSpeedDialActivity.kt index 40959a25..c4d5aefc 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/ManageSpeedDialActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/ManageSpeedDialActivity.kt @@ -3,8 +3,10 @@ package com.simplemobiletools.dialer.activities import android.os.Bundle import com.google.gson.Gson import com.simplemobiletools.commons.dialogs.RadioGroupDialog +import com.simplemobiletools.commons.extensions.getMyContactsCursor import com.simplemobiletools.commons.extensions.updateTextColors import com.simplemobiletools.commons.helpers.ContactsHelper +import com.simplemobiletools.commons.helpers.MyContactsContentProvider import com.simplemobiletools.commons.helpers.NavigationIcon import com.simplemobiletools.commons.models.PhoneNumber import com.simplemobiletools.commons.models.RadioItem @@ -18,8 +20,8 @@ import com.simplemobiletools.dialer.models.SpeedDial import kotlinx.android.synthetic.main.activity_manage_speed_dial.* class ManageSpeedDialActivity : SimpleActivity(), RemoveSpeedDialListener { - private var allContacts = ArrayList() - private var speedDialValues = ArrayList() + private var allContacts = mutableListOf() + private var speedDialValues = mutableListOf() override fun onCreate(savedInstanceState: Bundle?) { isMaterialActivity = true @@ -31,8 +33,14 @@ class ManageSpeedDialActivity : SimpleActivity(), RemoveSpeedDialListener { speedDialValues = config.getSpeedDialValues() updateAdapter() + ContactsHelper(this).getContacts(showOnlyContactsWithNumbers = true) { contacts -> - allContacts = contacts + allContacts.addAll(contacts) + + val privateCursor = getMyContactsCursor(false, true) + val privateContacts = MyContactsContentProvider.getContacts(this, privateCursor) + allContacts.addAll(privateContacts) + allContacts.sort() } updateTextColors(manage_speed_dial_scrollview) diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/ContactsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/ContactsAdapter.kt index 4db4c17c..db8c0c47 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/ContactsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/ContactsAdapter.kt @@ -41,7 +41,7 @@ import java.util.* class ContactsAdapter( activity: SimpleActivity, - var contacts: ArrayList, + var contacts: MutableList, recyclerView: MyRecyclerView, val refreshItemsListener: RefreshItemsListener? = null, highlightText: String = "", diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/SpeedDialAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/SpeedDialAdapter.kt index 62391974..a436d7e0 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/SpeedDialAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/SpeedDialAdapter.kt @@ -9,10 +9,10 @@ import com.simplemobiletools.dialer.R import com.simplemobiletools.dialer.activities.SimpleActivity import com.simplemobiletools.dialer.interfaces.RemoveSpeedDialListener import com.simplemobiletools.dialer.models.SpeedDial -import kotlinx.android.synthetic.main.item_speed_dial.view.* +import kotlinx.android.synthetic.main.item_speed_dial.view.speed_dial_label class SpeedDialAdapter( - activity: SimpleActivity, var speedDialValues: ArrayList, private val removeListener: RemoveSpeedDialListener, + activity: SimpleActivity, var speedDialValues: List, private val removeListener: RemoveSpeedDialListener, recyclerView: MyRecyclerView, itemClick: (Any) -> Unit ) : MyRecyclerViewAdapter(activity, recyclerView, itemClick) { init { diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/dialogs/SelectContactDialog.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/dialogs/SelectContactDialog.kt index 104838fe..980cc471 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/dialogs/SelectContactDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/dialogs/SelectContactDialog.kt @@ -7,10 +7,12 @@ import com.simplemobiletools.commons.models.contacts.Contact import com.simplemobiletools.dialer.R import com.simplemobiletools.dialer.activities.SimpleActivity import com.simplemobiletools.dialer.adapters.ContactsAdapter -import kotlinx.android.synthetic.main.dialog_select_contact.view.* -import java.util.* +import kotlinx.android.synthetic.main.dialog_select_contact.view.letter_fastscroller +import kotlinx.android.synthetic.main.dialog_select_contact.view.letter_fastscroller_thumb +import kotlinx.android.synthetic.main.dialog_select_contact.view.select_contact_list +import java.util.Locale -class SelectContactDialog(val activity: SimpleActivity, contacts: ArrayList, val callback: (selectedContact: Contact) -> Unit) { +class SelectContactDialog(val activity: SimpleActivity, contacts: MutableList, val callback: (selectedContact: Contact) -> Unit) { private var dialog: AlertDialog? = null private var view = activity.layoutInflater.inflate(R.layout.dialog_select_contact, null) @@ -25,7 +27,7 @@ class SelectContactDialog(val activity: SimpleActivity, contacts: ArrayList) { - setupLetterFastscroller(contacts) + setupLetterFastScroller(contacts) if (contacts.isEmpty()) { fragment_placeholder.beVisible() fragment_list.beGone() @@ -113,7 +113,7 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa if (adapter is ContactsAdapter) { val items = adapter.contacts saveCustomOrderToPrefs(items) - setupLetterFastscroller(items) + setupLetterFastScroller(items) } } } @@ -141,7 +141,7 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa return ArrayList(sorted) } - private fun saveCustomOrderToPrefs(items: ArrayList) { + private fun saveCustomOrderToPrefs(items: List) { activity?.apply { val orderIds = items.map { it.contactId } val orderGsonString = Gson().toJson(orderIds) @@ -149,7 +149,7 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa } } - private fun setupLetterFastscroller(contacts: ArrayList) { + private fun setupLetterFastScroller(contacts: List) { letter_fastscroller.setupWithRecyclerView(fragment_list, { position -> try { val name = contacts[position].getNameToDisplay() @@ -164,7 +164,7 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa override fun onSearchClosed() { fragment_placeholder.beVisibleIf(allContacts.isEmpty()) (fragment_list.adapter as? ContactsAdapter)?.updateItems(allContacts) - setupLetterFastscroller(allContacts) + setupLetterFastScroller(allContacts) } override fun onSearchQueryChanged(text: String) { @@ -176,6 +176,6 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa fragment_placeholder.beVisibleIf(contacts.isEmpty()) (fragment_list.adapter as? ContactsAdapter)?.updateItems(contacts, text) - setupLetterFastscroller(contacts) + setupLetterFastScroller(contacts) } }