parent
53d044e340
commit
0ce7d30319
@ -0,0 +1,45 @@ |
|||||||
|
package com.otaliastudios.cameraview.engine.action; |
||||||
|
|
||||||
|
import android.hardware.camera2.CaptureRequest; |
||||||
|
import android.hardware.camera2.TotalCaptureResult; |
||||||
|
import android.os.Build; |
||||||
|
|
||||||
|
import androidx.annotation.NonNull; |
||||||
|
import androidx.annotation.RequiresApi; |
||||||
|
|
||||||
|
@RequiresApi(Build.VERSION_CODES.LOLLIPOP) |
||||||
|
public class TimeoutAction extends ActionWrapper { |
||||||
|
|
||||||
|
private long startMillis; |
||||||
|
private long timeoutMillis; |
||||||
|
private BaseAction action; |
||||||
|
|
||||||
|
public TimeoutAction(long timeoutMillis, @NonNull BaseAction action) { |
||||||
|
this.timeoutMillis = timeoutMillis; |
||||||
|
this.action = action; |
||||||
|
} |
||||||
|
|
||||||
|
@NonNull |
||||||
|
@Override |
||||||
|
public BaseAction getAction() { |
||||||
|
return action; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected void onStart(@NonNull ActionHolder holder) { |
||||||
|
startMillis = System.currentTimeMillis(); |
||||||
|
super.onStart(holder); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void onCaptureCompleted(@NonNull ActionHolder holder, |
||||||
|
@NonNull CaptureRequest request, |
||||||
|
@NonNull TotalCaptureResult result) { |
||||||
|
super.onCaptureCompleted(holder, request, result); |
||||||
|
if (!isCompleted()) { |
||||||
|
if (System.currentTimeMillis() > startMillis + timeoutMillis) { |
||||||
|
setState(STATE_COMPLETED); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue