diff --git a/src/com/annimon/everlastingsummer/ViewActivity.java b/src/com/annimon/everlastingsummer/ViewActivity.java index 89470e2..bb3c120 100644 --- a/src/com/annimon/everlastingsummer/ViewActivity.java +++ b/src/com/annimon/everlastingsummer/ViewActivity.java @@ -67,7 +67,7 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch private Map spriteInContainer; private DisplayMetrics displayMetrics; - private boolean blockTap; + private transient boolean blockTap, cancelNextStep; @Override protected void onCreate(Bundle savedInstanceState) { @@ -182,7 +182,10 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch public void onTouchGesture(TouchGestureType type) { switch (type) { case SINGLE_TAP: - if (!blockTap) Parser.getInstance().next(); + if (blockTap) return; + + cancelNextStep = true; + Parser.getInstance().next(); break; case SWIPE: Dialogs.with(this).showMenu(R.array.menu_items, menu); @@ -401,6 +404,7 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch public void pause(final long duration, final boolean hard) { blockTap = hard; + cancelNextStep = false; new Thread(new Runnable() { @Override public void run() { @@ -630,7 +634,7 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch @Override public void run() { blockTap = false; - Parser.getInstance().next(); + if (!cancelNextStep) Parser.getInstance().next(); } };