From 10baf799882d7c97735334bc12b2bb987155514c Mon Sep 17 00:00:00 2001 From: Isidro Henoch Date: Thu, 16 Dec 2021 04:01:24 -0600 Subject: Adds an ugly table to show details --- .../details/information/UnitInformationFragment.kt | 40 ++++++++++--- .../main/res/layout/unit_details_information.xml | 65 ++++++---------------- androidApp/src/main/res/values/dimen.xml | 2 + androidApp/src/main/res/values/strings.xml | 2 + 4 files changed, 55 insertions(+), 54 deletions(-) diff --git a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/details/information/UnitInformationFragment.kt b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/details/information/UnitInformationFragment.kt index 1af8ec3..758ba36 100644 --- a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/details/information/UnitInformationFragment.kt +++ b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/details/information/UnitInformationFragment.kt @@ -5,9 +5,13 @@ import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.TableRow +import android.widget.TextView import androidx.fragment.app.Fragment +import mx.trackermap.TrackerMap.android.R import mx.trackermap.TrackerMap.android.databinding.UnitDetailsInformationBinding import mx.trackermap.TrackerMap.android.details.UnitDetailsAdapter +import mx.trackermap.TrackerMap.client.models.UnitInformation import org.koin.androidx.viewmodel.ext.android.viewModel class UnitInformationFragment : Fragment() { @@ -42,13 +46,7 @@ class UnitInformationFragment : Fragment() { unitInformationViewModel.unit.observe(this) { unitInformation -> Log.d("UnitInformationFragment", "Unit Information Fetched - $unitInformation") unitInformation?.let { - binding.deviceName.text = it.device.name - binding.driverDetail.text = it.device.contact - binding.speedDetail.text = "${it.position?.speed?.times(1.852) ?: "--"} Km/h" - binding.addressDetail.text = it.position?.address ?: "Unknown location" - binding.latitudeDetail.text = it.position?.latitude.toString() - binding.longitudeDetail.text = it.position?.longitude.toString() - binding.protocolDetail.text = it.position?.protocol ?: "--" + displayInformation(it) } } } @@ -57,4 +55,32 @@ class UnitInformationFragment : Fragment() { val id = arguments?.getInt(UnitDetailsAdapter.DEVICE_ID_ARG) unitInformationViewModel.fetchUnit(id ?: 0) } + + private fun displayInformation(unit: UnitInformation) { + val context = context!! + val details: MutableMap = mutableMapOf() + details["Contact"] = unit.device.contact ?: "" + details["Speed"] = context.getString( + R.string.unit_speed_format, + unit.position?.speed?.toInt() ?: 0 + ) + details["Address"] = unit.position?.address ?: "" + details["Latitude"] = "${unit.position?.latitude}" + details["Longitude"] = "${unit.position?.longitude}" + details["Protocol"] = unit.position?.protocol ?: "" + + binding.nameDetail.text = unit.device.name + details.forEach { entry -> + val row = TableRow(context) + val keyText = TextView(context) + val valueText = TextView(context) + + row.addView(keyText) + row.addView(valueText) + binding.informationTable.addView(row) + + keyText.text = entry.key + valueText.text = entry.value + } + } } \ No newline at end of file diff --git a/androidApp/src/main/res/layout/unit_details_information.xml b/androidApp/src/main/res/layout/unit_details_information.xml index dae2056..f4b6fae 100644 --- a/androidApp/src/main/res/layout/unit_details_information.xml +++ b/androidApp/src/main/res/layout/unit_details_information.xml @@ -22,60 +22,31 @@ android:orientation="vertical"> - - - - - - - - - - - + android:stretchColumns="*"> + + + + + + diff --git a/androidApp/src/main/res/values/dimen.xml b/androidApp/src/main/res/values/dimen.xml index cd4d970..6ce7887 100644 --- a/androidApp/src/main/res/values/dimen.xml +++ b/androidApp/src/main/res/values/dimen.xml @@ -1,5 +1,7 @@ + 8dp + 20dp 8dp diff --git a/androidApp/src/main/res/values/strings.xml b/androidApp/src/main/res/values/strings.xml index f4d69fb..5692688 100644 --- a/androidApp/src/main/res/values/strings.xml +++ b/androidApp/src/main/res/values/strings.xml @@ -23,4 +23,6 @@ Reports Commands Type to search + Key + Value \ No newline at end of file -- cgit v1.2.3