Skip to content

Commit 37ffe51

Browse files
committed
fix sample problem
1 parent c2e3015 commit 37ffe51

File tree

6 files changed

+82
-77
lines changed

6 files changed

+82
-77
lines changed

Sample Code/app/build.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,10 @@ dependencies {
8484
* Both will greatly reducing the size of the APK.
8585
*/
8686
exclude module: 'library-anti-distortion'
87+
exclude module: 'utmiss'
8788
//exclude module: 'fly-safe-database'
8889
})
90+
implementation 'com.dji:utmiss:1.0.8'
8991
compileOnly 'com.dji:dji-sdk-provided:4.14-trial1'
9092

9193
implementation 'androidx.appcompat:appcompat:1.0.0'

Sample Code/app/src/main/java/com/dji/sdk/sample/demo/camera/RecordVideoView.java

Lines changed: 43 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -36,34 +36,38 @@ public RecordVideoView(Context context) {
3636
protected void onAttachedToWindow() {
3737
super.onAttachedToWindow();
3838

39-
if (ModuleVerificationUtil.isCameraModuleAvailable()) {
39+
if (!ModuleVerificationUtil.isCameraModuleAvailable()) {
40+
return;
41+
}
42+
if (ModuleVerificationUtil.isMavicAir2()){
4043
DJISampleApplication.getProductInstance()
4144
.getCamera()
42-
.setMode(SettingsDefinitions.CameraMode.RECORD_VIDEO,
43-
new CommonCallbacks.CompletionCallback() {
44-
@Override
45-
public void onResult(DJIError djiError) {
46-
ToastUtils.setResultToToast("SetCameraMode to recordVideo");
47-
}
48-
});
45+
.setFlatMode(SettingsDefinitions.FlatCameraMode.VIDEO_NORMAL, djiError -> ToastUtils.setResultToToast("SetCameraMode to recordVideo"));
46+
return;
4947
}
48+
DJISampleApplication.getProductInstance()
49+
.getCamera()
50+
.setMode(SettingsDefinitions.CameraMode.RECORD_VIDEO, djiError -> ToastUtils.setResultToToast("SetCameraMode to recordVideo"));
5051
}
5152

5253
@Override
5354
public void onDetachedFromWindow() {
5455
super.onDetachedFromWindow();
5556

5657
if (ModuleVerificationUtil.isCameraModuleAvailable()) {
58+
return;
59+
}
60+
61+
if (ModuleVerificationUtil.isMavicAir2()){
5762
DJISampleApplication.getProductInstance()
5863
.getCamera()
59-
.setMode(SettingsDefinitions.CameraMode.SHOOT_PHOTO,
60-
new CommonCallbacks.CompletionCallback() {
61-
@Override
62-
public void onResult(DJIError djiError) {
63-
ToastUtils.setResultToToast("SetCameraMode to shootPhoto");
64-
}
65-
});
64+
.setFlatMode(SettingsDefinitions.FlatCameraMode.PHOTO_SINGLE, djiError -> ToastUtils.setResultToToast("SetCameraMode to shootPhoto"));
65+
return;
6666
}
67+
DJISampleApplication.getProductInstance()
68+
.getCamera()
69+
.setMode(SettingsDefinitions.CameraMode.SHOOT_PHOTO, djiError -> ToastUtils.setResultToToast("SetCameraMode to shootPhoto"));
70+
6771
}
6872

6973
@Override
@@ -93,28 +97,25 @@ protected void handleLeftBtnClick() {
9397
if (ModuleVerificationUtil.isCameraModuleAvailable()) {
9498
DJISampleApplication.getProductInstance()
9599
.getCamera()
96-
.startRecordVideo(new CommonCallbacks.CompletionCallback() {
97-
@Override
98-
public void onResult(DJIError djiError) {
99-
//success so, start recording
100-
if (null == djiError) {
101-
ToastUtils.setResultToToast("Start record");
102-
timer = new Timer();
103-
timer.schedule(new TimerTask() {
104-
@Override
105-
public void run() {
106-
timeCounter = timeCounter + 1;
107-
hours = TimeUnit.MILLISECONDS.toHours(timeCounter);
108-
minutes =
109-
TimeUnit.MILLISECONDS.toMinutes(timeCounter) - (hours * 60);
110-
seconds = TimeUnit.MILLISECONDS.toSeconds(timeCounter) - ((hours
111-
* 60
112-
* 60) + (minutes * 60));
113-
time = String.format("%02d:%02d:%02d", hours, minutes, seconds);
114-
changeDescription(time);
115-
}
116-
}, 0, 1);
117-
}
100+
.startRecordVideo(djiError -> {
101+
//success so, start recording
102+
if (null == djiError) {
103+
ToastUtils.setResultToToast("Start record");
104+
timer = new Timer();
105+
timer.schedule(new TimerTask() {
106+
@Override
107+
public void run() {
108+
timeCounter = timeCounter + 1;
109+
hours = TimeUnit.MILLISECONDS.toHours(timeCounter);
110+
minutes =
111+
TimeUnit.MILLISECONDS.toMinutes(timeCounter) - (hours * 60);
112+
seconds = TimeUnit.MILLISECONDS.toSeconds(timeCounter) - ((hours
113+
* 60
114+
* 60) + (minutes * 60));
115+
time = String.format("%02d:%02d:%02d", hours, minutes, seconds);
116+
changeDescription(time);
117+
}
118+
}, 0, 1);
118119
}
119120
});
120121
}
@@ -126,14 +127,11 @@ protected void handleRightBtnClick() {
126127
if (ModuleVerificationUtil.isCameraModuleAvailable()) {
127128
DJISampleApplication.getProductInstance()
128129
.getCamera()
129-
.stopRecordVideo(new CommonCallbacks.CompletionCallback() {
130-
@Override
131-
public void onResult(DJIError djiError) {
132-
ToastUtils.setResultToToast("StopRecord");
133-
changeDescription("00:00:00");
134-
timer.cancel();
135-
timeCounter = 0;
136-
}
130+
.stopRecordVideo(djiError -> {
131+
ToastUtils.setResultToToast("StopRecord");
132+
changeDescription("00:00:00");
133+
timer.cancel();
134+
timeCounter = 0;
137135
});
138136
}
139137
}

Sample Code/app/src/main/java/com/dji/sdk/sample/demo/camera/ShootSinglePhotoView.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
import com.dji.sdk.sample.R;
77
import com.dji.sdk.sample.internal.controller.DJISampleApplication;
8+
import com.dji.sdk.sample.internal.utils.ModuleVerificationUtil;
89
import com.dji.sdk.sample.internal.utils.ToastUtils;
910
import com.dji.sdk.sample.internal.view.BaseThreeBtnView;
1011

@@ -32,18 +33,16 @@ public ShootSinglePhotoView(Context context) {
3233
public void onAttachedToWindow() {
3334
super.onAttachedToWindow();
3435
Log.v("Attached To Window", "onAttachedToWindow");
35-
3636
if (isModuleAvailable()) {
37-
37+
if (ModuleVerificationUtil.isMavicAir2()){
38+
DJISampleApplication.getProductInstance()
39+
.getCamera()
40+
.setFlatMode(SettingsDefinitions.FlatCameraMode.PHOTO_SINGLE, djiError -> ToastUtils.setResultToToast("SetCameraMode to shootPhoto"));
41+
return;
42+
}
3843
DJISampleApplication.getProductInstance()
3944
.getCamera()
40-
.setMode(SettingsDefinitions.CameraMode.SHOOT_PHOTO,
41-
new CommonCallbacks.CompletionCallback() {
42-
@Override
43-
public void onResult(DJIError djiError) {
44-
45-
}
46-
});
45+
.setMode(SettingsDefinitions.CameraMode.SHOOT_PHOTO, djiError -> ToastUtils.setResultToToast("SetCameraMode to shootPhoto"));
4746
}
4847
}
4948

Sample Code/app/src/main/java/com/dji/sdk/sample/demo/missionoperator/WaypointV2MissionOperatorView.java

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,7 @@ private void uploadWaypointAction(List<WaypointV2Action> waypointV2ActionList) {
371371
.build();
372372

373373
WaypointV2Action waypointAction0 = new WaypointV2Action.Builder()
374-
.setActionID(0)
374+
.setActionID(1)
375375
.setTrigger(waypointAction0Trigger)
376376
.setActuator(waypointAction0Actuator)
377377
.build();
@@ -380,7 +380,7 @@ private void uploadWaypointAction(List<WaypointV2Action> waypointV2ActionList) {
380380
WaypointTrigger waypointAction1Trigger = new WaypointTrigger.Builder()
381381
.setTriggerType(ActionTypes.ActionTriggerType.ASSOCIATE)
382382
.setAssociateParam(new WaypointV2AssociateTriggerParam.Builder()
383-
.setAssociateActionID(0)
383+
.setAssociateActionID(1)
384384
.setAssociateType(ActionTypes.AssociatedTimingType.AFTER_FINISHED)
385385
.setWaitingTime(0)
386386
.build())
@@ -397,7 +397,7 @@ private void uploadWaypointAction(List<WaypointV2Action> waypointV2ActionList) {
397397
.build();
398398

399399
WaypointV2Action waypointAction1 = new WaypointV2Action.Builder()
400-
.setActionID(1)
400+
.setActionID(2)
401401
.setTrigger(waypointAction1Trigger)
402402
.setActuator(waypointAction1Actuator)
403403
.build();
@@ -406,7 +406,7 @@ private void uploadWaypointAction(List<WaypointV2Action> waypointV2ActionList) {
406406
WaypointTrigger waypointAction2Trigger = new WaypointTrigger.Builder()
407407
.setTriggerType(ActionTypes.ActionTriggerType.ASSOCIATE)
408408
.setAssociateParam(new WaypointV2AssociateTriggerParam.Builder()
409-
.setAssociateActionID(1)
409+
.setAssociateActionID(2)
410410
.setAssociateType(ActionTypes.AssociatedTimingType.AFTER_FINISHED)
411411
.setWaitingTime(0)
412412
.build())
@@ -427,7 +427,7 @@ private void uploadWaypointAction(List<WaypointV2Action> waypointV2ActionList) {
427427
.build();
428428

429429
WaypointV2Action waypointAction2 = new WaypointV2Action.Builder()
430-
.setActionID(2)
430+
.setActionID(3)
431431
.setTrigger(waypointAction2Trigger)
432432
.setActuator(waypointAction2Actuator)
433433
.build();
@@ -436,7 +436,7 @@ private void uploadWaypointAction(List<WaypointV2Action> waypointV2ActionList) {
436436
WaypointTrigger waypointAction3Trigger = new WaypointTrigger.Builder()
437437
.setTriggerType(ActionTypes.ActionTriggerType.ASSOCIATE)
438438
.setAssociateParam(new WaypointV2AssociateTriggerParam.Builder()
439-
.setAssociateActionID(2)
439+
.setAssociateActionID(3)
440440
.setAssociateType(ActionTypes.AssociatedTimingType.AFTER_FINISHED)
441441
.setWaitingTime(0)
442442
.build())
@@ -450,7 +450,7 @@ private void uploadWaypointAction(List<WaypointV2Action> waypointV2ActionList) {
450450
.build();
451451

452452
WaypointV2Action waypointAction3 = new WaypointV2Action.Builder()
453-
.setActionID(3)
453+
.setActionID(4)
454454
.setTrigger(waypointAction3Trigger)
455455
.setActuator(waypointAction3Actuator)
456456
.build();
@@ -459,7 +459,7 @@ private void uploadWaypointAction(List<WaypointV2Action> waypointV2ActionList) {
459459
WaypointTrigger waypointAction4Trigger = new WaypointTrigger.Builder()
460460
.setTriggerType(ActionTypes.ActionTriggerType.ASSOCIATE)
461461
.setAssociateParam(new WaypointV2AssociateTriggerParam.Builder()
462-
.setAssociateActionID(3)
462+
.setAssociateActionID(4)
463463
.setAssociateType(ActionTypes.AssociatedTimingType.AFTER_FINISHED)
464464
.setWaitingTime(0)
465465
.build())
@@ -480,7 +480,7 @@ private void uploadWaypointAction(List<WaypointV2Action> waypointV2ActionList) {
480480
.build();
481481

482482
WaypointV2Action waypointAction4 = new WaypointV2Action.Builder()
483-
.setActionID(4)
483+
.setActionID(5)
484484
.setTrigger(waypointAction4Trigger)
485485
.setActuator(waypointAction4Actuator)
486486
.build();
@@ -489,7 +489,7 @@ private void uploadWaypointAction(List<WaypointV2Action> waypointV2ActionList) {
489489
WaypointTrigger waypointAction5Trigger = new WaypointTrigger.Builder()
490490
.setTriggerType(ActionTypes.ActionTriggerType.ASSOCIATE)
491491
.setAssociateParam(new WaypointV2AssociateTriggerParam.Builder()
492-
.setAssociateActionID(4)
492+
.setAssociateActionID(5)
493493
.setAssociateType(ActionTypes.AssociatedTimingType.AFTER_FINISHED)
494494
.setWaitingTime(0)
495495
.build())
@@ -506,7 +506,7 @@ private void uploadWaypointAction(List<WaypointV2Action> waypointV2ActionList) {
506506
.build();
507507

508508
WaypointV2Action waypointAction5 = new WaypointV2Action.Builder()
509-
.setActionID(5)
509+
.setActionID(6)
510510
.setTrigger(waypointAction5Trigger)
511511
.setActuator(waypointAction5Actuator)
512512
.build();
@@ -535,7 +535,7 @@ private void uploadWaypointAction(List<WaypointV2Action> waypointV2ActionList) {
535535
.build();
536536

537537
WaypointV2Action waypointAction6 = new WaypointV2Action.Builder()
538-
.setActionID(6)
538+
.setActionID(7)
539539
.setTrigger(waypointAction6Trigger)
540540
.setActuator(waypointAction6Actuator)
541541
.build();
@@ -564,7 +564,7 @@ private void uploadWaypointAction(List<WaypointV2Action> waypointV2ActionList) {
564564
.build();
565565

566566
WaypointV2Action waypointAction7 = new WaypointV2Action.Builder()
567-
.setActionID(7)
567+
.setActionID(8)
568568
.setTrigger(waypointAction7Trigger)
569569
.setActuator(waypointAction7Actuator)
570570
.build();
@@ -593,7 +593,7 @@ private void uploadWaypointAction(List<WaypointV2Action> waypointV2ActionList) {
593593
.build();
594594

595595
WaypointV2Action waypointAction8 = new WaypointV2Action.Builder()
596-
.setActionID(8)
596+
.setActionID(9)
597597
.setTrigger(waypointAction8Trigger)
598598
.setActuator(waypointAction8Actuator)
599599
.build();
@@ -615,7 +615,7 @@ private void uploadWaypointAction(List<WaypointV2Action> waypointV2ActionList) {
615615
.build();
616616

617617
WaypointV2Action waypointAction9 = new WaypointV2Action.Builder()
618-
.setActionID(9)
618+
.setActionID(10)
619619
.setTrigger(waypointAction9Trigger)
620620
.setActuator(waypointAction9Actuator)
621621
.build();
@@ -647,7 +647,7 @@ private void uploadWaypointAction(List<WaypointV2Action> waypointV2ActionList) {
647647
.build();
648648

649649
WaypointV2Action waypointAction10 = new WaypointV2Action.Builder()
650-
.setActionID(10)
650+
.setActionID(11)
651651
.setTrigger(waypointAction10Trigger)
652652
.setActuator(waypointAction10Actuator)
653653
.build();
@@ -656,7 +656,7 @@ private void uploadWaypointAction(List<WaypointV2Action> waypointV2ActionList) {
656656
WaypointTrigger waypointAction11Trigger = new WaypointTrigger.Builder()
657657
.setTriggerType(ActionTypes.ActionTriggerType.ASSOCIATE)
658658
.setAssociateParam(new WaypointV2AssociateTriggerParam.Builder()
659-
.setAssociateActionID(10)
659+
.setAssociateActionID(11)
660660
.setAssociateType(ActionTypes.AssociatedTimingType.AFTER_FINISHED)
661661
// Because set file name and shoot photo is the same module, it is better to set a waiting time.
662662
.setWaitingTime(0.5f)
@@ -671,7 +671,7 @@ private void uploadWaypointAction(List<WaypointV2Action> waypointV2ActionList) {
671671
.build();
672672

673673
WaypointV2Action waypointAction11 = new WaypointV2Action.Builder()
674-
.setActionID(11)
674+
.setActionID(12)
675675
.setTrigger(waypointAction11Trigger)
676676
.setActuator(waypointAction11Actuator)
677677
.build();

Sample Code/app/src/main/java/com/dji/sdk/sample/demo/utmiss/UTMISSActivity.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,12 @@
77
import android.widget.EditText;
88
import android.widget.TextView;
99

10-
import androidx.annotation.Nullable;
11-
import androidx.appcompat.app.AppCompatActivity;
12-
1310
import com.dji.sdk.sample.R;
1411

1512
import java.io.File;
1613

14+
import androidx.annotation.Nullable;
15+
import androidx.appcompat.app.AppCompatActivity;
1716
import butterknife.BindView;
1817
import butterknife.ButterKnife;
1918
import butterknife.OnClick;

Sample Code/app/src/main/java/com/dji/sdk/sample/internal/utils/ModuleVerificationUtil.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
package com.dji.sdk.sample.internal.utils;
22

33

4-
import androidx.annotation.Nullable;
5-
64
import com.dji.sdk.sample.internal.controller.DJISampleApplication;
75

6+
import androidx.annotation.Nullable;
87
import dji.common.product.Model;
98
import dji.sdk.accessory.AccessoryAggregation;
109
import dji.sdk.accessory.beacon.Beacon;
@@ -152,4 +151,12 @@ public static boolean isMavic2Product() {
152151
return false;
153152
}
154153

154+
public static boolean isMavicAir2(){
155+
BaseProduct baseProduct = DJISampleApplication.getProductInstance();
156+
if (baseProduct != null) {
157+
return baseProduct.getModel() == Model.MAVIC_AIR_2;
158+
}
159+
return false;
160+
}
161+
155162
}

0 commit comments

Comments
 (0)