• 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      isEvent: true,
172      type: Action.ACTION_KEEP_SCREEN_ON,
173      data: { isKeepScreenOn: isKeepScreenOn }
174    }
175  }
176
177  public static updateInitShowFlag(initShowFlag: boolean): ActionData {
178    return {
179      type: Action.ACTION_UPDATE_INIT_SHOW_FLAG,
180      data: { initShowFlag: initShowFlag }
181    }
182  }
183
184
185  /** CAMERA METHODS LIST **/
186  public static initCamera(cameraId: CameraId, mode: string): ActionData {
187    return {
188      isEvent: true,
189      type: Action.ACTION_INIT,
190      data: { cameraId: cameraId, mode: mode }
191    }
192  }
193
194  public static initCameraDone(platformCapability: CameraPlatformCapability): ActionData {
195    return {
196      isEvent: true,
197      type: Action.ACTION_INIT_DONE,
198      data: { platformCapability: platformCapability }
199    }
200  }
201
202  public static switchCamera(cameraId: string, curMode?: string): ActionData {
203    return {
204      isEvent: true,
205      type: Action.ACTION_SWITCH_CAMERA,
206      data: { cameraId: cameraId, curMode: curMode }
207    }
208  }
209
210  public static setCameraPosition(cameraPosition: string): ActionData {
211    return {
212      type: Action.ACTION_SET_CAMERA_POSITION,
213      data: { cameraPosition: cameraPosition }
214    }
215  }
216
217  public static updateCameraPosition(cameraPosition: string): ActionData {
218    return {
219      type: Action.ACTION_UPDATE_CAMERA_POSITION,
220      data: { cameraPosition: cameraPosition }
221    }
222  }
223
224  public static updateCameraStatus(): ActionData {
225    return {
226      isEvent: true,
227      type: Action.ACTION_UPDATE_CAMERA_STATUS,
228      data: {}
229    }
230  }
231
232  public static close(): ActionData {
233    return {
234      isEvent: true,
235      type: Action.ACTION_CLOSE_CAMERA,
236      data: {}
237    }
238  }
239
240
241  /** MODE METHODS LIST**/
242
243  public static initMode(mode: string): ActionData {
244    return {
245      isEvent: true,
246      type: Action.ACTION_INIT_MODE,
247      data: { mode: mode }
248    }
249  }
250
251  public static changeMode(mode: string): ActionData {
252    return {
253      isEvent: true,
254      type: Action.ACTION_CHANGE_MODE,
255      data: { mode: mode }
256    }
257  }
258
259  public static setMode(mode: string): ActionData {
260    return {
261      isEvent: true,
262      type: Action.ACTION_SET_MODE,
263      data: { mode: mode }
264    }
265  }
266
267  public static updateMode(mode: string): ActionData {
268    return {
269      isEvent: true,
270      type: Action.ACTION_UPDATE_MODE,
271      data: { mode: mode }
272    }
273  }
274
275  public static onModeChanged(mode: string): ActionData {
276    return {
277      isEvent: true,
278      type: Action.ACTION_ON_MODE_CHANGED,
279      data: { mode: mode }
280    }
281  }
282
283  public static thirdPartyCall(isThirdPartyCall: boolean, thirdCallAction: string): ActionData {
284    return {
285      type: Action.ACTION_THIRD_PARTY_CALL,
286      data: { isThirdPartyCall: isThirdPartyCall, thirdCallAction: thirdCallAction }
287    }
288  }
289
290  public static faCall(isFaCall: boolean): ActionData {
291    return {
292      type: Action.ACTION_FA_CALL,
293      data: { isFaCall: isFaCall }
294    }
295  }
296
297
298  /** PREVIEW METHODS LIST **/
299
300  public static prepareSurface(surfaceId: number): ActionData {
301    return {
302      isEvent: true,
303      type: Action.ACTION_PREPARE_SURFACE,
304      data: { surfaceId: surfaceId }
305    }
306  }
307
308  public static startPreview(zoomRatio?: number): ActionData {
309    return {
310      isEvent: true,
311      type: Action.ACTION_START_PREVIEW,
312      data: { zoomRatio: zoomRatio }
313    }
314  }
315
316  public static reStartPreview(zoomRatio?: number): ActionData {
317    return {
318      isEvent: true,
319      type: Action.ACTION_RESTART_PREVIEW,
320      data: { zoomRatio: zoomRatio }
321    }
322  }
323
324  public static updateSurfaceId(surfaceId: number): ActionData {
325    return {
326      type: Action.ACTION_UPDATE_SURFACE_ID,
327      data: { surfaceId: surfaceId }
328    }
329  }
330
331  public static changeXComponentSize(xComponentWidth: number, xComponentHeight: number): ActionData {
332    return {
333      isEvent: true,
334      type: Action.ACTION_CHANGE_X_COMPONENT_SIZE,
335      data: { xComponentWidth: xComponentWidth, xComponentHeight: xComponentHeight }
336    }
337  }
338
339  public static updateShowPreviewFlag(isShowPreview: boolean): ActionData {
340    return {
341      type: Action.ACTION_UPDATE_SHOW_PREVIEW_FLAG,
342      data: { isShowPreview: isShowPreview }
343    }
344  }
345
346
347  /** CAPTURE METHODS LIST **/
348
349  public static capture(): ActionData {
350    return {
351      isEvent: true,
352      type: Action.ACTION_CAPTURE,
353      data: {}
354    }
355  }
356
357  public static capturePhotoOutput(): ActionData {
358    return {
359      isEvent: true,
360      type: Action.ACTION_CAPTURE_PHOTO_OUTPUT,
361      data: {}
362    }
363  }
364
365  public static captureDone(thumbnail): ActionData {
366    return {
367      type: Action.ACTION_THUMBNAIL,
368      data: { thumbnail: thumbnail }
369    }
370  }
371
372  public static captureError(): ActionData {
373    return {
374      type: Action.ACTION_CAPTURE_ERROR,
375      data: {}
376    }
377  }
378
379  public static thumbnail(thumbnailUri): ActionData {
380    return {
381      type: Action.ACTION_THUMBNAIL,
382      data: { thumbnail: thumbnailUri }
383    }
384  }
385
386  public static updateThumbnail(thumbnailPixelMap, resourceUri): ActionData {
387    return {
388      isEvent: true,
389      type: Action.ACTION_UPDATE_THUMBNAIL,
390      data: { thumbnail: thumbnailPixelMap, resourceUri: resourceUri }
391    }
392  }
393
394  public static loadThumbnail(thumbnailPixelMap): ActionData {
395    return {
396      isEvent: true,
397      type: Action.ACTION_LOAD_THUMBNAIL,
398      data: { thumbnail: thumbnailPixelMap }
399    }
400  }
401
402  public static reloadThumbnail(): ActionData {
403    return {
404      isEvent: true,
405      type: Action.ACTION_RELOAD_THUMBNAIL,
406      data: {}
407    }
408  }
409
410
411  /** RECORD METHODS LIST **/
412
413  public static startRecording(): ActionData {
414    return {
415      isEvent: true,
416      type: Action.ACTION_RECORD_START,
417      data: {}
418    }
419  }
420
421  public static pauseRecording(): ActionData {
422    return {
423      isEvent: true,
424      type: Action.ACTION_RECORD_PAUSE,
425      data: {}
426    }
427  }
428
429  public static resumeRecording(): ActionData {
430    return {
431      isEvent: true,
432      type: Action.ACTION_RECORD_RESUME,
433      data: {}
434    }
435  }
436
437  public static stopRecording(): ActionData {
438    return {
439      isEvent: true,
440      type: Action.ACTION_RECORD_STOP,
441      data: {}
442    }
443  }
444
445  public static recordDone(thumbnail): ActionData {
446    return {
447      isEvent: true,
448      type: Action.ACTION_RECORD_STOP,
449      data: { thumbnail: thumbnail }
450    }
451  }
452
453  public static recordError(): ActionData {
454    return {
455      isEvent: true,
456      type: Action.ACTION_RECORD_ERROR,
457      data: {}
458    }
459  }
460
461  public static startVideoFlag(isStartVideoFlag: boolean): ActionData {
462    return {
463      type: Action.ACTION_START_VIDEO_FLAG,
464      data: { isStartVideo: isStartVideoFlag }
465    }
466  }
467
468  public static updateRecordingTime(recordingTime: number): ActionData {
469    return {
470      type: Action.ACTION_UPDATE_RECORDING_TIME,
471      data: { recordingTime: recordingTime }
472    }
473  }
474
475  public static updateRecordingTimeDisplay(recordingTimeDisplay: string): ActionData {
476    return {
477      type: Action.ACTION_UPDATE_RECORDING_TIME_DISPLAY,
478      data: { recordingTimeDisplay: recordingTimeDisplay }
479    }
480  }
481
482  public static updateVideoState(videoState: string): ActionData {
483    return {
484      type: Action.ACTION_UPDATE_VIDEO_STATE,
485      data: { videoState: videoState }
486    }
487  }
488
489  public static updateRecordingPaused(isRecordingPaused: boolean): ActionData {
490    return {
491      type: Action.ACTION_UPDATE_RECORDING_PAUSED,
492      data: { isRecordingPaused: isRecordingPaused }
493    }
494  }
495
496  public static updateVideoUri(videoUri: string): ActionData {
497    return {
498      type: Action.ACTION_UPDATE_VIDEO_URI,
499      data: { videoUri: videoUri }
500    }
501  }
502
503
504  /** SETTING METHODS LIST **/
505
506  public static changeImageSize(imageSize): ActionData {
507    return {
508      isEvent: true,
509      type: Action.ACTION_CHANGE_IMAGE_SIZE,
510      data: { imageSize: imageSize }
511    }
512  }
513
514  public static changeVideoSize(videoSize): ActionData {
515    return {
516      isEvent: true,
517      type: Action.ACTION_CHANGE_VIDEO_SIZE,
518      data: { videoSize: videoSize }
519    }
520  }
521
522  public static changeZoomRatio(zoomRatio: number): ActionData {
523    return {
524      isEvent: true,
525      type: Action.ACTION_CHANGE_ZOOM_RATIO,
526      data: { zoomRatio: zoomRatio }
527    }
528  }
529
530  public static changeTimeLapse(isShowtimeLapse: boolean): ActionData {
531    return {
532      type: Action.ACTION_CHANGE_TIME_LAPSE,
533      data: { isShowtimeLapse: isShowtimeLapse }
534    }
535  }
536
537  public static swipeModeChangeDone(modeChangeDone: boolean): ActionData {
538    return {
539      type: Action.ACTION_SWIPE_MODE_DONE,
540      data: { modeChangeDone: modeChangeDone }
541    }
542  }
543
544  public static assistiveGridView(isAssGridViewShow: number): ActionData {
545    return {
546      type: Action.ACTION_ASSISTIVE_GRID_VIEW,
547      data: { isAssGridViewShow: isAssGridViewShow }
548    }
549  }
550
551
552  /** DEVICE ERROR METHODS LIST **/
553
554  public static deviceError(info): ActionData {
555    return {
556      type: Action.ACTION_DEVICE_ERROR,
557      data: { info: info }
558    }
559  }
560
561
562  /** UI METHODS LIST **/
563
564  public static uiState(enable: boolean): ActionData {
565    return {
566      type: Action.ACTION_UI_STATE,
567      data: { enable: enable, uiStateMode: UiStateMode.NONE }
568    }
569  }
570
571  public static uiStateWithMode(enable: boolean, uiStateMode: UiStateMode): ActionData {
572    return {
573      type: Action.ACTION_UI_STATE,
574      data: { enable: enable, uiStateMode: uiStateMode }
575    }
576  }
577
578  public static initZoomRatio(min: number, max: number): ActionData {
579    return {
580      type: Action.ACTION_INIT_ZOOM_RATIO,
581      data: { minZoomRatio: min, maxZoomRatio: max }
582    }
583  }
584
585  public static resetZoomRatio(zoomRatio: number): ActionData {
586    return {
587      type: Action.ACTION_RESET_ZOOM_RATIO,
588      data: { zoomRatio: zoomRatio }
589    }
590  }
591
592  public static updateZoomPercentage(zoomPercentage: number): ActionData {
593    return {
594      type: Action.ACTION_UPDATE_ZOOM_PERCENTAGE,
595      data: { zoomPercentage: zoomPercentage }
596    }
597  }
598
599  public static updateShowBigTextFlag(isShowBigText: boolean): ActionData {
600    return {
601      type: Action.ACTION_UPDATE_SHOW_BIG_TEXT_FLAG,
602      data: { isShowBigText: isShowBigText }
603    }
604  }
605
606  public static updateShowZoomTextFlag(isShowZoomText: boolean): ActionData {
607    return {
608      type: Action.ACTION_UPDATE_SHOW_ZOOM_TEXT_FLAG,
609      data: { isShowZoomText: isShowZoomText }
610    }
611  }
612
613  public static updatePhotoZoomDetailsFlag(isPhotoZoomDetails: boolean): ActionData {
614    return {
615      type: Action.ACTION_UPDATE_PHOTO_ZOOM_DETAILS_FLAG,
616      data: { isPhotoZoomDetails: isPhotoZoomDetails }
617    }
618  }
619
620  public static updateBaseZoom(baseZoom: number): ActionData {
621    return {
622      type: Action.ACTION_UPDATE_BASE_ZOOM,
623      data: { baseZoom: baseZoom }
624    }
625  }
626
627  public static updatePinchGestureFlag(isPinchGesture: boolean): ActionData {
628    return {
629      type: Action.ACTION_UPDATE_PINCH_GESTURE_FLAG,
630      data: { isPinchGesture: isPinchGesture }
631    }
632  }
633
634  public static updatePinchGestureTimerId(pinchGestureTimerId: number): ActionData {
635    return {
636      type: Action.ACTION_UPDATE_PINCH_GESTURE_TIMER_ID,
637      data: { pinchGestureTimerId: pinchGestureTimerId }
638    }
639  }
640
641  public static updateModeIndex(modeIndex: number): ActionData {
642    return {
643      type: Action.ACTION_UPDATE_MODE_INDEX,
644      data: { modeIndex: modeIndex }
645    }
646  }
647
648  public static updateSmallVideoTimerVisible(visible: boolean): ActionData {
649    return {
650      type: Action.ACTION_UPDATE_SMALL_VIDEO_TIMER_VISIBLE,
651      data: { isSmallVideoTimerVisible: visible }
652    }
653  }
654
655  public static updateBigVideoTimerVisible(visible: boolean): ActionData {
656    return {
657      type: Action.ACTION_UPDATE_BIG_VIDEO_TIMER_VISIBLE,
658      data: { isBigVideoTimerVisible: visible }
659    }
660  }
661
662  public static updateRecordingSpotVisible(visible: boolean): ActionData {
663    return {
664      type: Action.ACTION_UPDATE_RECORDING_SPOT_VISIBLE,
665      data: { isRecordingSpotVisible: visible }
666    }
667  }
668
669  public static updateOpacityValue(opacityValue: number): ActionData {
670    return {
671      type: Action.ACTION_UPDATE_OPACITY_VALUE,
672      data: { opacityValue: opacityValue }
673    }
674  }
675
676  public static updateShowPressScrollDetailPhotoButton(isShow: boolean): ActionData {
677    return {
678      type: Action.ACTION_UPDATE_SHOW_PRESS_SCROLL_DETAIL_PHOTO_BUTTON,
679      data: { isShowPressScrollDetailPhotoButton: isShow }
680    }
681  }
682
683  public static updateScrollDetailsBox(value: number): ActionData {
684    return {
685      type: Action.ACTION_UPDATE_SCROLL_DETAILS_BOX,
686      data: { scrollDetailsBox: value }
687    }
688  }
689
690  public static initPhotoDetailsOffsetX(offsetX: number): ActionData {
691    return {
692      isEvent: true,
693      type: Action.ACTION_INIT_PHOTO_DETAILS_OFFSET_X,
694      data: { photoDetailsOffsetXInit: offsetX }
695    }
696  }
697
698  public static updatePhotoDetailsOffsetX(offsetX: number): ActionData {
699    return {
700      isEvent: true,
701      type: Action.ACTION_UPDATE_PHOTO_DETAILS_OFFSET_X,
702      data: { photoDetailsOffsetX: offsetX }
703    }
704  }
705
706  public static updateCaptureBtnScale(scale: number): ActionData {
707    return {
708      isEvent: true,
709      type: Action.ACTION_UPDATE_CAPTURE_BTN_SCALE,
710      data: { captureBtnScale: scale }
711    }
712  }
713
714  public static updateShowFlashBlackFlag(flag: boolean): ActionData {
715    return {
716      type: Action.ACTION_UPDATE_SHOW_FLASH_BLACK_FLAG,
717      data: { isShowFlashBlack: flag }
718    }
719  }
720
721  public static updateShutterIcon(icon: Resource): ActionData {
722    return {
723      type: Action.ACTION_UPDATE_SHUTTER_ICON,
724      data: { shutterIcon: icon }
725    }
726  }
727
728  public static updateBigTextOpacity(opacity: number): ActionData {
729    return {
730      type: Action.ACTION_UPDATE_BIG_TEXT_OPACITY,
731      data: { bigTextOpacity: opacity }
732    }
733  }
734
735  public static updateModeBarItemWidth(width: number): ActionData {
736    return {
737      type: Action.ACTION_UPDATE_MODE_BAR_ITEM_WIDTH,
738      data: { modeBarItemWidth: width }
739    }
740  }
741
742  public static updateShowTabBarWidth(widthTabBar: string): ActionData {
743    return {
744      type: Action.ACTION_UPDATE_SHOW_TAB_BAR_WIDTH,
745      data: { widthTabBar: widthTabBar }
746    }
747  }
748
749  public static updateShowMoreList(isShowMoreList: boolean): ActionData {
750    return {
751      type: Action.ACTION_UPDATE_SHOW_MORE_LIST,
752      data: { isShowMoreList: isShowMoreList }
753    }
754  }
755
756  public static updateOpacityForTabBar(opacity: number): ActionData {
757    return {
758      type: Action.ACTION_UPDATE_OPACITY_TAB_BAR,
759      data: { opacityValueForTabBar: opacity }
760    }
761  }
762
763  public static swipeChangeMode(swipeModeIndex: number): ActionData {
764    return {
765      isEvent: true,
766      type: Action.ACTION_SWIPE_MODE,
767      data: { swipeModeIndex: swipeModeIndex }
768    }
769  }
770
771  public static updateShowZoomLabelValue(flag: boolean): ActionData {
772    return {
773      type: Action.ACTION_SHOW_ZOOM_LABEL_VALUE,
774      data: { showZoomLabelValue: flag }
775    }
776  }
777
778  public static updateShowPinch(isShowPinch: boolean): ActionData {
779    return {
780      type: Action.ACTION_UPDATE_SHOW_PINCH,
781      data: { isShowPinch: isShowPinch }
782    }
783  }
784
785  public static closeDialog(isCloseFlag: boolean): ActionData {
786    return {
787      type: Action.ACTION_CLOSE_DIALOG,
788      data: { isCloseFlag: isCloseFlag }
789    }
790  }
791
792  public static showSettingView(isShowSettingView: boolean): ActionData {
793    return {
794      type: Action.ACTION_SHOW_SETTING_VIEW,
795      data: { isShowSettingView: isShowSettingView }
796    }
797  }
798}
799