Simplify filter switching in demo app

pull/535/head
Mattia Iavarone 6 years ago
parent a37bf497c3
commit 084a9b239b
  1. 84
      demo/src/main/java/com/otaliastudios/cameraview/demo/CameraActivity.java

@ -49,7 +49,8 @@ public class CameraActivity extends AppCompatActivity implements View.OnClickLis
private ViewGroup controlPanel; private ViewGroup controlPanel;
private long mCaptureTime; private long mCaptureTime;
private Filters mCurrentEffect = NONE; private int mCurrentFilter = 0;
private final Filters[] mAllFilters = Filters.values();
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
@ -321,84 +322,17 @@ public class CameraActivity extends AppCompatActivity implements View.OnClickLis
} }
} }
private void changeCurrentFilter(){ private void changeCurrentFilter() {
if (camera.getPreview() != Preview.GL_SURFACE) { if (camera.getPreview() != Preview.GL_SURFACE) {
message("Filters are supported only for GLSurfaceView", true); message("Filters are supported only when preview is Preview.GL_SURFACE.", true);
return; return;
} }
if (mCurrentFilter < mAllFilters.length - 1) {
switch (mCurrentEffect){ mCurrentFilter++;
case NONE: } else {
mCurrentEffect = AUTO_FIX; mCurrentFilter = 0;
break;
case AUTO_FIX:
mCurrentEffect = BLACK_AND_WHITE;
break;
case BLACK_AND_WHITE:
mCurrentEffect = BRIGHTNESS;
break;
case BRIGHTNESS:
mCurrentEffect = CONTRAST;
break;
case CONTRAST:
mCurrentEffect = CROSS_PROCESS;
break;
case CROSS_PROCESS:
mCurrentEffect = DOCUMENTARY;
break;
case DOCUMENTARY:
mCurrentEffect = DUOTONE;
break;
case DUOTONE:
mCurrentEffect = FILL_LIGHT;
break;
case FILL_LIGHT:
mCurrentEffect = GAMMA;
break;
case GAMMA:
mCurrentEffect = GRAIN;
break;
case GRAIN:
mCurrentEffect = GRAYSCALE;
break;
case GRAYSCALE:
mCurrentEffect = HUE;
break;
case HUE:
mCurrentEffect = INVERT_COLORS;
break;
case INVERT_COLORS:
mCurrentEffect = LAMOISH;
break;
case LAMOISH:
mCurrentEffect = POSTERIZE;
break;
case POSTERIZE:
mCurrentEffect = SATURATION;
break;
case SATURATION:
mCurrentEffect = SEPIA;
break;
case SEPIA:
mCurrentEffect = SHARPNESS;
break;
case SHARPNESS:
mCurrentEffect = TEMPERATURE;
break;
case TEMPERATURE:
mCurrentEffect = TINT;
break;
case TINT:
mCurrentEffect = VIGNETTE;
break;
case VIGNETTE:
default:
mCurrentEffect = NONE;
break;
} }
camera.setFilter(mAllFilters[mCurrentFilter]);
camera.setFilter(mCurrentEffect);
} }
@Override @Override

Loading…
Cancel
Save