I built an own Camera App and all works fine in my Galaxy Nexus. I've tested the app in some devices and in the Nexus 4 the picture taken is abnormal. As if it were multiplied..

In my PictureCallback I save the picture with this code:
        File pictureFile = getOutputMediaFile(MEDIA_TYPE_IMAGE);
        if (pictureFile == null){
            return;
        }
         try {
            FileOutputStream fos = new FileOutputStream(pictureFile);
            Bitmap realImage = BitmapFactory.decodeByteArray(data, 0, data.length);
            Canvas cs = new Canvas(realImage);
            Paint tPaint = new Paint();
            Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.id_photo);
            cs.drawBitmap(bitmap , cs.getWidth()-bitmap.getWidth() , cs.getHeight()-bitmap.getHeight() , tPaint);
            realImage.compress(Bitmap.CompressFormat.JPEG, 95, fos);
            fos.write(data);
            fos.close();
        } catch (FileNotFoundException e) {
        } catch (IOException e) {
        } 
The Bitmap bitmap is the "Selfie" image, over the picture taken. This drawable is shown correctly, not the photo. It happens only on the nexus 4