X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altosdroid%2Fsrc%2Forg%2Faltusmetrum%2FAltosDroid%2FGoNoGoLights.java;h=267c90f8e57cc2f0df621f82959e5b9a344a4573;hp=0f95bc220a78dcf51a62ed870bec1dfd88acd5f1;hb=8c212cd5bfa03f71a31d84bd0051314e77d88461;hpb=84d35e4cbd7ea2f681c43496b9b9db84f9dd923f diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/GoNoGoLights.java b/altosdroid/src/org/altusmetrum/AltosDroid/GoNoGoLights.java index 0f95bc22..267c90f8 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/GoNoGoLights.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/GoNoGoLights.java @@ -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,21 +38,41 @@ 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) { + hide(); + red.setImageDrawable(dGray); + green.setImageDrawable(dGray); + } else if (state) { red.setImageDrawable(dGray); green.setImageDrawable(dGreen); + show(); } else { red.setImageDrawable(dRed); green.setImageDrawable(dGray); + show(); } } + + public void show() { + red.setVisibility(View.VISIBLE); + green.setVisibility(View.VISIBLE); + } + + public void hide() { + red.setVisibility(View.GONE); + green.setVisibility(View.GONE); + } }