public void onResume() {
   CardboardDeviceParams deviceParams = createCardboardDeviceParamsFromExternalStorage();
   if ((deviceParams != null) && (!deviceParams.equals(this.hmd.getCardboardDeviceParams()))) {
     this.hmd.setCardboardDeviceParams(deviceParams);
     Log.i(
         "HeadMountedDisplayManager",
         "Successfully read updated device params from external storage");
   }
   ScreenParams screenParams = createScreenParamsFromExternalStorage(getDisplay());
   if ((screenParams != null) && (!screenParams.equals(this.hmd.getScreenParams()))) {
     this.hmd.setScreenParams(screenParams);
     Log.i(
         "HeadMountedDisplayManager",
         "Successfully read updated screen params from external storage");
   }
 }
 private CardboardDeviceParams createCardboardDeviceParamsFromAssetFolder() {
   Object localObject1;
   try {
     InputStream stream = null;
     try {
       stream =
           new BufferedInputStream(
               ConfigUtils.openAssetConfigFile(this.context.getAssets(), "current_device_params"));
       return CardboardDeviceParams.createFromInputStream(stream);
     } finally {
       if (stream != null) stream.close();
     }
   } catch (FileNotFoundException e) {
     localObject1 = String.valueOf(e);
     Log.d(
         "HeadMountedDisplayManager",
         47
             + String.valueOf(localObject1).length()
             + "Bundled Cardboard device parameters not found: "
             + (String) localObject1);
   } catch (IOException e) {
     localObject1 = String.valueOf(e);
     Log.e(
         "HeadMountedDisplayManager",
         43
             + String.valueOf(localObject1).length()
             + "Error reading config file in asset folder: "
             + (String) localObject1);
   }
   return null;
 }
 private void updateTextureAndDistortionMesh() {
   final ScreenParams screen = this.mHmd.getScreenParams();
   final CardboardDeviceParams cdp = this.mHmd.getCardboardDeviceParams();
   if (this.mProgramHolder == null) {
     this.mProgramHolder = this.createProgramHolder();
   }
   if (this.mProgramHolderAberration == null) {
     this.mProgramHolderAberration = (ProgramHolderAberration) this.createProgramHolder(true);
   }
   final float textureWidthTanAngle = this.mLeftEyeViewport.width + this.mRightEyeViewport.width;
   final float textureHeightTanAngle =
       Math.max(this.mLeftEyeViewport.height, this.mRightEyeViewport.height);
   final int[] maxTextureSize = {0};
   GLES20.glGetIntegerv(GLES20.GL_MAX_TEXTURE_SIZE, maxTextureSize, 0);
   final int textureWidthPx =
       Math.min(Math.round(textureWidthTanAngle * this.mXPxPerTanAngle), maxTextureSize[0]);
   final int textureHeightPx =
       Math.min(Math.round(textureHeightTanAngle * this.mYPxPerTanAngle), maxTextureSize[0]);
   float xEyeOffsetTanAngleScreen =
       (screen.getWidthMeters() / 2.0f - cdp.getInterLensDistance() / 2.0f)
           / this.mMetersPerTanAngle;
   final float yEyeOffsetTanAngleScreen =
       (cdp.getVerticalDistanceToLensCenter() - screen.getBorderSizeMeters())
           / this.mMetersPerTanAngle;
   this.mLeftEyeDistortionMesh =
       this.createDistortionMesh(
           this.mLeftEyeViewport,
           textureWidthTanAngle,
           textureHeightTanAngle,
           xEyeOffsetTanAngleScreen,
           yEyeOffsetTanAngleScreen);
   xEyeOffsetTanAngleScreen =
       screen.getWidthMeters() / this.mMetersPerTanAngle - xEyeOffsetTanAngleScreen;
   this.mRightEyeDistortionMesh =
       this.createDistortionMesh(
           this.mRightEyeViewport,
           textureWidthTanAngle,
           textureHeightTanAngle,
           xEyeOffsetTanAngleScreen,
           yEyeOffsetTanAngleScreen);
   this.setupRenderTextureAndRenderbuffer(textureWidthPx, textureHeightPx);
   this.mFovsChanged = false;
 }
  public boolean updateCardboardDeviceParams(CardboardDeviceParams cardboardDeviceParams) {
    if ((cardboardDeviceParams == null)
        || (cardboardDeviceParams.equals(this.hmd.getCardboardDeviceParams()))) {
      return false;
    }

    this.hmd.setCardboardDeviceParams(cardboardDeviceParams);
    writeCardboardParamsToExternalStorage();
    return true;
  }
  private CardboardDeviceParams createCardboardDeviceParamsFromExternalStorage() {
    Object localObject1;
    try {
      InputStream stream = null;
      try {
        stream =
            new BufferedInputStream(
                new FileInputStream(ConfigUtils.getConfigFile("current_device_params")));

        return CardboardDeviceParams.createFromInputStream(stream);
      } finally {
        if (stream != null)
          try {
            stream.close();
          } catch (IOException localIOException1) {
          }
      }
    } catch (FileNotFoundException e) {
      localObject1 = String.valueOf(e);
      Log.d(
          "HeadMountedDisplayManager",
          44
              + String.valueOf(localObject1).length()
              + "Cardboard device parameters file not found: "
              + (String) localObject1);
    } catch (IllegalStateException e) {
      localObject1 = String.valueOf(e);
      Log.w(
          "HeadMountedDisplayManager",
          43
              + String.valueOf(localObject1).length()
              + "Error reading Cardboard device parameters: "
              + (String) localObject1);
    }
    return null;
  }