mirror of
https://github.com/xoureldeen/Vectras-VM-Android.git
synced 2026-05-22 03:19:23 +00:00
commit
b45f09c262
13 changed files with 96 additions and 71 deletions
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
||||
|
|
|
|||
|
|
@ -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" />
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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====================-->
|
||||
|
|
|
|||
|
|
@ -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!",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue