mirror of
https://github.com/AngelAuraMC/Amethyst-Android.git
synced 2025-09-19 01:27:18 -04:00
Fix[control]: GUI button showing buttons that shouldn't be visible
This commit is contained in:
parent
54e98ec670
commit
78737cf249
@ -4,6 +4,8 @@ import static android.content.Context.INPUT_METHOD_SERVICE;
|
||||
import static net.kdt.pojavlaunch.MainActivity.mControlLayout;
|
||||
import static net.kdt.pojavlaunch.Tools.currentDisplayMetrics;
|
||||
|
||||
import static org.lwjgl.glfw.CallbackBridge.isGrabbing;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.os.Build;
|
||||
@ -239,7 +241,7 @@ public class ControlLayout extends FrameLayout {
|
||||
|
||||
mControlVisible = isVisible;
|
||||
for(ControlInterface button : getButtonChildren()){
|
||||
button.setVisible(isVisible);
|
||||
button.setVisible(((button.getProperties().displayInGame && isGrabbing()) || (button.getProperties().displayInMenu && !isGrabbing())) && isVisible);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -80,11 +80,6 @@ public class ControlButton extends TextView implements ControlInterface {
|
||||
setText(properties.name);
|
||||
}
|
||||
|
||||
public void setVisible(boolean isVisible){
|
||||
if(mProperties.isHideable)
|
||||
setVisibility(isVisible ? VISIBLE : GONE);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDraw(Canvas canvas) {
|
||||
super.onDraw(canvas);
|
||||
|
@ -2,6 +2,7 @@ package net.kdt.pojavlaunch.customcontrols.buttons;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Toast;
|
||||
|
||||
@ -46,13 +47,14 @@ public class ControlDrawer extends ControlButton {
|
||||
}
|
||||
|
||||
private void setControlButtonVisibility(ControlButton button, boolean isVisible){
|
||||
post(() -> button.setVisible(isVisible));
|
||||
button.getControlView().setVisibility(isVisible ? VISIBLE : GONE);
|
||||
}
|
||||
|
||||
private void switchButtonVisibility(){
|
||||
areButtonsVisible = !areButtonsVisible;
|
||||
int visibility = areButtonsVisible ? VISIBLE : GONE;
|
||||
for(ControlButton button : buttons){
|
||||
button.setVisible(areButtonsVisible);
|
||||
button.getControlView().setVisibility(visibility);
|
||||
}
|
||||
}
|
||||
|
||||
@ -129,7 +131,7 @@ public class ControlDrawer extends ControlButton {
|
||||
setVisibility(visibility);
|
||||
if(visibility == GONE || areButtonsVisible) {
|
||||
for(ControlSubButton button : buttons){
|
||||
button.setVisible(isVisible);
|
||||
button.getControlView().setVisibility(isVisible ? VISIBLE : (!mProperties.isHideable && getVisibility() == GONE) ? VISIBLE : View.GONE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,7 @@
|
||||
package net.kdt.pojavlaunch.customcontrols.buttons;
|
||||
|
||||
import static android.view.View.GONE;
|
||||
import static android.view.View.VISIBLE;
|
||||
import static net.kdt.pojavlaunch.prefs.LauncherPreferences.PREF_BUTTONSIZE;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
@ -49,7 +51,10 @@ public interface ControlInterface extends View.OnLongClickListener, GrabListener
|
||||
*/
|
||||
void cloneButton();
|
||||
|
||||
void setVisible(boolean isVisible);
|
||||
default void setVisible(boolean isVisible) {
|
||||
if(getProperties().isHideable)
|
||||
getControlView().setVisibility(isVisible ? VISIBLE : GONE);
|
||||
}
|
||||
|
||||
void sendKeyPresses(boolean isDown);
|
||||
|
||||
|
@ -89,6 +89,7 @@ public class ControlJoystick extends JoystickView implements ControlInterface {
|
||||
@Override
|
||||
public void setProperties(ControlData properties, boolean changePos) {
|
||||
mControlData = (ControlJoystickData) properties;
|
||||
mControlData.isHideable = true;
|
||||
ControlInterface.super.setProperties(properties, changePos);
|
||||
postDelayed(() -> setForwardLockDistance(mControlData.forwardLock ? (int) Tools.dpToPx(60) : 0), 10);
|
||||
}
|
||||
@ -105,10 +106,6 @@ public class ControlJoystick extends JoystickView implements ControlInterface {
|
||||
getControlLayoutParent().addJoystickButton((ControlJoystickData) data);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVisible(boolean isVisible) {
|
||||
setVisibility(isVisible ? VISIBLE : GONE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBackground() {
|
||||
|
@ -33,7 +33,8 @@ public class ControlSubButton extends ControlButton {
|
||||
|
||||
@Override
|
||||
public void setVisible(boolean isVisible) {
|
||||
setVisibility(isVisible ? VISIBLE : (!mProperties.isHideable && parentDrawer.getVisibility() == GONE) ? VISIBLE : View.GONE);
|
||||
// STUB, visibility handled by the ControlDrawer
|
||||
//setVisibility(isVisible ? VISIBLE : (!mProperties.isHideable && parentDrawer.getVisibility() == GONE) ? VISIBLE : View.GONE);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Loading…
x
Reference in New Issue
Block a user