From 8f253bdca181993bdf2336a8f62c61da76509a6d Mon Sep 17 00:00:00 2001 From: Ludovic Goix Date: Mon, 13 Jul 2020 23:49:07 -0400 Subject: [PATCH] Display last time we receive a transmission from a node #65 --- .../main/java/com/geeksville/mesh/NodeInfo.kt | 2 +- .../com/geeksville/mesh/ui/UsersFragment.kt | 31 +++++++++++++++++++ .../main/res/layout/adapter_node_layout.xml | 4 +-- 3 files changed, 34 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/geeksville/mesh/NodeInfo.kt b/app/src/main/java/com/geeksville/mesh/NodeInfo.kt index 905b76211..f0a81085a 100644 --- a/app/src/main/java/com/geeksville/mesh/NodeInfo.kt +++ b/app/src/main/java/com/geeksville/mesh/NodeInfo.kt @@ -57,7 +57,7 @@ data class Position( fun bearing(o: Position) = bearing(latitude, longitude, o.latitude, o.longitude) override fun toString(): String { - return "Position(lat=${latitude.anonymize}, lon=${longitude.anonymize}, alt=${altitude.anonymize}, time=${time})" + return "Position(lat=${latitude.anonymize}, lon=${longitude.anonymize}, alt=${altitude.anonymize}, time=${time}, batteryPctLevel=${batteryPctLevel})" } } diff --git a/app/src/main/java/com/geeksville/mesh/ui/UsersFragment.kt b/app/src/main/java/com/geeksville/mesh/ui/UsersFragment.kt index 15cce77cc..313805cb3 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/UsersFragment.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/UsersFragment.kt @@ -2,6 +2,7 @@ package com.geeksville.mesh.ui import android.os.Bundle +import android.text.format.DateFormat import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -15,6 +16,8 @@ import com.geeksville.mesh.R import com.geeksville.mesh.model.UIViewModel import kotlinx.android.synthetic.main.adapter_node_layout.view.* import kotlinx.android.synthetic.main.nodelist_fragment.* +import java.text.ParseException +import java.util.* class UsersFragment : ScreenFragment("Users"), Logging { @@ -27,6 +30,7 @@ class UsersFragment : ScreenFragment("Users"), Logging { val nodeNameView = itemView.nodeNameView val distance_view = itemView.distance_view val batteryPctView = itemView.batteryPercentageView + val lastTime = itemView.lastConnectionView } private val nodesAdapter = object : RecyclerView.Adapter() { @@ -117,6 +121,8 @@ class UsersFragment : ScreenFragment("Users"), Logging { { holder.batteryPctView.text = "?" } + + holder.lastTime.text = getLastTimeValue(n) } private var nodes = arrayOf() @@ -128,6 +134,31 @@ class UsersFragment : ScreenFragment("Users"), Logging { } } + private fun getLastTimeValue(n: NodeInfo): String { + var lastTimeText: String = "?" + + val currentTime = (System.currentTimeMillis()/1000).toInt() + val threeDaysLong = 3 * 60*60*24 + + //if the lastSeen is too old + if((n.lastSeen @@ -88,7 +88,7 @@ android:layout_height="wrap_content" android:layout_marginEnd="8dp" android:text="06/14 15h01 (13 min ago)" - android:visibility="invisible" + android:visibility="visible" app:layout_constraintBottom_toBottomOf="@+id/lastCommIcon" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="@+id/lastCommIcon" />