title: Method loadVideoFromAsset must be called from UI thread
body: <p>I am trying to implement 360 Video Viewer in my project but I am getting an error for the line:</p>
  
  <pre><code>mVrVideoView.loadVideoFromAsset("sea.mp4", options);
  </code></pre>
  
  <p>This is the error</p>
  
  <pre><code>Method loadVideoFromAsset must be called from the UI thread, currently inferred 
  thread is worker
  </code></pre>
  
  <p>Following is my code:</p>
  
  <pre><code>package com.example.jal.jp;
  
  import android.os.AsyncTask;
  import android.os.Bundle;
  import android.support.design.widget.FloatingActionButton;
  import android.support.design.widget.Snackbar;
  import android.support.v7.app.AppCompatActivity;
  import android.support.v7.widget.Toolbar;
  import android.view.View;
  import android.widget.Button;
  import android.widget.SeekBar;
  
  import com.google.vr.sdk.widgets.video.VrVideoEventListener;
  import com.google.vr.sdk.widgets.video.VrVideoView;
  
  import java.io.IOException;
  
  public abstract class VR_Video extends AppCompatActivity implements SeekBar.OnSeekBarChangeListener {
  
      private VrVideoView mVrVideoView;
      private SeekBar mSeekBar;
      private Button mVolumeButton;
  
      private boolean mIsPaused;
      private boolean mIsMuted;
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_vr__video);
  
          initViews();
  
      }
      public void onPlayPausePressed() {
  
      }
  
      public void onVolumeToggleClicked() {
  
      }
  
      @Override
      public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
  
      }
  
      private void initViews() {
          mVrVideoView = (VrVideoView) findViewById(R.id.video_view);
          mSeekBar = (SeekBar) findViewById(R.id.seek_bar);
          mVolumeButton = (Button) findViewById(R.id.btn_volume);
          mVrVideoView.setEventListener(new ActivityEventListener());
          mSeekBar.setOnSeekBarChangeListener(this);
          mVolumeButton.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View view) {
                  onVolumeToggleClicked();
              }
          });
      }
      class VideoLoaderTask extends AsyncTask&lt;Void, Void, Boolean&gt; {
  
          @Override
          protected Boolean doInBackground(Void... voids) {
              try {
                  VrVideoView.Options options = new VrVideoView.Options();
                  options.inputType = VrVideoView.Options.TYPE_MONO;
                  mVrVideoView.loadVideoFromAsset("sea.mp4", options);
              } catch( IOException e ) {
                  //Handle exception
              }
  
              return true;
          }
      }
      public void playPause() {
  
      }
      @Override
      protected void onPause() {
          super.onPause();
          mVrVideoView.pauseRendering();
          mIsPaused = true;
      }
  
      @Override
      protected void onResume() {
          super.onResume();
          mVrVideoView.resumeRendering();
          mIsPaused = false;
      }
  
      @Override
      protected void onDestroy() {
          mVrVideoView.shutdown();
          super.onDestroy();
      }
      private class ActivityEventListener extends VrVideoEventListener {
          @Override
          public void onLoadSuccess() {
              super.onLoadSuccess();
          }
  
          @Override
          public void onLoadError(String errorMessage) {
              super.onLoadError(errorMessage);
          }
  
          @Override
          public void onClick() {
              super.onClick();
          }
  
          @Override
          public void onNewFrame() {
              super.onNewFrame();
          }
  
          @Override
          public void onCompletion() {
              super.onCompletion();
          }
      }
  }
  </code></pre>
  
  <p>Please help. I tried my best but couldn't fix. </p>