From 546c3a725112397600a896e9d6fbe77c4249bf7a Mon Sep 17 00:00:00 2001 From: Peter Osterlund Date: Sun, 2 Feb 2020 10:38:51 +0100 Subject: [PATCH] Remove onTrackballEvent support Only very old devices have a trackball/trackstick and those run a too old Android version to be supported anyway. --- .../org/petero/droidfish/ChessBoardPlay.java | 5 -- .../droidfish/ChessBoardPlayListener.java | 17 +---- .../java/org/petero/droidfish/ColorTheme.java | 54 ++++++++-------- .../java/org/petero/droidfish/DroidFish.java | 4 -- .../droidfish/activities/ChessBoardEdit.java | 10 --- .../droidfish/activities/EditBoard.java | 13 ---- .../org/petero/droidfish/view/ChessBoard.java | 63 ------------------- DroidFishApp/src/main/res/values/strings.xml | 1 - DroidFishApp/src/main/res/xml/preferences.xml | 8 +-- 9 files changed, 28 insertions(+), 147 deletions(-) diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/ChessBoardPlay.java b/DroidFishApp/src/main/java/org/petero/droidfish/ChessBoardPlay.java index 7254b51..9768803 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/ChessBoardPlay.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/ChessBoardPlay.java @@ -87,10 +87,6 @@ public class ChessBoardPlay extends ChessBoard { @Override protected int getYFromSq(int sq) { return Position.getY(sq); } - @Override - protected int minValidY() { return 0; } - @Override - protected int maxValidX() { return 7; } @Override protected int getSquare(int x, int y) { return Position.getSquare(x, y); } @@ -105,7 +101,6 @@ public class ChessBoardPlay extends ChessBoard { public Move mousePressed(int sq) { if (sq < 0) return null; - cursorVisible = false; if ((selectedSquare != -1) && !userSelectedSquare) setSelection(-1); // Remove selection of opponents last moving piece diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/ChessBoardPlayListener.java b/DroidFishApp/src/main/java/org/petero/droidfish/ChessBoardPlayListener.java index b5c53d3..b0954c2 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/ChessBoardPlayListener.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/ChessBoardPlayListener.java @@ -23,12 +23,9 @@ import android.view.MotionEvent; import android.view.View; import android.view.ViewConfiguration; -import org.petero.droidfish.gamelogic.DroidChessController; import org.petero.droidfish.gamelogic.Move; -import org.petero.droidfish.view.ChessBoard; -public class ChessBoardPlayListener implements View.OnTouchListener, - ChessBoard.OnTrackballListener { +public class ChessBoardPlayListener implements View.OnTouchListener { private DroidFish df; private ChessBoardPlay cb; @@ -181,16 +178,4 @@ public class ChessBoardPlayListener implements View.OnTouchListener, } return false; } - - @Override - public void onTrackballEvent(MotionEvent event) { - if (df.ctrl.humansTurn()) { - Move m = cb.handleTrackballEvent(event); - if (m != null) { - df.setAutoMode(DroidFish.AutoMode.OFF); - df.ctrl.makeHumanMove(m); - } - df.setEgtbHints(cb.getSelectedSquare()); - } - } } diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/ColorTheme.java b/DroidFishApp/src/main/java/org/petero/droidfish/ColorTheme.java index 007e992..b4c9846 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/ColorTheme.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/ColorTheme.java @@ -35,30 +35,29 @@ public class ColorTheme { public final static int DARK_SQUARE = 0; public final static int BRIGHT_SQUARE = 1; public final static int SELECTED_SQUARE = 2; - public final static int CURSOR_SQUARE = 3; - public final static int DARK_PIECE = 4; - public final static int BRIGHT_PIECE = 5; - public final static int CURRENT_MOVE = 6; - public final static int ARROW_0 = 7; - public final static int ARROW_1 = 8; - public final static int ARROW_2 = 9; - public final static int ARROW_3 = 10; - public final static int ARROW_4 = 11; - public final static int ARROW_5 = 12; - public final static int ARROW_6 = 13; - public final static int ARROW_7 = 14; + public final static int DARK_PIECE = 3; + public final static int BRIGHT_PIECE = 4; + public final static int CURRENT_MOVE = 5; + public final static int ARROW_0 = 6; + public final static int ARROW_1 = 7; + public final static int ARROW_2 = 8; + public final static int ARROW_3 = 9; + public final static int ARROW_4 = 10; + public final static int ARROW_5 = 11; + public final static int ARROW_6 = 12; + public final static int ARROW_7 = 13; public final static int MAX_ARROWS = 8; - public final static int SQUARE_LABEL = 15; - public final static int DECORATION = 16; - public final static int PGN_COMMENT = 17; - public final static int FONT_FOREGROUND = 18; - public final static int GENERAL_BACKGROUND = 19; - private final static int numColors = 20; + public final static int SQUARE_LABEL = 14; + public final static int DECORATION = 15; + public final static int PGN_COMMENT = 16; + public final static int FONT_FOREGROUND = 17; + public final static int GENERAL_BACKGROUND = 18; + private final static int numColors = 19; private int colorTable[] = new int[numColors]; private static final String[] prefNames = { - "darkSquare", "brightSquare", "selectedSquare", "cursorSquare", "darkPiece", "brightPiece", "currentMove", + "darkSquare", "brightSquare", "selectedSquare", "darkPiece", "brightPiece", "currentMove", "arrow0", "arrow1", "arrow2", "arrow3", "arrow4", "arrow5", "arrow6", "arrow7", "squareLabel", "decoration", "pgnComment", "fontForeground", "generalBackground" }; @@ -76,37 +75,37 @@ public class ColorTheme { }; private final static String themeColors[][] = { { // Original - "#FF808080", "#FFBEBE5A", "#FFFF0000", "#FF00FF00", "#FF000000", "#FFFFFFFF", "#FF888888", + "#FF808080", "#FFBEBE5A", "#FFFF0000", "#FF000000", "#FFFFFFFF", "#FF888888", "#A01F1FFF", "#A0FF1F1F", "#501F1FFF", "#50FF1F1F", "#371F1FFF", "#3CFF1F1F", "#1E1F1FFF", "#28FF1F1F", "#FFFF0000", "#FF9F9F66", "#FFC0C000", "#FFF7FBC6", "#FF292C10" }, { // XBoard - "#FF77A26D", "#FFC8C365", "#FFFFFF00", "#FF00FF00", "#FF202020", "#FFFFFFCC", "#FF6B9262", + "#FF77A26D", "#FFC8C365", "#FFFFFF00", "#FF202020", "#FFFFFFCC", "#FF6B9262", "#A01F1FFF", "#A0FF1F1F", "#501F1FFF", "#50FF1F1F", "#371F1FFF", "#3CFF1F1F", "#1E1F1FFF", "#28FF1F1F", "#FFFF0000", "#FF808080", "#FFC0C000", "#FFEFFBBC", "#FF28320C" }, { // Blue - "#FF83A5D2", "#FFFFFFFA", "#FF3232D1", "#FF5F5FFD", "#FF282828", "#FFF0F0F0", "#FF3333FF", + "#FF83A5D2", "#FFFFFFFA", "#FF3232D1", "#FF282828", "#FFF0F0F0", "#FF3333FF", "#A01F1FFF", "#A01FFF1F", "#501F1FFF", "#501FFF1F", "#371F1FFF", "#3C1FFF1F", "#1E1F1FFF", "#281FFF1F", "#FFFF0000", "#FF808080", "#FFC0C000", "#FFFFFF00", "#FF2E2B53" }, { // Grey - "#FF666666", "#FFDDDDDD", "#FFFF0000", "#FF0000FF", "#FF000000", "#FFFFFFFF", "#FF888888", + "#FF666666", "#FFDDDDDD", "#FFFF0000", "#FF000000", "#FFFFFFFF", "#FF888888", "#A01F1FFF", "#A0FF1F1F", "#501F1FFF", "#50FF1F1F", "#371F1FFF", "#3CFF1F1F", "#1E1F1FFF", "#28FF1F1F", "#FFFF0000", "#FF909090", "#FFC0C000", "#FFFFFFFF", "#FF202020" }, { // Scid Default - "#FF80A0A0", "#FFD0E0D0", "#FFFF0000", "#FF00FF00", "#FF000000", "#FFFFFFFF", "#FF666666", + "#FF80A0A0", "#FFD0E0D0", "#FFFF0000", "#FF000000", "#FFFFFFFF", "#FF666666", "#A01F1FFF", "#A0FF1F1F", "#501F1FFF", "#50FF1F1F", "#371F1FFF", "#3CFF1F1F", "#1E1F1FFF", "#28FF1F1F", "#FFFF0000", "#FF808080", "#FFC0C000", "#FFDEFBDE", "#FF213429" }, { // Scid Brown - "#B58863", "#F0D9B5", "#FFFF0000", "#FF00FF00", "#FF000000", "#FFFFFFFF", "#FF666666", + "#B58863", "#F0D9B5", "#FFFF0000", "#FF000000", "#FFFFFFFF", "#FF666666", "#A01F1FFF", "#A0FF1F1F", "#501F1FFF", "#50FF1F1F", "#371F1FFF", "#3CFF1F1F", "#1E1F1FFF", "#28FF1F1F", "#FFFF0000", "#FF808080", "#FFC0C000", "#FFF7FAE3", "#FF40260A" }, { // Scid Green - "#FF769656", "#FFEEEED2", "#FFFF0000", "#FF0000FF", "#FF000000", "#FFFFFFFF", "#FF666666", + "#FF769656", "#FFEEEED2", "#FFFF0000", "#FF000000", "#FFFFFFFF", "#FF666666", "#A01F1FFF", "#A0FF1F1F", "#501F1FFF", "#50FF1F1F", "#371F1FFF", "#3CFF1F1F", "#1E1F1FFF", "#28FF1F1F", "#FFFF0000", "#FF808080", "#FFC0C000", "#FFDEE3CE", "#FF183C21" } @@ -120,8 +119,7 @@ public class ColorTheme { colorTable[i] = 0; try { colorTable[i] = Color.parseColor(colorString); - } catch (IllegalArgumentException ignore) { - } catch (StringIndexOutOfBoundsException ignore) { + } catch (IllegalArgumentException|StringIndexOutOfBoundsException ignore) { } } } diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/DroidFish.java b/DroidFishApp/src/main/java/org/petero/droidfish/DroidFish.java index 7d1d767..de7c4fb 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/DroidFish.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/DroidFish.java @@ -866,9 +866,6 @@ public class DroidFish extends Activity String statusStr = status.getText().toString(); initUI(); readPrefs(true); - cb.cursorX = oldCB.cursorX; - cb.cursorY = oldCB.cursorY; - cb.cursorVisible = oldCB.cursorVisible; cb.setPosition(oldCB.pos); cb.setFlipped(oldCB.flipped); cb.setDrawSquareLabels(oldCB.drawSquareLabels); @@ -975,7 +972,6 @@ public class DroidFish extends Activity ChessBoardPlayListener cbpListener = new ChessBoardPlayListener(this, cb); cb.setOnTouchListener(cbpListener); - cb.setOnTrackballListener(cbpListener); moveList.setOnLongClickListener(v -> { reShowDialog(MOVELIST_MENU_DIALOG); diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/activities/ChessBoardEdit.java b/DroidFishApp/src/main/java/org/petero/droidfish/activities/ChessBoardEdit.java index 6be5a20..01eba1a 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/activities/ChessBoardEdit.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/activities/ChessBoardEdit.java @@ -195,7 +195,6 @@ public class ChessBoardEdit extends ChessBoard { Move mousePressed(int sq) { if (sq == -1) return null; - cursorVisible = false; if (selectedSquare != -1) { if (sq != selectedSquare) { Move m = new Move(selectedSquare, sq, Piece.EMPTY); @@ -209,15 +208,6 @@ public class ChessBoardEdit extends ChessBoard { return null; } - @Override - protected int minValidY() { - return landScape ? 0 : -2; - } - @Override - protected int maxValidX() { - return landScape ? 9 : 7; - } - @Override protected XYCoord sqToPix(int x, int y) { if (flipped && (x >= 0) && (x < 8) && (y >= 0) && (y < 8)) { diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/activities/EditBoard.java b/DroidFishApp/src/main/java/org/petero/droidfish/activities/EditBoard.java index f4a3399..7519778 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/activities/EditBoard.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/activities/EditBoard.java @@ -33,7 +33,6 @@ import org.petero.droidfish.gamelogic.Position; import org.petero.droidfish.gamelogic.TextIO; import org.petero.droidfish.tb.Probe; import org.petero.droidfish.tb.ProbeResult; -import org.petero.droidfish.view.ChessBoard; import org.petero.droidfish.view.ChessBoard.SquareDecoration; import android.annotation.SuppressLint; @@ -126,9 +125,6 @@ public class EditBoard extends Activity { ChessBoardEdit oldCB = cb; String statusStr = status.getText().toString(); initUI(); - cb.cursorX = oldCB.cursorX; - cb.cursorY = oldCB.cursorY; - cb.cursorVisible = oldCB.cursorVisible; cb.setPosition(oldCB.pos); setSelection(oldCB.selectedSquare); cb.userSelectedSquare = oldCB.userSelectedSquare; @@ -227,15 +223,6 @@ public class EditBoard extends Activity { return true; } }); - cb.setOnTrackballListener(new ChessBoard.OnTrackballListener() { - @Override - public void onTrackballEvent(MotionEvent event) { - Move m = cb.handleTrackballEvent(event); - if (m != null) - doMove(m); - setEgtbHints(cb.getSelectedSquare()); - } - }); } /** Initialize the drawer part of the user interface. */ diff --git a/DroidFishApp/src/main/java/org/petero/droidfish/view/ChessBoard.java b/DroidFishApp/src/main/java/org/petero/droidfish/view/ChessBoard.java index 80517af..d4287dd 100644 --- a/DroidFishApp/src/main/java/org/petero/droidfish/view/ChessBoard.java +++ b/DroidFishApp/src/main/java/org/petero/droidfish/view/ChessBoard.java @@ -48,8 +48,6 @@ public abstract class ChessBoard extends View { public int selectedSquare; public boolean userSelectedSquare; // True if selectedSquare was set by user tap/click, // false if selectedSquare used to highlight last move - public float cursorX, cursorY; - public boolean cursorVisible; protected int x0, y0; public int sqSize; public boolean flipped; @@ -78,7 +76,6 @@ public abstract class ChessBoard extends View { protected Paint darkPaint; protected Paint brightPaint; private Paint selectedSquarePaint; - private Paint cursorSquarePaint; private Paint piecePaint; private Paint labelPaint; private Paint decorationPaint; @@ -89,8 +86,6 @@ public abstract class ChessBoard extends View { pos = new Position(); selectedSquare = -1; userSelectedSquare = false; - cursorX = cursorY = 0; - cursorVisible = false; x0 = y0 = sqSize = 0; flipped = false; drawSquareLabels = false; @@ -105,10 +100,6 @@ public abstract class ChessBoard extends View { selectedSquarePaint.setStyle(Paint.Style.STROKE); selectedSquarePaint.setAntiAlias(true); - cursorSquarePaint = new Paint(); - cursorSquarePaint.setStyle(Paint.Style.STROKE); - cursorSquarePaint.setAntiAlias(true); - piecePaint = new Paint(); piecePaint.setAntiAlias(true); @@ -138,7 +129,6 @@ public abstract class ChessBoard extends View { darkPaint.setColor(ct.getColor(ColorTheme.DARK_SQUARE)); brightPaint.setColor(ct.getColor(ColorTheme.BRIGHT_SQUARE)); selectedSquarePaint.setColor(ct.getColor(ColorTheme.SELECTED_SQUARE)); - cursorSquarePaint.setColor(ct.getColor(ColorTheme.CURSOR_SQUARE)); labelPaint.setColor(ct.getColor(ColorTheme.SQUARE_LABEL)); decorationPaint.setColor(ct.getColor(ColorTheme.DECORATION)); for (int i = 0; i < ColorTheme.MAX_ARROWS; i++) @@ -415,15 +405,6 @@ public abstract class ChessBoard extends View { int y0 = crd.y; canvas.drawRect(x0, y0, x0 + sqSize, y0 + sqSize, selectedSquarePaint); } - if (cursorVisible) { - int x = Math.round(cursorX); - int y = Math.round(cursorY); - XYCoord crd = sqToPix(x, y); - int x0 = crd.x; - int y0 = crd.y; - cursorSquarePaint.setStrokeWidth(sqSize/(float)16); - canvas.drawRect(x0, y0, x0 + sqSize, y0 + sqSize, cursorSquarePaint); - } if (!animActive) { drawMoveHints(canvas); drawDecorations(canvas); @@ -562,52 +543,8 @@ public abstract class ChessBoard extends View { protected abstract Move mousePressed(int sq); - public interface OnTrackballListener { - void onTrackballEvent(MotionEvent event); - } - private OnTrackballListener otbl = null; - public final void setOnTrackballListener(OnTrackballListener onTrackballListener) { - otbl = onTrackballListener; - } - @Override - public boolean onTrackballEvent(MotionEvent event) { - if (otbl != null) { - otbl.onTrackballEvent(event); - return true; - } - return false; - } - - protected abstract int minValidY(); - protected abstract int maxValidX(); protected abstract int getSquare(int x, int y); - public final Move handleTrackballEvent(MotionEvent event) { - switch (event.getAction()) { - case MotionEvent.ACTION_DOWN: - invalidate(); - if (cursorVisible) { - int x = Math.round(cursorX); - int y = Math.round(cursorY); - cursorX = x; - cursorY = y; - int sq = getSquare(x, y); - return mousePressed(sq); - } - return null; - } - cursorVisible = true; - int c = flipped ? -1 : 1; - cursorX += c * event.getX(); - cursorY -= c * event.getY(); - if (cursorX < 0) cursorX = 0; - if (cursorX > maxValidX()) cursorX = maxValidX(); - if (cursorY < minValidY()) cursorY = minValidY(); - if (cursorY > 7) cursorY = 7; - invalidate(); - return null; - } - public final void setMoveHints(List moveHints) { boolean equal; if ((this.moveHints == null) || (moveHints == null)) { diff --git a/DroidFishApp/src/main/res/values/strings.xml b/DroidFishApp/src/main/res/values/strings.xml index 8d3fd33..b1b20a9 100644 --- a/DroidFishApp/src/main/res/values/strings.xml +++ b/DroidFishApp/src/main/res/values/strings.xml @@ -355,7 +355,6 @@ If you are running on battery power, it is recommended that you change settings Bright Squares Dark Squares Selected Square - Trackball Cursor White Pieces Black Pieces Arrow 1 diff --git a/DroidFishApp/src/main/res/xml/preferences.xml b/DroidFishApp/src/main/res/xml/preferences.xml index 9771794..d0e167c 100644 --- a/DroidFishApp/src/main/res/xml/preferences.xml +++ b/DroidFishApp/src/main/res/xml/preferences.xml @@ -240,13 +240,7 @@ alphaSlider="true" android:defaultValue="#FF3232D1"> - - -