package com.flurgle.camerakit;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
public class CommonAspectRatioFilter {
private List<Size> mPreviewSizes;
private List<Size> mCaptureSizes;
public CommonAspectRatioFilter(List<Size> previewSizes, List<Size> captureSizes) {
this.mPreviewSizes = previewSizes;
this.mCaptureSizes = captureSizes;
}
public TreeSet<AspectRatio> filter() {
Set<AspectRatio> previewAspectRatios = new HashSet<>();
for (Size size : mPreviewSizes) {
if (size.getWidth() >= CameraKit.Internal.screenHeight && size.getHeight() >= CameraKit.Internal.screenWidth) {
previewAspectRatios.add(AspectRatio.of(size.getWidth(), size.getHeight()));
}
}
Set<AspectRatio> captureAspectRatios = new HashSet<>();
for (Size size : mCaptureSizes) {
captureAspectRatios.add(AspectRatio.of(size.getWidth(), size.getHeight()));
}
TreeSet<AspectRatio> output = new TreeSet<>();
for (AspectRatio aspectRatio : previewAspectRatios) {
if (captureAspectRatios.contains(aspectRatio)) {
output.add(aspectRatio);
}
}
return output;
}
}