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!",