From: Nathaniel Wesley Filardo Date: Sat, 11 Jun 2016 07:31:01 +0000 (-0400) Subject: Make renderer collection a dequeue X-Git-Url: https://hydra-www.ietfng.org/gitweb/?a=commitdiff_plain;h=6b6cf65320326eb12f2ba56e64a6414e5a8d5131;p=acmetensortoys-watchviz Make renderer collection a dequeue Add touch to AcmeTensor text to go back, just as a way to check --- diff --git a/app/src/main/java/com/acmetensortoys/watchviz/MainActivity.java b/app/src/main/java/com/acmetensortoys/watchviz/MainActivity.java index 55e1458..3aa4b72 100644 --- a/app/src/main/java/com/acmetensortoys/watchviz/MainActivity.java +++ b/app/src/main/java/com/acmetensortoys/watchviz/MainActivity.java @@ -47,8 +47,8 @@ import com.acmetensortoys.watchviz.render.WholeMax; import java.text.SimpleDateFormat; import java.util.ArrayDeque; import java.util.Date; +import java.util.Deque; import java.util.Locale; -import java.util.Queue; import org.jtransforms.fft.FloatFFT_1D; @@ -65,17 +65,27 @@ public class MainActivity extends WearableActivity private Thread cycler; private RenderCB cyclercb; - private Queue> cyclercbq = new ArrayDeque<>(); + private Deque> cyclercbq = new ArrayDeque<>(); + private void _setCyclerCB(Class next) { + try { + cyclercb = next.getConstructor().newInstance(); + } catch (Exception e) { + throw new RuntimeException(e); + } + mDebugView.setText(cyclercb.getClass().getSimpleName().substring(0,10)); + } private void nextCyclerCB() { synchronized(this) { - Class next = cyclercbq.remove(); - cyclercbq.add(next); - try { - cyclercb = next.getConstructor().newInstance(); - } catch (Exception e) { - throw new RuntimeException(e); - } - mDebugView.setText(cyclercb.getClass().getSimpleName().substring(0,10)); + Class next = cyclercbq.removeFirst(); + cyclercbq.addLast(next); + _setCyclerCB(next); + } + } + private void prevCyclerCB() { + synchronized(this) { + Class next = cyclercbq.removeLast(); + cyclercbq.addFirst(next); + _setCyclerCB(next); } } { @@ -166,12 +176,16 @@ public class MainActivity extends WearableActivity @Override public void onClick(View v) { final RenderCB rcb; - synchronized(this) { - rcb = cyclercb; - } + synchronized(this) { rcb = cyclercb; } rcb.onClick(); } }); + mTextView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + prevCyclerCB(); + } + }); cyclersv.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View v) {