mirror of
https://gitlab.linphone.org/BC/public/linphone-android.git
synced 2026-01-17 11:28:06 +00:00
Started settings
This commit is contained in:
parent
24a5ae8122
commit
54a299f23c
12 changed files with 760 additions and 51 deletions
|
|
@ -62,6 +62,20 @@ class CorePreferences @UiThread constructor(private val context: Context) {
|
|||
config.setBool("app", "publish_presence", value)
|
||||
}
|
||||
|
||||
// Calls settings
|
||||
|
||||
var routeAudioToBluetoothIfAvailable: Boolean
|
||||
get() = config.getBool("app", "route_audio_to_bluetooth_if_available", true)
|
||||
set(value) {
|
||||
config.setBool("app", "route_audio_to_bluetooth_if_available", value)
|
||||
}
|
||||
|
||||
var automaticallyStartCallRecording: Boolean
|
||||
get() = config.getBool("app", "auto_start_call_record", false)
|
||||
set(value) {
|
||||
config.setBool("app", "auto_start_call_record", value)
|
||||
}
|
||||
|
||||
// Will disable chat feature completely
|
||||
@get:WorkerThread
|
||||
val disableChat: Boolean
|
||||
|
|
@ -91,6 +105,12 @@ class CorePreferences @UiThread constructor(private val context: Context) {
|
|||
val thirdPartyDefaultValuesPath: String
|
||||
get() = context.filesDir.absolutePath + "/assistant_third_party_default_values"
|
||||
|
||||
private val ringtonesPath: String
|
||||
get() = context.filesDir.absolutePath + "/share/sounds/linphone/rings/"
|
||||
|
||||
val defaultRingtonePath: String
|
||||
get() = ringtonesPath + "notes_of_the_optimistic.mkv"
|
||||
|
||||
@UiThread
|
||||
fun copyAssetsFromPackage() {
|
||||
copy("linphonerc_default", configPath)
|
||||
|
|
|
|||
|
|
@ -5,13 +5,20 @@ import android.view.LayoutInflater
|
|||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.annotation.UiThread
|
||||
import androidx.navigation.navGraphViewModels
|
||||
import org.linphone.R
|
||||
import org.linphone.databinding.SettingsFragmentBinding
|
||||
import org.linphone.ui.main.fragment.GenericFragment
|
||||
import org.linphone.ui.main.settings.viewmodel.SettingsViewModel
|
||||
|
||||
@UiThread
|
||||
class SettingsFragment : GenericFragment() {
|
||||
private lateinit var binding: SettingsFragmentBinding
|
||||
|
||||
private val viewModel: SettingsViewModel by navGraphViewModels(
|
||||
R.id.main_nav_graph
|
||||
)
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater,
|
||||
container: ViewGroup?,
|
||||
|
|
@ -24,6 +31,7 @@ class SettingsFragment : GenericFragment() {
|
|||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
binding.viewModel = viewModel
|
||||
|
||||
binding.setBackClickListener {
|
||||
goBack()
|
||||
|
|
|
|||
|
|
@ -0,0 +1,181 @@
|
|||
/*
|
||||
* Copyright (c) 2010-2023 Belledonne Communications SARL.
|
||||
*
|
||||
* This file is part of linphone-android
|
||||
* (see https://www.linphone.org).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package org.linphone.ui.main.settings.viewmodel
|
||||
|
||||
import android.os.Vibrator
|
||||
import androidx.annotation.UiThread
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import androidx.lifecycle.ViewModel
|
||||
import org.linphone.LinphoneApplication.Companion.coreContext
|
||||
import org.linphone.LinphoneApplication.Companion.corePreferences
|
||||
import org.linphone.core.tools.Log
|
||||
|
||||
class SettingsViewModel @UiThread constructor() : ViewModel() {
|
||||
companion object {
|
||||
private const val TAG = "[Settings ViewModel]"
|
||||
}
|
||||
|
||||
val expandCalls = MutableLiveData<Boolean>()
|
||||
val expandNetwork = MutableLiveData<Boolean>()
|
||||
val expandUserInterface = MutableLiveData<Boolean>()
|
||||
|
||||
// Calls settings
|
||||
val echoCancellerEnabled = MutableLiveData<Boolean>()
|
||||
val routeAudioToBluetooth = MutableLiveData<Boolean>()
|
||||
val videoEnabled = MutableLiveData<Boolean>()
|
||||
val autoInitiateVideoCalls = MutableLiveData<Boolean>()
|
||||
val autoAcceptVideoRequests = MutableLiveData<Boolean>()
|
||||
val useDeviceRingtone = MutableLiveData<Boolean>()
|
||||
val vibrateDuringIncomingCall = MutableLiveData<Boolean>()
|
||||
val autoRecordCalls = MutableLiveData<Boolean>()
|
||||
|
||||
// Network settings
|
||||
val useWifiOnly = MutableLiveData<Boolean>()
|
||||
|
||||
// User Interface settings
|
||||
|
||||
val isVibrationAvailable = MutableLiveData<Boolean>()
|
||||
|
||||
init {
|
||||
expandCalls.value = true
|
||||
expandNetwork.value = true
|
||||
expandUserInterface.value = false
|
||||
|
||||
val vibrator = coreContext.context.getSystemService(Vibrator::class.java)
|
||||
isVibrationAvailable.value = vibrator.hasVibrator()
|
||||
if (isVibrationAvailable.value == false) {
|
||||
Log.w("$TAG Device doesn't seem to have a vibrator, hiding related setting")
|
||||
}
|
||||
|
||||
coreContext.postOnCoreThread { core ->
|
||||
echoCancellerEnabled.postValue(core.isEchoCancellationEnabled)
|
||||
routeAudioToBluetooth.postValue(corePreferences.routeAudioToBluetoothIfAvailable)
|
||||
videoEnabled.postValue(core.isVideoEnabled)
|
||||
autoInitiateVideoCalls.postValue(core.videoActivationPolicy.automaticallyInitiate)
|
||||
autoAcceptVideoRequests.postValue(core.videoActivationPolicy.automaticallyAccept)
|
||||
useDeviceRingtone.postValue(core.ring == null)
|
||||
vibrateDuringIncomingCall.postValue(core.isVibrationOnIncomingCallEnabled)
|
||||
autoRecordCalls.postValue(corePreferences.automaticallyStartCallRecording)
|
||||
|
||||
useWifiOnly.postValue(core.isWifiOnlyEnabled)
|
||||
}
|
||||
}
|
||||
|
||||
@UiThread
|
||||
fun toggleEchoCanceller() {
|
||||
val newValue = echoCancellerEnabled.value == false
|
||||
coreContext.postOnCoreThread { core ->
|
||||
core.isEchoCancellationEnabled = newValue
|
||||
echoCancellerEnabled.postValue(newValue)
|
||||
}
|
||||
}
|
||||
|
||||
@UiThread
|
||||
fun toggleRouteAudioToBluetooth() {
|
||||
val newValue = routeAudioToBluetooth.value == false
|
||||
coreContext.postOnCoreThread {
|
||||
corePreferences.routeAudioToBluetoothIfAvailable = newValue
|
||||
routeAudioToBluetooth.postValue(newValue)
|
||||
}
|
||||
}
|
||||
|
||||
@UiThread
|
||||
fun toggleEnableVideo() {
|
||||
val newValue = videoEnabled.value == false
|
||||
coreContext.postOnCoreThread { core ->
|
||||
core.isVideoCaptureEnabled = newValue
|
||||
core.isVideoDisplayEnabled = newValue
|
||||
videoEnabled.postValue(newValue)
|
||||
}
|
||||
}
|
||||
|
||||
@UiThread
|
||||
fun toggleAutoInitiateVideoCalls() {
|
||||
val newValue = autoInitiateVideoCalls.value == false
|
||||
coreContext.postOnCoreThread { core ->
|
||||
val policy = core.videoActivationPolicy
|
||||
policy.automaticallyInitiate = newValue
|
||||
core.videoActivationPolicy = policy
|
||||
autoInitiateVideoCalls.postValue(newValue)
|
||||
}
|
||||
}
|
||||
|
||||
@UiThread
|
||||
fun toggleAutoAcceptVideoRequests() {
|
||||
val newValue = autoAcceptVideoRequests.value == false
|
||||
coreContext.postOnCoreThread { core ->
|
||||
val policy = core.videoActivationPolicy
|
||||
policy.automaticallyAccept = newValue
|
||||
core.videoActivationPolicy = policy
|
||||
autoAcceptVideoRequests.postValue(newValue)
|
||||
}
|
||||
}
|
||||
|
||||
@UiThread
|
||||
fun toggleDeviceRingtone() {
|
||||
val newValue = useDeviceRingtone.value == false
|
||||
coreContext.postOnCoreThread { core ->
|
||||
core.ring = if (newValue) null else corePreferences.defaultRingtonePath
|
||||
useDeviceRingtone.postValue(newValue)
|
||||
}
|
||||
}
|
||||
|
||||
@UiThread
|
||||
fun toggleVibrateOnIncomingCalls() {
|
||||
val newValue = vibrateDuringIncomingCall.value == false
|
||||
coreContext.postOnCoreThread { core ->
|
||||
core.isVibrationOnIncomingCallEnabled = newValue
|
||||
vibrateDuringIncomingCall.postValue(newValue)
|
||||
}
|
||||
}
|
||||
|
||||
@UiThread
|
||||
fun toggleAutoRecordCall() {
|
||||
val newValue = autoRecordCalls.value == false
|
||||
coreContext.postOnCoreThread {
|
||||
corePreferences.automaticallyStartCallRecording = newValue
|
||||
autoRecordCalls.postValue(newValue)
|
||||
}
|
||||
}
|
||||
|
||||
@UiThread
|
||||
fun toggleUseWifiOnly() {
|
||||
val newValue = useWifiOnly.value == false
|
||||
coreContext.postOnCoreThread { core ->
|
||||
core.isWifiOnlyEnabled = newValue
|
||||
useWifiOnly.postValue(newValue)
|
||||
}
|
||||
}
|
||||
|
||||
@UiThread
|
||||
fun toggleCallsExpand() {
|
||||
expandCalls.value = expandCalls.value == false
|
||||
}
|
||||
|
||||
@UiThread
|
||||
fun toggleNetworkExpand() {
|
||||
expandNetwork.value = expandNetwork.value == false
|
||||
}
|
||||
|
||||
@UiThread
|
||||
fun toggleUserInterfaceExpand() {
|
||||
expandUserInterface.value = expandUserInterface.value == false
|
||||
}
|
||||
}
|
||||
|
|
@ -1,13 +1,9 @@
|
|||
<vector
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:name="vector"
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:name="path"
|
||||
android:pathData="M 7.41 16.41 L 12 11.83 L 16.59 16.41 L 18 15 L 12 9 L 6 15 L 7.41 16.41 Z"
|
||||
android:fillColor="#4e6074"
|
||||
android:strokeWidth="1"/>
|
||||
android:viewportWidth="256"
|
||||
android:viewportHeight="256">
|
||||
<path
|
||||
android:pathData="M213.66,165.66a8,8 0,0 1,-11.32 0L128,91.31 53.66,165.66a8,8 0,0 1,-11.32 -11.32l80,-80a8,8 0,0 1,11.32 0l80,80A8,8 0,0 1,213.66 165.66Z"
|
||||
android:fillColor="#4e6074"/>
|
||||
</vector>
|
||||
|
|
|
|||
|
|
@ -145,7 +145,7 @@
|
|||
android:id="@+id/details_background"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginStart="17dp"
|
||||
android:layout_marginEnd="17dp"
|
||||
android:src="@drawable/shape_squircle_gray_2_background"
|
||||
|
|
@ -351,7 +351,7 @@
|
|||
android:id="@+id/actions_background"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginStart="17dp"
|
||||
android:layout_marginEnd="17dp"
|
||||
android:src="@drawable/shape_squircle_gray_2_background"
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@
|
|||
style="@style/default_text_style_800"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="30dp"
|
||||
android:layout_marginTop="32dp"
|
||||
android:layout_marginStart="16dp"
|
||||
android:text="@string/assistant_secure_mode_default_title"
|
||||
android:textSize="16sp"
|
||||
|
|
@ -197,7 +197,7 @@
|
|||
style="@style/default_text_style_800"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="30dp"
|
||||
android:layout_marginTop="32dp"
|
||||
android:layout_marginStart="16dp"
|
||||
android:text="@string/assistant_secure_mode_interoperable_title"
|
||||
android:textSize="16sp"
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@
|
|||
style="@style/default_text_style_800"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="30dp"
|
||||
android:layout_marginTop="32dp"
|
||||
android:layout_marginStart="16dp"
|
||||
android:text="@string/assistant_secure_mode_default_title"
|
||||
android:textSize="16sp"
|
||||
|
|
@ -220,7 +220,7 @@
|
|||
style="@style/default_text_style_800"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="30dp"
|
||||
android:layout_marginTop="32dp"
|
||||
android:layout_marginStart="16dp"
|
||||
android:text="@string/assistant_secure_mode_interoperable_title"
|
||||
android:textSize="16sp"
|
||||
|
|
|
|||
|
|
@ -260,7 +260,7 @@
|
|||
android:orientation="vertical"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:padding="10dp"
|
||||
android:background="@drawable/shape_squircle_gray_2_background"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
|
|
@ -378,7 +378,7 @@
|
|||
android:id="@+id/trust_background"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginStart="17dp"
|
||||
android:layout_marginEnd="17dp"
|
||||
android:src="@drawable/shape_squircle_gray_2_background"
|
||||
|
|
@ -465,7 +465,7 @@
|
|||
android:id="@+id/actions_background"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginStart="17dp"
|
||||
android:layout_marginEnd="17dp"
|
||||
android:src="@drawable/shape_squircle_gray_2_background"
|
||||
|
|
|
|||
|
|
@ -8,42 +8,529 @@
|
|||
<variable
|
||||
name="backClickListener"
|
||||
type="View.OnClickListener" />
|
||||
<variable
|
||||
name="viewModel"
|
||||
type="org.linphone.ui.main.settings.viewmodel.SettingsViewModel" />
|
||||
</data>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
<ScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:fillViewport="true"
|
||||
android:background="@color/white">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/back"
|
||||
android:onClick="@{backClickListener}"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="35dp"
|
||||
android:layout_marginStart="10dp"
|
||||
android:adjustViewBounds="true"
|
||||
android:padding="5dp"
|
||||
android:src="@drawable/caret_left"
|
||||
android:drawableTint="@color/primary_color"
|
||||
app:layout_constraintBottom_toBottomOf="@id/title"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/title" />
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="32dp">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style_800"
|
||||
android:id="@+id/title"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/top_bar_height"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:gravity="center_vertical"
|
||||
android:text="@string/settings_title"
|
||||
android:textColor="@color/primary_color"
|
||||
android:textSize="16sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/back"
|
||||
app:layout_constraintTop_toTopOf="parent"/>
|
||||
<ImageView
|
||||
android:id="@+id/back"
|
||||
android:onClick="@{backClickListener}"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="35dp"
|
||||
android:layout_marginStart="10dp"
|
||||
android:adjustViewBounds="true"
|
||||
android:padding="5dp"
|
||||
android:src="@drawable/caret_left"
|
||||
android:drawableTint="@color/primary_color"
|
||||
app:layout_constraintBottom_toBottomOf="@id/title"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/title" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style_800"
|
||||
android:id="@+id/title"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/top_bar_height"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:gravity="center_vertical"
|
||||
android:text="@string/settings_title"
|
||||
android:textColor="@color/primary_color"
|
||||
android:textSize="16sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/back"
|
||||
app:layout_constraintTop_toTopOf="parent"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style_800"
|
||||
android:onClick="@{() -> viewModel.toggleCallsExpand()}"
|
||||
android:id="@+id/calls"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="5dp"
|
||||
android:layout_marginStart="26dp"
|
||||
android:layout_marginEnd="26dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:text="@string/settings_calls_title"
|
||||
android:drawableEnd="@{viewModel.expandCalls ? @drawable/caret_up : @drawable/caret_down, default=@drawable/caret_up}"
|
||||
android:drawableTint="@color/gray_9"
|
||||
android:textSize="16sp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/title"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/calls_background"
|
||||
android:visibility="@{viewModel.expandCalls ? View.VISIBLE : View.GONE}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginStart="17dp"
|
||||
android:layout_marginEnd="17dp"
|
||||
android:src="@drawable/shape_squircle_gray_2_background"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/calls"
|
||||
app:layout_constraintBottom_toBottomOf="@id/calls_bottom_anchor"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style_700"
|
||||
android:onClick="@{() -> viewModel.toggleEchoCanceller()}"
|
||||
android:id="@+id/echo_canceller_title"
|
||||
android:visibility="@{viewModel.expandCalls ? View.VISIBLE : View.GONE}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:text="@string/settings_calls_echo_canceller_title"
|
||||
android:textSize="13sp"
|
||||
android:textColor="@color/gray_1"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
app:layout_constraintTop_toTopOf="@id/echo_canceller_switch"
|
||||
app:layout_constraintBottom_toTopOf="@id/echo_canceller_subtitle"
|
||||
app:layout_constraintStart_toStartOf="@id/calls_background"
|
||||
app:layout_constraintEnd_toStartOf="@id/echo_canceller_switch"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style"
|
||||
android:onClick="@{() -> viewModel.toggleEchoCanceller()}"
|
||||
android:id="@+id/echo_canceller_subtitle"
|
||||
android:visibility="@{viewModel.expandCalls ? View.VISIBLE : View.GONE}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:text="@string/settings_calls_echo_canceller_subtitle"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/gray_1"
|
||||
android:maxLines="2"
|
||||
android:ellipsize="end"
|
||||
app:layout_constraintTop_toBottomOf="@id/echo_canceller_title"
|
||||
app:layout_constraintBottom_toBottomOf="@id/echo_canceller_switch"
|
||||
app:layout_constraintStart_toStartOf="@id/calls_background"
|
||||
app:layout_constraintEnd_toStartOf="@id/echo_canceller_switch"/>
|
||||
|
||||
<com.google.android.material.materialswitch.MaterialSwitch
|
||||
android:id="@+id/echo_canceller_switch"
|
||||
android:onClick="@{() -> viewModel.toggleEchoCanceller()}"
|
||||
android:visibility="@{viewModel.expandCalls ? View.VISIBLE : View.GONE}"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="21dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:checked="@{viewModel.echoCancellerEnabled}"
|
||||
app:layout_constraintEnd_toEndOf="@id/calls_background"
|
||||
app:layout_constraintTop_toTopOf="@id/calls_background" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style_700"
|
||||
android:onClick="@{() -> viewModel.toggleRouteAudioToBluetooth()}"
|
||||
android:id="@+id/route_audio_to_bluetooth_title"
|
||||
android:visibility="@{viewModel.expandCalls ? View.VISIBLE : View.GONE}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:text="@string/settings_calls_route_audio_to_bluetooth_title"
|
||||
android:textSize="13sp"
|
||||
android:textColor="@color/gray_1"
|
||||
android:maxLines="2"
|
||||
android:ellipsize="end"
|
||||
app:layout_constraintTop_toTopOf="@id/route_audio_to_bluetooth_switch"
|
||||
app:layout_constraintBottom_toBottomOf="@id/route_audio_to_bluetooth_switch"
|
||||
app:layout_constraintStart_toStartOf="@id/calls_background"
|
||||
app:layout_constraintEnd_toStartOf="@id/route_audio_to_bluetooth_switch"/>
|
||||
|
||||
<com.google.android.material.materialswitch.MaterialSwitch
|
||||
android:id="@+id/route_audio_to_bluetooth_switch"
|
||||
android:onClick="@{() -> viewModel.toggleRouteAudioToBluetooth()}"
|
||||
android:visibility="@{viewModel.expandCalls ? View.VISIBLE : View.GONE}"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:checked="@{viewModel.routeAudioToBluetooth}"
|
||||
app:layout_constraintEnd_toEndOf="@id/calls_background"
|
||||
app:layout_constraintTop_toBottomOf="@id/echo_canceller_switch" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style_700"
|
||||
android:onClick="@{() -> viewModel.toggleEnableVideo()}"
|
||||
android:id="@+id/enable_video_title"
|
||||
android:visibility="@{viewModel.expandCalls ? View.VISIBLE : View.GONE}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:text="@string/settings_calls_enable_video_title"
|
||||
android:textSize="13sp"
|
||||
android:textColor="@color/gray_1"
|
||||
android:maxLines="2"
|
||||
android:ellipsize="end"
|
||||
app:layout_constraintTop_toTopOf="@id/enable_video_switch"
|
||||
app:layout_constraintBottom_toBottomOf="@id/enable_video_switch"
|
||||
app:layout_constraintStart_toStartOf="@id/calls_background"
|
||||
app:layout_constraintEnd_toStartOf="@id/enable_video_switch"/>
|
||||
|
||||
<com.google.android.material.materialswitch.MaterialSwitch
|
||||
android:id="@+id/enable_video_switch"
|
||||
android:onClick="@{() -> viewModel.toggleEnableVideo()}"
|
||||
android:visibility="@{viewModel.expandCalls ? View.VISIBLE : View.GONE}"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:checked="@{viewModel.videoEnabled}"
|
||||
app:layout_constraintEnd_toEndOf="@id/calls_background"
|
||||
app:layout_constraintTop_toBottomOf="@id/route_audio_to_bluetooth_switch" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style_700"
|
||||
android:onClick="@{() -> viewModel.toggleAutoInitiateVideoCalls()}"
|
||||
android:id="@+id/auto_initiate_video_title"
|
||||
android:visibility="@{viewModel.expandCalls ? View.VISIBLE : View.GONE}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:text="@string/settings_calls_auto_initiate_video_title"
|
||||
android:textSize="13sp"
|
||||
android:textColor="@color/gray_1"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
app:layout_constraintTop_toTopOf="@id/auto_initiate_video_switch"
|
||||
app:layout_constraintBottom_toTopOf="@id/auto_initiate_video_subtitle"
|
||||
app:layout_constraintStart_toStartOf="@id/calls_background"
|
||||
app:layout_constraintEnd_toStartOf="@id/auto_initiate_video_switch"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style"
|
||||
android:onClick="@{() -> viewModel.toggleAutoInitiateVideoCalls()}"
|
||||
android:id="@+id/auto_initiate_video_subtitle"
|
||||
android:visibility="@{viewModel.expandCalls ? View.VISIBLE : View.GONE}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:text="@string/settings_calls_auto_initiate_video_subtitle"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/gray_1"
|
||||
android:maxLines="2"
|
||||
android:ellipsize="end"
|
||||
app:layout_constraintTop_toBottomOf="@id/auto_initiate_video_title"
|
||||
app:layout_constraintBottom_toBottomOf="@id/auto_initiate_video_switch"
|
||||
app:layout_constraintStart_toStartOf="@id/calls_background"
|
||||
app:layout_constraintEnd_toStartOf="@id/auto_initiate_video_switch"/>
|
||||
|
||||
<com.google.android.material.materialswitch.MaterialSwitch
|
||||
android:id="@+id/auto_initiate_video_switch"
|
||||
android:onClick="@{() -> viewModel.toggleAutoInitiateVideoCalls()}"
|
||||
android:visibility="@{viewModel.expandCalls ? View.VISIBLE : View.GONE}"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:checked="@{viewModel.autoInitiateVideoCalls}"
|
||||
app:layout_constraintEnd_toEndOf="@id/calls_background"
|
||||
app:layout_constraintTop_toBottomOf="@id/enable_video_switch" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style_700"
|
||||
android:id="@+id/auto_accept_video_title"
|
||||
android:onClick="@{() -> viewModel.toggleAutoAcceptVideoRequests()}"
|
||||
android:visibility="@{viewModel.expandCalls ? View.VISIBLE : View.GONE}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:text="@string/settings_calls_auto_accept_video_title"
|
||||
android:textSize="13sp"
|
||||
android:textColor="@color/gray_1"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
app:layout_constraintTop_toTopOf="@id/auto_accept_video_switch"
|
||||
app:layout_constraintBottom_toTopOf="@id/auto_accept_video_subtitle"
|
||||
app:layout_constraintStart_toStartOf="@id/calls_background"
|
||||
app:layout_constraintEnd_toStartOf="@id/auto_accept_video_switch"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style"
|
||||
android:id="@+id/auto_accept_video_subtitle"
|
||||
android:onClick="@{() -> viewModel.toggleAutoAcceptVideoRequests()}"
|
||||
android:visibility="@{viewModel.expandCalls ? View.VISIBLE : View.GONE}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:text="@string/settings_calls_auto_accept_video_subtitle"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/gray_1"
|
||||
android:maxLines="2"
|
||||
android:ellipsize="end"
|
||||
app:layout_constraintTop_toBottomOf="@id/auto_accept_video_title"
|
||||
app:layout_constraintBottom_toBottomOf="@id/auto_accept_video_switch"
|
||||
app:layout_constraintStart_toStartOf="@id/calls_background"
|
||||
app:layout_constraintEnd_toStartOf="@id/auto_accept_video_switch"/>
|
||||
|
||||
<com.google.android.material.materialswitch.MaterialSwitch
|
||||
android:id="@+id/auto_accept_video_switch"
|
||||
android:onClick="@{() -> viewModel.toggleAutoAcceptVideoRequests()}"
|
||||
android:visibility="@{viewModel.expandCalls ? View.VISIBLE : View.GONE}"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:checked="@{viewModel.autoAcceptVideoRequests}"
|
||||
app:layout_constraintEnd_toEndOf="@id/calls_background"
|
||||
app:layout_constraintTop_toBottomOf="@id/auto_initiate_video_switch" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style_700"
|
||||
android:id="@+id/device_ringtone_title"
|
||||
android:onClick="@{() -> viewModel.toggleDeviceRingtone()}"
|
||||
android:visibility="@{viewModel.expandCalls ? View.VISIBLE : View.GONE}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:text="@string/settings_calls_use_device_ringtone_title"
|
||||
android:textSize="13sp"
|
||||
android:textColor="@color/gray_1"
|
||||
android:maxLines="2"
|
||||
android:ellipsize="end"
|
||||
app:layout_constraintTop_toTopOf="@id/device_ringtone_switch"
|
||||
app:layout_constraintBottom_toBottomOf="@id/device_ringtone_switch"
|
||||
app:layout_constraintStart_toStartOf="@id/calls_background"
|
||||
app:layout_constraintEnd_toStartOf="@id/device_ringtone_switch"/>
|
||||
|
||||
<com.google.android.material.materialswitch.MaterialSwitch
|
||||
android:id="@+id/device_ringtone_switch"
|
||||
android:onClick="@{() -> viewModel.toggleDeviceRingtone()}"
|
||||
android:visibility="@{viewModel.expandCalls ? View.VISIBLE : View.GONE}"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:checked="@{viewModel.useDeviceRingtone}"
|
||||
app:layout_constraintEnd_toEndOf="@id/calls_background"
|
||||
app:layout_constraintTop_toBottomOf="@id/auto_accept_video_switch" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style_700"
|
||||
android:onClick="@{() -> viewModel.toggleVibrateOnIncomingCalls()}"
|
||||
android:id="@+id/vibrate_title"
|
||||
android:visibility="@{viewModel.expandCalls && viewModel.isVibrationAvailable ? View.VISIBLE : View.GONE}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:text="@string/settings_calls_vibrate_while_ringing_title"
|
||||
android:textSize="13sp"
|
||||
android:textColor="@color/gray_1"
|
||||
android:maxLines="2"
|
||||
android:ellipsize="end"
|
||||
app:layout_constraintTop_toTopOf="@id/vibrate_switch"
|
||||
app:layout_constraintBottom_toBottomOf="@id/vibrate_switch"
|
||||
app:layout_constraintStart_toStartOf="@id/calls_background"
|
||||
app:layout_constraintEnd_toStartOf="@id/vibrate_switch"/>
|
||||
|
||||
<com.google.android.material.materialswitch.MaterialSwitch
|
||||
android:id="@+id/vibrate_switch"
|
||||
android:onClick="@{() -> viewModel.toggleVibrateOnIncomingCalls()}"
|
||||
android:visibility="@{viewModel.expandCalls && viewModel.isVibrationAvailable ? View.VISIBLE : View.GONE}"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:checked="@{viewModel.vibrateDuringIncomingCall}"
|
||||
app:layout_constraintEnd_toEndOf="@id/calls_background"
|
||||
app:layout_constraintTop_toBottomOf="@id/device_ringtone_switch" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style_700"
|
||||
android:onClick="@{() -> viewModel.toggleAutoRecordCall()}"
|
||||
android:id="@+id/auto_record_title"
|
||||
android:visibility="@{viewModel.expandCalls ? View.VISIBLE : View.GONE}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:text="@string/settings_calls_auto_record_title"
|
||||
android:textSize="13sp"
|
||||
android:textColor="@color/gray_1"
|
||||
android:maxLines="2"
|
||||
android:ellipsize="end"
|
||||
app:layout_constraintTop_toTopOf="@id/auto_record_switch"
|
||||
app:layout_constraintBottom_toBottomOf="@id/auto_record_switch"
|
||||
app:layout_constraintStart_toStartOf="@id/calls_background"
|
||||
app:layout_constraintEnd_toStartOf="@id/auto_record_switch"/>
|
||||
|
||||
<com.google.android.material.materialswitch.MaterialSwitch
|
||||
android:id="@+id/auto_record_switch"
|
||||
android:onClick="@{() -> viewModel.toggleAutoRecordCall()}"
|
||||
android:visibility="@{viewModel.expandCalls ? View.VISIBLE : View.GONE}"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:checked="@{viewModel.autoRecordCalls}"
|
||||
app:layout_constraintEnd_toEndOf="@id/calls_background"
|
||||
app:layout_constraintTop_toBottomOf="@id/vibrate_switch" />
|
||||
|
||||
<View
|
||||
android:id="@+id/calls_bottom_anchor"
|
||||
android:visibility="@{viewModel.expandCalls ? View.VISIBLE : View.GONE}"
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="1dp"
|
||||
android:layout_marginTop="21dp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/auto_record_switch"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style_800"
|
||||
android:onClick="@{() -> viewModel.toggleNetworkExpand()}"
|
||||
android:id="@+id/network"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="5dp"
|
||||
android:layout_marginStart="26dp"
|
||||
android:layout_marginEnd="26dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:text="@string/settings_network_title"
|
||||
android:drawableEnd="@{viewModel.expandNetwork ? @drawable/caret_up : @drawable/caret_down, default=@drawable/caret_up}"
|
||||
android:drawableTint="@color/gray_9"
|
||||
android:textSize="16sp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/calls_background"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/network_background"
|
||||
android:visibility="@{viewModel.expandNetwork ? View.VISIBLE : View.GONE}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginStart="17dp"
|
||||
android:layout_marginEnd="17dp"
|
||||
android:src="@drawable/shape_squircle_gray_2_background"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/network"
|
||||
app:layout_constraintBottom_toBottomOf="@id/network_bottom_anchor"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style_700"
|
||||
android:onClick="@{() -> viewModel.toggleEnableVideo()}"
|
||||
android:id="@+id/wifi_only_title"
|
||||
android:visibility="@{viewModel.expandNetwork ? View.VISIBLE : View.GONE}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:text="@string/settings_network_use_wifi_only"
|
||||
android:textSize="13sp"
|
||||
android:textColor="@color/gray_1"
|
||||
android:maxLines="2"
|
||||
android:ellipsize="end"
|
||||
app:layout_constraintTop_toTopOf="@id/wifi_only_switch"
|
||||
app:layout_constraintBottom_toBottomOf="@id/wifi_only_switch"
|
||||
app:layout_constraintStart_toStartOf="@id/network_background"
|
||||
app:layout_constraintEnd_toStartOf="@id/wifi_only_switch"/>
|
||||
|
||||
<com.google.android.material.materialswitch.MaterialSwitch
|
||||
android:id="@+id/wifi_only_switch"
|
||||
android:onClick="@{() -> viewModel.toggleUseWifiOnly()}"
|
||||
android:visibility="@{viewModel.expandNetwork ? View.VISIBLE : View.GONE}"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="21dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:checked="@{viewModel.useWifiOnly}"
|
||||
app:layout_constraintEnd_toEndOf="@id/network_background"
|
||||
app:layout_constraintTop_toTopOf="@id/network_background" />
|
||||
|
||||
<View
|
||||
android:id="@+id/network_bottom_anchor"
|
||||
android:visibility="@{viewModel.expandNetwork ? View.VISIBLE : View.GONE}"
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="1dp"
|
||||
android:layout_marginTop="21dp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/wifi_only_switch"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style_800"
|
||||
android:onClick="@{() -> viewModel.toggleUserInterfaceExpand()}"
|
||||
android:id="@+id/user_interface"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="5dp"
|
||||
android:layout_marginStart="26dp"
|
||||
android:layout_marginEnd="26dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:text="@string/settings_user_interface_title"
|
||||
android:drawableEnd="@{viewModel.expandUserInterface ? @drawable/caret_up : @drawable/caret_down, default=@drawable/caret_up}"
|
||||
android:drawableTint="@color/gray_9"
|
||||
android:textSize="16sp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/network_background"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/user_interface_background"
|
||||
android:visibility="@{viewModel.expandUserInterface ? View.VISIBLE : View.GONE}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginStart="17dp"
|
||||
android:layout_marginEnd="17dp"
|
||||
android:src="@drawable/shape_squircle_gray_2_background"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/user_interface"
|
||||
app:layout_constraintBottom_toBottomOf="@id/user_interface_bottom_anchor"/>
|
||||
|
||||
<View
|
||||
android:id="@+id/user_interface_bottom_anchor"
|
||||
android:visibility="@{viewModel.expandUserInterface ? View.VISIBLE : View.GONE}"
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="1dp"
|
||||
android:layout_marginTop="21dp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/network_bottom_anchor"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style_800"
|
||||
android:id="@+id/advanced_settings"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="5dp"
|
||||
android:layout_marginStart="26dp"
|
||||
android:layout_marginEnd="26dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:text="@string/settings_advanced_title"
|
||||
android:drawableEnd="@drawable/caret_right"
|
||||
android:drawableTint="@color/gray_9"
|
||||
android:textSize="16sp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/user_interface"/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</ScrollView>
|
||||
|
||||
</layout>
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/in_call_main_actions_menu_height"
|
||||
android:paddingBottom="15dp"
|
||||
android:paddingBottom="5dp"
|
||||
android:background="@color/in_call_black">
|
||||
|
||||
<com.google.android.material.bottomsheet.BottomSheetDragHandleView
|
||||
|
|
@ -23,7 +23,7 @@
|
|||
android:visibility="@{showExpandToggle ? View.VISIBLE : View.INVISIBLE}"
|
||||
android:id="@+id/toggle_expand"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/icon_size"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@{viewModel.isActionsMenuExpanded ? @drawable/caret_down : @drawable/caret_up, default=@drawable/caret_up}"
|
||||
app:tint="@color/white"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
<color name="gradient_start">#EEF7F8</color>
|
||||
|
||||
<color name="gray_1">#6C7A87</color>0xFF
|
||||
<color name="gray_1">#6C7A87</color>
|
||||
<color name="gray_2">#F9F9F9</color>
|
||||
<color name="gray_3">#EEF6F8</color>
|
||||
<color name="gray_4">#949494</color>
|
||||
|
|
|
|||
|
|
@ -138,6 +138,23 @@
|
|||
<string name="help_advanced_debug_logs_url_copied_into_clipboard_toast_message">Debug logs URL copied into clipboard</string>
|
||||
<string name="help_advanced_debug_logs_upload_error_toast_message">Failed to upload debug logs</string>
|
||||
|
||||
<string name="settings_calls_title">Calls</string>
|
||||
<string name="settings_calls_echo_canceller_title">Use echo canceller</string>
|
||||
<string name="settings_calls_echo_canceller_subtitle">Prevents echo from being heard by remote end</string>
|
||||
<string name="settings_calls_route_audio_to_bluetooth_title">Route audio to bluetooth device, if any</string>
|
||||
<string name="settings_calls_enable_video_title">Enable video</string>
|
||||
<string name="settings_calls_auto_initiate_video_title">Start video calls</string>
|
||||
<string name="settings_calls_auto_initiate_video_subtitle">Always initiate calls as video</string>
|
||||
<string name="settings_calls_auto_accept_video_title">Accept video calls</string>
|
||||
<string name="settings_calls_auto_accept_video_subtitle">Always accept video calls</string>
|
||||
<string name="settings_calls_use_device_ringtone_title">Use this device\'s ringtone</string>
|
||||
<string name="settings_calls_vibrate_while_ringing_title">Vibrate while incoming call is ringing</string>
|
||||
<string name="settings_calls_auto_record_title">Automatically start recording calls</string>
|
||||
<string name="settings_network_title">Network</string>
|
||||
<string name="settings_network_use_wifi_only">Use only Wi-Fi networks</string>
|
||||
<string name="settings_user_interface_title">User interface</string>
|
||||
<string name="settings_advanced_title">Advanced settings</string>
|
||||
|
||||
<string name="manage_account_title">Manage account</string>
|
||||
<string name="manage_account_details_title">Details</string>
|
||||
<string name="manage_account_add_picture">Add a picture</string>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue