Vista previa de pantalla completa de android textureview con la relación de aspecto correcta

He estado trabajando con elcamera2 api demo de google y desafortunadamente, la aplicación de muestra está diseñada para mostrar la vista previa de la vista de textura a aproximadamente el 70% de la altura de la pantalla, después de mirar alrededor pude determinar que esto estaba siendo causado por AutoFitTextureView que anulaba elonMeasure() método como se muestra a continuación:

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    int width = MeasureSpec.getSize(widthMeasureSpec);
    int height = MeasureSpec.getSize(heightMeasureSpec);
    if (0 == mRatioWidth || 0 == mRatioHeight) {
        setMeasuredDimension(width, height);
    } else {
        if (width < height * mRatioWidth / mRatioHeight) {
            setMeasuredDimension(width, width * mRatioHeight / mRatioWidth);
        } else {
            setMeasuredDimension(height * mRatioWidth / mRatioHeight, height);
        }
    }
}

Intenté corregir esto estableciendo las alturas y anchos correctos ensetMeasuredDimension(width, height);, esto solucionó el problema de altura y me dio una vista previa de pantalla completa desde la vista de textura, sin embargo, la relación de aspecto está completamente rota y deformada en cada dispositivo, ¿cuál es la forma estándar de solucionar esto? Veo que muchas aplicaciones en Play Store han encontrado una manera de resolver este problema, pero no han podido localizar una solución, cualquier ayuda será de gran ayuda, gracias.

Respuestas a la pregunta(3)

Su respuesta a la pregunta