mirror of
https://github.com/SimpleMobileTools/Simple-Dialer.git
synced 2025-06-05 21:49:23 +02:00
add hold
This commit is contained in:
@ -131,6 +131,18 @@ class CallActivity : SimpleActivity() {
|
|||||||
dialpad_wrapper.beGone()
|
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 {
|
call_end.setOnClickListener {
|
||||||
endCall()
|
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?) {
|
private fun updateOtherPersonsInfo(avatar: Bitmap?) {
|
||||||
if (callContact == null) {
|
if (callContact == null) {
|
||||||
return
|
return
|
||||||
|
@ -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) {
|
fun registerCallback(callback: Call.Callback) {
|
||||||
call?.registerCallback(callback)
|
call?.registerCallback(callback)
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@ package com.simplemobiletools.dialer.services
|
|||||||
|
|
||||||
import android.telecom.Call
|
import android.telecom.Call
|
||||||
import android.telecom.InCallService
|
import android.telecom.InCallService
|
||||||
|
import android.util.Log
|
||||||
import com.simplemobiletools.dialer.activities.CallActivity
|
import com.simplemobiletools.dialer.activities.CallActivity
|
||||||
import com.simplemobiletools.dialer.extensions.powerManager
|
import com.simplemobiletools.dialer.extensions.powerManager
|
||||||
import com.simplemobiletools.dialer.helpers.CallManager
|
import com.simplemobiletools.dialer.helpers.CallManager
|
||||||
@ -13,6 +14,7 @@ class CallService : InCallService() {
|
|||||||
private val callListener = object : Call.Callback() {
|
private val callListener = object : Call.Callback() {
|
||||||
override fun onStateChanged(call: Call, state: Int) {
|
override fun onStateChanged(call: Call, state: Int) {
|
||||||
super.onStateChanged(call, state)
|
super.onStateChanged(call, state)
|
||||||
|
Log.d("CallService", "onStateChanged: $call")
|
||||||
if (state != Call.STATE_DISCONNECTED) {
|
if (state != Call.STATE_DISCONNECTED) {
|
||||||
callNotificationManager.setupNotification()
|
callNotificationManager.setupNotification()
|
||||||
}
|
}
|
||||||
|
@ -106,7 +106,7 @@
|
|||||||
app:layout_constraintHorizontal_bias="0.15"
|
app:layout_constraintHorizontal_bias="0.15"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintVertical_bias="0.75" />
|
app:layout_constraintVertical_bias="0.6" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/call_toggle_speaker"
|
android:id="@+id/call_toggle_speaker"
|
||||||
@ -119,7 +119,7 @@
|
|||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintVertical_bias="0.75" />
|
app:layout_constraintVertical_bias="0.6" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/call_dialpad"
|
android:id="@+id/call_dialpad"
|
||||||
@ -134,7 +134,33 @@
|
|||||||
app:layout_constraintHorizontal_bias="0.85"
|
app:layout_constraintHorizontal_bias="0.85"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="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
|
<ImageView
|
||||||
android:id="@+id/call_end"
|
android:id="@+id/call_end"
|
||||||
|
Reference in New Issue
Block a user