Skip to content

Commit 593a645

Browse files
committed
ANDROID: only show immersive mode when gesture mode is enabled
1 parent 23941fa commit 593a645

File tree

1 file changed

+21
-7
lines changed

1 file changed

+21
-7
lines changed

src/platform/android/app/src/main/java/net/sourceforge/smallbasic/MainActivity.java

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import android.os.Environment;
2525
import android.os.Handler;
2626
import android.os.Looper;
27+
import android.provider.Settings;
2728
import android.util.Base64;
2829
import android.util.DisplayMetrics;
2930
import android.util.Log;
@@ -834,6 +835,17 @@ private void installSamples() {
834835
}
835836
}
836837

838+
private boolean isGestureNavigationEnabled() {
839+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
840+
try {
841+
return Settings.Secure.getInt(getContentResolver(), "navigation_mode") == 2;
842+
} catch (Settings.SettingNotFoundException e) {
843+
Log.d(TAG, e.toString());
844+
}
845+
}
846+
return false;
847+
}
848+
837849
private boolean isHostDenied(String remoteHost) {
838850
return (remoteHost != null && permittedHost.get(remoteHost) != null && Boolean.FALSE.equals(permittedHost.get(remoteHost)));
839851
}
@@ -961,13 +973,15 @@ private String saveSchemeData(final String buffer) throws IOException {
961973
// Sets true full-screen on API 35+
962974
//
963975
private void setImmersiveMode() {
964-
getWindow().getDecorView()
965-
.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
966-
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
967-
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |
968-
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
969-
View.SYSTEM_UI_FLAG_FULLSCREEN |
970-
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
976+
if (isGestureNavigationEnabled()) {
977+
getWindow().getDecorView()
978+
.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
979+
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
980+
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |
981+
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
982+
View.SYSTEM_UI_FLAG_FULLSCREEN |
983+
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
984+
}
971985
}
972986

973987
private void setupStorageEnvironment() {

0 commit comments

Comments
 (0)