From 9b9e3a0d731726938bcc730cdaf58d3efddc2a37 Mon Sep 17 00:00:00 2001 From: Daniel Weschke Date: Sun, 10 Mar 2019 21:34:27 +0100 Subject: [PATCH] fix float-int error in color interpolation and add some more tests --- app/build.gradle | 4 +- .../MainNativeActivity.java | 28 ++++----- .../main/res/layout/activity_main_native.xml | 1 + .../MainNativeActivityTest.java | 63 ++++++++++++++++--- 4 files changed, 71 insertions(+), 25 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index b14403f..fa756fd 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -6,8 +6,8 @@ android { applicationId "de.weseng.wifiweatherstation" minSdkVersion 26 targetSdkVersion 28 - versionCode 20190309 - versionName "2019.3.9" + versionCode 20190310 + versionName "2019.3.10" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { diff --git a/app/src/main/java/de/weseng/wifiweatherstation/MainNativeActivity.java b/app/src/main/java/de/weseng/wifiweatherstation/MainNativeActivity.java index caa9bb9..3a5e57e 100644 --- a/app/src/main/java/de/weseng/wifiweatherstation/MainNativeActivity.java +++ b/app/src/main/java/de/weseng/wifiweatherstation/MainNativeActivity.java @@ -15,7 +15,6 @@ import android.view.MenuItem; import android.view.View; import android.widget.ProgressBar; import android.widget.TableLayout; -import android.widget.TableRow; import android.widget.TextView; import android.widget.Toast; @@ -25,6 +24,7 @@ import org.json.JSONObject; import java.util.ArrayList; import java.util.HashMap; +import java.util.Locale; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.ReentrantLock; @@ -325,12 +325,12 @@ public class MainNativeActivity extends AppCompatActivity { HashMap hm = dataList.get(n - 1); float temp = Float.parseFloat(hm.get("temperature")); - String temperature = String.format("%.1f", temp); + String temperature = String.format(Locale.getDefault(), "%.1f", temp); float humi = Float.parseFloat(hm.get("humidity")); - String humidity = String.format("%.1f", humi); + String humidity = String.format(Locale.getDefault(), "%.1f", humi); - Color green = Color.valueOf(0xff00ff00); + Color green = Color.valueOf(0x71ff5f); Color red = Color.valueOf(0xffd1655d); Color blue = Color.valueOf(Color.rgb(113, 157, 195)); @@ -364,17 +364,17 @@ public class MainNativeActivity extends AppCompatActivity { } TextView tv; tv = findViewById(idMin1); - tv.setText(String.format("%.1f", min1)); + tv.setText(String.format(Locale.getDefault(), "%.1f", min1)); tv = findViewById(idMax1); - tv.setText(String.format("%.1f", max1)); + tv.setText(String.format(Locale.getDefault(), "%.1f", max1)); tv = findViewById(idDelta1); - tv.setText(String.format("%.1f", max1 - min1)); + tv.setText(String.format(Locale.getDefault(), "%.1f", max1 - min1)); tv = findViewById(idMin2); - tv.setText(String.format("%.1f", min2)); + tv.setText(String.format(Locale.getDefault(), "%.1f", min2)); tv = findViewById(idMax2); - tv.setText(String.format("%.1f", max2)); + tv.setText(String.format(Locale.getDefault(), "%.1f", max2)); tv = findViewById(idDelta2); - tv.setText(String.format("%.1f", max2 - min2)); + tv.setText(String.format(Locale.getDefault(), "%.1f", max2 - min2)); } } } @@ -400,7 +400,7 @@ public class MainNativeActivity extends AppCompatActivity { terminateTask(); } - public void runAgain() { + void runAgain() { // Call this to request data from the server again lock.lock(); try { @@ -410,7 +410,7 @@ public class MainNativeActivity extends AppCompatActivity { } } - public void terminateTask() { + void terminateTask() { // The task will only finish when we call this method finished = true; //lock.unlock(); @@ -448,9 +448,9 @@ public class MainNativeActivity extends AppCompatActivity { int interpolate(int pBegin, int pEnd, int pStep, int pMax) { if (pBegin < pEnd) { - return ((pEnd - pBegin) * (pStep / pMax)) + pBegin; + return (int) ((pEnd - pBegin) * ((float) pStep / pMax)) + pBegin; } else { - return ((pBegin - pEnd) * (1 - (pStep / pMax))) + pEnd; + return (int) ((pBegin - pEnd) * (1 - ((float) pStep / pMax))) + pEnd; } } diff --git a/app/src/main/res/layout/activity_main_native.xml b/app/src/main/res/layout/activity_main_native.xml index 1b5f3bf..4a3d9d7 100644 --- a/app/src/main/res/layout/activity_main_native.xml +++ b/app/src/main/res/layout/activity_main_native.xml @@ -20,6 +20,7 @@