mirror of
https://github.com/SimpleMobileTools/Simple-Dialer.git
synced 2025-06-05 21:49:23 +02:00
lets lock number blocking and shortcuts
This commit is contained in:
@ -62,7 +62,7 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'com.github.SimpleMobileTools:Simple-Commons:e5f2606198'
|
implementation 'com.github.SimpleMobileTools:Simple-Commons:5b5a6b083f'
|
||||||
implementation 'com.github.tibbi:IndicatorFastScroll:4524cd0b61'
|
implementation 'com.github.tibbi:IndicatorFastScroll:4524cd0b61'
|
||||||
implementation 'me.grantland:autofittextview:0.2.1'
|
implementation 'me.grantland:autofittextview:0.2.1'
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,7 @@ import android.os.Bundle
|
|||||||
import android.view.Menu
|
import android.view.Menu
|
||||||
import com.simplemobiletools.commons.activities.ManageBlockedNumbersActivity
|
import com.simplemobiletools.commons.activities.ManageBlockedNumbersActivity
|
||||||
import com.simplemobiletools.commons.dialogs.ChangeDateTimeFormatDialog
|
import com.simplemobiletools.commons.dialogs.ChangeDateTimeFormatDialog
|
||||||
|
import com.simplemobiletools.commons.dialogs.FeatureLockedDialog
|
||||||
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
|
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
|
||||||
import com.simplemobiletools.commons.extensions.*
|
import com.simplemobiletools.commons.extensions.*
|
||||||
import com.simplemobiletools.commons.helpers.*
|
import com.simplemobiletools.commons.helpers.*
|
||||||
@ -120,6 +121,7 @@ class SettingsActivity : SimpleActivity() {
|
|||||||
// support for device-wise blocking came on Android 7, rely only on that
|
// support for device-wise blocking came on Android 7, rely only on that
|
||||||
@TargetApi(Build.VERSION_CODES.N)
|
@TargetApi(Build.VERSION_CODES.N)
|
||||||
private fun setupManageBlockedNumbers() {
|
private fun setupManageBlockedNumbers() {
|
||||||
|
settings_manage_blocked_numbers_label.text = addLockedLabelIfNeeded(R.string.manage_blocked_numbers)
|
||||||
settings_manage_blocked_numbers_holder.beVisibleIf(isNougatPlus())
|
settings_manage_blocked_numbers_holder.beVisibleIf(isNougatPlus())
|
||||||
|
|
||||||
if (settings_use_english_holder.isGone() && settings_purchase_thank_you_holder.isGone() && settings_manage_blocked_numbers_holder.isGone()) {
|
if (settings_use_english_holder.isGone() && settings_purchase_thank_you_holder.isGone() && settings_manage_blocked_numbers_holder.isGone()) {
|
||||||
@ -127,9 +129,13 @@ class SettingsActivity : SimpleActivity() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
settings_manage_blocked_numbers_holder.setOnClickListener {
|
settings_manage_blocked_numbers_holder.setOnClickListener {
|
||||||
|
if (isOrWasThankYouInstalled()) {
|
||||||
Intent(this, ManageBlockedNumbersActivity::class.java).apply {
|
Intent(this, ManageBlockedNumbersActivity::class.java).apply {
|
||||||
startActivity(this)
|
startActivity(this)
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
FeatureLockedDialog(this) { }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,6 +19,7 @@ import androidx.recyclerview.widget.RecyclerView
|
|||||||
import com.bumptech.glide.Glide
|
import com.bumptech.glide.Glide
|
||||||
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter
|
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter
|
||||||
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
|
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
|
||||||
|
import com.simplemobiletools.commons.dialogs.FeatureLockedDialog
|
||||||
import com.simplemobiletools.commons.extensions.*
|
import com.simplemobiletools.commons.extensions.*
|
||||||
import com.simplemobiletools.commons.helpers.PERMISSION_CALL_PHONE
|
import com.simplemobiletools.commons.helpers.PERMISSION_CALL_PHONE
|
||||||
import com.simplemobiletools.commons.helpers.PERMISSION_WRITE_CONTACTS
|
import com.simplemobiletools.commons.helpers.PERMISSION_WRITE_CONTACTS
|
||||||
@ -83,6 +84,7 @@ class ContactsAdapter(
|
|||||||
findItem(R.id.cab_remove_default_sim).isVisible = isOneItemSelected && activity.config.getCustomSIM(selectedNumber) != ""
|
findItem(R.id.cab_remove_default_sim).isVisible = isOneItemSelected && activity.config.getCustomSIM(selectedNumber) != ""
|
||||||
|
|
||||||
findItem(R.id.cab_delete).isVisible = showDeleteButton
|
findItem(R.id.cab_delete).isVisible = showDeleteButton
|
||||||
|
findItem(R.id.cab_create_shortcut).title = activity.addLockedLabelIfNeeded(R.string.create_shortcut)
|
||||||
findItem(R.id.cab_create_shortcut).isVisible = isOneItemSelected && isOreoPlus()
|
findItem(R.id.cab_create_shortcut).isVisible = isOneItemSelected && isOreoPlus()
|
||||||
findItem(R.id.cab_view_details).isVisible = isOneItemSelected
|
findItem(R.id.cab_view_details).isVisible = isOneItemSelected
|
||||||
}
|
}
|
||||||
@ -100,7 +102,7 @@ class ContactsAdapter(
|
|||||||
R.id.cab_delete -> askConfirmDelete()
|
R.id.cab_delete -> askConfirmDelete()
|
||||||
R.id.cab_send_sms -> sendSMS()
|
R.id.cab_send_sms -> sendSMS()
|
||||||
R.id.cab_view_details -> viewContactDetails()
|
R.id.cab_view_details -> viewContactDetails()
|
||||||
R.id.cab_create_shortcut -> createShortcut()
|
R.id.cab_create_shortcut -> tryCreateShortcut()
|
||||||
R.id.cab_select_all -> selectAll()
|
R.id.cab_select_all -> selectAll()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -227,6 +229,14 @@ class ContactsAdapter(
|
|||||||
return primaryNumber?.normalizedNumber ?: numbers?.firstOrNull()?.normalizedNumber
|
return primaryNumber?.normalizedNumber ?: numbers?.firstOrNull()?.normalizedNumber
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun tryCreateShortcut() {
|
||||||
|
if (activity.isOrWasThankYouInstalled()) {
|
||||||
|
createShortcut()
|
||||||
|
} else {
|
||||||
|
FeatureLockedDialog(activity) { }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@SuppressLint("NewApi")
|
@SuppressLint("NewApi")
|
||||||
private fun createShortcut() {
|
private fun createShortcut() {
|
||||||
val contact = contacts.firstOrNull { selectedKeys.contains(it.rawId) } ?: return
|
val contact = contacts.firstOrNull { selectedKeys.contains(it.rawId) } ?: return
|
||||||
|
@ -11,6 +11,7 @@ import android.widget.PopupMenu
|
|||||||
import com.bumptech.glide.Glide
|
import com.bumptech.glide.Glide
|
||||||
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter
|
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter
|
||||||
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
|
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
|
||||||
|
import com.simplemobiletools.commons.dialogs.FeatureLockedDialog
|
||||||
import com.simplemobiletools.commons.extensions.*
|
import com.simplemobiletools.commons.extensions.*
|
||||||
import com.simplemobiletools.commons.helpers.*
|
import com.simplemobiletools.commons.helpers.*
|
||||||
import com.simplemobiletools.commons.models.SimpleContact
|
import com.simplemobiletools.commons.models.SimpleContact
|
||||||
@ -61,6 +62,7 @@ class RecentCallsAdapter(
|
|||||||
findItem(R.id.cab_call_sim_2).isVisible = hasMultipleSIMs && isOneItemSelected
|
findItem(R.id.cab_call_sim_2).isVisible = hasMultipleSIMs && isOneItemSelected
|
||||||
findItem(R.id.cab_remove_default_sim).isVisible = isOneItemSelected && activity.config.getCustomSIM(selectedNumber) != ""
|
findItem(R.id.cab_remove_default_sim).isVisible = isOneItemSelected && activity.config.getCustomSIM(selectedNumber) != ""
|
||||||
|
|
||||||
|
findItem(R.id.cab_block_number).title = activity.addLockedLabelIfNeeded(R.string.block_number)
|
||||||
findItem(R.id.cab_block_number).isVisible = isNougatPlus()
|
findItem(R.id.cab_block_number).isVisible = isNougatPlus()
|
||||||
findItem(R.id.cab_add_number).isVisible = isOneItemSelected
|
findItem(R.id.cab_add_number).isVisible = isOneItemSelected
|
||||||
findItem(R.id.cab_copy_number).isVisible = isOneItemSelected
|
findItem(R.id.cab_copy_number).isVisible = isOneItemSelected
|
||||||
@ -78,7 +80,7 @@ class RecentCallsAdapter(
|
|||||||
R.id.cab_call_sim_1 -> callContact(true)
|
R.id.cab_call_sim_1 -> callContact(true)
|
||||||
R.id.cab_call_sim_2 -> callContact(false)
|
R.id.cab_call_sim_2 -> callContact(false)
|
||||||
R.id.cab_remove_default_sim -> removeDefaultSIM()
|
R.id.cab_remove_default_sim -> removeDefaultSIM()
|
||||||
R.id.cab_block_number -> askConfirmBlock()
|
R.id.cab_block_number -> tryBlocking()
|
||||||
R.id.cab_add_number -> addNumberToContact()
|
R.id.cab_add_number -> addNumberToContact()
|
||||||
R.id.cab_send_sms -> sendSMS()
|
R.id.cab_send_sms -> sendSMS()
|
||||||
R.id.cab_show_call_details -> showCallDetails()
|
R.id.cab_show_call_details -> showCallDetails()
|
||||||
@ -142,6 +144,14 @@ class RecentCallsAdapter(
|
|||||||
finishActMode()
|
finishActMode()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun tryBlocking() {
|
||||||
|
if (activity.isOrWasThankYouInstalled()) {
|
||||||
|
askConfirmBlock()
|
||||||
|
} else {
|
||||||
|
FeatureLockedDialog(activity) { }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun askConfirmBlock() {
|
private fun askConfirmBlock() {
|
||||||
val numbers = TextUtils.join(", ", getSelectedItems().distinctBy { it.phoneNumber }.map { it.phoneNumber })
|
val numbers = TextUtils.join(", ", getSelectedItems().distinctBy { it.phoneNumber }.map { it.phoneNumber })
|
||||||
val baseString = R.string.block_confirmation
|
val baseString = R.string.block_confirmation
|
||||||
|
Reference in New Issue
Block a user