diff --git a/changeAppSettings.sh b/changeAppSettings.sh index 4fc308548..476e10267 100755 --- a/changeAppSettings.sh +++ b/changeAppSettings.sh @@ -907,6 +907,9 @@ echo >> AndroidAppSettings.cfg echo "# Application needs to access SD card. If your data files are bigger than 5 Mb, enable it. (y) / (n)" >> AndroidAppSettings.cfg echo AccessSdCard=$AccessSdCard >> AndroidAppSettings.cfg echo >> AndroidAppSettings.cfg +echo "# Immersive mode - Android will hide on-screen Home/Back keys. Looks bad if you invoke Android keyboard. (y) / (n)" >> AndroidAppSettings.cfg +echo ImmersiveMode=$ImmersiveMode >> AndroidAppSettings.cfg +echo >> AndroidAppSettings.cfg echo "# Application implements Android-specific routines to put to background, and will not draw anything to screen" >> AndroidAppSettings.cfg echo "# between SDL_ACTIVEEVENT lost / gained notifications - you should check for them" >> AndroidAppSettings.cfg echo "# rigth after SDL_Flip(), if (n) then SDL_Flip() will block till app in background (y) or (n)" >> AndroidAppSettings.cfg @@ -1335,6 +1338,12 @@ if [ "$AccessSdCard" = "n" ]; then $SEDI "/==EXTERNAL_STORAGE==/ d" project/AndroidManifest.xml fi +if [ "$AccessSdCard" = "n" ]; then + ImmersiveMode=false +else + ImmersiveMode=true +fi + echo Patching project/src/Globals.java $SEDI "s/public static String ApplicationName = .*;/public static String ApplicationName = \"$AppShortName\";/" project/src/Globals.java $SEDI "s/public static final boolean Using_SDL_1_3 = .*;/public static final boolean Using_SDL_1_3 = $UsingSdl13;/" project/src/Globals.java @@ -1372,6 +1381,7 @@ $SEDI "s/public static boolean AppUsesGyroscope = .*;/public static boolean AppU $SEDI "s/public static boolean AppUsesMultitouch = .*;/public static boolean AppUsesMultitouch = $AppUsesMultitouch;/" project/src/Globals.java $SEDI "s/public static boolean NonBlockingSwapBuffers = .*;/public static boolean NonBlockingSwapBuffers = $NonBlockingSwapBuffers;/" project/src/Globals.java $SEDI "s/public static boolean ResetSdlConfigForThisVersion = .*;/public static boolean ResetSdlConfigForThisVersion = $ResetSdlConfigForThisVersion;/" project/src/Globals.java +$SEDI "s/public static boolean ImmersiveMode = .*;/public static boolean ImmersiveMode = $ImmersiveMode;/" project/src/Globals.java $SEDI "s|public static String DeleteFilesOnUpgrade = .*;|public static String DeleteFilesOnUpgrade = \"$DeleteFilesOnUpgrade\";|" project/src/Globals.java $SEDI "s/public static int AppTouchscreenKeyboardKeysAmount = .*;/public static int AppTouchscreenKeyboardKeysAmount = $AppTouchscreenKeyboardKeysAmount;/" project/src/Globals.java $SEDI "s/public static int AppTouchscreenKeyboardKeysAmountAutoFire = .*;/public static int AppTouchscreenKeyboardKeysAmountAutoFire = $AppTouchscreenKeyboardKeysAmountAutoFire;/" project/src/Globals.java diff --git a/project/java/Globals.java b/project/java/Globals.java index 04df3ed2f..b35aaa0e2 100644 --- a/project/java/Globals.java +++ b/project/java/Globals.java @@ -61,6 +61,7 @@ class Globals public static boolean AppUsesGyroscope = false; public static boolean AppUsesMultitouch = false; public static boolean NonBlockingSwapBuffers = false; + public static boolean ImmersiveMode = true; public static boolean ResetSdlConfigForThisVersion = false; public static String DeleteFilesOnUpgrade = ""; public static int AppTouchscreenKeyboardKeysAmount = 4; diff --git a/project/java/MainActivity.java b/project/java/MainActivity.java index 5feec6d2a..b688f62ee 100644 --- a/project/java/MainActivity.java +++ b/project/java/MainActivity.java @@ -1160,7 +1160,7 @@ abstract class DimSystemStatusBar } public void dim(final View view) { - if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT && Globals.ImmersiveMode) // Immersive mode, I already hear curses when system bar reappears mid-game from the slightest swipe at the bottom of the screen view.setSystemUiVisibility(android.view.View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | android.view.View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); else diff --git a/project/jni/application/hid-pc-keyboard/src b/project/jni/application/hid-pc-keyboard/src index 98171a4c5..9de0e48c2 160000 --- a/project/jni/application/hid-pc-keyboard/src +++ b/project/jni/application/hid-pc-keyboard/src @@ -1 +1 @@ -Subproject commit 98171a4c5a57f1a4e929e40faf5483c49e1b2ca6 +Subproject commit 9de0e48c2886962a8527c5f009a6ca99fcc289b8