java: run it on UiThread

This commit is contained in:
rafal1137 2021-04-10 16:48:33 +02:00
parent 1e8f17937a
commit fffd4a2b11
1 changed files with 77 additions and 72 deletions

View File

@ -330,85 +330,90 @@ public class ETLActivity extends SDLActivity implements JoyStickListener {
if (isAndroidTV() || isChromebook()) {
Log.v("ETL", "AndroidTV / ChromeBook Detected, Display UI Disabled!");
} else {
final ImageButton buttonPopUpMenu = new ImageButton(getApplicationContext());
buttonPopUpMenu.setImageResource(R.drawable.ic_one_line);
buttonPopUpMenu.setBackgroundResource(0);
etl_PopMenu = new PopupMenu(getApplicationContext(), buttonPopUpMenu);
etl_PopMenu.getMenu().add(0, 0, 0, "~");
buttonPopUpMenu.setOnClickListener(new View.OnClickListener() {
runOnUiThread(new Runnable() {
@Override
public void onClick(View v) {
etl_PopMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
public void run() {
final ImageButton buttonPopUpMenu = new ImageButton(getApplicationContext());
buttonPopUpMenu.setImageResource(R.drawable.ic_one_line);
buttonPopUpMenu.setBackgroundResource(0);
etl_PopMenu = new PopupMenu(getApplicationContext(), buttonPopUpMenu);
etl_PopMenu.getMenu().add(0, 0, 0, "~");
buttonPopUpMenu.setOnClickListener(new View.OnClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case 0:
SDLActivity.onNativeKeyDown(68);
SDLActivity.onNativeKeyUp(68);
break;
case 1:
SDLActivity.onNativeKeyDown(131);
SDLActivity.onNativeKeyUp(131);
break;
case 2:
SDLActivity.onNativeKeyDown(132);
SDLActivity.onNativeKeyUp(132);
break;
}
return false;
public void onClick(View v) {
etl_PopMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case 0:
SDLActivity.onNativeKeyDown(68);
SDLActivity.onNativeKeyUp(68);
break;
case 1:
SDLActivity.onNativeKeyDown(131);
SDLActivity.onNativeKeyUp(131);
break;
case 2:
SDLActivity.onNativeKeyDown(132);
SDLActivity.onNativeKeyUp(132);
break;
}
return false;
}
});
etl_PopMenu.show();
}
});
etl_PopMenu.show();
mLayout.addView(buttonPopUpMenu);
btn = new ImageButton(getApplicationContext());
btn.setImageResource(R.drawable.ic_keyboard);
btn.setBackgroundResource(0);
btn.setId(1);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
}
});
RelativeLayout.LayoutParams keyboard_layout = new RelativeLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
keyboard_layout.leftMargin = pxToDp(390);
keyboard_layout.topMargin = pxToDp(-20);
mLayout.addView(btn, keyboard_layout);
ImageButton esc_btn = new ImageButton(getApplicationContext());
esc_btn.setImageResource(R.drawable.ic_escape);
esc_btn.setBackgroundResource(0);
esc_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SDLActivity.onNativeKeyDown(111);
SDLActivity.onNativeKeyUp(111);
}
});
RelativeLayout.LayoutParams lp2 = new RelativeLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
lp2.addRule(RelativeLayout.RIGHT_OF, btn.getId());
lp2.leftMargin = pxToDp(-15);
lp2.topMargin = -pxToDp(20);
mLayout.addView(esc_btn, lp2);
runUI();
}
});
mLayout.addView(buttonPopUpMenu);
btn = new ImageButton(getApplicationContext());
btn.setImageResource(R.drawable.ic_keyboard);
btn.setBackgroundResource(0);
btn.setId(1);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
}
});
RelativeLayout.LayoutParams keyboard_layout = new RelativeLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
keyboard_layout.leftMargin = pxToDp(390);
keyboard_layout.topMargin = pxToDp(-20);
mLayout.addView(btn, keyboard_layout);
ImageButton esc_btn = new ImageButton(getApplicationContext());
esc_btn.setImageResource(R.drawable.ic_escape);
esc_btn.setBackgroundResource(0);
esc_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SDLActivity.onNativeKeyDown(111);
SDLActivity.onNativeKeyUp(111);
}
});
RelativeLayout.LayoutParams lp2 = new RelativeLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
lp2.addRule(RelativeLayout.RIGHT_OF, btn.getId());
lp2.leftMargin = pxToDp(-15);
lp2.topMargin = -pxToDp(20);
mLayout.addView(esc_btn, lp2);
runUI();
}
}