show a timer at established calls
This commit is contained in:
parent
f0c4b012b7
commit
62d0bf3701
2 changed files with 40 additions and 0 deletions
|
@ -10,6 +10,7 @@ import android.hardware.SensorEventListener
|
|||
import android.hardware.SensorManager
|
||||
import android.net.Uri
|
||||
import android.os.Bundle
|
||||
import android.os.Handler
|
||||
import android.os.PowerManager
|
||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
|
@ -27,9 +28,12 @@ class DialerActivity : SimpleActivity(), SensorEventListener {
|
|||
|
||||
private var number = ""
|
||||
private var isIncomingCall = false
|
||||
private var isCallActive = false
|
||||
private var callDuration = 0
|
||||
private var sensorManager: SensorManager? = null
|
||||
private var proximity: Sensor? = null
|
||||
private var proximityWakeLock: PowerManager.WakeLock? = null
|
||||
private var timerHandler = Handler()
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
@ -64,6 +68,11 @@ class DialerActivity : SimpleActivity(), SensorEventListener {
|
|||
sensorManager!!.unregisterListener(this)
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
timerHandler.removeCallbacksAndMessages(null)
|
||||
}
|
||||
|
||||
private val messageReceiver = object : BroadcastReceiver() {
|
||||
override fun onReceive(context: Context, intent: Intent) {
|
||||
if (intent.extras?.containsKey(CALL_STATUS) == true) {
|
||||
|
@ -121,13 +130,29 @@ class DialerActivity : SimpleActivity(), SensorEventListener {
|
|||
}
|
||||
|
||||
private fun statusActive() {
|
||||
isCallActive = true
|
||||
dialer_call_duration.beVisible()
|
||||
updateCallDuration()
|
||||
|
||||
dialer_label.text = ""
|
||||
dialer_hangup_button.beVisible()
|
||||
dialer_incoming_accept.beGone()
|
||||
dialer_incoming_decline.beGone()
|
||||
}
|
||||
|
||||
private fun updateCallDuration() {
|
||||
dialer_call_duration.text = callDuration.getFormattedDuration()
|
||||
timerHandler.postDelayed({
|
||||
if (isCallActive) {
|
||||
callDuration++
|
||||
updateCallDuration()
|
||||
}
|
||||
}, 1000)
|
||||
}
|
||||
|
||||
private fun statusDisconnected() {
|
||||
isCallActive = false
|
||||
timerHandler.removeCallbacksAndMessages(null)
|
||||
dialer_hangup_button.beGone()
|
||||
dialer_hangup_button.postDelayed({
|
||||
finish()
|
||||
|
|
|
@ -47,6 +47,21 @@
|
|||
app:layout_constraintTop_toBottomOf="@+id/dialer_big_name_number"
|
||||
tools:text="123 456 789"/>
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/dialer_call_duration"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/medium_margin"
|
||||
android:gravity="center_horizontal"
|
||||
android:paddingLeft="@dimen/activity_margin"
|
||||
android:paddingRight="@dimen/activity_margin"
|
||||
android:textSize="@dimen/big_text_size"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/dialer_number"
|
||||
tools:text="00:00"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/dialer_hangup_button"
|
||||
android:layout_width="@dimen/dialer_hangup_button_size"
|
||||
|
|
Loading…
Reference in a new issue