From 6fe6d13dea5e52b16deba24a168524840eae2abf Mon Sep 17 00:00:00 2001 From: Stefan Zollinger Date: Thu, 14 Dec 2023 11:18:26 +0100 Subject: [PATCH] fix: layout and theme issues --- .gitignore | 1 + .../example/sensortestingapp/DecoderIaq.kt | 4 +-- .../sensortestingapp/DeviceListAdapter.kt | 5 ---- .../example/sensortestingapp/KirbyDevice.kt | 10 +++++-- .../sensortestingapp/NonScrollListView.java | 27 +++++++++++++++++++ app/src/main/res/layout/row_device_list.xml | 15 ++++++++--- .../main/res/layout/row_measurements_list.xml | 7 +++-- app/src/main/res/values-night/themes.xml | 3 ++- app/src/main/res/values/themes.xml | 4 ++- 9 files changed, 60 insertions(+), 16 deletions(-) create mode 100644 app/src/main/java/com/example/sensortestingapp/NonScrollListView.java diff --git a/.gitignore b/.gitignore index f9544b4..2665949 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ local.properties deploymentTargetDropDown.xml env.properties +app/debug diff --git a/app/src/main/java/com/example/sensortestingapp/DecoderIaq.kt b/app/src/main/java/com/example/sensortestingapp/DecoderIaq.kt index abfb42b..c06916c 100644 --- a/app/src/main/java/com/example/sensortestingapp/DecoderIaq.kt +++ b/app/src/main/java/com/example/sensortestingapp/DecoderIaq.kt @@ -88,14 +88,14 @@ object DecoderIaq { override fun toString(): String { return "M{" + "type=" + msgType + - "co2=" + co2 + + ", co2=" + co2 + ", voc=" + voc + ", hum=" + humidity + ", temp=" + temperature + ", press=" + pressure + - ", occ=" + occupancy + ", pm25=" + pm25 + ", pm10=" + pm10 + + ", occ=" + occupancy + '}' } } diff --git a/app/src/main/java/com/example/sensortestingapp/DeviceListAdapter.kt b/app/src/main/java/com/example/sensortestingapp/DeviceListAdapter.kt index d986f83..5ee545c 100644 --- a/app/src/main/java/com/example/sensortestingapp/DeviceListAdapter.kt +++ b/app/src/main/java/com/example/sensortestingapp/DeviceListAdapter.kt @@ -120,8 +120,6 @@ class DeviceListAdapter( } val measurements = result.getMeasurements() - - val measurementsRowHeight = 100 val measurementsAdapter = object : ArrayAdapter( context, @@ -147,7 +145,6 @@ class DeviceListAdapter( ) measurementView.findViewById(R.id.measurement_value).text = measurement.getFormattedValue() - measurementView.layoutParams.height = measurementsRowHeight return measurementView } @@ -158,13 +155,11 @@ class DeviceListAdapter( } measurementsListView.adapter = measurementsAdapter - measurementsListView.divider = null if (measurements.isEmpty()) { measurementsListView.visibility = GONE } else { measurementsListView.visibility = VISIBLE - measurementsListView.layoutParams.height = measurementsRowHeight * measurements.size } } } diff --git a/app/src/main/java/com/example/sensortestingapp/KirbyDevice.kt b/app/src/main/java/com/example/sensortestingapp/KirbyDevice.kt index e840b51..a377549 100644 --- a/app/src/main/java/com/example/sensortestingapp/KirbyDevice.kt +++ b/app/src/main/java/com/example/sensortestingapp/KirbyDevice.kt @@ -185,8 +185,14 @@ class KirbyDevice( override fun getMeasurements(): List { val result = mutableListOf() - measurements.forEach { m -> result.addAll(payloadToMeasurements(m))} - return result.reversed() + measurements.reversed().forEach { m -> result.addAll(payloadToMeasurements(m))} + + /* + var pl = Payload(payload = "006b04ab74a1ed0d101404", ts = "2000") + result.addAll(payloadToMeasurements(pl)) + result.addAll(payloadToMeasurements(pl)) + */ + return result } override fun getActions(): List { diff --git a/app/src/main/java/com/example/sensortestingapp/NonScrollListView.java b/app/src/main/java/com/example/sensortestingapp/NonScrollListView.java new file mode 100644 index 0000000..3a92c42 --- /dev/null +++ b/app/src/main/java/com/example/sensortestingapp/NonScrollListView.java @@ -0,0 +1,27 @@ +package com.example.sensortestingapp; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.ViewGroup; +import android.widget.ListView; + +public class NonScrollListView extends ListView { + + public NonScrollListView(Context context) { + super(context); + } + public NonScrollListView(Context context, AttributeSet attrs) { + super(context, attrs); + } + public NonScrollListView(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + } + @Override + public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + int heightMeasureSpec_custom = MeasureSpec.makeMeasureSpec( + Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); + super.onMeasure(widthMeasureSpec, heightMeasureSpec_custom); + ViewGroup.LayoutParams params = getLayoutParams(); + params.height = getMeasuredHeight(); + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/row_device_list.xml b/app/src/main/res/layout/row_device_list.xml index a868573..2f60e6d 100644 --- a/app/src/main/res/layout/row_device_list.xml +++ b/app/src/main/res/layout/row_device_list.xml @@ -38,6 +38,7 @@ android:id="@+id/device_name" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:textColor="#000000" android:textSize="18sp" android:textStyle="bold" app:layout_constraintBottom_toBottomOf="parent" @@ -84,6 +85,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="14sp" + android:textColor="@color/black" app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toStartOf="parent" tools:text="MAC: XX:XX:XX:XX:XX" /> @@ -94,6 +96,7 @@ android:layout_height="wrap_content" android:drawablePadding="2dp" android:textSize="14sp" + android:textColor="@color/black" app:drawableEndCompat="@drawable/signal_strength_medium" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" @@ -113,6 +116,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="14sp" + android:textColor="@color/black" app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toStartOf="parent" tools:text="Device Status" /> @@ -120,12 +124,17 @@ - + android:layout_marginTop="20dp" + android:divider="@color/greyDarker" + android:dividerHeight="1px" + android:footerDividersEnabled="true" + android:headerDividersEnabled="true" + app:layout_constraintTop_toBottomOf="@id/device_meta" + tools:layout_editor_absoluteX="10dp" /> diff --git a/app/src/main/res/layout/row_measurements_list.xml b/app/src/main/res/layout/row_measurements_list.xml index 5e2b941..bf99ce7 100644 --- a/app/src/main/res/layout/row_measurements_list.xml +++ b/app/src/main/res/layout/row_measurements_list.xml @@ -11,6 +11,7 @@ android:layout_height="wrap_content" android:drawablePadding="2dp" android:textSize="16sp" + android:textColor="@color/black" app:drawableStartCompat="@drawable/baseline_device_thermostat_24" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" @@ -20,16 +21,18 @@ + tools:text="600°" /> diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml index 9ef225c..daa05c8 100644 --- a/app/src/main/res/values-night/themes.xml +++ b/app/src/main/res/values-night/themes.xml @@ -1,7 +1,8 @@ - \ No newline at end of file diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 090516d..01bbc10 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -1,8 +1,10 @@ -