From 715b7ed09468c9d94756da31cfde16041fb72543 Mon Sep 17 00:00:00 2001
From: rschoene <rene.schoene@tu-dresden.de>
Date: Wed, 23 May 2018 14:34:23 +0200
Subject: [PATCH] Formatting acceleration and rotation in more dense format.

---
 .../inf/st/sensorsharing/MainActivity.java    | 28 +++++++++++++++----
 1 file changed, 22 insertions(+), 6 deletions(-)

diff --git a/mobile/src/main/java/de/tudresden/inf/st/sensorsharing/MainActivity.java b/mobile/src/main/java/de/tudresden/inf/st/sensorsharing/MainActivity.java
index ff668a9..7536b1a 100644
--- a/mobile/src/main/java/de/tudresden/inf/st/sensorsharing/MainActivity.java
+++ b/mobile/src/main/java/de/tudresden/inf/st/sensorsharing/MainActivity.java
@@ -191,16 +191,18 @@ public class MainActivity extends AppCompatActivity implements
                     topic = MQTT_TOPIC_POLAR_BRIGHTNESS;
                     break;
                 case SUB_KEY_LINEAR_ACCELERATION:
-                    float[] accelerationData = new float[3];
-                    writeFloatArray(ByteBuffer.wrap(messageEvent.getData()), accelerationData);
-                    updatedValue = Arrays.toString(accelerationData);
+//                    float[] accelerationData = new float[3];
+//                    writeFloatArray(ByteBuffer.wrap(messageEvent.getData()), accelerationData);
+//                    updatedValue = Arrays.toString(accelerationData);
+                    updatedValue = formatByteFloatArray(ByteBuffer.wrap(messageEvent.getData()));
                     textViewToUpdate = findViewById(R.id.value_wear_acceleration);
                     topic = MQTT_TOPIC_POLAR_ACCELERATION;
                     break;
                 case SUB_KEY_ROTATION_VECTOR:
-                    float[] rotationData = new float[3];
-                    writeFloatArray(ByteBuffer.wrap(messageEvent.getData()), rotationData);
-                    updatedValue = Arrays.toString(rotationData);
+//                    float[] rotationData = new float[3];
+//                    writeFloatArray(ByteBuffer.wrap(messageEvent.getData()), rotationData);
+//                    updatedValue = Arrays.toString(rotationData);
+                    updatedValue = formatByteFloatArray(ByteBuffer.wrap(messageEvent.getData()));
                     textViewToUpdate = findViewById(R.id.value_wear_rotation);
                     topic = MQTT_TOPIC_POLAR_ROTATION;
                     break;
@@ -219,6 +221,20 @@ public class MainActivity extends AppCompatActivity implements
         }
     }
 
+    private String formatByteFloatArray(ByteBuffer buffer) {
+        StringBuilder sb = new StringBuilder();
+        final int length = 3;
+        boolean notFirst = false;
+        for (int i = 0; i < length; i++) {
+            if (notFirst) {
+                sb.append(" : ");
+            }
+            notFirst = true;
+            sb.append(String.format(Locale.getDefault(), "%.2f", buffer.getFloat()));
+        }
+        return sb.toString();
+    }
+
     private void writeFloatArray(ByteBuffer input, float[] output) {
         for (int i = 0; i < output.length; i++) {
             output[i] = input.getFloat();
-- 
GitLab