diff --git a/android/app/src/main/java/com/github/stenzek/duckstation/EmulationActivity.java b/android/app/src/main/java/com/github/stenzek/duckstation/EmulationActivity.java
index 2bdd6697f..c5249bc9c 100644
--- a/android/app/src/main/java/com/github/stenzek/duckstation/EmulationActivity.java
+++ b/android/app/src/main/java/com/github/stenzek/duckstation/EmulationActivity.java
@@ -85,20 +85,6 @@ public class EmulationActivity extends AppCompatActivity implements SurfaceHolde
hide();
}
};
- /**
- * Touch listener to use for in-layout UI controls to delay hiding the
- * system UI. This is to prevent the jarring behavior of controls going away
- * while interacting with activity UI.
- */
- private final View.OnTouchListener mDelayHideTouchListener = new View.OnTouchListener() {
- @Override
- public boolean onTouch(View view, MotionEvent motionEvent) {
- if (AUTO_HIDE) {
- delayedHide(AUTO_HIDE_DELAY_MILLIS);
- }
- return false;
- }
- };
@Override
public void surfaceCreated(SurfaceHolder holder) {
@@ -143,16 +129,13 @@ public class EmulationActivity extends AppCompatActivity implements SurfaceHolde
}
mVisible = true;
- mContentView = (SurfaceView) findViewById(R.id.fullscreen_content);
- Log.e("EmulationActivity", "adding callback");
+ mContentView = findViewById(R.id.fullscreen_content);
mContentView.getHolder().addCallback(this);
-
-
- // Set up the user interaction to manually show or hide the system UI.
mContentView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- toggle();
+ if (mVisible)
+ hide();
}
});
@@ -188,12 +171,14 @@ public class EmulationActivity extends AppCompatActivity implements SurfaceHolde
return super.onOptionsItemSelected(item);
}
- private void toggle() {
+ @Override
+ public void onBackPressed() {
if (mVisible) {
- hide();
- } else {
- show();
+ finish();
+ return;
}
+
+ show();
}
private void hide() {
diff --git a/android/app/src/main/java/com/github/stenzek/duckstation/TouchscreenControllerView.java b/android/app/src/main/java/com/github/stenzek/duckstation/TouchscreenControllerView.java
index 03a937de6..fb7abbe0f 100644
--- a/android/app/src/main/java/com/github/stenzek/duckstation/TouchscreenControllerView.java
+++ b/android/app/src/main/java/com/github/stenzek/duckstation/TouchscreenControllerView.java
@@ -44,10 +44,16 @@ public class TouchscreenControllerView extends FrameLayout implements Touchscree
linkButton(view, R.id.controller_button_right, "Right");
linkButton(view, R.id.controller_button_down, "Down");
linkButton(view, R.id.controller_button_left, "Left");
+ linkButton(view, R.id.controller_button_l1, "L1");
+ linkButton(view, R.id.controller_button_l2, "L2");
+ linkButton(view, R.id.controller_button_select, "Select");
+ linkButton(view, R.id.controller_button_start, "Start");
linkButton(view, R.id.controller_button_triangle, "Triangle");
linkButton(view, R.id.controller_button_circle, "Circle");
linkButton(view, R.id.controller_button_cross, "Cross");
linkButton(view, R.id.controller_button_square, "Square");
+ linkButton(view, R.id.controller_button_r1, "R1");
+ linkButton(view, R.id.controller_button_r2, "R2");
}
private void linkButton(View view, int id, String buttonName)
diff --git a/android/app/src/main/res/drawable/ic_controller_l1_button.xml b/android/app/src/main/res/drawable/ic_controller_l1_button.xml
new file mode 100644
index 000000000..0bc81724b
--- /dev/null
+++ b/android/app/src/main/res/drawable/ic_controller_l1_button.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
diff --git a/android/app/src/main/res/drawable/ic_controller_l1_button_pressed.xml b/android/app/src/main/res/drawable/ic_controller_l1_button_pressed.xml
new file mode 100644
index 000000000..8c06f6467
--- /dev/null
+++ b/android/app/src/main/res/drawable/ic_controller_l1_button_pressed.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
diff --git a/android/app/src/main/res/drawable/ic_controller_l2_button.xml b/android/app/src/main/res/drawable/ic_controller_l2_button.xml
new file mode 100644
index 000000000..3ca495405
--- /dev/null
+++ b/android/app/src/main/res/drawable/ic_controller_l2_button.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
diff --git a/android/app/src/main/res/drawable/ic_controller_l2_button_pressed.xml b/android/app/src/main/res/drawable/ic_controller_l2_button_pressed.xml
new file mode 100644
index 000000000..05fd394f7
--- /dev/null
+++ b/android/app/src/main/res/drawable/ic_controller_l2_button_pressed.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
diff --git a/android/app/src/main/res/drawable/ic_controller_r1_button.xml b/android/app/src/main/res/drawable/ic_controller_r1_button.xml
new file mode 100644
index 000000000..a95517436
--- /dev/null
+++ b/android/app/src/main/res/drawable/ic_controller_r1_button.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
diff --git a/android/app/src/main/res/drawable/ic_controller_r1_button_pressed.xml b/android/app/src/main/res/drawable/ic_controller_r1_button_pressed.xml
new file mode 100644
index 000000000..05fe52148
--- /dev/null
+++ b/android/app/src/main/res/drawable/ic_controller_r1_button_pressed.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
diff --git a/android/app/src/main/res/drawable/ic_controller_r2_button.xml b/android/app/src/main/res/drawable/ic_controller_r2_button.xml
new file mode 100644
index 000000000..251b747f9
--- /dev/null
+++ b/android/app/src/main/res/drawable/ic_controller_r2_button.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
diff --git a/android/app/src/main/res/drawable/ic_controller_r2_button_pressed.xml b/android/app/src/main/res/drawable/ic_controller_r2_button_pressed.xml
new file mode 100644
index 000000000..c5fe48ef6
--- /dev/null
+++ b/android/app/src/main/res/drawable/ic_controller_r2_button_pressed.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
diff --git a/android/app/src/main/res/drawable/ic_controller_select_button.xml b/android/app/src/main/res/drawable/ic_controller_select_button.xml
new file mode 100644
index 000000000..ec850fc8a
--- /dev/null
+++ b/android/app/src/main/res/drawable/ic_controller_select_button.xml
@@ -0,0 +1,14 @@
+
+
+
diff --git a/android/app/src/main/res/drawable/ic_controller_select_button_pressed.xml b/android/app/src/main/res/drawable/ic_controller_select_button_pressed.xml
new file mode 100644
index 000000000..1f5bd9ca2
--- /dev/null
+++ b/android/app/src/main/res/drawable/ic_controller_select_button_pressed.xml
@@ -0,0 +1,14 @@
+
+
+
diff --git a/android/app/src/main/res/drawable/ic_controller_start_button.xml b/android/app/src/main/res/drawable/ic_controller_start_button.xml
new file mode 100644
index 000000000..e7e5d8ba7
--- /dev/null
+++ b/android/app/src/main/res/drawable/ic_controller_start_button.xml
@@ -0,0 +1,14 @@
+
+
+
diff --git a/android/app/src/main/res/drawable/ic_controller_start_button_pressed.xml b/android/app/src/main/res/drawable/ic_controller_start_button_pressed.xml
new file mode 100644
index 000000000..85f176935
--- /dev/null
+++ b/android/app/src/main/res/drawable/ic_controller_start_button_pressed.xml
@@ -0,0 +1,14 @@
+
+
+
diff --git a/android/app/src/main/res/layout/layout_touchscreen_controller.xml b/android/app/src/main/res/layout/layout_touchscreen_controller.xml
new file mode 100644
index 000000000..e78a82979
--- /dev/null
+++ b/android/app/src/main/res/layout/layout_touchscreen_controller.xml
@@ -0,0 +1,167 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/android/app/src/main/res/values/attrs_touchscreen_controller_button_view.xml b/android/app/src/main/res/values/attrs_touchscreen_controller_button_view.xml
new file mode 100644
index 000000000..e9dacf26a
--- /dev/null
+++ b/android/app/src/main/res/values/attrs_touchscreen_controller_button_view.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+