diff options
Diffstat (limited to 'app/src/main/java/com/camilstaps/rushhour/util/SystemUiHiderHoneycomb.java')
-rw-r--r-- | app/src/main/java/com/camilstaps/rushhour/util/SystemUiHiderHoneycomb.java | 141 |
1 files changed, 0 insertions, 141 deletions
diff --git a/app/src/main/java/com/camilstaps/rushhour/util/SystemUiHiderHoneycomb.java b/app/src/main/java/com/camilstaps/rushhour/util/SystemUiHiderHoneycomb.java deleted file mode 100644 index d689923..0000000 --- a/app/src/main/java/com/camilstaps/rushhour/util/SystemUiHiderHoneycomb.java +++ /dev/null @@ -1,141 +0,0 @@ -package com.camilstaps.rushhour.util; - -import android.annotation.TargetApi; -import android.app.Activity; -import android.os.Build; -import android.view.View; -import android.view.WindowManager; - -/** - * An API 11+ implementation of {@link SystemUiHider}. Uses APIs available in - * Honeycomb and later (specifically {@link View#setSystemUiVisibility(int)}) to - * show and hide the system UI. - */ -@TargetApi(Build.VERSION_CODES.HONEYCOMB) -public class SystemUiHiderHoneycomb extends SystemUiHiderBase { - /** - * Flags for {@link View#setSystemUiVisibility(int)} to use when showing the - * system UI. - */ - private int mShowFlags; - - /** - * Flags for {@link View#setSystemUiVisibility(int)} to use when hiding the - * system UI. - */ - private int mHideFlags; - - /** - * Flags to test against the first parameter in - * {@link android.view.View.OnSystemUiVisibilityChangeListener#onSystemUiVisibilityChange(int)} - * to determine the system UI visibility state. - */ - private int mTestFlags; - - /** - * Whether or not the system UI is currently visible. This is cached from - * {@link android.view.View.OnSystemUiVisibilityChangeListener}. - */ - private boolean mVisible = true; - - /** - * Constructor not intended to be called by clients. Use - * {@link SystemUiHider#getInstance} to obtain an instance. - */ - protected SystemUiHiderHoneycomb(Activity activity, View anchorView, int flags) { - super(activity, anchorView, flags); - - mShowFlags = View.SYSTEM_UI_FLAG_VISIBLE; - mHideFlags = View.SYSTEM_UI_FLAG_LOW_PROFILE; - mTestFlags = View.SYSTEM_UI_FLAG_LOW_PROFILE; - - if ((mFlags & FLAG_FULLSCREEN) != 0) { - // If the client requested fullscreen, add flags relevant to hiding - // the status bar. Note that some of these constants are new as of - // API 16 (Jelly Bean). It is safe to use them, as they are inlined - // at compile-time and do nothing on pre-Jelly Bean devices. - mShowFlags |= View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN; - mHideFlags |= View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN - | View.SYSTEM_UI_FLAG_FULLSCREEN; - } - - if ((mFlags & FLAG_HIDE_NAVIGATION) != 0) { - // If the client requested hiding navigation, add relevant flags. - mShowFlags |= View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION; - mHideFlags |= View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION - | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; - mTestFlags |= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; - } - } - - /** - * {@inheritDoc} - */ - @Override - public void setup() { - mAnchorView.setOnSystemUiVisibilityChangeListener(mSystemUiVisibilityChangeListener); - } - - /** - * {@inheritDoc} - */ - @Override - public void hide() { - mAnchorView.setSystemUiVisibility(mHideFlags); - } - - /** - * {@inheritDoc} - */ - @Override - public void show() { - mAnchorView.setSystemUiVisibility(mShowFlags); - } - - /** - * {@inheritDoc} - */ - @Override - public boolean isVisible() { - return mVisible; - } - - private View.OnSystemUiVisibilityChangeListener mSystemUiVisibilityChangeListener - = new View.OnSystemUiVisibilityChangeListener() { - @Override - public void onSystemUiVisibilityChange(int vis) { - // Test against mTestFlags to see if the system UI is visible. - if ((vis & mTestFlags) != 0) { - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) { - // Pre-Jelly Bean, we must manually hide the action bar - // and use the old window flags API. - mActivity.getActionBar().hide(); - mActivity.getWindow().setFlags( - WindowManager.LayoutParams.FLAG_FULLSCREEN, - WindowManager.LayoutParams.FLAG_FULLSCREEN); - } - - // Trigger the registered listener and cache the visibility - // state. - mOnVisibilityChangeListener.onVisibilityChange(false); - mVisible = false; - - } else { - mAnchorView.setSystemUiVisibility(mShowFlags); - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) { - // Pre-Jelly Bean, we must manually show the action bar - // and use the old window flags API. - mActivity.getActionBar().show(); - mActivity.getWindow().setFlags( - 0, - WindowManager.LayoutParams.FLAG_FULLSCREEN); - } - - // Trigger the registered listener and cache the visibility - // state. - mOnVisibilityChangeListener.onVisibilityChange(true); - mVisible = true; - } - } - }; -} |