mirror of
https://github.com/SimpleMobileTools/Simple-Dialer.git
synced 2025-06-05 21:49:23 +02:00
Added private numbers provider to ManageSpeedDialActivity and ArrayLists changed to Kotlin lists
This commit is contained in:
@@ -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<Contact>()
|
||||
private var speedDialValues = ArrayList<SpeedDial>()
|
||||
private var allContacts = mutableListOf<Contact>()
|
||||
private var speedDialValues = mutableListOf<SpeedDial>()
|
||||
|
||||
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)
|
||||
|
@@ -41,7 +41,7 @@ import java.util.*
|
||||
|
||||
class ContactsAdapter(
|
||||
activity: SimpleActivity,
|
||||
var contacts: ArrayList<Contact>,
|
||||
var contacts: MutableList<Contact>,
|
||||
recyclerView: MyRecyclerView,
|
||||
val refreshItemsListener: RefreshItemsListener? = null,
|
||||
highlightText: String = "",
|
||||
|
@@ -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<SpeedDial>, private val removeListener: RemoveSpeedDialListener,
|
||||
activity: SimpleActivity, var speedDialValues: List<SpeedDial>, private val removeListener: RemoveSpeedDialListener,
|
||||
recyclerView: MyRecyclerView, itemClick: (Any) -> Unit
|
||||
) : MyRecyclerViewAdapter(activity, recyclerView, itemClick) {
|
||||
init {
|
||||
|
@@ -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<Contact>, val callback: (selectedContact: Contact) -> Unit) {
|
||||
class SelectContactDialog(val activity: SimpleActivity, contacts: MutableList<Contact>, 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<Cont
|
||||
try {
|
||||
val name = contacts[position].getNameToDisplay()
|
||||
val character = if (name.isNotEmpty()) name.substring(0, 1) else ""
|
||||
FastScrollItemIndicator.Text(character.toUpperCase(Locale.getDefault()))
|
||||
FastScrollItemIndicator.Text(character.uppercase(Locale.getDefault()))
|
||||
} catch (e: Exception) {
|
||||
FastScrollItemIndicator.Text("")
|
||||
}
|
||||
|
@@ -76,7 +76,7 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa
|
||||
}
|
||||
|
||||
private fun gotContacts(contacts: ArrayList<Contact>) {
|
||||
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<Contact>) {
|
||||
private fun saveCustomOrderToPrefs(items: List<Contact>) {
|
||||
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<Contact>) {
|
||||
private fun setupLetterFastScroller(contacts: List<Contact>) {
|
||||
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)
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user