java: AndroidUI now turns off when disconnected from a server

Add postDelay and separate Relative Layout in order to make it work properly.
This commit is contained in:
Unknown 2020-05-28 21:20:55 +02:00
parent b8eaeb10f9
commit 2e8599dd5f
1 changed files with 19 additions and 16 deletions

View File

@ -43,14 +43,17 @@ public class ETLActivity extends SDLActivity implements JoyStickListener {
*/
public void runUI() {
// Use runThread() instead ?
// FIXME When you disconnect from server UI is enabled
// NOTE: This implementation needs to be tested. Looks heavy on UI Thread
Handler handler = new Handler(Looper.getMainLooper());
final RelativeLayout etl_linearLayout = new RelativeLayout(this);
mLayout.addView(etl_linearLayout);
final Handler handler = new Handler(Looper.getMainLooper());
handler.post(new Runnable() {
public void run() {
if (getUiMenu() == true) {
ImageButton btn2 = new ImageButton(getApplicationContext());
btn2.setId(2);
btn2.setImageBitmap(getBitmapFromAsset("btn_sht.png"));
@ -108,10 +111,9 @@ public class ETLActivity extends SDLActivity implements JoyStickListener {
lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
lp.addRule(RelativeLayout.CENTER_VERTICAL);
lp.rightMargin = 200;
mLayout.addView(btn2, lp);
lp.rightMargin = 120;
etl_linearLayout.addView(btn2, lp);
ImageButton btn_reload = new ImageButton(getApplicationContext());
btn_reload.setImageBitmap(getBitmapFromAsset("btn_reload.png"));
@ -130,11 +132,10 @@ public class ETLActivity extends SDLActivity implements JoyStickListener {
lp_reload.addRule(RelativeLayout.BELOW, btn.getId());
lp_reload.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
lp_reload.addRule(RelativeLayout.CENTER_VERTICAL);
lp_reload.topMargin = pxToDp(220);
lp_reload.rightMargin = pxToDp(90);
mLayout.addView(btn_reload, lp_reload);
etl_linearLayout.addView(btn_reload, lp_reload);
ImageButton btn_jump = new ImageButton(getApplicationContext());
btn_jump.setImageBitmap(getBitmapFromAsset("btn_jump.png"));
@ -163,7 +164,7 @@ public class ETLActivity extends SDLActivity implements JoyStickListener {
lp_jump.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
lp_jump.bottomMargin = pxToDp(-20);
mLayout.addView(btn_jump, lp_jump);
etl_linearLayout.addView(btn_jump, lp_jump);
ImageButton btn_activate = new ImageButton(getApplicationContext());
btn_activate.setImageBitmap(getBitmapFromAsset("btn_activate.png"));
@ -185,7 +186,7 @@ public class ETLActivity extends SDLActivity implements JoyStickListener {
lp_activate.bottomMargin = pxToDp(-20);
lp_activate.leftMargin = pxToDp(400);
mLayout.addView(btn_activate, lp_activate);
etl_linearLayout.addView(btn_activate, lp_activate);
ImageButton btn_alternative = new ImageButton(getApplicationContext());
btn_alternative.setImageBitmap(getBitmapFromAsset("btn_altfire.png"));
@ -207,7 +208,7 @@ public class ETLActivity extends SDLActivity implements JoyStickListener {
lp_alternative.bottomMargin = pxToDp(-20);
lp_alternative.rightMargin = pxToDp(400);
mLayout.addView(btn_alternative, lp_alternative);
etl_linearLayout.addView(btn_alternative, lp_alternative);
ImageButton btn_crouch = new ImageButton(getApplicationContext());
btn_crouch.setImageBitmap(getBitmapFromAsset("btn_crouch.png"));
@ -236,7 +237,7 @@ public class ETLActivity extends SDLActivity implements JoyStickListener {
lp_crouch.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
lp_crouch.bottomMargin = pxToDp(-20);
mLayout.addView(btn_crouch, lp_crouch);
etl_linearLayout.addView(btn_crouch, lp_crouch);
JoyStick joyStick_left = new JoyStick(getApplicationContext());
@ -247,7 +248,7 @@ public class ETLActivity extends SDLActivity implements JoyStickListener {
RelativeLayout.LayoutParams joystick_layout = new RelativeLayout.LayoutParams(
400,
400);
350);
joystick_layout.addRule(RelativeLayout.ALIGN_LEFT);
joystick_layout.addRule(RelativeLayout.CENTER_VERTICAL);
@ -255,9 +256,11 @@ public class ETLActivity extends SDLActivity implements JoyStickListener {
mLayout.addView(joyStick_left, joystick_layout);
handler.postDelayed(this, 2000);
}
else {
runUI();
etl_linearLayout.removeAllViews();
handler.postDelayed(this, 500);
}
}
});