X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altosdroid%2Fsrc%2Forg%2Faltusmetrum%2FAltosDroid%2FGoNoGoLights.java;h=c18d7309a474aef6b63ab56a39595c37f6d92f45;hb=ee221ddf00f631a5f9d5d93468bfc697a26e4cfe;hp=0f95bc220a78dcf51a62ed870bec1dfd88acd5f1;hpb=59dfcbe14622c20aaa7d5b131eece9f4c8db6887;p=fw%2Faltos diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/GoNoGoLights.java b/altosdroid/src/org/altusmetrum/AltosDroid/GoNoGoLights.java index 0f95bc22..c18d7309 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/GoNoGoLights.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/GoNoGoLights.java @@ -3,7 +3,8 @@ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -20,9 +21,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 +39,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 {