]> hydra-www.ietfng.org Git - acmetensortoys-ctfws-android/commitdiff
Flags messages are timestamped, too, now
authorNathaniel Wesley Filardo <nwfilardo@gmail.com>
Sat, 27 Oct 2018 13:23:37 +0000 (14:23 +0100)
committerNathaniel Wesley Filardo <nwfilardo@gmail.com>
Sat, 27 Oct 2018 16:34:46 +0000 (17:34 +0100)
Don't bother with backwards compat for this; it just won't parse and
that's probably good enough.

lib/src/main/java/com/acmetensortoys/ctfwstimer/lib/CtFwSGameStateManager.java

index 44c529b988895df8bfa3059e2f2dc7b7210b7bab..0935cf87a4cf5878942105339a63bddec6350080 100644 (file)
@@ -2,6 +2,7 @@ package com.acmetensortoys.ctfwstimer.lib;
 
 import java.util.ArrayList;
 import java.util.HashSet;
+import java.util.InputMismatchException;
 import java.util.List;
 import java.util.Locale;
 import java.util.NoSuchElementException;
@@ -159,6 +160,7 @@ public class CtFwSGameStateManager {
     // Game score
     private class Flags {
         public boolean flagsVisible = false;
+        public long flagsTime = 0;
         public int  flagsRed = 0;
         public int  flagsYel = 0;
 
@@ -172,21 +174,14 @@ public class CtFwSGameStateManager {
     public synchronized void fromMqttFlagsMessage(String st) {
         Flags f = new Flags();
         String tm = st.trim();
-        switch(tm) {
-            case "?":
-                f.flagsVisible = false;
-                break;
-            default:
-                Scanner s = new Scanner(tm);
-                try {
-                    f.flagsVisible = true;
-                    int red = s.nextInt();
-                    int yel = s.nextInt();
-                    f.flagsRed = red;
-                    f.flagsYel = yel;
-                } catch (NumberFormatException e) {
-                    f.flagsVisible = false;
-                }
+        Scanner s = new Scanner(tm);
+        try {
+            f.flagsTime = s.nextLong();
+            f.flagsRed = s.nextInt();
+            f.flagsYel = s.nextInt();
+            f.flagsVisible = true;
+        } catch (NumberFormatException | InputMismatchException e) {
+            f.flagsVisible = false;
         }
         if (!curflags.equals(f)) {
             curflags = f;