I just did one for fun myself. I realized that if you do setPreviewDisplay(holder) in GingerBeard device, it will not work. So I did something like this.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
camera.setPreviewDisplay(mSurfaceView.getHolder());
}