diff --git a/app/src/main/kotlin/com/tutpro/baresip/HistoryActivity.kt b/app/src/main/kotlin/com/tutpro/baresip/HistoryActivity.kt index 5662d26c..696bbace 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/HistoryActivity.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/HistoryActivity.kt @@ -92,28 +92,31 @@ class HistoryActivity : AppCompatActivity() { if (Utils.uriHostPart(peer_uri) == Utils.uriHostPart(aor)) { peer_uri = Utils.uriUserPart(peer_uri) } - val time: String - if (isToday(h.time)) { - val fmt = SimpleDateFormat("HH:mm") - time = fmt.format(h.time.time) + var direction: Int + if (h.direction == "in") + if (h.connected) + direction = R.drawable.arrow_down_green + else + direction = R.drawable.arrow_down_red + else + if (h.connected) + direction = R.drawable.arrow_up_green + else + direction = R.drawable.arrow_up_red + if (uaHistory.isNotEmpty() && (uaHistory.last().peerURI == peer_uri)) { + uaHistory.last().directions.add(direction) } else { - val fmt = SimpleDateFormat("MMM dd") - time = fmt.format(h.time.time) - } - if (h.direction == "in") { - if (h.connected) { - uaHistory.add(HistoryRow(peer_uri, R.drawable.arrow_down_green, time)) + val time: String + if (isToday(h.time)) { + val fmt = SimpleDateFormat("HH:mm") + time = fmt.format(h.time.time) } else { - uaHistory.add(HistoryRow(peer_uri, R.drawable.arrow_down_red, time)) - } - } else { - if (h.connected) { - uaHistory.add(HistoryRow(peer_uri, R.drawable.arrow_up_green, time)) - } else { - uaHistory.add(HistoryRow(peer_uri, R.drawable.arrow_up_red, time)) + val fmt = SimpleDateFormat("dd.MM") + time = fmt.format(h.time.time) } + uaHistory.add(HistoryRow(peer_uri, direction, time)) + posAtHistory.add(i) } - posAtHistory.add(i) } } } diff --git a/app/src/main/kotlin/com/tutpro/baresip/HistoryListAdapter.kt b/app/src/main/kotlin/com/tutpro/baresip/HistoryListAdapter.kt index 4b4b86ff..3b0d3ce2 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/HistoryListAdapter.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/HistoryListAdapter.kt @@ -6,6 +6,7 @@ import android.view.View import android.view.ViewGroup import android.widget.ArrayAdapter import android.widget.ImageView +import android.widget.LinearLayout import android.widget.TextView import java.util.* @@ -16,18 +17,27 @@ class HistoryListAdapter(private val cxt: Context, private val rows: ArrayList 3) { + val etc = rowView.findViewById(R.id.etc) as TextView + etc.text = "..." + break + } + val dirView = ImageView(cxt) + val params = LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, + ViewGroup.LayoutParams.WRAP_CONTENT) + dirView.layoutParams = params + dirView.setPadding(0, 5, 0, 0) + dirView.setImageResource(d) + directions.addView(dirView) + count++ + } val peerURIView = rowView.findViewById(R.id.peer_uri) as TextView peerURIView.text = row.peerURI val timeView = rowView.findViewById(R.id.time) as TextView - val now = GregorianCalendar() - if (row.time.get(Calendar.YEAR).equals(now.get(Calendar.YEAR)) && - row.time.get(Calendar.DAY_OF_YEAR).equals(now.get(Calendar.DAY_OF_YEAR))) - timeView.text = String.format("%02d", row.time.get(Calendar.HOUR_OF_DAY)) + ":" + - String.format("%02d", row.time.get(Calendar.HOUR_OF_DAY)) - else - timeView.text = row.time + timeView.text = row.time return rowView } diff --git a/app/src/main/kotlin/com/tutpro/baresip/HistoryRow.kt b/app/src/main/kotlin/com/tutpro/baresip/HistoryRow.kt index 346458c4..2dd52571 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/HistoryRow.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/HistoryRow.kt @@ -1,3 +1,10 @@ package com.tutpro.baresip -class HistoryRow(val peerURI: String, val direction: Int, val time: String) +class HistoryRow(val peerURI: String, val direction: Int, val time: String) { + + val directions = ArrayList() + + init { + directions.add(direction) + } +} diff --git a/app/src/main/kotlin/com/tutpro/baresip/UserAgent.kt b/app/src/main/kotlin/com/tutpro/baresip/UserAgent.kt index 8c10af61..6b521c86 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/UserAgent.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/UserAgent.kt @@ -22,6 +22,13 @@ class UserAgent (val uap: String) { return null } + fun findAorIndex(uas: ArrayList, aor: String): Int? { + for (i in uas.indices) { + if (uas[i].aor == aor) return i + } + return null + } + fun register(uas: ArrayList) { for (ua in uas) { if (ua_register(ua.uap) != 0) diff --git a/app/src/main/res/drawable/arrow_down_green.png b/app/src/main/res/drawable/arrow_down_green.png index a624261b..b20c9a26 100644 Binary files a/app/src/main/res/drawable/arrow_down_green.png and b/app/src/main/res/drawable/arrow_down_green.png differ diff --git a/app/src/main/res/drawable/arrow_down_red.png b/app/src/main/res/drawable/arrow_down_red.png index bfba313d..04460b1a 100644 Binary files a/app/src/main/res/drawable/arrow_down_red.png and b/app/src/main/res/drawable/arrow_down_red.png differ diff --git a/app/src/main/res/drawable/arrow_up_green.png b/app/src/main/res/drawable/arrow_up_green.png index 5538f0ee..84131c86 100644 Binary files a/app/src/main/res/drawable/arrow_up_green.png and b/app/src/main/res/drawable/arrow_up_green.png differ diff --git a/app/src/main/res/drawable/arrow_up_red.png b/app/src/main/res/drawable/arrow_up_red.png index 10fc2bc6..bab5da03 100644 Binary files a/app/src/main/res/drawable/arrow_up_red.png and b/app/src/main/res/drawable/arrow_up_red.png differ diff --git a/app/src/main/res/layout/history_row.xml b/app/src/main/res/layout/history_row.xml index 00a9f25e..0384df95 100644 --- a/app/src/main/res/layout/history_row.xml +++ b/app/src/main/res/layout/history_row.xml @@ -1,48 +1,57 @@ + android:descendantFocusability="blocksDescendants" > - + + + android:textSize="18sp" + android:maxLines="1" + android:text="" /> + + - -