Added call time chronometer to Call to/Call from row

This commit is contained in:
Juha Heinanen
2022-02-10 15:16:58 +02:00
parent 74bae1fe93
commit 7faf64558e
2 changed files with 42 additions and 11 deletions
@@ -46,6 +46,7 @@ class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding private lateinit var binding: ActivityMainBinding
private lateinit var layout: RelativeLayout private lateinit var layout: RelativeLayout
private lateinit var callTitle: TextView private lateinit var callTitle: TextView
private lateinit var callTimer: Chronometer
private lateinit var callUri: AutoCompleteTextView private lateinit var callUri: AutoCompleteTextView
private lateinit var securityButton: ImageButton private lateinit var securityButton: ImageButton
private lateinit var callButton: ImageButton private lateinit var callButton: ImageButton
@@ -127,6 +128,7 @@ class MainActivity : AppCompatActivity() {
layout = binding.mainActivityLayout layout = binding.mainActivityLayout
aorSpinner = binding.aorSpinner aorSpinner = binding.aorSpinner
callTitle = binding.callTitle callTitle = binding.callTitle
callTimer = binding.callTimer
callUri = binding.callUri callUri = binding.callUri
securityButton = binding.securityButton securityButton = binding.securityButton
callButton = binding.callButton callButton = binding.callButton
@@ -711,6 +713,7 @@ class MainActivity : AppCompatActivity() {
Log.d(TAG, "Main onPause") Log.d(TAG, "Main onPause")
Utils.addActivity("main") Utils.addActivity("main")
BaresipService.isMainVisible = false BaresipService.isMainVisible = false
callTimer.stop()
saveCallUri() saveCallUri()
} }
@@ -1136,6 +1139,7 @@ class MainActivity : AppCompatActivity() {
} }
if (speakerIcon != null) if (speakerIcon != null)
speakerIcon!!.setIcon(R.drawable.speaker_off) speakerIcon!!.setIcon(R.drawable.speaker_off)
callTimer.stop()
if ((Build.VERSION.SDK_INT >= 22 && kgm.isDeviceLocked) || if ((Build.VERSION.SDK_INT >= 22 && kgm.isDeviceLocked) ||
(Build.VERSION.SDK_INT < 22 && kgm.isKeyguardLocked && kgm.isKeyguardSecure)) (Build.VERSION.SDK_INT < 22 && kgm.isKeyguardLocked && kgm.isKeyguardSecure))
Utils.setShowWhenLocked(this, false) Utils.setShowWhenLocked(this, false)
@@ -1751,6 +1755,7 @@ class MainActivity : AppCompatActivity() {
if (Call.uaCalls(ua, "").size == 0) { if (Call.uaCalls(ua, "").size == 0) {
swipeRefresh.isEnabled = true swipeRefresh.isEnabled = true
callTitle.text = getString(R.string.outgoing_call_to_dots) callTitle.text = getString(R.string.outgoing_call_to_dots)
callTimer.visibility = View.INVISIBLE
if (ua.account.resumeUri != "") if (ua.account.resumeUri != "")
callUri.setText(ua.account.resumeUri) callUri.setText(ua.account.resumeUri)
else else
@@ -1784,6 +1789,7 @@ class MainActivity : AppCompatActivity() {
getString(R.string.incoming_call_from_dots) getString(R.string.incoming_call_from_dots)
else else
getString(R.string.outgoing_call_to_dots) getString(R.string.outgoing_call_to_dots)
callTimer.visibility = View.INVISIBLE
callUri.setText(Utils.friendlyUri(ContactsActivity.contactName(call.peerUri), callUri.setText(Utils.friendlyUri(ContactsActivity.contactName(call.peerUri),
Utils.aorDomain(ua.account.aor))) Utils.aorDomain(ua.account.aor)))
securityButton.visibility = View.INVISIBLE securityButton.visibility = View.INVISIBLE
@@ -1798,6 +1804,7 @@ class MainActivity : AppCompatActivity() {
} }
"incoming" -> { "incoming" -> {
callTitle.text = getString(R.string.incoming_call_from_dots) callTitle.text = getString(R.string.incoming_call_from_dots)
callTimer.visibility = View.INVISIBLE
callUri.setText(Utils.friendlyUri(ContactsActivity.contactName(call.peerUri), callUri.setText(Utils.friendlyUri(ContactsActivity.contactName(call.peerUri),
Utils.aorDomain(ua.account.aor))) Utils.aorDomain(ua.account.aor)))
callUri.setAdapter(null) callUri.setAdapter(null)
@@ -1830,6 +1837,10 @@ class MainActivity : AppCompatActivity() {
Utils.aorDomain(ua.account.aor))) Utils.aorDomain(ua.account.aor)))
transferButton.isEnabled = true transferButton.isEnabled = true
} }
callTimer.base = SystemClock.elapsedRealtime() - (call.duration() * 1000L)
callTimer.stop()
callTimer.start()
callTimer.visibility = View.VISIBLE
if (ua.account.mediaEnc == "") { if (ua.account.mediaEnc == "") {
securityButton.visibility = View.INVISIBLE securityButton.visibility = View.INVISIBLE
} else { } else {
+31 -11
View File
@@ -47,24 +47,44 @@
android:gravity="center_vertical" android:gravity="center_vertical"
android:spinnerMode="dropdown"/> android:spinnerMode="dropdown"/>
<TextView <LinearLayout
android:id="@+id/callTitle" android:id="@+id/callTitleRow"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/aorSpinner" android:layout_below="@id/aorSpinner"
android:paddingTop="16dp" android:layout_marginTop="31dp"
android:paddingStart="3dp" android:orientation="horizontal" >
android:paddingEnd="0dp"
android:textSize="20sp" <TextView
android:text="@string/outgoing_call_to_dots" > android:id="@+id/callTitle"
</TextView> android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingStart="3dp"
android:paddingEnd="0dp"
android:gravity="start"
android:text="@string/outgoing_call_to_dots"
android:textSize="20sp">
</TextView>
<Chronometer
android:id="@+id/callTimer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingStart="0dp"
android:paddingEnd="3dp"
android:gravity="end"
android:visibility="invisible"
android:textSize="18sp">
</Chronometer>
</LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/uriRow" android:id="@+id/uriRow"
android:orientation="horizontal" android:orientation="horizontal"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/callTitle" android:layout_below="@id/callTitleRow"
android:paddingBottom="10dp" > android:paddingBottom="10dp" >
<AutoCompleteTextView <AutoCompleteTextView
@@ -82,8 +102,8 @@
android:id="@+id/securityButton" android:id="@+id/securityButton"
android:layout_width="24dp" android:layout_width="24dp"
android:layout_height="24dp" android:layout_height="24dp"
android:layout_weight = "0" android:layout_weight ="0"
android:layout_gravity = "center_vertical" android:layout_gravity="center_vertical"
android:visibility="invisible" android:visibility="invisible"
android:contentDescription="@string/app_name" > android:contentDescription="@string/app_name" >
</ImageButton> </ImageButton>