diff --git a/app/build.gradle b/app/build.gradle index 8aa4f59..6865c42 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -13,8 +13,8 @@ android { applicationId "com.vectras.vm" minSdk minApi targetSdk targetApi - versionCode 140 - versionName "4.3.6" + versionCode 141 + versionName "4.3.7" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" multiDexEnabled true diff --git a/app/src/main/java/com/vectras/vm/VMManager.java b/app/src/main/java/com/vectras/vm/VMManager.java index 61425b0..10a5681 100644 --- a/app/src/main/java/com/vectras/vm/VMManager.java +++ b/app/src/main/java/com/vectras/vm/VMManager.java @@ -865,7 +865,7 @@ public class VMManager { } public static boolean isHaveADisk(String env) { - return env.contains("-drive") || env.contains("-hda") || env.contains("-hdb") || env.contains("-cdrom") || env.contains("-fda") || env.contains("-fdb"); + return env.contains("-drive ") || env.contains("-hda ") || env.contains("-hdb ") || env.contains("-cdrom ") || env.contains("-fda ") || env.contains("-fdb "); } public static void setIconWithName(ImageView imageview, String name) { 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 b033a87..d8eee8d 100644 --- a/app/src/main/java/com/vectras/vm/creator/VMCreatorActivity.java +++ b/app/src/main/java/com/vectras/vm/creator/VMCreatorActivity.java @@ -548,14 +548,11 @@ public class VMCreatorActivity extends AppCompatActivity { _contentDialog = getResources().getString(R.string.qemu_params_is_empty); } - if (isAllDriveEmpty()) { - if (!current.itemExtra.isEmpty()) { - if (!_contentDialog.isEmpty()) { - _contentDialog += "\n\n"; - } - _contentDialog += getResources().getString(R.string.you_have_not_added_any_storage_devices); + if (isAllDriveEmpty() && !VMManager.isHaveADisk(current.itemExtra)) { + if (!_contentDialog.isEmpty()) { + _contentDialog += "\n\n"; } - + _contentDialog += getResources().getString(R.string.you_have_not_added_any_storage_devices); } if (_contentDialog.isEmpty()) { diff --git a/app/src/main/java/com/vectras/vm/creator/editor/AdvancedConfigsDialog.java b/app/src/main/java/com/vectras/vm/creator/editor/AdvancedConfigsDialog.java index 706e243..fec42cd 100644 --- a/app/src/main/java/com/vectras/vm/creator/editor/AdvancedConfigsDialog.java +++ b/app/src/main/java/com/vectras/vm/creator/editor/AdvancedConfigsDialog.java @@ -44,7 +44,7 @@ public class AdvancedConfigsDialog extends BottomSheetDialogFragment { // This can happen after the app is freed from memory and then reopened. if (configs == null) { isSave = false; - DialogUtils.oopsDialog(requireActivity(), getString(R.string.something_went_wrong)); + if (savedInstanceState == null) DialogUtils.oopsDialog(requireActivity(), getString(R.string.something_went_wrong)); dismiss(); return EditorUtils.getDummyDialog(requireActivity()); } diff --git a/app/src/main/java/com/vectras/vm/creator/editor/BoardConfigsDialog.java b/app/src/main/java/com/vectras/vm/creator/editor/BoardConfigsDialog.java index a44e894..00d7dce 100644 --- a/app/src/main/java/com/vectras/vm/creator/editor/BoardConfigsDialog.java +++ b/app/src/main/java/com/vectras/vm/creator/editor/BoardConfigsDialog.java @@ -44,7 +44,7 @@ public class BoardConfigsDialog extends BottomSheetDialogFragment { // This can happen after the app is freed from memory and then reopened. if (configs == null) { isSave = false; - DialogUtils.oopsDialog(requireActivity(), getString(R.string.something_went_wrong)); + if (savedInstanceState == null) DialogUtils.oopsDialog(requireActivity(), getString(R.string.something_went_wrong)); dismiss(); return EditorUtils.getDummyDialog(requireActivity()); } diff --git a/app/src/main/java/com/vectras/vm/creator/editor/FirmwareConfigsDialog.java b/app/src/main/java/com/vectras/vm/creator/editor/FirmwareConfigsDialog.java index 46b4a4d..95bbb4f 100644 --- a/app/src/main/java/com/vectras/vm/creator/editor/FirmwareConfigsDialog.java +++ b/app/src/main/java/com/vectras/vm/creator/editor/FirmwareConfigsDialog.java @@ -44,7 +44,7 @@ public class FirmwareConfigsDialog extends BottomSheetDialogFragment { // This can happen after the app is freed from memory and then reopened. if (configs == null) { isSave = false; - DialogUtils.oopsDialog(requireActivity(), getString(R.string.something_went_wrong)); + if (savedInstanceState == null) DialogUtils.oopsDialog(requireActivity(), getString(R.string.something_went_wrong)); dismiss(); return EditorUtils.getDummyDialog(requireActivity()); } diff --git a/app/src/main/java/com/vectras/vm/creator/editor/NetworkConfigsDialog.java b/app/src/main/java/com/vectras/vm/creator/editor/NetworkConfigsDialog.java index d612538..6df8915 100644 --- a/app/src/main/java/com/vectras/vm/creator/editor/NetworkConfigsDialog.java +++ b/app/src/main/java/com/vectras/vm/creator/editor/NetworkConfigsDialog.java @@ -41,7 +41,7 @@ public class NetworkConfigsDialog extends BottomSheetDialogFragment { // This can happen after the app is freed from memory and then reopened. if (configs == null) { isSave = false; - DialogUtils.oopsDialog(requireActivity(), getString(R.string.something_went_wrong)); + if (savedInstanceState == null) DialogUtils.oopsDialog(requireActivity(), getString(R.string.something_went_wrong)); dismiss(); return EditorUtils.getDummyDialog(requireActivity()); } diff --git a/app/src/main/java/com/vectras/vm/creator/editor/StorageConfigsDialog.java b/app/src/main/java/com/vectras/vm/creator/editor/StorageConfigsDialog.java index 9a27a5e..a0be3cc 100644 --- a/app/src/main/java/com/vectras/vm/creator/editor/StorageConfigsDialog.java +++ b/app/src/main/java/com/vectras/vm/creator/editor/StorageConfigsDialog.java @@ -64,7 +64,7 @@ public class StorageConfigsDialog extends BottomSheetDialogFragment { // This can happen after the app is freed from memory and then reopened. if (configs == null) { isSave = false; - DialogUtils.oopsDialog(requireActivity(), getString(R.string.something_went_wrong)); + if (savedInstanceState == null) DialogUtils.oopsDialog(requireActivity(), getString(R.string.something_went_wrong)); dismiss(); return EditorUtils.getDummyDialog(requireActivity()); } @@ -259,7 +259,7 @@ public class StorageConfigsDialog extends BottomSheetDialogFragment { setDrive(PENDING_SELECT_FILE_MODE, path); }); } catch (Exception e) { - if (!isAdded()) requireActivity().runOnUiThread(() -> DialogUtils.oneDialog(requireActivity(), + if (isAdded()) requireActivity().runOnUiThread(() -> DialogUtils.oneDialog(requireActivity(), getString(R.string.oops), getString(R.string.unable_to_copy_hard_drive_file_content), getString(R.string.ok), @@ -269,7 +269,7 @@ public class StorageConfigsDialog extends BottomSheetDialogFragment { null, null)); } finally { - if (!isAdded()) requireActivity().runOnUiThread(() -> utils.dissmissProgressDialog()); + if (isAdded()) requireActivity().runOnUiThread(() -> utils.dissmissProgressDialog()); } }); } else { diff --git a/app/src/main/java/com/vectras/vm/manager/VNCKeyManager.java b/app/src/main/java/com/vectras/vm/manager/VNCKeyManager.java index 2fa2b97..6902c70 100644 --- a/app/src/main/java/com/vectras/vm/manager/VNCKeyManager.java +++ b/app/src/main/java/com/vectras/vm/manager/VNCKeyManager.java @@ -51,7 +51,7 @@ public class VNCKeyManager { holdMarksCollector = 0; - if (vncCanvas == null || !vncCanvas.isAttachedToWindow()) return; + if (vncCanvas == null || !vncCanvas.isAttachedToWindow() || vncCanvas.rfb == null) return; vncCanvas.metaStateCollector = 0; diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 6700e3a..ef01d4b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -14,7 +14,7 @@ firebaseCrashlyticsGradle = "3.0.7" firebaseMessaging = "25.1.1" glide = "5.0.9" googleServices = "4.5.0" -gradle = "9.2.1" +gradle = "9.3.0" gson = "2.14.0" guava = "33.6.0-jre" junit = "4.13.2" diff --git a/web/data/UpdateConfig.json b/web/data/UpdateConfig.json index 6c5d688..068f068 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.3.0

\nBugs fixed.", "cancellable": true, - "versionCodeBeta":"140", - "versionNameBeta":"4.3.6", - "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.1,4.2.2,4.2.3,4.2.4,4.2.5,4.2.6,4.2.7,4.2.8,4.2.9,4.3.0,4.3.1,4.3.2,4.3.3,4.3.4,4.3.5,4.3.6", + "versionCodeBeta":"141", + "versionNameBeta":"4.3.7", + "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.1,4.2.2,4.2.3,4.2.4,4.2.5,4.2.6,4.2.7,4.2.8,4.2.9,4.3.0,4.3.1,4.3.2,4.3.3,4.3.4,4.3.5,4.3.6,4.3.7", "sizeBeta": "45 MB", "urlBeta": "https://github.com/AnBui2004/Vectras-VM-Emu-Android/releases", - "MessageBeta": "

4.3.6

Bugs fixed.", + "MessageBeta": "

4.3.7

Bugs fixed.", "cancellableBeta": true }