#3215 Additional secure DummySurface device exclusions

This commit is contained in:
Danny Brain 2017-08-31 14:31:18 +10:00
parent 6bf0b7f3de
commit 0c7f11606f

View File

@ -43,6 +43,7 @@ import static android.opengl.GLES20.glGenTextures;
import android.annotation.TargetApi; import android.annotation.TargetApi;
import android.content.Context; import android.content.Context;
import android.content.pm.PackageManager;
import android.graphics.SurfaceTexture; import android.graphics.SurfaceTexture;
import android.graphics.SurfaceTexture.OnFrameAvailableListener; import android.graphics.SurfaceTexture.OnFrameAvailableListener;
import android.opengl.EGL14; import android.opengl.EGL14;
@ -152,9 +153,16 @@ public final class DummySurface extends Surface {
* *
* @param context Any {@link Context}. * @param context Any {@link Context}.
*/ */
@SuppressWarnings("unused") // Context may be needed in the future for better targeting. @SuppressWarnings("unused")
private static boolean deviceNeedsSecureDummySurfaceWorkaround(Context context) { private static boolean deviceNeedsSecureDummySurfaceWorkaround(Context context) {
return Util.SDK_INT == 24 && "samsung".equals(Util.MANUFACTURER); return (Util.SDK_INT == 24 && "samsung".equals(Util.MANUFACTURER))
|| (Util.SDK_INT >= 24 && Util.SDK_INT < 26
&& !hasVrModeHighPerformanceSystemFeatureV24(context.getPackageManager()));
}
@TargetApi(24)
private static boolean hasVrModeHighPerformanceSystemFeatureV24(PackageManager packageManager) {
return packageManager.hasSystemFeature(PackageManager.FEATURE_VR_MODE_HIGH_PERFORMANCE);
} }
private static class DummySurfaceThread extends HandlerThread implements OnFrameAvailableListener, private static class DummySurfaceThread extends HandlerThread implements OnFrameAvailableListener,