From a227f5b8a6c43824ca69ea621fbae7680cac40d4 Mon Sep 17 00:00:00 2001 From: An Bui <91354810+AnBui2004@users.noreply.github.com> Date: Thu, 11 Jun 2026 17:17:33 +0700 Subject: [PATCH] 4.2.5 - Fixed an issue with the confusing virtual machine control dialog box. - Fixed the frozen virtual machine startup dialog box. - Added marking of content containing advertisements. - Added select and display of the virtual machine control dialog box to the built-in X11 screen. - Removed the quick software launch shortcut button from the built-in X11 screen. - Added a blur effect to the built-in X11 screen. - Several minor interface improvements. - Bugs fixed. --- app/build.gradle | 4 +- app/src/main/AndroidManifest.xml | 2 +- .../java/android/androidVNC/RfbProto.java | 62 +++---- .../com/vectras/qemu/MainVNCActivity.java | 2 + .../main/java/com/vectras/vm/VMManager.java | 13 +- .../vectras/vm/creator/VMCreatorActivity.java | 2 +- .../vm/main/core/RomOptionsDialog.java | 3 + .../vectras/vm/main/core/StartVmDialog.java | 9 +- .../vectras/vm/main/romstore/DataRoms.java | 1 + .../vm/main/romstore/RomStoreHomeAdpater.java | 7 +- .../SoftwareStoreHomeAdapter.java | 6 +- .../vm/manager/VmControllerDialog.java | 31 +++- .../com/vectras/vm/manager/VmListManager.java | 15 +- .../java/com/vectras/vm/manager/VmPicker.java | 8 +- .../com/vectras/vm/{ => store}/RomInfo.java | 11 +- .../com/vectras/vm/utils/StreamAudio.java | 4 + .../vm/utils/UniversalPickerDialog.java | 2 +- .../java/com/vectras/vm/x11/X11Activity.java | 160 ++++++++++++++---- app/src/main/res/drawable/gamepad_24px.xml | 10 ++ app/src/main/res/drawable/stack_24px.xml | 10 ++ app/src/main/res/layout/activity_rom_info.xml | 10 +- app/src/main/res/layout/activity_x11.xml | 1 + app/src/main/res/layout/controls_fragment.xml | 22 ++- app/src/main/res/values-vi/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + web/data/UpdateConfig.json | 8 +- web/data/vroms-store.json | 84 +++++++++ 27 files changed, 391 insertions(+), 98 deletions(-) rename app/src/main/java/com/vectras/vm/{ => store}/RomInfo.java (98%) create mode 100644 app/src/main/res/drawable/gamepad_24px.xml create mode 100644 app/src/main/res/drawable/stack_24px.xml diff --git a/app/build.gradle b/app/build.gradle index c492ebe..5db748d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,8 +12,8 @@ android { applicationId "com.vectras.vm" minSdk minApi targetSdk targetApi - versionCode 128 - versionName "4.2.4" + versionCode 129 + versionName "4.2.5" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" multiDexEnabled true diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 959a5fc..311eba2 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -136,7 +136,7 @@ android:exported="false" android:label="@string/mini_tools" /> { + try { + sos.write(data0); + } catch (IOException e) { + e.printStackTrace(); } }); } @@ -218,16 +215,13 @@ public class RfbProto { public void write(final byte[] bytes) throws IOException { final byte [] buffer0 = java.util.Arrays.copyOf(bytes, bytes.length); - handler.post(new Runnable() { - @Override - public void run() { - try { - sos.write(buffer0); - } catch (IOException e) { - Log.w(TAG, "Error while sending VNC data"); - if(Config.debug) - e.printStackTrace(); - } + handler.post(() -> { + try { + sos.write(buffer0); + } catch (IOException e) { + Log.w(TAG, "Error while sending VNC data"); + if(Config.debug) + e.printStackTrace(); } }); } @@ -237,14 +231,11 @@ public class RfbProto { final int offset0 = offset; final int count0 = count; - handler.post(new Runnable() { - @Override - public void run() { - try { - sos.write(buffer0, offset0, count0); - } catch (IOException e) { - e.printStackTrace(); - } + handler.post(() -> { + try { + sos.write(buffer0, offset0, count0); + } catch (IOException e) { + e.printStackTrace(); } }); } @@ -370,8 +361,19 @@ public class RfbProto { try { os.close(); } catch (Exception ex) { - ex.printStackTrace(); + Log.e(TAG, "Error while closing VectrasOutputStream", ex); } + + if (localSocket != null) { + try { + localSocket.close(); + closed = true; + Log.v(TAG, "RFB local socket closed"); + } catch (Exception e) { + Log.e(TAG, "Error while closing RFB local socket", e); + } + } + if (sock != null) { try { sock.close(); @@ -385,7 +387,7 @@ public class RfbProto { } */ } catch (Exception e) { - e.printStackTrace(); + Log.e(TAG, "Error while closing RFB socket", e); } } diff --git a/app/src/main/java/com/vectras/qemu/MainVNCActivity.java b/app/src/main/java/com/vectras/qemu/MainVNCActivity.java index da34ebc..54a742b 100644 --- a/app/src/main/java/com/vectras/qemu/MainVNCActivity.java +++ b/app/src/main/java/com/vectras/qemu/MainVNCActivity.java @@ -1202,6 +1202,8 @@ public class MainVNCActivity extends VncCanvasActivity { } }); + bindingControls.btnVmManager.setVisibility(View.GONE); + bindingDesktopControls.rightClickBtn.setOnClickListener(v -> { try { MotionEvent e = MotionEvent.obtain(1000, 1000, MotionEvent.ACTION_DOWN, vncCanvas.mouseX, vncCanvas.mouseY, diff --git a/app/src/main/java/com/vectras/vm/VMManager.java b/app/src/main/java/com/vectras/vm/VMManager.java index 2f351ab..a013dd5 100644 --- a/app/src/main/java/com/vectras/vm/VMManager.java +++ b/app/src/main/java/com/vectras/vm/VMManager.java @@ -842,15 +842,22 @@ public class VMManager { public static boolean isVMRunning(Context context, String vmID) { String result = Terminal.executeShellCommandWithResult("ps -e", context); - if (result.contains(Config.getCacheDir() + "/" + vmID + "/qmpsocket")) { - Log.d("VMManager.isThisVMRunning", "Yes"); + if (result.contains(" -qmp unix:" + Config.getLocalQMPSocketPath(vmID))) { + Log.d("VMManager.isThisVMRunning", "Yes.\n\n" + result); return true; } else { - Log.d("VMManager.isThisVMRunning", "No"); + Log.d("VMManager.isThisVMRunning", "No.\n\n" + result); return false; } } + public static boolean isVMRunning(String vmID) { + File qmpSocket = new File(Config.getLocalQMPSocketPath(vmID)); + boolean exists = qmpSocket.exists(); + Log.d("VMManager.isThisVMRunning", exists ? "Yes" : "No"); + return exists; + } + public static boolean isQemuRunning(Activity activity) { Terminal vterm = new Terminal(activity); vterm.executeShellCommand2("ps -e", false, activity); diff --git a/app/src/main/java/com/vectras/vm/creator/VMCreatorActivity.java b/app/src/main/java/com/vectras/vm/creator/VMCreatorActivity.java index e08a0df..b76c50e 100644 --- a/app/src/main/java/com/vectras/vm/creator/VMCreatorActivity.java +++ b/app/src/main/java/com/vectras/vm/creator/VMCreatorActivity.java @@ -29,7 +29,7 @@ import com.vectras.qemu.MainSettingsManager; import com.vectras.vm.AppConfig; import com.vectras.vm.Fragment.CreateImageDialogFragment; import com.vectras.vm.R; -import com.vectras.vm.RomInfo; +import com.vectras.vm.store.RomInfo; import com.vectras.vm.SplashActivity; import com.vectras.vm.VMManager; import com.vectras.vm.main.vms.DataMainRoms; diff --git a/app/src/main/java/com/vectras/vm/main/core/RomOptionsDialog.java b/app/src/main/java/com/vectras/vm/main/core/RomOptionsDialog.java index a074a07..b9e15f5 100644 --- a/app/src/main/java/com/vectras/vm/main/core/RomOptionsDialog.java +++ b/app/src/main/java/com/vectras/vm/main/core/RomOptionsDialog.java @@ -14,6 +14,7 @@ import com.bumptech.glide.Glide; import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.google.android.material.bottomsheet.BottomSheetBehavior; import com.google.android.material.bottomsheet.BottomSheetDialog; +import com.vectras.qemu.Config; import com.vectras.vm.creator.VMCreatorActivity; import com.vectras.vm.ExportRomActivity; import com.vectras.vm.R; @@ -30,6 +31,8 @@ import java.io.File; public class RomOptionsDialog { public static void show(Activity activity, int position, DataMainRoms vmConfig) { if (VMManager.isVMRunning(activity, vmConfig.vmID)) { + Config.vmID = vmConfig.vmID; + VmControllerDialog vmControllerDialog = new VmControllerDialog(); vmControllerDialog.streamAudio = VmAudioManager.streamAudio; vmControllerDialog.position = position; diff --git a/app/src/main/java/com/vectras/vm/main/core/StartVmDialog.java b/app/src/main/java/com/vectras/vm/main/core/StartVmDialog.java index eabcaf4..2b1f029 100644 --- a/app/src/main/java/com/vectras/vm/main/core/StartVmDialog.java +++ b/app/src/main/java/com/vectras/vm/main/core/StartVmDialog.java @@ -87,6 +87,9 @@ public class StartVmDialog { QmpSender.shutdown(); new Handler(Looper.getMainLooper()).post(callBack::onStop); + final int MAX_TRY = 10; + int triedCount = 0; + boolean isVmRuning = VMManager.isVMRunning(activity, vmId); while (isVmRuning) { @@ -96,7 +99,9 @@ public class StartVmDialog { QmpSender.shutdown(); - if (!isVmRuning || VMManager.isQemuStopedWithError) { + if (!isVmRuning || VMManager.isQemuStopedWithError || triedCount == MAX_TRY) { + if (triedCount < MAX_TRY) FileUtils.delete(Config.getLocalQMPSocketPath(vmId)); + new Handler(Looper.getMainLooper()).post(() -> { isShuttingDown = false; dismiss(); @@ -110,6 +115,8 @@ public class StartVmDialog { } catch (InterruptedException ignored) { } + + triedCount++; } }).start(); }); diff --git a/app/src/main/java/com/vectras/vm/main/romstore/DataRoms.java b/app/src/main/java/com/vectras/vm/main/romstore/DataRoms.java index 44a136b..1c5e2d2 100644 --- a/app/src/main/java/com/vectras/vm/main/romstore/DataRoms.java +++ b/app/src/main/java/com/vectras/vm/main/romstore/DataRoms.java @@ -35,4 +35,5 @@ public class DataRoms { public String id; @SerializedName("vecid") public String vecid; + public boolean containsAds; } diff --git a/app/src/main/java/com/vectras/vm/main/romstore/RomStoreHomeAdpater.java b/app/src/main/java/com/vectras/vm/main/romstore/RomStoreHomeAdpater.java index 1bcf000..fbd9b67 100644 --- a/app/src/main/java/com/vectras/vm/main/romstore/RomStoreHomeAdpater.java +++ b/app/src/main/java/com/vectras/vm/main/romstore/RomStoreHomeAdpater.java @@ -16,7 +16,7 @@ import androidx.recyclerview.widget.RecyclerView; import com.bumptech.glide.Glide; import com.vectras.vm.R; -import com.vectras.vm.RomInfo; +import com.vectras.vm.store.RomInfo; import com.vectras.vm.utils.UIUtils; import java.util.ArrayList; @@ -76,10 +76,13 @@ public class RomStoreHomeAdpater extends RecyclerView.Adapter { if (isAdded()) { VmPicker vmPicker = new VmPicker(requireActivity()); - vmPicker.currentVmId= Config.vmID; + vmPicker.currentVmId = Config.vmID; + vmPicker.title = getString(R.string.switch_to); vmPicker.listVm = list; vmPicker.pick((position, name, value) -> { if (Config.vmID.equals(value)) return; @@ -182,7 +184,7 @@ public class VmControllerDialog extends DialogFragment { dismiss(); }); - if (isAdded() && (!(requireActivity() instanceof MainVNCActivity))) { + if (isAdded() && (!(requireActivity() instanceof MainVNCActivity)) && (!(requireActivity() instanceof X11Activity))) { if (streamAudio == null) streamAudio = new StreamAudio(requireActivity().getApplicationContext()); if (!streamAudio.isPlaying()) VmAudioManager.set(Config.vmID); @@ -191,11 +193,16 @@ public class VmControllerDialog extends DialogFragment { if (streamAudio == null || !isAdded() || audioFileSize == 0 || - (isAdded() && (!(requireActivity() instanceof MainVNCActivity)) && !VmAudioManager.currentVmId.equals(Config.vmID)) + (isAdded() && (!(requireActivity() instanceof MainVNCActivity)) && !(requireActivity() instanceof X11Activity) && !VmAudioManager.currentVmId.equals(Config.vmID)) ) { binding.lnMute.setVisibility(View.GONE); } else { - if (!streamAudio.isPlaying()) { + if (isAdded() && requireActivity() instanceof X11Activity) { + if (!streamAudio.getFile().equals(VmFileManager.findAudioRaw(getContext(), Config.vmID)) || !streamAudio.isPlaying()) { + binding.ivMute.setImageResource(R.drawable.volume_up_24px); + binding.tvMute.setText(R.string.unmute); + } + } else if (!streamAudio.isPlaying()) { binding.ivMute.setImageResource(R.drawable.volume_up_24px); binding.tvMute.setText(R.string.unmute); } @@ -491,7 +498,21 @@ public class VmControllerDialog extends DialogFragment { } private void mute() { - if (streamAudio.isPlaying()) { + if (isAdded() && requireActivity() instanceof X11Activity) { + if (streamAudio.isPlaying() && streamAudio.getFile().equals(VmFileManager.findAudioRaw(getContext(), Config.vmID))) { + streamAudio.stop(); + binding.ivMute.setImageResource(R.drawable.volume_up_24px); + binding.tvMute.setText(R.string.unmute); + } else { + if (!streamAudio.getFile().equals(VmFileManager.findAudioRaw(getContext(), Config.vmID))) { + streamAudio.stop(); + streamAudio.setFile(VmFileManager.findAudioRaw(getContext(), Config.vmID)); + } + streamAudio.play(); + binding.ivMute.setImageResource(R.drawable.volume_off_24px); + binding.tvMute.setText(R.string.mute); + } + } else if (streamAudio.isPlaying()) { streamAudio.stop(); binding.ivMute.setImageResource(R.drawable.volume_up_24px); binding.tvMute.setText(R.string.unmute); diff --git a/app/src/main/java/com/vectras/vm/manager/VmListManager.java b/app/src/main/java/com/vectras/vm/manager/VmListManager.java index 78d00b4..b5eb3cb 100644 --- a/app/src/main/java/com/vectras/vm/manager/VmListManager.java +++ b/app/src/main/java/com/vectras/vm/manager/VmListManager.java @@ -18,8 +18,21 @@ import java.util.List; import java.util.Objects; public class VmListManager { + public static ArrayList> getAllVmForPickRunningNoVncSocketOnly(Context context) { + ArrayList> listVm = getAllVmForPickRunningOnly(context); + ArrayList> list = new ArrayList<>(); + + for (int i = 0; i < listVm.size(); i++) { + if (!FileUtils.isFileExists(Config.getLocalVNCSocketPath(Objects.requireNonNull(listVm.get(i).get("value")).toString()))) { + list.add(listVm.get(i)); + } + } + + return list; + } + public static ArrayList> getAllVmForPickRunningVncSocketOnly(Context context) { - ArrayList> listVm = getAllVmForPick(context); + ArrayList> listVm = getAllVmForPickRunningOnly(context); ArrayList> list = new ArrayList<>(); for (int i = 0; i < listVm.size(); i++) { diff --git a/app/src/main/java/com/vectras/vm/manager/VmPicker.java b/app/src/main/java/com/vectras/vm/manager/VmPicker.java index 0fc3e37..a9306ed 100644 --- a/app/src/main/java/com/vectras/vm/manager/VmPicker.java +++ b/app/src/main/java/com/vectras/vm/manager/VmPicker.java @@ -4,6 +4,7 @@ import android.app.Activity; import com.vectras.vm.R; import com.vectras.vm.creator.VMCreatorSelector; +import com.vectras.vm.utils.UniversalPickerDialog; import java.util.ArrayList; import java.util.HashMap; @@ -12,8 +13,9 @@ import java.util.Objects; public class VmPicker { public boolean isRunningOnly; public String currentVmId = ""; + public String title; private Activity activity; - ArrayList> listVm; + public ArrayList> listVm; public interface VMPickerCallback { void onSelected(int position, String name, String vmId); @@ -39,11 +41,11 @@ public class VmPicker { } } - VMCreatorSelector.showDialog( + UniversalPickerDialog.show( activity, list, position, (callback::onSelected), - activity.getString(R.string.switch_to)); + title == null || title.isEmpty() ? activity.getString(R.string.vm_picker) : title); } } diff --git a/app/src/main/java/com/vectras/vm/RomInfo.java b/app/src/main/java/com/vectras/vm/store/RomInfo.java similarity index 98% rename from app/src/main/java/com/vectras/vm/RomInfo.java rename to app/src/main/java/com/vectras/vm/store/RomInfo.java index ec89d93..3ca96fd 100644 --- a/app/src/main/java/com/vectras/vm/RomInfo.java +++ b/app/src/main/java/com/vectras/vm/store/RomInfo.java @@ -1,4 +1,4 @@ -package com.vectras.vm; +package com.vectras.vm.store; import android.content.Intent; import android.graphics.Bitmap; @@ -22,6 +22,9 @@ import com.anbui.elephant.interaction.Interaction; import com.bumptech.glide.Glide; import com.bumptech.glide.request.target.CustomTarget; import com.bumptech.glide.request.transition.Transition; +import com.vectras.vm.ImagePrvActivity; +import com.vectras.vm.R; +import com.vectras.vm.VMManager; import com.vectras.vm.creator.VMCreatorActivity; import com.vectras.vm.databinding.ActivityRomInfoBinding; import com.vectras.vm.utils.DialogUtils; @@ -177,9 +180,15 @@ public class RomInfo extends AppCompatActivity { if (getIntent().hasExtra("title")) { binding.textName.setText(getIntent().getStringExtra("title")); } + if (getIntent().hasExtra("shortdesc")) { binding.textSize.setText(getIntent().getStringExtra("shortdesc")); } + + if (getIntent().hasExtra("containsAds")) { + binding.tvContainsAds.setVisibility(getIntent().getBooleanExtra("containsAds", false) ? View.VISIBLE : View.GONE); + } + if (getIntent().hasExtra("desc")) { binding.descTxt.setText(getIntent().getStringExtra("desc")); } diff --git a/app/src/main/java/com/vectras/vm/utils/StreamAudio.java b/app/src/main/java/com/vectras/vm/utils/StreamAudio.java index 73d07ec..998801b 100644 --- a/app/src/main/java/com/vectras/vm/utils/StreamAudio.java +++ b/app/src/main/java/com/vectras/vm/utils/StreamAudio.java @@ -38,6 +38,10 @@ public class StreamAudio { filePath = path; } + public String getFile() { + return filePath; + } + public void setCross(StreamAudio streamAudio) { cross = streamAudio; } diff --git a/app/src/main/java/com/vectras/vm/utils/UniversalPickerDialog.java b/app/src/main/java/com/vectras/vm/utils/UniversalPickerDialog.java index 4407a5e..e91a2d4 100644 --- a/app/src/main/java/com/vectras/vm/utils/UniversalPickerDialog.java +++ b/app/src/main/java/com/vectras/vm/utils/UniversalPickerDialog.java @@ -69,7 +69,7 @@ public class UniversalPickerDialog { public RecyclerviewAdapter(Activity activity, AlertDialog alertDialog, ArrayList> arr, int position, UniversalPickerDialogCallback callback) { this.activity = activity; data = arr; - currentPosition = position > -1 ? position : 0; + currentPosition = position; dialog = alertDialog; this.callback = callback; } diff --git a/app/src/main/java/com/vectras/vm/x11/X11Activity.java b/app/src/main/java/com/vectras/vm/x11/X11Activity.java index 674047f..ec41fe8 100644 --- a/app/src/main/java/com/vectras/vm/x11/X11Activity.java +++ b/app/src/main/java/com/vectras/vm/x11/X11Activity.java @@ -8,6 +8,8 @@ import static android.content.pm.PackageManager.PERMISSION_GRANTED; import static android.os.Build.VERSION.SDK_INT; import android.content.pm.PackageManager; +import android.graphics.RenderEffect; +import android.graphics.Shader; import android.os.Looper; import static android.view.InputDevice.KEYBOARD_TYPE_ALPHABETIC; @@ -30,7 +32,11 @@ import com.vectras.vm.databinding.GameControlsBinding; import com.vectras.vm.main.core.MainStartVM; import com.vectras.vm.manager.QmpSender; import com.vectras.vm.manager.VmAudioManager; +import com.vectras.vm.manager.VmControllerDialog; import com.vectras.vm.manager.VmFileManager; +import com.vectras.vm.manager.VmListManager; +import com.vectras.vm.manager.VmPicker; +import com.vectras.vm.utils.DialogUtils; import com.vectras.vm.utils.StreamAudio; import com.vectras.vm.utils.UIUtils; @@ -94,6 +100,8 @@ import com.vectras.vm.x11.utils.X11ToolbarViewPager; import com.vectras.vm.R; import com.vectras.vterm.Terminal; +import java.util.ArrayList; +import java.util.HashMap; import java.util.Map; import java.util.Objects; @@ -410,41 +418,41 @@ public class X11Activity extends AppCompatActivity implements View.OnApplyWindow } }); - bindingControls.btnPrograms.setOnClickListener(v -> { - Dialog dialog = new Dialog(this); - dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); - dialog.setContentView(R.layout.dialog_programs); - Objects.requireNonNull(dialog.getWindow()).setBackgroundDrawableResource(android.R.color.transparent); - - WindowManager.LayoutParams layoutParams = dialog.getWindow().getAttributes(); - layoutParams.alpha = 1f; - dialog.getWindow().setAttributes(layoutParams); - - ImageButton termBtn = dialog.findViewById(R.id.btnTerminal); - ImageButton vkCubeBtn = dialog.findViewById(R.id.btnVkCube); - ImageButton glxGearsBtn = dialog.findViewById(R.id.btnGlxGears); - - termBtn.setOnClickListener(v1 -> { - new Terminal(this).executeShellCommand2("xfce4-terminal", false, this); - dialog.dismiss(); - }); - - glxGearsBtn.setOnClickListener(v1 -> { - new Terminal(this).executeShellCommand2("glxgears", false, this); - dialog.dismiss(); - }); - - vkCubeBtn.setOnClickListener(v1 -> { - new Terminal(this).executeShellCommand2("vkcube", false, this); - dialog.dismiss(); - }); - - try { - dialog.show(); - } catch (WindowManager.BadTokenException e) { - Log.e(TAG, "Failed to show dialog", e); - } - }); +// bindingControls.btnPrograms.setOnClickListener(v -> { +// Dialog dialog = new Dialog(this); +// dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); +// dialog.setContentView(R.layout.dialog_programs); +// Objects.requireNonNull(dialog.getWindow()).setBackgroundDrawableResource(android.R.color.transparent); +// +// WindowManager.LayoutParams layoutParams = dialog.getWindow().getAttributes(); +// layoutParams.alpha = 1f; +// dialog.getWindow().setAttributes(layoutParams); +// +// ImageButton termBtn = dialog.findViewById(R.id.btnTerminal); +// ImageButton vkCubeBtn = dialog.findViewById(R.id.btnVkCube); +// ImageButton glxGearsBtn = dialog.findViewById(R.id.btnGlxGears); +// +// termBtn.setOnClickListener(v1 -> { +// new Terminal(this).executeShellCommand2("xfce4-terminal", false, this); +// dialog.dismiss(); +// }); +// +// glxGearsBtn.setOnClickListener(v1 -> { +// new Terminal(this).executeShellCommand2("glxgears", false, this); +// dialog.dismiss(); +// }); +// +// vkCubeBtn.setOnClickListener(v1 -> { +// new Terminal(this).executeShellCommand2("vkcube", false, this); +// dialog.dismiss(); +// }); +// +// try { +// dialog.show(); +// } catch (WindowManager.BadTokenException e) { +// Log.e(TAG, "Failed to show dialog", e); +// } +// }); bindingGameControls.upGameBtn.setOnTouchListener((v, event) -> { if (event.getAction() == MotionEvent.ACTION_DOWN) { @@ -517,12 +525,21 @@ public class X11Activity extends AppCompatActivity implements View.OnApplyWindow bindingGameControls.xBtn.setOnClickListener(v -> keyDownUp(KEYCODE_X)); bindingGameControls.ctrlGameBtn.setOnClickListener(v -> keyDownUp(KEYCODE_CTRL_LEFT)); bindingGameControls.spaceBtn.setOnClickListener(v -> keyDownUp(KEYCODE_SPACE)); + bindingControls.btnVterm.setOnClickListener(v -> { FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); // Create and show the dialog. LoggerDialogFragment newFragment = new LoggerDialogFragment(); newFragment.show(ft, "Logger"); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + getSupportFragmentManager().executePendingTransactions(); + if (newFragment.getDialog() == null) return; + blurLayout(); + newFragment.getDialog().setOnDismissListener(d -> unBlurLayout()); + } }); + bindingControls.shutdownBtn.setOnClickListener(v -> finish()); bindingControls.kbdBtn.setOnClickListener(v -> new Handler(Looper.getMainLooper()).postDelayed(() -> toggleKeyboardVisibility(X11Activity.this), 200)); @@ -533,6 +550,8 @@ public class X11Activity extends AppCompatActivity implements View.OnApplyWindow newFragment.binding = binding.controlsfragment; newFragment.show(ft, "Controllers"); }); + + bindingControls.btnSettings .setOnClickListener( (l) -> @@ -542,6 +561,9 @@ public class X11Activity extends AppCompatActivity implements View.OnApplyWindow setAction(Intent.ACTION_MAIN); } })); + + bindingControls.btnVmManager.setOnClickListener(v -> vmController()); + bindingDesktopControls.upBtn.setOnTouchListener((v, event) -> { if (event.getAction() == MotionEvent.ACTION_DOWN) { sendKey(KEYCODE_DPAD_UP, false); @@ -1486,4 +1508,72 @@ public class X11Activity extends AppCompatActivity implements View.OnApplyWindow Config.setDefault(); finish(); } + + private void vmController() { + ArrayList> list = VmListManager.getAllVmForPickRunningNoVncSocketOnly(this); + + if (list.isEmpty()) { + DialogUtils.oopsDialog(this, getString(R.string.no_vms_are_available)); + } else if (list.size() == 1) { + Config.vmID = Objects.requireNonNull(list.get(0).get("value")).toString(); + + VmControllerDialog vmControllerDialog = new VmControllerDialog(); + vmControllerDialog.streamAudio = streamAudio; + vmControllerDialog.show(getSupportFragmentManager(), "VmControllerDialog"); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + getSupportFragmentManager().executePendingTransactions(); + blurLayout(); + vmControllerDialog.setOnDismissCallback(this::unBlurLayout); + } + } else { + VmPicker vmPicker = new VmPicker(this); + vmPicker.currentVmId = ""; + vmPicker.listVm = list; + vmPicker.pick((position, name, value) -> { + if (position < 0) { + DialogUtils.oopsDialog(this, getString(R.string.no_vms_are_available)); + return; + } + + Config.vmID = value; + + VmControllerDialog vmControllerDialog = new VmControllerDialog(); + vmControllerDialog.streamAudio = streamAudio; + vmControllerDialog.show(getSupportFragmentManager(), "VmControllerDialog"); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + getSupportFragmentManager().executePendingTransactions(); + blurLayout(); + vmControllerDialog.setOnDismissCallback(this::unBlurLayout); + } + }); + } + } + + boolean isBlurring; + + private void blurLayout() { + if (isBlurring || !MainSettingsManager.getBlurEffect(this)) return; + isBlurring = true; + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + RenderEffect blurEffect = RenderEffect.createBlurEffect( + 25f, 25f, + Shader.TileMode.CLAMP + ); + binding.main.setRenderEffect(blurEffect); + binding.lorieView.setRenderEffect(blurEffect); + } + } + + private void unBlurLayout() { + if (!isBlurring) return; + isBlurring = false; + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + binding.main.setRenderEffect(null); + binding.lorieView.setRenderEffect(null); + } + } } diff --git a/app/src/main/res/drawable/gamepad_24px.xml b/app/src/main/res/drawable/gamepad_24px.xml new file mode 100644 index 0000000..e23d830 --- /dev/null +++ b/app/src/main/res/drawable/gamepad_24px.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/stack_24px.xml b/app/src/main/res/drawable/stack_24px.xml new file mode 100644 index 0000000..2d004f8 --- /dev/null +++ b/app/src/main/res/drawable/stack_24px.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/layout/activity_rom_info.xml b/app/src/main/res/layout/activity_rom_info.xml index aa720ba..f31b5ca 100644 --- a/app/src/main/res/layout/activity_rom_info.xml +++ b/app/src/main/res/layout/activity_rom_info.xml @@ -6,7 +6,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" - tools:context="com.vectras.vm.RomInfo"> + tools:context="com.vectras.vm.store.RomInfo"> + + diff --git a/app/src/main/res/layout/activity_x11.xml b/app/src/main/res/layout/activity_x11.xml index b24ea06..7a25954 100644 --- a/app/src/main/res/layout/activity_x11.xml +++ b/app/src/main/res/layout/activity_x11.xml @@ -3,6 +3,7 @@ xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" + android:id="@+id/main" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/black"> diff --git a/app/src/main/res/layout/controls_fragment.xml b/app/src/main/res/layout/controls_fragment.xml index ca773fa..69c2d56 100644 --- a/app/src/main/res/layout/controls_fragment.xml +++ b/app/src/main/res/layout/controls_fragment.xml @@ -84,7 +84,17 @@ android:layout_marginRight="8dp" android:background="@drawable/controls_button" android:backgroundTint="?attr/colorPrimary" - android:src="@drawable/round_settings_24" + android:src="@drawable/settings_24px" + app:tint="?attr/colorPrimary" /> + + + app:tint="?attr/colorPrimary" + android:visibility="gone" + tools:visibility="visible"/> Ở cài đặt hệ thống. Một số gói đang bị thiếu Đây là những gói đang bị thiếu và bạn nên cài đặt chúng: + Có chứa quảng cáo Vterm diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 338eb8e..2e0bd08 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -604,6 +604,7 @@ Missing packages These are the missing packages that you should install: You need to restart the app when switching between built-in and external. + Contains ads diff --git a/web/data/UpdateConfig.json b/web/data/UpdateConfig.json index 626adef..a86a2ab 100644 --- a/web/data/UpdateConfig.json +++ b/web/data/UpdateConfig.json @@ -5,11 +5,11 @@ "url": "https://github.com/xoureldeen/Vectras-VM-Android/releases", "Message": "

4.1.0

\nBugs fixed.", "cancellable": true, - "versionCodeBeta":"128", - "versionNameBeta":"4.2.4", - "versionNameBetas":"4.0.1,4.0.2,4.0.3,4.0.4,4.0.5,4.0.6,4.0.7,4.0.8,4.0.9,4.1.1,4.1.2,4.1.3,4.1.4,4.1.5,4.1.6,4.1.7,4.1.8,4.1.9,4.2.0,4.2.1,4.2.2,4.2.3,4.2.4", + "versionCodeBeta":"129", + "versionNameBeta":"4.2.5", + "versionNameBetas":"4.0.1,4.0.2,4.0.3,4.0.4,4.0.5,4.0.6,4.0.7,4.0.8,4.0.9,4.1.1,4.1.2,4.1.3,4.1.4,4.1.5,4.1.6,4.1.7,4.1.8,4.1.9,4.2.0,4.2.1,4.2.2,4.2.3,4.2.4,4.2.5", "sizeBeta": "45 MB", "urlBeta": "https://github.com/AnBui2004/Vectras-VM-Emu-Android/releases", - "MessageBeta": "

4.2.4

Bugs fixed.", + "MessageBeta": "

4.2.5

Bugs fixed.", "cancellableBeta": true } diff --git a/web/data/vroms-store.json b/web/data/vroms-store.json index 63053f3..a7945dd 100644 --- a/web/data/vroms-store.json +++ b/web/data/vroms-store.json @@ -12,6 +12,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nAndroid 1.6 Donut is a version of Android that was released on 15 September 2009, based on Linux kernel 2.6.29. Its predecessor was Android 1.5 Cupcake and its successor was Android 2.0 Eclair. Included in the update were numerous new features.", "file_size": "1 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "android16x86r2cvbi", @@ -30,6 +31,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nAndroid Honeycomb is the codename for the third major version of Android, designed for devices with larger screen sizes, particularly tablets, however has been unofficially ported to the Nexus One. It is the eighth version of Android and is no longer supported. Honeycomb debuted with the Motorola Xoom in February 2011. Besides the addition of new features, Honeycomb introduced a new so-called \"holographic\" user interface theme and an interaction model that built on the main features of Android, such as multitasking, notifications and widgets.", "file_size": "180 MB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "android32cvbi", @@ -265,6 +267,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nDebian (/ˈdɛbiən/) is a free and open source Linux distribution, developed by the Debian Project, which was established by Ian Murdock in August 1993. Debian is one of the oldest operating systems based on the Linux kernel, and is the basis of many other Linux distributions.", "file_size": "7 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "debian12cvbi", @@ -301,6 +304,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nDebian (/ˈdɛbiən/) is a free and open source Linux distribution, developed by the Debian Project, which was established by Ian Murdock in August 1993. Debian is one of the oldest operating systems based on the Linux kernel, and is the basis of many other Linux distributions.", "file_size": "5 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "debian40r9cvbi", @@ -499,6 +503,7 @@ "final_rom_file_name": "", "desc": "Linux Lite is a Linux distribution based on Ubuntu LTS created by a team of programmers led by Jerry Bezencon. Created in 2012, it uses a customized implementation of Xfce as its desktop environment, and runs on the main Linux kernel.", "file_size": "5 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "linuxlite106cvbi", @@ -553,6 +558,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nLubuntu (/lʊˈbʊntuː/ luu-BUUN-too) is a lightweight Linux distribution based on Ubuntu that uses the LXQt desktop environment in place of GNOME. Lubuntu was originally touted as being \"lighter, less resource hungry and more energy-efficient\", but now aims to be \"a functional yet modular distribution focused on getting out of the way and letting users use their computer\".", "file_size": "6 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "lubuntu1604cvbi", @@ -589,6 +595,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nMac OS 9.x, based on Mac OS 8 was the final product based on the classic MacOS architecture. Like previous version, it lacks true protected memory or pre-emptive multitasking. MacOS 9 was abandoned in favor of of the Unix-ish NextStep/Openstep based Mac OS X.", "file_size": "300 MB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "macos91cvbi", @@ -607,6 +614,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nMac OS X Jaguar, or Mac OS X 10.2, is the third major release of Mac OS X, Apple's desktop and server operating system. It superseded Mac OS X Puma and preceded Mac OS X Panther. The operating system was initially available on 23 August 2002 either for single-computer installations, and in a \"family pack\", which allowed five installations on separate computers in one household. Most builds of Jaguar were compiled for PPC (for public use) and x86 (for testing purposes for the upcoming partnership with Intel, which would continue until the announcement in 2005). It is the last version of Mac OS to ship with Internet Explorer as the default browser, as it was replaced with Safari as of Mac OS X Panther, though it was still available as an optional component until Mac OS X Tiger.", "file_size": "1.3 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "macosxjaguarcvbi", @@ -625,6 +633,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nMac OS X Jaguar, or Mac OS X 10.2, is the third major release of Mac OS X, Apple's desktop and server operating system. It superseded Mac OS X Puma and preceded Mac OS X Panther. The operating system was initially available on 23 August 2002 either for single-computer installations, and in a \"family pack\", which allowed five installations on separate computers in one household. Most builds of Jaguar were compiled for PPC (for public use) and x86 (for testing purposes for the upcoming partnership with Intel, which would continue until the announcement in 2005). It is the last version of Mac OS to ship with Internet Explorer as the default browser, as it was replaced with Safari as of Mac OS X Panther, though it was still available as an optional component until Mac OS X Tiger.", "file_size": "6 MB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "macosxleopardcvbi", @@ -643,6 +652,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nmacOS Mojave (/moʊˈhɑːvi, mə-/ mo-HAH-vee; version 10.14) is the fifteenth major release of macOS, Apple's desktop operating system for Macintosh computers. macOS Mojave was announced at Apple's Worldwide Developers Conference on June 4, 2018, and was released to the public on September 24. The operating system's name refers to the Mojave Desert, continuing the use of California-themed names that began with OS X Mavericks. It succeeded macOS High Sierra and was followed by macOS Catalina. macOS Mojave is the last version of macOS that features the iTunes and Dashboard apps.", "file_size": "20 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "macosmojavecvbi", @@ -697,6 +707,7 @@ "final_rom_file_name": "MSDOS.img", "desc": "MS-DOS (/ˌɛmˌɛsˈdɒs/ em-es-DOSS; acronym for Microsoft Disk Operating System, also known as Microsoft DOS) is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few operating systems attempting to be compatible with MS-DOS, are sometimes referred to as \"DOS\" (which is also the generic acronym for disk operating system). MS-DOS was the main operating system for IBM PC compatibles during the 1980s, from which point it was gradually superseded by operating systems offering a graphical user interface (GUI), in various generations of the graphical Microsoft Windows operating system.", "file_size": "128 MB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "msdoscvbi", @@ -769,6 +780,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nPuppy Linux is a unique family of Linux distributions meant for the home-user computers. It was originally created by Barry Kauler in 2003.", "file_size": "4 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "puppylinuxcvbi", @@ -787,6 +799,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nRaspberry Pi OS is a Unix-like operating system developed for the Raspberry Pi line of single-board computers. Based on Debian, a Linux distribution, it is maintained by Raspberry Pi Holdings and optimized for the Pi's hardware, with low memory requirements and support for both 32-bit and 64-bit architectures. Originally released in July 2012 under the name Raspbian, it was introduced shortly after the launch of the first Raspberry Pi model.", "file_size": "13 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "raspbianbullseyecvbi", @@ -805,6 +818,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nRaspberry Pi OS is a Unix-like operating system developed for the Raspberry Pi line of single-board computers. Based on Debian, a Linux distribution, it is maintained by Raspberry Pi Holdings and optimized for the Pi's hardware, with low memory requirements and support for both 32-bit and 64-bit architectures. Originally released in July 2012 under the name Raspbian, it was introduced shortly after the launch of the first Raspberry Pi model.", "file_size": "11 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "raspbianbustercvbi", @@ -823,6 +837,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nRaspberry Pi OS is a Unix-like operating system developed for the Raspberry Pi line of single-board computers. Based on Debian, a Linux distribution, it is maintained by Raspberry Pi Holdings and optimized for the Pi's hardware, with low memory requirements and support for both 32-bit and 64-bit architectures. Originally released in July 2012 under the name Raspbian, it was introduced shortly after the launch of the first Raspberry Pi model.", "file_size": "6 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "raspbianjessiecvbi", @@ -841,6 +856,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nRaspberry Pi OS is a Unix-like operating system developed for the Raspberry Pi line of single-board computers. Based on Debian, a Linux distribution, it is maintained by Raspberry Pi Holdings and optimized for the Pi's hardware, with low memory requirements and support for both 32-bit and 64-bit architectures. Originally released in July 2012 under the name Raspbian, it was introduced shortly after the launch of the first Raspberry Pi model.", "file_size": "8 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "raspbianstretchcvbi", @@ -949,6 +965,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nUbuntu is a popular Linux distribution based on Debian. It is designed to be user-friendly and accessible, with a focus on ease of use and installation. Ubuntu features a modern desktop environment and comes with a wide range of pre-installed applications for productivity, multimedia, and internet browsing. The distribution is known for its strong community support and regular release cycle.", "file_size": "4 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "ubuntu10044ltscvbi", @@ -985,6 +1002,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nUbuntu is a popular Linux distribution based on Debian. It is designed to be user-friendly and accessible, with a focus on ease of use and installation. Ubuntu features a modern desktop environment and comes with a wide range of pre-installed applications for productivity, multimedia, and internet browsing. The distribution is known for its strong community support and regular release cycle.", "file_size": "5 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "ubuntu710cvbi", @@ -1003,6 +1021,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nUbuntu is a popular Linux distribution based on Debian. It is designed to be user-friendly and accessible, with a focus on ease of use and installation. Ubuntu features a modern desktop environment and comes with a wide range of pre-installed applications for productivity, multimedia, and internet browsing. The distribution is known for its strong community support and regular release cycle.", "file_size": "10 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "ubuntu910cvbi", @@ -1021,6 +1040,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nUbuntu MATE is a free and open-source Linux distribution and an official derivative of Ubuntu. Its main differentiation from Ubuntu is that it uses the MATE desktop environment as its default user interface (based on GNOME 2), instead of the GNOME desktop environment that is the default user interface for Ubuntu.", "file_size": "5 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "ubuntumate1404ltscvbi", @@ -1039,6 +1059,7 @@ "final_rom_file_name": "Windows1.0.ima", "desc": "Windows 1.0 is the first major release of Microsoft Windows, a family of graphical operating systems for personal computers developed by Microsoft. It was first released to manufacturing in the United States on November 20, 1985, while the European version was released as Windows 1.02 in May 1986.", "file_size": "2 MB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows10ima", @@ -1093,6 +1114,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 10 is a major release of Microsoft's Windows NT operating system. The successor to Windows 8.1, it was released to manufacturing on July 15, 2015, and later to retail on July 29, 2015. Windows 10 was made available for download via MSDN and TechNet, as a free upgrade for retail copies of Windows 8 and Windows 8.1 users via the Microsoft Store, and to Windows 7 users via Windows Update. Unlike previous Windows NT releases, Windows 10 receives new builds on an ongoing basis, which are available at no additional cost to users; devices in enterprise environments can alternatively use long-term support milestones that only receive critical updates, such as security patches.", "file_size": "9 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows101511cvbi", @@ -1111,6 +1133,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 10 is a major release of Microsoft's Windows NT operating system. The successor to Windows 8.1, it was released to manufacturing on July 15, 2015, and later to retail on July 29, 2015. Windows 10 was made available for download via MSDN and TechNet, as a free upgrade for retail copies of Windows 8 and Windows 8.1 users via the Microsoft Store, and to Windows 7 users via Windows Update. Unlike previous Windows NT releases, Windows 10 receives new builds on an ongoing basis, which are available at no additional cost to users; devices in enterprise environments can alternatively use long-term support milestones that only receive critical updates, such as security patches.", "file_size": "10 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows10build14978arm64cvbi", @@ -1129,6 +1152,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 10 is a major release of Microsoft's Windows NT operating system. The successor to Windows 8.1, it was released to manufacturing on July 15, 2015, and later to retail on July 29, 2015. Windows 10 was made available for download via MSDN and TechNet, as a free upgrade for retail copies of Windows 8 and Windows 8.1 users via the Microsoft Store, and to Windows 7 users via Windows Update. Unlike previous Windows NT releases, Windows 10 receives new builds on an ongoing basis, which are available at no additional cost to users; devices in enterprise environments can alternatively use long-term support milestones that only receive critical updates, such as security patches.", "file_size": "9 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows101709armcvbi", @@ -1147,6 +1171,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 10 is a major release of Microsoft's Windows NT operating system. The successor to Windows 8.1, it was released to manufacturing on July 15, 2015, and later to retail on July 29, 2015. Windows 10 was made available for download via MSDN and TechNet, as a free upgrade for retail copies of Windows 8 and Windows 8.1 users via the Microsoft Store, and to Windows 7 users via Windows Update. Unlike previous Windows NT releases, Windows 10 receives new builds on an ongoing basis, which are available at no additional cost to users; devices in enterprise environments can alternatively use long-term support milestones that only receive critical updates, such as security patches.", "file_size": "4 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows101809x64cvbi", @@ -1165,6 +1190,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 11 is the latest major release of Microsoft's Windows NT operating system, released on October 5, 2021 as the successor to Windows 10 (2015). It is provided free for any Windows 10 devices that meet the new Windows 11 system requirements. A server version, Windows Server 2025, was released in 2024. Windows 11 is the first major version of Windows NT without a companion mobile version following the discontinuations of Windows Phone with Windows 10 Mobile.", "file_size": "7 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows1022h2xlcvbi", @@ -1183,6 +1209,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 11 is the latest major release of Microsoft's Windows NT operating system, released on October 5, 2021 as the successor to Windows 10 (2015). It is provided free for any Windows 10 devices that meet the new Windows 11 system requirements. A server version, Windows Server 2025, was released in 2024. Windows 11 is the first major version of Windows NT without a companion mobile version following the discontinuations of Windows Phone with Windows 10 Mobile.", "file_size": "10 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows1022h2rcvbi", @@ -1201,6 +1228,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 10 is a major release of Microsoft's Windows NT operating system. The successor to Windows 8.1, it was released to manufacturing on July 15, 2015, and later to retail on July 29, 2015. Windows 10 was made available for download via MSDN and TechNet, as a free upgrade for retail copies of Windows 8 and Windows 8.1 users via the Microsoft Store, and to Windows 7 users via Windows Update. Unlike previous Windows NT releases, Windows 10 receives new builds on an ongoing basis, which are available at no additional cost to users; devices in enterprise environments can alternatively use long-term support milestones that only receive critical updates, such as security patches.", "file_size": "9 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows10buid10051cvbi", @@ -1219,6 +1247,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 10 is a major release of Microsoft's Windows NT operating system. The successor to Windows 8.1, it was released to manufacturing on July 15, 2015, and later to retail on July 29, 2015. Windows 10 was made available for download via MSDN and TechNet, as a free upgrade for retail copies of Windows 8 and Windows 8.1 users via the Microsoft Store, and to Windows 7 users via Windows Update. Unlike previous Windows NT releases, Windows 10 receives new builds on an ongoing basis, which are available at no additional cost to users; devices in enterprise environments can alternatively use long-term support milestones that only receive critical updates, such as security patches.", "file_size": "9 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows10buid10074cvbi", @@ -1237,6 +1266,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 10 is a major release of Microsoft's Windows NT operating system. The successor to Windows 8.1, it was released to manufacturing on July 15, 2015, and later to retail on July 29, 2015. Windows 10 was made available for download via MSDN and TechNet, as a free upgrade for retail copies of Windows 8 and Windows 8.1 users via the Microsoft Store, and to Windows 7 users via Windows Update. Unlike previous Windows NT releases, Windows 10 receives new builds on an ongoing basis, which are available at no additional cost to users; devices in enterprise environments can alternatively use long-term support milestones that only receive critical updates, such as security patches.", "file_size": "6 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows10buid9780cvbi", @@ -1255,6 +1285,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 10 is a major release of Microsoft's Windows NT operating system. The successor to Windows 8.1, it was released to manufacturing on July 15, 2015, and later to retail on July 29, 2015. Windows 10 was made available for download via MSDN and TechNet, as a free upgrade for retail copies of Windows 8 and Windows 8.1 users via the Microsoft Store, and to Windows 7 users via Windows Update. Unlike previous Windows NT releases, Windows 10 receives new builds on an ongoing basis, which are available at no additional cost to users; devices in enterprise environments can alternatively use long-term support milestones that only receive critical updates, such as security patches.", "file_size": "10 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows10buid9907cvbi", @@ -1273,6 +1304,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 10 is a major release of Microsoft's Windows NT operating system. The successor to Windows 8.1, it was released to manufacturing on July 15, 2015, and later to retail on July 29, 2015. Windows 10 was made available for download via MSDN and TechNet, as a free upgrade for retail copies of Windows 8 and Windows 8.1 users via the Microsoft Store, and to Windows 7 users via Windows Update. Unlike previous Windows NT releases, Windows 10 receives new builds on an ongoing basis, which are available at no additional cost to users; devices in enterprise environments can alternatively use long-term support milestones that only receive critical updates, such as security patches.", "file_size": "8 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows10build10108cvbi", @@ -1291,6 +1323,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 10 is a major release of Microsoft's Windows NT operating system. The successor to Windows 8.1, it was released to manufacturing on July 15, 2015, and later to retail on July 29, 2015. Windows 10 was made available for download via MSDN and TechNet, as a free upgrade for retail copies of Windows 8 and Windows 8.1 users via the Microsoft Store, and to Windows 7 users via Windows Update. Unlike previous Windows NT releases, Windows 10 receives new builds on an ongoing basis, which are available at no additional cost to users; devices in enterprise environments can alternatively use long-term support milestones that only receive critical updates, such as security patches.", "file_size": "8 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows10build10114cvbi", @@ -1309,6 +1342,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 10 is a major release of Microsoft's Windows NT operating system. The successor to Windows 8.1, it was released to manufacturing on July 15, 2015, and later to retail on July 29, 2015. Windows 10 was made available for download via MSDN and TechNet, as a free upgrade for retail copies of Windows 8 and Windows 8.1 users via the Microsoft Store, and to Windows 7 users via Windows Update. Unlike previous Windows NT releases, Windows 10 receives new builds on an ongoing basis, which are available at no additional cost to users; devices in enterprise environments can alternatively use long-term support milestones that only receive critical updates, such as security patches.", "file_size": "9 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows10build10120cvbi", @@ -1327,6 +1361,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 10 is a major release of Microsoft's Windows NT operating system. The successor to Windows 8.1, it was released to manufacturing on July 15, 2015, and later to retail on July 29, 2015. Windows 10 was made available for download via MSDN and TechNet, as a free upgrade for retail copies of Windows 8 and Windows 8.1 users via the Microsoft Store, and to Windows 7 users via Windows Update. Unlike previous Windows NT releases, Windows 10 receives new builds on an ongoing basis, which are available at no additional cost to users; devices in enterprise environments can alternatively use long-term support milestones that only receive critical updates, such as security patches.", "file_size": "9 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows10build10135cvbi", @@ -1345,6 +1380,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 10 is a major release of Microsoft's Windows NT operating system. The successor to Windows 8.1, it was released to manufacturing on July 15, 2015, and later to retail on July 29, 2015. Windows 10 was made available for download via MSDN and TechNet, as a free upgrade for retail copies of Windows 8 and Windows 8.1 users via the Microsoft Store, and to Windows 7 users via Windows Update. Unlike previous Windows NT releases, Windows 10 receives new builds on an ongoing basis, which are available at no additional cost to users; devices in enterprise environments can alternatively use long-term support milestones that only receive critical updates, such as security patches.", "file_size": "8 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows10build10240cvbi", @@ -1363,6 +1399,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 10 is a major release of Microsoft's Windows NT operating system. The successor to Windows 8.1, it was released to manufacturing on July 15, 2015, and later to retail on July 29, 2015. Windows 10 was made available for download via MSDN and TechNet, as a free upgrade for retail copies of Windows 8 and Windows 8.1 users via the Microsoft Store, and to Windows 7 users via Windows Update. Unlike previous Windows NT releases, Windows 10 receives new builds on an ongoing basis, which are available at no additional cost to users; devices in enterprise environments can alternatively use long-term support milestones that only receive critical updates, such as security patches.", "file_size": "9 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows10ltsb2015cvbi", @@ -1381,6 +1418,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 10 is a major release of Microsoft's Windows NT operating system. The successor to Windows 8.1, it was released to manufacturing on July 15, 2015, and later to retail on July 29, 2015. Windows 10 was made available for download via MSDN and TechNet, as a free upgrade for retail copies of Windows 8 and Windows 8.1 users via the Microsoft Store, and to Windows 7 users via Windows Update. Unlike previous Windows NT releases, Windows 10 receives new builds on an ongoing basis, which are available at no additional cost to users; devices in enterprise environments can alternatively use long-term support milestones that only receive critical updates, such as security patches.", "file_size": "9 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows10ltsc2019cvbi", @@ -1399,6 +1437,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 10 is a major release of Microsoft's Windows NT operating system. The successor to Windows 8.1, it was released to manufacturing on July 15, 2015, and later to retail on July 29, 2015. Windows 10 was made available for download via MSDN and TechNet, as a free upgrade for retail copies of Windows 8 and Windows 8.1 users via the Microsoft Store, and to Windows 7 users via Windows Update. Unlike previous Windows NT releases, Windows 10 receives new builds on an ongoing basis, which are available at no additional cost to users; devices in enterprise environments can alternatively use long-term support milestones that only receive critical updates, such as security patches.", "file_size": "8 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows10ltsc2021cvbi", @@ -1417,6 +1456,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 10 Mobile is a phone-oriented version of the Windows 10 family of operating systems, which was released on 16 November 2015 coinciding with the launch of the Lumia 950 and the Lumia 950 XL.", "file_size": "3 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows10mobilecvbi", @@ -1435,6 +1475,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 11 is the latest major release of Microsoft's Windows NT operating system, released on October 5, 2021 as the successor to Windows 10 (2015). It is provided free for any Windows 10 devices that meet the new Windows 11 system requirements. A server version, Windows Server 2025, was released in 2024. Windows 11 is the first major version of Windows NT without a companion mobile version following the discontinuations of Windows Phone with Windows 10 Mobile.", "file_size": "5 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows1121h2cvbi", @@ -1453,6 +1494,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 11 is the latest major release of Microsoft's Windows NT operating system, released on October 5, 2021 as the successor to Windows 10 (2015). It is provided free for any Windows 10 devices that meet the new Windows 11 system requirements. A server version, Windows Server 2025, was released in 2024. Windows 11 is the first major version of Windows NT without a companion mobile version following the discontinuations of Windows Phone with Windows 10 Mobile.", "file_size": "10 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows1122h2tb1cvbi", @@ -1471,6 +1513,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 11 is the latest major release of Microsoft's Windows NT operating system, released on October 5, 2021 as the successor to Windows 10 (2015). It is provided free for any Windows 10 devices that meet the new Windows 11 system requirements. A server version, Windows Server 2025, was released in 2024. Windows 11 is the first major version of Windows NT without a companion mobile version following the discontinuations of Windows Phone with Windows 10 Mobile.", "file_size": "11 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows1122h2rcvbi", @@ -1489,6 +1532,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 11 is the latest major release of Microsoft's Windows NT operating system, released on October 5, 2021 as the successor to Windows 10 (2015). It is provided free for any Windows 10 devices that meet the new Windows 11 system requirements. A server version, Windows Server 2025, was released in 2024. Windows 11 is the first major version of Windows NT without a companion mobile version following the discontinuations of Windows Phone with Windows 10 Mobile.", "file_size": "8 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows1123h2t11ccvbi", @@ -1507,6 +1551,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 11 is the latest major release of Microsoft's Windows NT operating system, released on October 5, 2021 as the successor to Windows 10 (2015). It is provided free for any Windows 10 devices that meet the new Windows 11 system requirements. A server version, Windows Server 2025, was released in 2024. Windows 11 is the first major version of Windows NT without a companion mobile version following the discontinuations of Windows Phone with Windows 10 Mobile.", "file_size": "6 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows1124h2cvbi", @@ -1525,6 +1570,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 11 is the latest major release of Microsoft's Windows NT operating system, released on October 5, 2021 as the successor to Windows 10 (2015). It is provided free for any Windows 10 devices that meet the new Windows 11 system requirements. A server version, Windows Server 2025, was released in 2024. Windows 11 is the first major version of Windows NT without a companion mobile version following the discontinuations of Windows Phone with Windows 10 Mobile.", "file_size": "15 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows1125h2cvbi", @@ -1543,6 +1589,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 11 is the latest major release of Microsoft's Windows NT operating system, released on October 5, 2021 as the successor to Windows 10 (2015). It is provided free for any Windows 10 devices that meet the new Windows 11 system requirements. A server version, Windows Server 2025, was released in 2024. Windows 11 is the first major version of Windows NT without a companion mobile version following the discontinuations of Windows Phone with Windows 10 Mobile.", "file_size": "11 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows1126h1build280001cvbi", @@ -1579,6 +1626,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 11 is the latest major release of Microsoft's Windows NT operating system, released on October 5, 2021 as the successor to Windows 10 (2015). It is provided free for any Windows 10 devices that meet the new Windows 11 system requirements. A server version, Windows Server 2025, was released in 2024. Windows 11 is the first major version of Windows NT without a companion mobile version following the discontinuations of Windows Phone with Windows 10 Mobile.", "file_size": "9 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows11build21370cvbi", @@ -1597,6 +1645,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 11 is the latest major release of Microsoft's Windows NT operating system, released on October 5, 2021 as the successor to Windows 10 (2015). It is provided free for any Windows 10 devices that meet the new Windows 11 system requirements. A server version, Windows Server 2025, was released in 2024. Windows 11 is the first major version of Windows NT without a companion mobile version following the discontinuations of Windows Phone with Windows 10 Mobile.", "file_size": "10 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows11build219961cvbi", @@ -1615,6 +1664,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 11 is the latest major release of Microsoft's Windows NT operating system, released on October 5, 2021 as the successor to Windows 10 (2015). It is provided free for any Windows 10 devices that meet the new Windows 11 system requirements. A server version, Windows Server 2025, was released in 2024. Windows 11 is the first major version of Windows NT without a companion mobile version following the discontinuations of Windows Phone with Windows 10 Mobile.", "file_size": "11 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows11build2200065cvbi", @@ -1633,6 +1683,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 11 is the latest major release of Microsoft's Windows NT operating system, released on October 5, 2021 as the successor to Windows 10 (2015). It is provided free for any Windows 10 devices that meet the new Windows 11 system requirements. A server version, Windows Server 2025, was released in 2024. Windows 11 is the first major version of Windows NT without a companion mobile version following the discontinuations of Windows Phone with Windows 10 Mobile.", "file_size": "9 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows11220001ltsccvbi", @@ -1651,6 +1702,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 11 is the latest major release of Microsoft's Windows NT operating system, released on October 5, 2021 as the successor to Windows 10 (2015). It is provided free for any Windows 10 devices that meet the new Windows 11 system requirements. A server version, Windows Server 2025, was released in 2024. Windows 11 is the first major version of Windows NT without a companion mobile version following the discontinuations of Windows Phone with Windows 10 Mobile.", "file_size": "11 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows11ltscbuild2200051cvbi", @@ -1669,6 +1721,7 @@ "final_rom_file_name": "Windows2.0.vdi", "desc": "Windows 2.0 is a major release of Microsoft Windows, a family of graphical operating systems for personal computers developed by Microsoft. It was released to manufacturing on December 9, 1987, as a successor to Windows 1.0.", "file_size": "14 MB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows20vdi", @@ -1723,6 +1776,7 @@ "final_rom_file_name": "Windows 3.0.vdi", "desc": "Windows 3.0 is the third major release of Microsoft Windows, launched on May 22, 1990. It introduces a new graphical user interface (GUI) that represents applications as clickable icons, instead of the list of file names in its predecessors. Later updates expand capabilities, such as multimedia support for sound recording and playback, and support for CD-ROMs.", "file_size": "17 MB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows30vdi", @@ -1741,6 +1795,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 3.1 is a major release of Microsoft Windows, a family of graphical user shells and operating systems. It was released to manufacturing on April 6, 1992, as a successor to Windows 3.0. Like its predecessors, the Windows 3.1 series ran as a shell on top of MS-DOS; it was the last Windows 16-bit operating environment as all future versions of Windows had moved to 32-bit.", "file_size": "26 MB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows31cvbi", @@ -1759,6 +1814,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 7 is a major release of the Windows NT operating system developed by Microsoft. It was released to manufacturing on July 22, 2009, and became generally available on October 22, 2009. It is the successor to Windows Vista, released nearly three years earlier. Windows 7's server counterpart, Windows Server 2008 R2, was released at the same time. It was succeeded by Windows 8 in October 2012.", "file_size": "4 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows7cvbi", @@ -1777,6 +1833,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 7 is a major release of the Windows NT operating system developed by Microsoft. It was released to manufacturing on July 22, 2009, and became generally available on October 22, 2009. It is the successor to Windows Vista, released nearly three years earlier. Windows 7's server counterpart, Windows Server 2008 R2, was released at the same time. It was succeeded by Windows 8 in October 2012.", "file_size": "5 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows7build6801cvbi", @@ -1795,6 +1852,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 7 is a major release of the Windows NT operating system developed by Microsoft. It was released to manufacturing on July 22, 2009, and became generally available on October 22, 2009. It is the successor to Windows Vista, released nearly three years earlier. Windows 7's server counterpart, Windows Server 2008 R2, was released at the same time. It was succeeded by Windows 8 in October 2012.", "file_size": "5 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows7build7000cvbi", @@ -1813,6 +1871,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 7 is a major release of the Windows NT operating system developed by Microsoft. It was released to manufacturing on July 22, 2009, and became generally available on October 22, 2009. It is the successor to Windows Vista, released nearly three years earlier. Windows 7's server counterpart, Windows Server 2008 R2, was released at the same time. It was succeeded by Windows 8 in October 2012.", "file_size": "4 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows7build7600cvbi", @@ -1885,6 +1944,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 8 is a major release of the Windows NT operating system developed by Microsoft. It was released to manufacturing on August 1, 2012, made available for download via MSDN and TechNet on August 15, 2012, and generally released for retail on October 26, 2012.", "file_size": "9 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows8cvbi", @@ -1903,6 +1963,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 8 is a major release of the Windows NT operating system developed by Microsoft. It was released to manufacturing on August 1, 2012, made available for download via MSDN and TechNet on August 15, 2012, and generally released for retail on October 26, 2012.", "file_size": "8 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows8build7777cvbi", @@ -1921,6 +1982,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 8 is a major release of the Windows NT operating system developed by Microsoft. It was released to manufacturing on August 1, 2012, made available for download via MSDN and TechNet on August 15, 2012, and generally released for retail on October 26, 2012.", "file_size": "6 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows8build7850cvbi", @@ -1939,6 +2001,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 8 is a major release of the Windows NT operating system developed by Microsoft. It was released to manufacturing on August 1, 2012, made available for download via MSDN and TechNet on August 15, 2012, and generally released for retail on October 26, 2012.", "file_size": "7 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows8build7898cvbi", @@ -1957,6 +2020,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 8 is a major release of the Windows NT operating system developed by Microsoft. It was released to manufacturing on August 1, 2012, made available for download via MSDN and TechNet on August 15, 2012, and generally released for retail on October 26, 2012.", "file_size": "7 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows8build7955cvbi", @@ -1975,6 +2039,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 8 is a major release of the Windows NT operating system developed by Microsoft. It was released to manufacturing on August 1, 2012, made available for download via MSDN and TechNet on August 15, 2012, and generally released for retail on October 26, 2012.", "file_size": "8 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows8build8250cvbi", @@ -1993,6 +2058,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 8.1 build 9431 is the official Preview build of Windows 8.1, also known as the Milestone Preview. This build was released on 26 June 2013 with the occasion of the Build 2013 conference taking place. At the time of its release, it was possible to upgrade to this build from a Windows 8 copy by using the Windows Store or by downloading an ISO from TechNet or MSDN. The ISOs were made publicly available the day after, on 27 June 2013 in multiple languages, when the day 2 keynote started. An ARM version of the build was also available, but it was only obtainable through the Microsoft Store (repair content packages were also made available).", "file_size": "7 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows8build8432cvbi", @@ -2011,6 +2077,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 8 is a major release of the Windows NT operating system developed by Microsoft. It was released to manufacturing on August 1, 2012, made available for download via MSDN and TechNet on August 15, 2012, and generally released for retail on October 26, 2012.", "file_size": "9 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows8startercvbi", @@ -2029,6 +2096,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 8.1 build 9431 is the official Preview build of Windows 8.1, also known as the Milestone Preview. This build was released on 26 June 2013 with the occasion of the Build 2013 conference taking place. At the time of its release, it was possible to upgrade to this build from a Windows 8 copy by using the Windows Store or by downloading an ISO from TechNet or MSDN. The ISOs were made publicly available the day after, on 27 June 2013 in multiple languages, when the day 2 keynote started. An ARM version of the build was also available, but it was only obtainable through the Microsoft Store (repair content packages were also made available).", "file_size": "8 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows81build9431cvbi", @@ -2083,6 +2151,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows 98 is a consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of Microsoft Windows operating systems. It was the second operating system in the 9x line, as the successor to Windows 95. It was released to manufacturing on May 15, 1998, and generally to retail on June 25, 1998. Like its predecessor, it is a hybrid 16-bit and 32-bit monolithic product with the boot stage based on MS-DOS.", "file_size": "90 MB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windows98qcow2", @@ -2119,6 +2188,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows Embedded POSReady 7 is a Windows 7-based operating system developed by Microsoft, designed for use in point of sale machines such as cash registers, automated teller machines and self-checkouts. It succeeded the Windows XP-based Windows Embedded POSReady 2009, and was later replaced by Windows Embedded 8 Industry in 2013. It forms the base of Windows Thin PC.", "file_size": "6 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windowsembeddedposready7cvbi", @@ -2137,6 +2207,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows Fundamentals for Legacy PCs (also known as Windows FLP or shortly WFLP) is a lightweight version of Windows XP, exclusively released to manufacturing on 8 July 2006 to Microsoft Software Assurance customers only.", "file_size": "800 MB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windowsflpcvbi", @@ -2155,6 +2226,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows Longhorn build 4001 is the first currently available Milestone 4 build of Windows Longhorn. This build was first discovered from screenshots that were shown by Dr. Nicholas Rush at YouArePwned's \"Yet Another Longhorn Board\", and by user bashar2000 on the BetaArchive forums. It was eventually uploaded to the aforementioned website on 15 January 2013.", "file_size": "1.5 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windowslonghornbuild4001cvbi", @@ -2209,6 +2281,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows Server 2003 is a major release of Windows Server family, released to manufacturing on 24 April 2003. It is the server counterpart of Windows XP, although it was released nearly 18 months after its original release and is built on a slightly newer codebase (NT kernel version is 5.2). It was released in several editions, including Web Edition, Standard Edition, Datacenter Edition and Enterprise Edition. It replaces Windows 2000 Server and was eventually succeeded by Windows Server 2008.", "file_size": "2 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windowsserver2003cvbi", @@ -2228,6 +2301,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows Server 2003 is a major release of Windows Server family, released to manufacturing on 24 April 2003. It is the server counterpart of Windows XP, although it was released nearly 18 months after its original release and is built on a slightly newer codebase (NT kernel version is 5.2). It was released in several editions, including Web Edition, Standard Edition, Datacenter Edition and Enterprise Edition. It replaces Windows 2000 Server and was eventually succeeded by Windows Server 2008.", "file_size": "2 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windowsserver2003build3718cvbi", @@ -2246,6 +2320,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows Server 2012 build 7904 is a build of Windows Server 2012, which was originally uploaded on 30 September 2021 as a free (retail) compile, while its checked (debug) compile was later shared on 3 November 2024 along with its client counterpart and public Symbol MSIs.", "file_size": "7 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windowsserver2012build7788cvbi", @@ -2264,6 +2339,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows Server 2012 build 7868 is a build of Windows Server 2012, which was shared on 13 October 2024. It is the last available build to use its predecessor's branding in the watermark, and the first available server build with the kernel version bumped up to 6.2.", "file_size": "8 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windowsserver2012build7868cvbi", @@ -2282,6 +2358,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows Server 2012 build 7904 is a build of Windows Server 2012, which was originally uploaded on 30 September 2021 as a free (retail) compile, while its checked (debug) compile was later shared on 3 November 2024 along with its client counterpart and public Symbol MSIs.", "file_size": "8 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windowsserver2012build7904cvbi", @@ -2300,6 +2377,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows Server 2012 build 7968 is a build of Windows Server 2012, which was shared on 28 October 2024.", "file_size": "8 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windowsserver2012build7969cvbi", @@ -2318,6 +2396,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows Server 2016 build 14300 (rs1_release_svc) is the official Technical Preview 5 build of Windows Server 2016, which was released to evaluators on 27 April 2016. The client version of this build was briefly showcased during the 2016 Cloud & Datacenter Conference Germany event keynote; its Enterprise SKU variant was later shared online on 12 February 2017.", "file_size": "10 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windowsserver2016build14300cvbi", @@ -2336,6 +2415,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows Server 2025 is the fourteenth and current major version of the Windows NT operating system produced by Microsoft to be released under the Windows Server brand name. It was released on November 1, 2024.", "file_size": "5 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windowsserver2025cvbi", @@ -2408,6 +2488,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows Vista is a major release of the Windows NT operating system developed by Microsoft. It was the direct successor to Windows XP, released five years earlier, which was then the longest time span between successive releases of Microsoft Windows. It was released to manufacturing on November 8, 2006, and over the following two months, it was released in stages to business customers, original equipment manufacturers (OEMs), and retail channels. On January 30, 2007, it was released internationally and was made available for purchase and download from the Windows Marketplace; it is the first release of Windows to be made available through a digital distribution platform.", "file_size": "5 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windowsvistastartercvbi", @@ -2444,6 +2525,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows XP is a personal computer operating system produced by Microsoft as part of the Windows NT family of operating systems. It was released to manufacturing on August 24, 2001, and later to retail on October 25, 2001. It is the successor to both Windows 2000 and Windows Me. Windows XP was the first version of Windows to be based on the Windows NT kernel and was the first consumer-oriented version of Windows to be built on that architecture.", "file_size": "1 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windowsxpmediacenteredition2005cvbi", @@ -2462,6 +2544,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows XP is a major release of Microsoft's Windows NT operating system. It was released to manufacturing on August 24, 2001, and later to retail on October 25, 2001. It is a direct successor to Windows 2000 for high-end and business users and Windows Me for home users.", "file_size": "2 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windowsxpstartereditioncvbi", @@ -2480,6 +2563,7 @@ "final_rom_file_name": "", "desc": "This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows Server 2003 is a major release of Windows Server family, released to manufacturing on 24 April 2003. It is the server counterpart of Windows XP, although it was released nearly 18 months after its original release and is built on a slightly newer codebase (NT kernel version is 5.2). It was released in several editions, including Web Edition, Standard Edition, Datacenter Edition and Enterprise Edition. It replaces Windows 2000 Server and was eventually succeeded by Windows Server 2008.", "file_size": "1 GB", + "containsAds": true, "creator": "Nguyen Bao An Bui", "verified": true, "vecid": "windowsxpx64cvbi",