diff --git a/SampleCode-V5/android-sdk-v5-uxsdk/src/main/java/dji/v5/ux/cameracore/widget/cameracontrols/RemoteControllerButtonDownModel.kt b/SampleCode-V5/android-sdk-v5-uxsdk/src/main/java/dji/v5/ux/cameracore/widget/cameracontrols/RemoteControllerButtonDownModel.kt index 17622f684..4aaadcf2d 100644 --- a/SampleCode-V5/android-sdk-v5-uxsdk/src/main/java/dji/v5/ux/cameracore/widget/cameracontrols/RemoteControllerButtonDownModel.kt +++ b/SampleCode-V5/android-sdk-v5-uxsdk/src/main/java/dji/v5/ux/cameracore/widget/cameracontrols/RemoteControllerButtonDownModel.kt @@ -22,10 +22,12 @@ open class RemoteControllerButtonDownModel constructor( val isShutterButtonDownProcessor: DataProcessor = DataProcessor.create(false) val isRecordButtonDownProcessor: DataProcessor = DataProcessor.create(false) + val isRCSwitchButtonDownProcessor: DataProcessor = DataProcessor.create(false) override fun inSetup() { bindDataProcessor(RemoteControllerKey.KeyShutterButtonDown.create(), isShutterButtonDownProcessor) bindDataProcessor(RemoteControllerKey.KeyRecordButtonDown.create(), isRecordButtonDownProcessor) + bindDataProcessor(RemoteControllerKey.KeyRCSwitchButtonDown.create(), isRCSwitchButtonDownProcessor) } override fun inCleanup() { diff --git a/SampleCode-V5/android-sdk-v5-uxsdk/src/main/java/dji/v5/ux/cameracore/widget/cameracontrols/photovideoswitch/PhotoVideoSwitchWidget.java b/SampleCode-V5/android-sdk-v5-uxsdk/src/main/java/dji/v5/ux/cameracore/widget/cameracontrols/photovideoswitch/PhotoVideoSwitchWidget.java index 533bde32e..fc966ac9a 100644 --- a/SampleCode-V5/android-sdk-v5-uxsdk/src/main/java/dji/v5/ux/cameracore/widget/cameracontrols/photovideoswitch/PhotoVideoSwitchWidget.java +++ b/SampleCode-V5/android-sdk-v5-uxsdk/src/main/java/dji/v5/ux/cameracore/widget/cameracontrols/photovideoswitch/PhotoVideoSwitchWidget.java @@ -127,6 +127,16 @@ protected void reactToModelChanges() { widgetModel.changeToVideoMode(); } })); + addReaction(buttonDownModel.isRCSwitchButtonDownProcessor().toFlowable() + .observeOn(SchedulerProvider.ui()) + .subscribe(aBoolean -> { + if (aBoolean == Boolean.TRUE && isEnabled()) { + widgetModel.toggleCameraMode() + .observeOn(SchedulerProvider.ui()) + .subscribe(() -> { + }, RxUtil.logErrorConsumer(TAG, "Switch camera Mode")); + } + })); } @NonNull