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 android.os.Bundle
|
||||||
import com.google.gson.Gson
|
import com.google.gson.Gson
|
||||||
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
|
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
|
||||||
|
import com.simplemobiletools.commons.extensions.getMyContactsCursor
|
||||||
import com.simplemobiletools.commons.extensions.updateTextColors
|
import com.simplemobiletools.commons.extensions.updateTextColors
|
||||||
import com.simplemobiletools.commons.helpers.ContactsHelper
|
import com.simplemobiletools.commons.helpers.ContactsHelper
|
||||||
|
import com.simplemobiletools.commons.helpers.MyContactsContentProvider
|
||||||
import com.simplemobiletools.commons.helpers.NavigationIcon
|
import com.simplemobiletools.commons.helpers.NavigationIcon
|
||||||
import com.simplemobiletools.commons.models.PhoneNumber
|
import com.simplemobiletools.commons.models.PhoneNumber
|
||||||
import com.simplemobiletools.commons.models.RadioItem
|
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.*
|
import kotlinx.android.synthetic.main.activity_manage_speed_dial.*
|
||||||
|
|
||||||
class ManageSpeedDialActivity : SimpleActivity(), RemoveSpeedDialListener {
|
class ManageSpeedDialActivity : SimpleActivity(), RemoveSpeedDialListener {
|
||||||
private var allContacts = ArrayList<Contact>()
|
private var allContacts = mutableListOf<Contact>()
|
||||||
private var speedDialValues = ArrayList<SpeedDial>()
|
private var speedDialValues = mutableListOf<SpeedDial>()
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
isMaterialActivity = true
|
isMaterialActivity = true
|
||||||
@@ -31,8 +33,14 @@ class ManageSpeedDialActivity : SimpleActivity(), RemoveSpeedDialListener {
|
|||||||
|
|
||||||
speedDialValues = config.getSpeedDialValues()
|
speedDialValues = config.getSpeedDialValues()
|
||||||
updateAdapter()
|
updateAdapter()
|
||||||
|
|
||||||
ContactsHelper(this).getContacts(showOnlyContactsWithNumbers = true) { contacts ->
|
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)
|
updateTextColors(manage_speed_dial_scrollview)
|
||||||
|
@@ -41,7 +41,7 @@ import java.util.*
|
|||||||
|
|
||||||
class ContactsAdapter(
|
class ContactsAdapter(
|
||||||
activity: SimpleActivity,
|
activity: SimpleActivity,
|
||||||
var contacts: ArrayList<Contact>,
|
var contacts: MutableList<Contact>,
|
||||||
recyclerView: MyRecyclerView,
|
recyclerView: MyRecyclerView,
|
||||||
val refreshItemsListener: RefreshItemsListener? = null,
|
val refreshItemsListener: RefreshItemsListener? = null,
|
||||||
highlightText: String = "",
|
highlightText: String = "",
|
||||||
|
@@ -9,10 +9,10 @@ import com.simplemobiletools.dialer.R
|
|||||||
import com.simplemobiletools.dialer.activities.SimpleActivity
|
import com.simplemobiletools.dialer.activities.SimpleActivity
|
||||||
import com.simplemobiletools.dialer.interfaces.RemoveSpeedDialListener
|
import com.simplemobiletools.dialer.interfaces.RemoveSpeedDialListener
|
||||||
import com.simplemobiletools.dialer.models.SpeedDial
|
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(
|
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
|
recyclerView: MyRecyclerView, itemClick: (Any) -> Unit
|
||||||
) : MyRecyclerViewAdapter(activity, recyclerView, itemClick) {
|
) : MyRecyclerViewAdapter(activity, recyclerView, itemClick) {
|
||||||
init {
|
init {
|
||||||
|
@@ -7,10 +7,12 @@ import com.simplemobiletools.commons.models.contacts.Contact
|
|||||||
import com.simplemobiletools.dialer.R
|
import com.simplemobiletools.dialer.R
|
||||||
import com.simplemobiletools.dialer.activities.SimpleActivity
|
import com.simplemobiletools.dialer.activities.SimpleActivity
|
||||||
import com.simplemobiletools.dialer.adapters.ContactsAdapter
|
import com.simplemobiletools.dialer.adapters.ContactsAdapter
|
||||||
import kotlinx.android.synthetic.main.dialog_select_contact.view.*
|
import kotlinx.android.synthetic.main.dialog_select_contact.view.letter_fastscroller
|
||||||
import java.util.*
|
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 dialog: AlertDialog? = null
|
||||||
private var view = activity.layoutInflater.inflate(R.layout.dialog_select_contact, 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 {
|
try {
|
||||||
val name = contacts[position].getNameToDisplay()
|
val name = contacts[position].getNameToDisplay()
|
||||||
val character = if (name.isNotEmpty()) name.substring(0, 1) else ""
|
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) {
|
} catch (e: Exception) {
|
||||||
FastScrollItemIndicator.Text("")
|
FastScrollItemIndicator.Text("")
|
||||||
}
|
}
|
||||||
|
@@ -76,7 +76,7 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun gotContacts(contacts: ArrayList<Contact>) {
|
private fun gotContacts(contacts: ArrayList<Contact>) {
|
||||||
setupLetterFastscroller(contacts)
|
setupLetterFastScroller(contacts)
|
||||||
if (contacts.isEmpty()) {
|
if (contacts.isEmpty()) {
|
||||||
fragment_placeholder.beVisible()
|
fragment_placeholder.beVisible()
|
||||||
fragment_list.beGone()
|
fragment_list.beGone()
|
||||||
@@ -113,7 +113,7 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa
|
|||||||
if (adapter is ContactsAdapter) {
|
if (adapter is ContactsAdapter) {
|
||||||
val items = adapter.contacts
|
val items = adapter.contacts
|
||||||
saveCustomOrderToPrefs(items)
|
saveCustomOrderToPrefs(items)
|
||||||
setupLetterFastscroller(items)
|
setupLetterFastScroller(items)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -141,7 +141,7 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa
|
|||||||
return ArrayList(sorted)
|
return ArrayList(sorted)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun saveCustomOrderToPrefs(items: ArrayList<Contact>) {
|
private fun saveCustomOrderToPrefs(items: List<Contact>) {
|
||||||
activity?.apply {
|
activity?.apply {
|
||||||
val orderIds = items.map { it.contactId }
|
val orderIds = items.map { it.contactId }
|
||||||
val orderGsonString = Gson().toJson(orderIds)
|
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 ->
|
letter_fastscroller.setupWithRecyclerView(fragment_list, { position ->
|
||||||
try {
|
try {
|
||||||
val name = contacts[position].getNameToDisplay()
|
val name = contacts[position].getNameToDisplay()
|
||||||
@@ -164,7 +164,7 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa
|
|||||||
override fun onSearchClosed() {
|
override fun onSearchClosed() {
|
||||||
fragment_placeholder.beVisibleIf(allContacts.isEmpty())
|
fragment_placeholder.beVisibleIf(allContacts.isEmpty())
|
||||||
(fragment_list.adapter as? ContactsAdapter)?.updateItems(allContacts)
|
(fragment_list.adapter as? ContactsAdapter)?.updateItems(allContacts)
|
||||||
setupLetterFastscroller(allContacts)
|
setupLetterFastScroller(allContacts)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onSearchQueryChanged(text: String) {
|
override fun onSearchQueryChanged(text: String) {
|
||||||
@@ -176,6 +176,6 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa
|
|||||||
|
|
||||||
fragment_placeholder.beVisibleIf(contacts.isEmpty())
|
fragment_placeholder.beVisibleIf(contacts.isEmpty())
|
||||||
(fragment_list.adapter as? ContactsAdapter)?.updateItems(contacts, text)
|
(fragment_list.adapter as? ContactsAdapter)?.updateItems(contacts, text)
|
||||||
setupLetterFastscroller(contacts)
|
setupLetterFastScroller(contacts)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user