Merge pull request #147 from AnBui2004/master

Croissant
This commit is contained in:
An Bui 2024-12-03 13:21:26 +07:00 committed by GitHub
commit b45f09c262
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 96 additions and 71 deletions

View file

@ -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
}

View file

@ -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);
}

View file

@ -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() {

View file

@ -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

View file

@ -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);
}
}
}

View file

@ -16,12 +16,12 @@
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize" />
<ProgressBar
<com.google.android.material.progressindicator.LinearProgressIndicator
android:id="@+id/loadingPb"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:indeterminate="true"
app:showAnimationBehavior="inward"
android:visibility="gone" />
</com.google.android.material.appbar.AppBarLayout>

View file

@ -66,12 +66,6 @@
android:orientation="vertical"
android:gravity="center"
android:visibility="gone">
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="8dp"
android:indeterminate="false"
style="?android:progressBarStyle" />
<TextView
android:id="@+id/textviewsettingup"
android:layout_width="wrap_content"
@ -79,6 +73,12 @@
android:padding="8dp"
android:gravity="center"
android:text="@string/compressing_cvbi" />
<com.google.android.material.progressindicator.LinearProgressIndicator
android:layout_width="200dp"
android:layout_height="wrap_content"
android:padding="8dp"
android:indeterminate="true"
app:showAnimationBehavior="inward"/>
</LinearLayout>
<LinearLayout
android:id="@+id/lineardone"
@ -103,7 +103,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/unable_to_connect_to_server"
android:text=""
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="8dp" />

View file

@ -29,12 +29,12 @@
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center">
<ProgressBar
<com.google.android.material.progressindicator.CircularProgressIndicator
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="8dp"
android:indeterminate="false"
style="?android:progressBarStyle" />
android:indeterminate="true"
app:showAnimationBehavior="inward"/>
<TextView
android:id="@+id/textviewsettingup"
android:layout_width="wrap_content"

View file

@ -12,12 +12,12 @@
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center">
<ProgressBar
<com.google.android.material.progressindicator.CircularProgressIndicator
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="8dp"
android:indeterminate="false"
style="?android:progressBarStyle" />
android:indeterminate="true"
app:showAnimationBehavior="inward"/>
<TextView
android:id="@+id/textviewconnecting"
android:layout_width="wrap_content"
@ -123,13 +123,13 @@
android:gravity="center_horizontal|center_vertical"
android:orientation="vertical"
android:visibility="gone">
<ProgressBar
<com.google.android.material.progressindicator.CircularProgressIndicator
android:id="@+id/progressbar1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="8dp"
android:indeterminate="false"
style="?android:progressBarStyle" />
android:indeterminate="true"
app:showAnimationBehavior="inward"/>
<TextView
android:id="@+id/textviewsettingup"
android:layout_width="wrap_content"
@ -203,17 +203,13 @@
android:layout_height="match_parent"
android:layout_margin="18dp">
<ProgressBar
<com.google.android.material.progressindicator.LinearProgressIndicator
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_height="5dp"
android:scaleY="4"
android:indeterminate="true"
android:visibility="gone"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
app:showAnimationBehavior="inward"
android:visibility="gone" />
<LinearLayout
android:layout_width="match_parent"

View file

@ -22,12 +22,12 @@
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize" />
<ProgressBar
<com.google.android.material.progressindicator.CircularProgressIndicator
android:id="@+id/loadingPb"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:indeterminate="true"
app:showAnimationBehavior="inward"
android:visibility="gone" />
</com.google.android.material.appbar.AppBarLayout>

View file

@ -373,6 +373,8 @@
<string name="cannot_export_with_error">غير قادر على التصدير مع وجود خطأ:</string>
<string name="author">مؤلف</string>
<string name="saved_in">تم الحفظ في</string>
<string name="this_rom_is_missing_too_much_information">يفتقد هذا القرص المضغوط الكثير من المعلومات وقد لا يعمل، ويرجع هذا الخطأ إلى قيام المنشئ بإنشائه بشكل غير صحيح.</string>
<string name="this_rom_may_not_be_compatible">قد لا يكون هذا القرص المضغوط متوافقًا لأنه موجود في إصدار أقدم.</string>
<!--======================TERMUX STRINGS====================-->
<string name="application_name">Vterm</string>

View file

@ -3,7 +3,7 @@
<string name="app_name">Vectras VM</string>
<!--======================VECTRAS STRINGS====================-->
<string name="app_version" translatable="false">v2.9.4 (Biscuit)</string>
<string name="app_version" translatable="false">v2.9.4 (Croissant)</string>
<string name="qemu_version" translatable="false">Stable</string>
<string name="str_home">Home</string>
<string name="str_logger">Logger</string>
@ -375,6 +375,8 @@
<string name="cannot_export_with_error">Cannot export with error:</string>
<string name="author">Author</string>
<string name="saved_in">Saved in</string>
<string name="this_rom_is_missing_too_much_information">This ROM is missing too much information and it may not work, this error is caused by the person who created it incorrectly.</string>
<string name="this_rom_may_not_be_compatible">This ROM may not be compatible as it is for an older version.</string>
<!--======================TERMUX STRINGS====================-->

View file

@ -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": "<h2>v2.9.4</h2><ul><li>Now you can change locale in app settings.</li><li>Now you can access x11 settings.</li><li>New button to set full screen in x11 display.</li><li>Enhanced UI.</li><li>Chinese language by <a href=\"https://github.com/adk23333\" target=\"_blank\">@adk23333</a></li></ul><br><br>New updates are live!",