moving the Manage Blocked Numbers in Commons

This commit is contained in:
tibbi 2020-04-08 11:55:15 +02:00
parent 57b61243a6
commit 172e5f0d24
47 changed files with 13 additions and 504 deletions

View File

@ -57,7 +57,7 @@ android {
}
dependencies {
implementation 'com.simplemobiletools:commons:5.24.20'
implementation 'com.simplemobiletools:commons:5.25.0'
implementation 'joda-time:joda-time:2.10.1'
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta4'
implementation 'com.googlecode.ez-vcard:ez-vcard:0.10.5'

View File

@ -218,7 +218,7 @@
android:parentActivityName="com.simplemobiletools.commons.activities.AboutActivity"/>
<activity
android:name=".activities.ManageBlockedNumbersActivity"
android:name="com.simplemobiletools.commons.activities.ManageBlockedNumbersActivity"
android:label="@string/blocked_numbers"
android:parentActivityName=".activities.SettingsActivity"/>

View File

@ -9,12 +9,12 @@ import android.os.Bundle
import android.telecom.PhoneAccount
import android.telecom.TelecomManager
import android.view.Menu
import com.simplemobiletools.commons.extensions.isDefaultDialer
import com.simplemobiletools.commons.extensions.showErrorToast
import com.simplemobiletools.commons.extensions.telecomManager
import com.simplemobiletools.commons.extensions.toast
import com.simplemobiletools.commons.helpers.REQUEST_CODE_SET_DEFAULT_DIALER
import com.simplemobiletools.contacts.pro.R
import com.simplemobiletools.contacts.pro.extensions.isDefaultDialer
import com.simplemobiletools.contacts.pro.extensions.telecomManager
import com.simplemobiletools.contacts.pro.helpers.REQUEST_CODE_SET_DEFAULT_DIALER
@TargetApi(Build.VERSION_CODES.M)
class DialerActivity : SimpleActivity() {

View File

@ -14,18 +14,17 @@ import android.view.Menu
import android.view.MenuItem
import android.view.View
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.REQUEST_CODE_SET_DEFAULT_DIALER
import com.simplemobiletools.commons.helpers.isOreoPlus
import com.simplemobiletools.contacts.pro.R
import com.simplemobiletools.contacts.pro.adapters.ContactsAdapter
import com.simplemobiletools.contacts.pro.dialogs.CallConfirmationDialog
import com.simplemobiletools.contacts.pro.extensions.callContact
import com.simplemobiletools.contacts.pro.extensions.config
import com.simplemobiletools.contacts.pro.extensions.isDefaultDialer
import com.simplemobiletools.contacts.pro.extensions.startCallIntent
import com.simplemobiletools.contacts.pro.helpers.ContactsHelper
import com.simplemobiletools.contacts.pro.helpers.KEY_PHONE
import com.simplemobiletools.contacts.pro.helpers.LOCATION_DIALPAD
import com.simplemobiletools.contacts.pro.helpers.REQUEST_CODE_SET_DEFAULT_DIALER
import com.simplemobiletools.contacts.pro.models.Contact
import com.simplemobiletools.contacts.pro.models.SpeedDial
import kotlinx.android.synthetic.main.activity_dialpad.*
@ -174,7 +173,7 @@ class DialpadActivity : SimpleActivity() {
val secretCode = text.substring(4, text.length - 4)
if (isOreoPlus()) {
if (isDefaultDialer()) {
getSystemService(TelephonyManager::class.java).sendDialerSpecialCode(secretCode)
getSystemService(TelephonyManager::class.java)?.sendDialerSpecialCode(secretCode)
} else {
launchSetDefaultDialerIntent()
}

View File

@ -1,95 +0,0 @@
package com.simplemobiletools.contacts.pro.activities
import android.content.Intent
import android.os.Bundle
import android.view.Menu
import android.view.MenuItem
import com.simplemobiletools.commons.extensions.beVisibleIf
import com.simplemobiletools.commons.extensions.getAdjustedPrimaryColor
import com.simplemobiletools.commons.extensions.underlineText
import com.simplemobiletools.commons.extensions.updateTextColors
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.interfaces.RefreshRecyclerViewListener
import com.simplemobiletools.contacts.pro.R
import com.simplemobiletools.contacts.pro.adapters.ManageBlockedNumbersAdapter
import com.simplemobiletools.contacts.pro.dialogs.AddBlockedNumberDialog
import com.simplemobiletools.contacts.pro.extensions.getBlockedNumbers
import com.simplemobiletools.contacts.pro.extensions.isDefaultDialer
import com.simplemobiletools.contacts.pro.helpers.REQUEST_CODE_SET_DEFAULT_DIALER
import com.simplemobiletools.contacts.pro.models.BlockedNumber
import kotlinx.android.synthetic.main.activity_manage_blocked_numbers.*
class ManageBlockedNumbersActivity : SimpleActivity(), RefreshRecyclerViewListener {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_manage_blocked_numbers)
updateBlockedNumbers()
updateTextColors(manage_blocked_numbers_wrapper)
updatePlaceholderTexts()
manage_blocked_numbers_placeholder_2.apply {
underlineText()
setTextColor(getAdjustedPrimaryColor())
setOnClickListener {
if (isDefaultDialer()) {
addOrEditBlockedNumber()
} else {
launchSetDefaultDialerIntent()
}
}
}
}
override fun onCreateOptionsMenu(menu: Menu): Boolean {
menuInflater.inflate(R.menu.menu_add_blocked_number, menu)
updateMenuItemColors(menu)
return true
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when (item.itemId) {
R.id.add_blocked_number -> addOrEditBlockedNumber()
else -> return super.onOptionsItemSelected(item)
}
return true
}
override fun refreshItems() {
updateBlockedNumbers()
}
private fun updatePlaceholderTexts() {
manage_blocked_numbers_placeholder.text = getString(if (isDefaultDialer()) R.string.not_blocking_anyone else R.string.must_make_default_dialer)
manage_blocked_numbers_placeholder_2.text = getString(if (isDefaultDialer()) R.string.add_a_blocked_number else R.string.set_as_default)
}
private fun updateBlockedNumbers() {
ensureBackgroundThread {
val blockedNumbers = getBlockedNumbers()
runOnUiThread {
ManageBlockedNumbersAdapter(this, blockedNumbers, this, manage_blocked_numbers_list) {
addOrEditBlockedNumber(it as BlockedNumber)
}.apply {
manage_blocked_numbers_list.adapter = this
}
manage_blocked_numbers_placeholder.beVisibleIf(blockedNumbers.isEmpty())
manage_blocked_numbers_placeholder_2.beVisibleIf(blockedNumbers.isEmpty())
}
}
}
private fun addOrEditBlockedNumber(currentNumber: BlockedNumber? = null) {
AddBlockedNumberDialog(this, currentNumber) {
updateBlockedNumbers()
}
}
override fun onActivityResult(requestCode: Int, resultCode: Int, resultData: Intent?) {
super.onActivityResult(requestCode, resultCode, resultData)
if (requestCode == REQUEST_CODE_SET_DEFAULT_DIALER && isDefaultDialer()) {
updatePlaceholderTexts()
updateBlockedNumbers()
}
}
}

View File

@ -5,6 +5,7 @@ import android.content.Intent
import android.os.Build
import android.os.Bundle
import android.view.Menu
import com.simplemobiletools.commons.activities.ManageBlockedNumbersActivity
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
import com.simplemobiletools.commons.extensions.beVisibleIf
import com.simplemobiletools.commons.extensions.getFontSizeText

View File

@ -64,17 +64,6 @@ open class SimpleActivity : BaseSimpleActivity() {
}
}
@TargetApi(Build.VERSION_CODES.M)
protected fun launchSetDefaultDialerIntent() {
Intent(TelecomManager.ACTION_CHANGE_DEFAULT_DIALER).putExtra(TelecomManager.EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME, packageName).apply {
if (resolveActivity(packageManager) != null) {
startActivityForResult(this, REQUEST_CODE_SET_DEFAULT_DIALER)
} else {
toast(R.string.no_app_found)
}
}
}
protected fun getTabIcon(position: Int): Drawable {
val drawableId = when (position) {
LOCATION_CONTACTS_TAB -> R.drawable.ic_person_vector

View File

@ -1,87 +0,0 @@
package com.simplemobiletools.contacts.pro.adapters
import android.view.Menu
import android.view.View
import android.view.ViewGroup
import com.simplemobiletools.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter
import com.simplemobiletools.commons.interfaces.RefreshRecyclerViewListener
import com.simplemobiletools.commons.views.MyRecyclerView
import com.simplemobiletools.contacts.pro.R
import com.simplemobiletools.contacts.pro.extensions.config
import com.simplemobiletools.contacts.pro.extensions.deleteBlockedNumber
import com.simplemobiletools.contacts.pro.models.BlockedNumber
import kotlinx.android.synthetic.main.item_manage_blocked_number.view.*
import java.util.*
class ManageBlockedNumbersAdapter(activity: BaseSimpleActivity, var blockedNumbers: ArrayList<BlockedNumber>, val listener: RefreshRecyclerViewListener?,
recyclerView: MyRecyclerView, itemClick: (Any) -> Unit) : MyRecyclerViewAdapter(activity, recyclerView, null, itemClick) {
private val config = activity.config
init {
setupDragListener(true)
}
override fun getActionMenuId() = R.menu.cab_remove_only
override fun prepareActionMode(menu: Menu) {}
override fun actionItemPressed(id: Int) {
when (id) {
R.id.cab_remove -> removeSelection()
}
}
override fun getSelectableItemCount() = blockedNumbers.size
override fun getIsItemSelectable(position: Int) = true
override fun getItemSelectionKey(position: Int) = blockedNumbers.getOrNull(position)?.id?.toInt()
override fun getItemKeyPosition(key: Int) = blockedNumbers.indexOfFirst { it.id.toInt() == key }
override fun onActionModeCreated() {}
override fun onActionModeDestroyed() {}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = createViewHolder(R.layout.item_manage_blocked_number, parent)
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val blockedNumber = blockedNumbers[position]
holder.bindView(blockedNumber, true, true) { itemView, adapterPosition ->
setupView(itemView, blockedNumber)
}
bindViewHolder(holder)
}
override fun getItemCount() = blockedNumbers.size
private fun getSelectedItems() = blockedNumbers.filter { selectedKeys.contains(it.id.toInt()) } as ArrayList<BlockedNumber>
private fun setupView(view: View, blockedNumber: BlockedNumber) {
view.apply {
manage_blocked_number_holder?.isSelected = selectedKeys.contains(blockedNumber.id.toInt())
manage_blocked_number_title.apply {
text = blockedNumber.number
setTextColor(config.textColor)
}
}
}
private fun removeSelection() {
val removeBlockedNumbers = ArrayList<BlockedNumber>(selectedKeys.size)
val positions = getSelectedItemPositions()
getSelectedItems().forEach {
removeBlockedNumbers.add(it)
activity.deleteBlockedNumber(it.number)
}
blockedNumbers.removeAll(removeBlockedNumbers)
removeSelectedItems(positions)
if (blockedNumbers.isEmpty()) {
listener?.refreshItems()
}
}
}

View File

@ -1,44 +0,0 @@
package com.simplemobiletools.contacts.pro.dialogs
import androidx.appcompat.app.AlertDialog
import com.simplemobiletools.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.setupDialogStuff
import com.simplemobiletools.commons.extensions.showKeyboard
import com.simplemobiletools.commons.extensions.value
import com.simplemobiletools.contacts.pro.R
import com.simplemobiletools.contacts.pro.extensions.addBlockedNumber
import com.simplemobiletools.contacts.pro.extensions.deleteBlockedNumber
import com.simplemobiletools.contacts.pro.models.BlockedNumber
import kotlinx.android.synthetic.main.dialog_add_blocked_number.view.*
class AddBlockedNumberDialog(val activity: BaseSimpleActivity, val originalNumber: BlockedNumber? = null, val callback: () -> Unit) {
init {
val view = activity.layoutInflater.inflate(R.layout.dialog_add_blocked_number, null).apply {
if (originalNumber != null) {
add_blocked_number_edittext.setText(originalNumber.number)
}
}
AlertDialog.Builder(activity)
.setPositiveButton(R.string.ok, null)
.setNegativeButton(R.string.cancel, null)
.create().apply {
activity.setupDialogStuff(view, this) {
showKeyboard(view.add_blocked_number_edittext)
getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener {
val newBlockedNumber = view.add_blocked_number_edittext.value
if (originalNumber != null && newBlockedNumber != originalNumber.number) {
activity.deleteBlockedNumber(originalNumber.number)
}
if (newBlockedNumber.isNotEmpty()) {
activity.addBlockedNumber(newBlockedNumber)
}
callback()
dismiss()
}
}
}
}
}

View File

@ -1,24 +1,18 @@
package com.simplemobiletools.contacts.pro.extensions
import android.annotation.TargetApi
import android.content.ContentValues
import android.content.Context
import android.content.Intent
import android.database.Cursor
import android.net.Uri
import android.os.Build
import android.os.Handler
import android.os.Looper
import android.provider.BlockedNumberContract
import android.provider.BlockedNumberContract.BlockedNumbers
import android.provider.ContactsContract
import android.telecom.TelecomManager
import androidx.core.content.FileProvider
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.extensions.getIntValue
import com.simplemobiletools.commons.extensions.hasPermission
import com.simplemobiletools.commons.extensions.toast
import com.simplemobiletools.commons.helpers.PERMISSION_READ_CONTACTS
import com.simplemobiletools.commons.helpers.PERMISSION_WRITE_CONTACTS
import com.simplemobiletools.commons.helpers.isMarshmallowPlus
import com.simplemobiletools.commons.helpers.isNougatPlus
import com.simplemobiletools.contacts.pro.BuildConfig
import com.simplemobiletools.contacts.pro.R
import com.simplemobiletools.contacts.pro.activities.EditContactActivity
@ -27,7 +21,6 @@ import com.simplemobiletools.contacts.pro.databases.ContactsDatabase
import com.simplemobiletools.contacts.pro.helpers.*
import com.simplemobiletools.contacts.pro.interfaces.ContactsDao
import com.simplemobiletools.contacts.pro.interfaces.GroupsDao
import com.simplemobiletools.contacts.pro.models.BlockedNumber
import com.simplemobiletools.contacts.pro.models.Contact
import com.simplemobiletools.contacts.pro.models.ContactSource
import com.simplemobiletools.contacts.pro.models.Organization
@ -39,8 +32,6 @@ val Context.contactsDB: ContactsDao get() = ContactsDatabase.getInstance(applica
val Context.groupsDB: GroupsDao get() = ContactsDatabase.getInstance(applicationContext).GroupsDao()
val Context.telecomManager: TelecomManager get() = getSystemService(Context.TELECOM_SERVICE) as TelecomManager
fun Context.getEmptyContact(): Contact {
val originalContactSource = if (hasContactPermissions()) config.lastUsedContactSource else SMT_PRIVATE
val organization = Organization("", "")
@ -330,60 +321,4 @@ fun Context.getAllContactSources(): ArrayList<ContactSource> {
return sources.toMutableList() as ArrayList<ContactSource>
}
@TargetApi(Build.VERSION_CODES.N)
fun Context.getBlockedNumbers(): ArrayList<BlockedNumber> {
val blockedNumbers = ArrayList<BlockedNumber>()
if (!isNougatPlus() || !isDefaultDialer()) {
return blockedNumbers
}
val uri = BlockedNumberContract.BlockedNumbers.CONTENT_URI
val projection = arrayOf(
BlockedNumberContract.BlockedNumbers.COLUMN_ID,
BlockedNumberContract.BlockedNumbers.COLUMN_ORIGINAL_NUMBER,
BlockedNumberContract.BlockedNumbers.COLUMN_E164_NUMBER
)
var cursor: Cursor? = null
try {
cursor = contentResolver.query(uri, projection, null, null, null)
if (cursor?.moveToFirst() == true) {
do {
val id = cursor.getLongValue(BlockedNumberContract.BlockedNumbers.COLUMN_ID)
val number = cursor.getStringValue(BlockedNumberContract.BlockedNumbers.COLUMN_ORIGINAL_NUMBER) ?: ""
val normalizedNumber = cursor.getStringValue(BlockedNumberContract.BlockedNumbers.COLUMN_E164_NUMBER) ?: ""
val blockedNumber = BlockedNumber(id, number, normalizedNumber)
blockedNumbers.add(blockedNumber)
} while (cursor.moveToNext())
}
} finally {
cursor?.close()
}
return blockedNumbers
}
@TargetApi(Build.VERSION_CODES.N)
fun Context.addBlockedNumber(number: String) {
ContentValues().apply {
put(BlockedNumbers.COLUMN_ORIGINAL_NUMBER, number)
try {
contentResolver.insert(BlockedNumbers.CONTENT_URI, this)
} catch (e: Exception) {
showErrorToast(e)
}
}
}
@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)
}
@TargetApi(Build.VERSION_CODES.M)
fun Context.isDefaultDialer() = isMarshmallowPlus() && telecomManager.defaultDialerPackage == packageName
fun Context.getPrivateContactSource() = ContactSource(SMT_PRIVATE, SMT_PRIVATE, getString(R.string.phone_storage_hidden))

View File

@ -32,7 +32,6 @@ const val IS_FROM_SIMPLE_CONTACTS = "is_from_simple_contacts"
const val ADD_NEW_CONTACT_NUMBER = "add_new_contact_number"
const val FIRST_CONTACT_ID = 1000000
const val FIRST_GROUP_ID = 10000L
const val REQUEST_CODE_SET_DEFAULT_DIALER = 1
// extras used at third party intents
const val KEY_PHONE = "phone"

View File

@ -1,3 +0,0 @@
package com.simplemobiletools.contacts.pro.models
data class BlockedNumber(val id: Long, val number: String, val normalizedNumber: String)

View File

@ -1,42 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/manage_blocked_numbers_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.simplemobiletools.commons.views.MyRecyclerView
android:id="@+id/manage_blocked_numbers_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:scrollbars="vertical"
app:layoutManager="com.simplemobiletools.commons.views.MyLinearLayoutManager"/>
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/manage_blocked_numbers_placeholder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:paddingStart="@dimen/big_margin"
android:paddingTop="@dimen/activity_margin"
android:paddingEnd="@dimen/big_margin"
android:text="@string/not_blocking_anyone"
android:textSize="@dimen/bigger_text_size"
android:visibility="gone"/>
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/manage_blocked_numbers_placeholder_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/manage_blocked_numbers_placeholder"
android:layout_centerHorizontal="true"
android:background="?attr/selectableItemBackground"
android:gravity="center"
android:padding="@dimen/activity_margin"
android:text="@string/add_a_blocked_number"
android:textSize="@dimen/bigger_text_size"
android:visibility="gone"/>
</RelativeLayout>

View File

@ -1,21 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/dialog_holder"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="@dimen/activity_margin">
<com.simplemobiletools.commons.views.MyEditText
android:id="@+id/add_blocked_number_edittext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/activity_margin"
android:layout_marginTop="@dimen/small_margin"
android:layout_marginEnd="@dimen/activity_margin"
android:hint="@string/number"
android:inputType="phone"
android:textCursorDrawable="@null"
android:textSize="@dimen/bigger_text_size"/>
</RelativeLayout>

View File

@ -1,20 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/manage_blocked_number_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:foreground="@drawable/selector"
android:padding="@dimen/activity_margin">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/manage_blocked_number_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginTop="@dimen/medium_margin"/>
</RelativeLayout>

View File

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/add_blocked_number"
android:icon="@drawable/ic_plus_vector"
android:title="@string/add_a_blocked_number"
app:showAsAction="ifRoom"/>
</menu>

View File

@ -17,8 +17,6 @@
<string name="request_the_required_permissions">طلب الأذونات المطلوبة</string>
<string name="create_new_contact">إنشاء جهة إتصال</string>
<string name="add_to_existing_contact">إضافة إلى جهة موجودة</string>
<string name="must_make_default_dialer">عليك أن تجعل هذا التطبيق المتصل الإفتراضي للإستفادة من الأرقام المحظورة.</string>
<string name="set_as_default">ضبط الى الافتراضي</string>
<!-- Placeholders -->
<string name="no_contacts_found">لم يتم العثور على جهات اتصال.</string>
@ -72,7 +70,6 @@
<string name="other">مختلف</string>
<!-- Phone numbers -->
<string name="number">رقم</string>
<string name="mobile">جوال</string>
<string name="main_number">رئيسي</string>
<string name="work_fax">فاكس العمل</string>

View File

@ -17,8 +17,6 @@
<string name="request_the_required_permissions">Lazım olan icazələri istə</string>
<string name="create_new_contact">Create new contact</string>
<string name="add_to_existing_contact">Add to an existing contact</string>
<string name="must_make_default_dialer">You have to make this app the default dialer app to make use of blocked numbers.</string>
<string name="set_as_default">Set as default</string>
<!-- Placeholders -->
<string name="no_contacts_found">No contacts found.</string>
@ -72,7 +70,6 @@
<string name="other">Başqa</string>
<!-- Phone numbers -->
<string name="number">Nömrə</string>
<string name="mobile">Mobil</string>
<string name="main_number">Əsas</string>
<string name="work_fax">İş Faksı</string>

View File

@ -17,8 +17,6 @@
<string name="request_the_required_permissions">Vyžádat potřebná oprávnění</string>
<string name="create_new_contact">Vytvořit nový kontakt</string>
<string name="add_to_existing_contact">Přidat k existujícímu kontaktu</string>
<string name="must_make_default_dialer">Pro použití blokování čísel musíte nastavit aplikaci jako výchozí pro správu hovorů.</string>
<string name="set_as_default">Nastavit jako výchozí</string>
<!-- Placeholders -->
<string name="no_contacts_found">Nenalezeny žádné kontakty.</string>
@ -72,7 +70,6 @@
<string name="other">Jiné</string>
<!-- Phone numbers -->
<string name="number">Číslo</string>
<string name="mobile">Mobil</string>
<string name="main_number">Hlavní</string>
<string name="work_fax">Pracovní fax</string>

View File

@ -17,8 +17,6 @@
<string name="request_the_required_permissions">Gofyn am y caniatâd sydd ei angen</string>
<string name="create_new_contact">Creu cyswllt newydd</string>
<string name="add_to_existing_contact">Ychwanegu at gyswllt sy\'n bodoli</string>
<string name="must_make_default_dialer">Rhaid gwneud yr ap hwn yr ap deialu rhagosodedig er mwyn defnyddio rhifau wedi\'u rhwystro.</string>
<string name="set_as_default">Defnyddio fel y rhagosodedig</string>
<!-- Placeholders -->
<string name="no_contacts_found">Ni chanfuwyd unrhyw gysylltiadau.</string>
@ -72,7 +70,6 @@
<string name="other">Arall</string>
<!-- Phone numbers -->
<string name="number">Rhif</string>
<string name="mobile">Symudol</string>
<string name="main_number">Prif</string>
<string name="work_fax">Ffacs gwaith</string>

View File

@ -17,8 +17,6 @@
<string name="request_the_required_permissions">Anmod om de krævede tilladelser</string>
<string name="create_new_contact">Opret ny kontakt</string>
<string name="add_to_existing_contact">Tilføj til en eksisterende kontakt</string>
<string name="must_make_default_dialer">Du skal gøre denne app til standardopkaldsappen for at gøre brug af blokerede numre.</string>
<string name="set_as_default">Gør til standard</string>
<!-- Placeholders -->
<string name="no_contacts_found">Ingen kontakter fundet.</string>
@ -72,7 +70,6 @@
<string name="other">Andet</string>
<!-- Phone numbers -->
<string name="number">Nummer</string>
<string name="mobile">Mobil</string>
<string name="main_number">Hovednummer</string>
<string name="work_fax">Arbejdsfax</string>

View File

@ -17,8 +17,6 @@
<string name="request_the_required_permissions">Benötigte Berechtigungen anfordern</string>
<string name="create_new_contact">Neuen Kontakt erstellen</string>
<string name="add_to_existing_contact">Zu einem existierenden Kontakt hinzufügen</string>
<string name="must_make_default_dialer">Du musst diese App als Standardtelefonie-App einstellen, um Nummern blockieren zu können.</string>
<string name="set_as_default">Als Standard auswählen</string>
<!-- Placeholders -->
<string name="no_contacts_found">Keine Kontakte gefunden.</string>
@ -72,7 +70,6 @@
<string name="other">Sonstiges</string>
<!-- Phone numbers -->
<string name="number">Nummer</string>
<string name="mobile">Mobil</string>
<string name="main_number">Festnetz</string>
<string name="work_fax">Arbeit Fax</string>

View File

@ -17,8 +17,6 @@
<string name="request_the_required_permissions">Ζητούνται τα απαιτούμενα δικαιώματα</string>
<string name="create_new_contact">Δημιουργία νέας Επαφής</string>
<string name="add_to_existing_contact">Προσθήκη σε μια υπάρχουσα Επαφή</string>
<string name="must_make_default_dialer">Θα πρέπει να οριστεί προεπιλεγμένη εφαρμογή για χρήση αποκλεισμένων αριθμών.</string>
<string name="set_as_default">Ορισμός ως προεπιλογής</string>
<!-- Placeholders -->
<string name="no_contacts_found">Δεν βρέθηκαν Επαφές.</string>
@ -72,7 +70,6 @@
<string name="other">Άλλο</string>
<!-- Phone numbers -->
<string name="number">Αριθμός</string>
<string name="mobile">Κινητό</string>
<string name="main_number">Κύριο</string>
<string name="work_fax">Φαξ Εργασίας</string>

View File

@ -2,8 +2,8 @@
<string name="app_name">Simple Contacts</string>
<string name="app_launcher_name">Contactos</string>
<string name="address">Dirección</string>
<string name="inserting">Insertando...</string>
<string name="updating">Actualizando...</string>
<string name="inserting">Insertando</string>
<string name="updating">Actualizando</string>
<string name="phone_storage">Almacenamiento del teléfono</string>
<string name="phone_storage_hidden">Almacenamiento del teléfono (No visible para otras aplicaciones)</string>
<string name="company">Compañía</string>
@ -17,8 +17,6 @@
<string name="request_the_required_permissions">Solicitar los permisos requeridos</string>
<string name="create_new_contact">Crear nuevo contacto</string>
<string name="add_to_existing_contact">Añadir a un contacto existente</string>
<string name="must_make_default_dialer">Tienes que hacer esta aplicación la aplicación de marcación por defecto para hacer uso de los números bloqueados.</string>
<string name="set_as_default">Establecer como por defecto</string>
<!-- Placeholders -->
<string name="no_contacts_found">No se encontraron contactos.</string>
@ -72,7 +70,6 @@
<string name="other">Otros</string>
<!-- Phone numbers -->
<string name="number">Número</string>
<string name="mobile">Celular</string>
<string name="main_number">Principal</string>
<string name="work_fax">Fax de trabajo</string>

View File

@ -17,8 +17,6 @@
<string name="request_the_required_permissions">Eskatu beharrezko baimenak</string>
<string name="create_new_contact">Create new contact</string>
<string name="add_to_existing_contact">Add to an existing contact</string>
<string name="must_make_default_dialer">You have to make this app the default dialer app to make use of blocked numbers.</string>
<string name="set_as_default">Set as default</string>
<!-- Placeholders -->
<string name="no_contacts_found">No contacts found.</string>
@ -72,7 +70,6 @@
<string name="other">Besterik</string>
<!-- Phone numbers -->
<string name="number">Zenbakia</string>
<string name="mobile">Mugikorra</string>
<string name="main_number">Nagusia</string>
<string name="work_fax">Laneko faxa</string>

View File

@ -17,8 +17,6 @@
<string name="request_the_required_permissions">Pyydä tarvittavia oikeuksia</string>
<string name="create_new_contact">Luo uusi kontakti</string>
<string name="add_to_existing_contact">Lisää olemassa olevaan kontaktiin</string>
<string name="must_make_default_dialer">Soittajan täytyy olla oletus</string>
<string name="set_as_default">Aseta oletukseksi</string>
<!-- Placeholders -->
<string name="no_contacts_found">Kontakteja ei löytynyt.</string>
@ -72,7 +70,6 @@
<string name="other">Muu</string>
<!-- Phone numbers -->
<string name="number">Numero</string>
<string name="mobile">Mobiili</string>
<string name="main_number">Päänumero</string>
<string name="work_fax">Työ faxi</string>

View File

@ -17,8 +17,6 @@
<string name="request_the_required_permissions">Demander les autorisations nécessaires</string>
<string name="create_new_contact">Créer un nouveau contact</string>
<string name="add_to_existing_contact">Ajouter à un contact existant</string>
<string name="must_make_default_dialer">You have to make this app the default dialer app to make use of blocked numbers.</string>
<string name="set_as_default">Set as default</string>
<!-- Placeholders -->
<string name="no_contacts_found">Aucun contact n\'a été trouvé.</string>
@ -72,7 +70,6 @@
<string name="other">Autre</string>
<!-- Phone numbers -->
<string name="number">Numéro</string>
<string name="mobile">Mobile</string>
<string name="main_number">Principal</string>
<string name="work_fax">Fax travail</string>

View File

@ -17,8 +17,6 @@
<string name="request_the_required_permissions">Zatraži potrebna dopuštenja</string>
<string name="create_new_contact">Stvori novi kontakt</string>
<string name="add_to_existing_contact">Dodaj postojećem kontaktu</string>
<string name="must_make_default_dialer">Morate napraviti ovu aplikaciju zadanom aplikacijom za biranje da biste bili u mogućnosti koristiti blokirane brojeve.</string>
<string name="set_as_default">Postavi na zadano</string>
<!-- Placeholders -->
<string name="no_contacts_found">Nisu pronađeni kontakti.</string>
@ -72,7 +70,6 @@
<string name="other">Ostalo</string>
<!-- Phone numbers -->
<string name="number">Broj</string>
<string name="mobile">Mobilni</string>
<string name="main_number">Glavni</string>
<string name="work_fax">Poslovni fax</string>

View File

@ -17,8 +17,6 @@
<string name="request_the_required_permissions">A kívánt jogosultságok igénylése</string>
<string name="create_new_contact">Új névjegy hozzáadása</string>
<string name="add_to_existing_contact">Hozzáadás meglévő névjegyhez</string>
<string name="must_make_default_dialer">A zárolt telefonszámok használatához be kell állítani, hogy ez az app legyen az alapértelmezett tárcsázó.</string>
<string name="set_as_default">Alapértelmezés beállítása</string>
<!-- Placeholders -->
<string name="no_contacts_found">Nincs ilyen névjegy.</string>
@ -72,7 +70,6 @@
<string name="other">Egyéb</string>
<!-- Phone numbers -->
<string name="number">Telefonszám</string>
<string name="mobile">Mobil</string>
<string name="main_number">Elsődleges telefonszám</string>
<string name="work_fax">Munkahelyi fax</string>

View File

@ -17,8 +17,6 @@
<string name="request_the_required_permissions">Meminta izin yang diperlukan</string>
<string name="create_new_contact">Buat kontak baru</string>
<string name="add_to_existing_contact">Tambah ke kontak yang ada</string>
<string name="must_make_default_dialer">Anda harus mengatur aplikasi ini sebagai aplikasi dialer default untuk menggunakan fitur pemblokir nomor.</string>
<string name="set_as_default">Tetapkan sebagai default</string>
<!-- Placeholders -->
<string name="no_contacts_found">Tidak ada kontak yang ditemukan.</string>
@ -72,7 +70,6 @@
<string name="other">Lainnya</string>
<!-- Phone numbers -->
<string name="number">Nomor</string>
<string name="mobile">Ponsel</string>
<string name="main_number">Utama</string>
<string name="work_fax">Faks Kerja</string>

View File

@ -17,8 +17,6 @@
<string name="request_the_required_permissions">Meminta izin yang diperlukan</string>
<string name="create_new_contact">Buat kontak baru</string>
<string name="add_to_existing_contact">Tambah ke kontak yang ada</string>
<string name="must_make_default_dialer">Anda harus mengatur aplikasi ini sebagai aplikasi dialer default untuk menggunakan fitur pemblokir nomor.</string>
<string name="set_as_default">Tetapkan sebagai default</string>
<!-- Placeholders -->
<string name="no_contacts_found">Tidak ada kontak yang ditemukan.</string>
@ -72,7 +70,6 @@
<string name="other">Lainnya</string>
<!-- Phone numbers -->
<string name="number">Nomor</string>
<string name="mobile">Ponsel</string>
<string name="main_number">Utama</string>
<string name="work_fax">Faks Kerja</string>

View File

@ -17,8 +17,6 @@
<string name="request_the_required_permissions">Richiedi le permissioni necessarie</string>
<string name="create_new_contact">Crea un nuovo contatto</string>
<string name="add_to_existing_contact">Aggiungi a un contatto esistente</string>
<string name="must_make_default_dialer">È necessario impostare quest\'app come predefinita per utilizzare i numeri bloccati.</string>
<string name="set_as_default">Imposta come predefinita</string>
<!-- Placeholders -->
<string name="no_contacts_found">Nessun contatto trovato.</string>
@ -72,7 +70,6 @@
<string name="other">Altro</string>
<!-- Phone numbers -->
<string name="number">Numero</string>
<string name="mobile">Cellulare</string>
<string name="main_number">Principale</string>
<string name="work_fax">Fax di lavoro</string>

View File

@ -17,8 +17,6 @@
<string name="request_the_required_permissions">Request the required permissions</string>
<string name="create_new_contact">新しい連絡先を作成</string>
<string name="add_to_existing_contact">既存の連絡先に追加</string>
<string name="must_make_default_dialer">You have to make this app the default dialer app to make use of blocked numbers.</string>
<string name="set_as_default">Set as default</string>
<!-- Placeholders -->
<string name="no_contacts_found">連絡先が見つかりません.</string>
@ -72,7 +70,6 @@
<string name="other">その他</string>
<!-- Phone numbers -->
<string name="number">番号</string>
<string name="mobile">携帯</string>
<string name="main_number">Main</string>
<string name="work_fax">職場FAX</string>

View File

@ -17,8 +17,6 @@
<string name="request_the_required_permissions">Request the required permissions</string>
<string name="create_new_contact">Create new contact</string>
<string name="add_to_existing_contact">Add to an existing contact</string>
<string name="must_make_default_dialer">You have to make this app the default dialer app to make use of blocked numbers.</string>
<string name="set_as_default">Set as default</string>
<!-- Placeholders -->
<string name="no_contacts_found">No contacts found.</string>
@ -72,7 +70,6 @@
<string name="other">미분류</string>
<!-- Phone numbers -->
<string name="number">연락처</string>
<string name="mobile">핸드폰</string>
<string name="main_number">Main</string>
<string name="work_fax">회사 팩스</string>

View File

@ -17,8 +17,6 @@
<string name="request_the_required_permissions">Request the required permissions</string>
<string name="create_new_contact">Create new contact</string>
<string name="add_to_existing_contact">Add to an existing contact</string>
<string name="must_make_default_dialer">You have to make this app the default dialer app to make use of blocked numbers.</string>
<string name="set_as_default">Set as default</string>
<!-- Placeholders -->
<string name="no_contacts_found">No contacts found.</string>
@ -72,7 +70,6 @@
<string name="other">Kitas</string>
<!-- Phone numbers -->
<string name="number">Numeris</string>
<string name="mobile">Mobilus</string>
<string name="main_number">Pagrindinis</string>
<string name="work_fax">Darbo faksas</string>

View File

@ -17,8 +17,6 @@
<string name="request_the_required_permissions">Om benodigde machtigingen vragen</string>
<string name="create_new_contact">Nieuw contact</string>
<string name="add_to_existing_contact">Aan bestaand contact toevoegen</string>
<string name="must_make_default_dialer">Maak van deze app de standaardapp voor bellen om nummers te kunnen blokkeren.</string>
<string name="set_as_default">Als standaard instellen</string>
<!-- Placeholders -->
<string name="no_contacts_found">Geen contacten gevonden.</string>
@ -72,7 +70,6 @@
<string name="other">Overig</string>
<!-- Phone numbers -->
<string name="number">Nummer</string>
<string name="mobile">Mobiel</string>
<string name="main_number">Standaard</string>
<string name="work_fax">Fax Werk</string>

View File

@ -17,8 +17,6 @@
<string name="request_the_required_permissions">Wymagaj koniecznych uprawnień</string>
<string name="create_new_contact">Utwórz nowy kontakt</string>
<string name="add_to_existing_contact">Dodaj do istniejącego kontaktu</string>
<string name="must_make_default_dialer">Musisz ustawić tę aplikację jako domyślną aplikację telefoniczną, aby móc korzystać z funkcji blokowania numerów.</string>
<string name="set_as_default">Ustaw jako domyślną</string>
<!-- Placeholders -->
<string name="no_contacts_found">Nie znaleziono kontaktów.</string>
@ -72,7 +70,6 @@
<string name="other">Inny</string>
<!-- Phone numbers -->
<string name="number">Numer</string>
<string name="mobile">Komórkowy</string>
<string name="main_number">Główny</string>
<string name="work_fax">Służbowy faks</string>

View File

@ -17,8 +17,6 @@
<string name="request_the_required_permissions">Pedir as permissões necessárias</string>
<string name="create_new_contact">Criar novo contato</string>
<string name="add_to_existing_contact">Adicionar um contato existente</string>
<string name="must_make_default_dialer">Você precisa tornar este aplicativo padrão para poder bloquear números.</string>
<string name="set_as_default">Definir como padrão</string>
<!-- Placeholders -->
<string name="no_contacts_found">Nenhum contato encontrado.</string>
@ -72,7 +70,6 @@
<string name="other">Outro</string>
<!-- Phone numbers -->
<string name="number">Número</string>
<string name="mobile">Celular</string>
<string name="main_number">Principal</string>
<string name="work_fax">Fax Comercial</string>

View File

@ -17,8 +17,6 @@
<string name="request_the_required_permissions">Pedir permissão necessária</string>
<string name="create_new_contact">Criar novo contacto</string>
<string name="add_to_existing_contact">Adicionar a contacto existente</string>
<string name="must_make_default_dialer">Tem que tornar esta a aplicação padrão para poder bloquear números.</string>
<string name="set_as_default">Definir como padrão</string>
<!-- Placeholders -->
<string name="no_contacts_found">Não existem contactos.</string>
@ -72,7 +70,6 @@
<string name="other">Outro</string>
<!-- Phone numbers -->
<string name="number">Número</string>
<string name="mobile">Telemóvel</string>
<string name="main_number">Principal</string>
<string name="work_fax">Fax profissional</string>

View File

@ -17,8 +17,6 @@
<string name="request_the_required_permissions">Запрос необходимых разрешений</string>
<string name="create_new_contact">Создать новый контакт</string>
<string name="add_to_existing_contact">Добавить к существующему контакту</string>
<string name="must_make_default_dialer">Вы должны сделать \"Simple Contacts\" приложением по умолчанию для набора номера, чтобы использовать блокировку номеров.</string>
<string name="set_as_default">Установить по умолчанию</string>
<!-- Placeholders -->
<string name="no_contacts_found">Контакты не найдены.</string>
@ -72,7 +70,6 @@
<string name="other">Другой</string>
<!-- Phone numbers -->
<string name="number">Номер</string>
<string name="mobile">Мобильный</string>
<string name="main_number">Основной</string>
<string name="work_fax">Рабочий факс</string>

View File

@ -17,8 +17,6 @@
<string name="request_the_required_permissions">Vyžiadať potrebné oprávnenia</string>
<string name="create_new_contact">Vytvoriť nový kontakt</string>
<string name="add_to_existing_contact">Pridať k existujúcemu kontaktu</string>
<string name="must_make_default_dialer">Pre použitie blokovania čísel musíte nastaviť aplikáciu ako predvolenú pre správu hovorov.</string>
<string name="set_as_default">Nastaviť ako predvolenú</string>
<!-- Placeholders -->
<string name="no_contacts_found">Nenašli sa žiadne kontakty.</string>
@ -72,7 +70,6 @@
<string name="other">Iné</string>
<!-- Phone numbers -->
<string name="number">Číslo</string>
<string name="mobile">Mobil</string>
<string name="main_number">Hlavné</string>
<string name="work_fax">Pracovný fax</string>

View File

@ -17,8 +17,6 @@
<string name="request_the_required_permissions">Begär de behörigheter som krävs</string>
<string name="create_new_contact">Skapa ny kontakt</string>
<string name="add_to_existing_contact">Lägg till i en befintlig kontakt</string>
<string name="must_make_default_dialer">Du måste ställa in den här appen som standardtelefonapp för att kunna använda blockerade nummer.</string>
<string name="set_as_default">Ange som standard</string>
<!-- Placeholders -->
<string name="no_contacts_found">Inga kontakter hittades.</string>
@ -72,7 +70,6 @@
<string name="other">Annat</string>
<!-- Phone numbers -->
<string name="number">Nummer</string>
<string name="mobile">Mobil</string>
<string name="main_number">Primärt nummer</string>
<string name="work_fax">Arbetsfax</string>

View File

@ -17,8 +17,6 @@
<string name="request_the_required_permissions">Gerekli izinleri iste</string>
<string name="create_new_contact">Yeni kişi oluştur</string>
<string name="add_to_existing_contact">Mevcut bir kişiye ekle</string>
<string name="must_make_default_dialer">Engellenen numaraları kullanmak için bu uygulamayı varsayılan çevirici uygulaması yapmalısınız.</string>
<string name="set_as_default">Varsayılan olarak ayarla</string>
<!-- Placeholders -->
<string name="no_contacts_found">Kişi bulunamadı.</string>
@ -72,7 +70,6 @@
<string name="other">Diğer</string>
<!-- Phone numbers -->
<string name="number">Numara</string>
<string name="mobile">Cep</string>
<string name="main_number">Ana</string>
<string name="work_fax">İş Faksı</string>

View File

@ -17,8 +17,6 @@
<string name="request_the_required_permissions">Запит на необхідні дозволи</string>
<string name="create_new_contact">Створити новий контакт</string>
<string name="add_to_existing_contact">Додати до існуючого контакту</string>
<string name="must_make_default_dialer">Щоб використовувати функцію блокування номерів, вам необхідно встановити цей додаток як стандартний для роботи з контактами.</string>
<string name="set_as_default">Встановити додаток як стандартний</string>
<!-- Placeholders -->
<string name="no_contacts_found">Контактів не знайдено.</string>
@ -72,7 +70,6 @@
<string name="other">Інше</string>
<!-- Phone numbers -->
<string name="number">Номер</string>
<string name="mobile">Мобільний</string>
<string name="main_number">Основний</string>
<string name="work_fax">Робочий факс</string>

View File

@ -17,8 +17,6 @@
<string name="request_the_required_permissions">请求必要的权限</string>
<string name="create_new_contact">建立新联系人</string>
<string name="add_to_existing_contact">添加至已存在的联系人</string>
<string name="must_make_default_dialer">你必须将这应用程序设为默认的拨号程序来使用黑名单。</string>
<string name="set_as_default">设为默认</string>
<!-- Placeholders -->
<string name="no_contacts_found">未发现联系人.</string>
@ -72,7 +70,6 @@
<string name="other">其它</string>
<!-- Phone numbers -->
<string name="number">号码</string>
<string name="mobile">手机</string>
<string name="main_number">主用</string>
<string name="work_fax">工作传真</string>

View File

@ -17,8 +17,6 @@
<string name="request_the_required_permissions">請求必要的權限</string>
<string name="create_new_contact">建立新聯絡人</string>
<string name="add_to_existing_contact">添加至已存在的聯絡人</string>
<string name="must_make_default_dialer">你必須將這應用程式設為預設的撥號程式來使用黑名單。</string>
<string name="set_as_default">設為預設</string>
<!-- Placeholders -->
<string name="no_contacts_found">未發現聯絡人。</string>
@ -72,7 +70,6 @@
<string name="other">其它</string>
<!-- Phone numbers -->
<string name="number">號碼</string>
<string name="mobile">手機</string>
<string name="main_number">主用</string>
<string name="work_fax">工作傳真</string>

View File

@ -17,8 +17,6 @@
<string name="request_the_required_permissions">Request the required permissions</string>
<string name="create_new_contact">Create new contact</string>
<string name="add_to_existing_contact">Add to an existing contact</string>
<string name="must_make_default_dialer">You have to make this app the default dialer app to make use of blocked numbers.</string>
<string name="set_as_default">Set as default</string>
<!-- Placeholders -->
<string name="no_contacts_found">No contacts found.</string>
@ -72,7 +70,6 @@
<string name="other">Other</string>
<!-- Phone numbers -->
<string name="number">Number</string>
<string name="mobile">Mobile</string>
<string name="main_number">Main</string>
<string name="work_fax">Work Fax</string>