package com.dji.sdk.sample.demo.camera; import android.content.Context; import android.util.Log; import com.dji.sdk.sample.R; import com.dji.sdk.sample.internal.controller.DJISampleApplication; import com.dji.sdk.sample.internal.utils.ToastUtils; import com.dji.sdk.sample.internal.view.BaseThreeBtnView; import dji.common.camera.SettingsDefinitions; import dji.common.error.DJIError; import dji.common.util.CommonCallbacks; /** * Class for shooting single photo. */ public class ShootSinglePhotoView extends BaseThreeBtnView { private Context context; public ShootSinglePhotoView(Context context) { super(context); this.context = context; } /** * Every commands relative to the shooting photos are only allowed executed in shootphoto work * mode. */ @Override public void onAttachedToWindow() { super.onAttachedToWindow(); Log.v("Attached To Window", "onAttachedToWindow"); if (isModuleAvailable()) { DJISampleApplication.getProductInstance() .getCamera() .setMode(SettingsDefinitions.CameraMode.SHOOT_PHOTO, new CommonCallbacks.CompletionCallback() { @Override public void onResult(DJIError djiError) { } }); } } private boolean isModuleAvailable() { return (null != DJISampleApplication.getProductInstance()) && (null != DJISampleApplication.getProductInstance() .getCamera()); } @Override protected int getLeftBtnTextResourceId() { return DISABLE; } @Override protected int getDescriptionResourceId() { return getDescription(); } @Override protected void handleLeftBtnClick() { } @Override protected void handleMiddleBtnClick() { //Shoot Photo Button if (isModuleAvailable()) { DJISampleApplication.getProductInstance() .getCamera() .startShootPhoto(new CommonCallbacks.CompletionCallback() { @Override public void onResult(DJIError djiError) { if (null == djiError) { ToastUtils.setResultToToast(getContext().getString(R.string.success)); } else { ToastUtils.setResultToToast(djiError.getDescription()); } post(new Runnable() { @Override public void run() { setEnabled(true); } }); } }); post(new Runnable() { @Override public void run() { middleBtn.setEnabled(false); } }); } } @Override protected void handleRightBtnClick() { } @Override protected int getRightBtnTextResourceId() { return DISABLE; } @Override protected int getMiddleBtnTextResourceId() { return R.string.shoot_single_photo; } @Override public int getDescription() { return R.string.camera_listview_shoot_single_photo; } }