mirror of
https://github.com/SimpleMobileTools/Simple-Contacts.git
synced 2025-02-21 14:00:56 +01:00
allow editing blocked numbers
This commit is contained in:
parent
841a13b068
commit
b6e00fba44
@ -12,6 +12,7 @@ import com.simplemobiletools.contacts.pro.R
|
|||||||
import com.simplemobiletools.contacts.pro.adapters.ManageBlockedNumbersAdapter
|
import com.simplemobiletools.contacts.pro.adapters.ManageBlockedNumbersAdapter
|
||||||
import com.simplemobiletools.contacts.pro.dialogs.AddBlockedNumberDialog
|
import com.simplemobiletools.contacts.pro.dialogs.AddBlockedNumberDialog
|
||||||
import com.simplemobiletools.contacts.pro.extensions.getBlockedNumbers
|
import com.simplemobiletools.contacts.pro.extensions.getBlockedNumbers
|
||||||
|
import com.simplemobiletools.contacts.pro.models.BlockedNumber
|
||||||
import kotlinx.android.synthetic.main.activity_manage_blocked_numbers.*
|
import kotlinx.android.synthetic.main.activity_manage_blocked_numbers.*
|
||||||
|
|
||||||
class ManageBlockedNumbersActivity : SimpleActivity(), RefreshRecyclerViewListener {
|
class ManageBlockedNumbersActivity : SimpleActivity(), RefreshRecyclerViewListener {
|
||||||
@ -25,7 +26,7 @@ class ManageBlockedNumbersActivity : SimpleActivity(), RefreshRecyclerViewListen
|
|||||||
underlineText()
|
underlineText()
|
||||||
setTextColor(getAdjustedPrimaryColor())
|
setTextColor(getAdjustedPrimaryColor())
|
||||||
setOnClickListener {
|
setOnClickListener {
|
||||||
addBlockedNumber()
|
addOrEditBlockedNumber()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -35,7 +36,7 @@ class ManageBlockedNumbersActivity : SimpleActivity(), RefreshRecyclerViewListen
|
|||||||
val blockedNumbers = getBlockedNumbers()
|
val blockedNumbers = getBlockedNumbers()
|
||||||
runOnUiThread {
|
runOnUiThread {
|
||||||
ManageBlockedNumbersAdapter(this, blockedNumbers, this, manage_blocked_numbers_list) {
|
ManageBlockedNumbersAdapter(this, blockedNumbers, this, manage_blocked_numbers_list) {
|
||||||
|
addOrEditBlockedNumber(it as BlockedNumber)
|
||||||
}.apply {
|
}.apply {
|
||||||
manage_blocked_numbers_list.adapter = this
|
manage_blocked_numbers_list.adapter = this
|
||||||
}
|
}
|
||||||
@ -53,7 +54,7 @@ class ManageBlockedNumbersActivity : SimpleActivity(), RefreshRecyclerViewListen
|
|||||||
|
|
||||||
override fun onOptionsItemSelected(item: MenuItem): Boolean {
|
override fun onOptionsItemSelected(item: MenuItem): Boolean {
|
||||||
when (item.itemId) {
|
when (item.itemId) {
|
||||||
R.id.add_blocked_number -> addBlockedNumber()
|
R.id.add_blocked_number -> addOrEditBlockedNumber()
|
||||||
else -> return super.onOptionsItemSelected(item)
|
else -> return super.onOptionsItemSelected(item)
|
||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
@ -63,8 +64,8 @@ class ManageBlockedNumbersActivity : SimpleActivity(), RefreshRecyclerViewListen
|
|||||||
updateBlockedNumbers()
|
updateBlockedNumbers()
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun addBlockedNumber() {
|
private fun addOrEditBlockedNumber(currentNumber: BlockedNumber? = null) {
|
||||||
AddBlockedNumberDialog(this) {
|
AddBlockedNumberDialog(this, currentNumber) {
|
||||||
updateBlockedNumbers()
|
updateBlockedNumbers()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -105,6 +105,7 @@ class RecentCallsAdapter(activity: SimpleActivity, var recentCalls: ArrayList<Re
|
|||||||
getSelectedItems().forEach {
|
getSelectedItems().forEach {
|
||||||
activity.addBlockedNumber(it.number)
|
activity.addBlockedNumber(it.number)
|
||||||
}
|
}
|
||||||
|
|
||||||
refreshListener?.refreshContacts(RECENTS_TAB_MASK)
|
refreshListener?.refreshContacts(RECENTS_TAB_MASK)
|
||||||
activity.runOnUiThread {
|
activity.runOnUiThread {
|
||||||
finishActMode()
|
finishActMode()
|
||||||
|
@ -7,12 +7,17 @@ import com.simplemobiletools.commons.extensions.showKeyboard
|
|||||||
import com.simplemobiletools.commons.extensions.value
|
import com.simplemobiletools.commons.extensions.value
|
||||||
import com.simplemobiletools.contacts.pro.R
|
import com.simplemobiletools.contacts.pro.R
|
||||||
import com.simplemobiletools.contacts.pro.extensions.addBlockedNumber
|
import com.simplemobiletools.contacts.pro.extensions.addBlockedNumber
|
||||||
|
import com.simplemobiletools.contacts.pro.extensions.deleteBlockedNumber
|
||||||
|
import com.simplemobiletools.contacts.pro.models.BlockedNumber
|
||||||
import kotlinx.android.synthetic.main.dialog_add_blocked_number.view.*
|
import kotlinx.android.synthetic.main.dialog_add_blocked_number.view.*
|
||||||
|
|
||||||
class AddBlockedNumberDialog(val activity: BaseSimpleActivity, val callback: () -> Unit) {
|
class AddBlockedNumberDialog(val activity: BaseSimpleActivity, val originalNumber: BlockedNumber? = null, val callback: () -> Unit) {
|
||||||
init {
|
init {
|
||||||
|
val view = activity.layoutInflater.inflate(R.layout.dialog_add_blocked_number, null).apply {
|
||||||
val view = activity.layoutInflater.inflate(R.layout.dialog_add_blocked_number, null)
|
if (originalNumber != null) {
|
||||||
|
add_blocked_number_edittext.setText(originalNumber.number)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
AlertDialog.Builder(activity)
|
AlertDialog.Builder(activity)
|
||||||
.setPositiveButton(R.string.ok, null)
|
.setPositiveButton(R.string.ok, null)
|
||||||
@ -21,9 +26,13 @@ class AddBlockedNumberDialog(val activity: BaseSimpleActivity, val callback: ()
|
|||||||
activity.setupDialogStuff(view, this) {
|
activity.setupDialogStuff(view, this) {
|
||||||
showKeyboard(view.add_blocked_number_edittext)
|
showKeyboard(view.add_blocked_number_edittext)
|
||||||
getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener {
|
getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener {
|
||||||
val phoneNumber = view.add_blocked_number_edittext.value
|
val newBlockedNumber = view.add_blocked_number_edittext.value
|
||||||
if (phoneNumber.isNotEmpty()) {
|
if (originalNumber != null && newBlockedNumber != originalNumber.number) {
|
||||||
activity.addBlockedNumber(phoneNumber)
|
activity.deleteBlockedNumber(originalNumber.number)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (newBlockedNumber.isNotEmpty()) {
|
||||||
|
activity.addBlockedNumber(newBlockedNumber)
|
||||||
}
|
}
|
||||||
|
|
||||||
callback()
|
callback()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user