From cf9b30b64bd16d3bc8f3a62395548c8c71b27855 Mon Sep 17 00:00:00 2001
From: An Bui <91354810+AnBui2004@users.noreply.github.com>
Date: Tue, 3 Dec 2024 13:16:50 +0700
Subject: [PATCH] Croissant
---
app/build.gradle | 2 +-
.../com/vectras/vm/CustomRomActivity.java | 77 +++++++++++--------
.../com/vectras/vm/ExportRomActivity.java | 10 ++-
.../java/com/vectras/vm/MainActivity.java | 10 +--
.../main/java/com/vectras/vm/VectrasApp.java | 8 ++
.../main/res/layout/activity_custom_rom.xml | 4 +-
.../main/res/layout/activity_export_rom.xml | 14 ++--
.../main/res/layout/activity_roms_manager.xml | 6 +-
.../main/res/layout/activity_setup_qemu.xml | 24 +++---
app/src/main/res/layout/activity_store.xml | 4 +-
app/src/main/res/values-ar/strings.xml | 2 +
app/src/main/res/values/strings.xml | 4 +-
web/data/UpdateConfig.json | 2 +-
13 files changed, 96 insertions(+), 71 deletions(-)
diff --git a/app/build.gradle b/app/build.gradle
index 554db6e..ae63deb 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -12,7 +12,7 @@ android {
minSdk minApi
targetSdk targetApi
versionCode 20
- versionName "v2.9.4-biscuit"
+ versionName "v2.9.4-croissant"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
diff --git a/app/src/main/java/com/vectras/vm/CustomRomActivity.java b/app/src/main/java/com/vectras/vm/CustomRomActivity.java
index c6f0b2e..f316fc4 100644
--- a/app/src/main/java/com/vectras/vm/CustomRomActivity.java
+++ b/app/src/main/java/com/vectras/vm/CustomRomActivity.java
@@ -1059,43 +1059,60 @@ public class CustomRomActivity extends AppCompatActivity {
VectrasApp.oneDialog(getResources().getString(R.string.oops), getResources().getString(R.string.error_CR_CVBI3), true, false, CustomRomActivity.this);
}
}
- return;
- }
+ } else {
+ JSONObject jObj = new JSONObject(FileUtils.readFromFile(MainActivity.activity, new File(AppConfig.vmFolder + vmID + "/rom-data.json")));
- JSONObject jObj = new JSONObject(FileUtils.readFromFile(MainActivity.activity, new File(AppConfig.vmFolder
- + vmID + "/rom-data.json")));
-
- title.setText(jObj.getString("title"));
- icon.setText(AppConfig.vmFolder
- + vmID + "/" + jObj.getString("icon"));
- if (!jObj.getString("drive").isEmpty()) {
- drive.setText(AppConfig.vmFolder
- + vmID + "/" + jObj.getString("drive"));
- }
- qemu.setText(jObj.getString("qemu").replaceAll("OhnoIjustrealizeditsmidnightandIstillhavetodothis", AppConfig.vmFolder + vmID + "/"));
- ImageView ivIcon = findViewById(R.id.ivIcon);
- Bitmap bmImg = BitmapFactory.decodeFile(AppConfig.vmFolder
- + vmID + "/" + jObj.getString("icon"));
- ivIcon.setImageBitmap(bmImg);
- try {
- if (!jObj.getString("cdrom").isEmpty()) {
- drive.setText(AppConfig.vmFolder
- + vmID + "/" + jObj.getString("cdrom"));
+ if (jObj.has("title") && !jObj.isNull("title")) {
+ title.setText(jObj.getString("title"));
}
- } catch (Exception _e) {
- }
+ if (jObj.has("drive") && !jObj.isNull("drive")) {
+ if (!jObj.getString("drive").isEmpty()) {
+ drive.setText(AppConfig.vmFolder + vmID + "/" + jObj.getString("drive"));
+ }
- try {
- if (!jObj.getString("imgArch").isEmpty()) {
- VMManager.setArch(jObj.getString("imgArch"), getApplicationContext());
}
- } catch (Exception _e) {
+ if (jObj.has("qemu") && !jObj.isNull("qemu")) {
+ if (!jObj.getString("qemu").isEmpty()) {
+ qemu.setText(jObj.getString("qemu").replaceAll("OhnoIjustrealizeditsmidnightandIstillhavetodothis", AppConfig.vmFolder + vmID + "/"));
+ }
+ }
+
+ if (jObj.has("icon") && !jObj.isNull("icon")) {
+ icon.setText(AppConfig.vmFolder + vmID + "/" + jObj.getString("icon"));
+ ImageView ivIcon = findViewById(R.id.ivIcon);
+ Bitmap bmImg = BitmapFactory.decodeFile(AppConfig.vmFolder
+ + vmID + "/" + jObj.getString("icon"));
+ ivIcon.setImageBitmap(bmImg);
+ }
+
+ if (jObj.has("cdrom") && !jObj.isNull("cdrom")) {
+ if (!jObj.getString("cdrom").isEmpty()) {
+ cdrom.setText(AppConfig.vmFolder + vmID + "/" + jObj.getString("cdrom"));
+ }
+ }
+
+ if (jObj.has("arch") && !jObj.isNull("arch")) {
+ VMManager.setArch(jObj.getString("arch"), getApplicationContext());
+ } else {
+ VMManager.setArch("x86_64", getApplicationContext());
+ }
+
+ VectrasApp.moveAFile(AppConfig.vmFolder + _filename.replace(".cvbi", ""), AppConfig.vmFolder + vmID);
+
+ if (!jObj.has("drive") && !jObj.has("cdrom") && !jObj.has("qemu")) {
+ VectrasApp.oneDialog(getResources().getString(R.string.problem_has_been_detected), getResources().getString(R.string.this_rom_is_missing_too_much_information), true, false, CustomRomActivity.this);
+ }
+
+ if (!jObj.has("versioncode")) {
+ VectrasApp.oneDialog(getResources().getString(R.string.problem_has_been_detected), getResources().getString(R.string.this_rom_may_not_be_compatible), true, false, CustomRomActivity.this);
+ }
+
+ if (jObj.has("author") && !jObj.isNull("author") && jObj.has("desc") && !jObj.isNull("desc")) {
+ UIUtils.UIAlert(activity, getResources().getString(R.string.from) + ": " + jObj.getString("author"), getResources().getString(R.string.description) + ":\n\n" + Html.fromHtml(jObj.getString("desc")));
+ }
}
-
- VectrasApp.moveAFile(AppConfig.vmFolder + _filename.replace(".cvbi", ""), AppConfig.vmFolder + vmID);
- UIUtils.UIAlert(activity, getResources().getString(R.string.from) + ": " + jObj.getString("author"), getResources().getString(R.string.description) + ":\n\n" + Html.fromHtml(jObj.getString("desc")));
} catch (JSONException e) {
throw new RuntimeException(e);
}
diff --git a/app/src/main/java/com/vectras/vm/ExportRomActivity.java b/app/src/main/java/com/vectras/vm/ExportRomActivity.java
index 8dd7d60..f9983d0 100644
--- a/app/src/main/java/com/vectras/vm/ExportRomActivity.java
+++ b/app/src/main/java/com/vectras/vm/ExportRomActivity.java
@@ -1,8 +1,11 @@
package com.vectras.vm;
+import static com.vectras.vm.VectrasApp.getAppInfo;
+
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.SharedPreferences;
+import android.content.pm.PackageInfo;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
@@ -186,9 +189,9 @@ public class ExportRomActivity extends AppCompatActivity {
mapForGetData.put("qemu", "");
}
if (listmapForGetData.get(pendingPosition).containsKey("imgArch")) {
- mapForGetData.put("imgArch", Objects.requireNonNull(listmapForGetData.get(pendingPosition).get("imgArch")).toString());
+ mapForGetData.put("arch", Objects.requireNonNull(listmapForGetData.get(pendingPosition).get("imgArch")).toString());
} else {
- mapForGetData.put("imgArch", "");
+ mapForGetData.put("arch", "");
}
if (editauthor.getText().toString().isEmpty()) {
mapForGetData.put("author", "Unknow");
@@ -201,6 +204,9 @@ public class ExportRomActivity extends AppCompatActivity {
mapForGetData.put("desc", editdesc.getText().toString());
}
+ PackageInfo pinfo = getAppInfo(getApplicationContext());
+ mapForGetData.put("versioncode", pinfo.versionCode);
+
VectrasApp.writeToFile(new File(String.valueOf(getApplicationContext().getExternalFilesDir("data"))).getPath(), "rom-data.json", new Gson().toJson(mapForGetData));
Thread t = new Thread() {
diff --git a/app/src/main/java/com/vectras/vm/MainActivity.java b/app/src/main/java/com/vectras/vm/MainActivity.java
index eba124c..d1f3f35 100644
--- a/app/src/main/java/com/vectras/vm/MainActivity.java
+++ b/app/src/main/java/com/vectras/vm/MainActivity.java
@@ -4,6 +4,8 @@ import static android.content.Intent.ACTION_OPEN_DOCUMENT;
import static android.content.Intent.ACTION_VIEW;
import static android.os.Build.VERSION.SDK_INT;
import com.termux.app.TermuxService;
+
+import static com.vectras.vm.VectrasApp.getAppInfo;
import static com.vectras.vm.utils.UIUtils.UIAlert;
import android.app.ActivityManager;
@@ -755,14 +757,6 @@ public class MainActivity extends AppCompatActivity {
return (int) l;
}
- public static PackageInfo getAppInfo(Context context) {
- try {
- return context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
- } catch (PackageManager.NameNotFoundException e) {
- throw new RuntimeException(e);
- }
- }
-
public void updateApp(final boolean showDialog) {
new AppUpdater(this, new AppUpdater.OnUpdateListener() {
@Override
diff --git a/app/src/main/java/com/vectras/vm/VectrasApp.java b/app/src/main/java/com/vectras/vm/VectrasApp.java
index 150d2e5..1b6f2a3 100644
--- a/app/src/main/java/com/vectras/vm/VectrasApp.java
+++ b/app/src/main/java/com/vectras/vm/VectrasApp.java
@@ -742,4 +742,12 @@ public class VectrasApp extends Application {
AppConfig.romsdatajson = AppConfig.maindirpath + "roms-data.json";
AppConfig.vmFolder = AppConfig.maindirpath + "roms/";
}
+
+ public static PackageInfo getAppInfo(Context context) {
+ try {
+ return context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
+ } catch (PackageManager.NameNotFoundException e) {
+ throw new RuntimeException(e);
+ }
+ }
}
diff --git a/app/src/main/res/layout/activity_custom_rom.xml b/app/src/main/res/layout/activity_custom_rom.xml
index 3c72a0f..7bb3617 100644
--- a/app/src/main/res/layout/activity_custom_rom.xml
+++ b/app/src/main/res/layout/activity_custom_rom.xml
@@ -16,12 +16,12 @@
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize" />
-
diff --git a/app/src/main/res/layout/activity_export_rom.xml b/app/src/main/res/layout/activity_export_rom.xml
index b132fc7..b8cf20b 100644
--- a/app/src/main/res/layout/activity_export_rom.xml
+++ b/app/src/main/res/layout/activity_export_rom.xml
@@ -66,12 +66,6 @@
android:orientation="vertical"
android:gravity="center"
android:visibility="gone">
-
+
diff --git a/app/src/main/res/layout/activity_roms_manager.xml b/app/src/main/res/layout/activity_roms_manager.xml
index 7bd4400..46d5908 100644
--- a/app/src/main/res/layout/activity_roms_manager.xml
+++ b/app/src/main/res/layout/activity_roms_manager.xml
@@ -29,12 +29,12 @@
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center">
-
+ android:indeterminate="true"
+ app:showAnimationBehavior="inward"/>
-
+ android:indeterminate="true"
+ app:showAnimationBehavior="inward"/>
-
+ android:indeterminate="true"
+ app:showAnimationBehavior="inward"/>
-
+ app:showAnimationBehavior="inward"
+ android:visibility="gone" />
-
diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml
index 14d7775..272c8ee 100644
--- a/app/src/main/res/values-ar/strings.xml
+++ b/app/src/main/res/values-ar/strings.xml
@@ -373,6 +373,8 @@
غير قادر على التصدير مع وجود خطأ:
مؤلف
تم الحفظ في
+ يفتقد هذا القرص المضغوط الكثير من المعلومات وقد لا يعمل، ويرجع هذا الخطأ إلى قيام المنشئ بإنشائه بشكل غير صحيح.
+ قد لا يكون هذا القرص المضغوط متوافقًا لأنه موجود في إصدار أقدم.
Vterm
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 792db4d..2a714cb 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -3,7 +3,7 @@
Vectras VM
- v2.9.4 (Biscuit)
+ v2.9.4 (Croissant)
Stable
Home
Logger
@@ -375,6 +375,8 @@
Cannot export with error:
Author
Saved in
+ This ROM is missing too much information and it may not work, this error is caused by the person who created it incorrectly.
+ This ROM may not be compatible as it is for an older version.
diff --git a/web/data/UpdateConfig.json b/web/data/UpdateConfig.json
index c4a320c..7cbce8a 100644
--- a/web/data/UpdateConfig.json
+++ b/web/data/UpdateConfig.json
@@ -1,6 +1,6 @@
{
"versionCode":"20",
- "versionName":"v2.9.4,v2.9.4-jellybean,v2.9.4-lemonmeringuepie,v2.9.4-newyorkcheesecake,v2.9.4-oatmealcookie,v2.9.4-apricottart,v2.9.4-biscuit",
+ "versionName":"v2.9.4,v2.9.4-jellybean,v2.9.4-lemonmeringuepie,v2.9.4-newyorkcheesecake,v2.9.4-oatmealcookie,v2.9.4-apricottart,v2.9.4-biscuit,v2.9.4-croissant",
"size": "60 MB",
"url": "https://github.com/xoureldeen/Vectras-VM-Android/releases/v2.9.4",
"Message": "v2.9.4
- Now you can change locale in app settings.
- Now you can access x11 settings.
- New button to set full screen in x11 display.
- Enhanced UI.
- Chinese language by @adk23333
New updates are live!",