This commit is contained in:
Mysochenko Yuriy
2022-05-09 14:45:47 +03:00
parent 21ef2c3482
commit dbed416171
4 changed files with 59 additions and 3 deletions

View File

@ -131,6 +131,18 @@ class CallActivity : SimpleActivity() {
dialpad_wrapper.beGone()
}
call_toggle_hold.setOnClickListener {
toggleHold()
}
call_conference.setOnClickListener {
/*if (is conference) {
// show manage conference screen
} else {
// show dialpad and contacts
}*/
}
call_end.setOnClickListener {
endCall()
}
@ -306,6 +318,12 @@ class CallActivity : SimpleActivity() {
}
}
private fun toggleHold() {
val isOnHold = CallManager.toggleHold()
val drawable = if (!isOnHold) R.drawable.ic_play_vector else R.drawable.ic_pause_vector
call_toggle_hold.setImageDrawable(getDrawable(drawable))
}
private fun updateOtherPersonsInfo(avatar: Bitmap?) {
if (callContact == null) {
return

View File

@ -32,6 +32,16 @@ class CallManager {
}
}
fun toggleHold(): Boolean {
val isOnHold = getState() == Call.STATE_HOLDING
if (isOnHold) {
call?.unhold()
} else {
call?.hold()
}
return !isOnHold
}
fun registerCallback(callback: Call.Callback) {
call?.registerCallback(callback)
}

View File

@ -2,6 +2,7 @@ package com.simplemobiletools.dialer.services
import android.telecom.Call
import android.telecom.InCallService
import android.util.Log
import com.simplemobiletools.dialer.activities.CallActivity
import com.simplemobiletools.dialer.extensions.powerManager
import com.simplemobiletools.dialer.helpers.CallManager
@ -13,6 +14,7 @@ class CallService : InCallService() {
private val callListener = object : Call.Callback() {
override fun onStateChanged(call: Call, state: Int) {
super.onStateChanged(call, state)
Log.d("CallService", "onStateChanged: $call")
if (state != Call.STATE_DISCONNECTED) {
callNotificationManager.setupNotification()
}

View File

@ -106,7 +106,7 @@
app:layout_constraintHorizontal_bias="0.15"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.75" />
app:layout_constraintVertical_bias="0.6" />
<ImageView
android:id="@+id/call_toggle_speaker"
@ -119,7 +119,7 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.75" />
app:layout_constraintVertical_bias="0.6" />
<ImageView
android:id="@+id/call_dialpad"
@ -134,7 +134,33 @@
app:layout_constraintHorizontal_bias="0.85"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.75" />
app:layout_constraintVertical_bias="0.6" />
<ImageView
android:id="@+id/call_toggle_hold"
android:layout_width="@dimen/dialpad_button_size"
android:layout_height="@dimen/dialpad_button_size"
android:layout_marginTop="@dimen/bigger_margin"
android:background="?attr/selectableItemBackgroundBorderless"
android:padding="@dimen/medium_margin"
android:src="@drawable/ic_pause_vector"
app:layout_constraintEnd_toStartOf="@+id/call_conference"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/call_toggle_speaker" />
<ImageView
android:id="@+id/call_conference"
android:layout_width="@dimen/dialpad_button_size"
android:layout_height="@dimen/dialpad_button_size"
android:layout_marginTop="@dimen/bigger_margin"
android:background="?attr/selectableItemBackgroundBorderless"
android:padding="@dimen/medium_margin"
android:src="@drawable/ic_plus_vector"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/call_toggle_hold"
app:layout_constraintTop_toBottomOf="@+id/call_toggle_speaker" />
<ImageView
android:id="@+id/call_end"