mirror of
				https://github.com/SimpleMobileTools/Simple-Contacts.git
				synced 2025-06-05 21:59:27 +02:00 
			
		
		
		
	properly handle removing blocked numbers from the managing activity
This commit is contained in:
		| @@ -9,6 +9,7 @@ import com.simplemobiletools.commons.interfaces.RefreshRecyclerViewListener | |||||||
| import com.simplemobiletools.commons.views.MyRecyclerView | import com.simplemobiletools.commons.views.MyRecyclerView | ||||||
| import com.simplemobiletools.contacts.pro.R | import com.simplemobiletools.contacts.pro.R | ||||||
| import com.simplemobiletools.contacts.pro.extensions.config | import com.simplemobiletools.contacts.pro.extensions.config | ||||||
|  | import com.simplemobiletools.contacts.pro.extensions.deleteBlockedNumber | ||||||
| import com.simplemobiletools.contacts.pro.models.BlockedNumber | import com.simplemobiletools.contacts.pro.models.BlockedNumber | ||||||
| import kotlinx.android.synthetic.main.item_manage_blocked_number.view.* | import kotlinx.android.synthetic.main.item_manage_blocked_number.view.* | ||||||
| import java.util.* | import java.util.* | ||||||
| @@ -43,9 +44,9 @@ class ManageBlockedNumbersAdapter(activity: BaseSimpleActivity, var blockedNumbe | |||||||
|     override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = createViewHolder(R.layout.item_manage_blocked_number, parent) |     override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = createViewHolder(R.layout.item_manage_blocked_number, parent) | ||||||
|  |  | ||||||
|     override fun onBindViewHolder(holder: ViewHolder, position: Int) { |     override fun onBindViewHolder(holder: ViewHolder, position: Int) { | ||||||
|         val folder = blockedNumbers[position] |         val blockedNumber = blockedNumbers[position] | ||||||
|         holder.bindView(folder, true, true) { itemView, adapterPosition -> |         holder.bindView(blockedNumber, true, true) { itemView, adapterPosition -> | ||||||
|             setupView(itemView, folder) |             setupView(itemView, blockedNumber) | ||||||
|         } |         } | ||||||
|         bindViewHolder(holder) |         bindViewHolder(holder) | ||||||
|     } |     } | ||||||
| @@ -65,14 +66,17 @@ class ManageBlockedNumbersAdapter(activity: BaseSimpleActivity, var blockedNumbe | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     private fun removeSelection() { |     private fun removeSelection() { | ||||||
|         val removeFolders = ArrayList<BlockedNumber>(selectedKeys.size) |         val removeBlockedNumbers = ArrayList<BlockedNumber>(selectedKeys.size) | ||||||
|         val positions = getSelectedItemPositions() |         val positions = getSelectedItemPositions() | ||||||
|  |  | ||||||
|         getSelectedItems().forEach { |         getSelectedItems().forEach { | ||||||
|             removeFolders.add(it) |             removeBlockedNumbers.add(it) | ||||||
|  |             Thread { | ||||||
|  |                 activity.deleteBlockedNumber(it.number) | ||||||
|  |             }.start() | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         blockedNumbers.removeAll(removeFolders) |         blockedNumbers.removeAll(removeBlockedNumbers) | ||||||
|         removeSelectedItems(positions) |         removeSelectedItems(positions) | ||||||
|         if (blockedNumbers.isEmpty()) { |         if (blockedNumbers.isEmpty()) { | ||||||
|             listener?.refreshItems() |             listener?.refreshItems() | ||||||
|   | |||||||
| @@ -330,3 +330,11 @@ fun Context.addBlockedNumber(number: String) { | |||||||
|         contentResolver.insert(BlockedNumbers.CONTENT_URI, this) |         contentResolver.insert(BlockedNumbers.CONTENT_URI, this) | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @TargetApi(Build.VERSION_CODES.N) | ||||||
|  | fun Context.deleteBlockedNumber(number: String) { | ||||||
|  |     val values = ContentValues() | ||||||
|  |     values.put(BlockedNumbers.COLUMN_ORIGINAL_NUMBER, number) | ||||||
|  |     val uri = contentResolver.insert(BlockedNumbers.CONTENT_URI, values) | ||||||
|  |     contentResolver.delete(uri, null, null) | ||||||
|  | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user