Custom controls: fix wrong pos

This commit is contained in:
khanhduytran0 2020-09-22 13:25:40 +07:00
parent 89545f9256
commit d6988fea87
7 changed files with 26 additions and 20 deletions

View File

@ -140,7 +140,7 @@ public class CustomControlsActivity extends AppCompatActivity
builder.setPositiveButton(android.R.string.ok, null);
builder.setNegativeButton(android.R.string.cancel, null);
if (exit) {
builder.setNeutralButton("Exit without save", new AlertDialog.OnClickListener(){
builder.setNeutralButton(R.string.mcn_exit_call, new AlertDialog.OnClickListener(){
@Override
public void onClick(DialogInterface p1, int p2) {
CustomControlsActivity.super.onBackPressed();

View File

@ -62,9 +62,6 @@ public class MCLauncherActivity extends AppCompatActivity
super.onCreate(savedInstanceState);
gson = new Gson();
DisplayMetrics dm = Tools.getDisplayMetrics(this);
CallbackBridge.windowWidth = dm.widthPixels;
CallbackBridge.windowHeight = dm.heightPixels;
viewInit();
final View decorView = getWindow().getDecorView();
@ -267,9 +264,9 @@ public class MCLauncherActivity extends AppCompatActivity
}
@Override
protected void onPostResume()
{
protected void onPostResume() {
super.onPostResume();
Tools.updateWindowSize(this);
}
private float updateWidthHeight() {

View File

@ -171,7 +171,6 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
}
this.displayMetrics = Tools.getDisplayMetrics(this);
CallbackBridge.windowWidth = displayMetrics.widthPixels / scaleFactor;
CallbackBridge.windowHeight = displayMetrics.heightPixels / scaleFactor;
System.out.println("WidthHeight: " + CallbackBridge.windowWidth + ":" + CallbackBridge.windowHeight);

View File

@ -63,17 +63,6 @@ public class PojavApplication extends Application
LauncherPreferences.DEFAULT_PREF = PreferenceManager.getDefaultSharedPreferences(this);
LauncherPreferences.loadPreferences();
ControlButton.pixelOf2dp = (int) Tools.dpToPx(this, 2);
ControlButton.pixelOf30dp = (int) Tools.dpToPx(this, 30);
ControlButton.pixelOf50dp = (int) Tools.dpToPx(this, 50);
ControlButton.pixelOf80dp = (int) Tools.dpToPx(this, 80);
ControlButton[] specialButtons = ControlButton.getSpecialButtons();
specialButtons[0].name = getString(R.string.control_keyboard);
specialButtons[1].name = getString(R.string.control_toggle);
specialButtons[2].name = getString(R.string.control_primary);
specialButtons[3].name = getString(R.string.control_secondary);
specialButtons[4].name = getString(R.string.control_mouse);
FontChanger.initFonts(this);
} catch (Throwable th) {
Intent ferrorIntent = new Intent(this, FatalErrorActivity.class);

View File

@ -47,7 +47,19 @@ public class PojavLoginActivity extends AppCompatActivity
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState); // false);
Tools.updateWindowSize(this);
ControlButton.pixelOf2dp = (int) Tools.dpToPx(this, 2);
ControlButton.pixelOf30dp = (int) Tools.dpToPx(this, 30);
ControlButton.pixelOf50dp = (int) Tools.dpToPx(this, 50);
ControlButton.pixelOf80dp = (int) Tools.dpToPx(this, 80);
ControlButton[] specialButtons = ControlButton.getSpecialButtons();
specialButtons[0].name = getString(R.string.control_keyboard);
specialButtons[1].name = getString(R.string.control_toggle);
specialButtons[2].name = getString(R.string.control_primary);
specialButtons[3].name = getString(R.string.control_secondary);
specialButtons[4].name = getString(R.string.control_mouse);
final View decorView = getWindow().getDecorView();
decorView.setOnSystemUiVisibilityChangeListener (new View.OnSystemUiVisibilityChangeListener() {
@Override
@ -278,6 +290,9 @@ public class PojavLoginActivity extends AppCompatActivity
@Override
public void onResume() {
super.onResume();
Tools.updateWindowSize(this);
final int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
final View decorView = getWindow().getDecorView();
decorView.setSystemUiVisibility(uiOptions);

View File

@ -369,6 +369,12 @@ public final class Tools
ctx.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
return displayMetrics;
}
public static void updateWindowSize(Activity ctx) {
DisplayMetrics dm = getDisplayMetrics(ctx);
CallbackBridge.windowWidth = dm.widthPixels;
CallbackBridge.windowHeight = dm.heightPixels;
}
public static float pxToDp(Context ctx, float px) {
return (px / ctx.getResources().getDisplayMetrics().density);

View File

@ -19,7 +19,7 @@ public class CustomControls
// Generate default control
public CustomControls(Context ctx) {
this();
this.button.add(ControlButton.getSpecialButtons()[0].clone()); // LWJGLGLFWKeycode
this.button.add(ControlButton.getSpecialButtons()[0].clone()); // Keyboard
this.button.add(ControlButton.getSpecialButtons()[1].clone()); // GUI
this.button.add(ControlButton.getSpecialButtons()[2].clone()); // Primary Mouse button
this.button.add(ControlButton.getSpecialButtons()[3].clone()); // Secondary Mouse button