Remove isOverlay

pull/502/head
Mattia Iavarone 6 years ago
parent 56b3e81cde
commit bb7b391df3
  1. 2
      cameraview/src/androidTest/java/com/otaliastudios/cameraview/CameraViewTest.java
  2. 14
      cameraview/src/androidTest/java/com/otaliastudios/cameraview/overlay/OverlayLayoutTest.java
  3. 2
      cameraview/src/androidTest/res/layout/not_overlay.xml
  4. 19
      cameraview/src/main/java/com/otaliastudios/cameraview/overlay/OverlayLayout.java

@ -811,7 +811,7 @@ public class CameraViewTest extends BaseTest {
public void testOverlays_addOverlayView() { public void testOverlays_addOverlayView() {
cameraView.mOverlayLayout = spy(cameraView.mOverlayLayout); cameraView.mOverlayLayout = spy(cameraView.mOverlayLayout);
View overlay = new View(context()); 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(); int count = cameraView.getChildCount();
cameraView.addView(overlay, 0, params); cameraView.addView(overlay, 0, params);
assertEquals(count, cameraView.getChildCount()); // Not added to CameraView assertEquals(count, cameraView.getChildCount()); // Not added to CameraView

@ -78,12 +78,8 @@ public class OverlayLayoutTest extends BaseTest {
params = new ViewGroup.LayoutParams(10, 10); params = new ViewGroup.LayoutParams(10, 10);
assertFalse(overlayLayout.isOverlay(params)); assertFalse(overlayLayout.isOverlay(params));
params = new OverlayLayout.LayoutParams(10, 10, Gravity.CENTER); params = new OverlayLayout.LayoutParams(10, 10);
assertTrue(overlayLayout.isOverlay(params)); assertTrue(overlayLayout.isOverlay(params));
// Remove the isOverlay flag.
((OverlayLayout.LayoutParams) params).isOverlay = false;
assertFalse(overlayLayout.isOverlay(params));
} }
@Test @Test
@ -109,7 +105,7 @@ public class OverlayLayoutTest extends BaseTest {
@Test @Test
public void testLayoutParams_drawsOn() { 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.PREVIEW));
assertFalse(params.drawsOn(Overlay.Target.PICTURE_SNAPSHOT)); assertFalse(params.drawsOn(Overlay.Target.PICTURE_SNAPSHOT));
@ -125,7 +121,7 @@ public class OverlayLayoutTest extends BaseTest {
@Test @Test
public void testLayoutParams_toString() { 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(); String string = params.toString();
assertTrue(string.contains("drawOnPreview")); assertTrue(string.contains("drawOnPreview"));
assertTrue(string.contains("drawOnPictureSnapshot")); assertTrue(string.contains("drawOnPictureSnapshot"));
@ -135,7 +131,7 @@ public class OverlayLayoutTest extends BaseTest {
@Test @Test
public void testDrawChild() { public void testDrawChild() {
Canvas canvas = new Canvas(); 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()); View child = new View(context());
child.setLayoutParams(params); child.setLayoutParams(params);
when(overlayLayout.doDrawChild(canvas, child, 0)).thenReturn(true); when(overlayLayout.doDrawChild(canvas, child, 0)).thenReturn(true);
@ -174,7 +170,7 @@ public class OverlayLayoutTest extends BaseTest {
public void testDrawOn() { public void testDrawOn() {
Canvas canvas = spy(new Canvas()); Canvas canvas = spy(new Canvas());
View child = new View(context()); 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.drawOnPreview = true;
params.drawOnPictureSnapshot = true; params.drawOnPictureSnapshot = true;
params.drawOnVideoSnapshot = true; params.drawOnVideoSnapshot = true;

@ -1,6 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
app:layout_isOverlay="false"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"/> android:layout_height="match_parent"/>

@ -49,7 +49,10 @@ public class OverlayLayout extends FrameLayout implements Overlay {
public boolean isOverlay(@Nullable AttributeSet set) { public boolean isOverlay(@Nullable AttributeSet set) {
if (set == null) return false; if (set == null) return false;
TypedArray a = getContext().obtainStyledAttributes(set, R.styleable.CameraView_Layout); 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(); a.recycle();
return isOverlay; return isOverlay;
} }
@ -60,7 +63,7 @@ public class OverlayLayout extends FrameLayout implements Overlay {
* @return true if overlay * @return true if overlay
*/ */
public boolean isOverlay(@NonNull ViewGroup.LayoutParams params) { 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 { public static class LayoutParams extends FrameLayout.LayoutParams {
@SuppressWarnings("unused") @SuppressWarnings("unused")
@VisibleForTesting boolean isOverlay;
public boolean drawOnPreview = false; public boolean drawOnPreview = false;
public boolean drawOnPictureSnapshot = false; public boolean drawOnPictureSnapshot = false;
public boolean drawOnVideoSnapshot = false; public boolean drawOnVideoSnapshot = false;
public LayoutParams(int width, int height, int gravity) { public LayoutParams(int width, int height) {
super(width, height, gravity); super(width, height);
isOverlay = true;
} }
public LayoutParams(@NonNull Context context, @NonNull AttributeSet attrs) { public LayoutParams(@NonNull Context context, @NonNull AttributeSet attrs) {
super(context, attrs); super(context, attrs);
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CameraView_Layout); TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CameraView_Layout);
try { 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); drawOnPreview = a.getBoolean(R.styleable.CameraView_Layout_layout_drawOnPreview, false);
drawOnPictureSnapshot = a.getBoolean(R.styleable.CameraView_Layout_layout_drawOnPictureSnapshot, false); drawOnPictureSnapshot = a.getBoolean(R.styleable.CameraView_Layout_layout_drawOnPictureSnapshot, false);
drawOnVideoSnapshot = a.getBoolean(R.styleable.CameraView_Layout_layout_drawOnVideoSnapshot, false); drawOnVideoSnapshot = a.getBoolean(R.styleable.CameraView_Layout_layout_drawOnVideoSnapshot, false);
@ -202,8 +201,8 @@ public class OverlayLayout extends FrameLayout implements Overlay {
@NonNull @NonNull
@Override @Override
public String toString() { public String toString() {
return getClass().getName() + "[isOverlay:" + isOverlay return getClass().getName() + "["
+ ",drawOnPreview:" + drawOnPreview + "drawOnPreview:" + drawOnPreview
+ ",drawOnPictureSnapshot:" + drawOnPictureSnapshot + ",drawOnPictureSnapshot:" + drawOnPictureSnapshot
+ ",drawOnVideoSnapshot:" + drawOnVideoSnapshot + ",drawOnVideoSnapshot:" + drawOnVideoSnapshot
+ "]"; + "]";

Loading…
Cancel
Save