mirror of
https://github.com/xoureldeen/Vectras-VM-Android.git
synced 2026-05-05 17:56:59 +00:00
v2.3
This commit is contained in:
parent
7350c7cc47
commit
a512997f38
27 changed files with 2237 additions and 1584 deletions
|
|
@ -26,6 +26,8 @@ import android.os.Environment;
|
|||
import android.widget.ImageView.ScaleType;
|
||||
|
||||
import com.vectras.vm.AppConfig;
|
||||
import com.vectras.vm.SplashActivity;
|
||||
import com.vectras.vm.VectrasApp;
|
||||
|
||||
import java.util.Hashtable;
|
||||
import java.util.LinkedHashMap;
|
||||
|
|
@ -116,7 +118,7 @@ public class Config {
|
|||
public static String getMachineDir(){
|
||||
return getBasefileDir() + machineFolder;
|
||||
}
|
||||
public static String logFilePath = null;
|
||||
public static String logFilePath = cacheDir + "/vectras/vectras-log.txt";
|
||||
|
||||
|
||||
public static final String defaultDNSServer = "8.8.8.8";
|
||||
|
|
@ -176,7 +178,9 @@ public class Config {
|
|||
//Change to true in prod if you want to be notified by default for new versions
|
||||
public static boolean defaultCheckNewVersion = true;
|
||||
|
||||
public static final String sharedFolder = AppConfig.sharedFolder;
|
||||
// App config
|
||||
public static final String datadirpath = VectrasApp.getApp().getExternalFilesDir("data")+"/";
|
||||
public static final String sharedFolder = datadirpath + "Vectras/ProgramFiles/";
|
||||
|
||||
public static String machinename = "VECTRAS";
|
||||
public static int paused = 0;
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -248,7 +248,7 @@ public class MainSettingsManager extends AppCompatActivity
|
|||
implements Preference.OnPreferenceChangeListener {
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
super.onCreate(savedInstanceState);/*
|
||||
Preference pref = findPreference("customMemory");
|
||||
if (pref != null) {
|
||||
pref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
||||
|
|
@ -278,7 +278,7 @@ public class MainSettingsManager extends AppCompatActivity
|
|||
}
|
||||
|
||||
});
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
private void onMemory() {
|
||||
|
|
@ -629,6 +629,61 @@ public class MainSettingsManager extends AppCompatActivity
|
|||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity);
|
||||
return prefs.getBoolean("virtio", false);
|
||||
}
|
||||
|
||||
public static void setAvx(Activity activity, boolean AVX) {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity);
|
||||
SharedPreferences.Editor edit = prefs.edit();
|
||||
edit.putBoolean("AVX", AVX);
|
||||
edit.apply();
|
||||
}
|
||||
|
||||
public static boolean getAvx(Activity activity) {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity);
|
||||
return prefs.getBoolean("AVX", false);
|
||||
}
|
||||
|
||||
public static void setTbSize(Activity activity, String TbSize) {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity);
|
||||
SharedPreferences.Editor edit = prefs.edit();
|
||||
edit.putString("TbSize", TbSize);
|
||||
edit.apply();
|
||||
}
|
||||
|
||||
public static String getTbSize(Activity activity) {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity);
|
||||
return prefs.getString("TbSize", "2048");
|
||||
}
|
||||
|
||||
public static void setVmUi(Activity activity, String vmUi) {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity);
|
||||
SharedPreferences.Editor edit = prefs.edit();
|
||||
edit.putString("vmUi", vmUi);
|
||||
edit.apply();
|
||||
}
|
||||
public static String getVmUi(Activity activity) {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity);
|
||||
return prefs.getString("vmUi", "VNC");
|
||||
}
|
||||
public static void setUsbTablet(Activity activity, boolean UsbTablet) {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity);
|
||||
SharedPreferences.Editor edit = prefs.edit();
|
||||
edit.putBoolean("UsbTablet", UsbTablet);
|
||||
edit.apply();
|
||||
}
|
||||
public static boolean getUsbTablet(Activity activity) {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity);
|
||||
return prefs.getBoolean("UsbTablet", false);
|
||||
}
|
||||
public static void setCustomParams(Activity activity, String customParams) {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity);
|
||||
SharedPreferences.Editor edit = prefs.edit();
|
||||
edit.putString("customParams", customParams);
|
||||
edit.apply();
|
||||
}
|
||||
public static String getCustomParams(Activity activity) {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity);
|
||||
return prefs.getString("customParams", "");
|
||||
}
|
||||
public static boolean isFirstLaunch(Activity activity) {
|
||||
PackageInfo pInfo = null;
|
||||
|
||||
|
|
|
|||
|
|
@ -6,12 +6,14 @@ import android.androidVNC.VncCanvasActivity;
|
|||
import androidx.appcompat.app.ActionBar;
|
||||
import androidx.appcompat.app.AppCompatDelegate;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.core.view.GravityCompat;
|
||||
import androidx.core.view.MenuItemCompat;
|
||||
import androidx.drawerlayout.widget.DrawerLayout;
|
||||
import androidx.fragment.app.FragmentTransaction;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.DialogInterface;
|
||||
|
|
@ -51,6 +53,7 @@ import android.widget.SeekBar;
|
|||
import android.widget.SeekBar.OnSeekBarChangeListener;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.vectras.qemu.utils.FileUtils;
|
||||
import com.vectras.vm.Fragment.ControlersOptionsFragment;
|
||||
import com.vectras.vm.MainActivity;
|
||||
import com.vectras.vm.R;
|
||||
|
|
@ -124,8 +127,15 @@ public class MainVNCActivity extends VncCanvasActivity {
|
|||
ImageButton ctrlBtn = findViewById(R.id.ctrlBtn);
|
||||
ImageButton altBtn = findViewById(R.id.altBtn);
|
||||
ImageButton delBtn = findViewById(R.id.delBtn);
|
||||
ImageButton btnLogs = findViewById(R.id.btnLogs);
|
||||
Button ctrlAltDelBtn = findViewById(R.id.ctrlAltDelBtn);
|
||||
qmpBtn = findViewById(R.id.btnQmp);
|
||||
btnLogs.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
FileUtils.viewVectrasLog(activity);
|
||||
}
|
||||
});
|
||||
shutdownBtn.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
|
|
@ -1184,20 +1194,11 @@ public class MainVNCActivity extends VncCanvasActivity {
|
|||
|
||||
}
|
||||
|
||||
|
||||
public void onBackPressed() {
|
||||
|
||||
// super.onBackPressed();
|
||||
if (!MainSettingsManager.getAlwaysShowMenuToolbar(activity)) {
|
||||
ActionBar bar = this.getSupportActionBar();
|
||||
if (bar != null) {
|
||||
if (bar.isShowing() && Config.mouseMode == Config.MouseMode.Trackpad) {
|
||||
bar.hide();
|
||||
}/* else
|
||||
bar.show();*/
|
||||
}
|
||||
} else
|
||||
super.onBackPressed();
|
||||
|
||||
super.onBackPressed();
|
||||
Machine.stopVM(activity);
|
||||
return;
|
||||
}
|
||||
|
||||
public void onHideToolbar() {
|
||||
|
|
|
|||
|
|
@ -64,22 +64,22 @@ public class StartVM {
|
|||
public String vnc_passwd = "vectras";
|
||||
|
||||
// cpu/board settings
|
||||
private String cpu;
|
||||
public String cpu;
|
||||
private String arch = "x86";
|
||||
private String machine_type;
|
||||
private int memory = 128;
|
||||
public int memory = 128;
|
||||
private int cpuNum = 1;
|
||||
public int enablekvm;
|
||||
public int enable_mttcg;
|
||||
|
||||
// disks
|
||||
public String hda_img_path;
|
||||
private String hdb_img_path;
|
||||
private String hdc_img_path;
|
||||
private String hdd_img_path;
|
||||
public String hdb_img_path;
|
||||
public String hdc_img_path;
|
||||
public String hdd_img_path;
|
||||
public String shared_folder_path;
|
||||
public int shared_folder_readonly = 1;
|
||||
private String hd_cache = "default";
|
||||
public String hd_cache = "default";
|
||||
|
||||
//removable devices
|
||||
public String cd_iso_path;
|
||||
|
|
@ -88,26 +88,30 @@ public class StartVM {
|
|||
public String sd_img_path;
|
||||
|
||||
//boot options
|
||||
private String bootdevice = null;
|
||||
public String bootdevice = null;
|
||||
private String kernel;
|
||||
private String initrd;
|
||||
|
||||
//graphics
|
||||
private String vga_type = "std";
|
||||
public String vga_type = "std";
|
||||
|
||||
//audio
|
||||
public String sound_card;
|
||||
|
||||
// net
|
||||
private String net_cfg = "None";
|
||||
private String nic_card = null;
|
||||
public String net_cfg = "None";
|
||||
public String nic_card = null;
|
||||
private String hostfwd = null;
|
||||
private String guestfwd = null;
|
||||
|
||||
//advanced
|
||||
private int disableacpi = 0;
|
||||
private int disablehpet = 0;
|
||||
private int disabletsc = 0;
|
||||
public int disableacpi = 0;
|
||||
public int disablehpet = 0;
|
||||
public int disabletsc = 0;
|
||||
|
||||
public boolean enablleAvx = false;
|
||||
public String tbSize = "2048";
|
||||
|
||||
public String extra_params;
|
||||
|
||||
/**
|
||||
|
|
@ -120,7 +124,11 @@ public class StartVM {
|
|||
save_dir = Config.getMachineDir() + name;
|
||||
save_state_name = save_dir + "/" + Config.state_filename;
|
||||
hda_img_path = Config.hda_path;
|
||||
|
||||
extra_params = Config.extra_params;
|
||||
extra_params += " ";
|
||||
extra_params += MainSettingsManager.getCustomParams(MainActivity.activity);
|
||||
|
||||
shared_folder_path = Config.sharedFolder;
|
||||
//extra_params = Config.extra_params;
|
||||
this.context = context;
|
||||
|
|
@ -133,6 +141,14 @@ public class StartVM {
|
|||
this.enable_mttcg = 0;
|
||||
this.vnc_allow_external = 0;
|
||||
|
||||
this.enablleAvx = MainSettingsManager.getAvx(MainActivity.activity);
|
||||
|
||||
this.tbSize = MainSettingsManager.getTbSize(MainActivity.activity);
|
||||
|
||||
if (MainSettingsManager.getUsbTablet(MainActivity.activity))
|
||||
this.mouse = "usb-tablet";
|
||||
else
|
||||
this.mouse = "ps2";
|
||||
}
|
||||
|
||||
public static void onVMResolutionChanged(int width, int height) {
|
||||
|
|
@ -283,7 +299,8 @@ public class StartVM {
|
|||
}
|
||||
|
||||
if (mouse != null && !mouse.equals("ps2")) {
|
||||
paramsList.add("-usb");
|
||||
paramsList.add("-machine");
|
||||
paramsList.add("usb=on");
|
||||
paramsList.add("-device");
|
||||
paramsList.add(mouse);
|
||||
}
|
||||
|
|
@ -309,7 +326,7 @@ public class StartVM {
|
|||
|
||||
private void addAudioOptions(ArrayList<String> paramsList) {
|
||||
|
||||
if (sound_card != null && !sound_card.equals("None")) {
|
||||
if (sound_card != null && !sound_card.equals("None") && enablevnc != 1) {
|
||||
paramsList.add("-soundhw");
|
||||
paramsList.add(sound_card);
|
||||
}
|
||||
|
|
@ -384,7 +401,7 @@ public class StartVM {
|
|||
if (this.cpuNum > 1 &&
|
||||
(enablekvm == 1 || enable_mttcg == 1 || !Config.enableSMPOnlyOnKVM)) {
|
||||
paramsList.add("-smp");
|
||||
paramsList.add("sockets="+"1"+",cores="+this.cpuNum+",threads="+this.cpuNum+"");
|
||||
paramsList.add("sockets=" + "1" + ",cores=" + this.cpuNum + ",threads=" + this.cpuNum + "");
|
||||
}
|
||||
|
||||
if (machine_type != null && !machine_type.equals("Default")) {
|
||||
|
|
@ -411,7 +428,11 @@ public class StartVM {
|
|||
|
||||
if (this.cpu != null && !cpu.equals("Default")) {
|
||||
paramsList.add("-cpu");
|
||||
paramsList.add(cpu + ",+avx");
|
||||
String cpuParams = null;
|
||||
cpuParams += cpu;
|
||||
if (enablleAvx)
|
||||
cpuParams += ",+avx";
|
||||
paramsList.add(cpuParams);
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -429,7 +450,7 @@ public class StartVM {
|
|||
tcgParams += ",thread=multi";
|
||||
else
|
||||
tcgParams += ",thread=single";
|
||||
tcgParams += ",tb-size=2048";
|
||||
tcgParams += ",tb-size=" + tbSize;
|
||||
paramsList.add(tcgParams);
|
||||
//#endif
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,13 +1,15 @@
|
|||
package com.vectras.qemu.utils;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.os.Build;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
|
||||
import com.vectras.qemu.Config;
|
||||
import com.vectras.vm.MainActivity;
|
||||
import com.vectras.vm.R;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue