mirror of
https://github.com/xoureldeen/Vectras-VM-Android.git
synced 2026-05-06 02:07:05 +00:00
Biscuit
This commit is contained in:
parent
3378042837
commit
ef5e90f4c9
8 changed files with 195 additions and 129 deletions
|
|
@ -1015,7 +1015,7 @@ public class CustomRomActivity extends AppCompatActivity {
|
|||
ivIcon.setEnabled(true);
|
||||
try {
|
||||
if (!VectrasApp.isFileExists(AppConfig.vmFolder + vmID + "/rom-data.json")) {
|
||||
String _getDiskFile = VectrasApp.quickScanDiskFileInFolder(AppConfig.vmFolder + vmID);
|
||||
String _getDiskFile = VMManager.quickScanDiskFileInFolder(AppConfig.vmFolder + vmID);
|
||||
if (!_getDiskFile.isEmpty()) {
|
||||
//Error code: CR_CVBI2
|
||||
if (getIntent().hasExtra("addromnow") && !addromnowdone) {
|
||||
|
|
@ -1049,6 +1049,7 @@ public class CustomRomActivity extends AppCompatActivity {
|
|||
}
|
||||
drive.setText(_getDiskFile);
|
||||
}
|
||||
VMManager.setArch("X86_64", getApplicationContext());
|
||||
VectrasApp.oneDialog(getResources().getString(R.string.oops), getResources().getString(R.string.error_CR_CVBI2), true, false, CustomRomActivity.this);
|
||||
} else {
|
||||
//Error code: CR_CVBI3
|
||||
|
|
@ -1071,7 +1072,7 @@ public class CustomRomActivity extends AppCompatActivity {
|
|||
drive.setText(AppConfig.vmFolder
|
||||
+ vmID + "/" + jObj.getString("drive"));
|
||||
}
|
||||
qemu.setText(jObj.getString("qemu"));
|
||||
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"));
|
||||
|
|
@ -1085,6 +1086,14 @@ public class CustomRomActivity extends AppCompatActivity {
|
|||
|
||||
}
|
||||
|
||||
try {
|
||||
if (!jObj.getString("imgArch").isEmpty()) {
|
||||
VMManager.setArch(jObj.getString("imgArch"), getApplicationContext());
|
||||
}
|
||||
} catch (Exception _e) {
|
||||
|
||||
}
|
||||
|
||||
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) {
|
||||
|
|
@ -1117,7 +1126,7 @@ public class CustomRomActivity extends AppCompatActivity {
|
|||
|
||||
private void selectedDiskFile(Uri _content_describer) {
|
||||
File selectedFilePath = new File(getPath(_content_describer));
|
||||
if (VectrasApp.isADiskFile(selectedFilePath.getPath())) {
|
||||
if (VMManager.isADiskFile(selectedFilePath.getPath())) {
|
||||
startProcessingHardDriveFile(_content_describer);
|
||||
} else {
|
||||
alertDialog = new AlertDialog.Builder(activity, R.style.MainDialogTheme).create();
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import android.app.Activity;
|
|||
import android.app.ProgressDialog;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
|
|
@ -45,6 +46,10 @@ public class ExportRomActivity extends AppCompatActivity {
|
|||
public static HashMap<String, Object> mapForGetData = new HashMap<>();
|
||||
public static ArrayList<HashMap<String, Object>> listmapForGetData = new ArrayList<>();
|
||||
private SharedPreferences data;
|
||||
public String getRomPath = "";
|
||||
public String iconfile = "";
|
||||
public String diskfile = "";
|
||||
public String cdromfile = "";
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
|
|
@ -139,30 +144,46 @@ public class ExportRomActivity extends AppCompatActivity {
|
|||
mapForGetData.clear();
|
||||
|
||||
listmapForGetData = new Gson().fromJson(VectrasApp.readFile(AppConfig.romsdatajson), new TypeToken<ArrayList<HashMap<String, Object>>>(){}.getType());
|
||||
|
||||
getRomPath = AppConfig.vmFolder + Objects.requireNonNull(listmapForGetData.get(pendingPosition).get("vmID")).toString() + "/";
|
||||
|
||||
if (listmapForGetData.get(pendingPosition).containsKey("imgName")) {
|
||||
mapForGetData.put("imgName", Objects.requireNonNull(listmapForGetData.get(pendingPosition).get("imgName")).toString());
|
||||
mapForGetData.put("title", Objects.requireNonNull(listmapForGetData.get(pendingPosition).get("imgName")).toString());
|
||||
} else {
|
||||
mapForGetData.put("imgName", "");
|
||||
mapForGetData.put("title", "");
|
||||
}
|
||||
if (listmapForGetData.get(pendingPosition).containsKey("imgIcon")) {
|
||||
mapForGetData.put("imgIcon", Objects.requireNonNull(listmapForGetData.get(pendingPosition).get("imgIcon")).toString());
|
||||
iconfile = Objects.requireNonNull(listmapForGetData.get(pendingPosition).get("imgIcon")).toString();
|
||||
mapForGetData.put("icon", Objects.requireNonNull(listmapForGetData.get(pendingPosition).get("imgIcon")).toString().replaceAll(getRomPath, ""));
|
||||
} else {
|
||||
mapForGetData.put("imgIcon", "");
|
||||
mapForGetData.put("icon", "");
|
||||
}
|
||||
if (listmapForGetData.get(pendingPosition).containsKey("imgPath")) {
|
||||
mapForGetData.put("imgPath", Objects.requireNonNull(listmapForGetData.get(pendingPosition).get("imgPath")).toString());
|
||||
if (Objects.requireNonNull(listmapForGetData.get(pendingPosition).get("imgPath")).toString().isEmpty()) {
|
||||
diskfile = VMManager.quickScanDiskFileInFolder(getRomPath);
|
||||
} else {
|
||||
diskfile = Objects.requireNonNull(listmapForGetData.get(pendingPosition).get("imgPath")).toString();
|
||||
}
|
||||
mapForGetData.put("drive", Objects.requireNonNull(listmapForGetData.get(pendingPosition).get("imgPath")).toString().replaceAll(getRomPath, ""));
|
||||
} else {
|
||||
mapForGetData.put("imgPath", "");
|
||||
diskfile = VMManager.quickScanDiskFileInFolder(getRomPath);
|
||||
mapForGetData.put("drive", "");
|
||||
}
|
||||
if (listmapForGetData.get(pendingPosition).containsKey("imgCdrom")) {
|
||||
mapForGetData.put("imgCdrom", Objects.requireNonNull(listmapForGetData.get(pendingPosition).get("imgCdrom")).toString());
|
||||
if (Objects.requireNonNull(listmapForGetData.get(pendingPosition).get("imgCdrom")).toString().isEmpty()) {
|
||||
cdromfile = VMManager.quickScanISOFileInFolder(getRomPath);
|
||||
} else {
|
||||
cdromfile = Objects.requireNonNull(listmapForGetData.get(pendingPosition).get("imgCdrom")).toString();
|
||||
}
|
||||
mapForGetData.put("cdrom", Objects.requireNonNull(listmapForGetData.get(pendingPosition).get("imgCdrom")).toString().replaceAll(getRomPath, ""));
|
||||
} else {
|
||||
mapForGetData.put("imgCdrom", "");
|
||||
cdromfile = VMManager.quickScanISOFileInFolder(getRomPath);
|
||||
mapForGetData.put("cdrom", "");
|
||||
}
|
||||
if (listmapForGetData.get(pendingPosition).containsKey("imgExtra")) {
|
||||
mapForGetData.put("imgExtra", Objects.requireNonNull(listmapForGetData.get(pendingPosition).get("imgExtra")).toString());
|
||||
mapForGetData.put("qemu", Objects.requireNonNull(listmapForGetData.get(pendingPosition).get("imgExtra")).toString().replaceAll(getRomPath, "OhnoIjustrealizeditsmidnightandIstillhavetodothis"));
|
||||
} else {
|
||||
mapForGetData.put("imgExtra", "");
|
||||
mapForGetData.put("qemu", "");
|
||||
}
|
||||
if (listmapForGetData.get(pendingPosition).containsKey("imgArch")) {
|
||||
mapForGetData.put("imgArch", Objects.requireNonNull(listmapForGetData.get(pendingPosition).get("imgArch")).toString());
|
||||
|
|
@ -180,86 +201,80 @@ public class ExportRomActivity extends AppCompatActivity {
|
|||
mapForGetData.put("desc", editdesc.getText().toString());
|
||||
}
|
||||
|
||||
|
||||
VectrasApp.writeToFile(new File(String.valueOf(getApplicationContext().getExternalFilesDir("data"))).getPath(), "rom-data.json", new Gson().toJson(mapForGetData));
|
||||
|
||||
Thread t = new Thread() {
|
||||
@Override
|
||||
public void run() {
|
||||
runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
if ((!Objects.requireNonNull(mapForGetData.get("imgIcon")).toString().isEmpty()) && (!Objects.requireNonNull(mapForGetData.get("imgPath")).toString().isEmpty()) && (!Objects.requireNonNull(mapForGetData.get("imgCdrom")).toString().isEmpty())) {
|
||||
ZipEntrySource[] addedEntries = new ZipEntrySource[]{
|
||||
new FileSource("/" + new File(Objects.requireNonNull(mapForGetData.get("imgPath")).toString()).getName(), new File(Objects.requireNonNull(mapForGetData.get("imgPath")).toString())),
|
||||
new FileSource("/" + new File(Objects.requireNonNull(mapForGetData.get("imgIcon")).toString()).getName(), new File(Objects.requireNonNull(mapForGetData.get("imgIcon")).toString())),
|
||||
new FileSource("/" + new File(Objects.requireNonNull(mapForGetData.get("imgCdrom")).toString()).getName(), new File(Objects.requireNonNull(mapForGetData.get("imgCdrom")).toString())),
|
||||
new FileSource("/" + new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json").getName(), new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json"))
|
||||
};
|
||||
ZipUtil.pack(addedEntries, new File(FileUtils.getExternalFilesDirectory(getApplicationContext()).getPath() + "/cvbi/" + Objects.requireNonNull(mapForGetData.get("imgName")).toString() + ".cvbi"));
|
||||
} else if ((!Objects.requireNonNull(mapForGetData.get("imgIcon")).toString().isEmpty()) && (!Objects.requireNonNull(mapForGetData.get("imgPath")).toString().isEmpty())) {
|
||||
ZipEntrySource[] addedEntries = new ZipEntrySource[]{
|
||||
new FileSource("/" + new File(Objects.requireNonNull(mapForGetData.get("imgPath")).toString()).getName(), new File(Objects.requireNonNull(mapForGetData.get("imgPath")).toString())),
|
||||
new FileSource("/" + new File(Objects.requireNonNull(mapForGetData.get("imgIcon")).toString()).getName(), new File(Objects.requireNonNull(mapForGetData.get("imgIcon")).toString())),
|
||||
new FileSource("/" + new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json").getName(), new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json"))
|
||||
};
|
||||
ZipUtil.pack(addedEntries, new File(FileUtils.getExternalFilesDirectory(getApplicationContext()).getPath() + "/cvbi/" + Objects.requireNonNull(mapForGetData.get("imgName")).toString() + ".cvbi"));
|
||||
} else if ((!Objects.requireNonNull(mapForGetData.get("imgIcon")).toString().isEmpty()) && (!Objects.requireNonNull(mapForGetData.get("imgCdrom")).toString().isEmpty())) {
|
||||
ZipEntrySource[] addedEntries = new ZipEntrySource[]{
|
||||
new FileSource("/" + new File(Objects.requireNonNull(mapForGetData.get("imgIcon")).toString()).getName(), new File(Objects.requireNonNull(mapForGetData.get("imgIcon")).toString())),
|
||||
new FileSource("/" + new File(Objects.requireNonNull(mapForGetData.get("imgCdrom")).toString()).getName(), new File(Objects.requireNonNull(mapForGetData.get("imgCdrom")).toString())),
|
||||
new FileSource("/" + new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json").getName(), new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json"))
|
||||
};
|
||||
ZipUtil.pack(addedEntries, new File(FileUtils.getExternalFilesDirectory(getApplicationContext()).getPath() + "/cvbi/" + Objects.requireNonNull(mapForGetData.get("imgName")).toString() + ".cvbi"));
|
||||
} else if ((!Objects.requireNonNull(mapForGetData.get("imgPath")).toString().isEmpty()) && (!Objects.requireNonNull(mapForGetData.get("imgCdrom")).toString().isEmpty())) {
|
||||
ZipEntrySource[] addedEntries = new ZipEntrySource[]{
|
||||
new FileSource("/" + new File(Objects.requireNonNull(mapForGetData.get("imgPath")).toString()).getName(), new File(Objects.requireNonNull(mapForGetData.get("imgPath")).toString())),
|
||||
new FileSource("/" + new File(Objects.requireNonNull(mapForGetData.get("imgCdrom")).toString()).getName(), new File(Objects.requireNonNull(mapForGetData.get("imgCdrom")).toString())),
|
||||
new FileSource("/" + new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json").getName(), new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json"))
|
||||
};
|
||||
ZipUtil.pack(addedEntries, new File(FileUtils.getExternalFilesDirectory(getApplicationContext()).getPath() + "/cvbi/" + Objects.requireNonNull(mapForGetData.get("imgName")).toString() + ".cvbi"));
|
||||
} else if (!Objects.requireNonNull(mapForGetData.get("imgIcon")).toString().isEmpty()) {
|
||||
ZipEntrySource[] addedEntries = new ZipEntrySource[]{
|
||||
new FileSource("/" + new File(Objects.requireNonNull(mapForGetData.get("imgIcon")).toString()).getName(), new File(Objects.requireNonNull(mapForGetData.get("imgIcon")).toString())),
|
||||
new FileSource("/" + new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json").getName(), new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json"))
|
||||
};
|
||||
ZipUtil.pack(addedEntries, new File(FileUtils.getExternalFilesDirectory(getApplicationContext()).getPath() + "/cvbi/" + Objects.requireNonNull(mapForGetData.get("imgName")).toString() + ".cvbi"));
|
||||
} else if (!Objects.requireNonNull(mapForGetData.get("imgPath")).toString().isEmpty()) {
|
||||
ZipEntrySource[] addedEntries = new ZipEntrySource[]{
|
||||
new FileSource("/" + new File(Objects.requireNonNull(mapForGetData.get("imgPath")).toString()).getName(), new File(Objects.requireNonNull(mapForGetData.get("imgPath")).toString())),
|
||||
new FileSource("/" + new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json").getName(), new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json"))
|
||||
};
|
||||
ZipUtil.pack(addedEntries, new File(FileUtils.getExternalFilesDirectory(getApplicationContext()).getPath() + "/cvbi/" + Objects.requireNonNull(mapForGetData.get("imgName")).toString() + ".cvbi"));
|
||||
} else if (!Objects.requireNonNull(mapForGetData.get("imgCdrom")).toString().isEmpty()) {
|
||||
ZipEntrySource[] addedEntries = new ZipEntrySource[]{
|
||||
new FileSource("/" + new File(Objects.requireNonNull(mapForGetData.get("imgCdrom")).toString()).getName(), new File(Objects.requireNonNull(mapForGetData.get("imgCdrom")).toString())),
|
||||
new FileSource("/" + new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json").getName(), new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json"))
|
||||
};
|
||||
ZipUtil.pack(addedEntries, new File(FileUtils.getExternalFilesDirectory(getApplicationContext()).getPath() + "/cvbi/" + Objects.requireNonNull(mapForGetData.get("imgName")).toString() + ".cvbi"));
|
||||
} else {
|
||||
ZipEntrySource[] addedEntries = new ZipEntrySource[]{
|
||||
new FileSource("/" + new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json").getName(), new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json"))
|
||||
};
|
||||
ZipUtil.pack(addedEntries, new File(FileUtils.getExternalFilesDirectory(getApplicationContext()).getPath() + "/cvbi/" + Objects.requireNonNull(mapForGetData.get("imgName")).toString() + ".cvbi"));
|
||||
}
|
||||
|
||||
runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
UIControler(1, FileUtils.getExternalFilesDirectory(getApplicationContext()).getPath() + "/cvbi/" + Objects.requireNonNull(mapForGetData.get("imgName")).toString() + ".cvbi");
|
||||
}
|
||||
});
|
||||
} catch (Exception e) {
|
||||
runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
UIControler(2, e.toString());
|
||||
}
|
||||
});
|
||||
}
|
||||
try {
|
||||
if ((!iconfile.isEmpty()) && (!diskfile.isEmpty()) && (!cdromfile.isEmpty())) {
|
||||
ZipEntrySource[] addedEntries = new ZipEntrySource[]{
|
||||
new FileSource("/" + new File(diskfile).getName(), new File(diskfile)),
|
||||
new FileSource("/" + new File(iconfile).getName(), new File(iconfile)),
|
||||
new FileSource("/" + new File(cdromfile).getName(), new File(cdromfile)),
|
||||
new FileSource("/" + new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json").getName(), new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json"))
|
||||
};
|
||||
ZipUtil.pack(addedEntries, new File(FileUtils.getExternalFilesDirectory(getApplicationContext()).getPath() + "/cvbi/" + Objects.requireNonNull(mapForGetData.get("title")).toString() + ".cvbi"));
|
||||
} else if ((!iconfile.isEmpty()) && (!diskfile.isEmpty())) {
|
||||
ZipEntrySource[] addedEntries = new ZipEntrySource[]{
|
||||
new FileSource("/" + new File(diskfile).getName(), new File(diskfile)),
|
||||
new FileSource("/" + new File(iconfile).getName(), new File(iconfile)),
|
||||
new FileSource("/" + new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json").getName(), new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json"))
|
||||
};
|
||||
ZipUtil.pack(addedEntries, new File(FileUtils.getExternalFilesDirectory(getApplicationContext()).getPath() + "/cvbi/" + Objects.requireNonNull(mapForGetData.get("title")).toString() + ".cvbi"));
|
||||
} else if ((!iconfile.isEmpty()) && (!cdromfile.isEmpty())) {
|
||||
ZipEntrySource[] addedEntries = new ZipEntrySource[]{
|
||||
new FileSource("/" + new File(iconfile).getName(), new File(iconfile)),
|
||||
new FileSource("/" + new File(cdromfile).getName(), new File(cdromfile)),
|
||||
new FileSource("/" + new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json").getName(), new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json"))
|
||||
};
|
||||
ZipUtil.pack(addedEntries, new File(FileUtils.getExternalFilesDirectory(getApplicationContext()).getPath() + "/cvbi/" + Objects.requireNonNull(mapForGetData.get("title")).toString() + ".cvbi"));
|
||||
} else if ((!diskfile.isEmpty()) && (!cdromfile.isEmpty())) {
|
||||
ZipEntrySource[] addedEntries = new ZipEntrySource[]{
|
||||
new FileSource("/" + new File(diskfile).getName(), new File(diskfile)),
|
||||
new FileSource("/" + new File(cdromfile).getName(), new File(cdromfile)),
|
||||
new FileSource("/" + new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json").getName(), new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json"))
|
||||
};
|
||||
ZipUtil.pack(addedEntries, new File(FileUtils.getExternalFilesDirectory(getApplicationContext()).getPath() + "/cvbi/" + Objects.requireNonNull(mapForGetData.get("title")).toString() + ".cvbi"));
|
||||
} else if (!iconfile.isEmpty()) {
|
||||
ZipEntrySource[] addedEntries = new ZipEntrySource[]{
|
||||
new FileSource("/" + new File(iconfile).getName(), new File(iconfile)),
|
||||
new FileSource("/" + new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json").getName(), new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json"))
|
||||
};
|
||||
ZipUtil.pack(addedEntries, new File(FileUtils.getExternalFilesDirectory(getApplicationContext()).getPath() + "/cvbi/" + Objects.requireNonNull(mapForGetData.get("title")).toString() + ".cvbi"));
|
||||
} else if (!diskfile.isEmpty()) {
|
||||
ZipEntrySource[] addedEntries = new ZipEntrySource[]{
|
||||
new FileSource("/" + new File(diskfile).getName(), new File(diskfile)),
|
||||
new FileSource("/" + new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json").getName(), new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json"))
|
||||
};
|
||||
ZipUtil.pack(addedEntries, new File(FileUtils.getExternalFilesDirectory(getApplicationContext()).getPath() + "/cvbi/" + Objects.requireNonNull(mapForGetData.get("title")).toString() + ".cvbi"));
|
||||
} else if (!cdromfile.isEmpty()) {
|
||||
ZipEntrySource[] addedEntries = new ZipEntrySource[]{
|
||||
new FileSource("/" + new File(cdromfile).getName(), new File(cdromfile)),
|
||||
new FileSource("/" + new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json").getName(), new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json"))
|
||||
};
|
||||
ZipUtil.pack(addedEntries, new File(FileUtils.getExternalFilesDirectory(getApplicationContext()).getPath() + "/cvbi/" + Objects.requireNonNull(mapForGetData.get("title")).toString() + ".cvbi"));
|
||||
} else {
|
||||
ZipEntrySource[] addedEntries = new ZipEntrySource[]{
|
||||
new FileSource("/" + new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json").getName(), new File(getApplicationContext().getExternalFilesDir("data") + "/rom-data.json"))
|
||||
};
|
||||
ZipUtil.pack(addedEntries, new File(FileUtils.getExternalFilesDirectory(getApplicationContext()).getPath() + "/cvbi/" + Objects.requireNonNull(mapForGetData.get("title")).toString() + ".cvbi"));
|
||||
}
|
||||
});
|
||||
|
||||
runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
UIControler(1, FileUtils.getExternalFilesDirectory(getApplicationContext()).getPath() + "/cvbi/" + Objects.requireNonNull(mapForGetData.get("title")).toString() + ".cvbi");
|
||||
}
|
||||
});
|
||||
} catch (Exception e) {
|
||||
runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
UIControler(2, e.toString());
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
t.start();
|
||||
|
|
|
|||
|
|
@ -140,15 +140,7 @@ public class AdapterMainRoms extends RecyclerView.Adapter<RecyclerView.ViewHolde
|
|||
|
||||
myHolder.cdRoms.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View view) {
|
||||
if (current.itemArch.equals("I386")) {
|
||||
MainSettingsManager.setArch(MainActivity.activity, "I386");
|
||||
} else if (current.itemArch.equals("X86_64")) {
|
||||
MainSettingsManager.setArch(MainActivity.activity, "X86_64");
|
||||
} else if (current.itemArch.equals("ARM64")) {
|
||||
MainSettingsManager.setArch(MainActivity.activity, "ARM64");
|
||||
} else if (current.itemArch.equals("PPC")) {
|
||||
MainSettingsManager.setArch(MainActivity.activity, "PPC");
|
||||
}
|
||||
VMManager.setArch(current.itemArch, MainActivity.activity);
|
||||
StartVM.cdrompath = current.imgCdrom;
|
||||
String env = StartVM.env(MainActivity.activity, current.itemExtra, current.itemPath, current.itemCpu);
|
||||
MainActivity.startVM(current.itemName, env, current.itemExtra, current.itemPath);
|
||||
|
|
|
|||
|
|
@ -1,9 +1,12 @@
|
|||
package com.vectras.vm;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.Uri;
|
||||
import android.util.Log;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import com.vectras.qemu.MainSettingsManager;
|
||||
import com.vectras.vm.MainRoms.AdapterMainRoms;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
|
@ -333,4 +336,81 @@ public class VMManager {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static String quickScanDiskFileInFolder(String _foderpath) {
|
||||
if (!_foderpath.isEmpty()) {
|
||||
int _startRepeat = 0;
|
||||
ArrayList<String> _filelist = new ArrayList<>();
|
||||
VectrasApp.listDir(_foderpath, _filelist);
|
||||
if (!_filelist.isEmpty()) {
|
||||
for (int _repeat = 0; _repeat < (int)(_filelist.size()); _repeat++) {
|
||||
if (_startRepeat < _filelist.size()) {
|
||||
if (isADiskFile(_filelist.get((int)(_startRepeat)))) {
|
||||
return _filelist.get((int)(_startRepeat));
|
||||
}
|
||||
}
|
||||
_startRepeat++;
|
||||
}
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
public static boolean isADiskFile (String _filepath) {
|
||||
if (_filepath.contains(".")) {
|
||||
String _getFileName = Objects.requireNonNull(Uri.parse(_filepath).getLastPathSegment()).toLowerCase();
|
||||
String _getFileFormat = _getFileName.substring((int)(_getFileName.lastIndexOf(".") + 1), (int)(_getFileName.length()));
|
||||
if ("qcow2,img,vhd,vhdx,vdi,qcow,vmdk,vpc".contains(_getFileFormat)){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static String quickScanISOFileInFolder(String _foderpath) {
|
||||
if (!_foderpath.isEmpty()) {
|
||||
int _startRepeat = 0;
|
||||
ArrayList<String> _filelist = new ArrayList<>();
|
||||
VectrasApp.listDir(_foderpath, _filelist);
|
||||
if (!_filelist.isEmpty()) {
|
||||
for (int _repeat = 0; _repeat < (int)(_filelist.size()); _repeat++) {
|
||||
if (_startRepeat < _filelist.size()) {
|
||||
if (isAISOFile(_filelist.get((int)(_startRepeat)))) {
|
||||
return _filelist.get((int)(_startRepeat));
|
||||
}
|
||||
}
|
||||
_startRepeat++;
|
||||
}
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
public static boolean isAISOFile (String _filepath) {
|
||||
if (_filepath.contains(".")) {
|
||||
String _getFileName = Objects.requireNonNull(Uri.parse(_filepath).getLastPathSegment()).toLowerCase();
|
||||
String _getFileFormat = _getFileName.substring((int)(_getFileName.lastIndexOf(".") + 1), (int)(_getFileName.length()));
|
||||
if ("iso".contains(_getFileFormat)){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static void setArch(String _arch, Context _context) {
|
||||
switch (_arch) {
|
||||
case "I386":
|
||||
MainSettingsManager.setArch(MainActivity.activity, "I386");
|
||||
break;
|
||||
case "ARM64":
|
||||
MainSettingsManager.setArch(MainActivity.activity, "ARM64");
|
||||
break;
|
||||
case "PPC":
|
||||
MainSettingsManager.setArch(MainActivity.activity, "PPC");
|
||||
break;
|
||||
default:
|
||||
MainSettingsManager.setArch(MainActivity.activity, "X86_64");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -742,34 +742,4 @@ public class VectrasApp extends Application {
|
|||
AppConfig.romsdatajson = AppConfig.maindirpath + "roms-data.json";
|
||||
AppConfig.vmFolder = AppConfig.maindirpath + "roms/";
|
||||
}
|
||||
|
||||
public static String quickScanDiskFileInFolder(String _foderpath) {
|
||||
if (!_foderpath.isEmpty()) {
|
||||
int _startRepeat = 0;
|
||||
ArrayList<String> _filelist = new ArrayList<>();
|
||||
listDir(_foderpath, _filelist);
|
||||
if (!_filelist.isEmpty()) {
|
||||
for (int _repeat = 0; _repeat < (int)(_filelist.size()); _repeat++) {
|
||||
if (_startRepeat < _filelist.size()) {
|
||||
if (isADiskFile(_filelist.get((int)(_startRepeat)))) {
|
||||
return _filelist.get((int)(_startRepeat));
|
||||
}
|
||||
}
|
||||
_startRepeat++;
|
||||
}
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
public static boolean isADiskFile (String _filepath) {
|
||||
if (_filepath.contains(".")) {
|
||||
String _getFileName = Objects.requireNonNull(Uri.parse(_filepath).getLastPathSegment()).toLowerCase();
|
||||
String _getFileFormat = _getFileName.substring((int)(_getFileName.lastIndexOf(".") + 1), (int)(_getFileName.length()));
|
||||
if ("qcow2,img,vhd,vhdx,vdi,qcow,vmdk,vpc".contains(_getFileFormat)){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue