mirror of
https://gitlab.linphone.org/BC/public/linphone-android.git
synced 2026-01-17 11:28:06 +00:00
Code cleanup
This commit is contained in:
parent
e3022f42ab
commit
036301e34f
58 changed files with 85 additions and 486 deletions
|
|
@ -105,6 +105,7 @@ dependencies {
|
|||
implementation platform('com.google.firebase:firebase-bom:32.2.3')
|
||||
implementation 'com.google.firebase:firebase-messaging'
|
||||
|
||||
//noinspection GradleDynamicVersion
|
||||
implementation 'org.linphone:linphone-sdk-android:5.3+'
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<uses-feature
|
||||
android:name="android.hardware.camera"
|
||||
android:required="false" />
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
||||
|
|
@ -41,8 +46,7 @@
|
|||
<activity
|
||||
android:name=".ui.main.MainActivity"
|
||||
android:windowSoftInputMode="adjustResize"
|
||||
android:exported="true"
|
||||
android:label="@string/app_name">
|
||||
android:exported="true">
|
||||
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
|
|
|||
|
|
@ -28,13 +28,13 @@ import org.linphone.core.tools.Log
|
|||
|
||||
class NotificationBroadcastReceiver : BroadcastReceiver() {
|
||||
companion object {
|
||||
private const val TAG = "[NotificationBroadcastReceiver]"
|
||||
private const val TAG = "[Notification Broadcast Receiver]"
|
||||
}
|
||||
|
||||
override fun onReceive(context: Context, intent: Intent) {
|
||||
val notificationId = intent.getIntExtra(NotificationsManager.INTENT_NOTIF_ID, 0)
|
||||
Log.i(
|
||||
"[Notification Broadcast Receiver] Got notification broadcast for ID [$notificationId]"
|
||||
"$TAG Got notification broadcast for ID [$notificationId]"
|
||||
)
|
||||
|
||||
if (intent.action == NotificationsManager.INTENT_ANSWER_CALL_NOTIF_ACTION || intent.action == NotificationsManager.INTENT_HANGUP_CALL_NOTIF_ACTION) {
|
||||
|
|
@ -45,14 +45,14 @@ class NotificationBroadcastReceiver : BroadcastReceiver() {
|
|||
private fun handleCallIntent(intent: Intent) {
|
||||
val callId = intent.getStringExtra(NotificationsManager.INTENT_CALL_ID)
|
||||
if (callId == null) {
|
||||
Log.e("[Notification Broadcast Receiver] Remote SIP address is null for notification")
|
||||
Log.e("$TAG Remote SIP address is null for notification")
|
||||
return
|
||||
}
|
||||
|
||||
coreContext.postOnCoreThread { core ->
|
||||
val call = core.getCallByCallid(callId)
|
||||
if (call == null) {
|
||||
Log.e("[Notification Broadcast Receiver] Couldn't find call from ID [$callId]")
|
||||
Log.e("$TAG Couldn't find call from ID [$callId]")
|
||||
} else {
|
||||
if (intent.action == NotificationsManager.INTENT_ANSWER_CALL_NOTIF_ACTION) {
|
||||
coreContext.answerCall(call)
|
||||
|
|
|
|||
|
|
@ -22,8 +22,6 @@ class CallLogModel @WorkerThread constructor(private val callLog: CallLog) {
|
|||
|
||||
val avatarModel: ContactAvatarModel
|
||||
|
||||
val isOutgoing = MutableLiveData<Boolean>()
|
||||
|
||||
@IntegerRes
|
||||
val iconResId = MutableLiveData<Int>()
|
||||
|
||||
|
|
@ -34,8 +32,6 @@ class CallLogModel @WorkerThread constructor(private val callLog: CallLog) {
|
|||
var friendExists: Boolean = false
|
||||
|
||||
init {
|
||||
isOutgoing.postValue(callLog.dir == Dir.Outgoing)
|
||||
|
||||
val timestamp = timestamp
|
||||
val displayedDate = if (TimestampUtils.isToday(timestamp)) {
|
||||
TimestampUtils.timeToString(timestamp)
|
||||
|
|
|
|||
|
|
@ -134,11 +134,11 @@ class ContactViewModel @UiThread constructor() : ViewModel() {
|
|||
|
||||
val organization = friend.organization
|
||||
if (!organization.isNullOrEmpty()) {
|
||||
company.postValue(organization)
|
||||
company.postValue(organization!!)
|
||||
}
|
||||
val jobTitle = friend.jobTitle
|
||||
if (!jobTitle.isNullOrEmpty()) {
|
||||
title.postValue(jobTitle)
|
||||
title.postValue(jobTitle!!)
|
||||
}
|
||||
|
||||
val addressesAndNumbers = friend.getListOfSipAddressesAndPhoneNumbers(listener)
|
||||
|
|
|
|||
|
|
@ -79,8 +79,7 @@ class ContactsListViewModel @UiThread constructor() : AbstractTopBarViewModel()
|
|||
applyFilter(
|
||||
currentFilter,
|
||||
if (limitSearchToLinphoneAccounts) corePreferences.defaultDomain else "",
|
||||
MagicSearch.Source.Friends.toInt() or MagicSearch.Source.LdapServers.toInt(),
|
||||
MagicSearch.Aggregation.Friend
|
||||
MagicSearch.Source.Friends.toInt() or MagicSearch.Source.LdapServers.toInt()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -180,8 +179,7 @@ class ContactsListViewModel @UiThread constructor() : AbstractTopBarViewModel()
|
|||
applyFilter(
|
||||
filter,
|
||||
if (limitSearchToLinphoneAccounts) corePreferences.defaultDomain else "",
|
||||
MagicSearch.Source.Friends.toInt() or MagicSearch.Source.LdapServers.toInt(),
|
||||
MagicSearch.Aggregation.Friend
|
||||
MagicSearch.Source.Friends.toInt() or MagicSearch.Source.LdapServers.toInt()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -217,8 +215,7 @@ class ContactsListViewModel @UiThread constructor() : AbstractTopBarViewModel()
|
|||
private fun applyFilter(
|
||||
filter: String,
|
||||
domain: String,
|
||||
sources: Int,
|
||||
aggregation: MagicSearch.Aggregation
|
||||
sources: Int
|
||||
) {
|
||||
if (previousFilter.isNotEmpty() && (
|
||||
previousFilter.length > filter.length ||
|
||||
|
|
@ -237,7 +234,7 @@ class ContactsListViewModel @UiThread constructor() : AbstractTopBarViewModel()
|
|||
filter,
|
||||
domain,
|
||||
sources,
|
||||
aggregation
|
||||
MagicSearch.Aggregation.Friend
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -53,9 +53,6 @@ class DrawerMenuViewModel @UiThread constructor() : ViewModel() {
|
|||
MutableLiveData<Event<String>>()
|
||||
}
|
||||
|
||||
init {
|
||||
}
|
||||
|
||||
@UiThread
|
||||
override fun onCleared() {
|
||||
coreContext.postOnCoreThread {
|
||||
|
|
|
|||
|
|
@ -37,10 +37,6 @@ class SharedMainViewModel @UiThread constructor() : ViewModel() {
|
|||
MutableLiveData<Event<Boolean>>()
|
||||
}
|
||||
|
||||
val navigateToConversationsEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
}
|
||||
|
||||
val navigateToCallsEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@ import androidx.databinding.DataBindingUtil
|
|||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.navigation.findNavController
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import androidx.window.layout.FoldingFeature
|
||||
import androidx.window.layout.WindowInfoTracker
|
||||
import androidx.window.layout.WindowLayoutInfo
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
*/
|
||||
package org.linphone.ui.voip.fragment
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.os.Bundle
|
||||
import android.os.SystemClock
|
||||
import android.view.LayoutInflater
|
||||
|
|
@ -186,6 +187,7 @@ class ActiveCallFragment : GenericCallFragment() {
|
|||
})
|
||||
}
|
||||
|
||||
@SuppressLint("ClickableViewAccessibility")
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
|
||||
|
|
@ -196,6 +198,7 @@ class ActiveCallFragment : GenericCallFragment() {
|
|||
}
|
||||
}
|
||||
|
||||
@SuppressLint("ClickableViewAccessibility")
|
||||
override fun onPause() {
|
||||
super.onPause()
|
||||
binding.localPreviewVideoSurface.setOnTouchListener(null)
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ import org.linphone.core.tools.Log
|
|||
import org.linphone.utils.Event
|
||||
|
||||
class ZrtpSasConfirmationDialogModel @UiThread constructor(
|
||||
private val authTokenToRead: String,
|
||||
authTokenToRead: String,
|
||||
private val authTokenToListen: String
|
||||
) : ViewModel() {
|
||||
companion object {
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ import org.linphone.ui.assistant.AssistantActivity
|
|||
import org.linphone.ui.welcome.fragment.WelcomePage1Fragment
|
||||
import org.linphone.ui.welcome.fragment.WelcomePage2Fragment
|
||||
import org.linphone.ui.welcome.fragment.WelcomePage3Fragment
|
||||
import org.linphone.utils.AppUtils
|
||||
|
||||
class WelcomeActivity : AppCompatActivity() {
|
||||
companion object {
|
||||
|
|
@ -112,10 +113,10 @@ class WelcomeActivity : AppCompatActivity() {
|
|||
override fun onPageSelected(position: Int) {
|
||||
Log.i("$TAG Current page is [$position]")
|
||||
if (position == PAGES - 1) {
|
||||
binding.next.text = "Start"
|
||||
binding.next.text = AppUtils.getString(R.string.start)
|
||||
binding.skip.visibility = View.INVISIBLE
|
||||
} else {
|
||||
binding.next.text = "Next"
|
||||
binding.next.text = AppUtils.getString(R.string.next)
|
||||
binding.skip.visibility = View.VISIBLE
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,7 +36,6 @@ import androidx.annotation.ColorRes
|
|||
import androidx.annotation.UiThread
|
||||
import androidx.appcompat.widget.AppCompatEditText
|
||||
import androidx.appcompat.widget.AppCompatTextView
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.core.view.WindowCompat
|
||||
|
|
@ -308,14 +307,6 @@ fun AppCompatEditText.editTextSetting(lambda: () -> Unit) {
|
|||
})
|
||||
}
|
||||
|
||||
@BindingAdapter("android:layout_marginBottom")
|
||||
fun setConstraintLayoutBottomMargin(view: View, margins: Float) {
|
||||
val params = view.layoutParams as ConstraintLayout.LayoutParams
|
||||
val m = margins.toInt()
|
||||
params.setMargins(params.leftMargin, params.topMargin, params.rightMargin, m)
|
||||
view.layoutParams = params
|
||||
}
|
||||
|
||||
@BindingAdapter("focusNextOnInput")
|
||||
fun focusNextOnInput(editText: EditText, enabled: Boolean) {
|
||||
if (!enabled) return
|
||||
|
|
|
|||
|
|
@ -136,14 +136,17 @@ class FileUtils {
|
|||
try {
|
||||
withContext(Dispatchers.IO) {
|
||||
FileOutputStream(to).use { outputStream ->
|
||||
val inputStream = FileInputStream(
|
||||
coreContext.context.contentResolver.openFileDescriptor(from, "r")?.fileDescriptor
|
||||
val fileDescriptor = coreContext.context.contentResolver.openFileDescriptor(
|
||||
from,
|
||||
"r"
|
||||
)
|
||||
val inputStream = FileInputStream(fileDescriptor?.fileDescriptor)
|
||||
val buffer = ByteArray(4096)
|
||||
var bytesRead: Int
|
||||
while (inputStream.read(buffer).also { bytesRead = it } >= 0) {
|
||||
outputStream.write(buffer, 0, bytesRead)
|
||||
}
|
||||
fileDescriptor?.close()
|
||||
}
|
||||
}
|
||||
return true
|
||||
|
|
|
|||
|
|
@ -19,13 +19,16 @@
|
|||
*/
|
||||
package org.linphone.utils
|
||||
|
||||
import android.Manifest
|
||||
import android.bluetooth.BluetoothAdapter
|
||||
import android.content.Context
|
||||
import android.content.pm.PackageManager
|
||||
import android.os.Build
|
||||
import android.provider.Settings
|
||||
import androidx.annotation.AnyThread
|
||||
import androidx.annotation.IntegerRes
|
||||
import androidx.annotation.WorkerThread
|
||||
import androidx.core.app.ActivityCompat
|
||||
import androidx.emoji2.text.EmojiCompat
|
||||
import java.util.Locale
|
||||
import org.linphone.LinphoneApplication.Companion.coreContext
|
||||
|
|
@ -35,7 +38,6 @@ import org.linphone.core.Address
|
|||
import org.linphone.core.Call
|
||||
import org.linphone.core.Call.Dir
|
||||
import org.linphone.core.Call.Status
|
||||
import org.linphone.core.ChatRoom
|
||||
import org.linphone.core.tools.Log
|
||||
|
||||
class LinphoneUtils {
|
||||
|
|
@ -145,20 +147,6 @@ class LinphoneUtils {
|
|||
}
|
||||
}
|
||||
|
||||
@WorkerThread
|
||||
private fun getChatRoomId(localAddress: Address, remoteAddress: Address): String {
|
||||
val localSipUri = localAddress.clone()
|
||||
localSipUri.clean()
|
||||
val remoteSipUri = remoteAddress.clone()
|
||||
remoteSipUri.clean()
|
||||
return "${localSipUri.asStringUriOnly()}~${remoteSipUri.asStringUriOnly()}"
|
||||
}
|
||||
|
||||
@WorkerThread
|
||||
fun getChatRoomId(chatRoom: ChatRoom): String {
|
||||
return getChatRoomId(chatRoom.localAddress, chatRoom.peerAddress)
|
||||
}
|
||||
|
||||
@AnyThread
|
||||
fun getDeviceName(context: Context): String {
|
||||
var name = Settings.Global.getString(
|
||||
|
|
@ -166,8 +154,14 @@ class LinphoneUtils {
|
|||
Settings.Global.DEVICE_NAME
|
||||
)
|
||||
if (name == null) {
|
||||
val adapter = BluetoothAdapter.getDefaultAdapter()
|
||||
name = adapter?.name
|
||||
if (ActivityCompat.checkSelfPermission(
|
||||
context,
|
||||
Manifest.permission.BLUETOOTH_CONNECT
|
||||
) == PackageManager.PERMISSION_GRANTED
|
||||
) {
|
||||
val adapter = BluetoothAdapter.getDefaultAdapter()
|
||||
name = adapter?.name
|
||||
}
|
||||
}
|
||||
if (name == null) {
|
||||
name = Settings.Secure.getString(
|
||||
|
|
|
|||
|
|
@ -44,23 +44,6 @@ class TimestampUtils {
|
|||
return isSameDay(cal, yesterday)
|
||||
}
|
||||
|
||||
@AnyThread
|
||||
fun isSameDay(timestamp1: Long, timestamp2: Long, timestampInSecs: Boolean = true): Boolean {
|
||||
val cal1 = Calendar.getInstance()
|
||||
cal1.timeInMillis = if (timestampInSecs) timestamp1 * 1000 else timestamp1
|
||||
val cal2 = Calendar.getInstance()
|
||||
cal2.timeInMillis = if (timestampInSecs) timestamp2 * 1000 else timestamp2
|
||||
return isSameDay(cal1, cal2)
|
||||
}
|
||||
|
||||
@AnyThread
|
||||
fun isSameDay(
|
||||
cal1: Date,
|
||||
cal2: Date
|
||||
): Boolean {
|
||||
return isSameDay(cal1.time, cal2.time, false)
|
||||
}
|
||||
|
||||
@AnyThread
|
||||
fun dateToString(date: Long, timestampInSecs: Boolean = true): String {
|
||||
val dateFormat: Format = android.text.format.DateFormat.getDateFormat(
|
||||
|
|
@ -77,22 +60,6 @@ class TimestampUtils {
|
|||
return dateFormatter.format(calendar.time)
|
||||
}
|
||||
|
||||
@AnyThread
|
||||
fun timeToString(hour: Int, minutes: Int): String {
|
||||
val use24hFormat = android.text.format.DateFormat.is24HourFormat(
|
||||
coreContext.context
|
||||
)
|
||||
val calendar = Calendar.getInstance()
|
||||
calendar.set(Calendar.HOUR_OF_DAY, hour)
|
||||
calendar.set(Calendar.MINUTE, minutes)
|
||||
|
||||
return if (use24hFormat) {
|
||||
SimpleDateFormat("HH'h'mm", Locale.getDefault()).format(calendar.time)
|
||||
} else {
|
||||
SimpleDateFormat("h:mm a", Locale.getDefault()).format(calendar.time)
|
||||
}
|
||||
}
|
||||
|
||||
@AnyThread
|
||||
fun timeToString(time: Long, timestampInSecs: Boolean = true): String {
|
||||
val use24hFormat = android.text.format.DateFormat.is24HourFormat(
|
||||
|
|
@ -119,21 +86,6 @@ class TimestampUtils {
|
|||
return dateFormat.format(cal.time)
|
||||
}
|
||||
|
||||
@AnyThread
|
||||
fun durationToString(hours: Int, minutes: Int): String {
|
||||
val calendar = Calendar.getInstance()
|
||||
calendar.set(Calendar.HOUR_OF_DAY, hours)
|
||||
calendar.set(Calendar.MINUTE, minutes)
|
||||
val pattern = when {
|
||||
hours == 0 -> "mm'min'"
|
||||
hours < 10 && minutes == 0 -> "H'h'"
|
||||
hours < 10 && minutes > 0 -> "H'h'mm"
|
||||
hours >= 10 && minutes == 0 -> "HH'h'"
|
||||
else -> "HH'h'mm"
|
||||
}
|
||||
return SimpleDateFormat(pattern, Locale.getDefault()).format(calendar.time)
|
||||
}
|
||||
|
||||
@AnyThread
|
||||
private fun isSameYear(timestamp: Long, timestampInSecs: Boolean = true): Boolean {
|
||||
val cal = Calendar.getInstance()
|
||||
|
|
|
|||
|
|
@ -1,30 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:width="108dp"
|
||||
android:height="108dp"
|
||||
android:viewportWidth="108"
|
||||
android:viewportHeight="108">
|
||||
<path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:endX="85.84757"
|
||||
android:endY="92.4963"
|
||||
android:startX="42.9492"
|
||||
android:startY="49.59793"
|
||||
android:type="linear">
|
||||
<item
|
||||
android:color="#44000000"
|
||||
android:offset="0.0" />
|
||||
<item
|
||||
android:color="#00000000"
|
||||
android:offset="1.0" />
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
<path
|
||||
android:fillColor="#FFFFFF"
|
||||
android:fillType="nonZero"
|
||||
android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
|
||||
android:strokeWidth="1"
|
||||
android:strokeColor="#00000000" />
|
||||
</vector>
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
<vector
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:name="vector"
|
||||
android:width="38dp"
|
||||
android:height="36dp"
|
||||
android:viewportWidth="38"
|
||||
android:viewportHeight="36">
|
||||
<group android:name="group">
|
||||
<path
|
||||
android:name="path"
|
||||
android:pathData="M 25 0 C 21.554 0 18.245 1.371 15.808 3.808 C 13.371 6.245 12 9.554 12 13 C 12 16.446 13.371 19.755 15.808 22.192 C 18.245 24.629 21.554 26 25 26 C 28.446 26 31.755 24.629 34.192 22.192 C 36.629 19.755 38 16.446 38 13 C 38 9.554 36.629 6.245 34.192 3.808 C 31.755 1.371 28.446 0 25 0 Z"
|
||||
android:fillColor="#6C7A87"
|
||||
android:strokeWidth="1"/>
|
||||
<path
|
||||
android:name="path_1"
|
||||
android:pathData="M 13 11 C 9.819 11 6.764 12.265 4.515 14.515 C 2.265 16.764 1 19.819 1 23 C 1 26.181 2.265 29.236 4.515 31.485 C 6.764 33.735 9.819 35 13 35 C 16.181 35 19.236 33.735 21.485 31.485 C 23.735 29.236 25 26.181 25 23 C 25 19.819 23.735 16.764 21.485 14.515 C 19.236 12.265 16.181 11 13 11 Z"
|
||||
android:fillColor="#6C7A87"
|
||||
android:strokeColor="#fafeff"
|
||||
android:strokeWidth="2"/>
|
||||
</group>
|
||||
</vector>
|
||||
|
|
@ -1,170 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="108dp"
|
||||
android:height="108dp"
|
||||
android:viewportWidth="108"
|
||||
android:viewportHeight="108">
|
||||
<path
|
||||
android:fillColor="#3DDC84"
|
||||
android:pathData="M0,0h108v108h-108z" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M9,0L9,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M19,0L19,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M29,0L29,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M39,0L39,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M49,0L49,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M59,0L59,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M69,0L69,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M79,0L79,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M89,0L89,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M99,0L99,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,9L108,9"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,19L108,19"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,29L108,29"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,39L108,39"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,49L108,49"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,59L108,59"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,69L108,69"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,79L108,79"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,89L108,89"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,99L108,99"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M19,29L89,29"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M19,39L89,39"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M19,49L89,49"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M19,59L89,59"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M19,69L89,69"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M19,79L89,79"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M29,19L29,89"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M39,19L39,89"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M49,19L49,89"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M59,19L59,89"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M69,19L69,89"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M79,19L79,89"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
</vector>
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
<vector
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:name="vector"
|
||||
android:width="12dp"
|
||||
android:height="12dp"
|
||||
android:viewportWidth="12"
|
||||
android:viewportHeight="12">
|
||||
<path
|
||||
android:name="path"
|
||||
android:pathData="M 5 7.586 L 9.596 2.99 L 10.303 3.696 L 5 9 L 1.818 5.818 L 2.525 5.111 L 5 7.586 Z"
|
||||
android:fillColor="#fe5e00"
|
||||
android:strokeWidth="1"/>
|
||||
</vector>
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
<vector
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:name="vector"
|
||||
android:width="12dp"
|
||||
android:height="12dp"
|
||||
android:viewportWidth="12"
|
||||
android:viewportHeight="12">
|
||||
<path
|
||||
android:name="path"
|
||||
android:pathData="M 5.801 6.88 L 6.507 7.586 L 10.74 3.353 L 11.447 4.06 L 6.507 9 L 3.325 5.818 L 4.032 5.111 L 5.095 6.173 L 5.801 6.879 L 5.801 6.88 Z M 5.802 5.466 L 8.278 2.989 L 8.983 3.694 L 6.507 6.171 L 5.802 5.466 Z M 4.388 8.293 L 3.682 9 L 0.5 5.818 L 1.207 5.111 L 1.913 5.817 L 1.913 5.818 L 4.388 8.293 Z"
|
||||
android:fillColor="#FF5E00"
|
||||
android:strokeWidth="1"/>
|
||||
</vector>
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
<vector
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:name="vector"
|
||||
android:width="12dp"
|
||||
android:height="12dp"
|
||||
android:viewportWidth="12"
|
||||
android:viewportHeight="12">
|
||||
<path
|
||||
android:name="path"
|
||||
android:pathData="M 10 2 L 2 2 C 1.45 2 1 2.45 1 3 L 1 9 C 1 9.55 1.45 10 2 10 L 6.5 10 L 6.5 9 L 2 9 L 2 4 L 6 6.5 L 10 4 L 10 6.5 L 11 6.5 L 11 3 C 11 2.45 10.55 2 10 2 Z M 6 5.5 L 2 3 L 10 3 L 6 5.5 Z M 9.5 7.5 L 11.5 9.5 L 9.5 11.5 L 9.5 10 L 7.5 10 L 7.5 9 L 9.5 9 L 9.5 7.5 Z"
|
||||
android:fillColor="#6c7a87"
|
||||
android:strokeWidth="1"/>
|
||||
</vector>
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="256"
|
||||
android:viewportHeight="256">
|
||||
<path
|
||||
android:pathData="M128,24A104,104 0,1 0,232 128,104.11 104.11,0 0,0 128,24ZM128,216a88,88 0,1 1,88 -88A88.1,88.1 0,0 1,128 216ZM144,176a8,8 0,0 1,-8 8,16 16,0 0,1 -16,-16L120,128a8,8 0,0 1,0 -16,16 16,0 0,1 16,16v40A8,8 0,0 1,144 176ZM112,84a12,12 0,1 1,12 12A12,12 0,0 1,112 84Z"
|
||||
android:fillColor="#4e6074"/>
|
||||
</vector>
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="256"
|
||||
android:viewportHeight="256">
|
||||
<path
|
||||
android:pathData="M224,128a8,8 0,0 1,-8 8H40a8,8 0,0 1,0 -16H216A8,8 0,0 1,224 128ZM40,72H216a8,8 0,0 0,0 -16H40a8,8 0,0 0,0 16ZM216,184H40a8,8 0,0 0,0 16H216a8,8 0,0 0,0 -16Z"
|
||||
android:fillColor="#4e6074"/>
|
||||
</vector>
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
|
||||
<solid android:color="@color/primary_color"/>
|
||||
<size android:width="14dp" android:height="14dp"/>
|
||||
</shape>
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||
<corners android:topLeftRadius="30dp" android:topRightRadius="30dp" />
|
||||
<solid android:color="@color/gray_7"/>
|
||||
</shape>
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||
<corners android:topRightRadius="16dp" android:bottomLeftRadius="16dp" android:bottomRightRadius="16dp" />
|
||||
<solid android:color="@color/gray_incoming_message"/>
|
||||
</shape>
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||
<corners android:topLeftRadius="16dp" android:topRightRadius="16dp" android:bottomLeftRadius="16dp" />
|
||||
<solid android:color="@color/blue_outgoing_message"/>
|
||||
</shape>
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||
<corners android:radius="50dp" />
|
||||
<solid android:color="@color/white"/>
|
||||
</shape>
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
<vector
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:name="vector"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<group android:name="group_1">
|
||||
<path
|
||||
android:name="path_2"
|
||||
android:pathData="M 12 22 L 12 18.839"
|
||||
android:fillColor="#000"
|
||||
android:fillAlpha="0"
|
||||
android:strokeColor="#6c7a87"
|
||||
android:strokeWidth="1"/>
|
||||
<path
|
||||
android:name="path_3"
|
||||
android:pathData="M 12 14.848 C 9.757 14.848 7.938 13.022 7.938 10.768 L 7.938 6.081 C 7.938 3.827 9.757 2 12 2 C 14.244 2 16.062 3.827 16.062 6.081 L 16.062 10.768 C 16.062 13.022 14.244 14.848 12 14.848 Z"
|
||||
android:fillColor="#000"
|
||||
android:fillAlpha="0"
|
||||
android:strokeColor="#6c7a87"
|
||||
android:strokeWidth="1"/>
|
||||
<path
|
||||
android:name="path_4"
|
||||
android:pathData="M 20 10.801 C 20 15.239 16.419 18.838 11.999 18.838 C 7.581 18.838 4 15.239 4 10.801"
|
||||
android:fillColor="#000"
|
||||
android:fillAlpha="0"
|
||||
android:strokeColor="#6c7a87"
|
||||
android:strokeWidth="1"/>
|
||||
</group>
|
||||
</vector>
|
||||
|
|
@ -63,7 +63,7 @@
|
|||
android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras egestas commodo augue ut dictum. Fusce egestas tellus ut velit pulvinar commodo."
|
||||
android:textColor="@color/gray_9"
|
||||
android:textSize="14sp"
|
||||
android:gravity="left"
|
||||
android:gravity="start"
|
||||
app:layout_constraintTop_toBottomOf="@id/page_title"
|
||||
app:layout_constraintStart_toStartOf="@id/page_title"
|
||||
app:layout_constraintEnd_toEndOf="parent"/>
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@
|
|||
android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras egestas commodo augue ut dictum. Fusce egestas tellus ut velit pulvinar commodo."
|
||||
android:textColor="@color/gray_9"
|
||||
android:textSize="14sp"
|
||||
android:gravity="left"
|
||||
android:gravity="start"
|
||||
app:layout_constraintTop_toBottomOf="@id/page_title"
|
||||
app:layout_constraintStart_toStartOf="@id/page_title"
|
||||
app:layout_constraintEnd_toEndOf="parent"/>
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@
|
|||
android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras egestas commodo augue ut dictum. Fusce egestas tellus ut velit pulvinar commodo."
|
||||
android:textColor="@color/gray_9"
|
||||
android:textSize="14sp"
|
||||
android:gravity="left"
|
||||
android:gravity="start"
|
||||
app:layout_constraintTop_toBottomOf="@id/page_title"
|
||||
app:layout_constraintStart_toStartOf="@id/page_title"
|
||||
app:layout_constraintEnd_toEndOf="parent"/>
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@
|
|||
android:id="@+id/country_prefix"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingLeft="5dp" />
|
||||
android:paddingStart="5dp"
|
||||
android:paddingEnd="5dp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
android:layout_margin="10dp">
|
||||
|
||||
<com.google.android.material.textfield.TextInputLayout
|
||||
android:layout_toLeftOf="@id/clear_field"
|
||||
android:layout_toStartOf="@id/clear_field"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="@string/assistant_country_picker_hint">
|
||||
|
|
@ -57,7 +57,7 @@
|
|||
android:onClick="@{() -> searchCountry.setText(``)}"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:paddingLeft="5dp"
|
||||
android:paddingRight="5dp"
|
||||
|
|
@ -81,7 +81,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/cancel"
|
||||
android:gravity="right" />
|
||||
android:gravity="end" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:bind="http://schemas.android.com/tools">
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<data>
|
||||
<import type="android.view.View" />
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:bind="http://schemas.android.com/tools">
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<data>
|
||||
<import type="android.view.View" />
|
||||
|
|
|
|||
|
|
@ -171,7 +171,8 @@
|
|||
android:drawablePadding="10dp"
|
||||
app:layout_constraintTop_toTopOf="@id/phone_number"
|
||||
app:layout_constraintBottom_toBottomOf="@id/phone_number"
|
||||
app:layout_constraintStart_toStartOf="@id/username" />
|
||||
app:layout_constraintStart_toStartOf="@id/username"
|
||||
bind:ignore="RtlSymmetry" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style_600"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:bind="http://schemas.android.com/tools">
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<data>
|
||||
<import type="android.view.View" />
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:bind="http://schemas.android.com/tools">
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<data>
|
||||
<import type="android.view.View" />
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:bind="http://schemas.android.com/tools">
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<data>
|
||||
<import type="android.view.View" />
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@
|
|||
android:layout_marginTop="20dp"
|
||||
android:layout_marginStart="20dp"
|
||||
android:layout_marginEnd="20dp"
|
||||
android:gravity="left|center_vertical"
|
||||
android:gravity="start|center_vertical"
|
||||
android:text="@string/menu_add_address_to_contacts"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/gray_1"
|
||||
|
|
@ -61,7 +61,7 @@
|
|||
android:layout_marginTop="20dp"
|
||||
android:layout_marginStart="20dp"
|
||||
android:layout_marginEnd="20dp"
|
||||
android:gravity="left|center_vertical"
|
||||
android:gravity="start|center_vertical"
|
||||
android:text="@string/menu_see_existing_contact"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/gray_1"
|
||||
|
|
@ -82,7 +82,7 @@
|
|||
android:layout_marginTop="15dp"
|
||||
android:layout_marginStart="20dp"
|
||||
android:layout_marginEnd="20dp"
|
||||
android:gravity="left|center_vertical"
|
||||
android:gravity="start|center_vertical"
|
||||
android:text="@string/menu_copy_sip_address"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/gray_1"
|
||||
|
|
@ -104,7 +104,7 @@
|
|||
android:layout_marginBottom="20dp"
|
||||
android:layout_marginStart="20dp"
|
||||
android:layout_marginEnd="20dp"
|
||||
android:gravity="left|center_vertical"
|
||||
android:gravity="start|center_vertical"
|
||||
android:text="@string/menu_delete_history"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/red_danger"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:bind="http://schemas.android.com/tools">
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<data>
|
||||
<import type="android.view.View" />
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:bind="http://schemas.android.com/tools"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<data>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<data>
|
||||
<import type="android.view.View" />
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<data>
|
||||
<import type="android.view.View" />
|
||||
|
|
|
|||
|
|
@ -131,7 +131,7 @@
|
|||
style="@style/in_call_extra_action_label_style"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Transfer"
|
||||
android:text="@string/voip_action_call_transfer"
|
||||
app:layout_constraintTop_toBottomOf="@id/transfer"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@id/new_call_label"/>
|
||||
|
|
@ -141,7 +141,7 @@
|
|||
style="@style/in_call_extra_action_label_style"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="New call"
|
||||
android:text="@string/voip_action_start_new_call"
|
||||
app:layout_constraintTop_toBottomOf="@id/new_call"
|
||||
app:layout_constraintStart_toEndOf="@id/transfer_label"
|
||||
app:layout_constraintEnd_toStartOf="@id/calls_list_label" />
|
||||
|
|
@ -151,7 +151,7 @@
|
|||
style="@style/in_call_extra_action_label_style"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Call list"
|
||||
android:text="@string/voip_action_go_to_calls_list"
|
||||
app:layout_constraintTop_toBottomOf="@id/calls_list"
|
||||
app:layout_constraintStart_toEndOf="@id/new_call_label"
|
||||
app:layout_constraintEnd_toStartOf="@id/dialer_label" />
|
||||
|
|
@ -161,7 +161,7 @@
|
|||
style="@style/in_call_extra_action_label_style"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Dialer"
|
||||
android:text="@string/voip_action_show_dialer"
|
||||
app:layout_constraintTop_toBottomOf="@id/dialer"
|
||||
app:layout_constraintStart_toEndOf="@id/calls_list_label"
|
||||
app:layout_constraintEnd_toEndOf="parent" />
|
||||
|
|
@ -172,7 +172,7 @@
|
|||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingBottom="15dp"
|
||||
android:text="Messages"
|
||||
android:text="@string/voip_action_show_messages"
|
||||
app:layout_constraintTop_toBottomOf="@id/chat"
|
||||
app:layout_constraintStart_toStartOf="@id/transfer_label"
|
||||
app:layout_constraintEnd_toEndOf="@id/transfer_label" />
|
||||
|
|
@ -183,7 +183,7 @@
|
|||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingBottom="15dp"
|
||||
android:text="Pause call"
|
||||
android:text="@string/voip_action_pause_call"
|
||||
app:layout_constraintTop_toBottomOf="@id/pause_call"
|
||||
app:layout_constraintStart_toStartOf="@id/new_call_label"
|
||||
app:layout_constraintEnd_toEndOf="@id/new_call_label" />
|
||||
|
|
@ -194,7 +194,7 @@
|
|||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingBottom="15dp"
|
||||
android:text="Record"
|
||||
android:text="@string/voip_action_record_call"
|
||||
app:layout_constraintTop_toBottomOf="@id/record_call"
|
||||
app:layout_constraintStart_toStartOf="@id/calls_list_label"
|
||||
app:layout_constraintEnd_toEndOf="@id/calls_list_label" />
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<data>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<data>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--suppress ALL -->
|
||||
<navigation 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"
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--suppress ALL -->
|
||||
<navigation 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"
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--suppress ALL -->
|
||||
<navigation 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"
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<resources>
|
||||
<!-- Base application theme. -->
|
||||
<style name="Theme.Linphone" parent="Theme.Material3.DayNight.NoActionBar">
|
||||
<!-- Primary brand color. -->
|
||||
|
|
|
|||
|
|
@ -10,9 +10,7 @@
|
|||
<color name="white">#FFFFFF</color>
|
||||
<color name="red_danger">#DD5F5F</color>
|
||||
<color name="green_online">#4FAE80</color>
|
||||
<color name="blue_filter">#09C5F4</color>
|
||||
<color name="blue_outgoing_message">#DFECF2</color>
|
||||
<color name="gray_incoming_message">#F4F4F7</color>
|
||||
<color name="blue_trusted">#4AA8FF</color>
|
||||
<color name="orange_away">#FFA645</color>
|
||||
<color name="gray_offline">#E1E1E1</color>
|
||||
|
|
|
|||
|
|
@ -23,14 +23,12 @@
|
|||
<string name="phone_number">Phone number</string>
|
||||
<string name="or">or</string>
|
||||
<string name="next">next</string>
|
||||
<string name="start">Start</string>
|
||||
|
||||
<string name="notification_channel_call_name">&appName; active calls notifications</string>
|
||||
<string name="notification_channel_incoming_call_name">&appName; incoming calls notifications</string>
|
||||
<string name="notification_channel_service_name">&appName; service notification</string>
|
||||
|
||||
<string name="incoming_call_notification_hangup_action_label">Hangup</string>
|
||||
<string name="incoming_call_notification_answer_action_label">Answer</string>
|
||||
|
||||
<string name="bottom_navigation_contacts_label">Contacts</string>
|
||||
<string name="bottom_navigation_calls_label">Calls</string>
|
||||
<string name="bottom_navigation_conversations_label">Conversations</string>
|
||||
|
|
@ -40,7 +38,7 @@
|
|||
<string name="dialog_accept">Accept</string>
|
||||
<string name="dialog_cancel">Cancel</string>
|
||||
<string name="dialog_continue">Continue</string>
|
||||
<string name="dialog_ok">Ok</string>
|
||||
<string name="dialog_ok">OK</string>
|
||||
<string name="dialog_call">Call</string>
|
||||
<string name="dialog_delete">Delete</string>
|
||||
<string name="dialog_do_not_show_anymore">Do not show this dialog anymore</string>
|
||||
|
|
@ -163,6 +161,15 @@
|
|||
|
||||
<string name="operation_in_progress_overlay">Operation in progress, please wait</string>
|
||||
|
||||
<string name="voip_action_call_transfer">Transfer</string>
|
||||
<string name="voip_action_start_new_call">New call</string>
|
||||
<string name="voip_action_go_to_calls_list">Calls list</string>
|
||||
<string name="voip_action_show_dialer">Dialer</string>
|
||||
<string name="voip_action_show_messages">Messages</string>
|
||||
<string name="voip_action_pause_call">Pause</string>
|
||||
<string name="voip_action_resume_call">Pause</string>
|
||||
<string name="voip_action_record_call">Record</string>
|
||||
|
||||
<!-- Keep <u></u> in following strings translations! -->
|
||||
<string name="welcome_carousel_skip"><u>Skip</u></string>
|
||||
<string name="assistant_forgotten_password"><u>Forgotten password?</u></string>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<resources>
|
||||
<!-- Base application theme. -->
|
||||
<style name="Theme.Linphone" parent="Theme.Material3.DayNight.NoActionBar">
|
||||
<!-- Primary brand color. -->
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue