Change-Id: Ia6a0172206e38f9ae598bfa90228b6c4657a8747
Signed-off-by: gitknilch <gitknilch@cwde.de>
android:id="@+id/textViewHL1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textViewHL1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@string/zerotime"
+ android:text="@string/invalidtime"
android:textIsSelectable="true" />
<TextView
android:textIsSelectable="true" />
<TextView
android:id="@+id/textViewHL2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textViewHL2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@string/zerotime"
+ android:text="@string/invalidtime"
android:textIsSelectable="true" />
</LinearLayout>
android:textIsSelectable="true" />
</LinearLayout>
android:id="@+id/textViewHM1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textViewHM1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@string/zerotime"
+ android:text="@string/invalidtime"
android:textIsSelectable="true" />
<TextView
android:textIsSelectable="true" />
<TextView
android:id="@+id/textViewHM2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textViewHM2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@string/zerotime"
+ android:text="@string/invalidtime"
android:textIsSelectable="true" />
</LinearLayout>
android:textIsSelectable="true" />
</LinearLayout>
android:id="@+id/textViewHS1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textViewHS1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@string/zerotime"
+ android:text="@string/invalidtime"
android:textIsSelectable="true" />
<TextView
android:textIsSelectable="true" />
<TextView
android:id="@+id/textViewHS2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textViewHS2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@string/zerotime"
+ android:text="@string/invalidtime"
android:textIsSelectable="true" />
</LinearLayout>
android:textIsSelectable="true" />
</LinearLayout>
android:id="@+id/textViewEL1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textViewEL1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@string/zerotime"
+ android:text="@string/invalidtime"
android:textIsSelectable="true" />
<TextView
android:textIsSelectable="true" />
<TextView
android:id="@+id/textViewEL2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textViewEL2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@string/zerotime"
+ android:text="@string/invalidtime"
android:textIsSelectable="true" />
</LinearLayout>
android:textIsSelectable="true" />
</LinearLayout>
android:id="@+id/textViewEM1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textViewEM1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@string/zerotime"
+ android:text="@string/invalidtime"
android:textIsSelectable="true" />
<TextView
android:textIsSelectable="true" />
<TextView
android:id="@+id/textViewEM2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textViewEM2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@string/zerotime"
+ android:text="@string/invalidtime"
android:textIsSelectable="true" />
</LinearLayout>
android:textIsSelectable="true" />
</LinearLayout>
android:id="@+id/textViewES1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textViewES1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@string/zerotime"
+ android:text="@string/invalidtime"
android:textIsSelectable="true" />
<TextView
android:textIsSelectable="true" />
<TextView
android:id="@+id/textViewES2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textViewES2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@string/zerotime"
+ android:text="@string/invalidtime"
android:textIsSelectable="true" />
</LinearLayout>
android:textIsSelectable="true" />
</LinearLayout>
<string name="hiscore_2nd">", 2nd "</string>
<string name="hiscore_medium1st">"Medium: 1st "</string>
<string name="hiscore_small1">"Small: 1st "</string>
<string name="hiscore_2nd">", 2nd "</string>
<string name="hiscore_medium1st">"Medium: 1st "</string>
<string name="hiscore_small1">"Small: 1st "</string>
- <string name="zerotime">00:00:00</string>
+ <string name="invalidtime">9:99:99</string>
<string name="clearhiscore_confirm_title">Really clear best times?</string>
<string name="clearhiscore_confirm_text">This will clear all saved times. Hit "OK" if you really want to do this.</string>
<string name="clearhiscore_confirm_title">Really clear best times?</string>
<string name="clearhiscore_confirm_text">This will clear all saved times. Hit "OK" if you really want to do this.</string>
package de.cwde.freeshisen;
package de.cwde.freeshisen;
+import java.lang.ref.WeakReference;
import java.util.List;
import java.util.Locale;
import java.util.Timer;
import java.util.List;
import java.util.Locale;
import java.util.Timer;
private int tileWidth;
private Bitmap bg;
private Bitmap tile[];
private int tileWidth;
private Bitmap bg;
private Bitmap tile[];
- private Point selection1 = new Point(0,0);
- private Point selection2 = new Point(0,0);
- private List<Point> path=null;
- private List<Line> pairs=null;
+ private Point selection1 = new Point(0, 0);
+ private Point selection2 = new Point(0, 0);
+ private List<Point> path = null;
+ private List<Line> pairs = null;
private long startTime;
private long playTime;
private long baseTime;
private Timer timer;
private long startTime;
private long playTime;
private long baseTime;
private Timer timer;
- private static Handler timerHandler;
- private boolean timerRegistered=false;
+ static class hHandler extends Handler {
+ private final WeakReference<ShisenShoView> mTarget;
+
+ hHandler(ShisenShoView target) {
+ mTarget = new WeakReference<ShisenShoView>(target);
+ }
+
+ @Override
+ public void handleMessage(Message msg) {
+ ShisenShoView target = mTarget.get();
+ if (target != null)
+ target.onUpdateTime();
+ }
+ }
+
+ private Handler timerHandler = new hHandler(this);
+
+ private boolean timerRegistered = false;
private ShisenSho app;
private StatePlay cstate;
private StatePaint pstate;
private ShisenSho app;
private StatePlay cstate;
private StatePaint pstate;
}
private void registerTimer() {
}
private void registerTimer() {
- if (timer!=null) return; // Already registered
- timerHandler = new Handler() {
- public void handleMessage(Message msg) {
- onUpdateTime();
- }
- };
- timer=new Timer();
+ if (timer != null)
+ return; // Already registered
+ timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
timerHandler.sendEmptyMessage(Activity.RESULT_OK);
}
}, 0, 1000);
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
timerHandler.sendEmptyMessage(Activity.RESULT_OK);
}
}, 0, 1000);
+ timerRegistered = true;
}
private void unregisterTimer() {
}
private void unregisterTimer() {
- if (timer==null) return; // Already unregistered
+ if (timer == null)
+ return; // Already unregistered
timer.cancel();
timer = null;
timer.cancel();
timer = null;
- timerHandler = null;
- timerRegistered=false;
+ timerRegistered = false;
}
public void pauseTime() {
}
public void pauseTime() {