mirror of
https://gitlab.linphone.org/BC/public/linphone-android.git
synced 2026-05-07 05:53:07 +00:00
Updated disabled buttons when in pause
This commit is contained in:
parent
9094a167eb
commit
0bbab221a2
14 changed files with 68 additions and 33 deletions
|
|
@ -30,7 +30,6 @@ project.tasks['preBuild'].dependsOn 'linphoneSdkSource'
|
|||
android {
|
||||
namespace 'org.linphone'
|
||||
compileSdk 34
|
||||
compileSdkPreview 'UpsideDownCake'
|
||||
|
||||
defaultConfig {
|
||||
applicationId packageName
|
||||
|
|
@ -38,17 +37,24 @@ android {
|
|||
targetSdk 34
|
||||
versionCode 60000
|
||||
versionName "6.0.0"
|
||||
}
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
applicationVariants.configureEach { variant ->
|
||||
variant.outputs.configureEach {
|
||||
outputFileName = "linphone-android-${variant.buildType.name}-${project.version}.apk"
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
debug {
|
||||
debuggable true
|
||||
jniDebuggable true
|
||||
|
||||
resValue "string", "file_provider", packageName + ".fileprovider"
|
||||
}
|
||||
|
||||
release {
|
||||
minifyEnabled false
|
||||
minifyEnabled true
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
|
||||
resValue "string", "file_provider", packageName + ".fileprovider"
|
||||
|
|
|
|||
|
|
@ -71,7 +71,6 @@ class EndedCallFragment : GenericCallFragment() {
|
|||
Log.i("$TAG Showing ended call fragment")
|
||||
|
||||
callViewModel.callDuration.observe(viewLifecycleOwner) { duration ->
|
||||
// TODO FIXME: doesn't work
|
||||
binding.chronometer.base = SystemClock.elapsedRealtime() - (1000 * duration)
|
||||
// Do not start it!
|
||||
}
|
||||
|
|
|
|||
|
|
@ -877,7 +877,7 @@ class CurrentCallViewModel @UiThread constructor() : ViewModel() {
|
|||
@WorkerThread
|
||||
private fun canCallBePaused(): Boolean {
|
||||
return ::currentCall.isInitialized && !currentCall.mediaInProgress() && when (currentCall.state) {
|
||||
Call.State.StreamsRunning, Call.State.PausedByRemote, Call.State.Paused -> true
|
||||
Call.State.StreamsRunning, Call.State.Pausing, Call.State.Paused -> true
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_enabled="false"
|
||||
android:drawable="@drawable/shape_round_in_call_disabled_button_background" />
|
||||
<item android:state_selected="true"
|
||||
android:drawable="@drawable/shape_round_in_call_selected_green_button_background" />
|
||||
<item android:state_pressed="true"
|
||||
android:drawable="@drawable/shape_round_in_call_pressed_button_background" />
|
||||
<item
|
||||
android:drawable="@drawable/shape_round_in_call_button_background" />
|
||||
</selector>
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
<item android:state_enabled="false"
|
||||
android:drawable="@drawable/shape_round_in_call_disabled_button_background" />
|
||||
<item android:state_selected="true"
|
||||
android:drawable="@drawable/shape_round_in_call_selected_button_background" />
|
||||
android:drawable="@drawable/shape_round_in_call_selected_red_button_background" />
|
||||
<item android:state_pressed="true"
|
||||
android:drawable="@drawable/shape_round_in_call_pressed_button_background" />
|
||||
<item
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
|
||||
<size android:width="55dp" android:height="55dp" />
|
||||
<solid android:color="@color/green_success_500"/>
|
||||
</shape>
|
||||
|
|
@ -46,7 +46,7 @@
|
|||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/call_button_size"
|
||||
android:layout_marginTop="@dimen/call_extra_button_top_margin"
|
||||
android:background="@drawable/in_call_button_background"
|
||||
android:background="@drawable/in_call_button_background_red"
|
||||
android:padding="@dimen/call_button_icon_padding"
|
||||
android:src="@drawable/transfer"
|
||||
app:layout_constraintDimensionRatio="1:1"
|
||||
|
|
@ -61,7 +61,7 @@
|
|||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/call_button_size"
|
||||
android:layout_marginTop="@dimen/call_extra_button_top_margin"
|
||||
android:background="@drawable/in_call_button_background"
|
||||
android:background="@drawable/in_call_button_background_red"
|
||||
android:padding="@dimen/call_button_icon_padding"
|
||||
android:src="@drawable/phone_plus"
|
||||
app:layout_constraintDimensionRatio="1:1"
|
||||
|
|
@ -76,7 +76,7 @@
|
|||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/call_button_size"
|
||||
android:layout_marginTop="@dimen/call_extra_button_top_margin"
|
||||
android:background="@drawable/in_call_button_background"
|
||||
android:background="@drawable/in_call_button_background_red"
|
||||
android:padding="@dimen/call_button_icon_padding"
|
||||
android:src="@drawable/calls_list"
|
||||
app:layout_constraintDimensionRatio="1:1"
|
||||
|
|
@ -106,10 +106,11 @@
|
|||
<ImageView
|
||||
android:id="@+id/layout"
|
||||
android:onClick="@{() -> viewModel.showNumpad()}"
|
||||
android:enabled="@{!viewModel.isPaused && !viewModel.isPausedByRemote}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/call_button_size"
|
||||
android:layout_marginTop="@dimen/call_extra_button_top_margin"
|
||||
android:background="@drawable/in_call_button_background"
|
||||
android:background="@drawable/in_call_button_background_red"
|
||||
android:padding="@dimen/call_button_icon_padding"
|
||||
android:src="@drawable/dialer"
|
||||
app:layout_constraintDimensionRatio="1:1"
|
||||
|
|
@ -124,7 +125,7 @@
|
|||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/call_button_size"
|
||||
android:layout_marginTop="@dimen/call_extra_button_top_margin"
|
||||
android:background="@drawable/in_call_button_background"
|
||||
android:background="@drawable/in_call_button_background_red"
|
||||
android:padding="@dimen/call_button_icon_padding"
|
||||
android:src="@drawable/chat_teardrop_text"
|
||||
app:layout_constraintDimensionRatio="1:1"
|
||||
|
|
@ -141,9 +142,9 @@
|
|||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/call_button_size"
|
||||
android:layout_marginTop="@dimen/call_extra_button_top_margin"
|
||||
android:background="@drawable/in_call_button_background"
|
||||
android:background="@drawable/in_call_button_background_green"
|
||||
android:padding="@dimen/call_button_icon_padding"
|
||||
android:src="@drawable/pause_call"
|
||||
android:src="@{viewModel.isPaused ? @drawable/play : @drawable/pause, default=@drawable/pause}"
|
||||
app:layout_constraintDimensionRatio="1:1"
|
||||
app:layout_constraintEnd_toEndOf="@id/pause_call_label"
|
||||
app:layout_constraintStart_toStartOf="@id/pause_call_label"
|
||||
|
|
@ -153,10 +154,11 @@
|
|||
<ImageView
|
||||
android:id="@+id/record_call"
|
||||
android:onClick="@{() -> viewModel.toggleRecording()}"
|
||||
android:enabled="@{!viewModel.isPaused && !viewModel.isPausedByRemote}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/call_button_size"
|
||||
android:layout_marginTop="@dimen/call_extra_button_top_margin"
|
||||
android:background="@drawable/in_call_button_background"
|
||||
android:background="@drawable/in_call_button_background_red"
|
||||
android:padding="@dimen/call_button_icon_padding"
|
||||
android:src="@drawable/record_fill"
|
||||
android:selected="@{viewModel.isRecording()}"
|
||||
|
|
@ -206,6 +208,7 @@
|
|||
style="@style/in_call_extra_action_label_style"
|
||||
android:id="@+id/layout_label"
|
||||
android:onClick="@{() -> viewModel.showNumpad()}"
|
||||
android:enabled="@{!viewModel.isPaused && !viewModel.isPausedByRemote}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingBottom="15dp"
|
||||
|
|
@ -229,6 +232,7 @@
|
|||
style="@style/in_call_extra_action_label_style"
|
||||
android:id="@+id/pause_call_label"
|
||||
android:onClick="@{() -> viewModel.togglePause()}"
|
||||
android:enabled="@{viewModel.canBePaused}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingBottom="15dp"
|
||||
|
|
@ -241,6 +245,7 @@
|
|||
style="@style/in_call_extra_action_label_style"
|
||||
android:id="@+id/record_call_label"
|
||||
android:onClick="@{() -> viewModel.toggleRecording()}"
|
||||
android:enabled="@{!viewModel.isPaused && !viewModel.isPausedByRemote}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingBottom="15dp"
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@
|
|||
android:layout_height="@dimen/call_button_size"
|
||||
android:layout_marginTop="@dimen/call_extra_button_top_margin"
|
||||
android:padding="@dimen/call_button_icon_padding"
|
||||
android:background="@drawable/in_call_button_background"
|
||||
android:background="@drawable/in_call_button_background_red"
|
||||
android:src="@drawable/transfer"
|
||||
app:tint="@color/in_call_button_tint_color"
|
||||
app:layout_constraintDimensionRatio="1:1"
|
||||
|
|
@ -59,7 +59,7 @@
|
|||
android:layout_height="@dimen/call_button_size"
|
||||
android:layout_marginTop="@dimen/call_extra_button_top_margin"
|
||||
android:padding="@dimen/call_button_icon_padding"
|
||||
android:background="@drawable/in_call_button_background"
|
||||
android:background="@drawable/in_call_button_background_red"
|
||||
android:src="@drawable/phone_plus"
|
||||
app:tint="@color/in_call_button_tint_color"
|
||||
app:layout_constraintDimensionRatio="1:1"
|
||||
|
|
@ -74,7 +74,7 @@
|
|||
android:layout_height="@dimen/call_button_size"
|
||||
android:layout_marginTop="@dimen/call_extra_button_top_margin"
|
||||
android:padding="@dimen/call_button_icon_padding"
|
||||
android:background="@drawable/in_call_button_background"
|
||||
android:background="@drawable/in_call_button_background_red"
|
||||
android:src="@drawable/calls_list"
|
||||
app:tint="@color/in_call_button_tint_color"
|
||||
app:layout_constraintDimensionRatio="1:1"
|
||||
|
|
@ -103,11 +103,12 @@
|
|||
<ImageView
|
||||
android:id="@+id/layout"
|
||||
android:onClick="@{() -> viewModel.showNumpad()}"
|
||||
android:enabled="@{!viewModel.isPaused && !viewModel.isPausedByRemote}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/call_button_size"
|
||||
android:layout_marginTop="@dimen/call_extra_button_top_margin"
|
||||
android:padding="@dimen/call_button_icon_padding"
|
||||
android:background="@drawable/in_call_button_background"
|
||||
android:background="@drawable/in_call_button_background_red"
|
||||
android:src="@drawable/dialer"
|
||||
app:tint="@color/in_call_button_tint_color"
|
||||
app:layout_constraintDimensionRatio="1:1"
|
||||
|
|
@ -138,8 +139,8 @@
|
|||
android:layout_height="@dimen/call_button_size"
|
||||
android:layout_marginTop="@dimen/call_extra_button_top_margin"
|
||||
android:padding="@dimen/call_button_icon_padding"
|
||||
android:background="@drawable/in_call_button_background"
|
||||
android:src="@drawable/pause_call"
|
||||
android:background="@drawable/in_call_button_background_green"
|
||||
android:src="@{viewModel.isPaused ? @drawable/play : @drawable/pause, default=@drawable/pause}"
|
||||
app:tint="@color/in_call_button_tint_color"
|
||||
app:layout_constraintDimensionRatio="1:1"
|
||||
app:layout_constraintTop_toBottomOf="@id/new_call_label"
|
||||
|
|
@ -149,11 +150,12 @@
|
|||
<ImageView
|
||||
android:id="@+id/record_call"
|
||||
android:onClick="@{() -> viewModel.toggleRecording()}"
|
||||
android:enabled="@{!viewModel.isPaused && !viewModel.isPausedByRemote}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/call_button_size"
|
||||
android:layout_marginTop="@dimen/call_extra_button_top_margin"
|
||||
android:padding="@dimen/call_button_icon_padding"
|
||||
android:background="@drawable/in_call_button_background"
|
||||
android:background="@drawable/in_call_button_background_red"
|
||||
android:src="@drawable/record_fill"
|
||||
android:selected="@{viewModel.isRecording()}"
|
||||
app:tint="@color/in_call_button_tint_color"
|
||||
|
|
@ -199,6 +201,7 @@
|
|||
style="@style/in_call_extra_action_label_style"
|
||||
android:id="@+id/layout_label"
|
||||
android:onClick="@{() -> viewModel.showNumpad()}"
|
||||
android:enabled="@{!viewModel.isPaused && !viewModel.isPausedByRemote}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/call_action_show_dialer"
|
||||
|
|
@ -221,6 +224,7 @@
|
|||
style="@style/in_call_extra_action_label_style"
|
||||
android:id="@+id/pause_call_label"
|
||||
android:onClick="@{() -> viewModel.togglePause()}"
|
||||
android:enabled="@{viewModel.canBePaused}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingBottom="15dp"
|
||||
|
|
@ -233,6 +237,7 @@
|
|||
style="@style/in_call_extra_action_label_style"
|
||||
android:id="@+id/record_call_label"
|
||||
android:onClick="@{() -> viewModel.toggleRecording()}"
|
||||
android:enabled="@{!viewModel.isPaused && !viewModel.isPausedByRemote}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingBottom="15dp"
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@
|
|||
android:padding="@dimen/call_button_icon_padding"
|
||||
android:enabled="@{!viewModel.isPaused && !viewModel.isPausedByRemote}"
|
||||
android:src="@{viewModel.isVideoEnabled ? @drawable/video_camera : @drawable/video_camera_slash, default=@drawable/video_camera}"
|
||||
android:background="@drawable/in_call_button_background"
|
||||
android:background="@drawable/in_call_button_background_red"
|
||||
app:tint="@color/in_call_button_tint_color"
|
||||
app:layout_constraintHorizontal_bias="1"
|
||||
app:layout_constraintHorizontal_chainStyle="packed"
|
||||
|
|
@ -72,7 +72,7 @@
|
|||
android:layout_marginEnd="16dp"
|
||||
android:padding="@dimen/call_button_icon_padding"
|
||||
android:src="@{viewModel.isMicrophoneMuted ? @drawable/microphone_slash : @drawable/microphone, default=@drawable/microphone}"
|
||||
android:background="@drawable/in_call_button_background"
|
||||
android:background="@drawable/in_call_button_background_red"
|
||||
app:tint="@color/in_call_button_tint_color"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/toggle_video"
|
||||
|
|
@ -86,7 +86,7 @@
|
|||
android:layout_marginEnd="16dp"
|
||||
android:padding="@dimen/call_button_icon_padding"
|
||||
android:src="@{viewModel.isHeadsetEnabled ? @drawable/headset : viewModel.isBluetoothEnabled ? @drawable/bluetooth : viewModel.isSpeakerEnabled ? @drawable/speaker_high : @drawable/speaker_slash, default=@drawable/speaker_slash}"
|
||||
android:background="@drawable/in_call_button_background"
|
||||
android:background="@drawable/in_call_button_background_red"
|
||||
app:tint="@color/in_call_button_tint_color"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/toggle_mute_mic"
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@
|
|||
android:layout_height="@dimen/call_button_size"
|
||||
android:layout_marginTop="@dimen/call_extra_button_top_margin"
|
||||
android:padding="@dimen/call_button_icon_padding"
|
||||
android:background="@drawable/in_call_button_background"
|
||||
android:background="@drawable/in_call_button_background_red"
|
||||
android:src="@drawable/users"
|
||||
app:tint="@color/in_call_button_tint_color"
|
||||
app:layout_constraintDimensionRatio="1:1"
|
||||
|
|
@ -73,7 +73,7 @@
|
|||
android:layout_height="@dimen/call_button_size"
|
||||
android:layout_marginTop="@dimen/call_extra_button_top_margin"
|
||||
android:padding="@dimen/call_button_icon_padding"
|
||||
android:background="@drawable/in_call_button_background"
|
||||
android:background="@drawable/in_call_button_background_red"
|
||||
android:src="@drawable/calls_list"
|
||||
app:tint="@color/in_call_button_tint_color"
|
||||
app:layout_constraintDimensionRatio="1:1"
|
||||
|
|
@ -106,7 +106,7 @@
|
|||
android:layout_height="@dimen/call_button_size"
|
||||
android:layout_marginTop="@dimen/call_extra_button_top_margin"
|
||||
android:padding="@dimen/call_button_icon_padding"
|
||||
android:background="@drawable/in_call_button_background"
|
||||
android:background="@drawable/in_call_button_background_red"
|
||||
android:src="@drawable/notebook"
|
||||
app:tint="@color/in_call_button_tint_color"
|
||||
app:layout_constraintDimensionRatio="1:1"
|
||||
|
|
@ -136,7 +136,7 @@
|
|||
android:layout_height="@dimen/call_button_size"
|
||||
android:layout_marginTop="@dimen/call_extra_button_top_margin"
|
||||
android:padding="@dimen/call_button_icon_padding"
|
||||
android:src="@drawable/pause_call"
|
||||
android:src="@drawable/pause"
|
||||
android:background="@drawable/shape_round_in_call_disabled_button_background"
|
||||
app:tint="@color/gray_500"
|
||||
app:layout_constraintDimensionRatio="1:1"
|
||||
|
|
|
|||
|
|
@ -129,7 +129,7 @@
|
|||
android:padding="@dimen/call_button_icon_padding"
|
||||
android:enabled="@{viewModel.isVideoAvailable}"
|
||||
android:src="@{viewModel.isVideoEnabled ? @drawable/video_camera : @drawable/video_camera_slash, default=@drawable/video_camera}"
|
||||
android:background="@drawable/in_call_button_background"
|
||||
android:background="@drawable/in_call_button_background_red"
|
||||
app:tint="@color/in_call_button_tint_color"
|
||||
app:layout_constraintHorizontal_chainStyle="packed"
|
||||
app:layout_constraintTop_toTopOf="@id/toggle_mute_mic"
|
||||
|
|
@ -146,7 +146,7 @@
|
|||
android:layout_marginTop="20dp"
|
||||
android:padding="@dimen/call_button_icon_padding"
|
||||
android:src="@{viewModel.isMicrophoneMuted ? @drawable/microphone_slash : @drawable/microphone, default=@drawable/microphone}"
|
||||
android:background="@drawable/in_call_button_background"
|
||||
android:background="@drawable/in_call_button_background_red"
|
||||
app:tint="@color/in_call_button_tint_color"
|
||||
app:layout_constraintTop_toBottomOf="@id/video_preview"
|
||||
app:layout_constraintBottom_toTopOf="@id/join"
|
||||
|
|
@ -161,7 +161,7 @@
|
|||
android:layout_marginEnd="16dp"
|
||||
android:padding="@dimen/call_button_icon_padding"
|
||||
android:src="@drawable/speaker_slash"
|
||||
android:background="@drawable/in_call_button_background"
|
||||
android:background="@drawable/in_call_button_background_red"
|
||||
app:tint="@color/in_call_button_tint_color"
|
||||
app:layout_constraintTop_toTopOf="@id/toggle_mute_mic"
|
||||
app:layout_constraintBottom_toBottomOf="@id/toggle_mute_mic"
|
||||
|
|
|
|||
|
|
@ -131,7 +131,7 @@
|
|||
<item name="android:textSize">32sp</item>
|
||||
<item name="android:gravity">center</item>
|
||||
<item name="android:elevation">3dp</item>
|
||||
<item name="android:background">@drawable/in_call_button_background</item>
|
||||
<item name="android:background">@drawable/in_call_button_background_red</item>
|
||||
</style>
|
||||
<style name="in_call_extra_action_label_style">
|
||||
<item name="android:fontFamily">@font/noto_sans</item>
|
||||
|
|
|
|||
|
|
@ -13,4 +13,8 @@ plugins {
|
|||
id 'com.android.library' version '8.1.4' apply false
|
||||
id 'org.jetbrains.kotlin.android' version '1.9.0-RC' apply false
|
||||
id 'com.google.gms.google-services' version '4.3.15' apply false
|
||||
}
|
||||
}
|
||||
|
||||
task clean(type: Delete) {
|
||||
delete rootProject.buildDir
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue