diff --git a/app/build.gradle b/app/build.gradle
index 9be2b9c..719aedd 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -20,8 +20,8 @@ android {
applicationId "com.epicstudios.vectras"
minSdk 21
targetSdk 34
- versionCode 1
- versionName "1.0"
+ versionCode 2
+ versionName "1.1"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
signingConfig signingConfigs.release
diff --git a/app/release/app-release.apk b/app/release/app-release.apk
deleted file mode 100644
index 3681171..0000000
Binary files a/app/release/app-release.apk and /dev/null differ
diff --git a/app/release/output-metadata.json b/app/release/output-metadata.json
deleted file mode 100644
index 939ddbb..0000000
--- a/app/release/output-metadata.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "version": 3,
- "artifactType": {
- "type": "APK",
- "kind": "Directory"
- },
- "applicationId": "com.epicstudios.vectras",
- "variantName": "release",
- "elements": [
- {
- "type": "SINGLE",
- "filters": [],
- "attributes": [],
- "versionCode": 1,
- "versionName": "1.0",
- "outputFile": "app-release.apk"
- }
- ],
- "elementType": "File"
-}
\ No newline at end of file
diff --git a/app/src/main/assets/roms/iso/cdrom.iso b/app/src/main/assets/roms/iso/cdrom.iso
deleted file mode 100644
index 452f1c1..0000000
Binary files a/app/src/main/assets/roms/iso/cdrom.iso and /dev/null differ
diff --git a/app/src/main/java/com/epicstudios/vectras/FirstActivity.java b/app/src/main/java/com/epicstudios/vectras/FirstActivity.java
index 143f9ce..be237be 100644
--- a/app/src/main/java/com/epicstudios/vectras/FirstActivity.java
+++ b/app/src/main/java/com/epicstudios/vectras/FirstActivity.java
@@ -128,8 +128,8 @@ public class FirstActivity extends AppCompatActivity {
in.close();
} catch (Exception e) {
acceptLiceneseChkBox.setEnabled(false);
- Toast.makeText(activity, "no internet connection", Toast.LENGTH_LONG).show();
- Log.d("VECTRAS", e.toString());
+ MainActivity.UIAlert("no internet connection", e.toString(), activity);
+ Log.d("TERMS", e.toString());
}
//since we are in background thread, to post results we have to go back to ui thread. do the following for that
diff --git a/app/src/main/java/com/epicstudios/vectras/Fragment/ControlsFragment.java b/app/src/main/java/com/epicstudios/vectras/Fragment/ControlsFragment.java
index 3dafc99..507d276 100644
--- a/app/src/main/java/com/epicstudios/vectras/Fragment/ControlsFragment.java
+++ b/app/src/main/java/com/epicstudios/vectras/Fragment/ControlsFragment.java
@@ -2,7 +2,12 @@ package com.epicstudios.vectras.Fragment;
import android.app.ActivityManager;
import android.content.Context;
+import android.graphics.Color;
+import android.os.Build;
import android.os.Bundle;
+import android.text.Spannable;
+import android.text.SpannableString;
+import android.text.style.ForegroundColorSpan;
import android.util.Log;
import android.view.InputDevice;
import android.view.KeyEvent;
@@ -13,6 +18,8 @@ import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
+import android.view.animation.Animation;
+import android.view.animation.AnimationUtils;
import android.view.inputmethod.InputMethodManager;
import android.view.inputmethod.BaseInputConnection;
import android.widget.LinearLayout;
@@ -20,6 +27,8 @@ import android.widget.TextView;
import androidx.appcompat.widget.Toolbar;
import androidx.fragment.app.Fragment;
+
+import com.epicstudios.vectras.MainActivity;
import com.epicstudios.vectras.R;
import com.epicstudios.vectras.Config;
import com.epicstudios.vectras.VectrasSDLActivity;
@@ -27,6 +36,9 @@ import com.epicstudios.vectras.widgets.JoystickView;
import com.epicstudios.vectras.utils.KeyboardUtils;
import com.epicstudios.vectras.utils.UIUtils;
import android.view.View.OnClickListener;
+
+import java.io.IOException;
+import java.io.InputStream;
import java.util.Timer;
import java.util.TimerTask;
import org.libsdl.app.SDLActivity;
@@ -39,6 +51,8 @@ public class ControlsFragment extends Fragment {
private Timer _timer = new Timer();
private TimerTask t;
+ public static final int MAX_LINES = 1;
+ public static final String TWO_SPACES = " ";
public static LinearLayout escBtn, enterBtn, shiftBtn, delBtn, gamepadLayout, desktopLayout, BtnUp, BtnDown,
BtnRight, BtnLeft, BtnF, BtnShift, Btn0, BtnSpace, BtnSettings, kbdBtn, BtnMode, BtnHide;
@@ -48,6 +62,12 @@ public class ControlsFragment extends Fragment {
public static LinearLayout rightClick, leftClick;
+ ProcessBuilder processBuilder;
+ String Holder = "";
+ String[] DATA = {"/system/bin/cat", "/proc/cpuinfo"};
+ InputStream inputStream;
+ Process process ;
+ byte[] byteArry ;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// TODO Auto-generated method stub
@@ -116,6 +136,51 @@ public class ControlsFragment extends Fragment {
_timer.scheduleAtFixedRate(t, (int) (0), (int) (1000));
//txtMem.setVisibility(View.GONE);
+ //txtCpu.setVisibility(View.GONE);
+ byteArry = new byte[1024];
+
+ try{
+ processBuilder = new ProcessBuilder(DATA);
+
+ process = processBuilder.start();
+
+ inputStream = process.getInputStream();
+
+ while(inputStream.read(byteArry) != -1){
+
+ Holder = Holder + new String(byteArry);
+ }
+
+ inputStream.close();
+
+ } catch(IOException ex){
+
+ ex.printStackTrace();
+ }
+
+ String cpuTxt = "Cpu Info:\n" + Holder;
+
+ txtCpu.setText(cpuTxt);
+ txtCpu.post(() -> {
+ // Past the maximum number of lines we want to display.
+ if (txtCpu.getLineCount() > MAX_LINES) {
+ int lastCharShown = txtCpu.getLayout().getLineVisibleEnd(MAX_LINES - 1);
+
+ txtCpu.setMaxLines(MAX_LINES);
+
+ String moreString = "Show More";
+ String suffix = TWO_SPACES + moreString;
+
+ // 3 is a "magic number" but it's just basically the length of the ellipsis we're going to insert
+ String actionDisplayText = cpuTxt.substring(0, lastCharShown - suffix.length() - 3) + "..." + suffix;
+
+ SpannableString truncatedSpannableString = new SpannableString(actionDisplayText);
+ int startIndex = actionDisplayText.indexOf(moreString);
+ truncatedSpannableString.setSpan(new ForegroundColorSpan(Color.GRAY), startIndex, startIndex + moreString.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
+ txtCpu.setText(truncatedSpannableString);
+ }
+ });
+
txtCpu.setVisibility(View.GONE);
if (gamepadLayout.getVisibility() != View.VISIBLE) {
@@ -236,10 +301,26 @@ public class ControlsFragment extends Fragment {
@Override
public void onClick(View view) {
if (gamepadLayout.getVisibility() != View.VISIBLE) {
- gamepadLayout.setVisibility(View.VISIBLE);
+ Animation animation2;
+ animation2 = AnimationUtils.loadAnimation(VectrasSDLActivity.activity, R.anim.slide_to_left);
+ animation2.setDuration(300);
+ desktopLayout.startAnimation(animation2);
desktopLayout.setVisibility(View.GONE);
+ Animation animation;
+ animation = AnimationUtils.loadAnimation(VectrasSDLActivity.activity, R.anim.slide_from_left);
+ animation.setDuration(300);
+ gamepadLayout.startAnimation(animation);
+ gamepadLayout.setVisibility(View.VISIBLE);
} else {
+ Animation animation;
+ animation = AnimationUtils.loadAnimation(VectrasSDLActivity.activity, R.anim.slide_to_left);
+ animation.setDuration(300);
+ gamepadLayout.startAnimation(animation);
gamepadLayout.setVisibility(View.GONE);
+ Animation animation2;
+ animation2 = AnimationUtils.loadAnimation(VectrasSDLActivity.activity, R.anim.slide_from_left);
+ animation2.setDuration(300);
+ desktopLayout.startAnimation(animation2);
desktopLayout.setVisibility(View.VISIBLE);
}
}
@@ -249,10 +330,20 @@ public class ControlsFragment extends Fragment {
@Override
public void onClick(View view) {
if (gamepadLayout.getVisibility() == View.GONE && desktopLayout.getVisibility() == View.GONE) {
+ Animation animation;
+ animation = AnimationUtils.loadAnimation(VectrasSDLActivity.activity, R.anim.slide_from_left);
+ animation.setDuration(300);
+ desktopLayout.startAnimation(animation);
+ gamepadLayout.startAnimation(animation);
gamepadLayout.setVisibility(View.VISIBLE);
desktopLayout.setVisibility(View.GONE);
TxtHide.setText("Hide");
} else {
+ Animation animation;
+ animation = AnimationUtils.loadAnimation(VectrasSDLActivity.activity, R.anim.slide_to_left);
+ animation.setDuration(300);
+ desktopLayout.startAnimation(animation);
+ gamepadLayout.startAnimation(animation);
gamepadLayout.setVisibility(View.GONE);
desktopLayout.setVisibility(View.GONE);
TxtHide.setText("Show");
diff --git a/app/src/main/java/com/epicstudios/vectras/MainActivity.java b/app/src/main/java/com/epicstudios/vectras/MainActivity.java
index 8f1e585..0255137 100644
--- a/app/src/main/java/com/epicstudios/vectras/MainActivity.java
+++ b/app/src/main/java/com/epicstudios/vectras/MainActivity.java
@@ -2,6 +2,10 @@ package com.epicstudios.vectras;
import static android.Manifest.permission.READ_EXTERNAL_STORAGE;
import static android.Manifest.permission.WRITE_EXTERNAL_STORAGE;
+
+import android.animation.ArgbEvaluator;
+import android.animation.ObjectAnimator;
+import android.animation.ValueAnimator;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import static android.os.Build.VERSION.SDK_INT;
@@ -16,6 +20,7 @@ import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
+import android.graphics.Color;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Build;
@@ -32,6 +37,7 @@ import android.view.MenuItem;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
+import android.widget.ProgressBar;
import android.widget.ScrollView;
import android.widget.TextView;
@@ -512,7 +518,28 @@ public class MainActivity extends AppCompatActivity {
paramsList.add("-k");
paramsList.add("en-us");
+
+ paramsList.add("-monitor");
+ paramsList.add("none");
+
+ paramsList.add("-serial");
+ paramsList.add("none");
+
+ paramsList.add("-parallel");
+ paramsList.add("none");
+
+
/*
+ paramsList.add("-drive"); //empty
+ String paramIso = "index=2";
+ paramIso += ",if=";
+ paramIso += "ide";
+
+ paramIso += ",media=cdrom";
+ paramIso += ",file=" + Config.basefiledir+"iso/cdrom.iso";
+
+ paramsList.add(paramIso);
+
paramsList.add("-drive");
String driveParams = "index=3";
driveParams += ",media=disk";
@@ -610,6 +637,8 @@ public class MainActivity extends AppCompatActivity {
totalRam = findViewById(R.id.totalRam);
usedRam = findViewById(R.id.usedRam);
freeRam = findViewById(R.id.freeRam);
+
+ ipTxt.setVisibility(View.GONE);
t = new TimerTask() {
@Override
public void run() {
@@ -628,6 +657,13 @@ public class MainActivity extends AppCompatActivity {
totalRam.setText("Total Memory: " + totalMemory + " MB");
usedRam.setText("Used Memory: " + usedMemory + " MB");
freeRam.setText("Free Memory: " + freeMemory + " MB ("+RamInfo.vectrasMemory()+")");
+ ProgressBar progressBar = findViewById(R.id.progressBar);
+ progressBar.setMax((int) totalMemory);
+ if (SDK_INT >= Build.VERSION_CODES.N) {
+ progressBar.setProgress((int) freeMemory, true);
+ } else {
+ progressBar.setProgress((int) freeMemory);
+ }
}
});
}
@@ -645,10 +681,8 @@ public class MainActivity extends AppCompatActivity {
AdView mAdView = findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
- UIAlert(getString(R.string.app_version), "This is only the first beta version of Vectras. Please note that the application is still in the experimental stage so that it is available in the best condition. Do not be lazy and support the application with your opinion.", activity);
-
-
+ //UIAlert(getString(R.string.app_version), "This is only the first beta version of Vectras. Please note that the application is still in the experimental stage so that it is available in the best condition. Do not be lazy and support the application with your opinion.", activity);
//File extra = new File(Config.basefiledir+"config_extra.txt");
//String extraParams = FileUtils.readFromFile(MainActivity.activity, extra);
diff --git a/app/src/main/res/layout/controls_fragment.xml b/app/src/main/res/layout/controls_fragment.xml
index 14c8da0..e25760c 100644
--- a/app/src/main/res/layout/controls_fragment.xml
+++ b/app/src/main/res/layout/controls_fragment.xml
@@ -10,29 +10,26 @@
android:orientation="vertical">
+
+ android:layout_height="wrap_content" />
+ android:layout_height="wrap_content" />
-
+
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 5882372..338d821 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,7 +1,7 @@
Vectras VM
- 1.0.0 alpha test
+ 1.1b
Home
Logger
Start Emulation