diff --git a/app/src/main/java/com/termux/app/TermuxActivity.java b/app/src/main/java/com/termux/app/TermuxActivity.java index 0c9f74125b..79612cd6fb 100644 --- a/app/src/main/java/com/termux/app/TermuxActivity.java +++ b/app/src/main/java/com/termux/app/TermuxActivity.java @@ -10,6 +10,7 @@ import android.content.IntentFilter; import android.content.ServiceConnection; import android.net.Uri; +import android.os.Build; import android.os.Bundle; import android.os.IBinder; import android.view.ContextMenu; @@ -193,6 +194,12 @@ public final class TermuxActivity extends AppCompatActivity implements ServiceCo private static final String ARG_ACTIVITY_RECREATED = "activity_recreated"; private static final String LOG_TAG = "TermuxActivity"; + private static final int FULLSCREEN_UI_FLAGS = View.SYSTEM_UI_FLAG_LAYOUT_STABLE + | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION + | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN + | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION + | View.SYSTEM_UI_FLAG_FULLSCREEN + | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; @Override public void onCreate(Bundle savedInstanceState) { @@ -238,7 +245,7 @@ public void onCreate(Bundle savedInstanceState) { }); if (mProperties.isUsingFullScreen()) { - getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); + enableFullScreenMode(); } setTermuxTerminalViewAndClients(); @@ -322,6 +329,14 @@ public void onResume() { mIsOnResumeAfterOnCreate = false; } + @Override + public void onWindowFocusChanged(boolean hasFocus) { + super.onWindowFocusChanged(hasFocus); + + if (hasFocus && mProperties != null && mProperties.isUsingFullScreen()) + enableFullScreenMode(); + } + @Override protected void onStop() { super.onStop(); @@ -449,6 +464,12 @@ private void reloadProperties() { mTermuxTerminalViewClient.onReloadProperties(); } + private void enableFullScreenMode() { + getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) + getWindow().getDecorView().setSystemUiVisibility(FULLSCREEN_UI_FLAGS); + } + private void setActivityTheme() {