diff --git a/app/src/main/java/org/etlegacy/app/ETLActivity.java b/app/src/main/java/org/etlegacy/app/ETLActivity.java index f640435..4bdf269 100644 --- a/app/src/main/java/org/etlegacy/app/ETLActivity.java +++ b/app/src/main/java/org/etlegacy/app/ETLActivity.java @@ -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); } } });