• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16import type { CameraPlatformCapability } from '../../camera/CameraPlatformCapability';
17import type { CameraId } from '../../setting/settingitem/CameraId';
18
19interface Data {
20  [prop: string]: any;
21}
22
23export enum UiStateMode {
24  NONE,
25  EXCLUDE_PREVIEW
26}
27
28export interface ActionData {
29  isEvent?: boolean;
30  data: Data;
31  type: string
32}
33
34export class Action {
35  // Context
36  public static readonly ACTION_INIT_FOOT_BAR_WIDTH = 'ACTION_INIT_FOOT_BAR_WIDTH';
37  public static readonly ACTION_INIT_FOOT_BAR_HEIGHT = 'ACTION_INIT_FOOT_BAR_HEIGHT';
38  public static readonly ACTION_SET_PERMISSION_FLAG = 'ACTION_SET_PERMISSION_FLAG';
39  public static readonly ACTION_INIT_ACTION = 'ACTION_INIT_ACTION';
40  public static readonly ACTION_KEEP_SCREEN_ON = 'ACTION_KEEP_SCREEN_ON';
41  public static readonly ACTION_UPDATE_INIT_SHOW_FLAG = 'ACTION_UPDATE_INIT_SHOW_FLAG';
42
43  // Camera
44  public static readonly ACTION_INIT = 'ACTION_INIT';
45  public static readonly ACTION_INIT_DONE = 'ACTION_INIT_DONE';
46  public static readonly ACTION_SWITCH_CAMERA = 'ACTION_SWITCH_CAMERA';
47  public static readonly ACTION_SET_CAMERA_POSITION = 'ACTION_SET_CAMERA_POSITION';
48  public static readonly ACTION_UPDATE_CAMERA_POSITION = 'ACTION_UPDATE_CAMERA_POSITION';
49  public static readonly ACTION_CLOSE_CAMERA = 'ACTION_CLOSE_CAMERA';
50  public static readonly ACTION_UPDATE_CAMERA_STATUS = 'ACTION_UPDATE_CAMERA_STATUS';
51
52  // Mode
53  public static readonly ACTION_INIT_MODE = 'ACTION_INIT_MODE';
54  public static readonly ACTION_CHANGE_MODE = 'ACTION_CHANGE_MODE';
55  public static readonly ACTION_SET_MODE = 'ACTION_SET_MODE';
56  public static readonly ACTION_UPDATE_MODE = 'ACTION_UPDATE_MODE';
57  public static readonly ACTION_ON_MODE_CHANGED = 'ACTION_ON_MODE_CHANGED';
58  public static readonly ACTION_THIRD_PARTY_CALL = 'ACTION_THIRD_PARTY_CALL';
59  public static readonly ACTION_FA_CALL = 'ACTION_FA_CALL';
60  public static readonly ACTION_SWIPE_MODE_DONE = 'ACTION_SWIPE_MODE_DONE';
61
62  // Preview
63  public static readonly ACTION_PREPARE_SURFACE = 'ACTION_PREPARE_SURFACE';
64  public static readonly ACTION_START_PREVIEW = 'ACTION_START_PREVIEW';
65  public static readonly ACTION_RESTART_PREVIEW = 'ACTION_RESTART_PREVIEW';
66  public static readonly ACTION_UPDATE_SURFACE_ID = 'ACTION_UPDATE_SURFACE_ID';
67  public static readonly ACTION_CHANGE_X_COMPONENT_SIZE = 'ACTION_CHANGE_X_COMPONENT_SIZE';
68  public static readonly ACTION_UPDATE_SHOW_PREVIEW_FLAG = 'ACTION_UPDATE_SHOW_PREVIEW_FLAG';
69
70  // Capture
71  public static readonly ACTION_CAPTURE = 'ACTION_CAPTURE';
72  public static readonly ACTION_CAPTURE_DONE = 'ACTION_CAPTURE_DONE';
73  public static readonly ACTION_CAPTURE_ERROR = 'ACTION_CAPTURE_ERROR';
74  public static readonly ACTION_THUMBNAIL = 'ACTION_THUMBNAIL';
75  public static readonly ACTION_UPDATE_THUMBNAIL = 'ACTION_UPDATE_THUMBNAIL';
76  public static readonly ACTION_LOAD_THUMBNAIL = 'ACTION_LOAD_THUMBNAIL';
77  public static readonly ACTION_RELOAD_THUMBNAIL = 'ACTION_RELOAD_THUMBNAIL';
78
79  // Record
80  public static readonly ACTION_RECORD_START = 'ACTION_RECORD_START';
81  public static readonly ACTION_RECORD_PAUSE = 'ACTION_RECORD_PAUSE';
82  public static readonly ACTION_RECORD_RESUME = 'ACTION_RECORD_RESUME';
83  public static readonly ACTION_RECORD_STOP = 'ACTION_RECORD_STOP';
84  public static readonly ACTION_RECORD_DONE = 'ACTION_RECORD_DONE';
85  public static readonly ACTION_RECORD_ERROR = 'ACTION_RECORD_ERROR';
86  public static readonly ACTION_START_VIDEO_FLAG = 'ACTION_START_VIDEO_FLAG';
87  public static readonly ACTION_UPDATE_RECORDING_TIME = 'ACTION_UPDATE_RECORDING_TIME';
88  public static readonly ACTION_UPDATE_RECORDING_TIME_DISPLAY = 'ACTION_UPDATE_RECORDING_TIME_DISPLAY';
89  public static readonly ACTION_UPDATE_VIDEO_STATE = 'ACTION_UPDATE_VIDEO_STATE';
90  public static readonly ACTION_UPDATE_RECORDING_PAUSED = 'ACTION_UPDATE_RECORDING_PAUSED';
91  public static readonly ACTION_UPDATE_VIDEO_URI = 'ACTION_UPDATE_VIDEO_URI';
92
93  // Setting
94  public static readonly ACTION_CHANGE_IMAGE_SIZE = 'ACTION_CHANGE_IMAGE_SIZE';
95  public static readonly ACTION_CHANGE_VIDEO_SIZE = 'ACTION_CHANGE_VIDEO_SIZE';
96  public static readonly ACTION_CHANGE_ZOOM_RATIO = 'ACTION_CHANGE_ZOOM_RATIO';
97  public static readonly ACTION_CHANGE_TIME_LAPSE = 'ACTION_CHANGE_TIME_LAPSE';
98  public static readonly ACTION_ASSISTIVE_GRID_VIEW = 'ACTION_ASSISTIVE_GRID_VIEW';
99
100  // Device error
101  public static readonly ACTION_DEVICE_ERROR = 'ACTION_DEVICE_ERROR';
102
103  // Ui
104  public static readonly ACTION_UI_STATE = 'ACTION_UI_STATE';
105  public static readonly ACTION_INIT_ZOOM_RATIO = 'ACTION_INIT_ZOOM_RATIO';
106  public static readonly ACTION_RESET_ZOOM_RATIO = 'ACTION_RESET_ZOOM_RATIO';
107  public static readonly ACTION_UPDATE_ZOOM_PERCENTAGE = 'ACTION_UPDATE_ZOOM_PERCENTAGE';
108  public static readonly ACTION_UPDATE_SHOW_BIG_TEXT_FLAG = 'ACTION_UPDATE_SHOW_BIG_TEXT_FLAG';
109  public static readonly ACTION_UPDATE_SHOW_ZOOM_TEXT_FLAG = 'ACTION_UPDATE_SHOW_ZOOM_TEXT_FLAG';
110  public static readonly ACTION_UPDATE_PHOTO_ZOOM_DETAILS_FLAG = 'ACTION_UPDATE_PHOTO_ZOOM_DETAILS_FLAG';
111  public static readonly ACTION_UPDATE_BASE_ZOOM = 'ACTION_UPDATE_BASE_ZOOM';
112  public static readonly ACTION_UPDATE_PINCH_GESTURE_FLAG = 'ACTION_UPDATE_PINCH_GESTURE_FLAG';
113  public static readonly ACTION_UPDATE_PINCH_GESTURE_TIMER_ID = 'ACTION_UPDATE_PINCH_GESTURE_TIMER_ID';
114  public static readonly ACTION_UPDATE_MODE_INDEX = 'ACTION_UPDATE_MODE_INDEX';
115  public static readonly ACTION_UPDATE_SMALL_VIDEO_TIMER_VISIBLE = 'ACTION_UPDATE_SMALL_VIDEO_TIMER_VISIBLE';
116  public static readonly ACTION_UPDATE_BIG_VIDEO_TIMER_VISIBLE = 'ACTION_UPDATE_BIG_VIDEO_TIMER_VISIBLE';
117  public static readonly ACTION_UPDATE_RECORDING_SPOT_VISIBLE = 'ACTION_UPDATE_RECORDING_SPOT_VISIBLE';
118  public static readonly ACTION_UPDATE_OPACITY_VALUE = 'ACTION_UPDATE_OPACITY_VALUE';
119  public static readonly ACTION_UPDATE_SHOW_PRESS_SCROLL_DETAIL_PHOTO_BUTTON = 'ACTION_UPDATE_SHOW_PRESS_SCROLL_DETAIL_PHOTO_BUTTON';
120  public static readonly ACTION_UPDATE_SCROLL_DETAILS_BOX = 'ACTION_UPDATE_SCROLL_DETAILS_BOX';
121  public static readonly ACTION_INIT_PHOTO_DETAILS_OFFSET_X = 'ACTION_INIT_PHOTO_DETAILS_OFFSET_X';
122  public static readonly ACTION_UPDATE_PHOTO_DETAILS_OFFSET_X = 'ACTION_UPDATE_PHOTO_DETAILS_OFFSET_X';
123  public static readonly ACTION_UPDATE_CAPTURE_BTN_SCALE = 'ACTION_UPDATE_CAPTURE_BTN_SCALE';
124  public static readonly ACTION_UPDATE_SHOW_FLASH_BLACK_FLAG = 'ACTION_UPDATE_SHOW_FLASH_BLACK_FLAG';
125  public static readonly ACTION_UPDATE_SHUTTER_ICON = 'ACTION_UPDATE_SHUTTER_ICON';
126  public static readonly ACTION_UPDATE_BIG_TEXT_OPACITY = 'ACTION_UPDATE_BIG_TEXT_OPACITY';
127  public static readonly ACTION_UPDATE_MODE_BAR_ITEM_WIDTH = 'ACTION_UPDATE_MODE_BAR_ITEM_WIDTH';
128  public static readonly ACTION_UPDATE_SHOW_TAB_BAR_WIDTH = 'ACTION_UPDATE_SHOW_TAB_BAR_WIDTH';
129  public static readonly ACTION_UPDATE_SHOW_MORE_LIST = 'ACTION_UPDATE_SHOW_MORE_LIST';
130  public static readonly ACTION_UPDATE_OPACITY_TAB_BAR = 'ACTION_UPDATE_OPACITY_TAB_BAR';
131  public static readonly ACTION_SWIPE_MODE = 'ACTION_SWIPE_MODE';
132  public static readonly ACTION_SHOW_ZOOM_LABEL_VALUE = 'ACTION_SHOW_ZOOM_LABEL_VALUE';
133  public static readonly ACTION_UPDATE_SHOW_PINCH = 'ACTION_UPDATE_SHOW_PINCH';
134  public static readonly ACTION_CLOSE_DIALOG = 'ACTION_CLOSE_DIALOG';
135  public static readonly ACTION_SHOW_SETTING_VIEW = 'ACTION_SHOW_SETTING_VIEW';
136  public static readonly ACTION_CAPTURE_PHOTO_OUTPUT = 'ACTION_CAPTURE_PHOTO_OUTPUT';
137
138
139  /** CONTEXT METHODS LIST **/
140
141  public static initFootBarWidth(footBarWidth: number): ActionData {
142    return {
143      type: Action.ACTION_INIT_FOOT_BAR_WIDTH,
144      data: { footBarWidth: footBarWidth }
145    }
146  }
147
148  public static initFootBarHeight(footBarHeight: number): ActionData {
149    return {
150      type: Action.ACTION_INIT_FOOT_BAR_HEIGHT,
151      data: { footBarHeight: footBarHeight }
152    }
153  }
154
155  public static setPermissionFlag(permissionFlag: boolean): ActionData {
156    return {
157      type: Action.ACTION_SET_PERMISSION_FLAG,
158      data: { permissionFlag: permissionFlag }
159    }
160  }
161
162  public static initAction(action: string): ActionData {
163    return {
164      type: Action.ACTION_INIT_ACTION,
165      data: { action: action }
166    }
167  }
168
169  public static updateScreenStatus(isKeepScreenOn: boolean): ActionData {
170    return {
171      type: Action.ACTION_KEEP_SCREEN_ON,
172      data: { isKeepScreenOn: isKeepScreenOn }
173    }
174  }
175
176  public static updateInitShowFlag(initShowFlag: boolean): ActionData {
177    return {
178      type: Action.ACTION_UPDATE_INIT_SHOW_FLAG,
179      data: { initShowFlag: initShowFlag }
180    }
181  }
182
183
184  /** CAMERA METHODS LIST **/
185  public static initCamera(cameraId: CameraId, mode: string): ActionData {
186    return {
187      isEvent: true,
188      type: Action.ACTION_INIT,
189      data: { cameraId: cameraId, mode: mode }
190    }
191  }
192
193  public static initCameraDone(platformCapability: CameraPlatformCapability): ActionData {
194    return {
195      isEvent: true,
196      type: Action.ACTION_INIT_DONE,
197      data: { platformCapability: platformCapability }
198    }
199  }
200
201  public static switchCamera(cameraId: string, curMode?: string): ActionData {
202    return {
203      isEvent: true,
204      type: Action.ACTION_SWITCH_CAMERA,
205      data: { cameraId: cameraId, curMode: curMode }
206    }
207  }
208
209  public static setCameraPosition(cameraPosition: string): ActionData {
210    return {
211      type: Action.ACTION_SET_CAMERA_POSITION,
212      data: { cameraPosition: cameraPosition }
213    }
214  }
215
216  public static updateCameraPosition(cameraPosition: string): ActionData {
217    return {
218      type: Action.ACTION_UPDATE_CAMERA_POSITION,
219      data: { cameraPosition: cameraPosition }
220    }
221  }
222
223  public static updateCameraStatus(): ActionData {
224    return {
225      isEvent: true,
226      type: Action.ACTION_UPDATE_CAMERA_STATUS,
227      data: {}
228    }
229  }
230
231  public static close(): ActionData {
232    return {
233      isEvent: true,
234      type: Action.ACTION_CLOSE_CAMERA,
235      data: {}
236    }
237  }
238
239
240  /** MODE METHODS LIST**/
241
242  public static initMode(mode: string): ActionData {
243    return {
244      isEvent: true,
245      type: Action.ACTION_INIT_MODE,
246      data: { mode: mode }
247    }
248  }
249
250  public static changeMode(mode: string): ActionData {
251    return {
252      isEvent: true,
253      type: Action.ACTION_CHANGE_MODE,
254      data: { mode: mode }
255    }
256  }
257
258  public static setMode(mode: string): ActionData {
259    return {
260      isEvent: true,
261      type: Action.ACTION_SET_MODE,
262      data: { mode: mode }
263    }
264  }
265
266  public static updateMode(mode: string): ActionData {
267    return {
268      isEvent: true,
269      type: Action.ACTION_UPDATE_MODE,
270      data: { mode: mode }
271    }
272  }
273
274  public static onModeChanged(mode: string): ActionData {
275    return {
276      isEvent: true,
277      type: Action.ACTION_ON_MODE_CHANGED,
278      data: { mode: mode }
279    }
280  }
281
282  public static thirdPartyCall(isThirdPartyCall: boolean, action: string): ActionData {
283    return {
284      type: Action.ACTION_THIRD_PARTY_CALL,
285      data: { isThirdPartyCall: isThirdPartyCall, action: action }
286    }
287  }
288
289  public static faCall(isFaCall: boolean): ActionData {
290    return {
291      type: Action.ACTION_FA_CALL,
292      data: { isFaCall: isFaCall }
293    }
294  }
295
296
297  /** PREVIEW METHODS LIST **/
298
299  public static prepareSurface(surfaceId: number): ActionData {
300    return {
301      isEvent: true,
302      type: Action.ACTION_PREPARE_SURFACE,
303      data: { surfaceId: surfaceId }
304    }
305  }
306
307  public static startPreview(zoomRatio?: number): ActionData {
308    return {
309      isEvent: true,
310      type: Action.ACTION_START_PREVIEW,
311      data: { zoomRatio: zoomRatio }
312    }
313  }
314
315  public static reStartPreview(zoomRatio?: number): ActionData {
316    return {
317      isEvent: true,
318      type: Action.ACTION_RESTART_PREVIEW,
319      data: { zoomRatio: zoomRatio }
320    }
321  }
322
323  public static updateSurfaceId(surfaceId: number): ActionData {
324    return {
325      type: Action.ACTION_UPDATE_SURFACE_ID,
326      data: { surfaceId: surfaceId }
327    }
328  }
329
330  public static changeXComponentSize(xComponentWidth: number, xComponentHeight: number): ActionData {
331    return {
332      isEvent: true,
333      type: Action.ACTION_CHANGE_X_COMPONENT_SIZE,
334      data: { xComponentWidth: xComponentWidth, xComponentHeight: xComponentHeight }
335    }
336  }
337
338  public static updateShowPreviewFlag(isShowPreview: boolean): ActionData {
339    return {
340      type: Action.ACTION_UPDATE_SHOW_PREVIEW_FLAG,
341      data: { isShowPreview: isShowPreview }
342    }
343  }
344
345
346  /** CAPTURE METHODS LIST **/
347
348  public static capture(): ActionData {
349    return {
350      isEvent: true,
351      type: Action.ACTION_CAPTURE,
352      data: {}
353    }
354  }
355
356  public static capturePhotoOutput(): ActionData {
357    return {
358      isEvent: true,
359      type: Action.ACTION_CAPTURE_PHOTO_OUTPUT,
360      data: {}
361    }
362  }
363
364  public static captureDone(thumbnail): ActionData {
365    return {
366      type: Action.ACTION_THUMBNAIL,
367      data: { thumbnail: thumbnail }
368    }
369  }
370
371  public static captureError(): ActionData {
372    return {
373      type: Action.ACTION_CAPTURE_ERROR,
374      data: {}
375    }
376  }
377
378  public static thumbnail(thumbnailUri): ActionData {
379    return {
380      type: Action.ACTION_THUMBNAIL,
381      data: { thumbnail: thumbnailUri }
382    }
383  }
384
385  public static updateThumbnail(thumbnailPixelMap, resourceUri): ActionData {
386    return {
387      isEvent: true,
388      type: Action.ACTION_UPDATE_THUMBNAIL,
389      data: { thumbnail: thumbnailPixelMap, resourceUri: resourceUri }
390    }
391  }
392
393  public static loadThumbnail(thumbnailPixelMap): ActionData {
394    return {
395      isEvent: true,
396      type: Action.ACTION_LOAD_THUMBNAIL,
397      data: { thumbnail: thumbnailPixelMap }
398    }
399  }
400
401  public static reloadThumbnail(): ActionData {
402    return {
403      isEvent: true,
404      type: Action.ACTION_RELOAD_THUMBNAIL,
405      data: {}
406    }
407  }
408
409
410  /** RECORD METHODS LIST **/
411
412  public static startRecording(): ActionData {
413    return {
414      isEvent: true,
415      type: Action.ACTION_RECORD_START,
416      data: {}
417    }
418  }
419
420  public static pauseRecording(): ActionData {
421    return {
422      isEvent: true,
423      type: Action.ACTION_RECORD_PAUSE,
424      data: {}
425    }
426  }
427
428  public static resumeRecording(): ActionData {
429    return {
430      isEvent: true,
431      type: Action.ACTION_RECORD_RESUME,
432      data: {}
433    }
434  }
435
436  public static stopRecording(): ActionData {
437    return {
438      isEvent: true,
439      type: Action.ACTION_RECORD_STOP,
440      data: {}
441    }
442  }
443
444  public static recordDone(thumbnail): ActionData {
445    return {
446      isEvent: true,
447      type: Action.ACTION_RECORD_STOP,
448      data: { thumbnail: thumbnail }
449    }
450  }
451
452  public static recordError(): ActionData {
453    return {
454      isEvent: true,
455      type: Action.ACTION_RECORD_ERROR,
456      data: {}
457    }
458  }
459
460  public static startVideoFlag(isStartVideoFlag: boolean): ActionData {
461    return {
462      type: Action.ACTION_START_VIDEO_FLAG,
463      data: { isStartVideo: isStartVideoFlag }
464    }
465  }
466
467  public static updateRecordingTime(recordingTime: number): ActionData {
468    return {
469      type: Action.ACTION_UPDATE_RECORDING_TIME,
470      data: { recordingTime: recordingTime }
471    }
472  }
473
474  public static updateRecordingTimeDisplay(recordingTimeDisplay: string): ActionData {
475    return {
476      type: Action.ACTION_UPDATE_RECORDING_TIME_DISPLAY,
477      data: { recordingTimeDisplay: recordingTimeDisplay }
478    }
479  }
480
481  public static updateVideoState(videoState: string): ActionData {
482    return {
483      type: Action.ACTION_UPDATE_VIDEO_STATE,
484      data: { videoState: videoState }
485    }
486  }
487
488  public static updateRecordingPaused(isRecordingPaused: boolean): ActionData {
489    return {
490      type: Action.ACTION_UPDATE_RECORDING_PAUSED,
491      data: { isRecordingPaused: isRecordingPaused }
492    }
493  }
494
495  public static updateVideoUri(videoUri: string): ActionData {
496    return {
497      type: Action.ACTION_UPDATE_VIDEO_URI,
498      data: { videoUri: videoUri }
499    }
500  }
501
502
503  /** SETTING METHODS LIST **/
504
505  public static changeImageSize(imageSize): ActionData {
506    return {
507      isEvent: true,
508      type: Action.ACTION_CHANGE_IMAGE_SIZE,
509      data: { imageSize: imageSize }
510    }
511  }
512
513  public static changeVideoSize(videoSize): ActionData {
514    return {
515      isEvent: true,
516      type: Action.ACTION_CHANGE_VIDEO_SIZE,
517      data: { videoSize: videoSize }
518    }
519  }
520
521  public static changeZoomRatio(zoomRatio: number): ActionData {
522    return {
523      isEvent: true,
524      type: Action.ACTION_CHANGE_ZOOM_RATIO,
525      data: { zoomRatio: zoomRatio }
526    }
527  }
528
529  public static changeTimeLapse(isShowtimeLapse: boolean): ActionData {
530    return {
531      type: Action.ACTION_CHANGE_TIME_LAPSE,
532      data: { isShowtimeLapse: isShowtimeLapse }
533    }
534  }
535
536  public static swipeModeChangeDone(modeChangeDone: boolean): ActionData {
537    return {
538      type: Action.ACTION_SWIPE_MODE_DONE,
539      data: { modeChangeDone: modeChangeDone }
540    }
541  }
542
543  public static assistiveGridView(isAssGridViewShow: number): ActionData {
544    return {
545      type: Action.ACTION_ASSISTIVE_GRID_VIEW,
546      data: { isAssGridViewShow: isAssGridViewShow }
547    }
548  }
549
550
551  /** DEVICE ERROR METHODS LIST **/
552
553  public static deviceError(info): ActionData {
554    return {
555      type: Action.ACTION_DEVICE_ERROR,
556      data: { info: info }
557    }
558  }
559
560
561  /** UI METHODS LIST **/
562
563  public static uiState(enable: boolean): ActionData {
564    return {
565      type: Action.ACTION_UI_STATE,
566      data: { enable: enable, uiStateMode: UiStateMode.NONE }
567    }
568  }
569
570  public static uiStateWithMode(enable: boolean, uiStateMode: UiStateMode): ActionData {
571    return {
572      type: Action.ACTION_UI_STATE,
573      data: { enable: enable, uiStateMode: uiStateMode }
574    }
575  }
576
577  public static initZoomRatio(min: number, max: number): ActionData {
578    return {
579      type: Action.ACTION_INIT_ZOOM_RATIO,
580      data: { minZoomRatio: min, maxZoomRatio: max }
581    }
582  }
583
584  public static resetZoomRatio(zoomRatio: number): ActionData {
585    return {
586      type: Action.ACTION_RESET_ZOOM_RATIO,
587      data: { zoomRatio: zoomRatio }
588    }
589  }
590
591  public static updateZoomPercentage(zoomPercentage: number): ActionData {
592    return {
593      type: Action.ACTION_UPDATE_ZOOM_PERCENTAGE,
594      data: { zoomPercentage: zoomPercentage }
595    }
596  }
597
598  public static updateShowBigTextFlag(isShowBigText: boolean): ActionData {
599    return {
600      type: Action.ACTION_UPDATE_SHOW_BIG_TEXT_FLAG,
601      data: { isShowBigText: isShowBigText }
602    }
603  }
604
605  public static updateShowZoomTextFlag(isShowZoomText: boolean): ActionData {
606    return {
607      type: Action.ACTION_UPDATE_SHOW_ZOOM_TEXT_FLAG,
608      data: { isShowZoomText: isShowZoomText }
609    }
610  }
611
612  public static updatePhotoZoomDetailsFlag(isPhotoZoomDetails: boolean): ActionData {
613    return {
614      type: Action.ACTION_UPDATE_PHOTO_ZOOM_DETAILS_FLAG,
615      data: { isPhotoZoomDetails: isPhotoZoomDetails }
616    }
617  }
618
619  public static updateBaseZoom(baseZoom: number): ActionData {
620    return {
621      type: Action.ACTION_UPDATE_BASE_ZOOM,
622      data: { baseZoom: baseZoom }
623    }
624  }
625
626  public static updatePinchGestureFlag(isPinchGesture: boolean): ActionData {
627    return {
628      type: Action.ACTION_UPDATE_PINCH_GESTURE_FLAG,
629      data: { isPinchGesture: isPinchGesture }
630    }
631  }
632
633  public static updatePinchGestureTimerId(pinchGestureTimerId: number): ActionData {
634    return {
635      type: Action.ACTION_UPDATE_PINCH_GESTURE_TIMER_ID,
636      data: { pinchGestureTimerId: pinchGestureTimerId }
637    }
638  }
639
640  public static updateModeIndex(modeIndex: number): ActionData {
641    return {
642      type: Action.ACTION_UPDATE_MODE_INDEX,
643      data: { modeIndex: modeIndex }
644    }
645  }
646
647  public static updateSmallVideoTimerVisible(visible: boolean): ActionData {
648    return {
649      type: Action.ACTION_UPDATE_SMALL_VIDEO_TIMER_VISIBLE,
650      data: { isSmallVideoTimerVisible: visible }
651    }
652  }
653
654  public static updateBigVideoTimerVisible(visible: boolean): ActionData {
655    return {
656      type: Action.ACTION_UPDATE_BIG_VIDEO_TIMER_VISIBLE,
657      data: { isBigVideoTimerVisible: visible }
658    }
659  }
660
661  public static updateRecordingSpotVisible(visible: boolean): ActionData {
662    return {
663      type: Action.ACTION_UPDATE_RECORDING_SPOT_VISIBLE,
664      data: { isRecordingSpotVisible: visible }
665    }
666  }
667
668  public static updateOpacityValue(opacityValue: number): ActionData {
669    return {
670      type: Action.ACTION_UPDATE_OPACITY_VALUE,
671      data: { opacityValue: opacityValue }
672    }
673  }
674
675  public static updateShowPressScrollDetailPhotoButton(isShow: boolean): ActionData {
676    return {
677      type: Action.ACTION_UPDATE_SHOW_PRESS_SCROLL_DETAIL_PHOTO_BUTTON,
678      data: { isShowPressScrollDetailPhotoButton: isShow }
679    }
680  }
681
682  public static updateScrollDetailsBox(value: number): ActionData {
683    return {
684      type: Action.ACTION_UPDATE_SCROLL_DETAILS_BOX,
685      data: { scrollDetailsBox: value }
686    }
687  }
688
689  public static initPhotoDetailsOffsetX(offsetX: number): ActionData {
690    return {
691      isEvent: true,
692      type: Action.ACTION_INIT_PHOTO_DETAILS_OFFSET_X,
693      data: { photoDetailsOffsetXInit: offsetX }
694    }
695  }
696
697  public static updatePhotoDetailsOffsetX(offsetX: number): ActionData {
698    return {
699      isEvent: true,
700      type: Action.ACTION_UPDATE_PHOTO_DETAILS_OFFSET_X,
701      data: { photoDetailsOffsetX: offsetX }
702    }
703  }
704
705  public static updateCaptureBtnScale(scale: number): ActionData {
706    return {
707      isEvent: true,
708      type: Action.ACTION_UPDATE_CAPTURE_BTN_SCALE,
709      data: { captureBtnScale: scale }
710    }
711  }
712
713  public static updateShowFlashBlackFlag(flag: boolean): ActionData {
714    return {
715      type: Action.ACTION_UPDATE_SHOW_FLASH_BLACK_FLAG,
716      data: { isShowFlashBlack: flag }
717    }
718  }
719
720  public static updateShutterIcon(icon: Resource): ActionData {
721    return {
722      type: Action.ACTION_UPDATE_SHUTTER_ICON,
723      data: { shutterIcon: icon }
724    }
725  }
726
727  public static updateBigTextOpacity(opacity: number): ActionData {
728    return {
729      type: Action.ACTION_UPDATE_BIG_TEXT_OPACITY,
730      data: { bigTextOpacity: opacity }
731    }
732  }
733
734  public static updateModeBarItemWidth(width: number): ActionData {
735    return {
736      type: Action.ACTION_UPDATE_MODE_BAR_ITEM_WIDTH,
737      data: { modeBarItemWidth: width }
738    }
739  }
740
741  public static updateShowTabBarWidth(widthTabBar: string): ActionData {
742    return {
743      type: Action.ACTION_UPDATE_SHOW_TAB_BAR_WIDTH,
744      data: { widthTabBar: widthTabBar }
745    }
746  }
747
748  public static updateShowMoreList(isShowMoreList: boolean): ActionData {
749    return {
750      type: Action.ACTION_UPDATE_SHOW_MORE_LIST,
751      data: { isShowMoreList: isShowMoreList }
752    }
753  }
754
755  public static updateOpacityForTabBar(opacity: number): ActionData {
756    return {
757      type: Action.ACTION_UPDATE_OPACITY_TAB_BAR,
758      data: { opacityValueForTabBar: opacity }
759    }
760  }
761
762  public static swipeChangeMode(swipeModeIndex: number): ActionData {
763    return {
764      isEvent: true,
765      type: Action.ACTION_SWIPE_MODE,
766      data: { swipeModeIndex: swipeModeIndex }
767    }
768  }
769
770  public static updateShowZoomLabelValue(flag: boolean): ActionData {
771    return {
772      type: Action.ACTION_SHOW_ZOOM_LABEL_VALUE,
773      data: { showZoomLabelValue: flag }
774    }
775  }
776
777  public static updateShowPinch(isShowPinch: boolean): ActionData {
778    return {
779      type: Action.ACTION_UPDATE_SHOW_PINCH,
780      data: { isShowPinch: isShowPinch }
781    }
782  }
783
784  public static closeDialog(isCloseFlag: boolean): ActionData {
785    return {
786      type: Action.ACTION_CLOSE_DIALOG,
787      data: { isCloseFlag: isCloseFlag }
788    }
789  }
790
791  public static showSettingView(isShowSettingView: boolean): ActionData {
792    return {
793      type: Action.ACTION_SHOW_SETTING_VIEW,
794      data: { isShowSettingView: isShowSettingView }
795    }
796  }
797}
798