lets lock number blocking and shortcuts

This commit is contained in:
tibbi
2022-11-12 18:45:28 +01:00
parent 963954f6c0
commit 5521bf4e57
4 changed files with 31 additions and 5 deletions

View File

@ -62,7 +62,7 @@ android {
}
dependencies {
implementation 'com.github.SimpleMobileTools:Simple-Commons:e5f2606198'
implementation 'com.github.SimpleMobileTools:Simple-Commons:5b5a6b083f'
implementation 'com.github.tibbi:IndicatorFastScroll:4524cd0b61'
implementation 'me.grantland:autofittextview:0.2.1'
}

View File

@ -7,6 +7,7 @@ import android.os.Bundle
import android.view.Menu
import com.simplemobiletools.commons.activities.ManageBlockedNumbersActivity
import com.simplemobiletools.commons.dialogs.ChangeDateTimeFormatDialog
import com.simplemobiletools.commons.dialogs.FeatureLockedDialog
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
import com.simplemobiletools.commons.extensions.*
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
@TargetApi(Build.VERSION_CODES.N)
private fun setupManageBlockedNumbers() {
settings_manage_blocked_numbers_label.text = addLockedLabelIfNeeded(R.string.manage_blocked_numbers)
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()) {
@ -127,8 +129,12 @@ class SettingsActivity : SimpleActivity() {
}
settings_manage_blocked_numbers_holder.setOnClickListener {
Intent(this, ManageBlockedNumbersActivity::class.java).apply {
startActivity(this)
if (isOrWasThankYouInstalled()) {
Intent(this, ManageBlockedNumbersActivity::class.java).apply {
startActivity(this)
}
} else {
FeatureLockedDialog(this) { }
}
}
}

View File

@ -19,6 +19,7 @@ import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
import com.simplemobiletools.commons.dialogs.FeatureLockedDialog
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.PERMISSION_CALL_PHONE
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_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_view_details).isVisible = isOneItemSelected
}
@ -100,7 +102,7 @@ class ContactsAdapter(
R.id.cab_delete -> askConfirmDelete()
R.id.cab_send_sms -> sendSMS()
R.id.cab_view_details -> viewContactDetails()
R.id.cab_create_shortcut -> createShortcut()
R.id.cab_create_shortcut -> tryCreateShortcut()
R.id.cab_select_all -> selectAll()
}
}
@ -227,6 +229,14 @@ class ContactsAdapter(
return primaryNumber?.normalizedNumber ?: numbers?.firstOrNull()?.normalizedNumber
}
private fun tryCreateShortcut() {
if (activity.isOrWasThankYouInstalled()) {
createShortcut()
} else {
FeatureLockedDialog(activity) { }
}
}
@SuppressLint("NewApi")
private fun createShortcut() {
val contact = contacts.firstOrNull { selectedKeys.contains(it.rawId) } ?: return

View File

@ -11,6 +11,7 @@ import android.widget.PopupMenu
import com.bumptech.glide.Glide
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
import com.simplemobiletools.commons.dialogs.FeatureLockedDialog
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.*
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_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_add_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_2 -> callContact(false)
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_send_sms -> sendSMS()
R.id.cab_show_call_details -> showCallDetails()
@ -142,6 +144,14 @@ class RecentCallsAdapter(
finishActMode()
}
private fun tryBlocking() {
if (activity.isOrWasThankYouInstalled()) {
askConfirmBlock()
} else {
FeatureLockedDialog(activity) { }
}
}
private fun askConfirmBlock() {
val numbers = TextUtils.join(", ", getSelectedItems().distinctBy { it.phoneNumber }.map { it.phoneNumber })
val baseString = R.string.block_confirmation