From 29b7aeb9994e172e9626709fa945cdadb90b6cfb Mon Sep 17 00:00:00 2001 From: SerpentSpirale Date: Mon, 6 Sep 2021 16:57:51 +0200 Subject: [PATCH] Free placement subButton support --- .../customcontrols/ControlDrawerData.java | 32 ++++++++----------- .../customcontrols/buttons/ControlDrawer.java | 1 + .../buttons/ControlSubButton.java | 3 +- 3 files changed, 17 insertions(+), 19 deletions(-) diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlDrawerData.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlDrawerData.java index aa1478f1a..4db6526e7 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlDrawerData.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlDrawerData.java @@ -8,6 +8,7 @@ import static net.kdt.pojavlaunch.customcontrols.ControlDrawerData.Orientation.D import static net.kdt.pojavlaunch.customcontrols.ControlDrawerData.Orientation.LEFT; import static net.kdt.pojavlaunch.customcontrols.ControlDrawerData.Orientation.RIGHT; import static net.kdt.pojavlaunch.customcontrols.ControlDrawerData.Orientation.UP; +import static net.kdt.pojavlaunch.customcontrols.ControlDrawerData.Orientation.FREE; import androidx.annotation.NonNull; @@ -21,37 +22,32 @@ public class ControlDrawerData { DOWN, LEFT, UP, - RIGHT + RIGHT, + FREE } public static Orientation[] getOrientations(){ - return new Orientation[]{DOWN,LEFT,UP,RIGHT}; + return new Orientation[]{DOWN,LEFT,UP,RIGHT,FREE}; } public static int orientationToInt(Orientation orientation){ switch (orientation){ - case DOWN: - return 0; - case LEFT: - return 1; - case UP: - return 2; - case RIGHT: - return 3; + case DOWN: return 0; + case LEFT: return 1; + case UP: return 2; + case RIGHT: return 3; + case FREE: return 4; } return -1; } public static Orientation intToOrientation(int by){ switch (by){ - case 0: - return Orientation.DOWN; - case 1: - return Orientation.LEFT; - case 2: - return Orientation.UP; - case 3: - return RIGHT; + case 0: return DOWN; + case 1: return LEFT; + case 2: return UP; + case 3: return RIGHT; + case 4: return FREE; } return null; } diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/buttons/ControlDrawer.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/buttons/ControlDrawer.java index 5b5ea5472..a7fbb154c 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/buttons/ControlDrawer.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/buttons/ControlDrawer.java @@ -59,6 +59,7 @@ public class ControlDrawer extends ControlButton { private void alignButtons(){ if(buttons == null) return; + if(drawerData.orientation == ControlDrawerData.Orientation.FREE) return; for(int i=0; i < buttons.size(); ++i){ switch (drawerData.orientation){ case RIGHT: diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/buttons/ControlSubButton.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/buttons/ControlSubButton.java index 1692df4a3..f53b6f288 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/buttons/ControlSubButton.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/buttons/ControlSubButton.java @@ -9,6 +9,7 @@ import android.view.ViewGroup; import net.kdt.pojavlaunch.SingleTapConfirm; import net.kdt.pojavlaunch.customcontrols.ControlData; +import net.kdt.pojavlaunch.customcontrols.ControlDrawerData; import net.kdt.pojavlaunch.customcontrols.ControlLayout; public class ControlSubButton extends ControlButton { @@ -50,7 +51,7 @@ public class ControlSubButton extends ControlButton { @Override public boolean onTouchEvent(MotionEvent event) { - if(!mModifiable){ + if(!mModifiable || parentDrawer.drawerData.orientation == ControlDrawerData.Orientation.FREE){ return super.onTouchEvent(event); }