diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/adapters/RecentCallsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/adapters/RecentCallsAdapter.kt index 5a871563..a6479f67 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/adapters/RecentCallsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/adapters/RecentCallsAdapter.kt @@ -10,6 +10,7 @@ import com.simplemobiletools.commons.views.FastScroller import com.simplemobiletools.commons.views.MyRecyclerView import com.simplemobiletools.contacts.pro.R import com.simplemobiletools.contacts.pro.activities.SimpleActivity +import com.simplemobiletools.contacts.pro.extensions.addBlockedNumber import com.simplemobiletools.contacts.pro.extensions.config import com.simplemobiletools.contacts.pro.helpers.ContactsHelper import com.simplemobiletools.contacts.pro.helpers.RECENTS_TAB_MASK @@ -28,7 +29,11 @@ class RecentCallsAdapter(activity: SimpleActivity, var recentCalls: ArrayList selectAll() R.id.cab_delete -> askConfirmDelete() + R.id.cab_block_number -> blockNumber() } } @@ -92,6 +98,18 @@ class RecentCallsAdapter(activity: SimpleActivity, var recentCalls: ArrayList private fun setupView(view: View, recentCall: RecentCall) { diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/extensions/Context.kt index 0926d25d..6f590ccc 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/extensions/Context.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/extensions/Context.kt @@ -1,9 +1,11 @@ package com.simplemobiletools.contacts.pro.extensions +import android.content.ContentValues import android.content.Context import android.content.Intent import android.database.Cursor import android.net.Uri +import android.provider.BlockedNumberContract.BlockedNumbers import android.provider.ContactsContract import android.telecom.TelecomManager import androidx.core.content.FileProvider @@ -25,6 +27,7 @@ import com.simplemobiletools.contacts.pro.models.ContactSource import com.simplemobiletools.contacts.pro.models.Organization import java.io.File + val Context.config: Config get() = Config.newInstance(applicationContext) val Context.contactsDB: ContactsDao get() = ContactsDatabase.getInstance(applicationContext).ContactsDao() @@ -283,3 +286,10 @@ fun Context.getVisibleContactSources(): ArrayList { sourceNames.removeAll(config.ignoredContactSources) return sourceNames } + +fun Context.addBlockedNumber(number: String) { + ContentValues().apply { + put(BlockedNumbers.COLUMN_ORIGINAL_NUMBER, number) + contentResolver.insert(BlockedNumbers.CONTENT_URI, this) + } +} diff --git a/app/src/main/res/drawable-hdpi/ic_block.png b/app/src/main/res/drawable-hdpi/ic_block.png new file mode 100644 index 00000000..1c541fe5 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_block.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_block.png b/app/src/main/res/drawable-xhdpi/ic_block.png new file mode 100644 index 00000000..ae3856fe Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_block.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_block.png b/app/src/main/res/drawable-xxhdpi/ic_block.png new file mode 100644 index 00000000..d6dc2222 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_block.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_block.png b/app/src/main/res/drawable-xxxhdpi/ic_block.png new file mode 100644 index 00000000..9f1191c9 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_block.png differ diff --git a/app/src/main/res/menu/cab_recent_calls.xml b/app/src/main/res/menu/cab_recent_calls.xml index 128e6362..f5e7c4ba 100644 --- a/app/src/main/res/menu/cab_recent_calls.xml +++ b/app/src/main/res/menu/cab_recent_calls.xml @@ -11,4 +11,9 @@ android:icon="@drawable/ic_select_all" android:title="@string/select_all" app:showAsAction="ifRoom"/> +