mirror of
https://github.com/SimpleMobileTools/Simple-Dialer.git
synced 2025-06-05 21:49:23 +02:00
Merge branch 'SimpleMobileTools:master' into master
This commit is contained in:
57
CHANGELOG.md
57
CHANGELOG.md
@@ -1,6 +1,63 @@
|
||||
Changelog
|
||||
==========
|
||||
|
||||
Version 5.17.8 *(2023-04-19)*
|
||||
----------------------------
|
||||
|
||||
* Avoid showing contacts without a phone number
|
||||
* Fixed multiple contact handling related glitches
|
||||
* Added some stability, translation and UX improvements
|
||||
|
||||
Version 5.17.7 *(2023-04-12)*
|
||||
----------------------------
|
||||
|
||||
* Added some stability, translation and UX improvements
|
||||
|
||||
Version 5.17.6 *(2023-04-07)*
|
||||
----------------------------
|
||||
|
||||
* Fixed number presses during call
|
||||
* Added some stability, translation and UX improvements
|
||||
|
||||
Version 5.17.5 *(2023-03-29)*
|
||||
----------------------------
|
||||
|
||||
* Allow filtering contacts
|
||||
* Fix displaying contacts, if name starts with surname
|
||||
* Fixed some right-to-left layout glitches
|
||||
* Added some stability, translation and UX improvements
|
||||
|
||||
Version 5.17.4 *(2023-03-21)*
|
||||
----------------------------
|
||||
|
||||
* Allow filtering contacts
|
||||
* Fix displaying contacts, if name starts with surname
|
||||
* Fixed some right-to-left layout glitches
|
||||
* Added some stability, translation and UX improvements
|
||||
|
||||
Version 5.17.3 *(2023-01-12)*
|
||||
----------------------------
|
||||
|
||||
* Fixed a search glitch on some devices
|
||||
|
||||
Version 5.17.2 *(2023-01-10)*
|
||||
----------------------------
|
||||
|
||||
* Fixed a glitch with dialpad button not being visible on some devices
|
||||
|
||||
Version 5.17.1 *(2023-01-04)*
|
||||
----------------------------
|
||||
|
||||
* Added the new search bar at the top menu
|
||||
|
||||
Version 5.17.0 *(2022-12-30)*
|
||||
----------------------------
|
||||
|
||||
* Do not allow calling blocked numbers
|
||||
* Allow hiding numbers on the dialpad
|
||||
* Use Material You theme by default on Android 12+
|
||||
* Added some UI, translation and stability improvements
|
||||
|
||||
Version 5.16.0 *(2022-11-12)*
|
||||
----------------------------
|
||||
|
||||
|
8
CONTRIBUTING.md
Normal file
8
CONTRIBUTING.md
Normal file
@@ -0,0 +1,8 @@
|
||||
### Reporting
|
||||
Before you report something, read the reporting rules [here](https://github.com/SimpleMobileTools/General-Discussion#how-do-i-suggest-an-improvement-ask-a-question-or-report-an-issue) please.
|
||||
|
||||
### Contributing as a developer
|
||||
Some instructions about code style and everything that has to be done to increase the change of your code getting accepted can be found at the [General Discussion](https://github.com/SimpleMobileTools/General-Discussion#contribution-rules-for-developers) section.
|
||||
|
||||
### Contributing as a non developer
|
||||
In case you just want to for example improve a translation, you can find the way of doing it [here](https://github.com/SimpleMobileTools/General-Discussion#how-can-i-suggest-an-edit-to-a-file).
|
@@ -15,8 +15,8 @@ android {
|
||||
applicationId "com.simplemobiletools.dialer"
|
||||
minSdkVersion 23
|
||||
targetSdkVersion 33
|
||||
versionCode 46
|
||||
versionName "5.16.0"
|
||||
versionCode 55
|
||||
versionName "5.17.8"
|
||||
setProperty("archivesBaseName", "dialer")
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ android {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'com.github.SimpleMobileTools:Simple-Commons:5b5a6b083f'
|
||||
implementation 'com.github.SimpleMobileTools:Simple-Commons:ee2e127758'
|
||||
implementation 'com.github.tibbi:IndicatorFastScroll:4524cd0b61'
|
||||
implementation 'me.grantland:autofittextview:0.2.1'
|
||||
}
|
||||
|
@@ -8,6 +8,7 @@
|
||||
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
||||
<uses-permission android:name="android.permission.CALL_PHONE" />
|
||||
<uses-permission android:name="android.permission.CALL_PRIVILEGED" />
|
||||
<uses-permission android:name="android.permission.READ_CALL_LOG" />
|
||||
<uses-permission android:name="android.permission.WRITE_CALL_LOG" />
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
@@ -20,6 +21,7 @@
|
||||
<uses-permission android:name="android.telecom.action.CONFIGURE_PHONE_ACCOUNT" />
|
||||
<uses-permission android:name="android.permission.VIBRATE" />
|
||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
||||
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
|
||||
|
||||
<uses-permission
|
||||
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
|
||||
@@ -62,36 +64,42 @@
|
||||
|
||||
<activity
|
||||
android:name="com.simplemobiletools.commons.activities.AboutActivity"
|
||||
android:configChanges="orientation"
|
||||
android:exported="false"
|
||||
android:label="@string/about"
|
||||
android:parentActivityName=".activities.MainActivity" />
|
||||
|
||||
<activity
|
||||
android:name="com.simplemobiletools.commons.activities.CustomizationActivity"
|
||||
android:configChanges="orientation"
|
||||
android:exported="false"
|
||||
android:label="@string/customize_colors"
|
||||
android:parentActivityName=".activities.SettingsActivity" />
|
||||
|
||||
<activity
|
||||
android:name="com.simplemobiletools.commons.activities.ManageBlockedNumbersActivity"
|
||||
android:configChanges="orientation"
|
||||
android:exported="false"
|
||||
android:label="@string/blocked_numbers"
|
||||
android:parentActivityName=".activities.SettingsActivity" />
|
||||
|
||||
<activity
|
||||
android:name=".activities.ManageSpeedDialActivity"
|
||||
android:configChanges="orientation"
|
||||
android:exported="false"
|
||||
android:label="@string/speed_dial"
|
||||
android:parentActivityName=".activities.SettingsActivity" />
|
||||
|
||||
<activity
|
||||
android:name=".activities.ConferenceActivity"
|
||||
android:configChanges="orientation"
|
||||
android:exported="false"
|
||||
android:label="@string/conference"
|
||||
android:parentActivityName=".activities.CallActivity" />
|
||||
|
||||
<activity
|
||||
android:name=".activities.SettingsActivity"
|
||||
android:configChanges="orientation"
|
||||
android:exported="true"
|
||||
android:label="@string/settings"
|
||||
android:parentActivityName=".activities.MainActivity">
|
||||
@@ -116,6 +124,7 @@
|
||||
android:exported="true"
|
||||
android:label="@string/dialpad"
|
||||
android:parentActivityName=".activities.MainActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden">
|
||||
|
||||
<intent-filter>
|
||||
@@ -144,6 +153,7 @@
|
||||
|
||||
<activity
|
||||
android:name=".activities.DialerActivity"
|
||||
android:configChanges="orientation"
|
||||
android:exported="true"
|
||||
android:label="@string/dialer"
|
||||
android:theme="@style/Theme.Transparent">
|
||||
|
@@ -20,12 +20,10 @@ import android.view.WindowManager
|
||||
import android.view.animation.AccelerateDecelerateInterpolator
|
||||
import android.view.animation.OvershootInterpolator
|
||||
import android.widget.ImageView
|
||||
import androidx.core.content.res.ResourcesCompat
|
||||
import androidx.core.view.children
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.helpers.LOWER_ALPHA
|
||||
import com.simplemobiletools.commons.helpers.MINUTE_SECONDS
|
||||
import com.simplemobiletools.commons.helpers.isOreoMr1Plus
|
||||
import com.simplemobiletools.commons.helpers.isOreoPlus
|
||||
import com.simplemobiletools.commons.helpers.*
|
||||
import com.simplemobiletools.commons.models.SimpleListItem
|
||||
import com.simplemobiletools.dialer.R
|
||||
import com.simplemobiletools.dialer.dialogs.DynamicBottomSheetChooserDialog
|
||||
@@ -88,7 +86,7 @@ class CallActivity : SimpleActivity() {
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
updateState()
|
||||
updateNavigationBarColor(getBottomNavigationBackgroundColor())
|
||||
updateNavigationBarColor(getProperBackgroundColor())
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
@@ -187,6 +185,25 @@ class CallActivity : SimpleActivity() {
|
||||
dialpad_8_holder.setOnClickListener { dialpadPressed('8') }
|
||||
dialpad_9_holder.setOnClickListener { dialpadPressed('9') }
|
||||
|
||||
arrayOf(
|
||||
dialpad_0_holder,
|
||||
dialpad_1_holder,
|
||||
dialpad_2_holder,
|
||||
dialpad_3_holder,
|
||||
dialpad_4_holder,
|
||||
dialpad_5_holder,
|
||||
dialpad_6_holder,
|
||||
dialpad_7_holder,
|
||||
dialpad_8_holder,
|
||||
dialpad_9_holder,
|
||||
dialpad_plus_holder,
|
||||
dialpad_asterisk_holder,
|
||||
dialpad_hashtag_holder
|
||||
).forEach {
|
||||
it.background = ResourcesCompat.getDrawable(resources, R.drawable.pill_background, theme)
|
||||
it.background?.alpha = LOWER_ALPHA_INT
|
||||
}
|
||||
|
||||
dialpad_0_holder.setOnLongClickListener { dialpadPressed('+'); true }
|
||||
dialpad_asterisk_holder.setOnClickListener { dialpadPressed('*') }
|
||||
dialpad_hashtag_holder.setOnClickListener { dialpadPressed('#') }
|
||||
@@ -383,7 +400,7 @@ class CallActivity : SimpleActivity() {
|
||||
}
|
||||
|
||||
private fun dialpadPressed(char: Char) {
|
||||
CallManager.keypad(this, char)
|
||||
CallManager.keypad(char)
|
||||
dialpad_input.addCharacter(char)
|
||||
}
|
||||
|
||||
|
@@ -10,10 +10,12 @@ import kotlinx.android.synthetic.main.activity_conference.*
|
||||
class ConferenceActivity : SimpleActivity() {
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
isMaterialActivity = true
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(R.layout.activity_conference)
|
||||
|
||||
conference_calls_list.adapter = ConferenceCallsAdapter(this, conference_calls_list, ArrayList(CallManager.getConferenceCalls())) {}
|
||||
updateMaterialActivityViews(conference_coordinator, conference_list, useTransparentNavigation = true, useTopSearchMenu = false)
|
||||
setupMaterialScrollListener(conference_list, conference_toolbar)
|
||||
conference_list.adapter = ConferenceCallsAdapter(this, conference_list, ArrayList(CallManager.getConferenceCalls())) {}
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
|
@@ -36,6 +36,12 @@ class DialerActivity : SimpleActivity() {
|
||||
@SuppressLint("MissingPermission")
|
||||
private fun initOutgoingCall() {
|
||||
try {
|
||||
if (isNumberBlocked(callNumber.toString().replace("tel:", ""), getBlockedNumbers())) {
|
||||
toast(R.string.calling_blocked_number)
|
||||
finish()
|
||||
return
|
||||
}
|
||||
|
||||
getHandleToUse(intent, callNumber.toString()) { handle ->
|
||||
if (handle != null) {
|
||||
Bundle().apply {
|
||||
|
@@ -17,10 +17,13 @@ import android.view.KeyEvent
|
||||
import android.view.MotionEvent
|
||||
import android.view.View
|
||||
import android.view.ViewConfiguration
|
||||
import androidx.core.content.res.ResourcesCompat
|
||||
import androidx.core.view.isVisible
|
||||
import com.reddit.indicatorfastscroll.FastScrollItemIndicator
|
||||
import com.simplemobiletools.commons.dialogs.CallConfirmationDialog
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.helpers.*
|
||||
import com.simplemobiletools.commons.models.SimpleContact
|
||||
import com.simplemobiletools.commons.models.contacts.Contact
|
||||
import com.simplemobiletools.dialer.R
|
||||
import com.simplemobiletools.dialer.adapters.ContactsAdapter
|
||||
import com.simplemobiletools.dialer.extensions.*
|
||||
@@ -34,7 +37,7 @@ import java.util.*
|
||||
import kotlin.math.roundToInt
|
||||
|
||||
class DialpadActivity : SimpleActivity() {
|
||||
private var allContacts = ArrayList<SimpleContact>()
|
||||
private var allContacts = ArrayList<Contact>()
|
||||
private var speedDialValues = ArrayList<SpeedDial>()
|
||||
private val russianCharsMap = HashMap<Char, Int>()
|
||||
private var hasRussianLocale = false
|
||||
@@ -49,10 +52,47 @@ class DialpadActivity : SimpleActivity() {
|
||||
setContentView(R.layout.activity_dialpad)
|
||||
hasRussianLocale = Locale.getDefault().language == "ru"
|
||||
|
||||
updateMaterialActivityViews(dialpad_coordinator, dialpad_holder, useTransparentNavigation = true, useTopSearchMenu = false)
|
||||
setupMaterialScrollListener(dialpad_list, dialpad_toolbar)
|
||||
updateNavigationBarColor(getProperBackgroundColor())
|
||||
|
||||
if (checkAppSideloading()) {
|
||||
return
|
||||
}
|
||||
|
||||
if (config.hideDialpadNumbers) {
|
||||
dialpad_1_holder.isVisible = false
|
||||
dialpad_2_holder.isVisible = false
|
||||
dialpad_3_holder.isVisible = false
|
||||
dialpad_4_holder.isVisible = false
|
||||
dialpad_5_holder.isVisible = false
|
||||
dialpad_6_holder.isVisible = false
|
||||
dialpad_7_holder.isVisible = false
|
||||
dialpad_8_holder.isVisible = false
|
||||
dialpad_9_holder.isVisible = false
|
||||
dialpad_plus_holder.isVisible = true
|
||||
dialpad_0_holder.visibility = View.INVISIBLE
|
||||
}
|
||||
|
||||
arrayOf(
|
||||
dialpad_0_holder,
|
||||
dialpad_1_holder,
|
||||
dialpad_2_holder,
|
||||
dialpad_3_holder,
|
||||
dialpad_4_holder,
|
||||
dialpad_5_holder,
|
||||
dialpad_6_holder,
|
||||
dialpad_7_holder,
|
||||
dialpad_8_holder,
|
||||
dialpad_9_holder,
|
||||
dialpad_plus_holder,
|
||||
dialpad_asterisk_holder,
|
||||
dialpad_hashtag_holder
|
||||
).forEach {
|
||||
it.background = ResourcesCompat.getDrawable(resources, R.drawable.pill_background, theme)
|
||||
it.background?.alpha = LOWER_ALPHA_INT
|
||||
}
|
||||
|
||||
setupOptionsMenu()
|
||||
speedDialValues = config.getSpeedDialValues()
|
||||
privateCursor = getMyContactsCursor(favoritesOnly = false, withPhoneNumbersOnly = true)
|
||||
@@ -89,6 +129,7 @@ class DialpadActivity : SimpleActivity() {
|
||||
setupCharClick(dialpad_8_holder, '8')
|
||||
setupCharClick(dialpad_9_holder, '9')
|
||||
setupCharClick(dialpad_0_holder, '0')
|
||||
setupCharClick(dialpad_plus_holder, '+', longClickable = false)
|
||||
setupCharClick(dialpad_asterisk_holder, '*', longClickable = false)
|
||||
setupCharClick(dialpad_hashtag_holder, '#', longClickable = false)
|
||||
|
||||
@@ -97,10 +138,13 @@ class DialpadActivity : SimpleActivity() {
|
||||
dialpad_call_button.setOnClickListener { initCall(dialpad_input.value, 0) }
|
||||
dialpad_input.onTextChangeListener { dialpadValueChanged(it) }
|
||||
dialpad_input.requestFocus()
|
||||
|
||||
SimpleContactsHelper(this).getAvailableContacts(false) { gotContacts(it) }
|
||||
dialpad_input.disableKeyboard()
|
||||
|
||||
ContactsHelper(this).getContacts(showOnlyContactsWithNumbers = true) { allContacts ->
|
||||
gotContacts(allContacts)
|
||||
}
|
||||
|
||||
|
||||
val properPrimaryColor = getProperPrimaryColor()
|
||||
val callIconId = if (areMultipleSIMsAvailable()) {
|
||||
val callIcon = resources.getColoredDrawableWithColor(R.drawable.ic_phone_two_vector, properPrimaryColor.getContrastColor())
|
||||
@@ -131,7 +175,7 @@ class DialpadActivity : SimpleActivity() {
|
||||
super.onResume()
|
||||
updateTextColors(dialpad_holder)
|
||||
dialpad_clear_char.applyColorFilter(getProperTextColor())
|
||||
updateNavigationBarColor(getBottomNavigationBackgroundColor())
|
||||
updateNavigationBarColor(getProperBackgroundColor())
|
||||
setupToolbar(dialpad_toolbar, NavigationIcon.Arrow)
|
||||
}
|
||||
|
||||
@@ -179,10 +223,10 @@ class DialpadActivity : SimpleActivity() {
|
||||
dialpad_input.setText("")
|
||||
}
|
||||
|
||||
private fun gotContacts(newContacts: ArrayList<SimpleContact>) {
|
||||
private fun gotContacts(newContacts: ArrayList<Contact>) {
|
||||
allContacts = newContacts
|
||||
|
||||
val privateContacts = MyContactsContentProvider.getSimpleContacts(this, privateCursor)
|
||||
val privateContacts = MyContactsContentProvider.getContacts(this, privateCursor)
|
||||
if (privateContacts.isNotEmpty()) {
|
||||
allContacts.addAll(privateContacts)
|
||||
allContacts.sort()
|
||||
@@ -230,11 +274,11 @@ class DialpadActivity : SimpleActivity() {
|
||||
it.doesContainPhoneNumber(text) || (convertedName.contains(text, true))
|
||||
}.sortedWith(compareBy {
|
||||
!it.doesContainPhoneNumber(text)
|
||||
}).toMutableList() as ArrayList<SimpleContact>
|
||||
}).toMutableList() as ArrayList<Contact>
|
||||
|
||||
letter_fastscroller.setupWithRecyclerView(dialpad_list, { position ->
|
||||
try {
|
||||
val name = filtered[position].name
|
||||
val name = filtered[position].getNameToDisplay()
|
||||
val character = if (name.isNotEmpty()) name.substring(0, 1) else ""
|
||||
FastScrollItemIndicator.Text(character.toUpperCase(Locale.getDefault()))
|
||||
} catch (e: Exception) {
|
||||
@@ -243,7 +287,14 @@ class DialpadActivity : SimpleActivity() {
|
||||
})
|
||||
|
||||
ContactsAdapter(this, filtered, dialpad_list, null, text) {
|
||||
startCallIntent((it as SimpleContact).phoneNumbers.first().normalizedNumber)
|
||||
val contact = it as Contact
|
||||
if (config.showCallConfirmation) {
|
||||
CallConfirmationDialog(this@DialpadActivity, contact.getNameToDisplay()) {
|
||||
startCallIntent(contact.getPrimaryNumber() ?: return@CallConfirmationDialog)
|
||||
}
|
||||
} else {
|
||||
startCallIntent(contact.getPrimaryNumber() ?: return@ContactsAdapter)
|
||||
}
|
||||
}.apply {
|
||||
dialpad_list.adapter = this
|
||||
}
|
||||
@@ -262,9 +313,21 @@ class DialpadActivity : SimpleActivity() {
|
||||
private fun initCall(number: String = dialpad_input.value, handleIndex: Int) {
|
||||
if (number.isNotEmpty()) {
|
||||
if (handleIndex != -1 && areMultipleSIMsAvailable()) {
|
||||
callContactWithSim(number, handleIndex == 0)
|
||||
if (config.showCallConfirmation) {
|
||||
CallConfirmationDialog(this, number) {
|
||||
callContactWithSim(number, handleIndex == 0)
|
||||
}
|
||||
}else{
|
||||
callContactWithSim(number, handleIndex == 0)
|
||||
}
|
||||
} else {
|
||||
startCallIntent(number)
|
||||
if (config.showCallConfirmation) {
|
||||
CallConfirmationDialog(this, number) {
|
||||
startCallIntent(number)
|
||||
}
|
||||
}else{
|
||||
startCallIntent(number)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -2,8 +2,6 @@ package com.simplemobiletools.dialer.activities
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.app.Activity
|
||||
import android.app.SearchManager
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.pm.ShortcutInfo
|
||||
import android.content.res.Configuration
|
||||
@@ -13,24 +11,21 @@ import android.graphics.drawable.LayerDrawable
|
||||
import android.os.Bundle
|
||||
import android.os.Handler
|
||||
import android.provider.Settings
|
||||
import android.view.Menu
|
||||
import android.view.MenuItem
|
||||
import android.widget.ImageView
|
||||
import android.widget.TextView
|
||||
import android.widget.Toast
|
||||
import androidx.appcompat.widget.SearchView
|
||||
import androidx.core.view.MenuItemCompat
|
||||
import androidx.viewpager.widget.ViewPager
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.helpers.*
|
||||
import com.simplemobiletools.commons.models.FAQItem
|
||||
import com.simplemobiletools.commons.models.SimpleContact
|
||||
import com.simplemobiletools.commons.models.contacts.Contact
|
||||
import com.simplemobiletools.dialer.BuildConfig
|
||||
import com.simplemobiletools.dialer.R
|
||||
import com.simplemobiletools.dialer.adapters.ViewPagerAdapter
|
||||
import com.simplemobiletools.dialer.dialogs.ChangeSortingDialog
|
||||
import com.simplemobiletools.dialer.dialogs.FilterContactSourcesDialog
|
||||
import com.simplemobiletools.dialer.extensions.config
|
||||
import com.simplemobiletools.dialer.extensions.launchCreateNewContactIntent
|
||||
import com.simplemobiletools.dialer.fragments.FavoritesFragment
|
||||
@@ -45,19 +40,19 @@ import kotlinx.android.synthetic.main.fragment_recents.*
|
||||
import me.grantland.widget.AutofitHelper
|
||||
|
||||
class MainActivity : SimpleActivity() {
|
||||
private var isSearchOpen = false
|
||||
private var launchedDialer = false
|
||||
private var mSearchMenuItem: MenuItem? = null
|
||||
private var storedShowTabs = 0
|
||||
private var searchQuery = ""
|
||||
var cachedContacts = ArrayList<SimpleContact>()
|
||||
private var storedStartNameWithSurname = false
|
||||
var cachedContacts = ArrayList<Contact>()
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
isMaterialActivity = true
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(R.layout.activity_main)
|
||||
appLaunched(BuildConfig.APPLICATION_ID)
|
||||
setupOptionsMenu()
|
||||
refreshMenuItems()
|
||||
updateMaterialActivityViews(main_coordinator, main_holder, useTransparentNavigation = false, useTopSearchMenu = true)
|
||||
|
||||
launchedDialer = savedInstanceState?.getBoolean(OPEN_DIAL_PAD_AT_LAUNCH) ?: false
|
||||
|
||||
@@ -90,28 +85,37 @@ class MainActivity : SimpleActivity() {
|
||||
}
|
||||
|
||||
setupTabs()
|
||||
SimpleContact.sorting = config.sorting
|
||||
Contact.sorting = config.sorting
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
if (storedShowTabs != config.showTabs) {
|
||||
config.lastUsedViewPagerPage = 0
|
||||
System.exit(0)
|
||||
return
|
||||
}
|
||||
|
||||
updateMenuColors()
|
||||
val properPrimaryColor = getProperPrimaryColor()
|
||||
val dialpadIcon = resources.getColoredDrawableWithColor(R.drawable.ic_dialpad_vector, properPrimaryColor.getContrastColor())
|
||||
main_dialpad_button.setImageDrawable(dialpadIcon)
|
||||
|
||||
setupTabColors()
|
||||
setupToolbar(main_toolbar, searchMenuItem = mSearchMenuItem)
|
||||
updateTextColors(main_holder)
|
||||
setupTabColors()
|
||||
|
||||
getAllFragments().forEach {
|
||||
it?.setupColors(getProperTextColor(), getProperPrimaryColor(), getProperPrimaryColor())
|
||||
}
|
||||
|
||||
if (!isSearchOpen) {
|
||||
if (storedShowTabs != config.showTabs) {
|
||||
System.exit(0)
|
||||
return
|
||||
}
|
||||
val configStartNameWithSurname = config.startNameWithSurname
|
||||
if (storedStartNameWithSurname != configStartNameWithSurname) {
|
||||
contacts_fragment?.startNameWithSurnameChanged(configStartNameWithSurname)
|
||||
favorites_fragment?.startNameWithSurnameChanged(configStartNameWithSurname)
|
||||
storedStartNameWithSurname = config.startNameWithSurname
|
||||
}
|
||||
|
||||
if (!main_menu.isSearchOpen) {
|
||||
refreshItems(true)
|
||||
}
|
||||
|
||||
@@ -124,6 +128,7 @@ class MainActivity : SimpleActivity() {
|
||||
override fun onPause() {
|
||||
super.onPause()
|
||||
storedShowTabs = config.showTabs
|
||||
storedStartNameWithSurname = config.startNameWithSurname
|
||||
config.lastUsedViewPagerPage = view_pager.currentItem
|
||||
}
|
||||
|
||||
@@ -149,8 +154,8 @@ class MainActivity : SimpleActivity() {
|
||||
}
|
||||
|
||||
override fun onBackPressed() {
|
||||
if (isSearchOpen && mSearchMenuItem != null) {
|
||||
mSearchMenuItem!!.collapseActionView()
|
||||
if (main_menu.isSearchOpen) {
|
||||
main_menu.closeSearch()
|
||||
} else {
|
||||
super.onBackPressed()
|
||||
}
|
||||
@@ -158,7 +163,7 @@ class MainActivity : SimpleActivity() {
|
||||
|
||||
private fun refreshMenuItems() {
|
||||
val currentFragment = getCurrentFragment()
|
||||
main_toolbar.menu.apply {
|
||||
main_menu.getToolbar().menu.apply {
|
||||
findItem(R.id.clear_call_history).isVisible = currentFragment == recents_fragment
|
||||
findItem(R.id.sort).isVisible = currentFragment != recents_fragment
|
||||
findItem(R.id.create_new_contact).isVisible = currentFragment == contacts_fragment
|
||||
@@ -167,12 +172,26 @@ class MainActivity : SimpleActivity() {
|
||||
}
|
||||
|
||||
private fun setupOptionsMenu() {
|
||||
setupSearch(main_toolbar.menu)
|
||||
main_toolbar.setOnMenuItemClickListener { menuItem ->
|
||||
main_menu.getToolbar().inflateMenu(R.menu.menu)
|
||||
main_menu.toggleHideOnScroll(false)
|
||||
main_menu.setupMenu()
|
||||
|
||||
main_menu.onSearchClosedListener = {
|
||||
getAllFragments().forEach {
|
||||
it?.onSearchQueryChanged("")
|
||||
}
|
||||
}
|
||||
|
||||
main_menu.onSearchTextChangedListener = { text ->
|
||||
getCurrentFragment()?.onSearchQueryChanged(text)
|
||||
}
|
||||
|
||||
main_menu.getToolbar().setOnMenuItemClickListener { menuItem ->
|
||||
when (menuItem.itemId) {
|
||||
R.id.clear_call_history -> clearCallHistory()
|
||||
R.id.create_new_contact -> launchCreateNewContactIntent()
|
||||
R.id.sort -> showSortingDialog(showCustomSorting = getCurrentFragment() is FavoritesFragment)
|
||||
R.id.filter -> showFilterDialog()
|
||||
R.id.more_apps_from_us -> launchMoreAppsFromUsIntent()
|
||||
R.id.settings -> launchSettings()
|
||||
R.id.about -> launchAbout()
|
||||
@@ -182,53 +201,20 @@ class MainActivity : SimpleActivity() {
|
||||
}
|
||||
}
|
||||
|
||||
private fun updateMenuColors() {
|
||||
updateStatusbarColor(getProperBackgroundColor())
|
||||
main_menu.updateColors()
|
||||
}
|
||||
|
||||
private fun checkContactPermissions() {
|
||||
handlePermission(PERMISSION_READ_CONTACTS) {
|
||||
initFragments()
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupSearch(menu: Menu) {
|
||||
val searchManager = getSystemService(Context.SEARCH_SERVICE) as SearchManager
|
||||
mSearchMenuItem = menu.findItem(R.id.search)
|
||||
(mSearchMenuItem!!.actionView as SearchView).apply {
|
||||
setSearchableInfo(searchManager.getSearchableInfo(componentName))
|
||||
isSubmitButtonEnabled = false
|
||||
queryHint = getString(R.string.search)
|
||||
setOnQueryTextListener(object : SearchView.OnQueryTextListener {
|
||||
override fun onQueryTextSubmit(query: String) = false
|
||||
|
||||
override fun onQueryTextChange(newText: String): Boolean {
|
||||
if (isSearchOpen) {
|
||||
searchQuery = newText
|
||||
getCurrentFragment()?.onSearchQueryChanged(newText)
|
||||
}
|
||||
return true
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
MenuItemCompat.setOnActionExpandListener(mSearchMenuItem, object : MenuItemCompat.OnActionExpandListener {
|
||||
override fun onMenuItemActionExpand(item: MenuItem?): Boolean {
|
||||
isSearchOpen = true
|
||||
main_dialpad_button.beGone()
|
||||
return true
|
||||
}
|
||||
|
||||
override fun onMenuItemActionCollapse(item: MenuItem?): Boolean {
|
||||
if (isSearchOpen) {
|
||||
getCurrentFragment()?.onSearchClosed()
|
||||
}
|
||||
|
||||
isSearchOpen = false
|
||||
main_dialpad_button.beVisible()
|
||||
return true
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
private fun clearCallHistory() {
|
||||
ConfirmationDialog(this, "", R.string.clear_history_confirmation) {
|
||||
val confirmationText = "${getString(R.string.remove_confirmation)}\n\n${getString(R.string.cannot_be_undone)}"
|
||||
ConfirmationDialog(this, confirmationText) {
|
||||
RecentsHelper(this).removeAllRecentCalls(this) {
|
||||
runOnUiThread {
|
||||
recents_fragment?.refreshItems()
|
||||
@@ -270,11 +256,11 @@ class MainActivity : SimpleActivity() {
|
||||
|
||||
private fun setupTabColors() {
|
||||
val activeView = main_tabs_holder.getTabAt(view_pager.currentItem)?.customView
|
||||
updateBottomTabItemColors(activeView, true)
|
||||
updateBottomTabItemColors(activeView, true, getSelectedTabDrawableIds()[view_pager.currentItem])
|
||||
|
||||
getInactiveTabIndexes(view_pager.currentItem).forEach { index ->
|
||||
val inactiveView = main_tabs_holder.getTabAt(index)?.customView
|
||||
updateBottomTabItemColors(inactiveView, false)
|
||||
updateBottomTabItemColors(inactiveView, false, getDeselectedTabDrawableIds()[index])
|
||||
}
|
||||
|
||||
val bottomBarColor = getBottomNavigationBackgroundColor()
|
||||
@@ -282,7 +268,45 @@ class MainActivity : SimpleActivity() {
|
||||
updateNavigationBarColor(bottomBarColor)
|
||||
}
|
||||
|
||||
private fun getInactiveTabIndexes(activeIndex: Int) = (0 until tabsList.size).filter { it != activeIndex }
|
||||
private fun getInactiveTabIndexes(activeIndex: Int) = (0 until main_tabs_holder.tabCount).filter { it != activeIndex }
|
||||
|
||||
private fun getSelectedTabDrawableIds(): ArrayList<Int> {
|
||||
val showTabs = config.showTabs
|
||||
val icons = ArrayList<Int>()
|
||||
|
||||
if (showTabs and TAB_CONTACTS != 0) {
|
||||
icons.add(R.drawable.ic_person_vector)
|
||||
}
|
||||
|
||||
if (showTabs and TAB_FAVORITES != 0) {
|
||||
icons.add(R.drawable.ic_star_vector)
|
||||
}
|
||||
|
||||
if (showTabs and TAB_CALL_HISTORY != 0) {
|
||||
icons.add(R.drawable.ic_clock_filled_vector)
|
||||
}
|
||||
|
||||
return icons
|
||||
}
|
||||
|
||||
private fun getDeselectedTabDrawableIds(): ArrayList<Int> {
|
||||
val showTabs = config.showTabs
|
||||
val icons = ArrayList<Int>()
|
||||
|
||||
if (showTabs and TAB_CONTACTS != 0) {
|
||||
icons.add(R.drawable.ic_person_outline_vector)
|
||||
}
|
||||
|
||||
if (showTabs and TAB_FAVORITES != 0) {
|
||||
icons.add(R.drawable.ic_star_outline_vector)
|
||||
}
|
||||
|
||||
if (showTabs and TAB_CALL_HISTORY != 0) {
|
||||
icons.add(R.drawable.ic_clock_vector)
|
||||
}
|
||||
|
||||
return icons
|
||||
}
|
||||
|
||||
private fun initFragments() {
|
||||
view_pager.offscreenPageLimit = 2
|
||||
@@ -349,17 +373,18 @@ class MainActivity : SimpleActivity() {
|
||||
|
||||
main_tabs_holder.onTabSelectionChanged(
|
||||
tabUnselectedAction = {
|
||||
updateBottomTabItemColors(it.customView, false)
|
||||
updateBottomTabItemColors(it.customView, false, getDeselectedTabDrawableIds()[it.position])
|
||||
},
|
||||
tabSelectedAction = {
|
||||
closeSearch()
|
||||
main_menu.closeSearch()
|
||||
view_pager.currentItem = it.position
|
||||
updateBottomTabItemColors(it.customView, true)
|
||||
updateBottomTabItemColors(it.customView, true, getSelectedTabDrawableIds()[it.position])
|
||||
}
|
||||
)
|
||||
|
||||
main_tabs_holder.beGoneIf(main_tabs_holder.tabCount == 1)
|
||||
storedShowTabs = config.showTabs
|
||||
storedStartNameWithSurname = config.startNameWithSurname
|
||||
}
|
||||
|
||||
private fun getTabIcon(position: Int): Drawable {
|
||||
@@ -404,7 +429,7 @@ class MainActivity : SimpleActivity() {
|
||||
}
|
||||
}
|
||||
|
||||
private fun refreshFragments() {
|
||||
fun refreshFragments() {
|
||||
contacts_fragment?.refreshItems()
|
||||
favorites_fragment?.refreshItems()
|
||||
recents_fragment?.refreshItems()
|
||||
@@ -471,13 +496,11 @@ class MainActivity : SimpleActivity() {
|
||||
}
|
||||
|
||||
private fun launchSettings() {
|
||||
closeSearch()
|
||||
hideKeyboard()
|
||||
startActivity(Intent(applicationContext, SettingsActivity::class.java))
|
||||
}
|
||||
|
||||
private fun launchAbout() {
|
||||
closeSearch()
|
||||
val licenses = LICENSE_GLIDE or LICENSE_INDICATOR_FAST_SCROLL or LICENSE_AUTOFITTEXTVIEW
|
||||
|
||||
val faqItems = arrayListOf(
|
||||
@@ -496,29 +519,40 @@ class MainActivity : SimpleActivity() {
|
||||
private fun showSortingDialog(showCustomSorting: Boolean) {
|
||||
ChangeSortingDialog(this, showCustomSorting) {
|
||||
favorites_fragment?.refreshItems {
|
||||
if (isSearchOpen) {
|
||||
getCurrentFragment()?.onSearchQueryChanged(searchQuery)
|
||||
if (main_menu.isSearchOpen) {
|
||||
getCurrentFragment()?.onSearchQueryChanged(main_menu.getCurrentQuery())
|
||||
}
|
||||
}
|
||||
|
||||
contacts_fragment?.refreshItems {
|
||||
if (isSearchOpen) {
|
||||
getCurrentFragment()?.onSearchQueryChanged(searchQuery)
|
||||
if (main_menu.isSearchOpen) {
|
||||
getCurrentFragment()?.onSearchQueryChanged(main_menu.getCurrentQuery())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun closeSearch() {
|
||||
if (isSearchOpen) {
|
||||
getAllFragments().forEach {
|
||||
it?.onSearchQueryChanged("")
|
||||
private fun showFilterDialog() {
|
||||
FilterContactSourcesDialog(this) {
|
||||
favorites_fragment?.refreshItems {
|
||||
if (main_menu.isSearchOpen) {
|
||||
getCurrentFragment()?.onSearchQueryChanged(main_menu.getCurrentQuery())
|
||||
}
|
||||
}
|
||||
|
||||
contacts_fragment?.refreshItems {
|
||||
if (main_menu.isSearchOpen) {
|
||||
getCurrentFragment()?.onSearchQueryChanged(main_menu.getCurrentQuery())
|
||||
}
|
||||
}
|
||||
|
||||
recents_fragment?.refreshItems{
|
||||
if (main_menu.isSearchOpen) {
|
||||
getCurrentFragment()?.onSearchQueryChanged(main_menu.getCurrentQuery())
|
||||
}
|
||||
}
|
||||
mSearchMenuItem?.collapseActionView()
|
||||
}
|
||||
}
|
||||
|
||||
fun cacheContacts(contacts: List<SimpleContact>) {
|
||||
fun cacheContacts(contacts: List<Contact>) {
|
||||
try {
|
||||
cachedContacts.clear()
|
||||
cachedContacts.addAll(contacts)
|
||||
|
@@ -3,9 +3,9 @@ package com.simplemobiletools.dialer.activities
|
||||
import android.os.Bundle
|
||||
import com.google.gson.Gson
|
||||
import com.simplemobiletools.commons.extensions.updateTextColors
|
||||
import com.simplemobiletools.commons.helpers.ContactsHelper
|
||||
import com.simplemobiletools.commons.helpers.NavigationIcon
|
||||
import com.simplemobiletools.commons.helpers.SimpleContactsHelper
|
||||
import com.simplemobiletools.commons.models.SimpleContact
|
||||
import com.simplemobiletools.commons.models.contacts.Contact
|
||||
import com.simplemobiletools.dialer.R
|
||||
import com.simplemobiletools.dialer.adapters.SpeedDialAdapter
|
||||
import com.simplemobiletools.dialer.dialogs.SelectContactDialog
|
||||
@@ -15,16 +15,20 @@ import com.simplemobiletools.dialer.models.SpeedDial
|
||||
import kotlinx.android.synthetic.main.activity_manage_speed_dial.*
|
||||
|
||||
class ManageSpeedDialActivity : SimpleActivity(), RemoveSpeedDialListener {
|
||||
private var allContacts = ArrayList<SimpleContact>()
|
||||
private var allContacts = ArrayList<Contact>()
|
||||
private var speedDialValues = ArrayList<SpeedDial>()
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
isMaterialActivity = true
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(R.layout.activity_manage_speed_dial)
|
||||
|
||||
updateMaterialActivityViews(manage_speed_dial_coordinator, manage_speed_dial_holder, useTransparentNavigation = true, useTopSearchMenu = false)
|
||||
setupMaterialScrollListener(manage_speed_dial_scrollview, manage_speed_dial_toolbar)
|
||||
|
||||
speedDialValues = config.getSpeedDialValues()
|
||||
updateAdapter()
|
||||
SimpleContactsHelper(this).getAvailableContacts(false) { contacts ->
|
||||
ContactsHelper(this).getContacts(showOnlyContactsWithNumbers = true) { contacts ->
|
||||
allContacts = contacts
|
||||
}
|
||||
|
||||
@@ -50,7 +54,7 @@ class ManageSpeedDialActivity : SimpleActivity(), RemoveSpeedDialListener {
|
||||
|
||||
SelectContactDialog(this, allContacts) { selectedContact ->
|
||||
speedDialValues.first { it.id == clickedContact.id }.apply {
|
||||
displayName = selectedContact.name
|
||||
displayName = selectedContact.getNameToDisplay()
|
||||
number = selectedContact.phoneNumbers.first().normalizedNumber
|
||||
}
|
||||
updateAdapter()
|
||||
|
@@ -20,9 +20,14 @@ import java.util.*
|
||||
import kotlin.system.exitProcess
|
||||
|
||||
class SettingsActivity : SimpleActivity() {
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
isMaterialActivity = true
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(R.layout.activity_settings)
|
||||
|
||||
updateMaterialActivityViews(settings_coordinator, settings_holder, useTransparentNavigation = true, useTopSearchMenu = false)
|
||||
setupMaterialScrollListener(settings_nested_scrollview, settings_toolbar)
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
@@ -43,6 +48,7 @@ class SettingsActivity : SimpleActivity() {
|
||||
setupGroupSubsequentCalls()
|
||||
setupStartNameWithSurname()
|
||||
setupDialpadVibrations()
|
||||
setupDialpadNumbers()
|
||||
setupDialpadBeeps()
|
||||
setupShowCallConfirmation()
|
||||
setupDisableProximitySensor()
|
||||
@@ -51,22 +57,13 @@ class SettingsActivity : SimpleActivity() {
|
||||
updateTextColors(settings_holder)
|
||||
|
||||
arrayOf(
|
||||
settings_color_customization_label,
|
||||
settings_color_customization_section_label,
|
||||
settings_general_settings_label,
|
||||
settings_startup_label,
|
||||
settings_calls_label
|
||||
).forEach {
|
||||
it.setTextColor(getProperPrimaryColor())
|
||||
}
|
||||
|
||||
arrayOf(
|
||||
settings_color_customization_holder,
|
||||
settings_general_settings_holder,
|
||||
settings_startup_holder,
|
||||
settings_calls_holder
|
||||
).forEach {
|
||||
it.background.applyColorFilter(getProperBackgroundColor().getContrastColor())
|
||||
}
|
||||
}
|
||||
|
||||
override fun onCreateOptionsMenu(menu: Menu): Boolean {
|
||||
@@ -76,21 +73,14 @@ class SettingsActivity : SimpleActivity() {
|
||||
|
||||
private fun setupPurchaseThankYou() {
|
||||
settings_purchase_thank_you_holder.beGoneIf(isOrWasThankYouInstalled())
|
||||
|
||||
// make sure the corners at ripple fit the stroke rounded corners
|
||||
if (settings_purchase_thank_you_holder.isGone()) {
|
||||
settings_use_english_holder.background = resources.getDrawable(R.drawable.ripple_top_corners, theme)
|
||||
settings_manage_blocked_numbers_holder.background = resources.getDrawable(R.drawable.ripple_top_corners, theme)
|
||||
}
|
||||
|
||||
settings_purchase_thank_you_holder.setOnClickListener {
|
||||
launchPurchaseThankYouIntent()
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupCustomizeColors() {
|
||||
settings_customize_colors_label.text = getCustomizeColorsString()
|
||||
settings_customize_colors_holder.setOnClickListener {
|
||||
settings_color_customization_label.text = getCustomizeColorsString()
|
||||
settings_color_customization_holder.setOnClickListener {
|
||||
handleCustomizeColorsClick()
|
||||
}
|
||||
}
|
||||
@@ -108,11 +98,6 @@ class SettingsActivity : SimpleActivity() {
|
||||
private fun setupLanguage() {
|
||||
settings_language.text = Locale.getDefault().displayLanguage
|
||||
settings_language_holder.beVisibleIf(isTiramisuPlus())
|
||||
|
||||
if (settings_use_english_holder.isGone() && settings_language_holder.isGone() && settings_purchase_thank_you_holder.isGone()) {
|
||||
settings_manage_blocked_numbers_holder.background = resources.getDrawable(R.drawable.ripple_top_corners, theme)
|
||||
}
|
||||
|
||||
settings_language_holder.setOnClickListener {
|
||||
launchChangeAppLanguageIntent()
|
||||
}
|
||||
@@ -123,11 +108,6 @@ class SettingsActivity : SimpleActivity() {
|
||||
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()) {
|
||||
settings_change_date_time_format_holder.background = resources.getDrawable(R.drawable.ripple_top_corners, theme)
|
||||
}
|
||||
|
||||
settings_manage_blocked_numbers_holder.setOnClickListener {
|
||||
if (isOrWasThankYouInstalled()) {
|
||||
Intent(this, ManageBlockedNumbersActivity::class.java).apply {
|
||||
@@ -234,6 +214,14 @@ class SettingsActivity : SimpleActivity() {
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupDialpadNumbers() {
|
||||
settings_hide_dialpad_numbers.isChecked = config.hideDialpadNumbers
|
||||
settings_hide_dialpad_numbers_holder.setOnClickListener {
|
||||
settings_hide_dialpad_numbers.toggle()
|
||||
config.hideDialpadNumbers = settings_hide_dialpad_numbers.isChecked
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupDialpadBeeps() {
|
||||
settings_dialpad_beeps.isChecked = config.dialpadBeeps
|
||||
settings_dialpad_beeps_holder.setOnClickListener {
|
||||
|
@@ -28,7 +28,7 @@ import com.simplemobiletools.commons.helpers.isOreoPlus
|
||||
import com.simplemobiletools.commons.interfaces.ItemMoveCallback
|
||||
import com.simplemobiletools.commons.interfaces.ItemTouchHelperContract
|
||||
import com.simplemobiletools.commons.interfaces.StartReorderDragListener
|
||||
import com.simplemobiletools.commons.models.SimpleContact
|
||||
import com.simplemobiletools.commons.models.contacts.Contact
|
||||
import com.simplemobiletools.commons.views.MyRecyclerView
|
||||
import com.simplemobiletools.dialer.R
|
||||
import com.simplemobiletools.dialer.activities.SimpleActivity
|
||||
@@ -41,7 +41,7 @@ import java.util.*
|
||||
|
||||
class ContactsAdapter(
|
||||
activity: SimpleActivity,
|
||||
var contacts: ArrayList<SimpleContact>,
|
||||
var contacts: ArrayList<Contact>,
|
||||
recyclerView: MyRecyclerView,
|
||||
val refreshItemsListener: RefreshItemsListener? = null,
|
||||
highlightText: String = "",
|
||||
@@ -135,9 +135,9 @@ class ContactsAdapter(
|
||||
|
||||
override fun getItemCount() = contacts.size
|
||||
|
||||
fun updateItems(newItems: ArrayList<SimpleContact>, highlightText: String = "") {
|
||||
fun updateItems(newItems: ArrayList<Contact>, highlightText: String = "") {
|
||||
if (newItems.hashCode() != contacts.hashCode()) {
|
||||
contacts = newItems.clone() as ArrayList<SimpleContact>
|
||||
contacts = newItems.clone() as ArrayList<Contact>
|
||||
textToHighlight = highlightText
|
||||
notifyDataSetChanged()
|
||||
finishActMode()
|
||||
@@ -184,7 +184,7 @@ class ContactsAdapter(
|
||||
val itemsCnt = selectedKeys.size
|
||||
val firstItem = getSelectedItems().firstOrNull() ?: return
|
||||
val items = if (itemsCnt == 1) {
|
||||
"\"${firstItem.name}\""
|
||||
"\"${firstItem.getNameToDisplay()}\""
|
||||
} else {
|
||||
resources.getQuantityString(R.plurals.delete_contacts, itemsCnt, itemsCnt)
|
||||
}
|
||||
@@ -221,12 +221,10 @@ class ContactsAdapter(
|
||||
}
|
||||
}
|
||||
|
||||
private fun getSelectedItems() = contacts.filter { selectedKeys.contains(it.rawId) } as ArrayList<SimpleContact>
|
||||
private fun getSelectedItems() = contacts.filter { selectedKeys.contains(it.rawId) } as ArrayList<Contact>
|
||||
|
||||
private fun getSelectedPhoneNumber(): String? {
|
||||
val numbers = getSelectedItems().firstOrNull()?.phoneNumbers
|
||||
val primaryNumber = numbers?.firstOrNull { it.isPrimary }
|
||||
return primaryNumber?.normalizedNumber ?: numbers?.firstOrNull()?.normalizedNumber
|
||||
return getSelectedItems().firstOrNull()?.getPrimaryNumber()
|
||||
}
|
||||
|
||||
private fun tryCreateShortcut() {
|
||||
@@ -242,16 +240,16 @@ class ContactsAdapter(
|
||||
val contact = contacts.firstOrNull { selectedKeys.contains(it.rawId) } ?: return
|
||||
val manager = activity.shortcutManager
|
||||
if (manager.isRequestPinShortcutSupported) {
|
||||
SimpleContactsHelper(activity).getShortcutImage(contact.photoUri, contact.name) { image ->
|
||||
SimpleContactsHelper(activity).getShortcutImage(contact.photoUri, contact.getNameToDisplay()) { image ->
|
||||
activity.runOnUiThread {
|
||||
activity.handlePermission(PERMISSION_CALL_PHONE) { hasPermission ->
|
||||
val action = if (hasPermission) Intent.ACTION_CALL else Intent.ACTION_DIAL
|
||||
val intent = Intent(action).apply {
|
||||
data = Uri.fromParts("tel", contact.phoneNumbers.first().normalizedNumber, null)
|
||||
data = Uri.fromParts("tel", getSelectedPhoneNumber(), null)
|
||||
}
|
||||
|
||||
val shortcut = ShortcutInfo.Builder(activity, contact.hashCode().toString())
|
||||
.setShortLabel(contact.name)
|
||||
.setShortLabel(contact.getNameToDisplay())
|
||||
.setIcon(Icon.createWithBitmap(image))
|
||||
.setIntent(intent)
|
||||
.build()
|
||||
@@ -270,18 +268,19 @@ class ContactsAdapter(
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupView(view: View, contact: SimpleContact, holder: ViewHolder) {
|
||||
private fun setupView(view: View, contact: Contact, holder: ViewHolder) {
|
||||
view.apply {
|
||||
findViewById<FrameLayout>(R.id.item_contact_frame).isSelected = selectedKeys.contains(contact.rawId)
|
||||
findViewById<TextView>(R.id.item_contact_name).apply {
|
||||
setTextColor(textColor)
|
||||
setTextSize(TypedValue.COMPLEX_UNIT_PX, fontSize)
|
||||
|
||||
text = if (textToHighlight.isEmpty()) contact.name else {
|
||||
if (contact.name.contains(textToHighlight, true)) {
|
||||
contact.name.highlightTextPart(textToHighlight, properPrimaryColor)
|
||||
val name = contact.getNameToDisplay()
|
||||
text = if (textToHighlight.isEmpty()) name else {
|
||||
if (name.contains(textToHighlight, true)) {
|
||||
name.highlightTextPart(textToHighlight, properPrimaryColor)
|
||||
} else {
|
||||
contact.name.highlightTextFromNumbers(textToHighlight, properPrimaryColor)
|
||||
name.highlightTextFromNumbers(textToHighlight, properPrimaryColor)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -306,7 +305,7 @@ class ContactsAdapter(
|
||||
}
|
||||
|
||||
if (!activity.isDestroyed) {
|
||||
SimpleContactsHelper(context).loadContactImage(contact.photoUri, findViewById(R.id.item_contact_image), contact.name)
|
||||
SimpleContactsHelper(context).loadContactImage(contact.photoUri, findViewById(R.id.item_contact_image), contact.getNameToDisplay())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -0,0 +1,78 @@
|
||||
package com.simplemobiletools.dialer.adapters
|
||||
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.simplemobiletools.commons.extensions.getProperBackgroundColor
|
||||
import com.simplemobiletools.commons.extensions.getProperPrimaryColor
|
||||
import com.simplemobiletools.commons.extensions.getProperTextColor
|
||||
import com.simplemobiletools.commons.helpers.SMT_PRIVATE
|
||||
import com.simplemobiletools.commons.models.contacts.ContactSource
|
||||
import com.simplemobiletools.dialer.R
|
||||
import com.simplemobiletools.dialer.activities.SimpleActivity
|
||||
import kotlinx.android.synthetic.main.item_filter_contact_source.view.*
|
||||
|
||||
class FilterContactSourcesAdapter(
|
||||
val activity: SimpleActivity,
|
||||
private val contactSources: List<ContactSource>,
|
||||
private val displayContactSources: ArrayList<String>
|
||||
) : RecyclerView.Adapter<FilterContactSourcesAdapter.ViewHolder>() {
|
||||
|
||||
private val selectedKeys = HashSet<Int>()
|
||||
|
||||
init {
|
||||
contactSources.forEachIndexed { index, contactSource ->
|
||||
if (displayContactSources.contains(contactSource.name)) {
|
||||
selectedKeys.add(contactSource.hashCode())
|
||||
}
|
||||
|
||||
if (contactSource.type == SMT_PRIVATE && displayContactSources.contains(SMT_PRIVATE)) {
|
||||
selectedKeys.add(contactSource.hashCode())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun toggleItemSelection(select: Boolean, contactSource: ContactSource, position: Int) {
|
||||
if (select) {
|
||||
selectedKeys.add(contactSource.hashCode())
|
||||
} else {
|
||||
selectedKeys.remove(contactSource.hashCode())
|
||||
}
|
||||
|
||||
notifyItemChanged(position)
|
||||
}
|
||||
|
||||
fun getSelectedContactSources() = contactSources.filter { selectedKeys.contains(it.hashCode()) }
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
|
||||
val view = activity.layoutInflater.inflate(R.layout.item_filter_contact_source, parent, false)
|
||||
return ViewHolder(view)
|
||||
}
|
||||
|
||||
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
|
||||
val contactSource = contactSources[position]
|
||||
holder.bindView(contactSource)
|
||||
}
|
||||
|
||||
override fun getItemCount() = contactSources.size
|
||||
|
||||
inner class ViewHolder(view: View) : RecyclerView.ViewHolder(view) {
|
||||
fun bindView(contactSource: ContactSource): View {
|
||||
val isSelected = selectedKeys.contains(contactSource.hashCode())
|
||||
itemView.apply {
|
||||
filter_contact_source_checkbox.isChecked = isSelected
|
||||
filter_contact_source_checkbox.setColors(activity.getProperTextColor(), activity.getProperPrimaryColor(), activity.getProperBackgroundColor())
|
||||
val countText = if (contactSource.count >= 0) " (${contactSource.count})" else ""
|
||||
val displayName = "${contactSource.publicName}$countText"
|
||||
filter_contact_source_checkbox.text = displayName
|
||||
filter_contact_source_holder.setOnClickListener { viewClicked(!isSelected, contactSource) }
|
||||
}
|
||||
|
||||
return itemView
|
||||
}
|
||||
|
||||
private fun viewClicked(select: Boolean, contactSource: ContactSource) {
|
||||
toggleItemSelection(select, contactSource, adapterPosition)
|
||||
}
|
||||
}
|
||||
}
|
@@ -14,7 +14,7 @@ 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
|
||||
import com.simplemobiletools.commons.models.contacts.Contact
|
||||
import com.simplemobiletools.commons.views.MyRecyclerView
|
||||
import com.simplemobiletools.dialer.R
|
||||
import com.simplemobiletools.dialer.activities.MainActivity
|
||||
@@ -246,11 +246,11 @@ class RecentCallsAdapter(
|
||||
}
|
||||
}
|
||||
|
||||
private fun findContactByCall(recentCall: RecentCall): SimpleContact? {
|
||||
private fun findContactByCall(recentCall: RecentCall): Contact? {
|
||||
return (activity as MainActivity).cachedContacts.find { it.name == recentCall.name && it.doesHavePhoneNumber(recentCall.phoneNumber) }
|
||||
}
|
||||
|
||||
private fun launchContactDetailsIntent(contact: SimpleContact?) {
|
||||
private fun launchContactDetailsIntent(contact: Contact?) {
|
||||
if (contact != null) {
|
||||
activity.startContactDetailsIntent(contact)
|
||||
}
|
||||
@@ -275,13 +275,14 @@ class RecentCallsAdapter(
|
||||
private fun setupView(view: View, call: RecentCall) {
|
||||
view.apply {
|
||||
item_recents_holder.isSelected = selectedKeys.contains(call.id)
|
||||
var nameToShow = SpannableString(call.name)
|
||||
val name = findContactByCall(call)?.getNameToDisplay() ?: call.name
|
||||
var nameToShow = SpannableString(name)
|
||||
if (call.specificType.isNotEmpty()) {
|
||||
nameToShow = SpannableString("${call.name} - ${call.specificType}")
|
||||
nameToShow = SpannableString("${name} - ${call.specificType}")
|
||||
|
||||
// show specific number at "Show call details" dialog too
|
||||
if (refreshItemsListener == null) {
|
||||
nameToShow = SpannableString("${call.name} - ${call.specificType}, ${call.specificNumber}")
|
||||
nameToShow = SpannableString("${name} - ${call.specificType}, ${call.specificNumber}")
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -1,24 +1,15 @@
|
||||
package com.simplemobiletools.dialer.dialogs
|
||||
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import com.simplemobiletools.commons.activities.BaseSimpleActivity
|
||||
import com.simplemobiletools.commons.extensions.beGoneIf
|
||||
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder
|
||||
import com.simplemobiletools.commons.extensions.setupDialogStuff
|
||||
import com.simplemobiletools.commons.helpers.SORT_BY_CUSTOM
|
||||
import com.simplemobiletools.commons.helpers.SORT_BY_DATE_CREATED
|
||||
import com.simplemobiletools.commons.helpers.SORT_BY_FULL_NAME
|
||||
import com.simplemobiletools.commons.helpers.SORT_DESCENDING
|
||||
import com.simplemobiletools.commons.models.SimpleContact
|
||||
import com.simplemobiletools.commons.helpers.*
|
||||
import com.simplemobiletools.dialer.R
|
||||
import com.simplemobiletools.dialer.extensions.config
|
||||
import kotlinx.android.synthetic.main.dialog_change_sorting.view.*
|
||||
|
||||
class ChangeSortingDialog(
|
||||
val activity: BaseSimpleActivity,
|
||||
private val showCustomSorting: Boolean = false,
|
||||
private val callback: () -> Unit
|
||||
) {
|
||||
class ChangeSortingDialog(val activity: BaseSimpleActivity, private val showCustomSorting: Boolean = false, private val callback: () -> Unit) {
|
||||
private var currSorting = 0
|
||||
private var config = activity.config
|
||||
private var view = activity.layoutInflater.inflate(R.layout.dialog_change_sorting, null)
|
||||
@@ -51,17 +42,18 @@ class ChangeSortingDialog(
|
||||
}
|
||||
|
||||
val sortBtn = when {
|
||||
currSorting and SORT_BY_FIRST_NAME != 0 -> sortingRadio.sorting_dialog_radio_first_name
|
||||
currSorting and SORT_BY_MIDDLE_NAME != 0 -> sortingRadio.sorting_dialog_radio_middle_name
|
||||
currSorting and SORT_BY_SURNAME != 0 -> sortingRadio.sorting_dialog_radio_surname
|
||||
currSorting and SORT_BY_FULL_NAME != 0 -> sortingRadio.sorting_dialog_radio_full_name
|
||||
currSorting and SORT_BY_CUSTOM != 0 -> sortingRadio.sorting_dialog_radio_custom
|
||||
else -> sortingRadio.sorting_dialog_radio_date_created
|
||||
}
|
||||
|
||||
sortBtn.isChecked = true
|
||||
|
||||
if (showCustomSorting) {
|
||||
sortingRadio.sorting_dialog_radio_custom.isChecked = config.isCustomOrderSelected
|
||||
}
|
||||
|
||||
view.sorting_dialog_radio_custom.beGoneIf(!showCustomSorting)
|
||||
}
|
||||
|
||||
@@ -78,6 +70,9 @@ class ChangeSortingDialog(
|
||||
private fun dialogConfirmed() {
|
||||
val sortingRadio = view.sorting_dialog_radio_sorting
|
||||
var sorting = when (sortingRadio.checkedRadioButtonId) {
|
||||
R.id.sorting_dialog_radio_first_name -> SORT_BY_FIRST_NAME
|
||||
R.id.sorting_dialog_radio_middle_name -> SORT_BY_MIDDLE_NAME
|
||||
R.id.sorting_dialog_radio_surname -> SORT_BY_SURNAME
|
||||
R.id.sorting_dialog_radio_full_name -> SORT_BY_FULL_NAME
|
||||
R.id.sorting_dialog_radio_custom -> SORT_BY_CUSTOM
|
||||
else -> SORT_BY_DATE_CREATED
|
||||
@@ -98,7 +93,6 @@ class ChangeSortingDialog(
|
||||
config.sorting = sorting
|
||||
}
|
||||
|
||||
SimpleContact.sorting = sorting
|
||||
callback()
|
||||
}
|
||||
}
|
||||
|
@@ -0,0 +1,91 @@
|
||||
package com.simplemobiletools.dialer.dialogs
|
||||
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder
|
||||
import com.simplemobiletools.commons.extensions.getMyContactsCursor
|
||||
import com.simplemobiletools.commons.extensions.setupDialogStuff
|
||||
import com.simplemobiletools.commons.helpers.SMT_PRIVATE
|
||||
import com.simplemobiletools.commons.extensions.getVisibleContactSources
|
||||
import com.simplemobiletools.commons.helpers.ContactsHelper
|
||||
import com.simplemobiletools.commons.helpers.MyContactsContentProvider
|
||||
import com.simplemobiletools.commons.models.contacts.*
|
||||
import com.simplemobiletools.dialer.R
|
||||
import com.simplemobiletools.dialer.activities.SimpleActivity
|
||||
import com.simplemobiletools.dialer.adapters.FilterContactSourcesAdapter
|
||||
import com.simplemobiletools.dialer.extensions.config
|
||||
import kotlinx.android.synthetic.main.dialog_filter_contact_sources.view.*
|
||||
|
||||
class FilterContactSourcesDialog(val activity: SimpleActivity, private val callback: () -> Unit) {
|
||||
private var dialog: AlertDialog? = null
|
||||
private val view = activity.layoutInflater.inflate(R.layout.dialog_filter_contact_sources, null)
|
||||
private var contactSources = ArrayList<ContactSource>()
|
||||
private var contacts = ArrayList<Contact>()
|
||||
private var isContactSourcesReady = false
|
||||
private var isContactsReady = false
|
||||
|
||||
init {
|
||||
val contactHelper = ContactsHelper(activity)
|
||||
contactHelper.getContactSources { contactSources ->
|
||||
contactSources.mapTo(this@FilterContactSourcesDialog.contactSources) { it.copy() }
|
||||
isContactSourcesReady = true
|
||||
processDataIfReady()
|
||||
}
|
||||
|
||||
contactHelper.getContacts(getAll = true, showOnlyContactsWithNumbers = true) {
|
||||
it.mapTo(contacts) { contact -> contact.copy() }
|
||||
val privateCursor = activity.getMyContactsCursor(false, true)
|
||||
val privateContacts = MyContactsContentProvider.getContacts(activity, privateCursor)
|
||||
this.contacts.addAll(privateContacts)
|
||||
isContactsReady = true
|
||||
processDataIfReady()
|
||||
}
|
||||
}
|
||||
|
||||
private fun processDataIfReady() {
|
||||
if (!isContactSourcesReady) {
|
||||
return
|
||||
}
|
||||
|
||||
val contactSourcesWithCount = ArrayList<ContactSource>()
|
||||
for (contactSource in contactSources) {
|
||||
val count = if (isContactsReady) {
|
||||
contacts.filter { it.source == contactSource.name }.count()
|
||||
} else {
|
||||
-1
|
||||
}
|
||||
contactSourcesWithCount.add(contactSource.copy(count = count))
|
||||
}
|
||||
|
||||
contactSources.clear()
|
||||
contactSources.addAll(contactSourcesWithCount)
|
||||
|
||||
activity.runOnUiThread {
|
||||
val selectedSources = activity.getVisibleContactSources()
|
||||
view.filter_contact_sources_list.adapter = FilterContactSourcesAdapter(activity, contactSourcesWithCount, selectedSources)
|
||||
|
||||
if (dialog == null) {
|
||||
activity.getAlertDialogBuilder()
|
||||
.setPositiveButton(R.string.ok) { dialogInterface, i -> confirmContactSources() }
|
||||
.setNegativeButton(R.string.cancel, null)
|
||||
.apply {
|
||||
activity.setupDialogStuff(view, this) { alertDialog ->
|
||||
dialog = alertDialog
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun confirmContactSources() {
|
||||
val selectedContactSources = (view.filter_contact_sources_list.adapter as FilterContactSourcesAdapter).getSelectedContactSources()
|
||||
val ignoredContactSources = contactSources.filter { !selectedContactSources.contains(it) }.map {
|
||||
if (it.type == SMT_PRIVATE) SMT_PRIVATE else it.getFullIdentifier()
|
||||
}.toHashSet()
|
||||
|
||||
if (activity.getVisibleContactSources() != ignoredContactSources) {
|
||||
activity.config.ignoredContactSources = ignoredContactSources
|
||||
callback()
|
||||
}
|
||||
dialog?.dismiss()
|
||||
}
|
||||
}
|
@@ -3,14 +3,14 @@ package com.simplemobiletools.dialer.dialogs
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import com.reddit.indicatorfastscroll.FastScrollItemIndicator
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.models.SimpleContact
|
||||
import com.simplemobiletools.commons.models.contacts.Contact
|
||||
import com.simplemobiletools.dialer.R
|
||||
import com.simplemobiletools.dialer.activities.SimpleActivity
|
||||
import com.simplemobiletools.dialer.adapters.ContactsAdapter
|
||||
import kotlinx.android.synthetic.main.dialog_select_contact.view.*
|
||||
import java.util.*
|
||||
|
||||
class SelectContactDialog(val activity: SimpleActivity, contacts: ArrayList<SimpleContact>, val callback: (selectedContact: SimpleContact) -> Unit) {
|
||||
class SelectContactDialog(val activity: SimpleActivity, contacts: ArrayList<Contact>, val callback: (selectedContact: Contact) -> Unit) {
|
||||
private var dialog: AlertDialog? = null
|
||||
private var view = activity.layoutInflater.inflate(R.layout.dialog_select_contact, null)
|
||||
|
||||
@@ -23,7 +23,7 @@ class SelectContactDialog(val activity: SimpleActivity, contacts: ArrayList<Simp
|
||||
|
||||
letter_fastscroller.setupWithRecyclerView(select_contact_list, { position ->
|
||||
try {
|
||||
val name = contacts[position].name
|
||||
val name = contacts[position].getNameToDisplay()
|
||||
val character = if (name.isNotEmpty()) name.substring(0, 1) else ""
|
||||
FastScrollItemIndicator.Text(character.toUpperCase(Locale.getDefault()))
|
||||
} catch (e: Exception) {
|
||||
@@ -32,7 +32,7 @@ class SelectContactDialog(val activity: SimpleActivity, contacts: ArrayList<Simp
|
||||
})
|
||||
|
||||
select_contact_list.adapter = ContactsAdapter(activity, contacts, select_contact_list) {
|
||||
callback(it as SimpleContact)
|
||||
callback(it as Contact)
|
||||
dialog?.dismiss()
|
||||
}
|
||||
}
|
||||
|
@@ -15,7 +15,12 @@ import com.simplemobiletools.dialer.extensions.getAvailableSIMCardLabels
|
||||
import kotlinx.android.synthetic.main.dialog_select_sim.view.*
|
||||
|
||||
@SuppressLint("MissingPermission")
|
||||
class SelectSIMDialog(val activity: BaseSimpleActivity, val phoneNumber: String, val callback: (handle: PhoneAccountHandle?) -> Unit) {
|
||||
class SelectSIMDialog(
|
||||
val activity: BaseSimpleActivity,
|
||||
val phoneNumber: String,
|
||||
onDismiss: () -> Unit = {},
|
||||
val callback: (handle: PhoneAccountHandle?) -> Unit
|
||||
) {
|
||||
private var dialog: AlertDialog? = null
|
||||
private val view = activity.layoutInflater.inflate(R.layout.dialog_select_sim, null)
|
||||
|
||||
@@ -42,6 +47,10 @@ class SelectSIMDialog(val activity: BaseSimpleActivity, val phoneNumber: String,
|
||||
dialog = alertDialog
|
||||
}
|
||||
}
|
||||
|
||||
dialog?.setOnDismissListener {
|
||||
onDismiss()
|
||||
}
|
||||
}
|
||||
|
||||
private fun selectedSIM(handle: PhoneAccountHandle) {
|
||||
|
@@ -11,7 +11,8 @@ import android.telecom.TelecomManager
|
||||
import com.simplemobiletools.commons.activities.BaseSimpleActivity
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.helpers.*
|
||||
import com.simplemobiletools.commons.models.SimpleContact
|
||||
import com.simplemobiletools.commons.models.contacts.Contact
|
||||
import com.simplemobiletools.dialer.activities.DialerActivity
|
||||
import com.simplemobiletools.dialer.activities.SimpleActivity
|
||||
import com.simplemobiletools.dialer.dialogs.SelectSIMDialog
|
||||
|
||||
@@ -42,7 +43,7 @@ fun BaseSimpleActivity.callContactWithSim(recipient: String, useMainSIM: Boolean
|
||||
}
|
||||
|
||||
// handle private contacts differently, only Simple Contacts Pro can open them
|
||||
fun Activity.startContactDetailsIntent(contact: SimpleContact) {
|
||||
fun Activity.startContactDetailsIntent(contact: Contact) {
|
||||
val simpleContacts = "com.simplemobiletools.contacts.pro"
|
||||
val simpleContactsDebug = "com.simplemobiletools.contacts.pro.debug"
|
||||
if (contact.rawId > 1000000 && contact.contactId > 1000000 && contact.rawId == contact.contactId &&
|
||||
@@ -81,7 +82,11 @@ fun SimpleActivity.getHandleToUse(intent: Intent?, phoneNumber: String, callback
|
||||
|
||||
defaultHandle != null -> callback(defaultHandle)
|
||||
else -> {
|
||||
SelectSIMDialog(this, phoneNumber) { handle ->
|
||||
SelectSIMDialog(this, phoneNumber, onDismiss = {
|
||||
if (this is DialerActivity) {
|
||||
finish()
|
||||
}
|
||||
}) { handle ->
|
||||
callback(handle)
|
||||
}
|
||||
}
|
||||
|
@@ -5,10 +5,8 @@ import android.util.AttributeSet
|
||||
import com.reddit.indicatorfastscroll.FastScrollItemIndicator
|
||||
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.helpers.MyContactsContentProvider
|
||||
import com.simplemobiletools.commons.helpers.PERMISSION_READ_CONTACTS
|
||||
import com.simplemobiletools.commons.helpers.SimpleContactsHelper
|
||||
import com.simplemobiletools.commons.models.SimpleContact
|
||||
import com.simplemobiletools.commons.helpers.*
|
||||
import com.simplemobiletools.commons.models.contacts.Contact
|
||||
import com.simplemobiletools.dialer.R
|
||||
import com.simplemobiletools.dialer.activities.MainActivity
|
||||
import com.simplemobiletools.dialer.activities.SimpleActivity
|
||||
@@ -20,7 +18,7 @@ import kotlinx.android.synthetic.main.fragment_letters_layout.view.*
|
||||
import java.util.*
|
||||
|
||||
class ContactsFragment(context: Context, attributeSet: AttributeSet) : MyViewPagerFragment(context, attributeSet), RefreshItemsListener {
|
||||
private var allContacts = ArrayList<SimpleContact>()
|
||||
private var allContacts = ArrayList<Contact>()
|
||||
|
||||
override fun setupFragment() {
|
||||
val placeholderResId = if (context.hasPermission(PERMISSION_READ_CONTACTS)) {
|
||||
@@ -64,15 +62,16 @@ class ContactsFragment(context: Context, attributeSet: AttributeSet) : MyViewPag
|
||||
|
||||
override fun refreshItems(callback: (() -> Unit)?) {
|
||||
val privateCursor = context?.getMyContactsCursor(false, true)
|
||||
SimpleContactsHelper(context).getAvailableContacts(false) { contacts ->
|
||||
ContactsHelper(context).getContacts(showOnlyContactsWithNumbers = true) { contacts ->
|
||||
allContacts = contacts
|
||||
|
||||
val privateContacts = MyContactsContentProvider.getSimpleContacts(context, privateCursor)
|
||||
if (privateContacts.isNotEmpty()) {
|
||||
allContacts.addAll(privateContacts)
|
||||
allContacts.sort()
|
||||
if (SMT_PRIVATE !in context.baseConfig.ignoredContactSources) {
|
||||
val privateContacts = MyContactsContentProvider.getContacts(context, privateCursor)
|
||||
if (privateContacts.isNotEmpty()) {
|
||||
allContacts.addAll(privateContacts)
|
||||
allContacts.sort()
|
||||
}
|
||||
}
|
||||
|
||||
(activity as MainActivity).cacheContacts(allContacts)
|
||||
|
||||
activity?.runOnUiThread {
|
||||
@@ -82,7 +81,7 @@ class ContactsFragment(context: Context, attributeSet: AttributeSet) : MyViewPag
|
||||
}
|
||||
}
|
||||
|
||||
private fun gotContacts(contacts: ArrayList<SimpleContact>) {
|
||||
private fun gotContacts(contacts: ArrayList<Contact>) {
|
||||
setupLetterFastscroller(contacts)
|
||||
if (contacts.isEmpty()) {
|
||||
fragment_placeholder.beVisible()
|
||||
@@ -96,7 +95,7 @@ class ContactsFragment(context: Context, attributeSet: AttributeSet) : MyViewPag
|
||||
val currAdapter = fragment_list.adapter
|
||||
if (currAdapter == null) {
|
||||
ContactsAdapter(activity as SimpleActivity, contacts, fragment_list, this) {
|
||||
val contact = it as SimpleContact
|
||||
val contact = it as Contact
|
||||
activity?.startContactDetailsIntent(contact)
|
||||
}.apply {
|
||||
fragment_list.adapter = this
|
||||
@@ -111,10 +110,10 @@ class ContactsFragment(context: Context, attributeSet: AttributeSet) : MyViewPag
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupLetterFastscroller(contacts: ArrayList<SimpleContact>) {
|
||||
private fun setupLetterFastscroller(contacts: ArrayList<Contact>) {
|
||||
letter_fastscroller.setupWithRecyclerView(fragment_list, { position ->
|
||||
try {
|
||||
val name = contacts[position].name
|
||||
val name = contacts[position].getNameToDisplay()
|
||||
val character = if (name.isNotEmpty()) name.substring(0, 1) else ""
|
||||
FastScrollItemIndicator.Text(character.toUpperCase(Locale.getDefault()).normalizeString())
|
||||
} catch (e: Exception) {
|
||||
@@ -130,26 +129,37 @@ class ContactsFragment(context: Context, attributeSet: AttributeSet) : MyViewPag
|
||||
}
|
||||
|
||||
override fun onSearchQueryChanged(text: String) {
|
||||
val contacts = allContacts.filter {
|
||||
it.doesContainPhoneNumber(text) ||
|
||||
it.name.contains(text, true) ||
|
||||
it.name.normalizeString().contains(text, true) ||
|
||||
it.name.contains(text.normalizeString(), true)
|
||||
}.sortedByDescending {
|
||||
it.name.startsWith(text, true)
|
||||
}.toMutableList() as ArrayList<SimpleContact>
|
||||
val shouldNormalize = text.normalizeString() == text
|
||||
val filtered = allContacts.filter {
|
||||
getProperText(it.getNameToDisplay(), shouldNormalize).contains(text, true) ||
|
||||
getProperText(it.nickname, shouldNormalize).contains(text, true) ||
|
||||
it.phoneNumbers.any {
|
||||
text.normalizePhoneNumber().isNotEmpty() && it.normalizedNumber.contains(text.normalizePhoneNumber(), true)
|
||||
} ||
|
||||
it.emails.any { it.value.contains(text, true) } ||
|
||||
it.addresses.any { getProperText(it.value, shouldNormalize).contains(text, true) } ||
|
||||
it.IMs.any { it.value.contains(text, true) } ||
|
||||
getProperText(it.notes, shouldNormalize).contains(text, true) ||
|
||||
getProperText(it.organization.company, shouldNormalize).contains(text, true) ||
|
||||
getProperText(it.organization.jobPosition, shouldNormalize).contains(text, true) ||
|
||||
it.websites.any { it.contains(text, true) }
|
||||
} as ArrayList
|
||||
|
||||
fragment_placeholder.beVisibleIf(contacts.isEmpty())
|
||||
(fragment_list.adapter as? ContactsAdapter)?.updateItems(contacts, text)
|
||||
setupLetterFastscroller(contacts)
|
||||
}
|
||||
filtered.sortBy {
|
||||
val nameToDisplay = it.getNameToDisplay()
|
||||
!getProperText(nameToDisplay, shouldNormalize).startsWith(text, true) && !nameToDisplay.contains(text, true)
|
||||
}
|
||||
|
||||
fragment_placeholder.beVisibleIf(filtered.isEmpty())
|
||||
(fragment_list.adapter as? ContactsAdapter)?.updateItems(filtered, text)
|
||||
setupLetterFastscroller(filtered)
|
||||
}
|
||||
private fun requestReadContactsPermission() {
|
||||
activity?.handlePermission(PERMISSION_READ_CONTACTS) {
|
||||
if (it) {
|
||||
fragment_placeholder.text = context.getString(R.string.no_contacts_found)
|
||||
fragment_placeholder_2.text = context.getString(R.string.create_new_contact)
|
||||
SimpleContactsHelper(context).getAvailableContacts(false) { contacts ->
|
||||
ContactsHelper(context).getContacts(showOnlyContactsWithNumbers = true) { contacts ->
|
||||
activity?.runOnUiThread {
|
||||
gotContacts(contacts)
|
||||
}
|
||||
|
@@ -8,11 +8,12 @@ import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter
|
||||
import com.simplemobiletools.commons.dialogs.CallConfirmationDialog
|
||||
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.helpers.ContactsHelper
|
||||
import com.simplemobiletools.commons.helpers.MyContactsContentProvider
|
||||
import com.simplemobiletools.commons.helpers.PERMISSION_READ_CONTACTS
|
||||
import com.simplemobiletools.commons.helpers.SimpleContactsHelper
|
||||
import com.simplemobiletools.commons.helpers.SMT_PRIVATE
|
||||
import com.simplemobiletools.commons.models.RadioItem
|
||||
import com.simplemobiletools.commons.models.SimpleContact
|
||||
import com.simplemobiletools.commons.models.contacts.Contact
|
||||
import com.simplemobiletools.dialer.R
|
||||
import com.simplemobiletools.dialer.activities.SimpleActivity
|
||||
import com.simplemobiletools.dialer.adapters.ContactsAdapter
|
||||
@@ -23,7 +24,7 @@ import kotlinx.android.synthetic.main.fragment_letters_layout.view.*
|
||||
import java.util.*
|
||||
|
||||
class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPagerFragment(context, attributeSet), RefreshItemsListener {
|
||||
private var allContacts = ArrayList<SimpleContact>()
|
||||
private var allContacts = ArrayList<Contact>()
|
||||
|
||||
override fun setupFragment() {
|
||||
val placeholderResId = if (context.hasPermission(PERMISSION_READ_CONTACTS)) {
|
||||
@@ -48,18 +49,25 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa
|
||||
}
|
||||
|
||||
override fun refreshItems(callback: (() -> Unit)?) {
|
||||
val privateCursor = context?.getMyContactsCursor(true, true)
|
||||
SimpleContactsHelper(context).getAvailableContacts(true) { contacts ->
|
||||
ContactsHelper(context).getContacts(showOnlyContactsWithNumbers = true) { contacts ->
|
||||
allContacts = contacts
|
||||
|
||||
val privateContacts = MyContactsContentProvider.getSimpleContacts(context, privateCursor)
|
||||
if (privateContacts.isNotEmpty()) {
|
||||
allContacts.addAll(privateContacts)
|
||||
allContacts.sort()
|
||||
if (SMT_PRIVATE !in context.baseConfig.ignoredContactSources) {
|
||||
val privateCursor = context?.getMyContactsCursor(true, true)
|
||||
val privateContacts = MyContactsContentProvider.getContacts(context, privateCursor).map {
|
||||
it.copy(starred = 1)
|
||||
}
|
||||
if (privateContacts.isNotEmpty()) {
|
||||
allContacts.addAll(privateContacts)
|
||||
allContacts.sort()
|
||||
}
|
||||
}
|
||||
val favorites = contacts.filter { it.starred == 1 } as ArrayList<Contact>
|
||||
|
||||
if (activity!!.config.isCustomOrderSelected) {
|
||||
allContacts = sortByCustomOrder(allContacts)
|
||||
allContacts = if (activity!!.config.isCustomOrderSelected) {
|
||||
sortByCustomOrder(favorites)
|
||||
} else {
|
||||
favorites
|
||||
}
|
||||
|
||||
activity?.runOnUiThread {
|
||||
@@ -69,7 +77,7 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa
|
||||
}
|
||||
}
|
||||
|
||||
private fun gotContacts(contacts: ArrayList<SimpleContact>) {
|
||||
private fun gotContacts(contacts: ArrayList<Contact>) {
|
||||
setupLetterFastscroller(contacts)
|
||||
if (contacts.isEmpty()) {
|
||||
fragment_placeholder.beVisible()
|
||||
@@ -89,11 +97,11 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa
|
||||
enableDrag = true,
|
||||
) {
|
||||
if (context.config.showCallConfirmation) {
|
||||
CallConfirmationDialog(activity as SimpleActivity, (it as SimpleContact).name) {
|
||||
CallConfirmationDialog(activity as SimpleActivity, (it as Contact).getNameToDisplay()) {
|
||||
callContact(it)
|
||||
}
|
||||
} else {
|
||||
callContact(it as SimpleContact)
|
||||
callContact(it as Contact)
|
||||
}
|
||||
}.apply {
|
||||
fragment_list.adapter = this
|
||||
@@ -117,7 +125,7 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa
|
||||
}
|
||||
}
|
||||
|
||||
private fun sortByCustomOrder(favorites: List<SimpleContact>): ArrayList<SimpleContact> {
|
||||
private fun sortByCustomOrder(favorites: List<Contact>): ArrayList<Contact> {
|
||||
val favoritesOrder = activity!!.config.favoritesContactsOrder
|
||||
|
||||
if (favoritesOrder.isEmpty()) {
|
||||
@@ -131,7 +139,7 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa
|
||||
return ArrayList(sorted)
|
||||
}
|
||||
|
||||
private fun saveCustomOrderToPrefs(items: ArrayList<SimpleContact>) {
|
||||
private fun saveCustomOrderToPrefs(items: ArrayList<Contact>) {
|
||||
activity?.apply {
|
||||
val orderIds = items.map { it.contactId }
|
||||
val orderGsonString = Gson().toJson(orderIds)
|
||||
@@ -139,9 +147,11 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa
|
||||
}
|
||||
}
|
||||
|
||||
private fun callContact(simpleContact: SimpleContact) {
|
||||
private fun callContact(simpleContact: Contact) {
|
||||
val phoneNumbers = simpleContact.phoneNumbers
|
||||
if (phoneNumbers.size <= 1) {
|
||||
if (phoneNumbers.isEmpty()) {
|
||||
return
|
||||
} else if (phoneNumbers.size <= 1) {
|
||||
activity?.launchCallIntent(phoneNumbers.first().normalizedNumber)
|
||||
} else {
|
||||
val primaryNumber = simpleContact.phoneNumbers.find { it.isPrimary }
|
||||
@@ -161,10 +171,10 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupLetterFastscroller(contacts: ArrayList<SimpleContact>) {
|
||||
private fun setupLetterFastscroller(contacts: ArrayList<Contact>) {
|
||||
letter_fastscroller.setupWithRecyclerView(fragment_list, { position ->
|
||||
try {
|
||||
val name = contacts[position].name
|
||||
val name = contacts[position].getNameToDisplay()
|
||||
val character = if (name.isNotEmpty()) name.substring(0, 1) else ""
|
||||
FastScrollItemIndicator.Text(character.toUpperCase(Locale.getDefault()).normalizeString())
|
||||
} catch (e: Exception) {
|
||||
@@ -184,7 +194,7 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa
|
||||
it.name.contains(text, true) || it.doesContainPhoneNumber(text)
|
||||
}.sortedByDescending {
|
||||
it.name.startsWith(text, true)
|
||||
}.toMutableList() as ArrayList<SimpleContact>
|
||||
}.toMutableList() as ArrayList<Contact>
|
||||
|
||||
fragment_placeholder.beVisibleIf(contacts.isEmpty())
|
||||
(fragment_list.adapter as? ContactsAdapter)?.updateItems(contacts, text)
|
||||
|
@@ -6,7 +6,11 @@ import android.widget.RelativeLayout
|
||||
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter
|
||||
import com.simplemobiletools.commons.extensions.getProperPrimaryColor
|
||||
import com.simplemobiletools.commons.extensions.getProperTextColor
|
||||
import com.simplemobiletools.commons.helpers.SORT_BY_FIRST_NAME
|
||||
import com.simplemobiletools.commons.helpers.SORT_BY_SURNAME
|
||||
import com.simplemobiletools.dialer.activities.MainActivity
|
||||
import com.simplemobiletools.dialer.activities.SimpleActivity
|
||||
import com.simplemobiletools.dialer.adapters.ContactsAdapter
|
||||
import com.simplemobiletools.dialer.extensions.config
|
||||
import com.simplemobiletools.dialer.helpers.Config
|
||||
import kotlinx.android.synthetic.main.fragment_letters_layout.view.*
|
||||
@@ -27,6 +31,15 @@ abstract class MyViewPagerFragment(context: Context, attributeSet: AttributeSet)
|
||||
}
|
||||
}
|
||||
|
||||
fun startNameWithSurnameChanged(startNameWithSurname: Boolean) {
|
||||
if (this !is RecentsFragment) {
|
||||
(fragment_list.adapter as? ContactsAdapter)?.apply {
|
||||
config.sorting = if (startNameWithSurname) SORT_BY_SURNAME else SORT_BY_FIRST_NAME
|
||||
(this@MyViewPagerFragment.activity!! as MainActivity).refreshFragments()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun finishActMode() {
|
||||
(fragment_list?.adapter as? MyRecyclerViewAdapter)?.finishActMode()
|
||||
(recents_list?.adapter as? MyRecyclerViewAdapter)?.finishActMode()
|
||||
|
@@ -4,9 +4,10 @@ import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import com.simplemobiletools.commons.dialogs.CallConfirmationDialog
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.helpers.ContactsHelper
|
||||
import com.simplemobiletools.commons.helpers.MyContactsContentProvider
|
||||
import com.simplemobiletools.commons.helpers.PERMISSION_READ_CALL_LOG
|
||||
import com.simplemobiletools.commons.helpers.SimpleContactsHelper
|
||||
import com.simplemobiletools.commons.helpers.SMT_PRIVATE
|
||||
import com.simplemobiletools.dialer.R
|
||||
import com.simplemobiletools.dialer.activities.SimpleActivity
|
||||
import com.simplemobiletools.dialer.adapters.RecentCallsAdapter
|
||||
@@ -49,30 +50,38 @@ class RecentsFragment(context: Context, attributeSet: AttributeSet) : MyViewPage
|
||||
val privateCursor = context?.getMyContactsCursor(false, true)
|
||||
val groupSubsequentCalls = context?.config?.groupSubsequentCalls ?: false
|
||||
RecentsHelper(context).getRecentCalls(groupSubsequentCalls) { recents ->
|
||||
SimpleContactsHelper(context).getAvailableContacts(false) { contacts ->
|
||||
val privateContacts = MyContactsContentProvider.getSimpleContacts(context, privateCursor)
|
||||
ContactsHelper(context).getContacts(showOnlyContactsWithNumbers = true) { contacts ->
|
||||
val privateContacts = MyContactsContentProvider.getContacts(context, privateCursor)
|
||||
|
||||
recents.filter { it.phoneNumber == it.name }.forEach { recent ->
|
||||
var wasNameFilled = false
|
||||
if (privateContacts.isNotEmpty()) {
|
||||
val privateContact = privateContacts.firstOrNull { it.doesContainPhoneNumber(recent.phoneNumber) }
|
||||
if (privateContact != null) {
|
||||
recent.name = privateContact.name
|
||||
recent.name = privateContact.getNameToDisplay()
|
||||
wasNameFilled = true
|
||||
}
|
||||
}
|
||||
|
||||
if (!wasNameFilled) {
|
||||
val contact = contacts.firstOrNull { it.phoneNumbers.first().normalizedNumber == recent.phoneNumber }
|
||||
val contact = contacts.filter { it.phoneNumbers.isNotEmpty() }.firstOrNull { it.phoneNumbers.first().normalizedNumber == recent.phoneNumber }
|
||||
if (contact != null) {
|
||||
recent.name = contact.name
|
||||
recent.name = contact.getNameToDisplay()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
allRecentCalls = recents
|
||||
|
||||
// hide private contacts from recent calls
|
||||
if (SMT_PRIVATE in context.baseConfig.ignoredContactSources) {
|
||||
allRecentCalls = recents.filterNot { recent ->
|
||||
val privateNumbers = privateContacts.flatMap { it.phoneNumbers }.map { it.value }
|
||||
recent.phoneNumber in privateNumbers
|
||||
} as ArrayList
|
||||
}
|
||||
|
||||
activity?.runOnUiThread {
|
||||
gotRecents(recents)
|
||||
gotRecents(allRecentCalls)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -5,8 +5,8 @@ import android.net.Uri
|
||||
import android.telecom.Call
|
||||
import com.simplemobiletools.commons.extensions.getMyContactsCursor
|
||||
import com.simplemobiletools.commons.extensions.getPhoneNumberTypeText
|
||||
import com.simplemobiletools.commons.helpers.ContactsHelper
|
||||
import com.simplemobiletools.commons.helpers.MyContactsContentProvider
|
||||
import com.simplemobiletools.commons.helpers.SimpleContactsHelper
|
||||
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
|
||||
import com.simplemobiletools.dialer.R
|
||||
import com.simplemobiletools.dialer.extensions.isConference
|
||||
@@ -35,8 +35,8 @@ fun getCallContact(context: Context, call: Call?, callback: (CallContact) -> Uni
|
||||
val uri = Uri.decode(handle)
|
||||
if (uri.startsWith("tel:")) {
|
||||
val number = uri.substringAfter("tel:")
|
||||
SimpleContactsHelper(context).getAvailableContacts(false) { contacts ->
|
||||
val privateContacts = MyContactsContentProvider.getSimpleContacts(context, privateCursor)
|
||||
ContactsHelper(context).getContacts(showOnlyContactsWithNumbers = true) { contacts ->
|
||||
val privateContacts = MyContactsContentProvider.getContacts(context, privateCursor)
|
||||
if (privateContacts.isNotEmpty()) {
|
||||
contacts.addAll(privateContacts)
|
||||
}
|
||||
@@ -53,7 +53,7 @@ fun getCallContact(context: Context, call: Call?, callback: (CallContact) -> Uni
|
||||
callContact.number = number
|
||||
val contact = contacts.firstOrNull { it.doesHavePhoneNumber(number) }
|
||||
if (contact != null) {
|
||||
callContact.name = contact.name
|
||||
callContact.name = contact.getNameToDisplay()
|
||||
callContact.photoUri = contact.photoUri
|
||||
|
||||
if (contact.phoneNumbers.size > 1) {
|
||||
|
@@ -1,13 +1,11 @@
|
||||
package com.simplemobiletools.dialer.helpers
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.os.Handler
|
||||
import android.telecom.Call
|
||||
import android.telecom.CallAudioState
|
||||
import android.telecom.InCallService
|
||||
import android.telecom.VideoProfile
|
||||
import com.simplemobiletools.dialer.extensions.config
|
||||
import com.simplemobiletools.dialer.extensions.getStateCompat
|
||||
import com.simplemobiletools.dialer.extensions.hasCapability
|
||||
import com.simplemobiletools.dialer.extensions.isConference
|
||||
@@ -156,9 +154,10 @@ class CallManager {
|
||||
|
||||
fun reject() {
|
||||
if (call != null) {
|
||||
if (getState() == Call.STATE_RINGING) {
|
||||
val state = getState()
|
||||
if (state == Call.STATE_RINGING) {
|
||||
call!!.reject(false, null)
|
||||
} else {
|
||||
} else if (state != Call.STATE_DISCONNECTED && state != Call.STATE_DISCONNECTING) {
|
||||
call!!.disconnect()
|
||||
}
|
||||
}
|
||||
@@ -201,15 +200,11 @@ class CallManager {
|
||||
|
||||
fun getState() = getPrimaryCall()?.getStateCompat()
|
||||
|
||||
fun keypad(context: Context, char: Char) {
|
||||
call?.playDtmfTone(char)
|
||||
if (context.config.dialpadBeeps) {
|
||||
fun keypad(char: Char) {
|
||||
call?.playDtmfTone(char)
|
||||
Handler().postDelayed({
|
||||
call?.stopDtmfTone()
|
||||
}, DIALPAD_TONE_LENGTH_MS)
|
||||
} else {
|
||||
call?.stopDtmfTone()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -13,11 +13,6 @@ class Config(context: Context) : BaseConfig(context) {
|
||||
companion object {
|
||||
fun newInstance(context: Context) = Config(context)
|
||||
}
|
||||
|
||||
var speedDial: String
|
||||
get() = prefs.getString(SPEED_DIAL, "")!!
|
||||
set(speedDial) = prefs.edit().putString(SPEED_DIAL, speedDial).apply()
|
||||
|
||||
fun getSpeedDialValues(): ArrayList<SpeedDial> {
|
||||
val speedDialType = object : TypeToken<List<SpeedDial>>() {}.type
|
||||
val speedDialValues = Gson().fromJson<ArrayList<SpeedDial>>(speedDial, speedDialType) ?: ArrayList(1)
|
||||
@@ -54,6 +49,9 @@ class Config(context: Context) : BaseConfig(context) {
|
||||
fun removeCustomSIM(number: String) {
|
||||
prefs.edit().remove(REMEMBER_SIM_PREFIX + number).apply()
|
||||
}
|
||||
var showTabs: Int
|
||||
get() = prefs.getInt(SHOW_TABS, ALL_TABS_MASK)
|
||||
set(showTabs) = prefs.edit().putInt(SHOW_TABS, showTabs).apply()
|
||||
|
||||
var groupSubsequentCalls: Boolean
|
||||
get() = prefs.getBoolean(GROUP_SUBSEQUENT_CALLS, true)
|
||||
@@ -71,18 +69,6 @@ class Config(context: Context) : BaseConfig(context) {
|
||||
get() = prefs.getBoolean(DISABLE_SWIPE_TO_ANSWER, false)
|
||||
set(disableSwipeToAnswer) = prefs.edit().putBoolean(DISABLE_SWIPE_TO_ANSWER, disableSwipeToAnswer).apply()
|
||||
|
||||
var showTabs: Int
|
||||
get() = prefs.getInt(SHOW_TABS, ALL_TABS_MASK)
|
||||
set(showTabs) = prefs.edit().putInt(SHOW_TABS, showTabs).apply()
|
||||
|
||||
var favoritesContactsOrder: String
|
||||
get() = prefs.getString(FAVORITES_CONTACTS_ORDER, "")!!
|
||||
set(order) = prefs.edit().putString(FAVORITES_CONTACTS_ORDER, order).apply()
|
||||
|
||||
var isCustomOrderSelected: Boolean
|
||||
get() = prefs.getBoolean(FAVORITES_CUSTOM_ORDER_SELECTED, false)
|
||||
set(selected) = prefs.edit().putBoolean(FAVORITES_CUSTOM_ORDER_SELECTED, selected).apply()
|
||||
|
||||
var wasOverlaySnackbarConfirmed: Boolean
|
||||
get() = prefs.getBoolean(WAS_OVERLAY_SNACKBAR_CONFIRMED, false)
|
||||
set(wasOverlaySnackbarConfirmed) = prefs.edit().putBoolean(WAS_OVERLAY_SNACKBAR_CONFIRMED, wasOverlaySnackbarConfirmed).apply()
|
||||
@@ -91,6 +77,10 @@ class Config(context: Context) : BaseConfig(context) {
|
||||
get() = prefs.getBoolean(DIALPAD_VIBRATION, true)
|
||||
set(dialpadVibration) = prefs.edit().putBoolean(DIALPAD_VIBRATION, dialpadVibration).apply()
|
||||
|
||||
var hideDialpadNumbers: Boolean
|
||||
get() = prefs.getBoolean(HIDE_DIALPAD_NUMBERS, false)
|
||||
set(hideDialpadNumbers) = prefs.edit().putBoolean(HIDE_DIALPAD_NUMBERS, hideDialpadNumbers).apply()
|
||||
|
||||
var dialpadBeeps: Boolean
|
||||
get() = prefs.getBoolean(DIALPAD_BEEPS, true)
|
||||
set(dialpadBeeps) = prefs.edit().putBoolean(DIALPAD_BEEPS, dialpadBeeps).apply()
|
||||
|
@@ -17,6 +17,7 @@ const val FAVORITES_CUSTOM_ORDER_SELECTED = "favorites_custom_order_selected"
|
||||
const val WAS_OVERLAY_SNACKBAR_CONFIRMED = "was_overlay_snackbar_confirmed"
|
||||
const val DIALPAD_VIBRATION = "dialpad_vibration"
|
||||
const val DIALPAD_BEEPS = "dialpad_beeps"
|
||||
const val HIDE_DIALPAD_NUMBERS = "hide_dialpad_numbers"
|
||||
const val ALWAYS_SHOW_FULLSCREEN = "always_show_fullscreen"
|
||||
const val ALL_TABS_MASK = TAB_CONTACTS or TAB_FAVORITES or TAB_CALL_HISTORY
|
||||
|
||||
|
@@ -5,7 +5,7 @@ import android.content.Context
|
||||
import android.provider.CallLog.Calls
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.helpers.*
|
||||
import com.simplemobiletools.commons.models.SimpleContact
|
||||
import com.simplemobiletools.commons.models.contacts.Contact
|
||||
import com.simplemobiletools.dialer.R
|
||||
import com.simplemobiletools.dialer.activities.SimpleActivity
|
||||
import com.simplemobiletools.dialer.extensions.getAvailableSIMCardLabels
|
||||
@@ -24,8 +24,8 @@ class RecentsHelper(private val context: Context) {
|
||||
return@ensureBackgroundThread
|
||||
}
|
||||
|
||||
SimpleContactsHelper(context).getAvailableContacts(false) { contacts ->
|
||||
val privateContacts = MyContactsContentProvider.getSimpleContacts(context, privateCursor)
|
||||
ContactsHelper(context).getContacts(showOnlyContactsWithNumbers = true) { contacts ->
|
||||
val privateContacts = MyContactsContentProvider.getContacts(context, privateCursor)
|
||||
if (privateContacts.isNotEmpty()) {
|
||||
contacts.addAll(privateContacts)
|
||||
}
|
||||
@@ -36,7 +36,8 @@ class RecentsHelper(private val context: Context) {
|
||||
}
|
||||
|
||||
@SuppressLint("NewApi")
|
||||
private fun getRecents(contacts: ArrayList<SimpleContact>, groupSubsequentCalls: Boolean, callback: (ArrayList<RecentCall>) -> Unit) {
|
||||
private fun getRecents(contacts: ArrayList<Contact>, groupSubsequentCalls: Boolean, callback: (ArrayList<RecentCall>) -> Unit) {
|
||||
|
||||
var recentCalls = ArrayList<RecentCall>()
|
||||
var previousRecentCallFrom = ""
|
||||
var previousStartTS = 0
|
||||
@@ -96,11 +97,11 @@ class RecentsHelper(private val context: Context) {
|
||||
} else {
|
||||
val normalizedNumber = number.normalizePhoneNumber()
|
||||
if (normalizedNumber!!.length >= COMPARABLE_PHONE_NUMBER_LENGTH) {
|
||||
name = contacts.firstOrNull { contact ->
|
||||
name = contacts.filter { it.phoneNumbers.isNotEmpty() }.firstOrNull { contact ->
|
||||
val curNumber = contact.phoneNumbers.first().normalizedNumber
|
||||
if (curNumber.length >= COMPARABLE_PHONE_NUMBER_LENGTH) {
|
||||
if (curNumber.substring(curNumber.length - COMPARABLE_PHONE_NUMBER_LENGTH) == normalizedNumber.substring(normalizedNumber.length - COMPARABLE_PHONE_NUMBER_LENGTH)) {
|
||||
contactsNumbersMap[number] = contact.name
|
||||
contactsNumbersMap[number] = contact.getNameToDisplay()
|
||||
return@firstOrNull true
|
||||
}
|
||||
}
|
||||
|
@@ -6,29 +6,22 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:id="@+id/conference_app_bar_layout"
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/conference_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/conference_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:background="@color/color_primary"
|
||||
app:title="@string/conference"
|
||||
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:background="@color/color_primary"
|
||||
app:title="@string/conference"
|
||||
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/conference_frame"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
android:layout_marginTop="?attr/actionBarSize">
|
||||
|
||||
<com.simplemobiletools.commons.views.MyRecyclerView
|
||||
android:id="@+id/conference_calls_list"
|
||||
android:id="@+id/conference_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:clipToPadding="false"
|
||||
|
@@ -5,29 +5,22 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:id="@+id/dialpad_app_bar_layout"
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/dialpad_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/dialpad_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:background="@color/color_primary"
|
||||
app:menu="@menu/menu_dialpad"
|
||||
app:title="@string/dialpad"
|
||||
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:background="@color/color_primary"
|
||||
app:menu="@menu/menu_dialpad"
|
||||
app:title="@string/dialpad"
|
||||
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/dialpad_holder"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:focusableInTouchMode="true"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
android:layout_marginTop="?attr/actionBarSize"
|
||||
android:focusableInTouchMode="true">
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/dialpad_placeholder"
|
||||
@@ -86,7 +79,7 @@
|
||||
android:id="@+id/dialpad_input"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/activity_margin"
|
||||
android:layout_marginStart="64dp"
|
||||
android:gravity="center"
|
||||
android:inputType="phone"
|
||||
android:layoutDirection="ltr"
|
||||
@@ -98,13 +91,13 @@
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/dialpad_clear_char"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="@dimen/normal_icon_size"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginEnd="@dimen/activity_margin"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:layoutDirection="ltr"
|
||||
android:paddingStart="@dimen/activity_margin"
|
||||
android:paddingEnd="@dimen/activity_margin"
|
||||
android:paddingStart="@dimen/normal_margin"
|
||||
android:paddingEnd="@dimen/normal_margin"
|
||||
android:src="@drawable/ic_clear_vector"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/dialpad_input"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
@@ -122,7 +115,7 @@
|
||||
android:layout_width="@dimen/dialpad_button_size"
|
||||
android:layout_height="@dimen/dialpad_button_size"
|
||||
android:layout_marginBottom="@dimen/activity_margin"
|
||||
android:background="@drawable/circle_background"
|
||||
android:background="@drawable/circle_button_background_ripple"
|
||||
android:contentDescription="@string/call_number"
|
||||
android:elevation="@dimen/medium_margin"
|
||||
android:padding="@dimen/normal_margin"
|
||||
@@ -136,7 +129,7 @@
|
||||
android:layout_width="@dimen/dialpad_button_size_small"
|
||||
android:layout_height="@dimen/dialpad_button_size_small"
|
||||
android:layout_marginBottom="@dimen/activity_margin"
|
||||
android:background="@drawable/circle_background"
|
||||
android:background="@drawable/circle_button_background_ripple"
|
||||
android:contentDescription="@string/call_number"
|
||||
android:elevation="@dimen/medium_margin"
|
||||
android:padding="@dimen/normal_margin"
|
||||
|
@@ -5,27 +5,18 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:id="@+id/main_app_bar_layout"
|
||||
<com.simplemobiletools.commons.views.MySearchMenu
|
||||
android:id="@+id/main_menu"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/main_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:background="@color/color_primary"
|
||||
app:menu="@menu/menu"
|
||||
app:title="@string/app_launcher_name"
|
||||
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
android:layout_height="wrap_content" />
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/main_holder"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
android:layout_marginTop="?attr/actionBarSize"
|
||||
android:fillViewport="true"
|
||||
android:scrollbars="none">
|
||||
|
||||
<com.simplemobiletools.commons.views.MyViewPager
|
||||
android:id="@+id/view_pager"
|
||||
|
@@ -6,29 +6,24 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:id="@+id/manage_speed_dial_app_bar_layout"
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/manage_speed_dial_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:background="@color/color_primary"
|
||||
app:title="@string/manage_speed_dial"
|
||||
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/manage_speed_dial_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:background="@color/color_primary"
|
||||
app:title="@string/manage_speed_dial"
|
||||
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<ScrollView
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:id="@+id/manage_speed_dial_scrollview"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
android:layout_marginTop="?attr/actionBarSize"
|
||||
android:fillViewport="true"
|
||||
android:scrollbars="none">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/manage_speed_dial_wrapper"
|
||||
android:id="@+id/manage_speed_dial_holder"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
@@ -51,5 +46,5 @@
|
||||
app:layoutManager="com.simplemobiletools.commons.views.MyLinearLayoutManager" />
|
||||
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
@@ -6,29 +6,21 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:id="@+id/settings_app_bar_layout"
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/settings_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/settings_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:background="@color/color_primary"
|
||||
app:layout_scrollFlags="scroll|enterAlways"
|
||||
app:title="@string/settings"
|
||||
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:background="@color/color_primary"
|
||||
app:title="@string/settings"
|
||||
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:id="@+id/settings_scrollview"
|
||||
android:id="@+id/settings_nested_scrollview"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="?attr/actionBarSize"
|
||||
android:fillViewport="true"
|
||||
android:scrollbars="none"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
android:scrollbars="none">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/settings_holder"
|
||||
@@ -37,36 +29,32 @@
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/settings_color_customization_label"
|
||||
android:id="@+id/settings_color_customization_section_label"
|
||||
style="@style/SettingsSectionLabelStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/color_customization" />
|
||||
|
||||
<LinearLayout
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/settings_color_customization_holder"
|
||||
style="@style/SettingsHolderTextViewOneLinerStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="@dimen/medium_margin"
|
||||
android:background="@drawable/section_holder_stroke"
|
||||
android:orientation="vertical">
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_customize_colors_holder"
|
||||
style="@style/SettingsHolderTextViewOneLinerStyle"
|
||||
android:layout_width="match_parent"
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_color_customization_label"
|
||||
style="@style/SettingsTextLabelStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/ripple_all_corners">
|
||||
android:text="@string/customize_colors"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_customize_colors_label"
|
||||
style="@style/SettingsTextLabelStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/customize_colors" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
</LinearLayout>
|
||||
<include
|
||||
android:id="@+id/settings_color_customization_divider"
|
||||
layout="@layout/divider" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/settings_general_settings_label"
|
||||
@@ -75,190 +63,190 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/general_settings" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/settings_general_settings_holder"
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_purchase_thank_you_holder"
|
||||
style="@style/SettingsHolderTextViewOneLinerStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="@dimen/medium_margin"
|
||||
android:background="@drawable/section_holder_stroke"
|
||||
android:orientation="vertical">
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_purchase_thank_you_holder"
|
||||
style="@style/SettingsHolderTextViewOneLinerStyle"
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_purchase_thank_you_label"
|
||||
style="@style/SettingsTextLabelStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/purchase_simple_thank_you" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_use_english_holder"
|
||||
style="@style/SettingsHolderCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||
android:id="@+id/settings_use_english"
|
||||
style="@style/SettingsCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/ripple_top_corners">
|
||||
android:text="@string/use_english_language" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_purchase_thank_you_label"
|
||||
style="@style/SettingsTextLabelStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/purchase_simple_thank_you" />
|
||||
</RelativeLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_language_holder"
|
||||
style="@style/SettingsHolderTextViewStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_use_english_holder"
|
||||
style="@style/SettingsHolderCheckboxStyle"
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_language_label"
|
||||
style="@style/SettingsTextLabelStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/language" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_language"
|
||||
style="@style/SettingsTextValueStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/settings_language_label"
|
||||
tools:text="English" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_manage_blocked_numbers_holder"
|
||||
style="@style/SettingsHolderTextViewOneLinerStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_manage_blocked_numbers_label"
|
||||
style="@style/SettingsTextLabelStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/manage_blocked_numbers" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_change_date_time_format_holder"
|
||||
style="@style/SettingsHolderTextViewOneLinerStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_change_date_time_format_label"
|
||||
style="@style/SettingsTextLabelStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/change_date_and_time_format" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_manage_speed_dial_holder"
|
||||
style="@style/SettingsHolderTextViewOneLinerStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_manage_speed_dial_label"
|
||||
style="@style/SettingsTextLabelStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/manage_speed_dial" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_font_size_holder"
|
||||
style="@style/SettingsHolderTextViewStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_font_size_label"
|
||||
style="@style/SettingsTextLabelStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/font_size" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_font_size"
|
||||
style="@style/SettingsTextValueStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/ripple_background">
|
||||
android:layout_below="@+id/settings_font_size_label"
|
||||
tools:text="@string/medium" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||
android:id="@+id/settings_use_english"
|
||||
style="@style/SettingsCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/use_english_language" />
|
||||
</RelativeLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_start_name_with_surname_holder"
|
||||
style="@style/SettingsHolderCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_language_holder"
|
||||
style="@style/SettingsHolderTextViewStyle"
|
||||
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||
android:id="@+id/settings_start_name_with_surname"
|
||||
style="@style/SettingsCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/ripple_background">
|
||||
android:text="@string/start_name_with_surname" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_language_label"
|
||||
style="@style/SettingsTextLabelStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/language" />
|
||||
</RelativeLayout>
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_language"
|
||||
style="@style/SettingsTextValueStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/settings_language_label"
|
||||
tools:text="English" />
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_hide_dialpad_numbers_holder"
|
||||
style="@style/SettingsHolderCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_manage_blocked_numbers_holder"
|
||||
style="@style/SettingsHolderTextViewOneLinerStyle"
|
||||
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||
android:id="@+id/settings_hide_dialpad_numbers"
|
||||
style="@style/SettingsCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/ripple_background">
|
||||
android:text="@string/hide_dialpad_numbers" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_manage_blocked_numbers_label"
|
||||
style="@style/SettingsTextLabelStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/manage_blocked_numbers" />
|
||||
</RelativeLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_dialpad_vibration_holder"
|
||||
style="@style/SettingsHolderCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_change_date_time_format_holder"
|
||||
style="@style/SettingsHolderTextViewOneLinerStyle"
|
||||
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||
android:id="@+id/settings_dialpad_vibration"
|
||||
style="@style/SettingsCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/ripple_background">
|
||||
android:text="@string/dialpad_vibrations" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_change_date_time_format_label"
|
||||
style="@style/SettingsTextLabelStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/change_date_and_time_format" />
|
||||
</RelativeLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_dialpad_beeps_holder"
|
||||
style="@style/SettingsHolderCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_manage_speed_dial_holder"
|
||||
style="@style/SettingsHolderTextViewOneLinerStyle"
|
||||
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||
android:id="@+id/settings_dialpad_beeps"
|
||||
style="@style/SettingsCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/ripple_background">
|
||||
android:text="@string/dialpad_beeps" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_manage_speed_dial_label"
|
||||
style="@style/SettingsTextLabelStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/manage_speed_dial" />
|
||||
</RelativeLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_font_size_holder"
|
||||
style="@style/SettingsHolderTextViewStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/ripple_background">
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_font_size_label"
|
||||
style="@style/SettingsTextLabelStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/font_size" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_font_size"
|
||||
style="@style/SettingsTextValueStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/settings_font_size_label"
|
||||
tools:text="@string/medium" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_start_name_with_surname_holder"
|
||||
style="@style/SettingsHolderCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/ripple_background">
|
||||
|
||||
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||
android:id="@+id/settings_start_name_with_surname"
|
||||
style="@style/SettingsCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/start_name_with_surname" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_dialpad_vibration_holder"
|
||||
style="@style/SettingsHolderCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/ripple_background">
|
||||
|
||||
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||
android:id="@+id/settings_dialpad_vibration"
|
||||
style="@style/SettingsCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/dialpad_vibrations" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_dialpad_beeps_holder"
|
||||
style="@style/SettingsHolderCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/ripple_bottom_corners">
|
||||
|
||||
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||
android:id="@+id/settings_dialpad_beeps"
|
||||
style="@style/SettingsCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/dialpad_beeps" />
|
||||
|
||||
</RelativeLayout>
|
||||
</LinearLayout>
|
||||
<include
|
||||
android:id="@+id/settings_general_settings_divider"
|
||||
layout="@layout/divider" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/settings_startup_label"
|
||||
@@ -267,70 +255,62 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/startup" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/settings_startup_holder"
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_manage_tabs_holder"
|
||||
style="@style/SettingsHolderTextViewOneLinerStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="@dimen/medium_margin"
|
||||
android:background="@drawable/section_holder_stroke"
|
||||
android:orientation="vertical">
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_manage_tabs_holder"
|
||||
style="@style/SettingsHolderTextViewOneLinerStyle"
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_manage_tabs"
|
||||
style="@style/SettingsTextLabelStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/manage_shown_tabs" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_default_tab_holder"
|
||||
style="@style/SettingsHolderTextViewStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_default_tab_label"
|
||||
style="@style/SettingsTextLabelStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/default_tab_to_open" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_default_tab"
|
||||
style="@style/SettingsTextValueStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/ripple_top_corners">
|
||||
android:layout_below="@+id/settings_default_tab_label"
|
||||
tools:text="@string/last_used_tab" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_manage_tabs"
|
||||
style="@style/SettingsTextLabelStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/manage_shown_tabs" />
|
||||
</RelativeLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_open_dialpad_at_launch_holder"
|
||||
style="@style/SettingsHolderCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_default_tab_holder"
|
||||
style="@style/SettingsHolderTextViewStyle"
|
||||
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||
android:id="@+id/settings_open_dialpad_at_launch"
|
||||
style="@style/SettingsCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/ripple_background">
|
||||
android:text="@string/open_dialpad_by_default" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_default_tab_label"
|
||||
style="@style/SettingsTextLabelStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/default_tab_to_open" />
|
||||
</RelativeLayout>
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_default_tab"
|
||||
style="@style/SettingsTextValueStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/settings_default_tab_label"
|
||||
tools:text="@string/last_used_tab" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_open_dialpad_at_launch_holder"
|
||||
style="@style/SettingsHolderCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/ripple_bottom_corners">
|
||||
|
||||
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||
android:id="@+id/settings_open_dialpad_at_launch"
|
||||
style="@style/SettingsCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/open_dialpad_by_default" />
|
||||
|
||||
</RelativeLayout>
|
||||
</LinearLayout>
|
||||
<include
|
||||
android:id="@+id/settings_startup_divider"
|
||||
layout="@layout/divider" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/settings_calls_label"
|
||||
@@ -339,94 +319,80 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/calls" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/settings_calls_holder"
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_group_subsequent_calls_holder"
|
||||
style="@style/SettingsHolderCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="@dimen/medium_margin"
|
||||
android:background="@drawable/section_holder_stroke"
|
||||
android:orientation="vertical">
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_group_subsequent_calls_holder"
|
||||
style="@style/SettingsHolderCheckboxStyle"
|
||||
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||
android:id="@+id/settings_group_subsequent_calls"
|
||||
style="@style/SettingsCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/ripple_top_corners">
|
||||
android:text="@string/group_subsequent_calls" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||
android:id="@+id/settings_group_subsequent_calls"
|
||||
style="@style/SettingsCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/group_subsequent_calls" />
|
||||
</RelativeLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_show_call_confirmation_holder"
|
||||
style="@style/SettingsHolderCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_show_call_confirmation_holder"
|
||||
style="@style/SettingsHolderCheckboxStyle"
|
||||
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||
android:id="@+id/settings_show_call_confirmation"
|
||||
style="@style/SettingsCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/ripple_background">
|
||||
android:text="@string/show_call_confirmation_dialog" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||
android:id="@+id/settings_show_call_confirmation"
|
||||
style="@style/SettingsCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/show_call_confirmation_dialog" />
|
||||
</RelativeLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_disable_proximity_sensor_holder"
|
||||
style="@style/SettingsHolderCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_disable_proximity_sensor_holder"
|
||||
style="@style/SettingsHolderCheckboxStyle"
|
||||
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||
android:id="@+id/settings_disable_proximity_sensor"
|
||||
style="@style/SettingsCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/ripple_background">
|
||||
android:text="@string/disable_proximity_sensor" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||
android:id="@+id/settings_disable_proximity_sensor"
|
||||
style="@style/SettingsCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/disable_proximity_sensor" />
|
||||
</RelativeLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_disable_swipe_to_answer_holder"
|
||||
style="@style/SettingsHolderCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_disable_swipe_to_answer_holder"
|
||||
style="@style/SettingsHolderCheckboxStyle"
|
||||
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||
android:id="@+id/settings_disable_swipe_to_answer"
|
||||
style="@style/SettingsCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/ripple_background">
|
||||
android:text="@string/disable_swipe_to_answer" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||
android:id="@+id/settings_disable_swipe_to_answer"
|
||||
style="@style/SettingsCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/disable_swipe_to_answer" />
|
||||
</RelativeLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_always_show_fullscreen_holder"
|
||||
style="@style/SettingsHolderCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_always_show_fullscreen_holder"
|
||||
style="@style/SettingsHolderCheckboxStyle"
|
||||
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||
android:id="@+id/settings_always_show_fullscreen"
|
||||
style="@style/SettingsCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/ripple_bottom_corners">
|
||||
android:text="@string/show_incoming_calls_full_screen" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||
android:id="@+id/settings_always_show_fullscreen"
|
||||
style="@style/SettingsCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/show_incoming_calls_full_screen" />
|
||||
|
||||
</RelativeLayout>
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
@@ -19,23 +19,54 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/medium_margin">
|
||||
|
||||
<com.simplemobiletools.commons.views.MyCompatRadioButton
|
||||
android:id="@+id/sorting_dialog_radio_first_name"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="@dimen/medium_margin"
|
||||
android:paddingBottom="@dimen/medium_margin"
|
||||
android:text="@string/first_name" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyCompatRadioButton
|
||||
android:id="@+id/sorting_dialog_radio_middle_name"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="@dimen/medium_margin"
|
||||
android:paddingBottom="@dimen/medium_margin"
|
||||
android:text="@string/middle_name" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyCompatRadioButton
|
||||
android:id="@+id/sorting_dialog_radio_surname"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="@dimen/medium_margin"
|
||||
android:paddingBottom="@dimen/medium_margin"
|
||||
android:text="@string/surname" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyCompatRadioButton
|
||||
android:id="@+id/sorting_dialog_radio_full_name"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="@dimen/medium_margin"
|
||||
android:paddingBottom="@dimen/medium_margin"
|
||||
android:text="@string/full_name" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyCompatRadioButton
|
||||
android:id="@+id/sorting_dialog_radio_date_created"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="@dimen/medium_margin"
|
||||
android:paddingBottom="@dimen/medium_margin"
|
||||
android:text="@string/date_created" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyCompatRadioButton
|
||||
android:id="@+id/sorting_dialog_radio_custom"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="@dimen/medium_margin"
|
||||
android:paddingBottom="@dimen/medium_margin"
|
||||
android:text="@string/custom" />
|
||||
|
||||
</RadioGroup>
|
||||
|
||||
<include
|
||||
@@ -53,12 +84,16 @@
|
||||
android:id="@+id/sorting_dialog_radio_ascending"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="@dimen/medium_margin"
|
||||
android:paddingBottom="@dimen/medium_margin"
|
||||
android:text="@string/ascending" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyCompatRadioButton
|
||||
android:id="@+id/sorting_dialog_radio_descending"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="@dimen/medium_margin"
|
||||
android:paddingBottom="@dimen/medium_margin"
|
||||
android:text="@string/descending" />
|
||||
</RadioGroup>
|
||||
</LinearLayout>
|
||||
|
10
app/src/main/res/layout/dialog_filter_contact_sources.xml
Normal file
10
app/src/main/res/layout/dialog_filter_contact_sources.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<com.simplemobiletools.commons.views.MyRecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/filter_contact_sources_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:clipToPadding="false"
|
||||
android:overScrollMode="never"
|
||||
android:paddingTop="@dimen/medium_margin"
|
||||
app:layoutManager="com.simplemobiletools.commons.views.MyLinearLayoutManager" />
|
@@ -8,15 +8,16 @@
|
||||
android:layout_alignParentBottom="true"
|
||||
android:focusableInTouchMode="true"
|
||||
android:layoutDirection="ltr"
|
||||
android:paddingStart="@dimen/medium_margin"
|
||||
android:paddingTop="@dimen/medium_margin"
|
||||
android:paddingEnd="@dimen/medium_margin"
|
||||
tools:ignore="HardcodedText">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/dialpad_1_holder"
|
||||
style="@style/DialpadButtonStyle"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginStart="@dimen/activity_margin"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:contentDescription="@string/one"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/dialpad_2_holder"
|
||||
app:layout_constraintEnd_toStartOf="@+id/dialpad_2_holder"
|
||||
@@ -29,16 +30,16 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:text="1" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/dialpad_2_holder"
|
||||
style="@style/DialpadButtonStyle"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/medium_margin"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:contentDescription="@string/two"
|
||||
app:layout_constraintBottom_toTopOf="@+id/dialpad_5_holder"
|
||||
app:layout_constraintEnd_toStartOf="@+id/dialpad_3_holder"
|
||||
@@ -49,7 +50,6 @@
|
||||
style="@style/DialpadNumberStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:text="2" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
@@ -58,18 +58,15 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/dialpad_2"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginBottom="@dimen/medium_margin"
|
||||
android:gravity="center_horizontal"
|
||||
android:layout_marginBottom="@dimen/small_margin"
|
||||
android:text="ABC" />
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/dialpad_3_holder"
|
||||
style="@style/DialpadButtonStyle"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginEnd="@dimen/activity_margin"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:contentDescription="@string/three"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/dialpad_2_holder"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
@@ -81,7 +78,6 @@
|
||||
style="@style/DialpadNumberStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:text="3" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
@@ -90,18 +86,14 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/dialpad_3"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginBottom="@dimen/medium_margin"
|
||||
android:gravity="center_horizontal"
|
||||
android:text="DEF" />
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/dialpad_4_holder"
|
||||
style="@style/DialpadButtonStyle"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginStart="@dimen/activity_margin"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:contentDescription="@string/four"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/dialpad_5_holder"
|
||||
app:layout_constraintEnd_toStartOf="@+id/dialpad_5_holder"
|
||||
@@ -113,7 +105,6 @@
|
||||
style="@style/DialpadNumberStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:text="4" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
@@ -122,18 +113,15 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/dialpad_4"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginBottom="@dimen/medium_margin"
|
||||
android:gravity="center_horizontal"
|
||||
android:text="GHI" />
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/dialpad_5_holder"
|
||||
style="@style/DialpadButtonStyle"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/medium_margin"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:contentDescription="@string/five"
|
||||
app:layout_constraintBottom_toTopOf="@+id/dialpad_8_holder"
|
||||
app:layout_constraintEnd_toStartOf="@+id/dialpad_6_holder"
|
||||
@@ -144,7 +132,6 @@
|
||||
style="@style/DialpadNumberStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:text="5" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
@@ -153,18 +140,15 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/dialpad_5"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginBottom="@dimen/medium_margin"
|
||||
android:gravity="center_horizontal"
|
||||
android:layout_marginBottom="@dimen/small_margin"
|
||||
android:text="JKL" />
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/dialpad_6_holder"
|
||||
style="@style/DialpadButtonStyle"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginEnd="@dimen/activity_margin"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:contentDescription="@string/six"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/dialpad_5_holder"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
@@ -176,7 +160,6 @@
|
||||
style="@style/DialpadNumberStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:text="6" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
@@ -185,18 +168,14 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/dialpad_6"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginBottom="@dimen/medium_margin"
|
||||
android:gravity="center_horizontal"
|
||||
android:text="MNO" />
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/dialpad_7_holder"
|
||||
style="@style/DialpadButtonStyle"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginStart="@dimen/activity_margin"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:contentDescription="@string/seven"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/dialpad_8_holder"
|
||||
app:layout_constraintEnd_toStartOf="@+id/dialpad_8_holder"
|
||||
@@ -208,7 +187,6 @@
|
||||
style="@style/DialpadNumberStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:text="7" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
@@ -217,18 +195,15 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/dialpad_7"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginBottom="@dimen/medium_margin"
|
||||
android:gravity="center_horizontal"
|
||||
android:text="PQRS" />
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/dialpad_8_holder"
|
||||
style="@style/DialpadButtonStyle"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/medium_margin"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:contentDescription="@string/eight"
|
||||
app:layout_constraintBottom_toTopOf="@+id/dialpad_0_holder"
|
||||
app:layout_constraintEnd_toStartOf="@+id/dialpad_9_holder"
|
||||
@@ -239,7 +214,6 @@
|
||||
style="@style/DialpadNumberStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:text="8" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
@@ -248,18 +222,15 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/dialpad_8"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginBottom="@dimen/medium_margin"
|
||||
android:gravity="center_horizontal"
|
||||
android:layout_marginBottom="@dimen/small_margin"
|
||||
android:text="TUV" />
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/dialpad_9_holder"
|
||||
style="@style/DialpadButtonStyle"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginEnd="@dimen/activity_margin"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:contentDescription="@string/nine"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/dialpad_8_holder"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
@@ -271,7 +242,6 @@
|
||||
style="@style/DialpadNumberStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:text="9" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
@@ -280,18 +250,14 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/dialpad_9"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginBottom="@dimen/medium_margin"
|
||||
android:gravity="center_horizontal"
|
||||
android:text="WXYZ" />
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/dialpad_asterisk_holder"
|
||||
style="@style/DialpadButtonStyle"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginStart="@dimen/activity_margin"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:contentDescription="@string/asterisk"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/dialpad_0_holder"
|
||||
app:layout_constraintEnd_toStartOf="@+id/dialpad_0_holder"
|
||||
@@ -303,17 +269,16 @@
|
||||
style="@style/DialpadNumberStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_centerInParent="true"
|
||||
android:text="*" />
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/dialpad_0_holder"
|
||||
style="@style/DialpadButtonStyle"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/activity_margin"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:layout_marginBottom="@dimen/medium_margin"
|
||||
android:contentDescription="@string/zero"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/dialpad_hashtag_holder"
|
||||
@@ -324,31 +289,46 @@
|
||||
style="@style/DialpadNumberStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:text="0" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/dialpad_plus"
|
||||
android:id="@+id/dialpad_plus_letters"
|
||||
style="@style/DialpadLetterStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignTop="@+id/dialpad_0"
|
||||
android:layout_alignBottom="@+id/dialpad_0"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_toEndOf="@+id/dialpad_0"
|
||||
android:gravity="center"
|
||||
android:paddingStart="@dimen/small_margin"
|
||||
android:paddingTop="@dimen/small_margin"
|
||||
android:text="+"
|
||||
android:textSize="@dimen/actionbar_text_size" />
|
||||
android:layout_below="@+id/dialpad_0"
|
||||
android:layout_marginBottom="@dimen/small_margin"
|
||||
android:text="+" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/dialpad_plus_holder"
|
||||
style="@style/DialpadButtonStyle"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:contentDescription="@string/zero"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/dialpad_0_holder"
|
||||
app:layout_constraintEnd_toStartOf="@+id/dialpad_hashtag_holder"
|
||||
app:layout_constraintStart_toEndOf="@+id/dialpad_asterisk_holder"
|
||||
app:layout_constraintTop_toTopOf="@+id/dialpad_0_holder">
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/dialpad_plus_alt"
|
||||
style="@style/DialpadNumberStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:text="+" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/dialpad_hashtag_holder"
|
||||
style="@style/DialpadButtonStyle"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginEnd="@dimen/activity_margin"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:contentDescription="@string/hashtag"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/dialpad_0_holder"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
@@ -360,8 +340,8 @@
|
||||
style="@style/DialpadNumberStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginEnd="@dimen/activity_margin"
|
||||
android:layout_centerInParent="true"
|
||||
android:text="#" />
|
||||
|
||||
</RelativeLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
21
app/src/main/res/layout/item_filter_contact_source.xml
Normal file
21
app/src/main/res/layout/item_filter_contact_source.xml
Normal file
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/filter_contact_source_holder"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:paddingStart="@dimen/normal_margin"
|
||||
android:paddingTop="@dimen/small_margin"
|
||||
android:paddingEnd="@dimen/normal_margin"
|
||||
android:paddingBottom="@dimen/small_margin">
|
||||
|
||||
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||
android:id="@+id/filter_contact_source_checkbox"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/medium_margin"
|
||||
android:background="@null"
|
||||
android:clickable="false"
|
||||
android:paddingStart="@dimen/small_margin" />
|
||||
|
||||
</RelativeLayout>
|
@@ -17,7 +17,7 @@
|
||||
android:layout_width="@dimen/normal_icon_size"
|
||||
android:layout_height="@dimen/normal_icon_size"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginStart="@dimen/small_margin"
|
||||
android:layout_marginStart="@dimen/normal_margin"
|
||||
android:layout_marginEnd="@dimen/small_margin"
|
||||
android:padding="@dimen/small_margin"
|
||||
android:src="@drawable/ic_person_vector"
|
||||
@@ -34,6 +34,8 @@
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:textSize="@dimen/bigger_text_size"
|
||||
android:textDirection="locale"
|
||||
android:textAlignment="viewStart"
|
||||
app:layout_constraintBottom_toTopOf="@id/item_recents_date_time"
|
||||
app:layout_constraintEnd_toStartOf="@+id/overflow_menu_icon"
|
||||
app:layout_constraintStart_toEndOf="@+id/item_recents_image"
|
||||
@@ -81,7 +83,6 @@
|
||||
android:src="@drawable/ic_incoming_call_vector"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/item_recents_date_time"
|
||||
app:layout_constraintDimensionRatio="1:1"
|
||||
app:layout_constraintEnd_toStartOf="@id/item_recents_date_time"
|
||||
app:layout_constraintStart_toEndOf="@+id/item_recents_sim_image"
|
||||
app:layout_constraintTop_toTopOf="@+id/item_recents_date_time" />
|
||||
|
||||
|
@@ -2,7 +2,7 @@
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
tools:ignore="AppCompatResource">
|
||||
tools:ignore="AppCompatResource,AlwaysShowAction">
|
||||
<item
|
||||
android:id="@+id/cab_call_sim_1"
|
||||
android:icon="@drawable/ic_phone_one_vector"
|
||||
@@ -16,16 +16,19 @@
|
||||
<item
|
||||
android:id="@+id/cab_delete"
|
||||
android:icon="@drawable/ic_delete_vector"
|
||||
android:showAsAction="always"
|
||||
android:title="@string/delete"
|
||||
app:showAsAction="always" />
|
||||
<item
|
||||
android:id="@+id/cab_view_details"
|
||||
android:icon="@drawable/ic_view_contact_details_vector"
|
||||
android:showAsAction="always"
|
||||
android:title="@string/view_contact_details"
|
||||
app:showAsAction="always" />
|
||||
<item
|
||||
android:id="@+id/cab_send_sms"
|
||||
android:icon="@drawable/ic_sms_vector"
|
||||
android:showAsAction="always"
|
||||
android:title="@string/send_sms"
|
||||
app:showAsAction="always" />
|
||||
<item
|
||||
|
@@ -2,7 +2,7 @@
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
tools:ignore="AppCompatResource">
|
||||
tools:ignore="AppCompatResource,AlwaysShowAction">
|
||||
<item
|
||||
android:id="@+id/cab_call_sim_1"
|
||||
android:icon="@drawable/ic_phone_one_vector"
|
||||
@@ -16,21 +16,25 @@
|
||||
<item
|
||||
android:id="@+id/cab_remove"
|
||||
android:icon="@drawable/ic_delete_vector"
|
||||
android:showAsAction="always"
|
||||
android:title="@string/delete"
|
||||
app:showAsAction="always" />
|
||||
<item
|
||||
android:id="@+id/cab_view_details"
|
||||
android:icon="@drawable/ic_view_contact_details_vector"
|
||||
android:showAsAction="always"
|
||||
android:title="@string/view_contact_details"
|
||||
app:showAsAction="always" />
|
||||
<item
|
||||
android:id="@+id/cab_add_number"
|
||||
android:icon="@drawable/ic_add_person_vector"
|
||||
android:showAsAction="always"
|
||||
android:title="@string/add_number_to_contact"
|
||||
app:showAsAction="always" />
|
||||
<item
|
||||
android:id="@+id/cab_send_sms"
|
||||
android:icon="@drawable/ic_sms_vector"
|
||||
android:showAsAction="always"
|
||||
android:title="@string/send_sms"
|
||||
app:showAsAction="always" />
|
||||
<item
|
||||
|
@@ -1,17 +1,19 @@
|
||||
<?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/search"
|
||||
android:icon="@drawable/ic_search_vector"
|
||||
android:title="@string/search"
|
||||
app:actionViewClass="androidx.appcompat.widget.SearchView"
|
||||
app:showAsAction="collapseActionView|always" />
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
tools:ignore="AlwaysShowAction,AppCompatResource">
|
||||
<item
|
||||
android:id="@+id/sort"
|
||||
android:icon="@drawable/ic_sort_vector"
|
||||
android:showAsAction="always"
|
||||
android:title="@string/sort_by"
|
||||
app:showAsAction="always" />
|
||||
<item
|
||||
android:id="@+id/filter"
|
||||
android:icon="@drawable/ic_filter_vector"
|
||||
android:title="@string/filter"
|
||||
app:showAsAction="always" />
|
||||
<item
|
||||
android:id="@+id/create_new_contact"
|
||||
android:icon="@drawable/ic_plus_vector"
|
||||
@@ -21,12 +23,7 @@
|
||||
android:id="@+id/clear_call_history"
|
||||
android:icon="@drawable/ic_delete_vector"
|
||||
android:title="@string/clear_call_history"
|
||||
app:showAsAction="ifRoom" />
|
||||
<item
|
||||
android:id="@+id/more_apps_from_us"
|
||||
android:showAsAction="never"
|
||||
android:title="@string/more_apps_from_us"
|
||||
app:showAsAction="never" />
|
||||
app:showAsAction="always" />
|
||||
<item
|
||||
android:id="@+id/settings"
|
||||
android:icon="@drawable/ic_settings_cog_vector"
|
||||
@@ -37,4 +34,9 @@
|
||||
android:icon="@drawable/ic_info_vector"
|
||||
android:title="@string/about"
|
||||
app:showAsAction="ifRoom" />
|
||||
<item
|
||||
android:id="@+id/more_apps_from_us"
|
||||
android:icon="@drawable/ic_google_play_vector"
|
||||
android:title="@string/more_apps_from_us"
|
||||
app:showAsAction="ifRoom" />
|
||||
</menu>
|
||||
|
@@ -1,80 +1,82 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">Simple Dialer</string>
|
||||
<string name="app_launcher_name">Dialer</string>
|
||||
<string name="default_phone_app_prompt">Please make this app the default Phone app</string>
|
||||
<string name="allow_displaying_over_other_apps">Please allow displaying over other apps for reliable behaviour</string>
|
||||
<string name="app_name">الهاتف المبسط</string>
|
||||
<string name="app_launcher_name">الهاتف</string>
|
||||
<string name="default_phone_app_prompt">الرجاء جعل هذا التطبيق هو تطبيق الهاتف الافتراضي</string>
|
||||
<string name="allow_displaying_over_other_apps">الرجاء السماح بالعرض فوق التطبيقات الأخرى للحصول على سلوك موثوق</string>
|
||||
<!-- Contacts -->
|
||||
<string name="could_not_access_contacts">Could not access your contacts</string>
|
||||
<string name="could_not_access_contacts">تعذر الوصول إلى جهات الاتصال</string>
|
||||
<!-- Recents -->
|
||||
<string name="no_previous_calls">No previous calls have been found</string>
|
||||
<string name="could_not_access_the_call_history">Could not access the call history</string>
|
||||
<string name="request_access">Request access</string>
|
||||
<string name="remove_confirmation">Are you sure you want to remove the selected items from the Call History\?</string>
|
||||
<string name="clear_history_confirmation">Are you sure you want to remove everything from the Call History\?</string>
|
||||
<string name="show_grouped_calls">Show grouped calls</string>
|
||||
<string name="clear_call_history">Clear call history</string>
|
||||
<string name="show_call_details">Show call details</string>
|
||||
<string name="no_previous_calls">لاتوجد مكالمات سابقة</string>
|
||||
<string name="could_not_access_the_call_history">تعذر الوصول إلى سجل المكالمات</string>
|
||||
<string name="request_access">طلب الوصول</string>
|
||||
<string name="remove_confirmation">هل أنت متأكد من إزالة العناصر المحددة من سجل المكالمات؟</string>
|
||||
<string name="clear_history_confirmation">هل أنت متأكد من إزالة كامل سجل المكالمات؟</string>
|
||||
<string name="show_grouped_calls">إظهار المكالمات المجمعة</string>
|
||||
<string name="clear_call_history">محو سجل المكالمات</string>
|
||||
<string name="show_call_details">إظهار تفاصيل المكالمة</string>
|
||||
<!-- Dialpad -->
|
||||
<string name="dialpad">Dialpad</string>
|
||||
<string name="asterisk">Asterisk</string>
|
||||
<string name="hashtag">Hashtag</string>
|
||||
<string name="call_number">Call number</string>
|
||||
<string name="dialpad_beeps">Enable beeps on dialpad button clicks</string>
|
||||
<string name="dialpad_vibrations">Enable vibrations on dialpad button clicks</string>
|
||||
<string name="dialpad">لوحة الاتصال</string>
|
||||
<string name="asterisk">نجمة</string>
|
||||
<string name="hashtag">وسم</string>
|
||||
<string name="call_number">رقم الاتصال</string>
|
||||
<string name="dialpad_beeps">تمكين الصفير عند نقر أزرار لوحة الاتصال</string>
|
||||
<string name="dialpad_vibrations">تمكين الاهتزازات عند نقر أزرار لوحة الاتصال</string>
|
||||
<!-- Dialer -->
|
||||
<string name="dialer">Dialer</string>
|
||||
<string name="accept">Accept</string>
|
||||
<string name="accept_call">Accept call</string>
|
||||
<string name="decline">Decline</string>
|
||||
<string name="decline_call">Decline call</string>
|
||||
<string name="unknown_caller">Unknown Caller</string>
|
||||
<string name="is_calling">Is Calling…</string>
|
||||
<string name="dialing">Dialing…</string>
|
||||
<string name="call_ended">Call Ended</string>
|
||||
<string name="call_ending">Call Ending</string>
|
||||
<string name="ongoing_call">Ongoing Call</string>
|
||||
<string name="select_sim">Select a SIM for this call</string>
|
||||
<string name="always_use_this_sim">Always use this SIM for this number</string>
|
||||
<string name="unset_default_sim">Unset default SIM</string>
|
||||
<string name="calls">Calls</string>
|
||||
<string name="turn_microphone_on">Turn microphone on</string>
|
||||
<string name="turn_microphone_off">Turn microphone off</string>
|
||||
<string name="turn_speaker_on">Turn speaker on</string>
|
||||
<string name="turn_speaker_off">Turn speaker off</string>
|
||||
<string name="show_dialpad">Show dialpad</string>
|
||||
<string name="hide_dialpad">Hide dialpad</string>
|
||||
<string name="end_call">End call</string>
|
||||
<string name="hold_call">Hold call</string>
|
||||
<string name="resume_call">Resume call</string>
|
||||
<string name="call_on_hold">On Hold</string>
|
||||
<string name="call_swap">Swap calls</string>
|
||||
<string name="call_merge">Merge calls</string>
|
||||
<string name="call_split">Split call</string>
|
||||
<string name="call_add">Add call</string>
|
||||
<string name="conference_manage">Manage conference call</string>
|
||||
<string name="conference">Conference</string>
|
||||
<string name="audio_route_speaker">Speaker</string>
|
||||
<string name="audio_route_earpiece">Earpiece</string>
|
||||
<string name="audio_route_bluetooth">Bluetooth</string>
|
||||
<string name="audio_route_wired_headset">Wired Headset</string>
|
||||
<string name="audio_route_wired_or_earpiece">Wired or Earpiece</string>
|
||||
<string name="choose_audio_route">Choose audio route</string>
|
||||
<string name="dialer">الهاتف</string>
|
||||
<string name="accept">قبول</string>
|
||||
<string name="accept_call">قبول المكالمة</string>
|
||||
<string name="decline">رفض</string>
|
||||
<string name="decline_call">رفض المكالمة</string>
|
||||
<string name="unknown_caller">متصل غير معروف</string>
|
||||
<string name="is_calling">يتصل…</string>
|
||||
<string name="dialing">اتصال…</string>
|
||||
<string name="call_ended">انتهت المكالمة</string>
|
||||
<string name="call_ending">إنهاء المكالمة</string>
|
||||
<string name="ongoing_call">مكالمة مستمرة</string>
|
||||
<string name="select_sim">اختر شريحة لهذه المكالمة</string>
|
||||
<string name="always_use_this_sim">استخدم هذه الشريحة دائما لهذا الرقم</string>
|
||||
<string name="unset_default_sim">إلغاء تعيين بطاقة SIM الافتراضية</string>
|
||||
<string name="calls">المكالمات</string>
|
||||
<string name="turn_microphone_on">تشغيل الميكروفون</string>
|
||||
<string name="turn_microphone_off">إيقاف تشغيل الميكروفون</string>
|
||||
<string name="turn_speaker_on">تشغيل مكبر الصوت</string>
|
||||
<string name="turn_speaker_off">إيقاف تشغيل مكبر الصوت</string>
|
||||
<string name="show_dialpad">إظهار لوحة الاتصال</string>
|
||||
<string name="hide_dialpad">إخفاء لوحة الاتصال</string>
|
||||
<string name="end_call">إنهاء المكالمة</string>
|
||||
<string name="hold_call">تعليق المكالمة</string>
|
||||
<string name="resume_call">استئناف المكالمة</string>
|
||||
<string name="call_on_hold">قيد الانتظار</string>
|
||||
<string name="call_swap">مبادلة المكالمات</string>
|
||||
<string name="call_merge">دمج المكالمات</string>
|
||||
<string name="call_split">تقسيم المكالمة</string>
|
||||
<string name="call_add">إضافة مكالمة</string>
|
||||
<string name="conference_manage">إدارة المكالمة الجماعية</string>
|
||||
<string name="conference">جماعة</string>
|
||||
<string name="audio_route_speaker">مكبر الصوت</string>
|
||||
<string name="audio_route_earpiece">سماعة الأذن</string>
|
||||
<string name="audio_route_bluetooth">بلوتوث</string>
|
||||
<string name="audio_route_wired_headset">سماعة الرأس السلكية</string>
|
||||
<string name="audio_route_wired_or_earpiece">سلكي أو سماعة أذن</string>
|
||||
<string name="choose_audio_route">اختر مسار الصوت</string>
|
||||
<string name="calling_blocked_number">الرقم الذي تتصل به محظور</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Speed dial</string>
|
||||
<string name="manage_speed_dial">Manage speed dial</string>
|
||||
<string name="speed_dial_label">Click on a number to assign a contact to it. You can then quickly call the given contact by long pressing the given number at the dialer.</string>
|
||||
<string name="speed_dial">اتصال سريع</string>
|
||||
<string name="manage_speed_dial">إدارة الاتصال السريع</string>
|
||||
<string name="speed_dial_label">انقر فوق رقم لتعيين جهة اتصال له. يمكنك بعد ذلك الاتصال بجهة الاتصال المحددة بسرعة عن طريق الضغط لفترة طويلة على الرقم المحدد في الهاتف.</string>
|
||||
<!-- Settings -->
|
||||
<string name="group_subsequent_calls">Group subsequent calls with the same number at the call log</string>
|
||||
<string name="open_dialpad_by_default">Open the dialpad by default when the app opens</string>
|
||||
<string name="disable_proximity_sensor">Disable proximity sensor during calls</string>
|
||||
<string name="disable_swipe_to_answer">Replace swiping at responding to incoming calls with clicking</string>
|
||||
<string name="show_incoming_calls_full_screen">Always display incoming calls on full screen</string>
|
||||
<string name="group_subsequent_calls">تجميع المكالمات اللاحقة مع نفس الرقم في سجل المكالمات</string>
|
||||
<string name="open_dialpad_by_default">افتح لوحة الاتصال افتراضيًا عند فتح التطبيق</string>
|
||||
<string name="disable_proximity_sensor">تعطيل مستشعر القرب أثناء المكالمات</string>
|
||||
<string name="disable_swipe_to_answer">استبدل التمرير عند الرد على المكالمات الواردة بالنقر</string>
|
||||
<string name="show_incoming_calls_full_screen">عرض المكالمات الواردة دائما في وضع ملء الشاشة</string>
|
||||
<string name="hide_dialpad_numbers">اخفي ارقام لوحت المفاتيح</string>
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">I hear incoming calls, but the screen doesn\'t turn on. What can I do?</string>
|
||||
<string name="faq_1_text">Such issues can have many device and system specific reasons, hard to say in general. You should look around in your device settings and make sure that the app is allowed to pop up when in background and allow displaying over other apps.</string>
|
||||
<string name="faq_1_title">أسمع مكالمات واردة، ولكن الشاشة لا تعمل. ماذا أفعل؟</string>
|
||||
<string name="faq_1_text">يمكن أن يكون لمثل هذه المشكلات العديد من الأسباب الخاصة بالجهاز والنظام ، والتي يصعب تحديدها بشكل عام. يجب أن تنظر حولك في إعدادات جهازك وتأكد من السماح للتطبيق بالظهور عندما يكون في الخلفية والسماح بالعرض فوق التطبيقات الأخرى.</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
-->
|
||||
</resources>
|
||||
</resources>
|
@@ -60,6 +60,7 @@
|
||||
<string name="audio_route_wired_headset">Wired Headset</string>
|
||||
<string name="audio_route_wired_or_earpiece">Wired or Earpiece</string>
|
||||
<string name="choose_audio_route">Choose audio route</string>
|
||||
<string name="calling_blocked_number">The number you are calling is blocked</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Speed dial</string>
|
||||
<string name="manage_speed_dial">Manage speed dial</string>
|
||||
@@ -70,6 +71,8 @@
|
||||
<string name="disable_proximity_sensor">Disable proximity sensor during calls</string>
|
||||
<string name="disable_swipe_to_answer">Replace swiping at responding to incoming calls with clicking</string>
|
||||
<string name="show_incoming_calls_full_screen">Always display incoming calls on full screen</string>
|
||||
<string name="hide_dialpad_numbers">Hide dialpad numbers</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">I hear incoming calls, but the screen doesn\'t turn on. What can I do?</string>
|
||||
<string name="faq_1_text">Such issues can have many device and system specific reasons, hard to say in general. You should look around in your device settings and make sure that the app is allowed to pop up when in background and allow displaying over other apps.</string>
|
||||
|
@@ -60,6 +60,7 @@
|
||||
<string name="audio_route_wired_headset">Wired Headset</string>
|
||||
<string name="audio_route_wired_or_earpiece">Wired or Earpiece</string>
|
||||
<string name="choose_audio_route">Choose audio route</string>
|
||||
<string name="calling_blocked_number">The number you are calling is blocked</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Хуткі набор</string>
|
||||
<string name="manage_speed_dial">Кіраванне хуткім наборам</string>
|
||||
@@ -70,6 +71,8 @@
|
||||
<string name="disable_proximity_sensor">Адключаць датчык набліжэння падчас выклікаў</string>
|
||||
<string name="disable_swipe_to_answer">Выкарыстоўваць націсканне замест перацягвання пры адказе на ўваходныя выклікі</string>
|
||||
<string name="show_incoming_calls_full_screen">Заўсёды паказваць уваходныя выклікі ў поўнаэкранным рэжыме</string>
|
||||
<string name="hide_dialpad_numbers">Hide dialpad numbers</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">I hear incoming calls, but the screen doesn\'t turn on. What can I do?</string>
|
||||
<string name="faq_1_text">Such issues can have many device and system specific reasons, hard to say in general. You should look around in your device settings and make sure that the app is allowed to pop up when in background and allow displaying over other apps.</string>
|
||||
|
@@ -60,6 +60,7 @@
|
||||
<string name="audio_route_wired_headset">Wired Headset</string>
|
||||
<string name="audio_route_wired_or_earpiece">Wired or Earpiece</string>
|
||||
<string name="choose_audio_route">Choose audio route</string>
|
||||
<string name="calling_blocked_number">The number you are calling is blocked</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Бързо набиране</string>
|
||||
<string name="manage_speed_dial">Управление на бързото набиране</string>
|
||||
@@ -70,6 +71,8 @@
|
||||
<string name="disable_proximity_sensor">Изключване на сензора за близост по време на обаждания</string>
|
||||
<string name="disable_swipe_to_answer">Смяна на плъзгането с докосване при отговаряне на обаждания</string>
|
||||
<string name="show_incoming_calls_full_screen">Always display incoming calls on full screen</string>
|
||||
<string name="hide_dialpad_numbers">Hide dialpad numbers</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">I hear incoming calls, but the screen doesn\'t turn on. What can I do?</string>
|
||||
<string name="faq_1_text">Such issues can have many device and system specific reasons, hard to say in general. You should look around in your device settings and make sure that the app is allowed to pop up when in background and allow displaying over other apps.</string>
|
||||
|
@@ -60,6 +60,7 @@
|
||||
<string name="audio_route_wired_headset">Auriculars amb cable</string>
|
||||
<string name="audio_route_wired_or_earpiece">Amb cable o auricular</string>
|
||||
<string name="choose_audio_route">Trieu la sortida d\'àudio</string>
|
||||
<string name="calling_blocked_number">El número al qual esteu trucant està bloquejat</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Marcatge ràpid</string>
|
||||
<string name="manage_speed_dial">Gestiona el marcatge ràpid</string>
|
||||
@@ -70,6 +71,7 @@
|
||||
<string name="disable_proximity_sensor">Desactiva el sensor de proximitat durant les trucades</string>
|
||||
<string name="disable_swipe_to_answer">Substitueix el lliscament en respondre a les trucades entrants per fer clic</string>
|
||||
<string name="show_incoming_calls_full_screen">Mostra sempre les trucades entrants a pantalla completa</string>
|
||||
<string name="hide_dialpad_numbers">Oculta els números del teclat numèric</string>
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Sento trucades entrants, però la pantalla no s\'encén. Què puc fer\?</string>
|
||||
<string name="faq_1_text">Aquests problemes poden tenir moltes raons específiques del dispositiu i del sistema, difícils de dir en general. Hauríeu de mirar per la configuració del dispositiu i assegurar-vos que l\'aplicació pugui aparèixer en segon pla i permetre que es mostri sobre altres aplicacions.</string>
|
||||
|
@@ -60,6 +60,7 @@
|
||||
<string name="audio_route_wired_headset">Náhlavní souprava s kabelem</string>
|
||||
<string name="audio_route_wired_or_earpiece">Kabel nebo sluchátka</string>
|
||||
<string name="choose_audio_route">Vybrat směrování zvuku</string>
|
||||
<string name="calling_blocked_number">Číslo, které voláte, je blokované</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Rychlé vytáčení</string>
|
||||
<string name="manage_speed_dial">Spravovat rychlá vytáčení</string>
|
||||
@@ -70,6 +71,7 @@
|
||||
<string name="disable_proximity_sensor">Vypnout senzor přiblížení během hovoru</string>
|
||||
<string name="disable_swipe_to_answer">Nahradit přejetí prstem při odpovídání na příchozí hovory za klepnutí</string>
|
||||
<string name="show_incoming_calls_full_screen">Vždy zobrazovat příchozí hovory na celou obrazovku</string>
|
||||
<string name="hide_dialpad_numbers">Skrýt čísla číselníku</string>
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Slyším příchozí hovor, ale obrazovka se nezapne. Co mohu dělat\?</string>
|
||||
<string name="faq_1_text">Takové problémy mohou mít mnoho důvodů specifických pro zařízení a systém, takže je těžké říci něco obecně. Měli byste zkontrolovat nastavení zařízení a ujistit se, že se aplikace může otevřít, když běží na pozadí, a umožnit zobrazení přes jiné aplikace.</string>
|
||||
|
@@ -60,6 +60,7 @@
|
||||
<string name="audio_route_wired_headset">Wired Headset</string>
|
||||
<string name="audio_route_wired_or_earpiece">Wired or Earpiece</string>
|
||||
<string name="choose_audio_route">Choose audio route</string>
|
||||
<string name="calling_blocked_number">The number you are calling is blocked</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Hurtigopkald</string>
|
||||
<string name="manage_speed_dial">Administrér hurtigopkald</string>
|
||||
@@ -70,6 +71,8 @@
|
||||
<string name="disable_proximity_sensor">Deaktivér nærhedssensor under opkald</string>
|
||||
<string name="disable_swipe_to_answer">Erstat swipe ved besvarelse af indgående opkald med at klikke på</string>
|
||||
<string name="show_incoming_calls_full_screen">Always display incoming calls on full screen</string>
|
||||
<string name="hide_dialpad_numbers">Hide dialpad numbers</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">I hear incoming calls, but the screen doesn\'t turn on. What can I do?</string>
|
||||
<string name="faq_1_text">Such issues can have many device and system specific reasons, hard to say in general. You should look around in your device settings and make sure that the app is allowed to pop up when in background and allow displaying over other apps.</string>
|
||||
|
@@ -10,9 +10,9 @@
|
||||
<string name="no_previous_calls">Anrufliste ist leer</string>
|
||||
<string name="could_not_access_the_call_history">Kein Zugriff auf Anrufliste</string>
|
||||
<string name="request_access">Zugriff anfordern</string>
|
||||
<string name="remove_confirmation">Ausgewählte Anrufe definitiv aus der Anrufliste löschen\?</string>
|
||||
<string name="clear_history_confirmation">Sicher, dass die gesamte Anrufliste gelöscht werden soll\?</string>
|
||||
<string name="show_grouped_calls">Gruppierte Anrufe zeigen</string>
|
||||
<string name="remove_confirmation">Sollen wirklich die ausgewählten Einträge aus der Anrufliste gelöscht werden\?</string>
|
||||
<string name="clear_history_confirmation">Soll wirklich die gesamte Anrufliste gelöscht werden\?</string>
|
||||
<string name="show_grouped_calls">Gruppierte Anrufe anzeigen</string>
|
||||
<string name="clear_call_history">Anrufliste löschen</string>
|
||||
<string name="show_call_details">Anrufdetails anzeigen</string>
|
||||
<!-- Dialpad -->
|
||||
@@ -35,7 +35,7 @@
|
||||
<string name="call_ending">Anruf beenden</string>
|
||||
<string name="ongoing_call">Aktueller Anruf</string>
|
||||
<string name="select_sim">Wähle die SIM-Karte für diesen Anruf aus</string>
|
||||
<string name="always_use_this_sim">Für diese Nummer immer diese SIM-Karte benutzen</string>
|
||||
<string name="always_use_this_sim">Für diese Nummer immer diese SIM-Karte verwenden</string>
|
||||
<string name="unset_default_sim">Als Standard-SIM abwählen</string>
|
||||
<string name="calls">Anrufe</string>
|
||||
<string name="turn_microphone_on">Mikrofon einschalten</string>
|
||||
@@ -59,7 +59,8 @@
|
||||
<string name="audio_route_bluetooth">Bluetooth</string>
|
||||
<string name="audio_route_wired_headset">Kabelgebundenes Headset</string>
|
||||
<string name="audio_route_wired_or_earpiece">Kabelgebunden oder über Kopfhörer</string>
|
||||
<string name="choose_audio_route">Audio-Ausgang wählen</string>
|
||||
<string name="choose_audio_route">Audioausgang wählen</string>
|
||||
<string name="calling_blocked_number">Die angerufene Nummer ist gesperrt</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Kurzwahl</string>
|
||||
<string name="manage_speed_dial">Kurzwahlnummern verwalten</string>
|
||||
@@ -70,6 +71,7 @@
|
||||
<string name="disable_proximity_sensor">Näherungssensor bei Anrufen deaktivieren</string>
|
||||
<string name="disable_swipe_to_answer">Anrufe durch Klicken statt durch Streichen annehmen</string>
|
||||
<string name="show_incoming_calls_full_screen">Eingehende Anrufe immer im Vollbildmodus anzeigen</string>
|
||||
<string name="hide_dialpad_numbers">Wähltastenfeld-Nummern ausblenden</string>
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Ich höre eingehende Anrufe, aber der Bildschirm schaltet sich nicht ein. Was kann ich tun\?</string>
|
||||
<string name="faq_1_text">Eine allgemeine Antwort auf die Frage ist schwer, denn solche Probleme können viele geräte- und systemspezifische Gründe haben. Du solltest dich in den Einstellungen des Geräts umsehen und sicherstellen, dass die App im Hintergrund angezeigt werden darf und die Einblendung über anderen Apps erlaubt ist.</string>
|
||||
|
@@ -60,6 +60,7 @@
|
||||
<string name="audio_route_wired_headset">Ενσύρματα κεφαλής</string>
|
||||
<string name="audio_route_wired_or_earpiece">Ενσύρματα ή ακουστικά</string>
|
||||
<string name="choose_audio_route">Επιλογή διαδρομής ήχου</string>
|
||||
<string name="calling_blocked_number">Ο αριθμός που καλείτε είναι αποκλεισμένος</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Ταχεία κλήση</string>
|
||||
<string name="manage_speed_dial">Διαχείριση ταχείας κλήσης</string>
|
||||
@@ -70,6 +71,7 @@
|
||||
<string name="disable_proximity_sensor">Απενεργοποίηση του αισθητήρα εγγύτητας κατά τη διάρκεια κλήσεων</string>
|
||||
<string name="disable_swipe_to_answer">Αντικατάσταση Σάρωσης με Κλικ στην απάντηση εισερχόμενων κλήσεων</string>
|
||||
<string name="show_incoming_calls_full_screen">Να εμφανίζονται πάντα οι εισερχόμενες κλήσεις σε πλήρη οθόνη</string>
|
||||
<string name="hide_dialpad_numbers">Απόκρυψη αριθμών πληκτρολογίου</string>
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Ακούω εισερχόμενες κλήσεις, αλλά η οθόνη δεν ανάβει. Τι μπορώ να κάνω;</string>
|
||||
<string name="faq_1_text">Τέτοια θέματα μπορεί να έχουν πολλούς λόγους που σχετίζονται με τη συσκευή και το σύστημα, και είναι δύσκολο να ειπωθούν γενικά. Θα πρέπει να ψάξετε στις ρυθμίσεις της συσκευής σας και να βεβαιωθείτε ότι η εφαρμογή επιτρέπεται να εμφανίζεται όταν βρίσκεται στο παρασκήνιο και να επιτρέπει την εμφάνισή της πάνω από άλλες εφαρμογές.</string>
|
||||
@@ -77,4 +79,4 @@
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
-->
|
||||
</resources>
|
||||
</resources>
|
@@ -60,6 +60,7 @@
|
||||
<string name="audio_route_wired_headset">Wired Headset</string>
|
||||
<string name="audio_route_wired_or_earpiece">Wired or Earpiece</string>
|
||||
<string name="choose_audio_route">Choose audio route</string>
|
||||
<string name="calling_blocked_number">The number you are calling is blocked</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Speed dial</string>
|
||||
<string name="manage_speed_dial">Manage speed dial</string>
|
||||
@@ -70,6 +71,8 @@
|
||||
<string name="disable_proximity_sensor">Disable proximity sensor during calls</string>
|
||||
<string name="disable_swipe_to_answer">Replace swiping at responding to incoming calls with clicking</string>
|
||||
<string name="show_incoming_calls_full_screen">Always display incoming calls on full screen</string>
|
||||
<string name="hide_dialpad_numbers">Hide dialpad numbers</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">I hear incoming calls, but the screen doesn\'t turn on. What can I do?</string>
|
||||
<string name="faq_1_text">Such issues can have many device and system specific reasons, hard to say in general. You should look around in your device settings and make sure that the app is allowed to pop up when in background and allow displaying over other apps.</string>
|
||||
|
@@ -60,6 +60,7 @@
|
||||
<string name="audio_route_wired_headset">Auricular con cable</string>
|
||||
<string name="audio_route_wired_or_earpiece">Auricular inalámbrico</string>
|
||||
<string name="choose_audio_route">Elija la salida del audio</string>
|
||||
<string name="calling_blocked_number">El número al que llamas está bloqueado</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Marcado rápido</string>
|
||||
<string name="manage_speed_dial">Administrar marcado rápido</string>
|
||||
@@ -70,6 +71,7 @@
|
||||
<string name="disable_proximity_sensor">Deshabilitar el sensor de proximidad durante las llamadas</string>
|
||||
<string name="disable_swipe_to_answer">Reemplazar deslizar para responder llamadas entrantes a pulsar</string>
|
||||
<string name="show_incoming_calls_full_screen">Siempre mostrar llamadas entrantes en pantalla completa</string>
|
||||
<string name="hide_dialpad_numbers">Ocultar los números del teclado</string>
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Escucho las llamadas entrantes, pero la pantalla no se enciende. ¿Qué puedo hacer\?</string>
|
||||
<string name="faq_1_text">Estos problemas pueden deberse a muchas razones específicas del dispositivo y del sistema, es difícil decirlo en general. Deberías mirar en la configuración de tu dispositivo y asegurarte de que la aplicación tiene permiso para aparecer cuando está en segundo plano y permitir la aplicación se muestre sobre otras aplicaciones.</string>
|
||||
|
@@ -20,8 +20,8 @@
|
||||
<string name="asterisk">Tärn</string>
|
||||
<string name="hashtag">Teemaviide</string>
|
||||
<string name="call_number">Helista numbrile</string>
|
||||
<string name="dialpad_beeps">Helisignaalide lubamine valimisnupu klõpsamisel</string>
|
||||
<string name="dialpad_vibrations">Võimaldab vibratsiooni valimisnuppude klõpsamisel</string>
|
||||
<string name="dialpad_beeps">Numbriklahvistiku nupu klõpsamisel esita helisignaali</string>
|
||||
<string name="dialpad_vibrations">Numbriklahvistiku nupu klõpsamisel värista telefoni</string>
|
||||
<!-- Dialer -->
|
||||
<string name="dialer">Telefon</string>
|
||||
<string name="accept">Nõustu</string>
|
||||
@@ -60,6 +60,7 @@
|
||||
<string name="audio_route_wired_headset">Juhtmega kõrvaklapid</string>
|
||||
<string name="audio_route_wired_or_earpiece">Juhtmega või kõrvasisesed kõrvaklapid</string>
|
||||
<string name="choose_audio_route">Vali heliruuting</string>
|
||||
<string name="calling_blocked_number">Sa üritad helistada blokeeritud numbrile</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Kiirvalimine</string>
|
||||
<string name="speed_dial_label">Klõpsa numbrit ja seosta ta konkreetse telefoniraamatu kirjega. Hiljem saad samale numbrile pikalt vajutades alustada kõnet määratud telefoninumbrile.</string>
|
||||
@@ -70,6 +71,7 @@
|
||||
<string name="disable_proximity_sensor">Kõnede ajaks lülita lähedusandur välja</string>
|
||||
<string name="disable_swipe_to_answer">Kõnele vastamisel kasuta viipamise asemel klõpsimist</string>
|
||||
<string name="show_incoming_calls_full_screen">Kuvage sissetulevad kõned alati täisekraanil</string>
|
||||
<string name="hide_dialpad_numbers">Peida numbriklahvistik</string>
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Ma kuulen sissetulevaid kõnesid, kuid ekraan ei lülitu sisse. Mida ma saan teha\?</string>
|
||||
<string name="faq_1_text">Sellistel probleemidel võib olla palju seadme- ja süsteemispetsiifilisi põhjusi, raske öelda üldiselt. Peaksite oma seadme seadetes ringi vaatama ja veenduma, et rakendusel on lubatud taustal hüpata ja lubada kuvamist üle teiste rakenduste.</string>
|
||||
|
@@ -1,29 +1,29 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">Yksinkertainen Numerovalitsin</string>
|
||||
<string name="app_launcher_name">Numerovalitsin</string>
|
||||
<string name="default_phone_app_prompt">Aseta tämä sovellus oletukseksi puheluille</string>
|
||||
<string name="allow_displaying_over_other_apps">Hyväksy näkyminen muiden sovellusten päällä, jotta sovellus toimii luotettavasti</string>
|
||||
<string name="app_name">Yksinkertainen puhelin</string>
|
||||
<string name="app_launcher_name">Puhelin</string>
|
||||
<string name="default_phone_app_prompt">Tää tästä oletussovellus puheluille</string>
|
||||
<string name="allow_displaying_over_other_apps">Salli näkyminen muiden sovellusten päällä, jotta sovellus toimii luotettavasti</string>
|
||||
<!-- Contacts -->
|
||||
<string name="could_not_access_contacts">Ei käyttöoikeutta yhteystietoihin</string>
|
||||
<string name="could_not_access_contacts">Yhteystietojen käyttöoikeutta ei ole</string>
|
||||
<!-- Recents -->
|
||||
<string name="no_previous_calls">Ei puheluita</string>
|
||||
<string name="could_not_access_the_call_history">Ei käyttöoikeutta puheluhistoriaan</string>
|
||||
<string name="no_previous_calls">Aiempia puheluita ei löytynyt</string>
|
||||
<string name="could_not_access_the_call_history">Puheluhistorian käyttöoikeutta ei ole</string>
|
||||
<string name="request_access">Pyydä käyttöoikeutta</string>
|
||||
<string name="remove_confirmation">Haluatko varmasti poistaa valitut kohteet puheluhistoriasta\?</string>
|
||||
<string name="clear_history_confirmation">Haluatko varmasti tyhjentää koko puheluhistorian\?</string>
|
||||
<string name="clear_history_confirmation">Haluatko varmasti tyhjentää puheluhistorian täysin\?</string>
|
||||
<string name="show_grouped_calls">Näytä ryhmitetyt puhelut</string>
|
||||
<string name="clear_call_history">Tyhjennä puheluhistoria</string>
|
||||
<string name="show_call_details">Näytä puhelun tiedot</string>
|
||||
<!-- Dialpad -->
|
||||
<string name="dialpad">Valintanäppäimistö</string>
|
||||
<string name="asterisk">Asteriski</string>
|
||||
<string name="hashtag">Risuaita</string>
|
||||
<string name="dialpad">Numeronäppäimistö</string>
|
||||
<string name="asterisk">Tähti</string>
|
||||
<string name="hashtag">Ruutu</string>
|
||||
<string name="call_number">Soita numeroon</string>
|
||||
<string name="dialpad_beeps">Äänimerkkien ottaminen käyttöön valintanäppäimen napsautuksen yhteydessä</string>
|
||||
<string name="dialpad_vibrations">Ota värinät käyttöön valintanäppäimen napsautuksista</string>
|
||||
<string name="dialpad_beeps">Piippaa numeronäppäimistön painalluksista</string>
|
||||
<string name="dialpad_vibrations">Värähdä numeronäppäimistön painalluksista</string>
|
||||
<!-- Dialer -->
|
||||
<string name="dialer">Numerovalitsin</string>
|
||||
<string name="dialer">Puhelin</string>
|
||||
<string name="accept">Hyväksy</string>
|
||||
<string name="accept_call">Vastaa puheluun</string>
|
||||
<string name="decline">Hylkää</string>
|
||||
@@ -33,48 +33,50 @@
|
||||
<string name="dialing">Soitetaan…</string>
|
||||
<string name="call_ended">Puhelu päättyi</string>
|
||||
<string name="call_ending">Puhelu päättyy</string>
|
||||
<string name="ongoing_call">Lähtevä puhelu</string>
|
||||
<string name="select_sim">Valitse SIM-kortti puhelulle</string>
|
||||
<string name="always_use_this_sim">Käytä tälle numerolle aina tätä SIM-korttia</string>
|
||||
<string name="unset_default_sim">Poista oletus-SIM</string>
|
||||
<string name="ongoing_call">Puhelu on käynnissä</string>
|
||||
<string name="select_sim">Valitse puheluun käytettävä liittymä</string>
|
||||
<string name="always_use_this_sim">Soita tähän numeroon aina tällä liittymällä</string>
|
||||
<string name="unset_default_sim">Poista oletusliittymän määritys</string>
|
||||
<string name="calls">Puhelut</string>
|
||||
<string name="turn_microphone_on">Laita mikrofoni päälle</string>
|
||||
<string name="turn_microphone_off">Laita mikrofoni pois päältä</string>
|
||||
<string name="turn_speaker_on">Laita kaiutin päälle</string>
|
||||
<string name="turn_speaker_off">Laita kaiutin pois päältä</string>
|
||||
<string name="show_dialpad">Näytä valintanäppäimistö</string>
|
||||
<string name="hide_dialpad">Piilota valintanäppäimistö</string>
|
||||
<string name="turn_microphone_on">Ota mikrofoni käyttöön</string>
|
||||
<string name="turn_microphone_off">Poista mikrofoni käytöstä</string>
|
||||
<string name="turn_speaker_on">Ota kaiutin käyttöön</string>
|
||||
<string name="turn_speaker_off">Poista kaiutin käytöstä</string>
|
||||
<string name="show_dialpad">Näytä numeronäppäimet</string>
|
||||
<string name="hide_dialpad">Piilota numeronäppäimet</string>
|
||||
<string name="end_call">Lopeta puhelu</string>
|
||||
<string name="hold_call">Puhelu pitoon</string>
|
||||
<string name="resume_call">Palaa puheluun</string>
|
||||
<string name="call_on_hold">Pidossa</string>
|
||||
<string name="call_swap">Vaihda puheluita</string>
|
||||
<string name="call_swap">Vaihda puhelua</string>
|
||||
<string name="call_merge">Yhdistä puhelut</string>
|
||||
<string name="call_split">Jaa puhelu</string>
|
||||
<string name="call_add">Lisää puhelu</string>
|
||||
<string name="conference_manage">Hallinnoi puhelinneuvottelua</string>
|
||||
<string name="conference">Neuvottelu</string>
|
||||
<string name="audio_route_speaker">Speaker</string>
|
||||
<string name="audio_route_earpiece">Earpiece</string>
|
||||
<string name="conference_manage">Hallitse ryhmäpuhelua</string>
|
||||
<string name="conference">Ryhmäpuhelu</string>
|
||||
<string name="audio_route_speaker">Kaiutin</string>
|
||||
<string name="audio_route_earpiece">Kuuloke</string>
|
||||
<string name="audio_route_bluetooth">Bluetooth</string>
|
||||
<string name="audio_route_wired_headset">Wired Headset</string>
|
||||
<string name="audio_route_wired_or_earpiece">Wired or Earpiece</string>
|
||||
<string name="choose_audio_route">Choose audio route</string>
|
||||
<string name="audio_route_wired_headset">Langallinen kuulokemikrofoni</string>
|
||||
<string name="audio_route_wired_or_earpiece">Langallinen tai kuuloke</string>
|
||||
<string name="choose_audio_route">Vslitse äänen reitti</string>
|
||||
<string name="calling_blocked_number">Soitettava numero on estetty</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Pikavalinta</string>
|
||||
<string name="manage_speed_dial">Pikavalinnan asetukset</string>
|
||||
<string name="speed_dial_label">Paina numeroa asettaaksesi sille yhteystiedon. Yhteystiedolle soitetaan, kun painat numeroa pitkään numerovalitsimessa.</string>
|
||||
<string name="manage_speed_dial">Hallitse pikavalintoja</string>
|
||||
<string name="speed_dial_label">Paina numeroa määrittääksesi siihen yhteystiedon. Voit soittaa yhteystiedolle painamalla puhelimen numeronäppäimistöä pitkään.</string>
|
||||
<!-- Settings -->
|
||||
<string name="group_subsequent_calls">Ryhmitä saman numeron peräkkäiset puhelut puheluhistoriassa</string>
|
||||
<string name="open_dialpad_by_default">Avaa numeronäppäimistö, kun sovellus avataan</string>
|
||||
<string name="disable_proximity_sensor">Poista läheisyysanturi käytöstä puheluiden aikana</string>
|
||||
<string name="group_subsequent_calls">Ryhmittele samojen numeroiden puhelut puheluhistoriassa</string>
|
||||
<string name="open_dialpad_by_default">Avaa sovellus numeronäppäimiin</string>
|
||||
<string name="disable_proximity_sensor">Poista läheisyysanturi käytöstä puheluiden ajaksi</string>
|
||||
<string name="disable_swipe_to_answer">Vastaa puheluihin painalluksella pyyhkäisyn sijaan</string>
|
||||
<string name="show_incoming_calls_full_screen">Näytä saapuvat puhelut aina koko näytöllä</string>
|
||||
<string name="hide_dialpad_numbers">Piilota numeronäppäimet</string>
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Kuulen saapuvat puhelut, mutta näyttö ei käynnisty. Mitä voin tehdä\?</string>
|
||||
<string name="faq_1_text">Tällaisiin ongelmiin voi olla monia laite- ja järjestelmäkohtaisia syitä, joita on vaikea sanoa yleisesti. Kannattaa tutkia laitteen asetuksia ja varmistaa, että sovelluksen on sallittu ponnahtaa esiin, kun se on taustalla, ja sallia sen näyttäminen muiden sovellusten yläpuolella.</string>
|
||||
<string name="faq_1_title">Kuulen saapuvat puhelut, mutta näyttö on pimeänä. Mitä voin tehdä\?</string>
|
||||
<string name="faq_1_text">Tällaisiin ongelmiin voi olla monia laite- ja järjestelmäkohtaisia syitä, joiden yleistäminen on hankalaa. Kannattaa tutkia laitteen asetuksia ja varmistaa, että sovelluksella on oikeus ponnahtaa esiin taustalta ja näkyä muiden sovellusten päällä.</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
-->
|
||||
</resources>
|
||||
</resources>
|
@@ -54,12 +54,13 @@
|
||||
<string name="call_add">Ajouter un appel</string>
|
||||
<string name="conference_manage">Gérer une conférence téléphonique</string>
|
||||
<string name="conference">Conférence</string>
|
||||
<string name="audio_route_speaker">Speaker</string>
|
||||
<string name="audio_route_earpiece">Earpiece</string>
|
||||
<string name="audio_route_speaker">Haut-parleur</string>
|
||||
<string name="audio_route_earpiece">Écouteur</string>
|
||||
<string name="audio_route_bluetooth">Bluetooth</string>
|
||||
<string name="audio_route_wired_headset">Wired Headset</string>
|
||||
<string name="audio_route_wired_or_earpiece">Wired or Earpiece</string>
|
||||
<string name="choose_audio_route">Choose audio route</string>
|
||||
<string name="audio_route_wired_headset">Casque filaire</string>
|
||||
<string name="audio_route_wired_or_earpiece">Filaire ou écouteur</string>
|
||||
<string name="choose_audio_route">Choisir la sortie audio</string>
|
||||
<string name="calling_blocked_number">Le numéro que vous appelez est bloqué</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Numérotation rapide</string>
|
||||
<string name="manage_speed_dial">Gérer la numérotation rapide</string>
|
||||
@@ -70,6 +71,7 @@
|
||||
<string name="disable_proximity_sensor">Désactiver le capteur de proximité pendant les appels</string>
|
||||
<string name="disable_swipe_to_answer">Remplacer le balayage pour répondre aux appels entrants par un clic</string>
|
||||
<string name="show_incoming_calls_full_screen">Toujours afficher les appels entrants en plein écran</string>
|
||||
<string name="hide_dialpad_numbers">Masquer les numéros du clavier</string>
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">J\'entends les appels entrants, mais l\'écran ne s\'allume pas. Que puis-je faire \?</string>
|
||||
<string name="faq_1_text">Ces problèmes peuvent avoir de nombreuses raisons spécifiques à l\'appareil et au système, il est difficile d\'en parler en général. Vous devriez consulter les paramètres de votre appareil et vous assurer que l\'application est autorisée à apparaître en arrière-plan et à s\'afficher au-dessus des autres applications.</string>
|
||||
@@ -77,4 +79,4 @@
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
-->
|
||||
</resources>
|
||||
</resources>
|
@@ -60,6 +60,7 @@
|
||||
<string name="audio_route_wired_headset">Auriculares con cable</string>
|
||||
<string name="audio_route_wired_or_earpiece">Auriculares sen fíos</string>
|
||||
<string name="choose_audio_route">Escollela saida do audio</string>
|
||||
<string name="calling_blocked_number">O número ao que estás chamando está bloqueado</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Marcación rápida</string>
|
||||
<string name="manage_speed_dial">Xestionar marcacións rápidas</string>
|
||||
@@ -70,6 +71,7 @@
|
||||
<string name="disable_proximity_sensor">Desactivar sensor de proximidade durante as chamadas</string>
|
||||
<string name="disable_swipe_to_answer">Substituír o xesto de desprazar por un click para responder</string>
|
||||
<string name="show_incoming_calls_full_screen">Mostrar sempre as chamadas entrantes a pantalla enteira</string>
|
||||
<string name="hide_dialpad_numbers">Ocultalos números do teclado</string>
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Escoito chamadas entrantes, pero a pantalla non se acende. Que podo facer\?</string>
|
||||
<string name="faq_1_text">Estes problemas poden ter moitas razóns específicas do dispositivo e do sistema, difíciles de dicir en xeral. Debes mirar ao teu redor na configuración do teu dispositivo e asegurarte de que a aplicación pode aparecer cando está en segundo plano e permitir que se vexa sobre outras aplicacións.</string>
|
||||
|
@@ -54,12 +54,13 @@
|
||||
<string name="call_add">Dodaj poziv</string>
|
||||
<string name="conference_manage">Upravljaj konferencijskim pozivima</string>
|
||||
<string name="conference">Konferencija</string>
|
||||
<string name="audio_route_speaker">Speaker</string>
|
||||
<string name="audio_route_earpiece">Earpiece</string>
|
||||
<string name="audio_route_speaker">Zvučnik</string>
|
||||
<string name="audio_route_earpiece">Slušalica</string>
|
||||
<string name="audio_route_bluetooth">Bluetooth</string>
|
||||
<string name="audio_route_wired_headset">Wired Headset</string>
|
||||
<string name="audio_route_wired_or_earpiece">Wired or Earpiece</string>
|
||||
<string name="choose_audio_route">Choose audio route</string>
|
||||
<string name="audio_route_wired_headset">Analogna slušalica s mikrofonom</string>
|
||||
<string name="audio_route_wired_or_earpiece">Analogno ili slušalica</string>
|
||||
<string name="choose_audio_route">Odaberi audio izlaz</string>
|
||||
<string name="calling_blocked_number">Broj koji zoveš je blokiran</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Brzo biranje</string>
|
||||
<string name="manage_speed_dial">Upravljaj brzim biranjem</string>
|
||||
@@ -70,6 +71,7 @@
|
||||
<string name="disable_proximity_sensor">Isključi senzor blizine tijekom poziva</string>
|
||||
<string name="disable_swipe_to_answer">Zamijeni povlačenje prstom za odgovaranje na dolazne pozive pritiskom</string>
|
||||
<string name="show_incoming_calls_full_screen">Uvijek prikaži dolazne pozive u cjeloekranskom prikazu</string>
|
||||
<string name="hide_dialpad_numbers">Sakrij brojeve tipkovnice telefona</string>
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Čujem dolazne pozive, ali ekran se ne uključuje. Što mogu učiniti\?</string>
|
||||
<string name="faq_1_text">Takvi problemi mogu imati mnogo razloga specifičnih za uređaj i sustav, koje je teško reći općenito. Trebali biste pogledati uokolo u postavkama svog uređaja i provjeriti je li aplikaciji dopušteno iskakanje u pozadini i dopuštenje prikazivanja preko drugih aplikacija.</string>
|
||||
|
@@ -54,12 +54,13 @@
|
||||
<string name="call_add">Hívás hozzáadása</string>
|
||||
<string name="conference_manage">Konferenciahívás kezelése</string>
|
||||
<string name="conference">Konferencia</string>
|
||||
<string name="audio_route_speaker">Speaker</string>
|
||||
<string name="audio_route_earpiece">Earpiece</string>
|
||||
<string name="audio_route_speaker">Hangszóró</string>
|
||||
<string name="audio_route_earpiece">Fülhallgató</string>
|
||||
<string name="audio_route_bluetooth">Bluetooth</string>
|
||||
<string name="audio_route_wired_headset">Wired Headset</string>
|
||||
<string name="audio_route_wired_or_earpiece">Wired or Earpiece</string>
|
||||
<string name="choose_audio_route">Choose audio route</string>
|
||||
<string name="audio_route_wired_headset">Vezetékes fejhallgató</string>
|
||||
<string name="audio_route_wired_or_earpiece">Vezetékes vagy vezeték nélküli fülhallgató</string>
|
||||
<string name="choose_audio_route">Válasszon hangkimenetet</string>
|
||||
<string name="calling_blocked_number">A hívott szám blokkolva van</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Gyors tárcsázó</string>
|
||||
<string name="manage_speed_dial">Gyors tárcsázó kezelése</string>
|
||||
@@ -70,6 +71,7 @@
|
||||
<string name="disable_proximity_sensor">Közelségérzékelő kikapcsolása a hívások során</string>
|
||||
<string name="disable_swipe_to_answer">Csúsztatás kattintásra cserélése a bejövő hívásoknál</string>
|
||||
<string name="show_incoming_calls_full_screen">Bejövő hívások megjelenítése mindig teljes képernyőn</string>
|
||||
<string name="hide_dialpad_numbers">Tárcsázószámok elrejtése</string>
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Bejövő hívást hallok, de a képernyő nem kapcsol be. Mit tehetek\?</string>
|
||||
<string name="faq_1_text">Az ilyen problémáknak számos eszköz- és rendszerfüggő oka lehet, általánosságban nehéz megmondani. Nézzen körül az eszközbeállításokban, és győződjön meg róla, hogy az alkalmazás előbújhat-e a háttérből, és megjelenhet-e más alkalmazások felett.</string>
|
||||
@@ -77,4 +79,4 @@
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
-->
|
||||
</resources>
|
||||
</resources>
|
@@ -20,8 +20,8 @@
|
||||
<string name="asterisk">Bintang</string>
|
||||
<string name="hashtag">Pagar</string>
|
||||
<string name="call_number">Nomor telepon</string>
|
||||
<string name="dialpad_beeps">Enable beeps on dialpad button clicks</string>
|
||||
<string name="dialpad_vibrations">Enable vibrations on dialpad button clicks</string>
|
||||
<string name="dialpad_beeps">Aktifkan suara ketika tombol papan ditekan</string>
|
||||
<string name="dialpad_vibrations">Aktifkan getaran ketika tombol papan ditekan</string>
|
||||
<!-- Dialer -->
|
||||
<string name="dialer">Dialer</string>
|
||||
<string name="accept">Menerima</string>
|
||||
@@ -45,21 +45,22 @@
|
||||
<string name="show_dialpad">Tampilkan dialpad</string>
|
||||
<string name="hide_dialpad">Sembunyikan dialpad</string>
|
||||
<string name="end_call">Akhiri panggilan</string>
|
||||
<string name="hold_call">Hold call</string>
|
||||
<string name="resume_call">Resume call</string>
|
||||
<string name="call_on_hold">On Hold</string>
|
||||
<string name="call_swap">Swap calls</string>
|
||||
<string name="call_merge">Merge calls</string>
|
||||
<string name="call_split">Split call</string>
|
||||
<string name="call_add">Add call</string>
|
||||
<string name="conference_manage">Manage conference call</string>
|
||||
<string name="conference">Conference</string>
|
||||
<string name="hold_call">Jeda panggilan</string>
|
||||
<string name="resume_call">Lanjutkan panggilan</string>
|
||||
<string name="call_on_hold">Dijeda</string>
|
||||
<string name="call_swap">Ubah panggilan</string>
|
||||
<string name="call_merge">Gabungkan panggilan</string>
|
||||
<string name="call_split">Pisahkan panggilan</string>
|
||||
<string name="call_add">Tambahkan panggilan</string>
|
||||
<string name="conference_manage">Kelola panggilan konferensi</string>
|
||||
<string name="conference">Konferensi</string>
|
||||
<string name="audio_route_speaker">Speaker</string>
|
||||
<string name="audio_route_earpiece">Earpiece</string>
|
||||
<string name="audio_route_earpiece">Earphone</string>
|
||||
<string name="audio_route_bluetooth">Bluetooth</string>
|
||||
<string name="audio_route_wired_headset">Wired Headset</string>
|
||||
<string name="audio_route_wired_or_earpiece">Wired or Earpiece</string>
|
||||
<string name="choose_audio_route">Choose audio route</string>
|
||||
<string name="audio_route_wired_headset">Headset Kabel</string>
|
||||
<string name="audio_route_wired_or_earpiece">Kabel atau Earphone</string>
|
||||
<string name="choose_audio_route">Pilih rute audio</string>
|
||||
<string name="calling_blocked_number">Nomor yang Anda panggil diblokir</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Panggilan cepat</string>
|
||||
<string name="manage_speed_dial">Kelola panggilan cepat</string>
|
||||
@@ -69,12 +70,13 @@
|
||||
<string name="open_dialpad_by_default">Buka dialpad secara default ketika aplikasi dibuka</string>
|
||||
<string name="disable_proximity_sensor">Nonaktifkan sensor kedekatan saat ada di panggilan</string>
|
||||
<string name="disable_swipe_to_answer">Ganti menggesek saat menanggapi panggilan masuk dengan mengklik</string>
|
||||
<string name="show_incoming_calls_full_screen">Always display incoming calls on full screen</string>
|
||||
<string name="show_incoming_calls_full_screen">Selalu tampilkan panggilan masuk dengan layar penuh</string>
|
||||
<string name="hide_dialpad_numbers">Sembunyikan nomor tombol papan</string>
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">I hear incoming calls, but the screen doesn\'t turn on. What can I do?</string>
|
||||
<string name="faq_1_text">Such issues can have many device and system specific reasons, hard to say in general. You should look around in your device settings and make sure that the app is allowed to pop up when in background and allow displaying over other apps.</string>
|
||||
<string name="faq_1_title">Saya mendengar panggilan masuk, tetapi layarnya tidak menyala\? Apa yang bisa saya lakukan\?</string>
|
||||
<string name="faq_1_text">Beberapa masalah dapat memiliki alasan perangkat dan sistem spesifik, tidak mudah untuk diberi tahu secara umum. Anda seharusnya melihat dalam pengaturan perangkat Anda dan memastikan bahwa aplikasi diperbolehkan untuk muncul ketika dalam latar belakang dan memperbolehkan menampilkan di atas aplikasi lain.</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
-->
|
||||
</resources>
|
||||
</resources>
|
@@ -54,12 +54,13 @@
|
||||
<string name="call_add">Aggiungi una chiamata</string>
|
||||
<string name="conference_manage">Gestisci la teleconferenza</string>
|
||||
<string name="conference">Conferenza</string>
|
||||
<string name="audio_route_speaker">Speaker</string>
|
||||
<string name="audio_route_earpiece">Earpiece</string>
|
||||
<string name="audio_route_speaker">Altoparlante</string>
|
||||
<string name="audio_route_earpiece">Auricolare</string>
|
||||
<string name="audio_route_bluetooth">Bluetooth</string>
|
||||
<string name="audio_route_wired_headset">Wired Headset</string>
|
||||
<string name="audio_route_wired_or_earpiece">Wired or Earpiece</string>
|
||||
<string name="choose_audio_route">Choose audio route</string>
|
||||
<string name="audio_route_wired_headset">Cuffia cablata</string>
|
||||
<string name="audio_route_wired_or_earpiece">Cablato o auricolare</string>
|
||||
<string name="choose_audio_route">Scegli l\'uscita audio</string>
|
||||
<string name="calling_blocked_number">Il numero che stai chiamando è bloccato</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Contatti veloci</string>
|
||||
<string name="manage_speed_dial">Gestisci i contatti veloci</string>
|
||||
@@ -70,6 +71,7 @@
|
||||
<string name="disable_proximity_sensor">Disattiva il sensore di prossimità durante le chiamate</string>
|
||||
<string name="disable_swipe_to_answer">Sostituisci lo scorrimento nel rispondere alle chiamate in arrivo con un clic</string>
|
||||
<string name="show_incoming_calls_full_screen">Visualizza sempre le chiamate in arrivo a schermo intero</string>
|
||||
<string name="hide_dialpad_numbers">Nascondi i numeri del tastierino</string>
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Sento le chiamate in arrivo, ma lo schermo non si accende. Cosa posso fare\?</string>
|
||||
<string name="faq_1_text">Tali problemi possono avere molte ragioni specifiche per il dispositivo e il sistema, è difficile identificarle in generale. Dovresti dare un\'occhiata alle impostazioni del dispositivo e assicurarti che l\'app sia autorizzata a comparire quando è in background e che permetta la visualizzazione sopra le altre app.</string>
|
||||
@@ -77,4 +79,4 @@
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
-->
|
||||
</resources>
|
||||
</resources>
|
@@ -60,6 +60,7 @@
|
||||
<string name="audio_route_wired_headset">Wired Headset</string>
|
||||
<string name="audio_route_wired_or_earpiece">Wired or Earpiece</string>
|
||||
<string name="choose_audio_route">Choose audio route</string>
|
||||
<string name="calling_blocked_number">The number you are calling is blocked</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">חיוג מהיר</string>
|
||||
<string name="manage_speed_dial">נהל חיוג מהיר</string>
|
||||
@@ -70,6 +71,8 @@
|
||||
<string name="disable_proximity_sensor">השבת את חיישן הקרבה במהלך שיחות</string>
|
||||
<string name="disable_swipe_to_answer">החלף החלקה בתגובה לשיחות נכנסות בלחיצה</string>
|
||||
<string name="show_incoming_calls_full_screen">Always display incoming calls on full screen</string>
|
||||
<string name="hide_dialpad_numbers">Hide dialpad numbers</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">I hear incoming calls, but the screen doesn\'t turn on. What can I do?</string>
|
||||
<string name="faq_1_text">Such issues can have many device and system specific reasons, hard to say in general. You should look around in your device settings and make sure that the app is allowed to pop up when in background and allow displaying over other apps.</string>
|
||||
|
@@ -60,19 +60,21 @@
|
||||
<string name="audio_route_wired_headset">有線ヘッドセット</string>
|
||||
<string name="audio_route_wired_or_earpiece">有線またはイヤーピース</string>
|
||||
<string name="choose_audio_route">音声の出力先を選択</string>
|
||||
<string name="calling_blocked_number">その番号はブロックした番号です</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">スピードダイヤル</string>
|
||||
<string name="manage_speed_dial">スピードダイヤルの管理</string>
|
||||
<string name="speed_dial_label">番号をクリックすると連絡先を割り当てることが出来ます。電話で指定された番号を長押しすると、指定された連絡先に素早く電話をかけることが出来ます。</string>
|
||||
<string name="speed_dial_label">番号をタップすると連絡先を割り当てることが出来ます。ダイヤルパッドで割り当てた番号を長押しすると、割り当てた連絡先に素早く電話をかけることが出来ます。</string>
|
||||
<!-- Settings -->
|
||||
<string name="group_subsequent_calls">後続の通話をコールログの同じ番号でグループ化する</string>
|
||||
<string name="group_subsequent_calls">発着信履歴で同じ番号による連続した通話をグループ化する</string>
|
||||
<string name="open_dialpad_by_default">アプリを開いたときにデフォルトでダイヤルパッドを開く</string>
|
||||
<string name="disable_proximity_sensor">通話中に近接センサーを無効にする</string>
|
||||
<string name="disable_swipe_to_answer">着信に応答する際のスワイプ操作をクリック操作に置き換える</string>
|
||||
<string name="show_incoming_calls_full_screen">常に着信通知を全画面に表示する</string>
|
||||
<string name="disable_swipe_to_answer">着信に応答する際のスワイプ操作をタップ操作に置き換える</string>
|
||||
<string name="show_incoming_calls_full_screen">着信通知を常に全画面で表示する</string>
|
||||
<string name="hide_dialpad_numbers">ダイヤルパッドの番号を表示しない</string>
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">着信音は聞こえるのですが、画面がつきません。どうしたらよいですか?</string>
|
||||
<string name="faq_1_text">このような問題は、デバイスやシステム固有の理由が多く、一概には言えません。端末の設定を見て、アプリがバックグラウンドでポップアップすることを許可しているか、他のアプリの上に表示することを許可しているかを確認する必要があります。</string>
|
||||
<string name="faq_1_text">このような問題は、端末やシステム固有の理由が多く、一概には言えません。端末の設定を見て、アプリがバックグラウンドでポップアップすることを許可しているか、他のアプリの上に表示することを許可しているかを確認する必要があります。</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@@ -60,6 +60,7 @@
|
||||
<string name="audio_route_wired_headset">Wired Headset</string>
|
||||
<string name="audio_route_wired_or_earpiece">Wired or Earpiece</string>
|
||||
<string name="choose_audio_route">Choose audio route</string>
|
||||
<string name="calling_blocked_number">The number you are calling is blocked</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Spartusis rinkimas</string>
|
||||
<string name="manage_speed_dial">Tvarkyti spartųjį rinkimą</string>
|
||||
@@ -70,6 +71,8 @@
|
||||
<string name="disable_proximity_sensor">Skambučių metu išjungti artumo jutiklį</string>
|
||||
<string name="disable_swipe_to_answer">Atsiliepiant į įeinančius skambučius perbraukimą pakeiskite paspaudimu</string>
|
||||
<string name="show_incoming_calls_full_screen">Visada rodykite įeinančius skambučius per visą ekraną</string>
|
||||
<string name="hide_dialpad_numbers">Hide dialpad numbers</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">I hear incoming calls, but the screen doesn\'t turn on. What can I do?</string>
|
||||
<string name="faq_1_text">Such issues can have many device and system specific reasons, hard to say in general. You should look around in your device settings and make sure that the app is allowed to pop up when in background and allow displaying over other apps.</string>
|
||||
|
@@ -60,6 +60,7 @@
|
||||
<string name="audio_route_wired_headset">വയർഡ് ഹെഡ്സെറ്റ്</string>
|
||||
<string name="audio_route_wired_or_earpiece">വയർഡ് അല്ലെങ്കിൽ ഇയർപീസ്</string>
|
||||
<string name="choose_audio_route">ഓഡിയോ യാതാമാര്ഗം തിരഞ്ഞെടുക്കുക</string>
|
||||
<string name="calling_blocked_number">The number you are calling is blocked</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">സ്പീഡ് ഡയൽ</string>
|
||||
<string name="manage_speed_dial">സ്പീഡ് ഡയൽ നിയന്ത്രിക്കുക</string>
|
||||
@@ -70,6 +71,7 @@
|
||||
<string name="disable_proximity_sensor">കോളുകൾക്കിടയിൽ പ്രോക്സിമിറ്റി സെൻസർ പ്രവർത്തനരഹിതമാക്കുക</string>
|
||||
<string name="disable_swipe_to_answer">ഇൻകമിംഗ് കോളുകളോട് പ്രതികരിക്കുമ്പോൾ സ്വൈപ്പിംഗ് മാറ്റി പകരം ഇൻകമിംഗ് കോളിൽ ക്ലിക്ക് ചെയ്യുക</string>
|
||||
<string name="show_incoming_calls_full_screen">എല്ലായ്പ്പോഴും ഇൻകമിംഗ് കോളുകൾ പൂർണ്ണ സ്ക്രീനിൽ പ്രദർശിപ്പിക്കുക</string>
|
||||
<string name="hide_dialpad_numbers">Hide dialpad numbers</string>
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">ഞാൻ ഇൻകമിംഗ് കോളുകൾ കേൾക്കുന്നു, പക്ഷേ സ്ക്രീൻ ഓണാക്കുന്നില്ല. എനിക്ക് എന്ത് ചെയ്യാൻ കഴിയും\?</string>
|
||||
<string name="faq_1_text">അത്തരം പ്രശ്നങ്ങൾക്ക് ഉപകരണത്തിനും സിസ്റ്റത്തിനും പ്രത്യേക കാരണങ്ങളുണ്ടാകാം, പൊതുവായി പറയാൻ പ്രയാസമാണ്. നിങ്ങളുടെ ഉപകരണ ക്രമീകരണങ്ങളിൽ നിങ്ങൾ ചുറ്റും നോക്കുകയും പശ്ചാത്തലത്തിലായിരിക്കുമ്പോൾ ആപ്പ് പോപ്പ് അപ്പ് ചെയ്യാൻ അനുവദിക്കുകയും മറ്റ് ആപ്പുകളിൽ പ്രദർശിപ്പിക്കാൻ അനുവദിക്കുകയും വേണം.</string>
|
||||
@@ -77,4 +79,4 @@
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
-->
|
||||
</resources>
|
||||
</resources>
|
||||
|
@@ -60,6 +60,7 @@
|
||||
<string name="audio_route_wired_headset">Wired Headset</string>
|
||||
<string name="audio_route_wired_or_earpiece">Wired or Earpiece</string>
|
||||
<string name="choose_audio_route">Choose audio route</string>
|
||||
<string name="calling_blocked_number">The number you are calling is blocked</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Hurtigvalg</string>
|
||||
<string name="manage_speed_dial">Administrer hurtigvalg</string>
|
||||
@@ -70,6 +71,8 @@
|
||||
<string name="disable_proximity_sensor">Deaktiver nærhetssensor under samtaler</string>
|
||||
<string name="disable_swipe_to_answer">Erstatt sveiping ved å svare på innkommende anrop med å klikke</string>
|
||||
<string name="show_incoming_calls_full_screen">Always display incoming calls on full screen</string>
|
||||
<string name="hide_dialpad_numbers">Hide dialpad numbers</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">I hear incoming calls, but the screen doesn\'t turn on. What can I do?</string>
|
||||
<string name="faq_1_text">Such issues can have many device and system specific reasons, hard to say in general. You should look around in your device settings and make sure that the app is allowed to pop up when in background and allow displaying over other apps.</string>
|
||||
|
@@ -60,6 +60,7 @@
|
||||
<string name="audio_route_wired_headset">Bedrade koptelefoon</string>
|
||||
<string name="audio_route_wired_or_earpiece">Bedraad of via oordopje(s)</string>
|
||||
<string name="choose_audio_route">Geluidsroute kiezen</string>
|
||||
<string name="calling_blocked_number">Het gebelde nummer is geblokkeerd</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Snelkiesnummer</string>
|
||||
<string name="manage_speed_dial">Snelkiezen beheren</string>
|
||||
@@ -70,6 +71,7 @@
|
||||
<string name="disable_proximity_sensor">Nabijheidssensor uitschakelen tijdens bellen</string>
|
||||
<string name="disable_swipe_to_answer">Vervang vegen door klikken bij het aannemen van gesprekken</string>
|
||||
<string name="show_incoming_calls_full_screen">Inkomende gesprekken altijd op volledig scherm tonen</string>
|
||||
<string name="hide_dialpad_numbers">Toetsenblokcijfers verbergen</string>
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Ik hoor dat er een gesprek binnenkomt, maar het scherm gaat niet aan. Wat kan ik doen\?</string>
|
||||
<string name="faq_1_text">Dit soort problemen kan vele oorzaken hebben, specifiek voor bepaalde apparaten en software. Controleer in ieder geval of voor deze app in de systeeminstellingen \"Weergeven vóór andere apps\" is toegestaan en of bij meldingen voor inkomende gesprekken \"Weergeven op scherm\" is ingeschakeld.</string>
|
||||
|
@@ -60,6 +60,7 @@
|
||||
<string name="audio_route_wired_headset">Wired Headset</string>
|
||||
<string name="audio_route_wired_or_earpiece">Wired or Earpiece</string>
|
||||
<string name="choose_audio_route">Choose audio route</string>
|
||||
<string name="calling_blocked_number">The number you are calling is blocked</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Speed dial</string>
|
||||
<string name="manage_speed_dial">Manage speed dial</string>
|
||||
@@ -70,6 +71,8 @@
|
||||
<string name="disable_proximity_sensor">Disable proximity sensor during calls</string>
|
||||
<string name="disable_swipe_to_answer">Replace swiping at responding to incoming calls with clicking</string>
|
||||
<string name="show_incoming_calls_full_screen">Always display incoming calls on full screen</string>
|
||||
<string name="hide_dialpad_numbers">Hide dialpad numbers</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">I hear incoming calls, but the screen doesn\'t turn on. What can I do\?</string>
|
||||
<string name="faq_1_text">Such issues can have many device and system specific reasons, hard to say in general. You should look around in your device settings and make sure that the app is allowed to pop up when in background and allow displaying over other apps.</string>
|
||||
|
@@ -60,6 +60,7 @@
|
||||
<string name="audio_route_wired_headset">Słuchawki przewodowe</string>
|
||||
<string name="audio_route_wired_or_earpiece">Słuchawka urządzenia lub przewodowa</string>
|
||||
<string name="choose_audio_route">Wybierz urządzenie audio</string>
|
||||
<string name="calling_blocked_number">Numer, na który dzwonisz, jest zablokowany</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Szybkie wybieranie</string>
|
||||
<string name="manage_speed_dial">Zarządzaj szybkim wybieraniem</string>
|
||||
@@ -70,6 +71,7 @@
|
||||
<string name="disable_proximity_sensor">Wyłączaj czujnik zbliżeniowy podczas połączeń</string>
|
||||
<string name="disable_swipe_to_answer">Zastąp naciśnięciem gest przesunięcia do odpowiadania na połączenia przychodzące</string>
|
||||
<string name="show_incoming_calls_full_screen">Zawsze wyświetlaj połączenia przychodzące na pełnym ekranie</string>
|
||||
<string name="hide_dialpad_numbers">Ukryj cyfry panelu wybierania</string>
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Słyszę połączenia przychodzące, ale ekran się nie włącza. Co mogę zrobić\?</string>
|
||||
<string name="faq_1_text">Takie problemy mogą mieć wiele przyczyn specyficznych dla urządzenia i systemu; ogólnie trudno powiedzieć. Powinieneś/powinnaś rozejrzeć się w ustawieniach swojego urządzenia i upewnić się, że aplikacja może pojawiać się, gdy jest w tle, i wyświetlać się nad innymi aplikacjami.</string>
|
||||
|
@@ -20,8 +20,8 @@
|
||||
<string name="asterisk">Asterisco</string>
|
||||
<string name="hashtag">Hashtag</string>
|
||||
<string name="call_number">Numero de telefone</string>
|
||||
<string name="dialpad_beeps">Enable beeps on dialpad button clicks</string>
|
||||
<string name="dialpad_vibrations">Enable vibrations on dialpad button clicks</string>
|
||||
<string name="dialpad_beeps">Ativar sons do teclado</string>
|
||||
<string name="dialpad_vibrations">Ativar vibrações do teclado</string>
|
||||
<!-- Dialer -->
|
||||
<string name="dialer">Discador</string>
|
||||
<string name="accept">Aceitar</string>
|
||||
@@ -54,12 +54,13 @@
|
||||
<string name="call_add">Adicionar chamada</string>
|
||||
<string name="conference_manage">Gerenciar chamada em conferência</string>
|
||||
<string name="conference">Conferência</string>
|
||||
<string name="audio_route_speaker">Speaker</string>
|
||||
<string name="audio_route_earpiece">Earpiece</string>
|
||||
<string name="audio_route_speaker">Alto falante</string>
|
||||
<string name="audio_route_earpiece">Fone de ouvido</string>
|
||||
<string name="audio_route_bluetooth">Bluetooth</string>
|
||||
<string name="audio_route_wired_headset">Wired Headset</string>
|
||||
<string name="audio_route_wired_headset">Headset com fio</string>
|
||||
<string name="audio_route_wired_or_earpiece">Wired or Earpiece</string>
|
||||
<string name="choose_audio_route">Choose audio route</string>
|
||||
<string name="choose_audio_route">Escolha a rota de áudio</string>
|
||||
<string name="calling_blocked_number">O número que você está ligando está bloqueado</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Ligação rápida</string>
|
||||
<string name="manage_speed_dial">Gerenciar ligações rápidas</string>
|
||||
@@ -69,10 +70,11 @@
|
||||
<string name="open_dialpad_by_default">Mostrar o discador ao abrir o aplicativo</string>
|
||||
<string name="disable_proximity_sensor">Desativar sensor de proximidade durante as chamadas</string>
|
||||
<string name="disable_swipe_to_answer">Clicar em vez de deslizar para responder chamadas</string>
|
||||
<string name="show_incoming_calls_full_screen">Always display incoming calls on full screen</string>
|
||||
<string name="show_incoming_calls_full_screen">Sempre exibir as chamadas recebidas em tela cheia</string>
|
||||
<string name="hide_dialpad_numbers">Ocultar números do teclado</string>
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">I hear incoming calls, but the screen doesn\'t turn on. What can I do?</string>
|
||||
<string name="faq_1_text">Such issues can have many device and system specific reasons, hard to say in general. You should look around in your device settings and make sure that the app is allowed to pop up when in background and allow displaying over other apps.</string>
|
||||
<string name="faq_1_title">Ouço chamadas recebidas, mas a tela não liga. O que eu posso fazer?</string>
|
||||
<string name="faq_1_text">Esses problemas podem ter muitos motivos específicos do dispositivo e do sistema, difíceis de dizer em geral. Você deve olhar em volta nas configurações do seu dispositivo e certificar-se de que o aplicativo pode aparecer quando estiver em segundo plano e permitir a exibição sobre outros aplicativos.</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@@ -1,80 +1,82 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">Simple Dialer</string>
|
||||
<string name="app_launcher_name">Marcador</string>
|
||||
<string name="default_phone_app_prompt">Por favor, faça deste aplicativo o aplicativo de telefone padrão</string>
|
||||
<string name="allow_displaying_over_other_apps">Por favor, permita exibir sobre outros aplicativos para um comportamento confiável</string>
|
||||
<string name="app_launcher_name">Telefone</string>
|
||||
<string name="default_phone_app_prompt">Tornar esta a aplicação padrão</string>
|
||||
<string name="allow_displaying_over_other_apps">Deve permitir que esta aplicação seja mostrada por cima das outras para evitar comportamentos erráticos</string>
|
||||
<!-- Contacts -->
|
||||
<string name="could_not_access_contacts">Não pude acessar seus contatos</string>
|
||||
<string name="could_not_access_contacts">Não foi possível aceder aos contactos</string>
|
||||
<!-- Recents -->
|
||||
<string name="no_previous_calls">Não existem chamadas anteriores</string>
|
||||
<string name="could_not_access_the_call_history">Não pude acessar o histórico de chamadas</string>
|
||||
<string name="could_not_access_the_call_history">Não foi possível aceder ao histórico de chamadas</string>
|
||||
<string name="request_access">Pedir acesso</string>
|
||||
<string name="remove_confirmation">Tem certeza de que deseja remover os itens selecionados do Histórico de Chamadas\?</string>
|
||||
<string name="clear_history_confirmation">Tem certeza que quer remover tudo do Histórico de Chamadas\?</string>
|
||||
<string name="remove_confirmation">Tem certeza de que deseja remover os itens selecionados do histórico de chamadas\?</string>
|
||||
<string name="clear_history_confirmation">Tem a certeza de que pretende remover tudo do histórico de chamadas\?</string>
|
||||
<string name="show_grouped_calls">Mostrar chamadas em grupo</string>
|
||||
<string name="clear_call_history">Limpar registo de chamadas</string>
|
||||
<string name="show_call_details">Mostrar detalhes da chamada</string>
|
||||
<!-- Dialpad -->
|
||||
<string name="dialpad">Teclado de discagem</string>
|
||||
<string name="dialpad">Marcador</string>
|
||||
<string name="asterisk">Asterisco</string>
|
||||
<string name="hashtag">hashtag</string>
|
||||
<string name="call_number">Ligar para o número</string>
|
||||
<string name="dialpad_beeps">Enable beeps on dialpad button clicks</string>
|
||||
<string name="dialpad_vibrations">Enable vibrations on dialpad button clicks</string>
|
||||
<string name="hashtag">\'Hashtag\'</string>
|
||||
<string name="call_number">Ligar</string>
|
||||
<string name="dialpad_beeps">Ativar sons do teclado</string>
|
||||
<string name="dialpad_vibrations">Ativar vibração do teclado</string>
|
||||
<!-- Dialer -->
|
||||
<string name="dialer">Discador</string>
|
||||
<string name="dialer">Marcador</string>
|
||||
<string name="accept">Aceitar</string>
|
||||
<string name="accept_call">Aceitar chamada</string>
|
||||
<string name="decline">Recusar</string>
|
||||
<string name="decline_call">Rejeitar chamada</string>
|
||||
<string name="decline_call">Recusar chamada</string>
|
||||
<string name="unknown_caller">Desconhecido</string>
|
||||
<string name="is_calling">A chamar…</string>
|
||||
<string name="dialing">A ligar…</string>
|
||||
<string name="call_ended">Chamada terminada</string>
|
||||
<string name="call_ending">A terminar chamada</string>
|
||||
<string name="ongoing_call">Chamada em curso</string>
|
||||
<string name="select_sim">Selecione um SIM para esta chamada</string>
|
||||
<string name="always_use_this_sim">Utilizar sempre este SIM para ligar para este número</string>
|
||||
<string name="select_sim">Selecione o SIM para esta chamada</string>
|
||||
<string name="always_use_this_sim">Utilizar sempre este SIM para ligar a este número</string>
|
||||
<string name="unset_default_sim">Deixar de utilizar como SIM padrão</string>
|
||||
<string name="calls">Chamadas</string>
|
||||
<string name="turn_microphone_on">Ligar o microfone</string>
|
||||
<string name="turn_microphone_off">Desligar o microfone</string>
|
||||
<string name="turn_speaker_on">Ligar alta-voz</string>
|
||||
<string name="turn_speaker_off">Desligar alta-voz</string>
|
||||
<string name="turn_microphone_on">Ligar microfone</string>
|
||||
<string name="turn_microphone_off">Desligar microfone</string>
|
||||
<string name="turn_speaker_on">Ligar alta voz</string>
|
||||
<string name="turn_speaker_off">Desligar alta voz</string>
|
||||
<string name="show_dialpad">Mostrar marcador</string>
|
||||
<string name="hide_dialpad">Ocultar marcador</string>
|
||||
<string name="end_call">Terminar a chamada</string>
|
||||
<string name="end_call">Terminar chamada</string>
|
||||
<string name="hold_call">Reter chamada</string>
|
||||
<string name="resume_call">Retomar chamada</string>
|
||||
<string name="call_on_hold">Em espera</string>
|
||||
<string name="call_swap">Troca de chamadas</string>
|
||||
<string name="call_merge">Mesclar chamadas</string>
|
||||
<string name="call_split">Divisão de chamada</string>
|
||||
<string name="call_merge">Unir chamadas</string>
|
||||
<string name="call_split">Separar chamadas</string>
|
||||
<string name="call_add">Adicionar chamada</string>
|
||||
<string name="conference_manage">Gerenciar chamada de conferência</string>
|
||||
<string name="conference_manage">Gerir chamada de conferência</string>
|
||||
<string name="conference">Conferência</string>
|
||||
<string name="audio_route_speaker">Speaker</string>
|
||||
<string name="audio_route_earpiece">Earpiece</string>
|
||||
<string name="audio_route_speaker">Altifalante</string>
|
||||
<string name="audio_route_earpiece">Auricular</string>
|
||||
<string name="audio_route_bluetooth">Bluetooth</string>
|
||||
<string name="audio_route_wired_headset">Wired Headset</string>
|
||||
<string name="audio_route_wired_or_earpiece">Wired or Earpiece</string>
|
||||
<string name="choose_audio_route">Choose audio route</string>
|
||||
<string name="audio_route_wired_headset">Auscultador de cabo</string>
|
||||
<string name="audio_route_wired_or_earpiece">Cabo ou auricular</string>
|
||||
<string name="choose_audio_route">Escolha a rota de áudio</string>
|
||||
<string name="calling_blocked_number">O número para o qual está a tentar ligar está bloqueado</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Marcação rápida</string>
|
||||
<string name="manage_speed_dial">Gerir marcações rápidas</string>
|
||||
<string name="speed_dial_label">Clique num número para atribuir um contacto à marcação rápida. Poderá assim, ligar diretamente ao contacto ao premir longamente a tecla de marcação rápida.</string>
|
||||
<string name="speed_dial">Ligação rápida</string>
|
||||
<string name="manage_speed_dial">Gerir ligações rápidas</string>
|
||||
<string name="speed_dial_label">Clique num número para o atribuir a um contacto. Poderá assim, ligar diretamente ao contacto ao premir longamente a tecla de ligação rápida.</string>
|
||||
<!-- Settings -->
|
||||
<string name="group_subsequent_calls">Agrupar, no registo, as chamadas para o mesmo contacto</string>
|
||||
<string name="open_dialpad_by_default">Mostrar Marcador por padrâo ao abrir a aplicação</string>
|
||||
<string name="open_dialpad_by_default">Mostrar marcador ao abrir a aplicação</string>
|
||||
<string name="disable_proximity_sensor">Desativar sensor de proximidade durante as chamadas</string>
|
||||
<string name="disable_swipe_to_answer">Clicar em vez de deslizar para atender</string>
|
||||
<string name="show_incoming_calls_full_screen">Always display incoming calls on full screen</string>
|
||||
<string name="show_incoming_calls_full_screen">Mostrar em ecrã completo as chamadas recebidas</string>
|
||||
<string name="hide_dialpad_numbers">Ocultar números no marcador</string>
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">I hear incoming calls, but the screen doesn\'t turn on. What can I do?</string>
|
||||
<string name="faq_1_text">Such issues can have many device and system specific reasons, hard to say in general. You should look around in your device settings and make sure that the app is allowed to pop up when in background and allow displaying over other apps.</string>
|
||||
<string name="faq_1_title">Estou a ouvir som mas o ecrã não liga. O que posso fazer\?</string>
|
||||
<string name="faq_1_text">Esses problemas podem ter muitos motivos específicos do dispositivo e do sistema, difíceis de dizer em geral. Aceda às definições do sistema e certifique-se de que concedeu as permissões necessárias tais como permitir exibição por cima das outras aplicações.</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
-->
|
||||
</resources>
|
||||
</resources>
|
@@ -60,6 +60,7 @@
|
||||
<string name="audio_route_wired_headset">Wired Headset</string>
|
||||
<string name="audio_route_wired_or_earpiece">Wired or Earpiece</string>
|
||||
<string name="choose_audio_route">Choose audio route</string>
|
||||
<string name="calling_blocked_number">The number you are calling is blocked</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Apelare rapidă</string>
|
||||
<string name="manage_speed_dial">Gestionați apelarea rapidă</string>
|
||||
@@ -70,6 +71,8 @@
|
||||
<string name="disable_proximity_sensor">Dezactivați senzorul de proximitate în timpul apelurilor</string>
|
||||
<string name="disable_swipe_to_answer">Înlocuiți glisarea pentru a răspunde la apelurile primite cu o singură apăsare</string>
|
||||
<string name="show_incoming_calls_full_screen">Afișați întotdeauna apelurile primite pe întreg ecranul</string>
|
||||
<string name="hide_dialpad_numbers">Hide dialpad numbers</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Aud apelurile primite, dar ecranul nu se aprinde. Ce pot face\?</string>
|
||||
<string name="faq_1_text">Aceste probleme pot avea multe motive specifice dispozitivului și sistemului, fiind greu de spus în general. Ar trebui să vă uitați în setările dispozitivului și să vă asigurați că aplicația este permisă să apară atunci când este în fundal și că permite afișarea peste alte aplicații.</string>
|
||||
|
@@ -60,6 +60,7 @@
|
||||
<string name="audio_route_wired_headset">Проводная гарнитура</string>
|
||||
<string name="audio_route_wired_or_earpiece">Проводные или внутриканальные наушники</string>
|
||||
<string name="choose_audio_route">Выберите аудиовыход</string>
|
||||
<string name="calling_blocked_number">Набранный вами номер заблокирован</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Быстрый вызов</string>
|
||||
<string name="manage_speed_dial">Управление быстрым вызовом</string>
|
||||
@@ -70,6 +71,7 @@
|
||||
<string name="disable_proximity_sensor">Отключать датчик приближения во время вызовов</string>
|
||||
<string name="disable_swipe_to_answer">Использовать нажатие вместо перетаскивания при ответе на входящие вызовы</string>
|
||||
<string name="show_incoming_calls_full_screen">Всегда отображать входящие вызовы на полный экран</string>
|
||||
<string name="hide_dialpad_numbers">Скрыть цифры на номеронабирателе</string>
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Я слышу сигналы входящих вызовов, но экран не включается. Что можно сделать\?</string>
|
||||
<string name="faq_1_text">Такие проблемы могут иметь множество специфических для устройства и системы причин, о которых трудно говорить в общем. Следует проверить настройки устройства и убедиться, что приложению разрешено отображение всплывающих уведомлений в фоновом режиме и отображение поверх других приложений.</string>
|
||||
|
@@ -60,6 +60,7 @@
|
||||
<string name="audio_route_wired_headset">Káblové slúchadlo</string>
|
||||
<string name="audio_route_wired_or_earpiece">Káblové alebo slúchadlo</string>
|
||||
<string name="choose_audio_route">Zvoľte audio výstup Choose audio route</string>
|
||||
<string name="calling_blocked_number">Volané číslo máte zablokované</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Rýchle vytáčanie</string>
|
||||
<string name="manage_speed_dial">Spravovať rýchle vytáčanie</string>
|
||||
@@ -70,6 +71,8 @@
|
||||
<string name="disable_proximity_sensor">Vypnúť počas hovorov senzor priblíženia</string>
|
||||
<string name="disable_swipe_to_answer">Nahradiť potiahnutie prstom pri odpovedaní na prichádzajúce hovory kliknutím</string>
|
||||
<string name="show_incoming_calls_full_screen">Stále zobraziť prichádzajúce hovory na celú obrazovku</string>
|
||||
<string name="hide_dialpad_numbers">Skryť čísla na číselníku</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Počujem prichádzajúce hovory, obrazovka sa ale nezapne. Čo s tým?</string>
|
||||
<string name="faq_1_text">Takéto problémy majú často dôvody špecifické pre dané zariadenie alebo systém, ťažko teda dať všeobecné riešenie. Mali by ste sa poobzerať v nasteniach zariadenia a uistiť sa, že apka má povolenie na zobrazovanie sa z pozadia a na zobrazovanie sa nad ostatnými apkami.</string>
|
||||
|
@@ -60,6 +60,7 @@
|
||||
<string name="audio_route_wired_headset">Ožičene slušalke</string>
|
||||
<string name="audio_route_wired_or_earpiece">Ožičeno ali brezžično</string>
|
||||
<string name="choose_audio_route">Izberi smer zvoka</string>
|
||||
<string name="calling_blocked_number">The number you are calling is blocked</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Hitro klicanje</string>
|
||||
<string name="manage_speed_dial">Upravljanje hitrega klica</string>
|
||||
@@ -70,6 +71,8 @@
|
||||
<string name="disable_proximity_sensor">Onemogoči senzor bližine med klici</string>
|
||||
<string name="disable_swipe_to_answer">Pri odzivanju na dohodne klice zamenjajte poteg s prstom na odziv s klikanjem</string>
|
||||
<string name="show_incoming_calls_full_screen">Dohodne klice vedno prikaži na celotnem zaslonu</string>
|
||||
<string name="hide_dialpad_numbers">Hide dialpad numbers</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Slišim dohodne klice, vendar se zaslon ne vklopi. Kaj lahko storim\?</string>
|
||||
<string name="faq_1_text">Takšne težave imajo lahko veliko razlogov, ki so specifični za napravo in sistem, zato jih je na splošno težko opredeliti. Oglejte si nastavitve naprave in se prepričajte, da je aplikaciji dovoljeno, da se prikaže, ko je v ozadju, in da omogoča prikaz nad drugimi aplikacijami.</string>
|
||||
|
@@ -60,6 +60,7 @@
|
||||
<string name="audio_route_wired_headset">Жичане слушалице</string>
|
||||
<string name="audio_route_wired_or_earpiece">Жичани или слушалица</string>
|
||||
<string name="choose_audio_route">Изаберите аудио руту</string>
|
||||
<string name="calling_blocked_number">The number you are calling is blocked</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Брзо бирање</string>
|
||||
<string name="manage_speed_dial">Управљајте брзим бирањем</string>
|
||||
@@ -70,7 +71,9 @@
|
||||
<string name="disable_proximity_sensor">Онемогућите сензор близине током позива</string>
|
||||
<string name="disable_swipe_to_answer">Замените превлачење при одговарању на долазне позиве кликом</string>
|
||||
<string name="show_incoming_calls_full_screen">Увек прикажи долазне позиве преко целог екрана</string>
|
||||
<string name="hide_dialpad_numbers">Hide dialpad numbers</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Чујем долазне позиве, али екран се не укључује. Шта могу да урадим\?</string>
|
||||
<string name="faq_1_text">Такви проблеми могу имати много специфичних разлога за уређај и систем, што је уопштено тешко рећи. Требало би да погледате около у подешавањима уређаја и уверите се да је апликацији дозвољено да искаче када је у позадини и да дозволи приказивање преко других апликација.</string>
|
||||
</resources>
|
||||
</resources>
|
||||
|
@@ -2,7 +2,7 @@
|
||||
<resources>
|
||||
<string name="app_name">Simpel telefon</string>
|
||||
<string name="app_launcher_name">Telefon</string>
|
||||
<string name="default_phone_app_prompt">Vänligen gör den här appen till standardtelefonapp</string>
|
||||
<string name="default_phone_app_prompt">Gör den här appen till standardtelefonapp</string>
|
||||
<string name="allow_displaying_over_other_apps">Tillåt visning över andra appar för att få ett tillförlitligt beteende</string>
|
||||
<!-- Contacts -->
|
||||
<string name="could_not_access_contacts">Det gick inte att komma åt dina kontakter</string>
|
||||
@@ -38,9 +38,9 @@
|
||||
<string name="always_use_this_sim">Använd alltid det här SIM-kortet för detta nummer</string>
|
||||
<string name="unset_default_sim">Ta bort standard-SIM-kort</string>
|
||||
<string name="calls">Samtal</string>
|
||||
<string name="turn_microphone_on">Sätt på mikrofonen</string>
|
||||
<string name="turn_microphone_on">Slå på mikrofonen</string>
|
||||
<string name="turn_microphone_off">Stäng av mikrofonen</string>
|
||||
<string name="turn_speaker_on">Sätt på högtalaren</string>
|
||||
<string name="turn_speaker_on">Slå på högtalaren</string>
|
||||
<string name="turn_speaker_off">Stäng av högtalaren</string>
|
||||
<string name="show_dialpad">Visa knappsats</string>
|
||||
<string name="hide_dialpad">Dölj knappsats</string>
|
||||
@@ -54,12 +54,13 @@
|
||||
<string name="call_add">Lägg till samtal</string>
|
||||
<string name="conference_manage">Hantera konferenssamtal</string>
|
||||
<string name="conference">Konferens</string>
|
||||
<string name="audio_route_speaker">Speaker</string>
|
||||
<string name="audio_route_earpiece">Earpiece</string>
|
||||
<string name="audio_route_speaker">Högtalare</string>
|
||||
<string name="audio_route_earpiece">Lur</string>
|
||||
<string name="audio_route_bluetooth">Bluetooth</string>
|
||||
<string name="audio_route_wired_headset">Wired Headset</string>
|
||||
<string name="audio_route_wired_or_earpiece">Wired or Earpiece</string>
|
||||
<string name="choose_audio_route">Choose audio route</string>
|
||||
<string name="audio_route_wired_headset">Kabelanslutet headset</string>
|
||||
<string name="audio_route_wired_or_earpiece">Kabel eller lur</string>
|
||||
<string name="choose_audio_route">Välj ljudväg</string>
|
||||
<string name="calling_blocked_number">Numret du ringer är blockerat</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Snabbuppringning</string>
|
||||
<string name="manage_speed_dial">Hantera snabbuppringning</string>
|
||||
@@ -70,11 +71,12 @@
|
||||
<string name="disable_proximity_sensor">Inaktivera närhetssensor under samtal</string>
|
||||
<string name="disable_swipe_to_answer">Ersätt svepning vid besvarande av inkommande samtal med tryckning</string>
|
||||
<string name="show_incoming_calls_full_screen">Visa alltid inkommande samtal i helskärm</string>
|
||||
<string name="hide_dialpad_numbers">Dölj knappsatsens siffror</string>
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">I hear incoming calls, but the screen doesn\'t turn on. What can I do?</string>
|
||||
<string name="faq_1_text">Such issues can have many device and system specific reasons, hard to say in general. You should look around in your device settings and make sure that the app is allowed to pop up when in background and allow displaying over other apps.</string>
|
||||
<string name="faq_1_title">Jag hör inkommande samtal men skärmen vaknar inte. Vad gör jag\?</string>
|
||||
<string name="faq_1_text">Sådana problem kan bero specifikt på apparat eller ditt sytem, det är svårt att svara på generellt. Du bör kolla i dina inställningar och säkerställa att appen har behörighet att synas i förgrunden och tillåts att synas över andra appar.</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
-->
|
||||
</resources>
|
||||
</resources>
|
@@ -60,6 +60,7 @@
|
||||
<string name="audio_route_wired_headset">Wired Headset</string>
|
||||
<string name="audio_route_wired_or_earpiece">Wired or Earpiece</string>
|
||||
<string name="choose_audio_route">Choose audio route</string>
|
||||
<string name="calling_blocked_number">The number you are calling is blocked</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Speed dial</string>
|
||||
<string name="manage_speed_dial">Manage speed dial</string>
|
||||
@@ -70,6 +71,8 @@
|
||||
<string name="disable_proximity_sensor">Disable proximity sensor during calls</string>
|
||||
<string name="disable_swipe_to_answer">Replace swiping at responding to incoming calls with clicking</string>
|
||||
<string name="show_incoming_calls_full_screen">Always display incoming calls on full screen</string>
|
||||
<string name="hide_dialpad_numbers">Hide dialpad numbers</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">I hear incoming calls, but the screen doesn\'t turn on. What can I do?</string>
|
||||
<string name="faq_1_text">Such issues can have many device and system specific reasons, hard to say in general. You should look around in your device settings and make sure that the app is allowed to pop up when in background and allow displaying over other apps.</string>
|
||||
|
@@ -60,6 +60,7 @@
|
||||
<string name="audio_route_wired_headset">Kablolu Kulaklık</string>
|
||||
<string name="audio_route_wired_or_earpiece">Kablolu veya Kulaklık</string>
|
||||
<string name="choose_audio_route">Ses çıkışını seçin</string>
|
||||
<string name="calling_blocked_number">Aradığınız numara engellendi</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Hızlı arama</string>
|
||||
<string name="manage_speed_dial">Hızlı aramayı yönet</string>
|
||||
@@ -70,6 +71,7 @@
|
||||
<string name="disable_proximity_sensor">Aramalar sırasında yakınlık sensörünü devre dışı bırak</string>
|
||||
<string name="disable_swipe_to_answer">Gelen aramalara yanıt vermek için kaydırmayı tıklamayla değiştir</string>
|
||||
<string name="show_incoming_calls_full_screen">Gelen aramaları her zaman tam ekranda görüntüle</string>
|
||||
<string name="hide_dialpad_numbers">Tuş takımı numaralarını gizle</string>
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Gelen aramaları duyuyorum ama ekran açılmıyor. Ne yapabilirim\?</string>
|
||||
<string name="faq_1_text">Bu tür sorunların aygıta ve sisteme özgü birçok nedeni olabilir, genel olarak söylemek zor. Aygıt ayarlarınıza bakmalı ve uygulamanın arka plandayken açılmasına ve diğer uygulamaların üzerinde görüntülenmesine izin verildiğinden emin olmalısınız.</string>
|
||||
|
@@ -3,7 +3,7 @@
|
||||
<string name="app_name">Простий Телефон</string>
|
||||
<string name="app_launcher_name">Телефон</string>
|
||||
<string name="default_phone_app_prompt">Будь ласка, зробіть цю програму типовою для телефонних викликів</string>
|
||||
<string name="allow_displaying_over_other_apps">Дозвольте відображення над іншими додатками для надійної роботи</string>
|
||||
<string name="allow_displaying_over_other_apps">Дозвольте відображення над іншими застосунками для надійної роботи</string>
|
||||
<!-- Contacts -->
|
||||
<string name="could_not_access_contacts">Не вдалося отримати доступ до контактів</string>
|
||||
<!-- Recents -->
|
||||
@@ -20,8 +20,8 @@
|
||||
<string name="asterisk">Asterisk</string>
|
||||
<string name="hashtag">Хештег</string>
|
||||
<string name="call_number">Номер виклику</string>
|
||||
<string name="dialpad_beeps">Enable beeps on dialpad button clicks</string>
|
||||
<string name="dialpad_vibrations">Enable vibrations on dialpad button clicks</string>
|
||||
<string name="dialpad_beeps">Увімкнути звукові сигнали при наборі номеру</string>
|
||||
<string name="dialpad_vibrations">Увімкнути вібрації при наборі номеру</string>
|
||||
<!-- Dialer -->
|
||||
<string name="dialer">Телефон</string>
|
||||
<string name="accept">Прийняти</string>
|
||||
@@ -54,27 +54,29 @@
|
||||
<string name="call_add">Додати дзвінок</string>
|
||||
<string name="conference_manage">Керувати конференц-викликом</string>
|
||||
<string name="conference">Конференц-виклик</string>
|
||||
<string name="audio_route_speaker">Speaker</string>
|
||||
<string name="audio_route_earpiece">Earpiece</string>
|
||||
<string name="audio_route_speaker">Динамік</string>
|
||||
<string name="audio_route_earpiece">Навушники</string>
|
||||
<string name="audio_route_bluetooth">Bluetooth</string>
|
||||
<string name="audio_route_wired_headset">Wired Headset</string>
|
||||
<string name="audio_route_wired_or_earpiece">Wired or Earpiece</string>
|
||||
<string name="choose_audio_route">Choose audio route</string>
|
||||
<string name="audio_route_wired_headset">Провідна гарнітура</string>
|
||||
<string name="audio_route_wired_or_earpiece">Провідний або навушник</string>
|
||||
<string name="choose_audio_route">Оберіть аудіовихід</string>
|
||||
<string name="calling_blocked_number">Номер, на який ви телефонуєте, заблоковано</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Швидкий виклик</string>
|
||||
<string name="manage_speed_dial">Управління швидким викликом</string>
|
||||
<string name="speed_dial_label">Натисніть на номер, щоб призначити йому контакт. Потім ви зможете швидко зателефонувати вказаному контакту, довго натискаючи вказаний номер на цифровій панелі.</string>
|
||||
<!-- Settings -->
|
||||
<string name="group_subsequent_calls">Групувати наступні дзвінки з тим самим номером у журналі викликів</string>
|
||||
<string name="open_dialpad_by_default">За замовчуванням відкривати цифрову панель при запуску додатку</string>
|
||||
<string name="open_dialpad_by_default">За замовчуванням відкривати цифрову панель при запуску застосунку</string>
|
||||
<string name="disable_proximity_sensor">Вимикати датник наближення під час викликів</string>
|
||||
<string name="disable_swipe_to_answer">Замінити перетягування на натискання під час відповіді на вхідні виклики</string>
|
||||
<string name="show_incoming_calls_full_screen">Always display incoming calls on full screen</string>
|
||||
<string name="show_incoming_calls_full_screen">Завжди відображати вхідні дзвінки на весь екран</string>
|
||||
<string name="hide_dialpad_numbers">Приховати номери цифрової клавіатури</string>
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">I hear incoming calls, but the screen doesn\'t turn on. What can I do?</string>
|
||||
<string name="faq_1_text">Such issues can have many device and system specific reasons, hard to say in general. You should look around in your device settings and make sure that the app is allowed to pop up when in background and allow displaying over other apps.</string>
|
||||
<string name="faq_1_title">Я чую вхідні дзвінки, але екран не вмикається. Що я можу зробити\?</string>
|
||||
<string name="faq_1_text">Такі проблеми можуть мати багато специфічних для пристрою та системи причин, важко сказати в цілому. Вам слід подивитися в налаштуваннях свого пристрою та переконатися, що застосунку дозволено відображати у фоновому режимі та дозволяти відображення над іншими застосунками.</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
-->
|
||||
</resources>
|
||||
</resources>
|
@@ -60,6 +60,7 @@
|
||||
<string name="audio_route_wired_headset">有线耳机</string>
|
||||
<string name="audio_route_wired_or_earpiece">有线或听筒</string>
|
||||
<string name="choose_audio_route">选择音频线路</string>
|
||||
<string name="calling_blocked_number">你呼叫的号码被屏蔽了</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">快速拨号</string>
|
||||
<string name="manage_speed_dial">管理快速拨号</string>
|
||||
@@ -70,6 +71,7 @@
|
||||
<string name="disable_proximity_sensor">在通话期间禁用接近传感器</string>
|
||||
<string name="disable_swipe_to_answer">用点击代替滑动来接听来电</string>
|
||||
<string name="show_incoming_calls_full_screen">始终全屏显示来电</string>
|
||||
<string name="hide_dialpad_numbers">隐藏拨号盘号码</string>
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">我听到来电声音,但屏幕不亮。我该怎么办\?</string>
|
||||
<string name="faq_1_text">这样的问题可能有很多设备和系统的具体原因,很难笼统地说。你应该查看你的设备设置,确保应用在后台时被允许弹出,并允许其显示在其他应用上方。</string>
|
||||
|
@@ -60,6 +60,7 @@
|
||||
<string name="audio_route_wired_headset">Wired Headset</string>
|
||||
<string name="audio_route_wired_or_earpiece">Wired or Earpiece</string>
|
||||
<string name="choose_audio_route">Choose audio route</string>
|
||||
<string name="calling_blocked_number">The number you are calling is blocked</string>
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Speed dial</string>
|
||||
<string name="manage_speed_dial">Manage speed dial</string>
|
||||
@@ -70,6 +71,8 @@
|
||||
<string name="disable_proximity_sensor">Disable proximity sensor during calls</string>
|
||||
<string name="disable_swipe_to_answer">Replace swiping at responding to incoming calls with clicking</string>
|
||||
<string name="show_incoming_calls_full_screen">Always display incoming calls on full screen</string>
|
||||
<string name="hide_dialpad_numbers">Hide dialpad numbers</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">I hear incoming calls, but the screen doesn\'t turn on. What can I do?</string>
|
||||
<string name="faq_1_text">Such issues can have many device and system specific reasons, hard to say in general. You should look around in your device settings and make sure that the app is allowed to pop up when in background and allow displaying over other apps.</string>
|
||||
|
@@ -7,7 +7,10 @@
|
||||
<dimen name="call_notification_button_size">40dp</dimen>
|
||||
<dimen name="incoming_call_avatar_size">120dp</dimen>
|
||||
|
||||
<dimen name="dialpad_text_size">30sp</dimen>
|
||||
<dimen name="caller_name_text_size">34sp</dimen>
|
||||
<dimen name="call_status_text_size">20sp</dimen>
|
||||
|
||||
<!-- keep these 2 values in dp to avoid scaling -->
|
||||
<dimen name="dialpad_text_size">28dp</dimen>
|
||||
<dimen name="dialpad_letters_text_size">12dp</dimen>
|
||||
</resources>
|
||||
|
@@ -64,6 +64,7 @@
|
||||
<string name="audio_route_wired_headset">Wired Headset</string>
|
||||
<string name="audio_route_wired_or_earpiece">Wired or Earpiece</string>
|
||||
<string name="choose_audio_route">Choose audio route</string>
|
||||
<string name="calling_blocked_number">The number you are calling is blocked</string>
|
||||
|
||||
<!-- Speed dial -->
|
||||
<string name="speed_dial">Speed dial</string>
|
||||
@@ -76,6 +77,7 @@
|
||||
<string name="disable_proximity_sensor">Disable proximity sensor during calls</string>
|
||||
<string name="disable_swipe_to_answer">Replace swiping at responding to incoming calls with clicking</string>
|
||||
<string name="show_incoming_calls_full_screen">Always display incoming calls on full screen</string>
|
||||
<string name="hide_dialpad_numbers">Hide dialpad numbers</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">I hear incoming calls, but the screen doesn\'t turn on. What can I do?</string>
|
||||
|
@@ -2,14 +2,23 @@
|
||||
|
||||
<style name="AppTheme" parent="AppTheme.Base" />
|
||||
|
||||
<style name="DialpadButtonStyle">
|
||||
<item name="android:background">@drawable/pill_background</item>
|
||||
<item name="android:layout_marginStart">@dimen/small_margin</item>
|
||||
<item name="android:layout_marginEnd">@dimen/small_margin</item>
|
||||
<item name="android:paddingTop">@dimen/one_dp</item>
|
||||
</style>
|
||||
|
||||
<style name="DialpadNumberStyle">
|
||||
<item name="android:includeFontPadding">false</item>
|
||||
<item name="android:textSize">@dimen/dialpad_text_size</item>
|
||||
<item name="android:layout_centerHorizontal">true</item>
|
||||
</style>
|
||||
|
||||
<style name="DialpadLetterStyle">
|
||||
<item name="android:textSize">@dimen/smaller_text_size</item>
|
||||
<item name="android:textSize">@dimen/dialpad_letters_text_size</item>
|
||||
<item name="android:alpha">0.8</item>
|
||||
<item name="android:layout_centerHorizontal">true</item>
|
||||
</style>
|
||||
|
||||
</resources>
|
||||
|
@@ -24,4 +24,4 @@ https://www.facebook.com/simplemobiletools
|
||||
https://www.reddit.com/r/SimpleMobileTools
|
||||
|
||||
برقية:
|
||||
https://t.me/SimpleMobileTools
|
||||
https://t.me/SimpleMobileTools
|
||||
|
@@ -1 +1 @@
|
||||
مدير مكالمات هاتفية مفيد مع دليل الهاتف وحظر الأرقام ودعم شرائح SIM المتعددة
|
||||
مدير مكالمات هاتفية مفيد مع دليل الهاتف وحظر الأرقام ودعم شرائح SIM المتعددة
|
||||
|
@@ -1 +1 @@
|
||||
Simple Dialer
|
||||
Simple Dialer
|
||||
|
@@ -1 +0,0 @@
|
||||
|
@@ -1 +0,0 @@
|
||||
|
@@ -1 +0,0 @@
|
||||
|
4
fastlane/metadata/android/en-US/changelogs/47.txt
Normal file
4
fastlane/metadata/android/en-US/changelogs/47.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
* Do not allow calling blocked numbers
|
||||
* Allow hiding numbers on the dialpad
|
||||
* Use Material You theme by default on Android 12+
|
||||
* Added some UI, translation and stability improvements
|
1
fastlane/metadata/android/en-US/changelogs/48.txt
Normal file
1
fastlane/metadata/android/en-US/changelogs/48.txt
Normal file
@@ -0,0 +1 @@
|
||||
* Added the new search bar at the top menu
|
1
fastlane/metadata/android/en-US/changelogs/49.txt
Normal file
1
fastlane/metadata/android/en-US/changelogs/49.txt
Normal file
@@ -0,0 +1 @@
|
||||
* Fixed a glitch with dialpad button not being visible on some devices
|
1
fastlane/metadata/android/en-US/changelogs/50.txt
Normal file
1
fastlane/metadata/android/en-US/changelogs/50.txt
Normal file
@@ -0,0 +1 @@
|
||||
* Fixed a search glitch on some devices
|
4
fastlane/metadata/android/en-US/changelogs/51.txt
Normal file
4
fastlane/metadata/android/en-US/changelogs/51.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
* Allow filtering contacts
|
||||
* Fix displaying contacts, if name starts with surname
|
||||
* Fixed some right-to-left layout glitches
|
||||
* Added some stability, translation and UX improvements
|
4
fastlane/metadata/android/en-US/changelogs/52.txt
Normal file
4
fastlane/metadata/android/en-US/changelogs/52.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
* Allow filtering contacts
|
||||
* Fix displaying contacts, if name starts with surname
|
||||
* Fixed some right-to-left layout glitches
|
||||
* Added some stability, translation and UX improvements
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user