Unblock A Number On Android -

public List<BlockedNumber> getBlockedNumbers() { Set<String> blockedSet = sharedPreferences.getStringSet(KEY_BLOCKED_LIST, new HashSet<>()); List<BlockedNumber> blockedNumbers = new ArrayList<>(); for (String numberJson : blockedSet) { try { JSONObject jsonObject = new JSONObject(numberJson); BlockedNumber blockedNumber = new BlockedNumber(); blockedNumber.setPhoneNumber(jsonObject.getString("number")); blockedNumber.setBlockedDate(jsonObject.getString("date")); blockedNumber.setContactName(getContactName(jsonObject.getString("number"))); blockedNumbers.add(blockedNumber); } catch (JSONException e) { e.printStackTrace(); } } return blockedNumbers; }

private String getContactName(String phoneNumber) { ContentResolver contentResolver = context.getContentResolver(); Uri uri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber)); String[] projection = new String[]{ContactsContract.PhoneLookup.DISPLAY_NAME}; try (Cursor cursor = contentResolver.query(uri, projection, null, null, null)) { if (cursor != null && cursor.moveToFirst()) { return cursor.getString(0); } } return "Unknown Contact"; } unblock a number on android

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_blocked_numbers); blockedNumbersManager = new BlockedNumbersManager(this); recyclerView = findViewById(R.id.recyclerView); setupRecyclerView(); loadBlockedNumbers(); } getBlockedNumbers() { Set&lt

public String getContactName() { return contactName; } public void setContactName(String contactName) { this.contactName = contactName; } blockedSet = sharedPreferences.getStringSet(KEY_BLOCKED_LIST

- Add permissions <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_CONTACTS" /> <uses-permission android:name="android.permission.CALL_PHONE" /> 2. BlockedNumbersActivity.java - Main activity to view and unblock numbers public class BlockedNumbersActivity extends AppCompatActivity { private RecyclerView recyclerView; private BlockedNumbersAdapter adapter; private List<BlockedNumber> blockedNumbersList; private BlockedNumbersManager blockedNumbersManager;