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; }