altosdroid: Clean up tab layout
[fw/altos] / altosdroid / src / org / altusmetrum / AltosDroid / GoNoGoLights.java
index 0f95bc220a78dcf51a62ed870bec1dfd88acd5f1..6cecbdf1aa9b8203b20ce33109bd0ec1cce6f136 100644 (file)
@@ -20,9 +20,12 @@ package org.altusmetrum.AltosDroid;
 import android.content.res.Resources;
 import android.graphics.drawable.Drawable;
 import android.widget.ImageView;
+import android.view.View;
 
 public class GoNoGoLights {
        private Boolean state;
+       private Boolean missing;
+       private Boolean set;
 
        private ImageView red;
        private ImageView green;
@@ -35,16 +38,23 @@ public class GoNoGoLights {
                red = in_red;
                green = in_green;
                state = false;
+               missing = true;
+               set = false;
 
                dRed   = r.getDrawable(R.drawable.redled);
                dGreen = r.getDrawable(R.drawable.greenled);
                dGray  = r.getDrawable(R.drawable.grayled);
        }
 
-       public void set(Boolean s) {
-               if (s == state) return;
+       public void set(Boolean s, Boolean m) {
+               if (set && s == state && m == missing) return;
                state = s;
-               if (state) {
+               missing = m;
+               set = true;
+               if (missing) {
+                       red.setImageDrawable(dGray);
+                       green.setImageDrawable(dGray);
+               } else if (state) {
                        red.setImageDrawable(dGray);
                        green.setImageDrawable(dGreen);
                } else {