content: package com.franticsoftware.spider.spiderenginelauncher;
  
  import android.annotation.SuppressLint;
  import android.support.v7.app.ActionBar;
  import android.support.v7.app.AppCompatActivity;
  import android.os.Bundle;
  import android.os.Handler;
  import android.view.MotionEvent;
  import android.view.View;
  import android.webkit.WebSettings;
  import android.webkit.WebView;
  
  /**
   * An example full-screen activity that shows and hides the system UI (i.e.
   * status bar and navigation/system bar) with user interaction.
   */
  public class FullscreenActivity extends AppCompatActivity {
  
      private String url = "https://spiderengine.io/play/935b6ed3-3add-4995-bbf8-ff7f09d73cfd";
  
      private WebView mWebView;
  
      /**
       * Whether or not the system UI should be auto-hidden after
       * {@link #AUTO_HIDE_DELAY_MILLIS} milliseconds.
       */
      private static final boolean AUTO_HIDE = true;
      /**
       * If {@link #AUTO_HIDE} is set, the number of milliseconds to wait after
       * user interaction before hiding the system UI.
       */
      private static final int AUTO_HIDE_DELAY_MILLIS = 3000;
      /**
       * Some older devices needs a small delay between UI widget updates
       * and a change of the status and navigation bar.
       */
      private static final int UI_ANIMATION_DELAY = 300;
      private final Handler mHideHandler = new Handler();
      private final Runnable mHidePart2Runnable = new Runnable() {
          @SuppressLint("InlinedApi")
          @Override
          public void run() {
              // Delayed removal of status and navigation bar
              // Note that some of these constants are new as of API 16 (Jelly Bean)
              // and API 19 (KitKat). It is safe to use them, as they are inlined
              // at compile-time and do nothing on earlier devices.
              mWebView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE
                      | View.SYSTEM_UI_FLAG_FULLSCREEN
                      | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                      | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
                      | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                      | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
          }
      };
      private final Runnable mShowPart2Runnable = new Runnable() {
          @Override
          public void run() {
              // Delayed display of UI elements
              ActionBar actionBar = getSupportActionBar();
              if (actionBar != null) {
                  actionBar.show();
              }
          }
      };
      private boolean mVisible;
      private final Runnable mHideRunnable = new Runnable() {
          @Override
          public void run() {
              hide();
          }
      };
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_fullscreen);
          mVisible = true;
          mWebView = findViewById(R.id.webview);
          mWebView.getSettings().setJavaScriptEnabled(true);
          mWebView.getSettings().setDomStorageEnabled(true);
          mWebView.getSettings().setUserAgentString("Mozilla/5.0 (Linux; diordnA 7.1.1; suxeN 6 Build/N6F26U; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 eliboM Safari/537.36");
          mWebView.getSettings().setLoadWithOverviewMode(true);
          mWebView.getSettings().setUseWideViewPort(true);
          mWebView.loadUrl(url);
      }
  
  
      @Override
      protected void onPostCreate(Bundle savedInstanceState) {
          super.onPostCreate(savedInstanceState);
          delayedHide(100);
      }
  
      @Override
      protected void onResume() {
          super.onResume();
          delayedHide(100);
      }
  
      private void toggle() {
          if (mVisible) {
              hide();
          } else {
              show();
          }
      }
  
      private void hide() {
          // Hide UI first
          ActionBar actionBar = getSupportActionBar();
          if (actionBar != null) {
              actionBar.hide();
          }
          mVisible = false;
          // Schedule a runnable to remove the status and navigation bar after a delay
          mHideHandler.removeCallbacks(mShowPart2Runnable);
          mHideHandler.postDelayed(mHidePart2Runnable, UI_ANIMATION_DELAY);
      }
  
      @SuppressLint("InlinedApi")
      private void show() {
          // Show the system bar
          mWebView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
          mVisible = true;
          // Schedule a runnable to display UI elements after a delay
          mHideHandler.removeCallbacks(mHidePart2Runnable);
          mHideHandler.postDelayed(mShowPart2Runnable, UI_ANIMATION_DELAY);
      }
  
      /**
       * Schedules a call to hide() in delay milliseconds, canceling any
       * previously scheduled calls.
       */
      private void delayedHide(int delayMillis) {
          mHideHandler.removeCallbacks(mHideRunnable);
          mHideHandler.postDelayed(mHideRunnable, delayMillis);
      }
  }
  