diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/DialerActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/DialerActivity.kt
index 718781ba..e93389b5 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/DialerActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/DialerActivity.kt
@@ -25,6 +25,7 @@ import com.simplemobiletools.contacts.pro.R
import com.simplemobiletools.contacts.pro.helpers.*
import com.simplemobiletools.contacts.pro.models.Contact
import com.simplemobiletools.contacts.pro.objects.CallManager
+import com.simplemobiletools.contacts.pro.overloads.times
import com.simplemobiletools.contacts.pro.services.DialerCallService
import kotlinx.android.synthetic.main.activity_dialer.*
@@ -33,16 +34,19 @@ import kotlinx.android.synthetic.main.activity_dialer.*
class DialerActivity : SimpleActivity(), SensorEventListener {
private val SENSOR_SENSITIVITY = 4
private val DISCONNECT_DELAY = 3000L
+ private val CALLING_DOT_ANIMATION_DELAY = 500L
private var callNumber = ""
private var callStatus = Call.STATE_NEW
private var isIncomingCall = false
private var isCallActive = false
private var callDuration = 0
+ private var callingDotsCnt = 0
private var sensorManager: SensorManager? = null
private var proximity: Sensor? = null
private var proximityWakeLock: PowerManager.WakeLock? = null
private var timerHandler = Handler()
+ private var callingDotsHandler = Handler()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -59,27 +63,27 @@ class DialerActivity : SimpleActivity(), SensorEventListener {
val extras = intent.extras
if (extras?.getBoolean(ANSWER_CALL, false) == true) {
callNumber = intent.getStringExtra(CALL_NUMBER)
- initViews()
CallManager.answerCall()
- tryFillingOtherEndsName()
+ tryFillingOtherParticipantsName()
+ initViews()
} else if (action == Intent.ACTION_CALL && intent.data != null && intent.dataString?.contains("tel:") == true) {
callNumber = Uri.decode(intent.dataString).substringAfter("tel:")
- initViews()
- tryFillingOtherEndsName()
+ tryFillingOtherParticipantsName()
initOutgoingCall()
+ initViews()
} else if (action == INCOMING_CALL && extras?.containsKey(CALL_NUMBER) == true && extras.containsKey(CALL_STATUS)) {
isIncomingCall = true
callNumber = intent.getStringExtra(CALL_NUMBER)
initViews()
updateUI(intent.getIntExtra(CALL_STATUS, Call.STATE_NEW))
- tryFillingOtherEndsName()
+ tryFillingOtherParticipantsName()
} else if (action == RESUME_DIALER && extras?.containsKey(CALL_NUMBER) == true && extras.containsKey(CALL_STATUS) && extras.containsKey(IS_INCOMING_CALL)) {
callNumber = intent.getStringExtra(CALL_NUMBER)
callStatus = intent.getIntExtra(CALL_STATUS, Call.STATE_NEW)
isIncomingCall = intent.getBooleanExtra(IS_INCOMING_CALL, false)
- initViews()
updateUI(callStatus)
- tryFillingOtherEndsName()
+ tryFillingOtherParticipantsName()
+ initViews()
} else {
toast(R.string.unknown_error_occurred)
finish()
@@ -103,6 +107,7 @@ class DialerActivity : SimpleActivity(), SensorEventListener {
override fun onDestroy() {
super.onDestroy()
timerHandler.removeCallbacksAndMessages(null)
+ callingDotsHandler.removeCallbacksAndMessages(null)
}
private val messageReceiver = object : BroadcastReceiver() {
@@ -120,6 +125,17 @@ class DialerActivity : SimpleActivity(), SensorEventListener {
}
}
+ // animate the dots after Calling... from 0 to 3
+ private fun handleDotsAnimation() {
+ callingDotsHandler.postDelayed({
+ if (callStatus == Call.STATE_DIALING) {
+ callingDotsCnt = ++callingDotsCnt % 4
+ dialer_label_dots.text = ".".times(callingDotsCnt)
+ handleDotsAnimation()
+ }
+ }, CALLING_DOT_ANIMATION_DELAY)
+ }
+
private fun initProximityWakeLock() {
sensorManager = getSystemService(Context.SENSOR_SERVICE) as SensorManager
proximity = sensorManager!!.getDefaultSensor(Sensor.TYPE_PROXIMITY)
@@ -141,6 +157,9 @@ class DialerActivity : SimpleActivity(), SensorEventListener {
dialer_incoming_accept.beVisibleIf(isIncomingCall)
dialer_label.setText(if (isIncomingCall) R.string.incoming_call_from else R.string.calling)
+ if (!isIncomingCall) {
+ handleDotsAnimation()
+ }
}
@SuppressLint("MissingPermission")
@@ -183,7 +202,7 @@ class DialerActivity : SimpleActivity(), SensorEventListener {
finish()
}
- private fun tryFillingOtherEndsName() {
+ private fun tryFillingOtherParticipantsName() {
ContactsHelper(this).getContactWithNumber(callNumber) {
runOnUiThread {
updateOtherParticipant(it)
@@ -200,6 +219,8 @@ class DialerActivity : SimpleActivity(), SensorEventListener {
}
private fun statusActive() {
+ callingDotsHandler.removeCallbacksAndMessages(null)
+ dialer_label_dots.beGone()
startNotificationService()
isCallActive = true
dialer_call_duration.beVisible()
@@ -222,8 +243,10 @@ class DialerActivity : SimpleActivity(), SensorEventListener {
}
private fun statusDisconnected() {
- stopNotificationService()
+ callingDotsHandler.removeCallbacksAndMessages(null)
timerHandler.removeCallbacksAndMessages(null)
+ dialer_label_dots.beGone()
+ stopNotificationService()
dialer_hangup_button.beGone()
dialer_label.setText(R.string.disconnected)
if (isCallActive) {
diff --git a/app/src/main/res/layout/activity_dialer.xml b/app/src/main/res/layout/activity_dialer.xml
index 163e4d1d..3fbf37e2 100644
--- a/app/src/main/res/layout/activity_dialer.xml
+++ b/app/src/main/res/layout/activity_dialer.xml
@@ -9,7 +9,7 @@
+
+
Dialer
- Calling…
+ Calling
Incoming call
Incoming call from…
Ongoing call
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 1136f003..fc739f15 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -111,7 +111,7 @@
Dialer
- Calling…
+ Calling
Incoming call
Incoming call from…
Ongoing call
diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml
index 28b0493f..32a09788 100644
--- a/app/src/main/res/values-el/strings.xml
+++ b/app/src/main/res/values-el/strings.xml
@@ -111,7 +111,7 @@
Dialer
- Calling…
+ Calling
Incoming call
Incoming call from…
Ongoing call
diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml
index d2aa156e..54c1509e 100644
--- a/app/src/main/res/values-eu/strings.xml
+++ b/app/src/main/res/values-eu/strings.xml
@@ -111,7 +111,7 @@
Dialer
- Calling…
+ Calling
Incoming call
Incoming call from…
Ongoing call
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 3bc0ea35..ec36df93 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -111,7 +111,7 @@
Numéroteur
- Appel en cours…
+ Appel en cours
Appel entrant
Appel entrant de…
Appel en cours
diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml
index c399b497..d58121ed 100644
--- a/app/src/main/res/values-hr/strings.xml
+++ b/app/src/main/res/values-hr/strings.xml
@@ -111,7 +111,7 @@
Dialer
- Calling…
+ Calling
Incoming call
Incoming call from…
Ongoing call
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 050c555e..39c3744a 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -111,7 +111,7 @@
Compositore
- Chiamata in corso…
+ Chiamata in corso
Chiamata in arrivo
Chiamata in arrivo da…
Chiamata in corso
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index 3a483aa4..2b373afe 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -111,7 +111,7 @@
電話
- 発信中…
+ 発信中
Incoming call
着信中…
通話中
diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/app/src/main/res/values-ko-rKR/strings.xml
index a6ccabbf..b28f64d1 100644
--- a/app/src/main/res/values-ko-rKR/strings.xml
+++ b/app/src/main/res/values-ko-rKR/strings.xml
@@ -111,7 +111,7 @@
Dialer
- Calling…
+ Calling
Incoming call
Incoming call from…
Ongoing call
diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml
index b899039a..4832acc5 100644
--- a/app/src/main/res/values-lt/strings.xml
+++ b/app/src/main/res/values-lt/strings.xml
@@ -111,7 +111,7 @@
Dialer
- Calling…
+ Calling
Incoming call
Incoming call from…
Ongoing call
diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml
index b447dbf5..715ded7b 100644
--- a/app/src/main/res/values-pt/strings.xml
+++ b/app/src/main/res/values-pt/strings.xml
@@ -111,7 +111,7 @@
Marcador
- A chamar…
+ A chamar
Chamada recebida
Chamada recebida de…
Chamada efetuada
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index fa54e7b8..23dbd7d1 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -111,7 +111,7 @@
Dialer
- Calling…
+ Calling
Incoming call
Incoming call from…
Ongoing call
diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml
index e8f5a884..993b9302 100644
--- a/app/src/main/res/values-sk/strings.xml
+++ b/app/src/main/res/values-sk/strings.xml
@@ -111,7 +111,7 @@
Telefón
- Vytáča sa…
+ Vytáča sa
Prichádzajúci hovor
Prichádzajúci hovor od…
Prebiehajúci hovor
diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml
index 10aa4d33..282f5518 100644
--- a/app/src/main/res/values-sv/strings.xml
+++ b/app/src/main/res/values-sv/strings.xml
@@ -111,7 +111,7 @@
Dialer
- Calling…
+ Calling
Incoming call
Incoming call from…
Ongoing call
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index 668cfe43..f1c49df0 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -111,7 +111,7 @@
Dialer
- Calling…
+ Calling
Incoming call
Incoming call from…
Ongoing call
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 1cd8bdd2..2421d03f 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -111,7 +111,7 @@
撥號器
- 撥號中…
+ 撥號中
來電
通話來自於…
持續通話
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index e5ea598e..039a360b 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -111,7 +111,7 @@
Dialer
- Calling…
+ Calling
Incoming call
Incoming call from…
Ongoing call