diff --git a/app/app.iml b/app/app.iml
index f7cfabed..4a3b7889 100644
--- a/app/app.iml
+++ b/app/app.iml
@@ -8,12 +8,10 @@
-
-
-
-
-
-
+
+
+
+
@@ -23,28 +21,22 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -59,13 +51,13 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/app/src/main/java/com/limelight/binding/input/virtual_controller/AnalogStick.java b/app/src/main/java/com/limelight/binding/input/virtual_controller/AnalogStick.java
index 709b73ca..19abe5a0 100644
--- a/app/src/main/java/com/limelight/binding/input/virtual_controller/AnalogStick.java
+++ b/app/src/main/java/com/limelight/binding/input/virtual_controller/AnalogStick.java
@@ -21,7 +21,7 @@ public class AnalogStick extends View
MOVED
}
- private static final boolean _PRINT_DEBUG_INFORMATION = true;
+ private static final boolean _PRINT_DEBUG_INFORMATION = false;
public interface AnalogStickListener
{
@@ -46,8 +46,8 @@ public class AnalogStick extends View
}
}
- private int normalColor = 0x88888888;
- private int pressedColor = 0x880000FF;
+ private int normalColor = 0xF0888888;
+ private int pressedColor = 0xF00000FF;
float radius_complete = 0;
float radius_dead_zone = 0;
@@ -74,6 +74,12 @@ public class AnalogStick extends View
}
+ public void setColors(int normalColor, int pressedColor)
+ {
+ this.normalColor = normalColor;
+ this.pressedColor = pressedColor;
+ }
+
private float getPercent(float value, int percent)
{
return value / 100 * percent;
diff --git a/app/src/main/java/com/limelight/binding/input/virtual_controller/DigitalButton.java b/app/src/main/java/com/limelight/binding/input/virtual_controller/DigitalButton.java
index f648e427..ef65dea6 100644
--- a/app/src/main/java/com/limelight/binding/input/virtual_controller/DigitalButton.java
+++ b/app/src/main/java/com/limelight/binding/input/virtual_controller/DigitalButton.java
@@ -15,10 +15,10 @@ import java.util.List;
*/
public class DigitalButton extends View
{
- private static final boolean _PRINT_DEBUG_INFORMATION = true;
+ private static final boolean _PRINT_DEBUG_INFORMATION = false;
- private int normalColor = 0x88888888;
- private int pressedColor = 0x880000FF;
+ private int normalColor = 0xF0888888;
+ private int pressedColor = 0xF00000FF;
private String text;
@@ -34,6 +34,12 @@ public class DigitalButton extends View
listeners.add(listener);
}
+ public void setColors(int normalColor, int pressedColor)
+ {
+ this.normalColor = normalColor;
+ this.pressedColor = pressedColor;
+ }
+
public void setOnTouchListener(OnTouchListener listener)
{
onTouchListener = listener;
diff --git a/app/src/main/java/com/limelight/binding/input/virtual_controller/DigitalPad.java b/app/src/main/java/com/limelight/binding/input/virtual_controller/DigitalPad.java
index 760d6d6d..76d1af3b 100644
--- a/app/src/main/java/com/limelight/binding/input/virtual_controller/DigitalPad.java
+++ b/app/src/main/java/com/limelight/binding/input/virtual_controller/DigitalPad.java
@@ -21,10 +21,10 @@ public class DigitalPad extends View
public final static int DIGITAL_PAD_DIRECTION_RIGHT = 4;
public final static int DIGITAL_PAD_DIRECTION_DOWN = 8;
- private int normalColor = 0x88888888;
- private int pressedColor = 0x880000FF;
+ private int normalColor = 0xF0888888;
+ private int pressedColor = 0xF00000FF;
- private static final boolean _PRINT_DEBUG_INFORMATION = true;
+ private static final boolean _PRINT_DEBUG_INFORMATION = false;
public interface DigitalPadListener
{
@@ -71,6 +71,12 @@ public class DigitalPad extends View
return getWidth() > getHeight() ? getHeight() : getWidth();
}
+ public void setColors(int normalColor, int pressedColor)
+ {
+ this.normalColor = normalColor;
+ this.pressedColor = pressedColor;
+ }
+
@Override
protected void onDraw(Canvas canvas)
{
@@ -83,14 +89,17 @@ public class DigitalPad extends View
paint.setTextAlign(Paint.Align.CENTER);
paint.setStrokeWidth(3);
- // draw no direction rect
- paint.setStyle(Paint.Style.STROKE);
- paint.setColor(direction == DIGITAL_PAD_DIRECTION_NO_DIRECTION ? pressedColor : normalColor);
- canvas.drawRect(
- getPercent(getWidth(), 36), getPercent(getHeight(), 36),
- getPercent(getWidth(), 63), getPercent(getHeight(), 63),
- paint
- );
+ if (direction == DIGITAL_PAD_DIRECTION_NO_DIRECTION)
+ {
+ // draw no direction rect
+ paint.setStyle(Paint.Style.STROKE);
+ paint.setColor(normalColor);
+ canvas.drawRect(
+ getPercent(getWidth(), 36), getPercent(getHeight(), 36),
+ getPercent(getWidth(), 63), getPercent(getHeight(), 63),
+ paint
+ );
+ }
// draw left rect
paint.setColor((direction & DIGITAL_PAD_DIRECTION_LEFT) > 0 ? pressedColor : normalColor);
diff --git a/app/src/main/java/com/limelight/binding/input/virtual_controller/VirtualController.java b/app/src/main/java/com/limelight/binding/input/virtual_controller/VirtualController.java
index cdd86c23..e8ed331f 100644
--- a/app/src/main/java/com/limelight/binding/input/virtual_controller/VirtualController.java
+++ b/app/src/main/java/com/limelight/binding/input/virtual_controller/VirtualController.java
@@ -25,6 +25,7 @@ public class VirtualController
System.out.println("VirtualController: " + text);
}
}
+
private short inputMap = 0x0000;
private byte leftTrigger = 0x00;
private byte rightTrigger = 0x00;
@@ -50,7 +51,11 @@ public class VirtualController
private RelativeLayout.LayoutParams layoutParamsParamsStick = null;
private RelativeLayout.LayoutParams layoutParamsParamsStick2 = null;
- private Button buttonStart = null;
+ // configuration
+ private RelativeLayout.LayoutParams layoutParamsButtonOpenColorPickerNormal = null;
+ private RelativeLayout.LayoutParams layoutParamsButtonOpenColorPickerPressed = null;
+
+ private Button buttonStart = null;
private Button buttonSelect = null;
private Button buttonESC = null;
@@ -65,7 +70,6 @@ public class VirtualController
private DigitalButton buttonLB = null;
private DigitalButton buttonRB = null;
-
private AnalogStick stick = null;
private AnalogStick stick2 = null;
@@ -93,35 +97,6 @@ public class VirtualController
);
}
- private void onButtonTouchEvent(View v, MotionEvent event, short key)
- {
- // get masked (not specific to a pointer) action
- int action = event.getActionMasked();
-
- switch (action)
- {
- case MotionEvent.ACTION_DOWN:
- case MotionEvent.ACTION_POINTER_DOWN:
- {
- inputMap |= key;
-
- sendControllerInputPacket();
-
- break;
- }
-
- case MotionEvent.ACTION_UP:
- case MotionEvent.ACTION_POINTER_UP:
- {
- inputMap &= ~key;
-
- sendControllerInputPacket();
-
- break;
- }
- }
- }
-
void refreshLayout()
{
relative_layout.removeAllViews();
@@ -172,6 +147,27 @@ public class VirtualController
relative_layout.addView(buttonRB, layoutParamsButtonRB);
}
+ private DigitalButton createDigitalButton(String text, final int key, Context context)
+ {
+ DigitalButton button = new DigitalButton(context);
+ button.setText(text);
+ button.addDigitalButtonListener(new DigitalButton.DigitalButtonListener() {
+ @Override
+ public void onClick() {
+ inputMap |= key;
+ sendControllerInputPacket();
+ }
+
+ @Override
+ public void onRelease() {
+ inputMap &= ~key;
+ sendControllerInputPacket();
+ }
+ });
+
+ return button;
+ }
+
public VirtualController(final NvConnection conn, FrameLayout layout, Context context, WindowManager window_manager)
{
this.connection = conn;
@@ -234,72 +230,10 @@ public class VirtualController
}
});
- buttonX = new DigitalButton(context);
- buttonX.setText("X");
- buttonX.addDigitalButtonListener(new DigitalButton.DigitalButtonListener() {
- @Override
- public void onClick() {
- inputMap |= ControllerPacket.X_FLAG;
- sendControllerInputPacket();
- }
-
- @Override
- public void onRelease() {
- inputMap &= ControllerPacket.X_FLAG;
- sendControllerInputPacket();
- }
- });
-
- buttonY = new DigitalButton(context);
- buttonY.setText("Y");
- buttonY.addDigitalButtonListener(new DigitalButton.DigitalButtonListener()
- {
- @Override
- public void onClick()
- {
- inputMap |= ControllerPacket.Y_FLAG;
- sendControllerInputPacket();
- }
-
- @Override
- public void onRelease()
- {
- inputMap &= ControllerPacket.Y_FLAG;
- sendControllerInputPacket();
- }
- });
-
- buttonA = new DigitalButton(context);
- buttonA.setText("A");
- buttonA.addDigitalButtonListener(new DigitalButton.DigitalButtonListener() {
- @Override
- public void onClick() {
- inputMap |= ControllerPacket.A_FLAG;
- sendControllerInputPacket();
- }
-
- @Override
- public void onRelease() {
- inputMap &= ControllerPacket.A_FLAG;
- sendControllerInputPacket();
- }
- });
-
- buttonB = new DigitalButton(context);
- buttonB.setText("B");
- buttonB.addDigitalButtonListener(new DigitalButton.DigitalButtonListener() {
- @Override
- public void onClick() {
- inputMap |= ControllerPacket.B_FLAG;
- sendControllerInputPacket();
- }
-
- @Override
- public void onRelease() {
- inputMap &= ControllerPacket.B_FLAG;
- sendControllerInputPacket();
- }
- });
+ buttonX = createDigitalButton("X", ControllerPacket.X_FLAG ,context);
+ buttonY = createDigitalButton("Y", ControllerPacket.Y_FLAG ,context);
+ buttonA = createDigitalButton("A", ControllerPacket.A_FLAG ,context);
+ buttonB = createDigitalButton("B", ControllerPacket.B_FLAG ,context);
buttonLT = new DigitalButton(context);
buttonLT.setText("LT");
@@ -343,38 +277,8 @@ public class VirtualController
}
});
- buttonLB = new DigitalButton(context);
- buttonLB.setText("LB");
- buttonLB.addDigitalButtonListener(new DigitalButton.DigitalButtonListener() {
- @Override
- public void onClick() {
- inputMap |= ControllerPacket.LB_FLAG;
- sendControllerInputPacket();
- }
-
- @Override
- public void onRelease() {
- inputMap &= ControllerPacket.LB_FLAG;
- sendControllerInputPacket();
- }
- });
-
- buttonRB = new DigitalButton(context);
- buttonRB.setText("RB");
- buttonRB.addDigitalButtonListener(new DigitalButton.DigitalButtonListener() {
- @Override
- public void onClick() {
- inputMap |= ControllerPacket.RB_FLAG;
- sendControllerInputPacket();
- }
-
- @Override
- public void onRelease() {
- inputMap &= ControllerPacket.RB_FLAG;
- sendControllerInputPacket();
- }
- });
-
+ buttonLB = createDigitalButton("LB", ControllerPacket.LB_FLAG ,context);
+ buttonRB = createDigitalButton("RB", ControllerPacket.RB_FLAG ,context);
stick = new AnalogStick(context);
@@ -405,7 +309,6 @@ public class VirtualController
}
});
-
refreshLayout();
}
@@ -456,8 +359,8 @@ public class VirtualController
stick = new AnalogStick(context);
stick2 = new AnalogStick(context);
- configuration = true;
+ configuration = true;
// receive touch events
frame_layout.setOnTouchListener(new View.OnTouchListener()