diff --git a/app/src/main/java/com/termux/app/FullScreenHelper.java b/app/src/main/java/com/termux/app/FullScreenHelper.java deleted file mode 100644 index 606b07f1..00000000 --- a/app/src/main/java/com/termux/app/FullScreenHelper.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.termux.app; - -import android.graphics.Color; -import android.graphics.drawable.ColorDrawable; -import android.os.Build; -import android.view.View; - -import com.termux.R; - -/** - * Utility to manage full screen immersive mode. - *
- * See https://code.google.com/p/android/issues/detail?id=5497 - */ -final class FullScreenHelper { - - private boolean mEnabled = false; - final TermuxActivity mActivity; - - public FullScreenHelper(TermuxActivity activity) { - this.mActivity = activity; - } - - public void setImmersive(boolean enabled) { - if (enabled == mEnabled) return; - mEnabled = enabled; - - View decorView = mActivity.getWindow().getDecorView(); - - if (enabled) { - decorView.setOnSystemUiVisibilityChangeListener - (new View.OnSystemUiVisibilityChangeListener() { - @Override - public void onSystemUiVisibilityChange(int visibility) { - if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) { - if (mActivity.mSettings.isShowExtraKeys()) { - mActivity.findViewById(R.id.viewpager).setVisibility(View.VISIBLE); - } - setImmersiveMode(); - } else { - mActivity.findViewById(R.id.viewpager).setVisibility(View.GONE); - } - } - }); - setImmersiveMode(); - } else { - decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE); - decorView.setOnSystemUiVisibilityChangeListener(null); - } - } - - private static boolean isColorLight(int color) { - double darkness = 1 - (0.299 * Color.red(color) + 0.587 * Color.green(color) + 0.114 * Color.blue(color)) / 255; - return darkness < 0.5; - } - - void setImmersiveMode() { - int flags = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION - | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY - | View.SYSTEM_UI_FLAG_FULLSCREEN; - int color = ((ColorDrawable) mActivity.getWindow().getDecorView().getBackground()).getColor(); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && isColorLight(color)) - flags |= View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR; - mActivity.getWindow().getDecorView().setSystemUiVisibility(flags); - } - -} diff --git a/app/src/main/java/com/termux/app/TermuxActivity.java b/app/src/main/java/com/termux/app/TermuxActivity.java index 5eafeba8..d50ab430 100644 --- a/app/src/main/java/com/termux/app/TermuxActivity.java +++ b/app/src/main/java/com/termux/app/TermuxActivity.java @@ -73,6 +73,7 @@ import java.io.InputStream; import java.util.Arrays; import java.util.Collections; import java.util.LinkedHashSet; +import java.util.List; import java.util.Properties; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -95,7 +96,6 @@ public final class TermuxActivity extends Activity implements ServiceConnection private static final int CONTEXTMENU_KILL_PROCESS_ID = 4; private static final int CONTEXTMENU_RESET_TERMINAL_ID = 5; private static final int CONTEXTMENU_STYLING_ID = 6; - private static final int CONTEXTMENU_TOGGLE_FULLSCREEN_ID = 7; private static final int CONTEXTMENU_HELP_ID = 8; private static final int MAX_SESSIONS = 8; @@ -111,8 +111,6 @@ public final class TermuxActivity extends Activity implements ServiceConnection ExtraKeysView mExtraKeysView; - final FullScreenHelper mFullScreenHelper = new FullScreenHelper(this); - TermuxPreferences mSettings; /** @@ -215,7 +213,6 @@ public final class TermuxActivity extends Activity implements ServiceConnection mTerminalView.setOnKeyListener(new TermuxViewClient(this)); mTerminalView.setTextSize(mSettings.getFontSize()); - mFullScreenHelper.setImmersive(mSettings.isFullScreen()); mTerminalView.requestFocus(); final ViewPager viewPager = findViewById(R.id.viewpager); @@ -642,7 +639,7 @@ public final class TermuxActivity extends Activity implements ServiceConnection TerminalSession session = getCurrentTermSession(); final int indexOfSession = mTermService.getSessions().indexOf(session); showToast(toToastTitle(session), false); - mListViewAdapter.notifyDataSetChanged(); + mListViewAdapter.notifyDataSetChanged(); final ListView lv = findViewById(R.id.left_drawer_list); lv.setItemChecked(indexOfSession, true); lv.smoothScrollToPosition(indexOfSession); @@ -657,7 +654,6 @@ public final class TermuxActivity extends Activity implements ServiceConnection menu.add(Menu.NONE, CONTEXTMENU_SHARE_TRANSCRIPT_ID, Menu.NONE, R.string.select_all_and_share); menu.add(Menu.NONE, CONTEXTMENU_RESET_TERMINAL_ID, Menu.NONE, R.string.reset_terminal); menu.add(Menu.NONE, CONTEXTMENU_KILL_PROCESS_ID, Menu.NONE, getResources().getString(R.string.kill_process, getCurrentTermSession().getPid())).setEnabled(currentSession.isRunning()); - menu.add(Menu.NONE, CONTEXTMENU_TOGGLE_FULLSCREEN_ID, Menu.NONE, R.string.toggle_fullscreen).setCheckable(true).setChecked(mSettings.isFullScreen()); menu.add(Menu.NONE, CONTEXTMENU_STYLING_ID, Menu.NONE, R.string.style_terminal); menu.add(Menu.NONE, CONTEXTMENU_HELP_ID, Menu.NONE, R.string.help); } @@ -791,11 +787,8 @@ public final class TermuxActivity extends Activity implements ServiceConnection } }).setNegativeButton(android.R.string.cancel, null).show(); } - } - return true; - case CONTEXTMENU_TOGGLE_FULLSCREEN_ID: - toggleImmersive(); return true; + } case CONTEXTMENU_HELP_ID: startActivity(new Intent(this, TermuxHelpActivity.class)); return true; @@ -811,12 +804,6 @@ public final class TermuxActivity extends Activity implements ServiceConnection } } - void toggleImmersive() { - boolean newValue = !mSettings.isFullScreen(); - mSettings.setFullScreen(this, newValue); - mFullScreenHelper.setImmersive(newValue); - } - void changeFontSize(boolean increase) { mSettings.changeFontSize(this, increase); mTerminalView.setTextSize(mSettings.getFontSize()); @@ -835,9 +822,8 @@ public final class TermuxActivity extends Activity implements ServiceConnection public TerminalSession getStoredCurrentSessionOrLast() { TerminalSession stored = TermuxPreferences.getCurrentSession(this); if (stored != null) return stored; - int numberOfSessions = mTermService.getSessions().size(); - if (numberOfSessions == 0) return null; - return mTermService.getSessions().get(numberOfSessions - 1); + List