diff --git a/apk/controller/app/src/main/java/org/iiab/controller/MainActivity.java b/apk/controller/app/src/main/java/org/iiab/controller/MainActivity.java
index 84b5bfa..d8e8fcb 100644
--- a/apk/controller/app/src/main/java/org/iiab/controller/MainActivity.java
+++ b/apk/controller/app/src/main/java/org/iiab/controller/MainActivity.java
@@ -314,7 +314,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
addToLog("Warning: Server state transition timed out.");
}
};
- timeoutHandler.postDelayed(timeoutRunnable, 45000);
+ timeoutHandler.postDelayed(timeoutRunnable, getResources().getInteger(R.integer.server_cool_off_duration_ms));
// Execute the corresponding script command
if (!isServerAlive) {
@@ -331,6 +331,10 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
// Logic to open the WebView (PortalActivity)
button_browse_content.setOnClickListener(v -> {
+ if (!isServerAlive) {
+ Snackbar.make(v, R.string.qr_error_no_server, Snackbar.LENGTH_LONG).show();
+ return;
+ }
if (currentTargetUrl != null) {
Intent intent = new Intent(MainActivity.this, PortalActivity.class);
intent.putExtra("TARGET_URL", currentTargetUrl);
@@ -725,6 +729,10 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
}
private void handleControlClick() {
+ if (!isServerAlive) {
+ Snackbar.make(findViewById(android.R.id.content), R.string.qr_error_no_server, Snackbar.LENGTH_LONG).show();
+ return;
+ }
if (prefs.getEnable()) {
BiometricHelper.prompt(this,
getString(R.string.auth_required_title),
@@ -864,7 +872,6 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
// Draw main VPN button (ESPW)
if (!isServerAlive) {
// Lock and dim the VPN button if there is no server to connect to
- button_control.setEnabled(false);
if (isVpnActive) {
button_control.setText(R.string.control_disable);
button_control.setBackgroundTintList(ContextCompat.getColorStateList(this, R.color.btn_vpn_on_dim));
@@ -891,7 +898,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
if (!isServerAlive) {
// State 1: Stopped (Greyed out)
stopExplorePulse();
- button_browse_content.setEnabled(false);
+ button_browse_content.setEnabled(true);
button_browse_content.setBackgroundTintList(ContextCompat.getColorStateList(this, R.color.btn_explore_disabled));
button_browse_content.setAlpha(1.0f);
button_browse_content.setTextColor(Color.parseColor("#888888"));
@@ -1016,8 +1023,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
Intent intent = new Intent();
intent.setClassName("com.termux", "com.termux.app.RunCommandService");
intent.setAction("com.termux.RUN_COMMAND");
- intent.putExtra("com.termux.RUN_COMMAND_PATH", "/data/data/com.termux/files/usr/bin/iiab-termux");
- intent.putExtra("com.termux.RUN_COMMAND_ARGUMENTS", new String[]{actionFlag});
+
intent.putExtra("com.termux.RUN_COMMAND_WORKDIR", "/data/data/com.termux/files/home");
intent.putExtra("com.termux.RUN_COMMAND_PATH", "/data/data/com.termux/files/usr/bin/env");
intent.putExtra("com.termux.RUN_COMMAND_ARGUMENTS", new String[]{
@@ -1027,6 +1033,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
actionFlag
});
+ intent.putExtra("com.termux.RUN_COMMAND_BACKGROUND", false);
try {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
startForegroundService(intent);
diff --git a/apk/controller/app/src/main/java/org/iiab/controller/QrActivity.java b/apk/controller/app/src/main/java/org/iiab/controller/QrActivity.java
index 2e9c479..f203afd 100644
--- a/apk/controller/app/src/main/java/org/iiab/controller/QrActivity.java
+++ b/apk/controller/app/src/main/java/org/iiab/controller/QrActivity.java
@@ -121,7 +121,7 @@ public class QrActivity extends AppCompatActivity {
String title = showingWifi ? getString(R.string.qr_title_wifi) : getString(R.string.qr_title_hotspot);
// 8085 is the default port for the IIAB interface
- String url = "http://" + currentIp + ":8085";
+ String url = "http://" + currentIp + ":8085/home";
titleText.setText(title);
ipText.setText(url);
diff --git a/apk/controller/app/src/main/res/drawable/ic_center_focus_strong.xml b/apk/controller/app/src/main/res/drawable/ic_center_focus_strong.xml
new file mode 100644
index 0000000..286a3c2
--- /dev/null
+++ b/apk/controller/app/src/main/res/drawable/ic_center_focus_strong.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/apk/controller/app/src/main/res/layout/main.xml b/apk/controller/app/src/main/res/layout/main.xml
index 9ea37d8..fad8ac3 100644
--- a/apk/controller/app/src/main/res/layout/main.xml
+++ b/apk/controller/app/src/main/res/layout/main.xml
@@ -38,7 +38,7 @@
android:layout_toStartOf="@id/btn_settings"
android:layout_centerVertical="true"
android:background="?android:attr/selectableItemBackgroundBorderless"
- android:src="@android:drawable/ic_menu_share"
+ android:src="@drawable/ic_center_focus_strong"
android:contentDescription="Share via QR"
android:padding="12dp"
android:scaleType="fitCenter"
diff --git a/apk/controller/app/src/main/res/values/integers.xml b/apk/controller/app/src/main/res/values/integers.xml
index a6d0a89..d28018e 100644
--- a/apk/controller/app/src/main/res/values/integers.xml
+++ b/apk/controller/app/src/main/res/values/integers.xml
@@ -1,4 +1,4 @@
- 15000
+ 60000