Java Code Examples for android.view.View#SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
The following examples show how to use
android.view.View#SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION .
These examples are extracted from open source projects.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source Project: keemob File: CordovaActivity.java License: MIT License | 6 votes |
/** * Called when view focus is changed */ @SuppressLint("InlinedApi") @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if (hasFocus && immersiveMode) { final int uiOptions = 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; getWindow().getDecorView().setSystemUiVisibility(uiOptions); } }
Example 2
Source Project: xmall File: CordovaActivity.java License: MIT License | 6 votes |
/** * Called when view focus is changed */ @SuppressLint("InlinedApi") @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if (hasFocus && immersiveMode) { final int uiOptions = 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; getWindow().getDecorView().setSystemUiVisibility(uiOptions); } }
Example 3
Source Project: a File: ImmersionBar.java License: GNU General Public License v3.0 | 6 votes |
/** * Hide bar. * 隐藏或显示状态栏和导航栏。 * * @param uiFlags the ui flags * @return the int */ @SuppressLint("ObsoleteSdkInt") private int hideBar(int uiFlags) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { switch (mBarParams.barHide) { case FLAG_HIDE_BAR: uiFlags |= View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.INVISIBLE; break; case FLAG_HIDE_STATUS_BAR: uiFlags |= View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.INVISIBLE; break; case FLAG_HIDE_NAVIGATION_BAR: uiFlags |= View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; break; case FLAG_SHOW_BAR: uiFlags |= View.SYSTEM_UI_FLAG_VISIBLE; break; } } return uiFlags | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; }
Example 4
Source Project: GeometricWeather File: DisplayUtils.java License: GNU Lesser General Public License v3.0 | 6 votes |
public static void setSystemBarStyle(Context context, Window window, boolean miniAlpha, boolean statusShader, boolean lightStatus, boolean navigationShader, boolean lightNavigation) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { return; } // statusShader &= Build.VERSION.SDK_INT < Build.VERSION_CODES.Q; lightStatus &= Build.VERSION.SDK_INT >= Build.VERSION_CODES.M; navigationShader &= Build.VERSION.SDK_INT < Build.VERSION_CODES.Q; lightNavigation &= Build.VERSION.SDK_INT >= Build.VERSION_CODES.O; int visibility = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_STABLE; if (lightStatus) { visibility |= View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR; } if (lightNavigation) { visibility |= View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR; } window.getDecorView().setSystemUiVisibility(visibility); setSystemBarColor(context, window, miniAlpha, statusShader, lightStatus, navigationShader, lightNavigation); }
Example 5
Source Project: Alite File: AndroidUtil.java License: GNU General Public License v3.0 | 6 votes |
@SuppressLint("InlinedApi") public static void setImmersion(View view) { if (view == null || Settings.navButtonsVisible) { return; } int flags = View.SYSTEM_UI_FLAG_LOW_PROFILE; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { flags |= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { flags |= View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_FULLSCREEN; } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { flags |= View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; } if (flags != 0) { view.setSystemUiVisibility(flags); } }
Example 6
Source Project: Mysplash File: DisplayUtils.java License: GNU Lesser General Public License v3.0 | 6 votes |
public static void setSystemBarStyle(MysplashActivity activity, boolean miniAlpha, boolean statusShader, boolean lightStatus, boolean navigationShader, boolean lightNavigation) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { return; } statusShader &= Build.VERSION.SDK_INT < Build.VERSION_CODES.Q; lightStatus &= Build.VERSION.SDK_INT >= Build.VERSION_CODES.M; navigationShader &= Build.VERSION.SDK_INT < Build.VERSION_CODES.Q; lightNavigation &= Build.VERSION.SDK_INT >= Build.VERSION_CODES.O; int visibility = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_STABLE; if (lightStatus) { visibility |= View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR; } if (lightNavigation) { visibility |= View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR; } activity.getWindow().getDecorView().setSystemUiVisibility(visibility); setSystemBarColor(activity, miniAlpha, statusShader, lightStatus, navigationShader, lightNavigation); }
Example 7
Source Project: Android-Architecture File: StatusBarUtil.java License: Apache License 2.0 | 6 votes |
/** * 设置状态栏颜色 * * @param activity * @param color */ @RequiresApi(api = Build.VERSION_CODES.KITKAT) public static void setColor(Activity activity, int color) { View decorView = activity.getWindow().getDecorView(); int option = View.SYSTEM_UI_FLAG_LAYOUT_STABLE // | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN//全屏,显示状态栏 | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;//隐藏虚拟按键 decorView.setSystemUiVisibility(option); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { //添加flag来设置状态栏颜色 activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); activity.getWindow().setStatusBarColor(color);//设置状态栏颜色 if (NavigationBarUtil.hasNavigationBar(activity)) {//若有虚拟按键 activity.getWindow().setNavigationBarColor(color);//设置虚拟按键颜色 } } else {//处理4.4 activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); } }
Example 8
Source Project: DevUtils File: BarUtils.java License: Apache License 2.0 | 6 votes |
/** * 设置 Navigation Bar 是否可见 * @param window {@link Window} * @param isVisible 是否显示 Navigation Bar * @return {@code true} success, {@code false} fail */ public static boolean setNavBarVisibility(final Window window, final boolean isVisible) { if (window != null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { final ViewGroup decorView = (ViewGroup) window.getDecorView(); for (int i = 0, count = decorView.getChildCount(); i < count; i++) { final View child = decorView.getChildAt(i); final int id = child.getId(); if (id != View.NO_ID) { String resourceEntryName = Resources.getSystem().getResourceEntryName(id); if ("navigationBarBackground".equals(resourceEntryName)) { child.setVisibility(isVisible ? View.VISIBLE : View.INVISIBLE); } } } final int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; if (isVisible) { decorView.setSystemUiVisibility(decorView.getSystemUiVisibility() & ~uiOptions); } else { decorView.setSystemUiVisibility(decorView.getSystemUiVisibility() | uiOptions); } return true; } return false; }
Example 9
Source Project: Rucky File: InitActivity.java License: GNU General Public License v3.0 | 6 votes |
public void hideNavigationBar() { final View decorView = this.getWindow().getDecorView(); final int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_IMMERSIVE | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; Timer timer = new Timer(); TimerTask task = new TimerTask() { @Override public void run() { InitActivity.this.runOnUiThread(() -> decorView.setSystemUiVisibility(uiOptions)); } }; timer.scheduleAtFixedRate(task, 1, 2); }
Example 10
Source Project: light-novel-library_Wenku8_Android File: VerticalReaderActivity.java License: GNU General Public License v2.0 | 6 votes |
@Override protected void onResume() { super.onResume(); MobclickAgent.onResume(this); // set navigation bar status, remember to disable "setNavigationBarTintEnabled" final int 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_IMMERSIVE_STICKY; // This work only for android 4.4+ if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { getWindow().getDecorView().setSystemUiVisibility(flags); // Code below is to handle presses of Volume up or Volume down. // Without this, after pressing volume buttons, the navigation bar will // show up and won't hide final View decorView = getWindow().getDecorView(); decorView.setOnSystemUiVisibilityChangeListener(visibility -> { if((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) { decorView.setSystemUiVisibility(flags); } }); } }
Example 11
Source Project: DMusic File: Util.java License: Apache License 2.0 | 6 votes |
/** * 隐藏状态栏&&导航栏 */ public static void hideSystemUI(Activity activity, View... views) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { // 4.1 above API level 16 int uist = View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LOW_PROFILE | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { uist |= View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; } View decorView = activity.getWindow().getDecorView(); decorView.setSystemUiVisibility(uist); // Some views can setFitsSystemWindows(true), setPadding() setFitsPadding(0, getStatusBarHeight(activity), getNavigationBarHeight(activity), 0, views); } else { WindowManager.LayoutParams attrs = activity.getWindow().getAttributes(); attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN; activity.getWindow().setAttributes(attrs); activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); } }
Example 12
Source Project: Musicoco File: Utils.java License: Apache License 2.0 | 5 votes |
@Deprecated public static void hideSystemNavigationBar(Activity activity) { if (Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) { View view = activity.getWindow().getDecorView(); view.setSystemUiVisibility(View.GONE); } else if (Build.VERSION.SDK_INT >= 19) { View decorView = activity.getWindow().getDecorView(); int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION; // | View.SYSTEM_UI_FLAG_FULLSCREEN; decorView.setSystemUiVisibility(uiOptions); } }
Example 13
Source Project: MHViewer File: SystemUiHelperImplJB.java License: Apache License 2.0 | 5 votes |
@Override protected int createShowFlags() { int flag = super.createShowFlags(); if (mLevel >= SystemUiHelper.LEVEL_HIDE_STATUS_BAR) { flag |= View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN; if (mLevel >= SystemUiHelper.LEVEL_LEAN_BACK) { flag |= View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION; } } return flag; }
Example 14
Source Project: ultimate-cordova-webview-app File: CordovaActivity.java License: MIT License | 5 votes |
/** * Called when view focus is changed */ @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if (hasFocus && immersiveMode) { final int uiOptions = 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; getWindow().getDecorView().setSystemUiVisibility(uiOptions); } }
Example 15
Source Project: HgLauncher File: ViewUtils.java License: GNU General Public License v3.0 | 5 votes |
@TargetApi(Build.VERSION_CODES.JELLY_BEAN) public static int setWindowbarMode(String mode) { int baseLayout; if (Utils.sdkIsAround(19)) { baseLayout = View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; } else { baseLayout = View.SYSTEM_UI_FLAG_LAYOUT_STABLE; } int noStatusLayout = baseLayout | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_FULLSCREEN; int noNavLayout = baseLayout | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; switch (mode) { case "status": return noStatusLayout; case "nav": return noNavLayout; case "both": return noStatusLayout | noNavLayout; case "none": default: return View.SYSTEM_UI_LAYOUT_FLAGS; } }
Example 16
Source Project: Android-Application-ZJB File: BaseActivity.java License: Apache License 2.0 | 5 votes |
/** * If the Android version is higher than KitKat(API>=19) <br> use this call to show & hide * * @param enable */ @SuppressLint("NewApi") public final void makeFullScreenAfterKitKat(boolean enable) { try { View decorView = getWindow().getDecorView(); if (enable) { int uiOptionsEnable = 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; decorView.setSystemUiVisibility(uiOptionsEnable); } else { int uiOptionsDisable = View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; decorView.setSystemUiVisibility(uiOptionsDisable); } } catch (Exception e) { WindowManager.LayoutParams lp = getWindow().getAttributes(); if (enable) { lp.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; } else { lp.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); } getWindow().setAttributes(lp); } }
Example 17
Source Project: v9porn File: ExoVideoControlsMobile.java License: MIT License | 5 votes |
/** * Correctly sets up the fullscreen flags to avoid popping when we switch * between fullscreen and not */ private void initUiFlags() { int flags = View.SYSTEM_UI_FLAG_VISIBLE; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { flags |= View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION; } View decorView = ActivityUtils.getWindow(getContext()).getDecorView(); if (decorView != null) { decorView.setSystemUiVisibility(flags); decorView.setOnSystemUiVisibilityChangeListener(fullScreenListener); } }
Example 18
Source Project: SkyTube File: ImmersiveModeFragment.java License: GNU General Public License v3.0 | 5 votes |
/** * Change the navigation bar's visibility status. */ private void changeNavigationBarVisibility(boolean setBarToVisible) { try { int newUiOptions = getActivity().getWindow().getDecorView().getSystemUiVisibility(); // navigation bar hiding: backwards compatible to ICS. if (Build.VERSION.SDK_INT >= 14) { newUiOptions = setBarToVisible ? newUiOptions & ~View.SYSTEM_UI_FLAG_HIDE_NAVIGATION : newUiOptions | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; } // status bar hiding: backwards compatible to Jellybean if (Build.VERSION.SDK_INT >= 16) { newUiOptions = setBarToVisible ? newUiOptions & ~View.SYSTEM_UI_FLAG_FULLSCREEN & ~View.SYSTEM_UI_FLAG_LAYOUT_STABLE & ~View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION & ~View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN : newUiOptions | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN; } // immersive mode: backward compatible to KitKat if (Build.VERSION.SDK_INT >= 19) { newUiOptions = setBarToVisible ? newUiOptions & ~View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY : newUiOptions | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; } getActivity().getWindow().getDecorView().setSystemUiVisibility(newUiOptions); } catch (Throwable tr) { Logger.e(this, "Exception caught while trying to change the nav bar visibility...", tr); } }
Example 19
Source Project: PLDroidShortVideo File: VideoRecordActivity.java License: Apache License 2.0 | 5 votes |
@Override protected void onStart() { super.onStart(); if (Build.VERSION.SDK_INT >= 19 && Utils.checkDeviceHasNavigationBar(this)) { int flag = 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 // hide | View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; mDecorView.setSystemUiVisibility(flag); } }
Example 20
Source Project: GravityBox File: ModExpandedDesktop.java License: Apache License 2.0 | 4 votes |
@Override protected Object replaceHookedMethod(MethodHookParam param) throws Throwable { if (DEBUG_LAYOUT) log("getContentInsetHintLw"); try { if (!isImmersiveModeActive()) { return XposedBridge.invokeOriginalMethod(param.method, param.thisObject, param.args); } WindowManager.LayoutParams attrs = (WindowManager.LayoutParams) param.args[0]; final int displayRotation = (int) param.args[1]; Rect contentInset = (Rect) param.args[2]; Rect stableInset = (Rect) param.args[3]; Rect outOutsets = (Rect) param.args[4]; final int fl = updateWindowManagerVisibilityFlagsForExpandedDesktop(attrs.flags); final int systemUiVisibility = updateSystemUiVisibilityFlagsForExpandedDesktop(attrs.systemUiVisibility | XposedHelpers.getIntField(attrs, "subtreeSystemUiVisibility")); final boolean useOutsets = outOutsets != null && (boolean) mShouldUseOutsets.invoke(param.thisObject, attrs, fl); if (useOutsets) { int outset = (int) XposedHelpers.callStaticMethod(mClsScreenShapeHelper, "getWindowOutsetBottomPx", mContext.getResources()); if (outset > 0) { if (displayRotation == Surface.ROTATION_0) { outOutsets.bottom += outset; } else if (displayRotation == Surface.ROTATION_90) { outOutsets.right += outset; } else if (displayRotation == Surface.ROTATION_180) { outOutsets.top += outset; } else if (displayRotation == Surface.ROTATION_270) { outOutsets.left += outset; } } } if ((fl & (WmLp.FLAG_LAYOUT_IN_SCREEN | WmLp.FLAG_LAYOUT_INSET_DECOR)) == (WmLp.FLAG_LAYOUT_IN_SCREEN | WmLp.FLAG_LAYOUT_INSET_DECOR)) { int availRight, availBottom; if ((Boolean) mCanHideNavigationBar.invoke(param.thisObject) && (systemUiVisibility & View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION) != 0) { availRight = getInt("mUnrestrictedScreenLeft") + getInt("mUnrestrictedScreenWidth"); availBottom = getInt("mUnrestrictedScreenTop") + getInt("mUnrestrictedScreenHeight"); } else { availRight = getInt("mRestrictedScreenLeft") + getInt("mRestrictedScreenWidth"); availBottom = getInt("mRestrictedScreenTop") + getInt("mRestrictedScreenHeight"); } if ((systemUiVisibility & View.SYSTEM_UI_FLAG_LAYOUT_STABLE) != 0) { if ((fl & WmLp.FLAG_FULLSCREEN) != 0) { contentInset.set(getInt("mStableFullscreenLeft"), getInt("mStableFullscreenTop"), availRight - getInt("mStableFullscreenRight"), availBottom - getInt("mStableFullscreenBottom")); } else { contentInset.set(getInt("mStableLeft"), getInt("mStableTop"), availRight - getInt("mStableRight"), availBottom - getInt("mStableBottom")); } } else if ((fl & WmLp.FLAG_FULLSCREEN) != 0 || (fl & WmLp.FLAG_LAYOUT_IN_OVERSCAN) != 0) { contentInset.setEmpty(); } else if ((systemUiVisibility & (View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN)) == 0) { contentInset.set(getInt("mCurLeft"), getInt("mCurTop"), availRight - getInt("mCurRight"), availBottom - getInt("mCurBottom")); } else { contentInset.set(getInt("mCurLeft"), getInt("mCurTop"), availRight - getInt("mCurRight"), availBottom - getInt("mCurBottom")); } if (stableInset != null) { stableInset.set(getInt("mStableLeft"), getInt("mStableTop"), availRight - getInt("mStableRight"), availBottom - getInt("mStableBottom")); } return null; } contentInset.setEmpty(); if (stableInset != null) { stableInset.setEmpty(); } return null; } catch (Throwable t) { logAndMute(param.method.getName(), t); return XposedBridge.invokeOriginalMethod(param.method, param.thisObject, param.args); } }