From bb7b391df3921bd660a87b4c1f8a245972c6cae8 Mon Sep 17 00:00:00 2001 From: Mattia Iavarone Date: Sun, 14 Jul 2019 15:22:47 -0300 Subject: [PATCH] Remove isOverlay --- .../cameraview/CameraViewTest.java | 2 +- .../cameraview/overlay/OverlayLayoutTest.java | 14 +++++--------- .../androidTest/res/layout/not_overlay.xml | 2 -- .../cameraview/overlay/OverlayLayout.java | 19 +++++++++---------- 4 files changed, 15 insertions(+), 22 deletions(-) diff --git a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/CameraViewTest.java b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/CameraViewTest.java index b211fe73..2bdd952f 100644 --- a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/CameraViewTest.java +++ b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/CameraViewTest.java @@ -811,7 +811,7 @@ public class CameraViewTest extends BaseTest { public void testOverlays_addOverlayView() { cameraView.mOverlayLayout = spy(cameraView.mOverlayLayout); View overlay = new View(context()); - OverlayLayout.LayoutParams params = new OverlayLayout.LayoutParams(10, 10, Gravity.CENTER); + OverlayLayout.LayoutParams params = new OverlayLayout.LayoutParams(10, 10); int count = cameraView.getChildCount(); cameraView.addView(overlay, 0, params); assertEquals(count, cameraView.getChildCount()); // Not added to CameraView diff --git a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/overlay/OverlayLayoutTest.java b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/overlay/OverlayLayoutTest.java index 8f390f0e..729385d3 100644 --- a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/overlay/OverlayLayoutTest.java +++ b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/overlay/OverlayLayoutTest.java @@ -78,12 +78,8 @@ public class OverlayLayoutTest extends BaseTest { params = new ViewGroup.LayoutParams(10, 10); assertFalse(overlayLayout.isOverlay(params)); - params = new OverlayLayout.LayoutParams(10, 10, Gravity.CENTER); + params = new OverlayLayout.LayoutParams(10, 10); assertTrue(overlayLayout.isOverlay(params)); - - // Remove the isOverlay flag. - ((OverlayLayout.LayoutParams) params).isOverlay = false; - assertFalse(overlayLayout.isOverlay(params)); } @Test @@ -109,7 +105,7 @@ public class OverlayLayoutTest extends BaseTest { @Test public void testLayoutParams_drawsOn() { - OverlayLayout.LayoutParams params = new OverlayLayout.LayoutParams(10, 10, Gravity.CENTER); + OverlayLayout.LayoutParams params = new OverlayLayout.LayoutParams(10, 10); assertFalse(params.drawsOn(Overlay.Target.PREVIEW)); assertFalse(params.drawsOn(Overlay.Target.PICTURE_SNAPSHOT)); @@ -125,7 +121,7 @@ public class OverlayLayoutTest extends BaseTest { @Test public void testLayoutParams_toString() { - OverlayLayout.LayoutParams params = new OverlayLayout.LayoutParams(10, 10, Gravity.CENTER); + OverlayLayout.LayoutParams params = new OverlayLayout.LayoutParams(10, 10); String string = params.toString(); assertTrue(string.contains("drawOnPreview")); assertTrue(string.contains("drawOnPictureSnapshot")); @@ -135,7 +131,7 @@ public class OverlayLayoutTest extends BaseTest { @Test public void testDrawChild() { Canvas canvas = new Canvas(); - OverlayLayout.LayoutParams params = new OverlayLayout.LayoutParams(10, 10, Gravity.CENTER); + OverlayLayout.LayoutParams params = new OverlayLayout.LayoutParams(10, 10); View child = new View(context()); child.setLayoutParams(params); when(overlayLayout.doDrawChild(canvas, child, 0)).thenReturn(true); @@ -174,7 +170,7 @@ public class OverlayLayoutTest extends BaseTest { public void testDrawOn() { Canvas canvas = spy(new Canvas()); View child = new View(context()); - OverlayLayout.LayoutParams params = new OverlayLayout.LayoutParams(10, 10, Gravity.CENTER); + OverlayLayout.LayoutParams params = new OverlayLayout.LayoutParams(10, 10); params.drawOnPreview = true; params.drawOnPictureSnapshot = true; params.drawOnVideoSnapshot = true; diff --git a/cameraview/src/androidTest/res/layout/not_overlay.xml b/cameraview/src/androidTest/res/layout/not_overlay.xml index ba4fde4f..158a0406 100644 --- a/cameraview/src/androidTest/res/layout/not_overlay.xml +++ b/cameraview/src/androidTest/res/layout/not_overlay.xml @@ -1,6 +1,4 @@ \ No newline at end of file diff --git a/cameraview/src/main/java/com/otaliastudios/cameraview/overlay/OverlayLayout.java b/cameraview/src/main/java/com/otaliastudios/cameraview/overlay/OverlayLayout.java index 2d3c6d90..931a5905 100644 --- a/cameraview/src/main/java/com/otaliastudios/cameraview/overlay/OverlayLayout.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/overlay/OverlayLayout.java @@ -49,7 +49,10 @@ public class OverlayLayout extends FrameLayout implements Overlay { public boolean isOverlay(@Nullable AttributeSet set) { if (set == null) return false; TypedArray a = getContext().obtainStyledAttributes(set, R.styleable.CameraView_Layout); - boolean isOverlay = a.getBoolean(R.styleable.CameraView_Layout_layout_isOverlay, false); + boolean isOverlay = + a.hasValue(R.styleable.CameraView_Layout_layout_drawOnPreview) + || a.hasValue(R.styleable.CameraView_Layout_layout_drawOnPictureSnapshot) + || a.hasValue(R.styleable.CameraView_Layout_layout_drawOnVideoSnapshot); a.recycle(); return isOverlay; } @@ -60,7 +63,7 @@ public class OverlayLayout extends FrameLayout implements Overlay { * @return true if overlay */ public boolean isOverlay(@NonNull ViewGroup.LayoutParams params) { - return params instanceof LayoutParams && (((LayoutParams) params).isOverlay); + return params instanceof LayoutParams; } /** @@ -168,22 +171,18 @@ public class OverlayLayout extends FrameLayout implements Overlay { public static class LayoutParams extends FrameLayout.LayoutParams { @SuppressWarnings("unused") - @VisibleForTesting boolean isOverlay; public boolean drawOnPreview = false; public boolean drawOnPictureSnapshot = false; public boolean drawOnVideoSnapshot = false; - public LayoutParams(int width, int height, int gravity) { - super(width, height, gravity); - isOverlay = true; + public LayoutParams(int width, int height) { + super(width, height); } public LayoutParams(@NonNull Context context, @NonNull AttributeSet attrs) { super(context, attrs); TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CameraView_Layout); try { - // If someone is calling this constructor, they will likely want isOverlay to be true! - isOverlay = a.getBoolean(R.styleable.CameraView_Layout_layout_isOverlay, true); drawOnPreview = a.getBoolean(R.styleable.CameraView_Layout_layout_drawOnPreview, false); drawOnPictureSnapshot = a.getBoolean(R.styleable.CameraView_Layout_layout_drawOnPictureSnapshot, false); drawOnVideoSnapshot = a.getBoolean(R.styleable.CameraView_Layout_layout_drawOnVideoSnapshot, false); @@ -202,8 +201,8 @@ public class OverlayLayout extends FrameLayout implements Overlay { @NonNull @Override public String toString() { - return getClass().getName() + "[isOverlay:" + isOverlay - + ",drawOnPreview:" + drawOnPreview + return getClass().getName() + "[" + + "drawOnPreview:" + drawOnPreview + ",drawOnPictureSnapshot:" + drawOnPictureSnapshot + ",drawOnVideoSnapshot:" + drawOnVideoSnapshot + "]";