v2.9.5.7-3dfx

- Fixed VNC Server could fail to connect from another device.
- Added no more update prompts for an updated version.
- Fixed missing package check could give wrong results for 32bit only devices.
- Fixed VM not being created when ignoring warnings.
- Termux:X11 startup command now only runs for Android 13 and below.
- Added check if cache folder was created successfully when running VM.
- Added VNC Server running notification dialog after successful VM launch.
- New Home interface.
- Rom store has been integrated in Home.
- New System monitor.
- Updated update notification dialog interface.
- New update checker.
- Reduced time on startup screen.
- Fixed issue with virtual machine list data fixer.
This commit is contained in:
An Bui 2025-09-16 23:40:13 +07:00
parent d351766486
commit 149e3c29ea
81 changed files with 4108 additions and 1093 deletions

View file

@ -26,7 +26,6 @@ import android.text.Html;
import android.text.InputType;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.method.LinkMovementMethod;
import android.text.style.ForegroundColorSpan;
import android.util.Log;
import android.view.Display;
@ -41,7 +40,6 @@ import android.widget.Toast;
import com.vectras.qemu.Config;
import com.vectras.qemu.MainSettingsManager;
import com.vectras.qemu.utils.FileUtils;
import com.vectras.vm.MainActivity;
import com.vectras.vm.R;
import com.vectras.vm.logger.VectrasStatus;
@ -461,4 +459,44 @@ public class UIUtils {
return insets;
});
}
public static void setOnApplyWindowInsetsListenerBottomOnly(View _view) {
int originalPaddingLeft = _view.getPaddingLeft();
int originalPaddingTop = _view.getPaddingTop();
int originalPaddingRight = _view.getPaddingRight();
int originalPaddingBottom = _view.getPaddingBottom();
ViewCompat.setOnApplyWindowInsetsListener(_view, (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars() | WindowInsetsCompat.Type.displayCutout() | WindowInsetsCompat.Type.ime());
v.setPadding(originalPaddingLeft, originalPaddingTop, originalPaddingRight, systemBars.bottom + originalPaddingBottom);
return insets;
});
}
public static void setOnApplyWindowInsetsListenerLeftOnly(View _view) {
int originalPaddingLeft = _view.getPaddingLeft();
int originalPaddingTop = _view.getPaddingTop();
int originalPaddingRight = _view.getPaddingRight();
int originalPaddingBottom = _view.getPaddingBottom();
ViewCompat.setOnApplyWindowInsetsListener(_view, (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars() | WindowInsetsCompat.Type.displayCutout() | WindowInsetsCompat.Type.ime());
v.setPadding(systemBars.left + originalPaddingLeft , originalPaddingTop, originalPaddingRight, originalPaddingBottom);
return insets;
});
}
public static void setOnApplyWindowInsetsListenerHorizontalOnly(View _view) {
int originalPaddingLeft = _view.getPaddingLeft();
int originalPaddingTop = _view.getPaddingTop();
int originalPaddingRight = _view.getPaddingRight();
int originalPaddingBottom = _view.getPaddingBottom();
ViewCompat.setOnApplyWindowInsetsListener(_view, (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars() | WindowInsetsCompat.Type.displayCutout() | WindowInsetsCompat.Type.ime());
v.setPadding(systemBars.left + originalPaddingLeft, originalPaddingTop, systemBars.right + originalPaddingRight, originalPaddingBottom);
return insets;
});
}
}