Android Open Source - android-example-app System Ui Hider Base






From Project

Back to project page android-example-app.

License

The source code is released under:

This is free and unencumbered software released into the public domain. Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a co...

If you think the Android project android-example-app listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.heyzap.ads.example.integration.util;
/*from   ww w.  j  a  v a  2s .c o  m*/
import android.app.Activity;
import android.view.View;
import android.view.WindowManager;

/**
 * A base implementation of {@link SystemUiHider}. Uses APIs available in all
 * API levels to show and hide the status bar.
 */
public class SystemUiHiderBase extends SystemUiHider {
  /**
   * Whether or not the system UI is currently visible. This is a cached value
   * from calls to {@link #hide()} and {@link #show()}.
   */
  private boolean mVisible = true;

  /**
   * Constructor not intended to be called by clients. Use
   * {@link SystemUiHider#getInstance} to obtain an instance.
   */
  protected SystemUiHiderBase(Activity activity, View anchorView, int flags) {
    super(activity, anchorView, flags);
  }

  @Override
  public void setup() {
    if ((mFlags & FLAG_LAYOUT_IN_SCREEN_OLDER_DEVICES) == 0) {
      mActivity.getWindow().setFlags(
          WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
              | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
          WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
              | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
    }
  }

  @Override
  public boolean isVisible() {
    return mVisible;
  }

  @Override
  public void hide() {
    if ((mFlags & FLAG_FULLSCREEN) != 0) {
      mActivity.getWindow().setFlags(
          WindowManager.LayoutParams.FLAG_FULLSCREEN,
          WindowManager.LayoutParams.FLAG_FULLSCREEN);
    }
    mOnVisibilityChangeListener.onVisibilityChange(false);
    mVisible = false;
  }

  @Override
  public void show() {
    if ((mFlags & FLAG_FULLSCREEN) != 0) {
      mActivity.getWindow().setFlags(0,
          WindowManager.LayoutParams.FLAG_FULLSCREEN);
    }
    mOnVisibilityChangeListener.onVisibilityChange(true);
    mVisible = true;
  }
}




Java Source Code List

com.heyzap.ads.example.integration.HeyzapActivity.java
com.heyzap.ads.example.integration.util.SystemUiHiderBase.java
com.heyzap.ads.example.integration.util.SystemUiHider.java