[Scummvm-git-logs] scummvm master -> cf5de37b1fdda7e053875c1f2e83f7b1621b567b
lephilousophe
noreply at scummvm.org
Sun Jul 12 10:29:18 UTC 2026
This automated email contains information about 5 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
6f4885555e ANDROID: Add romanian strings (empty for now)
ef61004af4 ANDROID: Update build system packages
c2c85326f6 ANDROID: Target Android 17 Cinnamon Bun
1dcefd18f4 ANDROID: Ask for local network permission to the user
cf5de37b1f ANDROID: Register ScummVM HTTP server in DNS-SD
Commit: 6f4885555e05772018e906d819682088d79bc2be
https://github.com/scummvm/scummvm/commit/6f4885555e05772018e906d819682088d79bc2be
Author: Le Philousophe (lephilousophe at users.noreply.github.com)
Date: 2026-07-12T12:29:11+02:00
Commit Message:
ANDROID: Add romanian strings (empty for now)
Changed paths:
A dists/android/res/values-ro/strings.xml
diff --git a/dists/android/res/values-ro/strings.xml b/dists/android/res/values-ro/strings.xml
new file mode 100644
index 00000000000..0a4c386d9e7
--- /dev/null
+++ b/dists/android/res/values-ro/strings.xml
@@ -0,0 +1,3 @@
+<?xml version='1.0' encoding='utf-8'?>
+<resources>
+ </resources>
Commit: ef61004af4c7315004fe3c077d593302333a43a6
https://github.com/scummvm/scummvm/commit/ef61004af4c7315004fe3c077d593302333a43a6
Author: Le Philousophe (lephilousophe at users.noreply.github.com)
Date: 2026-07-12T12:29:11+02:00
Commit Message:
ANDROID: Update build system packages
Gradle, Android Gradle Plugin and Androidx annotations are updated.
Changed paths:
dists/android/build.gradle
dists/android/gradle/wrapper/gradle-wrapper.jar
dists/android/gradle/wrapper/gradle-wrapper.properties
dists/android/gradlew
diff --git a/dists/android/build.gradle b/dists/android/build.gradle
index 308ab0b9024..33d1d65f628 100644
--- a/dists/android/build.gradle
+++ b/dists/android/build.gradle
@@ -1,5 +1,5 @@
plugins {
- id('com.android.application') version '9.0.0'
+ id('com.android.application') version '9.2.1'
}
// Load our source dependent properties
@@ -131,5 +131,5 @@ android {
}
dependencies {
- implementation "androidx.annotation:annotation:1.9.1"
+ implementation "androidx.annotation:annotation:1.10.0"
}
diff --git a/dists/android/gradle/wrapper/gradle-wrapper.jar b/dists/android/gradle/wrapper/gradle-wrapper.jar
index 1b33c55baab..b1b8ef56b44 100644
Binary files a/dists/android/gradle/wrapper/gradle-wrapper.jar and b/dists/android/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/dists/android/gradle/wrapper/gradle-wrapper.properties b/dists/android/gradle/wrapper/gradle-wrapper.properties
index 19a6bdeb848..a9db11550c6 100644
--- a/dists/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dists/android/gradle/wrapper/gradle-wrapper.properties
@@ -1,7 +1,9 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.0-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-bin.zip
networkTimeout=10000
+retries=0
+retryBackOffMs=500
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/dists/android/gradlew b/dists/android/gradlew
index ef07e0162b1..249efbb032c 100755
--- a/dists/android/gradlew
+++ b/dists/android/gradlew
@@ -20,7 +20,7 @@
##############################################################################
#
-# Gradle start up script for POSIX generated by Gradle.
+# gradlew start up script for POSIX generated by Gradle.
#
# Important for running:
#
@@ -29,7 +29,7 @@
# bash, then to run this script, type that shell name before the whole
# command line, like:
#
-# ksh Gradle
+# ksh gradlew
#
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
@@ -57,7 +57,7 @@
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
-# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
+# https://github.com/gradle/gradle/blob/3d91ce3b8caaf77ad09f381f43615b715b53f72c/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
@@ -114,7 +114,6 @@ case "$( uname )" in #(
NONSTOP* ) nonstop=true ;;
esac
-CLASSPATH="\\\"\\\""
# Determine the Java command to use to start the JVM.
@@ -172,7 +171,6 @@ fi
# For Cygwin or MSYS, switch paths to Windows format before running java
if "$cygwin" || "$msys" ; then
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
- CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
JAVACMD=$( cygpath --unix "$JAVACMD" )
@@ -212,7 +210,6 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
- -classpath "$CLASSPATH" \
-jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
"$@"
Commit: c2c85326f6b1fbe43b0fef202c6343df7a123806
https://github.com/scummvm/scummvm/commit/c2c85326f6b1fbe43b0fef202c6343df7a123806
Author: Le Philousophe (lephilousophe at users.noreply.github.com)
Date: 2026-07-12T12:29:11+02:00
Commit Message:
ANDROID: Target Android 17 Cinnamon Bun
Web server doesn't work yet.
Changed paths:
backends/platform/android/org/scummvm/scummvm/ScummVMActivity.java
dists/android/build.gradle
diff --git a/backends/platform/android/org/scummvm/scummvm/ScummVMActivity.java b/backends/platform/android/org/scummvm/scummvm/ScummVMActivity.java
index bfb18e1568a..db8950b9498 100644
--- a/backends/platform/android/org/scummvm/scummvm/ScummVMActivity.java
+++ b/backends/platform/android/org/scummvm/scummvm/ScummVMActivity.java
@@ -216,7 +216,13 @@ public class ScummVMActivity extends Activity {
// This is deprecated and we show the keyboard just below
//_inputManager.toggleSoftInputFromWindow(_main_surface.getWindowToken(), InputMethodManager.SHOW_IMPLICIT, InputMethodManager.HIDE_IMPLICIT_ONLY);
- _inputManager.showSoftInput(_main_surface, InputMethodManager.SHOW_IMPLICIT);
+ int flags = 0;
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.BAKLAVA) {
+ @SuppressWarnings("deprecation")
+ final int flag = InputMethodManager.SHOW_IMPLICIT;
+ flags = flag;
+ }
+ _inputManager.showSoftInput(_main_surface, flags);
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
} else {
if (_screenKeyboard != null) {
@@ -539,7 +545,13 @@ public class ScummVMActivity extends Activity {
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
// TODO do we need this instead?
// _inputManager.hideSoftInputFromWindow(_main_surface.getWindowToken(), 0);
- _inputManager.hideSoftInputFromWindow(_main_surface.getWindowToken(), InputMethodManager.HIDE_IMPLICIT_ONLY);
+ int flags = 0;
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.BAKLAVA) {
+ @SuppressWarnings("deprecation")
+ final int flag = InputMethodManager.HIDE_IMPLICIT_ONLY;
+ flags = flag;
+ }
+ _inputManager.hideSoftInputFromWindow(_main_surface.getWindowToken(), flags);
CompatHelpers.HideSystemStatusBar.hide(getWindow());
//Log.d(ScummVM.LOG_TAG, "showScreenKeyboardWithoutTextInputField - captureMouse(true)");
diff --git a/dists/android/build.gradle b/dists/android/build.gradle
index 33d1d65f628..c938b6168df 100644
--- a/dists/android/build.gradle
+++ b/dists/android/build.gradle
@@ -18,7 +18,7 @@ android {
//targetSdkVersion defaults to compileSdk
compileSdk {
- version = release(36)
+ version = release(37)
}
ndkVersion = "23.2.8568313"
enableKotlin = false
Commit: 1dcefd18f4bc4c5535b7c41164a5dbd38d9fc788
https://github.com/scummvm/scummvm/commit/1dcefd18f4bc4c5535b7c41164a5dbd38d9fc788
Author: Le Philousophe (lephilousophe at users.noreply.github.com)
Date: 2026-07-12T12:29:11+02:00
Commit Message:
ANDROID: Ask for local network permission to the user
Changed paths:
backends/networking/sdl_net/localwebserver.cpp
backends/platform/android/jni-android.cpp
backends/platform/android/jni-android.h
backends/platform/android/org/scummvm/scummvm/ScummVM.java
backends/platform/android/org/scummvm/scummvm/ScummVMActivity.java
dists/android.strings.xml.cpp
dists/android/AndroidManifest.xml
dists/android/res/values/strings.xml
diff --git a/backends/networking/sdl_net/localwebserver.cpp b/backends/networking/sdl_net/localwebserver.cpp
index 25272dd9da7..960591630f6 100644
--- a/backends/networking/sdl_net/localwebserver.cpp
+++ b/backends/networking/sdl_net/localwebserver.cpp
@@ -52,6 +52,10 @@
#define LSSDP_BUFFER_LEN 2048
#endif // POSIX
+#ifdef ANDROID_BACKEND
+#include "backends/platform/android/jni-android.h"
+#endif
+
#ifdef PLAYSTATION3
#include <net/netctl.h>
#endif
@@ -146,9 +150,17 @@ void LocalWebserver::start(bool useMinimalMode) {
g_system->taskStarted(OSystem::kLocalServer);
_handleMutex.unlock();
+
+#ifdef ANDROID_BACKEND
+ JNI::notifyHTTPService(_serverPort, _minimalMode);
+#endif
}
void LocalWebserver::stop() {
+#ifdef ANDROID_BACKEND
+ JNI::notifyHTTPService(-1, _minimalMode);
+#endif
+
_handleMutex.lock();
if (_timerStarted) {
stopTimer();
diff --git a/backends/platform/android/jni-android.cpp b/backends/platform/android/jni-android.cpp
index c4d0060ed9a..ef47360306c 100644
--- a/backends/platform/android/jni-android.cpp
+++ b/backends/platform/android/jni-android.cpp
@@ -101,6 +101,7 @@ jmethodID JNI::_MID_getScummVMBasePath;
jmethodID JNI::_MID_getScummVMConfigPath;
jmethodID JNI::_MID_getScummVMLogPath;
jmethodID JNI::_MID_setCurrentGame = 0;
+jmethodID JNI::_MID_notifyHTTPService = 0;
jmethodID JNI::_MID_getSysArchives = 0;
jmethodID JNI::_MID_getAllStorageLocations = 0;
jmethodID JNI::_MID_initSurface = 0;
@@ -582,6 +583,19 @@ void JNI::setCurrentGame(const Common::String &target) {
}
}
+void JNI::notifyHTTPService(int localPort, bool minimal) {
+ JNIEnv *env = JNI::getEnv();
+
+ env->CallVoidMethod(_jobj, _MID_notifyHTTPService, localPort, minimal);
+
+ if (env->ExceptionCheck()) {
+ LOGE("Error notifying HTTP service state");
+
+ env->ExceptionDescribe();
+ env->ExceptionClear();
+ }
+}
+
// The following adds assets folder to search set.
// However searching and retrieving from "assets" on Android this is slow
// so we also make sure to add the base directory, with a higher priority
@@ -724,6 +738,7 @@ void JNI::create(JNIEnv *env, jobject self, jobject asset_manager,
FIND_METHOD(, getScummVMConfigPath, "()Ljava/lang/String;");
FIND_METHOD(, getScummVMLogPath, "()Ljava/lang/String;");
FIND_METHOD(, setCurrentGame, "(Ljava/lang/String;)V");
+ FIND_METHOD(, notifyHTTPService, "(IZ)V");
FIND_METHOD(, getSysArchives, "()[Ljava/lang/String;");
FIND_METHOD(, getAllStorageLocations, "()[Ljava/lang/String;");
FIND_METHOD(, initSurface, "()Ljavax/microedition/khronos/egl/EGLSurface;");
diff --git a/backends/platform/android/jni-android.h b/backends/platform/android/jni-android.h
index 2c8d6aab412..086bb7d0537 100644
--- a/backends/platform/android/jni-android.h
+++ b/backends/platform/android/jni-android.h
@@ -100,6 +100,7 @@ public:
static Common::String getScummVMLogPath();
static jint getAndroidSDKVersionId();
static void setCurrentGame(const Common::String &target);
+ static void notifyHTTPService(int localPort, bool minimal);
static inline bool haveSurface();
static inline bool swapBuffers();
@@ -155,6 +156,7 @@ private:
static jmethodID _MID_getScummVMConfigPath;
static jmethodID _MID_getScummVMLogPath;
static jmethodID _MID_setCurrentGame;
+ static jmethodID _MID_notifyHTTPService;
static jmethodID _MID_getSysArchives;
static jmethodID _MID_getAllStorageLocations;
static jmethodID _MID_initSurface;
diff --git a/backends/platform/android/org/scummvm/scummvm/ScummVM.java b/backends/platform/android/org/scummvm/scummvm/ScummVM.java
index 76ee0720519..a7c2183abee 100644
--- a/backends/platform/android/org/scummvm/scummvm/ScummVM.java
+++ b/backends/platform/android/org/scummvm/scummvm/ScummVM.java
@@ -126,6 +126,8 @@ public abstract class ScummVM implements SurfaceHolder.Callback,
/** @noinspection unused */ @Keep
abstract protected void setCurrentGame(String target);
/** @noinspection unused */ @Keep
+ abstract protected void notifyHTTPService(int localPort, boolean minimal);
+ /** @noinspection unused */ @Keep
abstract protected String[] getSysArchives();
/** @noinspection unused */ @Keep
abstract protected String[] getAllStorageLocations();
diff --git a/backends/platform/android/org/scummvm/scummvm/ScummVMActivity.java b/backends/platform/android/org/scummvm/scummvm/ScummVMActivity.java
index db8950b9498..f1299947fc6 100644
--- a/backends/platform/android/org/scummvm/scummvm/ScummVMActivity.java
+++ b/backends/platform/android/org/scummvm/scummvm/ScummVMActivity.java
@@ -161,6 +161,8 @@ public class ScummVMActivity extends Activity {
private PluginBroadcastReceiver _pluginBroadcastReceiver = null;
+ private static final int MY_PERMISSION_LOCAL_NETWORK = 200;
+
// Set to true in onDestroy
// This avoids that when C++ terminates we call finish() a second time
// This second finish causes termination when we are launched again
@@ -898,6 +900,29 @@ public class ScummVMActivity extends Activity {
}
}
+ @Override
+ protected void notifyHTTPService(int localPort, boolean minimal) {
+ if (localPort < 0) {
+ return;
+ }
+
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.CINNAMON_BUN &&
+ checkPermission(Manifest.permission.ACCESS_LOCAL_NETWORK, Process.myPid(), Process.myUid()) != PackageManager.PERMISSION_GRANTED) {
+ Log.d(ScummVM.LOG_TAG, "Requesting local network permission");
+ final String[] PERMISSIONS = {
+ Manifest.permission.ACCESS_LOCAL_NETWORK,
+ };
+ // Delay the request to allow for proper GUI refresh of the server state
+ // Else, there is an interference with the tooltip code
+ new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ requestPermissions(PERMISSIONS, MY_PERMISSION_LOCAL_NETWORK);
+ }
+ }, 100);
+ }
+ }
+
@Override
protected String[] getSysArchives() {
File assetsDir = new File(_actualScummVMDataDir, "assets");
@@ -1361,6 +1386,20 @@ public class ScummVMActivity extends Activity {
Toast.makeText(this, "Until permission is granted, it might be impossible to write to some locations!", Toast.LENGTH_SHORT)
.show();
}
+ } else if (requestCode == MY_PERMISSION_LOCAL_NETWORK) {
+ boolean result = grantResults.length > 0;
+ for (int grantResult : grantResults) {
+ if (grantResult != PackageManager.PERMISSION_GRANTED) {
+ result = false;
+ break;
+ }
+ }
+ if (!result) {
+ Log.i(ScummVM.LOG_TAG, "Local network permission denied");
+ Toast.makeText(ScummVMActivity.this, getResources().getString(R.string.local_net_permission_denied), Toast.LENGTH_LONG).show();
+ } else {
+ Log.i(ScummVM.LOG_TAG, "Local network permission granted");
+ }
}
}
diff --git a/dists/android.strings.xml.cpp b/dists/android.strings.xml.cpp
index 5b4e8a2adbb..92c6a321e17 100644
--- a/dists/android.strings.xml.cpp
+++ b/dists/android.strings.xml.cpp
@@ -52,6 +52,7 @@ static Common::U32String customkeyboardview_keycode_enter = _("Enter");
static Common::U32String customkeyboardview_popup_close = _("Close popup");
static Common::U32String saf_request_prompt = _("Please select the *root* of your external (physical) SD card. This is required for ScummVM to access this path: ");
static Common::U32String saf_revoke_done = _("Storage Access Framework Permissions for ScummVM were revoked!");
+static Common::U32String local_net_permission_denied = _("Local network access permission was denied: Web server won\'t be reachable");
static Common::U32String ini_parsing_error = _("Configuration file could not be parsed");
static Common::U32String shortcut_creator_title = _("Run a game");
static Common::U32String shortcut_creator_search_game = _("Search a game");
diff --git a/dists/android/AndroidManifest.xml b/dists/android/AndroidManifest.xml
index 5f8efb50b9e..df24085e393 100644
--- a/dists/android/AndroidManifest.xml
+++ b/dists/android/AndroidManifest.xml
@@ -10,6 +10,7 @@
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
+ <uses-permission android:name="android.permission.ACCESS_LOCAL_NETWORK" />
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion="32" />
diff --git a/dists/android/res/values/strings.xml b/dists/android/res/values/strings.xml
index 086ccb0a14e..807723570a0 100644
--- a/dists/android/res/values/strings.xml
+++ b/dists/android/res/values/strings.xml
@@ -61,6 +61,8 @@
<string name="saf_revoke_done">Storage Access Framework Permissions for ScummVM were revoked!</string>
<string name="preference_saf_tree_key" translatable="false">pref_key__saf_tree_uri</string>
+ <string name="local_net_permission_denied">Local network access permission was denied: Web server won\'t be reachable</string>
+
<string name="ini_parsing_error">Configuration file could not be parsed</string>
<string name="shortcut_creator_title">Run a game</string>
<string name="shortcut_creator_search_game">Search a game</string>
Commit: cf5de37b1fdda7e053875c1f2e83f7b1621b567b
https://github.com/scummvm/scummvm/commit/cf5de37b1fdda7e053875c1f2e83f7b1621b567b
Author: Le Philousophe (lephilousophe at users.noreply.github.com)
Date: 2026-07-12T12:29:11+02:00
Commit Message:
ANDROID: Register ScummVM HTTP server in DNS-SD
Changed paths:
backends/platform/android/org/scummvm/scummvm/ScummVMActivity.java
dists/android.strings.xml.cpp
dists/android/res/values/strings.xml
diff --git a/backends/platform/android/org/scummvm/scummvm/ScummVMActivity.java b/backends/platform/android/org/scummvm/scummvm/ScummVMActivity.java
index f1299947fc6..f9bdc05b2b0 100644
--- a/backends/platform/android/org/scummvm/scummvm/ScummVMActivity.java
+++ b/backends/platform/android/org/scummvm/scummvm/ScummVMActivity.java
@@ -46,6 +46,8 @@ import android.media.AudioManager;
import android.media.AudioTrack;
import android.net.ConnectivityManager;
import android.net.Uri;
+import android.net.nsd.NsdManager;
+import android.net.nsd.NsdServiceInfo;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
@@ -162,6 +164,7 @@ public class ScummVMActivity extends Activity {
private PluginBroadcastReceiver _pluginBroadcastReceiver = null;
private static final int MY_PERMISSION_LOCAL_NETWORK = 200;
+ private NsdManager.RegistrationListener nsdRegistrationListener = null;
// Set to true in onDestroy
// This avoids that when C++ terminates we call finish() a second time
@@ -902,6 +905,13 @@ public class ScummVMActivity extends Activity {
@Override
protected void notifyHTTPService(int localPort, boolean minimal) {
+ final NsdManager nsdManager = (NsdManager) getSystemService(Context.NSD_SERVICE);
+
+ if (nsdRegistrationListener != null) {
+ nsdManager.unregisterService(nsdRegistrationListener);
+ nsdRegistrationListener = null;
+ }
+
if (localPort < 0) {
return;
}
@@ -921,6 +931,43 @@ public class ScummVMActivity extends Activity {
}
}, 100);
}
+
+ if (!minimal) {
+ // Don't publish our service if we are running in minimal mode (OAuth stuff)
+ nsdRegistrationListener = new NsdManager.RegistrationListener() {
+ @Override
+ public void onRegistrationFailed(NsdServiceInfo nsdServiceInfo, int i) {
+ Log.d(ScummVM.LOG_TAG, "HTTP service registration failed: " + i);
+ }
+
+ @Override
+ public void onServiceRegistered(NsdServiceInfo nsdServiceInfo) {
+ Log.d(ScummVM.LOG_TAG, "HTTP service registered");
+ }
+
+ @Override
+ public void onServiceUnregistered(NsdServiceInfo nsdServiceInfo) {
+ Log.d(ScummVM.LOG_TAG, "HTTP service unregistered");
+ }
+
+ @Override
+ public void onUnregistrationFailed(NsdServiceInfo nsdServiceInfo, int i) {
+ Log.d(ScummVM.LOG_TAG, "HTTP service unregistration failed: " + i);
+ }
+ };
+
+ final String serviceName = getResources().getString(R.string.http_service_description);
+
+ final NsdServiceInfo serviceInfo = new NsdServiceInfo();
+ serviceInfo.setServiceName(serviceName);
+ serviceInfo.setServiceType("_http._tcp.");
+ serviceInfo.setPort(localPort);
+
+ nsdManager.registerService(
+ serviceInfo,
+ NsdManager.PROTOCOL_DNS_SD,
+ nsdRegistrationListener);
+ }
}
@Override
diff --git a/dists/android.strings.xml.cpp b/dists/android.strings.xml.cpp
index 92c6a321e17..3003f7605e1 100644
--- a/dists/android.strings.xml.cpp
+++ b/dists/android.strings.xml.cpp
@@ -53,6 +53,7 @@ static Common::U32String customkeyboardview_popup_close = _("Close popup");
static Common::U32String saf_request_prompt = _("Please select the *root* of your external (physical) SD card. This is required for ScummVM to access this path: ");
static Common::U32String saf_revoke_done = _("Storage Access Framework Permissions for ScummVM were revoked!");
static Common::U32String local_net_permission_denied = _("Local network access permission was denied: Web server won\'t be reachable");
+static Common::U32String http_service_description = _("ScummVM Web server");
static Common::U32String ini_parsing_error = _("Configuration file could not be parsed");
static Common::U32String shortcut_creator_title = _("Run a game");
static Common::U32String shortcut_creator_search_game = _("Search a game");
diff --git a/dists/android/res/values/strings.xml b/dists/android/res/values/strings.xml
index 807723570a0..b8a6ab34919 100644
--- a/dists/android/res/values/strings.xml
+++ b/dists/android/res/values/strings.xml
@@ -62,6 +62,7 @@
<string name="preference_saf_tree_key" translatable="false">pref_key__saf_tree_uri</string>
<string name="local_net_permission_denied">Local network access permission was denied: Web server won\'t be reachable</string>
+ <string name="http_service_description">ScummVM Web server</string>
<string name="ini_parsing_error">Configuration file could not be parsed</string>
<string name="shortcut_creator_title">Run a game</string>
More information about the Scummvm-git-logs
mailing list