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