react-native-ensys-camera-x 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CustomCamera.podspec +20 -0
- package/LICENSE +20 -0
- package/README.md +833 -0
- package/android/build.gradle +135 -0
- package/android/consumer-rules.pro +47 -0
- package/android/src/main/AndroidManifest.xml +72 -0
- package/android/src/main/java/android/print/PdfPrint.java +51 -0
- package/android/src/main/java/com/customcamera/AnimatedImageViewManager.kt +199 -0
- package/android/src/main/java/com/customcamera/AudioPlayerView.kt +322 -0
- package/android/src/main/java/com/customcamera/AudioRecorder.kt +506 -0
- package/android/src/main/java/com/customcamera/BarcodeScannerActivity.kt +361 -0
- package/android/src/main/java/com/customcamera/BlurBackgroundView.kt +199 -0
- package/android/src/main/java/com/customcamera/CacheCleanupManager.kt +386 -0
- package/android/src/main/java/com/customcamera/CameraAspectRatioMode.kt +77 -0
- package/android/src/main/java/com/customcamera/CameraAsset.kt +211 -0
- package/android/src/main/java/com/customcamera/CameraTheme.kt +479 -0
- package/android/src/main/java/com/customcamera/CompressionCacheStore.kt +504 -0
- package/android/src/main/java/com/customcamera/CompressionFileNameUtils.kt +7 -0
- package/android/src/main/java/com/customcamera/CompressionProfile.kt +195 -0
- package/android/src/main/java/com/customcamera/CustomCameraActivity.kt +7291 -0
- package/android/src/main/java/com/customcamera/CustomCameraFileProvider.kt +9 -0
- package/android/src/main/java/com/customcamera/CustomCameraModule.kt +2479 -0
- package/android/src/main/java/com/customcamera/CustomCameraPackage.kt +53 -0
- package/android/src/main/java/com/customcamera/DisplayUtils.kt +9 -0
- package/android/src/main/java/com/customcamera/DocumentPreviewView.kt +846 -0
- package/android/src/main/java/com/customcamera/DrawingView.kt +214 -0
- package/android/src/main/java/com/customcamera/EmojiPickerData.kt +228 -0
- package/android/src/main/java/com/customcamera/FilterStripAdapter.kt +158 -0
- package/android/src/main/java/com/customcamera/GifSupport.kt +215 -0
- package/android/src/main/java/com/customcamera/GlobalAudioPlayer.kt +320 -0
- package/android/src/main/java/com/customcamera/ImageExporter.kt +1394 -0
- package/android/src/main/java/com/customcamera/ImageFormatSupport.kt +163 -0
- package/android/src/main/java/com/customcamera/Localization.kt +206 -0
- package/android/src/main/java/com/customcamera/MediaAdapters.kt +758 -0
- package/android/src/main/java/com/customcamera/MediaCacheManager.kt +782 -0
- package/android/src/main/java/com/customcamera/MediaExportFormats.kt +201 -0
- package/android/src/main/java/com/customcamera/MediaFileIo.kt +310 -0
- package/android/src/main/java/com/customcamera/MediaMetadataStore.kt +494 -0
- package/android/src/main/java/com/customcamera/MediaPreviewEditor.kt +14865 -0
- package/android/src/main/java/com/customcamera/MediaPublisher.kt +423 -0
- package/android/src/main/java/com/customcamera/MediaStorageWorkflow.kt +722 -0
- package/android/src/main/java/com/customcamera/MediaStoreRepository.kt +378 -0
- package/android/src/main/java/com/customcamera/MediaThumbnailView.kt +286 -0
- package/android/src/main/java/com/customcamera/MediaUtils.kt +37 -0
- package/android/src/main/java/com/customcamera/NativeVideoViewManager.kt +845 -0
- package/android/src/main/java/com/customcamera/OfficeDocumentConverter.kt +2791 -0
- package/android/src/main/java/com/customcamera/PendingCaptureCrops.kt +88 -0
- package/android/src/main/java/com/customcamera/PowerPointPreview.kt +4077 -0
- package/android/src/main/java/com/customcamera/RecentPickerStore.kt +74 -0
- package/android/src/main/java/com/customcamera/SecureFileEraser.kt +411 -0
- package/android/src/main/java/com/customcamera/SecureKeyModule.kt +88 -0
- package/android/src/main/java/com/customcamera/SecureMediaDeleter.kt +493 -0
- package/android/src/main/java/com/customcamera/StickerPickerData.kt +107 -0
- package/android/src/main/java/com/customcamera/SvgDrawable.kt +175 -0
- package/android/src/main/java/com/customcamera/SvgIconViewManager.kt +77 -0
- package/android/src/main/java/com/customcamera/TextEntryController.kt +553 -0
- package/android/src/main/java/com/customcamera/ThumbnailLoader.kt +455 -0
- package/android/src/main/java/com/customcamera/UploadService.kt +909 -0
- package/android/src/main/java/com/customcamera/VideoEditUtils.kt +210 -0
- package/android/src/main/java/com/customcamera/VideoRotationTranscoder.kt +1992 -0
- package/android/src/main/java/com/customcamera/gif/AnimatedGifEncoder.kt +473 -0
- package/android/src/main/java/com/customcamera/gif/GifDecoder.kt +690 -0
- package/android/src/main/java/com/customcamera/gif/GifFramesDrawable.kt +160 -0
- package/android/src/main/java/com/customcamera/gif/GifHttp.kt +112 -0
- package/android/src/main/java/com/customcamera/gif/GifImageLoader.kt +186 -0
- package/android/src/main/java/com/customcamera/gif/GifModels.kt +74 -0
- package/android/src/main/java/com/customcamera/gif/GifProvider.kt +49 -0
- package/android/src/main/java/com/customcamera/gif/GifProviders.kt +27 -0
- package/android/src/main/java/com/customcamera/gif/GifRepository.kt +124 -0
- package/android/src/main/java/com/customcamera/gif/GifSafety.kt +33 -0
- package/android/src/main/java/com/customcamera/gif/GiphyGifProvider.kt +146 -0
- package/android/src/main/java/com/customcamera/gif/LZWEncoder.kt +258 -0
- package/android/src/main/java/com/customcamera/gif/NeuQuant.kt +435 -0
- package/android/src/main/java/com/customcamera/gif/TenorGifProvider.kt +147 -0
- package/android/src/main/res/drawable/bg_brush_selected.xml +5 -0
- package/android/src/main/res/drawable/bg_color_swatch.xml +5 -0
- package/android/src/main/res/drawable/bg_editor_toolbar.xml +6 -0
- package/android/src/main/res/drawable/bg_icon_circle.xml +5 -0
- package/android/src/main/res/drawable/bg_icon_circle_light.xml +5 -0
- package/android/src/main/res/drawable/bg_mode_tab_active.xml +6 -0
- package/android/src/main/res/drawable/bg_pill.xml +6 -0
- package/android/src/main/res/drawable/bg_recording_dot.xml +6 -0
- package/android/src/main/res/drawable/bg_selection_badge.xml +8 -0
- package/android/src/main/res/drawable/bg_send_button.xml +5 -0
- package/android/src/main/res/drawable/bg_shutter_inner.xml +5 -0
- package/android/src/main/res/drawable/bg_shutter_recording.xml +6 -0
- package/android/src/main/res/drawable/bg_shutter_ring.xml +8 -0
- package/android/src/main/res/drawable/bg_shutter_video_idle.xml +5 -0
- package/android/src/main/res/drawable/bg_thumbnail.xml +9 -0
- package/android/src/main/res/drawable/ic_aspect_ratio.xml +17 -0
- package/android/src/main/res/drawable/ic_audio.xml +10 -0
- package/android/src/main/res/drawable/ic_back.xml +10 -0
- package/android/src/main/res/drawable/ic_brush_medium.xml +12 -0
- package/android/src/main/res/drawable/ic_brush_thick.xml +12 -0
- package/android/src/main/res/drawable/ic_brush_thin.xml +12 -0
- package/android/src/main/res/drawable/ic_check.xml +17 -0
- package/android/src/main/res/drawable/ic_chevron_down.xml +10 -0
- package/android/src/main/res/drawable/ic_chevron_up.xml +13 -0
- package/android/src/main/res/drawable/ic_clear_drawing.xml +10 -0
- package/android/src/main/res/drawable/ic_close.xml +10 -0
- package/android/src/main/res/drawable/ic_cover.xml +9 -0
- package/android/src/main/res/drawable/ic_crop.xml +10 -0
- package/android/src/main/res/drawable/ic_delete.xml +9 -0
- package/android/src/main/res/drawable/ic_document.xml +10 -0
- package/android/src/main/res/drawable/ic_done.xml +10 -0
- package/android/src/main/res/drawable/ic_download.xml +10 -0
- package/android/src/main/res/drawable/ic_emoji.xml +10 -0
- package/android/src/main/res/drawable/ic_filter.xml +10 -0
- package/android/src/main/res/drawable/ic_flash_auto.xml +7 -0
- package/android/src/main/res/drawable/ic_flash_off.xml +23 -0
- package/android/src/main/res/drawable/ic_flash_on.xml +16 -0
- package/android/src/main/res/drawable/ic_flip.xml +15 -0
- package/android/src/main/res/drawable/ic_gallery.xml +10 -0
- package/android/src/main/res/drawable/ic_gif.xml +24 -0
- package/android/src/main/res/drawable/ic_lock.xml +19 -0
- package/android/src/main/res/drawable/ic_lock_open.xml +22 -0
- package/android/src/main/res/drawable/ic_marker.xml +10 -0
- package/android/src/main/res/drawable/ic_more_vert.xml +18 -0
- package/android/src/main/res/drawable/ic_overlay_close.xml +19 -0
- package/android/src/main/res/drawable/ic_overlay_resize.xml +18 -0
- package/android/src/main/res/drawable/ic_pause.xml +10 -0
- package/android/src/main/res/drawable/ic_photo_mode.xml +10 -0
- package/android/src/main/res/drawable/ic_play.xml +10 -0
- package/android/src/main/res/drawable/ic_redo.xml +10 -0
- package/android/src/main/res/drawable/ic_rotate.xml +9 -0
- package/android/src/main/res/drawable/ic_send.xml +10 -0
- package/android/src/main/res/drawable/ic_share.xml +10 -0
- package/android/src/main/res/drawable/ic_stat_upload.xml +10 -0
- package/android/src/main/res/drawable/ic_sticker.xml +24 -0
- package/android/src/main/res/drawable/ic_text.xml +10 -0
- package/android/src/main/res/drawable/ic_text_align_center.xml +11 -0
- package/android/src/main/res/drawable/ic_text_align_left.xml +11 -0
- package/android/src/main/res/drawable/ic_text_align_right.xml +11 -0
- package/android/src/main/res/drawable/ic_text_bg.xml +11 -0
- package/android/src/main/res/drawable/ic_trim.xml +23 -0
- package/android/src/main/res/drawable/ic_undo.xml +10 -0
- package/android/src/main/res/drawable/ic_video_mode.xml +10 -0
- package/android/src/main/res/drawable/ic_video_note.xml +13 -0
- package/android/src/main/res/drawable/ic_volume_off.xml +9 -0
- package/android/src/main/res/drawable/ic_volume_on.xml +9 -0
- package/android/src/main/res/drawable/sticker_heart.xml +9 -0
- package/android/src/main/res/drawable/sticker_smile.xml +9 -0
- package/android/src/main/res/drawable/sticker_star.xml +9 -0
- package/android/src/main/res/drawable/sticker_thumbsup.xml +9 -0
- package/android/src/main/res/values/colors.xml +34 -0
- package/android/src/main/res/values/ids.xml +15 -0
- package/android/src/main/res/values/strings.xml +15 -0
- package/android/src/main/res/values/styles.xml +20 -0
- package/android/src/main/res/xml/file_paths.xml +34 -0
- package/ios/CustomCamera.h +5 -0
- package/ios/CustomCamera.mm +214 -0
- package/lib/module/AudioPlayerContext.js +233 -0
- package/lib/module/AudioPlayerContext.js.map +1 -0
- package/lib/module/CameraPreview.js +304 -0
- package/lib/module/CameraPreview.js.map +1 -0
- package/lib/module/NativeAnimatedImageView.js +41 -0
- package/lib/module/NativeAnimatedImageView.js.map +1 -0
- package/lib/module/NativeAudioPlayerView.js +33 -0
- package/lib/module/NativeAudioPlayerView.js.map +1 -0
- package/lib/module/NativeBlurView.js +35 -0
- package/lib/module/NativeBlurView.js.map +1 -0
- package/lib/module/NativeCustomCamera.js +128 -0
- package/lib/module/NativeCustomCamera.js.map +1 -0
- package/lib/module/NativeCustomCamera.web.js +143 -0
- package/lib/module/NativeCustomCamera.web.js.map +1 -0
- package/lib/module/NativeCustomVideoView.js +5 -0
- package/lib/module/NativeCustomVideoView.js.map +1 -0
- package/lib/module/NativeDocumentPreviewView.js +156 -0
- package/lib/module/NativeDocumentPreviewView.js.map +1 -0
- package/lib/module/NativeMediaThumbnailView.js +110 -0
- package/lib/module/NativeMediaThumbnailView.js.map +1 -0
- package/lib/module/NativeSvgIcon.js +32 -0
- package/lib/module/NativeSvgIcon.js.map +1 -0
- package/lib/module/ResponsivePreviewContainer.js +171 -0
- package/lib/module/ResponsivePreviewContainer.js.map +1 -0
- package/lib/module/accessibility.js +61 -0
- package/lib/module/accessibility.js.map +1 -0
- package/lib/module/config.js +352 -0
- package/lib/module/config.js.map +1 -0
- package/lib/module/cpuOptimization.js +296 -0
- package/lib/module/cpuOptimization.js.map +1 -0
- package/lib/module/db/DatabaseManager.js +191 -0
- package/lib/module/db/DatabaseManager.js.map +1 -0
- package/lib/module/db/MediaMapper.js +284 -0
- package/lib/module/db/MediaMapper.js.map +1 -0
- package/lib/module/db/MediaRepository.js +242 -0
- package/lib/module/db/MediaRepository.js.map +1 -0
- package/lib/module/db/index.js +41 -0
- package/lib/module/db/index.js.map +1 -0
- package/lib/module/db/migrations.js +180 -0
- package/lib/module/db/migrations.js.map +1 -0
- package/lib/module/db/react-native-sqlcipher.d.js +2 -0
- package/lib/module/db/react-native-sqlcipher.d.js.map +1 -0
- package/lib/module/db/secureKey.js +87 -0
- package/lib/module/db/secureKey.js.map +1 -0
- package/lib/module/db/types.js +57 -0
- package/lib/module/db/types.js.map +1 -0
- package/lib/module/db/useMediaDatabase.js +123 -0
- package/lib/module/db/useMediaDatabase.js.map +1 -0
- package/lib/module/defaultIcons.js +2259 -0
- package/lib/module/defaultIcons.js.map +1 -0
- package/lib/module/deviceCapabilities.js +408 -0
- package/lib/module/deviceCapabilities.js.map +1 -0
- package/lib/module/errors.js +267 -0
- package/lib/module/errors.js.map +1 -0
- package/lib/module/iconConfig.js +796 -0
- package/lib/module/iconConfig.js.map +1 -0
- package/lib/module/icons.js +514 -0
- package/lib/module/icons.js.map +1 -0
- package/lib/module/index.js +251 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/jest-globals.d.js +2 -0
- package/lib/module/jest-globals.d.js.map +1 -0
- package/lib/module/library/MediaLibrary.js +107 -0
- package/lib/module/library/MediaLibrary.js.map +1 -0
- package/lib/module/library/MediaLibraryScreen.js +2597 -0
- package/lib/module/library/MediaLibraryScreen.js.map +1 -0
- package/lib/module/library/components/AudioPreview.js +74 -0
- package/lib/module/library/components/AudioPreview.js.map +1 -0
- package/lib/module/library/components/DocumentPreview.js +331 -0
- package/lib/module/library/components/DocumentPreview.js.map +1 -0
- package/lib/module/library/components/ExpandableFab.js +343 -0
- package/lib/module/library/components/ExpandableFab.js.map +1 -0
- package/lib/module/library/components/FileTiles.js +251 -0
- package/lib/module/library/components/FileTiles.js.map +1 -0
- package/lib/module/library/components/ImagePreview.js +70 -0
- package/lib/module/library/components/ImagePreview.js.map +1 -0
- package/lib/module/library/components/MediaMetadataHeader.js +175 -0
- package/lib/module/library/components/MediaMetadataHeader.js.map +1 -0
- package/lib/module/library/components/RecordAudioScreen.js +816 -0
- package/lib/module/library/components/RecordAudioScreen.js.map +1 -0
- package/lib/module/library/components/VideoPreview.js +453 -0
- package/lib/module/library/components/VideoPreview.js.map +1 -0
- package/lib/module/library/components/ViewerCounter.js +55 -0
- package/lib/module/library/components/ViewerCounter.js.map +1 -0
- package/lib/module/library/compressionEstimate.js +507 -0
- package/lib/module/library/compressionEstimate.js.map +1 -0
- package/lib/module/library/fileMetadata.js +196 -0
- package/lib/module/library/fileMetadata.js.map +1 -0
- package/lib/module/library/index.js +42 -0
- package/lib/module/library/index.js.map +1 -0
- package/lib/module/library/libraryIconRegistry.js +69 -0
- package/lib/module/library/libraryIconRegistry.js.map +1 -0
- package/lib/module/library/libraryIcons.js +858 -0
- package/lib/module/library/libraryIcons.js.map +1 -0
- package/lib/module/library/localizedFormat.js +181 -0
- package/lib/module/library/localizedFormat.js.map +1 -0
- package/lib/module/library/palette.js +225 -0
- package/lib/module/library/palette.js.map +1 -0
- package/lib/module/library/responsive.js +53 -0
- package/lib/module/library/responsive.js.map +1 -0
- package/lib/module/locales.js +416 -0
- package/lib/module/locales.js.map +1 -0
- package/lib/module/localization.js +1064 -0
- package/lib/module/localization.js.map +1 -0
- package/lib/module/logger.js +20 -0
- package/lib/module/logger.js.map +1 -0
- package/lib/module/lowMemoryCache.js +206 -0
- package/lib/module/lowMemoryCache.js.map +1 -0
- package/lib/module/mediaHistory.js +33 -0
- package/lib/module/mediaHistory.js.map +1 -0
- package/lib/module/mediaStorageService.js +402 -0
- package/lib/module/mediaStorageService.js.map +1 -0
- package/lib/module/memory.js +79 -0
- package/lib/module/memory.js.map +1 -0
- package/lib/module/nativeActions.js +307 -0
- package/lib/module/nativeActions.js.map +1 -0
- package/lib/module/nativeComponentSupport.js +61 -0
- package/lib/module/nativeComponentSupport.js.map +1 -0
- package/lib/module/networkPerformance.js +24 -0
- package/lib/module/networkPerformance.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/performance.js +104 -0
- package/lib/module/performance.js.map +1 -0
- package/lib/module/performanceMonitor.js +155 -0
- package/lib/module/performanceMonitor.js.map +1 -0
- package/lib/module/permissions.js +370 -0
- package/lib/module/permissions.js.map +1 -0
- package/lib/module/rendering.js +40 -0
- package/lib/module/rendering.js.map +1 -0
- package/lib/module/security.js +18 -0
- package/lib/module/security.js.map +1 -0
- package/lib/module/state.js +266 -0
- package/lib/module/state.js.map +1 -0
- package/lib/module/storage.js +400 -0
- package/lib/module/storage.js.map +1 -0
- package/lib/module/theme.js +390 -0
- package/lib/module/theme.js.map +1 -0
- package/lib/module/types.js +4 -0
- package/lib/module/types.js.map +1 -0
- package/lib/module/utils.js +115 -0
- package/lib/module/utils.js.map +1 -0
- package/lib/module/validation.js +288 -0
- package/lib/module/validation.js.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/AudioPlayerContext.d.ts +27 -0
- package/lib/typescript/src/AudioPlayerContext.d.ts.map +1 -0
- package/lib/typescript/src/CameraPreview.d.ts +13 -0
- package/lib/typescript/src/CameraPreview.d.ts.map +1 -0
- package/lib/typescript/src/NativeAnimatedImageView.d.ts +33 -0
- package/lib/typescript/src/NativeAnimatedImageView.d.ts.map +1 -0
- package/lib/typescript/src/NativeAudioPlayerView.d.ts +12 -0
- package/lib/typescript/src/NativeAudioPlayerView.d.ts.map +1 -0
- package/lib/typescript/src/NativeBlurView.d.ts +12 -0
- package/lib/typescript/src/NativeBlurView.d.ts.map +1 -0
- package/lib/typescript/src/NativeCustomCamera.d.ts +167 -0
- package/lib/typescript/src/NativeCustomCamera.d.ts.map +1 -0
- package/lib/typescript/src/NativeCustomCamera.web.d.ts +47 -0
- package/lib/typescript/src/NativeCustomCamera.web.d.ts.map +1 -0
- package/lib/typescript/src/NativeCustomVideoView.d.ts +30 -0
- package/lib/typescript/src/NativeCustomVideoView.d.ts.map +1 -0
- package/lib/typescript/src/NativeDocumentPreviewView.d.ts +48 -0
- package/lib/typescript/src/NativeDocumentPreviewView.d.ts.map +1 -0
- package/lib/typescript/src/NativeMediaThumbnailView.d.ts +54 -0
- package/lib/typescript/src/NativeMediaThumbnailView.d.ts.map +1 -0
- package/lib/typescript/src/NativeSvgIcon.d.ts +25 -0
- package/lib/typescript/src/NativeSvgIcon.d.ts.map +1 -0
- package/lib/typescript/src/ResponsivePreviewContainer.d.ts +92 -0
- package/lib/typescript/src/ResponsivePreviewContainer.d.ts.map +1 -0
- package/lib/typescript/src/accessibility.d.ts +20 -0
- package/lib/typescript/src/accessibility.d.ts.map +1 -0
- package/lib/typescript/src/config.d.ts +145 -0
- package/lib/typescript/src/config.d.ts.map +1 -0
- package/lib/typescript/src/cpuOptimization.d.ts +63 -0
- package/lib/typescript/src/cpuOptimization.d.ts.map +1 -0
- package/lib/typescript/src/db/DatabaseManager.d.ts +48 -0
- package/lib/typescript/src/db/DatabaseManager.d.ts.map +1 -0
- package/lib/typescript/src/db/MediaMapper.d.ts +77 -0
- package/lib/typescript/src/db/MediaMapper.d.ts.map +1 -0
- package/lib/typescript/src/db/MediaRepository.d.ts +66 -0
- package/lib/typescript/src/db/MediaRepository.d.ts.map +1 -0
- package/lib/typescript/src/db/index.d.ts +23 -0
- package/lib/typescript/src/db/index.d.ts.map +1 -0
- package/lib/typescript/src/db/migrations.d.ts +31 -0
- package/lib/typescript/src/db/migrations.d.ts.map +1 -0
- package/lib/typescript/src/db/secureKey.d.ts +10 -0
- package/lib/typescript/src/db/secureKey.d.ts.map +1 -0
- package/lib/typescript/src/db/types.d.ts +115 -0
- package/lib/typescript/src/db/types.d.ts.map +1 -0
- package/lib/typescript/src/db/useMediaDatabase.d.ts +41 -0
- package/lib/typescript/src/db/useMediaDatabase.d.ts.map +1 -0
- package/lib/typescript/src/defaultIcons.d.ts +139 -0
- package/lib/typescript/src/defaultIcons.d.ts.map +1 -0
- package/lib/typescript/src/deviceCapabilities.d.ts +92 -0
- package/lib/typescript/src/deviceCapabilities.d.ts.map +1 -0
- package/lib/typescript/src/errors.d.ts +95 -0
- package/lib/typescript/src/errors.d.ts.map +1 -0
- package/lib/typescript/src/iconConfig.d.ts +176 -0
- package/lib/typescript/src/iconConfig.d.ts.map +1 -0
- package/lib/typescript/src/icons.d.ts +217 -0
- package/lib/typescript/src/icons.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +104 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/library/MediaLibrary.d.ts +57 -0
- package/lib/typescript/src/library/MediaLibrary.d.ts.map +1 -0
- package/lib/typescript/src/library/MediaLibraryScreen.d.ts +51 -0
- package/lib/typescript/src/library/MediaLibraryScreen.d.ts.map +1 -0
- package/lib/typescript/src/library/components/AudioPreview.d.ts +6 -0
- package/lib/typescript/src/library/components/AudioPreview.d.ts.map +1 -0
- package/lib/typescript/src/library/components/DocumentPreview.d.ts +10 -0
- package/lib/typescript/src/library/components/DocumentPreview.d.ts.map +1 -0
- package/lib/typescript/src/library/components/ExpandableFab.d.ts +39 -0
- package/lib/typescript/src/library/components/ExpandableFab.d.ts.map +1 -0
- package/lib/typescript/src/library/components/FileTiles.d.ts +8 -0
- package/lib/typescript/src/library/components/FileTiles.d.ts.map +1 -0
- package/lib/typescript/src/library/components/ImagePreview.d.ts +5 -0
- package/lib/typescript/src/library/components/ImagePreview.d.ts.map +1 -0
- package/lib/typescript/src/library/components/MediaMetadataHeader.d.ts +16 -0
- package/lib/typescript/src/library/components/MediaMetadataHeader.d.ts.map +1 -0
- package/lib/typescript/src/library/components/RecordAudioScreen.d.ts +8 -0
- package/lib/typescript/src/library/components/RecordAudioScreen.d.ts.map +1 -0
- package/lib/typescript/src/library/components/VideoPreview.d.ts +20 -0
- package/lib/typescript/src/library/components/VideoPreview.d.ts.map +1 -0
- package/lib/typescript/src/library/components/ViewerCounter.d.ts +13 -0
- package/lib/typescript/src/library/components/ViewerCounter.d.ts.map +1 -0
- package/lib/typescript/src/library/compressionEstimate.d.ts +313 -0
- package/lib/typescript/src/library/compressionEstimate.d.ts.map +1 -0
- package/lib/typescript/src/library/fileMetadata.d.ts +33 -0
- package/lib/typescript/src/library/fileMetadata.d.ts.map +1 -0
- package/lib/typescript/src/library/index.d.ts +40 -0
- package/lib/typescript/src/library/index.d.ts.map +1 -0
- package/lib/typescript/src/library/libraryIconRegistry.d.ts +35 -0
- package/lib/typescript/src/library/libraryIconRegistry.d.ts.map +1 -0
- package/lib/typescript/src/library/libraryIcons.d.ts +85 -0
- package/lib/typescript/src/library/libraryIcons.d.ts.map +1 -0
- package/lib/typescript/src/library/localizedFormat.d.ts +49 -0
- package/lib/typescript/src/library/localizedFormat.d.ts.map +1 -0
- package/lib/typescript/src/library/palette.d.ts +104 -0
- package/lib/typescript/src/library/palette.d.ts.map +1 -0
- package/lib/typescript/src/library/responsive.d.ts +15 -0
- package/lib/typescript/src/library/responsive.d.ts.map +1 -0
- package/lib/typescript/src/locales.d.ts +103 -0
- package/lib/typescript/src/locales.d.ts.map +1 -0
- package/lib/typescript/src/localization.d.ts +1051 -0
- package/lib/typescript/src/localization.d.ts.map +1 -0
- package/lib/typescript/src/logger.d.ts +4 -0
- package/lib/typescript/src/logger.d.ts.map +1 -0
- package/lib/typescript/src/lowMemoryCache.d.ts +64 -0
- package/lib/typescript/src/lowMemoryCache.d.ts.map +1 -0
- package/lib/typescript/src/mediaHistory.d.ts +3 -0
- package/lib/typescript/src/mediaHistory.d.ts.map +1 -0
- package/lib/typescript/src/mediaStorageService.d.ts +155 -0
- package/lib/typescript/src/mediaStorageService.d.ts.map +1 -0
- package/lib/typescript/src/memory.d.ts +21 -0
- package/lib/typescript/src/memory.d.ts.map +1 -0
- package/lib/typescript/src/nativeActions.d.ts +174 -0
- package/lib/typescript/src/nativeActions.d.ts.map +1 -0
- package/lib/typescript/src/nativeComponentSupport.d.ts +30 -0
- package/lib/typescript/src/nativeComponentSupport.d.ts.map +1 -0
- package/lib/typescript/src/networkPerformance.d.ts +12 -0
- package/lib/typescript/src/networkPerformance.d.ts.map +1 -0
- package/lib/typescript/src/performance.d.ts +32 -0
- package/lib/typescript/src/performance.d.ts.map +1 -0
- package/lib/typescript/src/performanceMonitor.d.ts +45 -0
- package/lib/typescript/src/performanceMonitor.d.ts.map +1 -0
- package/lib/typescript/src/permissions.d.ts +132 -0
- package/lib/typescript/src/permissions.d.ts.map +1 -0
- package/lib/typescript/src/rendering.d.ts +9 -0
- package/lib/typescript/src/rendering.d.ts.map +1 -0
- package/lib/typescript/src/security.d.ts +6 -0
- package/lib/typescript/src/security.d.ts.map +1 -0
- package/lib/typescript/src/state.d.ts +102 -0
- package/lib/typescript/src/state.d.ts.map +1 -0
- package/lib/typescript/src/storage.d.ts +117 -0
- package/lib/typescript/src/storage.d.ts.map +1 -0
- package/lib/typescript/src/theme.d.ts +15 -0
- package/lib/typescript/src/theme.d.ts.map +1 -0
- package/lib/typescript/src/types.d.ts +802 -0
- package/lib/typescript/src/types.d.ts.map +1 -0
- package/lib/typescript/src/utils.d.ts +50 -0
- package/lib/typescript/src/utils.d.ts.map +1 -0
- package/lib/typescript/src/validation.d.ts +52 -0
- package/lib/typescript/src/validation.d.ts.map +1 -0
- package/package.json +204 -0
- package/react-native.config.js +17 -0
- package/src/AudioPlayerContext.tsx +220 -0
- package/src/CameraPreview.tsx +352 -0
- package/src/NativeAnimatedImageView.tsx +71 -0
- package/src/NativeAudioPlayerView.tsx +39 -0
- package/src/NativeBlurView.tsx +40 -0
- package/src/NativeCustomCamera.ts +305 -0
- package/src/NativeCustomCamera.web.ts +192 -0
- package/src/NativeCustomVideoView.ts +30 -0
- package/src/NativeDocumentPreviewView.tsx +196 -0
- package/src/NativeMediaThumbnailView.tsx +167 -0
- package/src/NativeSvgIcon.tsx +46 -0
- package/src/ResponsivePreviewContainer.tsx +227 -0
- package/src/accessibility.ts +80 -0
- package/src/config.ts +406 -0
- package/src/cpuOptimization.ts +365 -0
- package/src/db/DatabaseManager.ts +212 -0
- package/src/db/MediaMapper.ts +377 -0
- package/src/db/MediaRepository.ts +313 -0
- package/src/db/index.ts +73 -0
- package/src/db/migrations.ts +222 -0
- package/src/db/react-native-sqlcipher.d.ts +76 -0
- package/src/db/secureKey.ts +100 -0
- package/src/db/types.ts +123 -0
- package/src/db/useMediaDatabase.ts +191 -0
- package/src/defaultIcons.tsx +2390 -0
- package/src/deviceCapabilities.ts +438 -0
- package/src/errors.ts +350 -0
- package/src/iconConfig.tsx +962 -0
- package/src/icons.tsx +788 -0
- package/src/index.tsx +763 -0
- package/src/jest-globals.d.ts +9 -0
- package/src/library/MediaLibrary.tsx +141 -0
- package/src/library/MediaLibraryScreen.tsx +3003 -0
- package/src/library/components/AudioPreview.tsx +73 -0
- package/src/library/components/DocumentPreview.tsx +361 -0
- package/src/library/components/ExpandableFab.tsx +342 -0
- package/src/library/components/FileTiles.tsx +252 -0
- package/src/library/components/ImagePreview.tsx +72 -0
- package/src/library/components/MediaMetadataHeader.tsx +208 -0
- package/src/library/components/RecordAudioScreen.tsx +845 -0
- package/src/library/components/VideoPreview.tsx +478 -0
- package/src/library/components/ViewerCounter.tsx +71 -0
- package/src/library/compressionEstimate.ts +662 -0
- package/src/library/fileMetadata.ts +212 -0
- package/src/library/index.ts +66 -0
- package/src/library/libraryIconRegistry.tsx +86 -0
- package/src/library/libraryIcons.tsx +928 -0
- package/src/library/localizedFormat.ts +207 -0
- package/src/library/palette.ts +281 -0
- package/src/library/responsive.ts +49 -0
- package/src/locales.ts +381 -0
- package/src/localization.ts +1947 -0
- package/src/logger.ts +20 -0
- package/src/lowMemoryCache.ts +218 -0
- package/src/mediaHistory.ts +42 -0
- package/src/mediaStorageService.ts +546 -0
- package/src/memory.ts +102 -0
- package/src/nativeActions.ts +422 -0
- package/src/nativeComponentSupport.ts +60 -0
- package/src/networkPerformance.ts +30 -0
- package/src/performance.ts +137 -0
- package/src/performanceMonitor.ts +219 -0
- package/src/permissions.ts +403 -0
- package/src/rendering.ts +47 -0
- package/src/security.ts +19 -0
- package/src/state.ts +333 -0
- package/src/storage.ts +453 -0
- package/src/theme.tsx +467 -0
- package/src/types.ts +946 -0
- package/src/utils.ts +177 -0
- package/src/validation.ts +372 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
2
|
+
android:width="24dp"
|
|
3
|
+
android:height="24dp"
|
|
4
|
+
android:viewportWidth="24"
|
|
5
|
+
android:viewportHeight="24"
|
|
6
|
+
android:tint="#FFFFFFFF">
|
|
7
|
+
<!-- Left-aligned text bars: full-width top/third bars, short left-anchored second/fourth. -->
|
|
8
|
+
<path
|
|
9
|
+
android:fillColor="@android:color/white"
|
|
10
|
+
android:pathData="M4,5.5h16v2H4z M4,10h9v2H4z M4,14.5h16v2H4z M4,19h9v2H4z" />
|
|
11
|
+
</vector>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
2
|
+
android:width="24dp"
|
|
3
|
+
android:height="24dp"
|
|
4
|
+
android:viewportWidth="24"
|
|
5
|
+
android:viewportHeight="24"
|
|
6
|
+
android:tint="#FFFFFFFF">
|
|
7
|
+
<!-- Right-aligned text bars: full-width top/third bars, short right-anchored second/fourth. -->
|
|
8
|
+
<path
|
|
9
|
+
android:fillColor="@android:color/white"
|
|
10
|
+
android:pathData="M4,5.5h16v2H4z M11,10h9v2H11z M4,14.5h16v2H4z M11,19h9v2H11z" />
|
|
11
|
+
</vector>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
2
|
+
android:width="24dp"
|
|
3
|
+
android:height="24dp"
|
|
4
|
+
android:viewportWidth="24"
|
|
5
|
+
android:viewportHeight="24"
|
|
6
|
+
android:tint="#FFFFFFFF">
|
|
7
|
+
<!-- "T" glyph inside a rounded outline box — the text-background style toggle. -->
|
|
8
|
+
<path
|
|
9
|
+
android:fillColor="@android:color/white"
|
|
10
|
+
android:pathData="M6,2.5h12c1.93,0 3.5,1.57 3.5,3.5v12c0,1.93 -1.57,3.5 -3.5,3.5H6c-1.93,0 -3.5,-1.57 -3.5,-3.5V6c0,-1.93 1.57,-3.5 3.5,-3.5z M6,4.5c-0.83,0 -1.5,0.67 -1.5,1.5v12c0,0.83 0.67,1.5 1.5,1.5h12c0.83,0 1.5,-0.67 1.5,-1.5V6c0,-0.83 -0.67,-1.5 -1.5,-1.5z M7.5,7.5h9v2.2h-3.4v7h-2.2v-7H7.5z" />
|
|
11
|
+
</vector>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
2
|
+
android:width="24dp"
|
|
3
|
+
android:height="24dp"
|
|
4
|
+
android:viewportWidth="24"
|
|
5
|
+
android:viewportHeight="24">
|
|
6
|
+
<!--
|
|
7
|
+
The header icons are drawn at their INTRINSIC size (ImageView ScaleType.CENTER, not scaled to
|
|
8
|
+
the slot), so on-screen size = how much of the 24 viewport the ink fills. This scissors glyph's
|
|
9
|
+
ink spans 20 of 24 units, while the neighbouring volume/mute glyphs (ic_volume_on/off) fill only
|
|
10
|
+
~18, so trim rendered visibly larger and unbalanced the video toolbar. Scale the glyph by
|
|
11
|
+
18/20 = 0.9 about the viewport centre (12,12) so its ink matches the speaker icons; the box and
|
|
12
|
+
centring are unchanged.
|
|
13
|
+
-->
|
|
14
|
+
<group
|
|
15
|
+
android:pivotX="12"
|
|
16
|
+
android:pivotY="12"
|
|
17
|
+
android:scaleX="0.9"
|
|
18
|
+
android:scaleY="0.9">
|
|
19
|
+
<path
|
|
20
|
+
android:fillColor="#FFFFFF"
|
|
21
|
+
android:pathData="M9.64,7.64c0.23,-0.5 0.36,-1.05 0.36,-1.64 0,-2.21 -1.79,-4 -4,-4S2,3.79 2,6s1.79,4 4,4c0.59,0 1.14,-0.13 1.64,-0.36L10,12l-2.36,2.36C7.14,14.13 6.59,14 6,14c-2.21,0 -4,1.79 -4,4s1.79,4 4,4 4,-1.79 4,-4c0,-0.59 -0.13,-1.14 -0.36,-1.64L12,14l7,7h3v-1L9.64,7.64zM6,8c-1.1,0 -2,-0.89 -2,-2s0.9,-2 2,-2 2,0.89 2,2 -0.9,2 -2,2zm0,12c-1.1,0 -2,-0.89 -2,-2s0.9,-2 2,-2 2,0.89 2,2 -0.9,2 -2,2zm6,-7.5c-0.28,0 -0.5,-0.22 -0.5,-0.5s0.22,-0.5 0.5,-0.5 0.5,0.22 0.5,0.5 -0.22,0.5 -0.5,0.5zM19,3l-6,6 2,2 7,-7V3z"/>
|
|
22
|
+
</group>
|
|
23
|
+
</vector>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
2
|
+
android:width="24dp"
|
|
3
|
+
android:height="24dp"
|
|
4
|
+
android:viewportWidth="24"
|
|
5
|
+
android:viewportHeight="24"
|
|
6
|
+
android:tint="#FFFFFFFF">
|
|
7
|
+
<path
|
|
8
|
+
android:fillColor="@android:color/white"
|
|
9
|
+
android:pathData="M12.5,8c-2.65,0 -5.05,0.99 -6.9,2.6L2,7v9h9l-3.62,-3.62c1.39,-1.16 3.16,-1.88 5.12,-1.88 3.54,0 6.55,2.31 7.6,5.5l2.37,-0.78C21.08,11.03 17.15,8 12.5,8z" />
|
|
10
|
+
</vector>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
2
|
+
android:width="24dp"
|
|
3
|
+
android:height="24dp"
|
|
4
|
+
android:viewportWidth="24"
|
|
5
|
+
android:viewportHeight="24"
|
|
6
|
+
android:tint="#FFFFFFFF">
|
|
7
|
+
<path
|
|
8
|
+
android:fillColor="@android:color/white"
|
|
9
|
+
android:pathData="M17,10.5V7c0,-0.55 -0.45,-1 -1,-1H4c-0.55,0 -1,0.45 -1,1v10c0,0.55 0.45,1 1,1h12c0.55,0 1,-0.45 1,-1v-3.5l4,4v-11l-4,4z" />
|
|
10
|
+
</vector>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
2
|
+
android:width="24dp"
|
|
3
|
+
android:height="24dp"
|
|
4
|
+
android:viewportWidth="24"
|
|
5
|
+
android:viewportHeight="24"
|
|
6
|
+
android:tint="#FFFFFFFF">
|
|
7
|
+
<path
|
|
8
|
+
android:fillColor="@android:color/white"
|
|
9
|
+
android:pathData="M17,10.5V7c0,-0.55 -0.45,-1 -1,-1H4c-0.55,0 -1,0.45 -1,1v10c0,0.55 0.45,1 1,1h12c0.55,0 1,-0.45 1,-1v-3.5l4,4v-11l-4,4z" />
|
|
10
|
+
<path
|
|
11
|
+
android:fillColor="@android:color/white"
|
|
12
|
+
android:pathData="M21,3L12,12 8,8 4,12v1.5l4,-4 4,4 9,-9z" />
|
|
13
|
+
</vector>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
2
|
+
android:width="24dp"
|
|
3
|
+
android:height="24dp"
|
|
4
|
+
android:viewportWidth="24"
|
|
5
|
+
android:viewportHeight="24">
|
|
6
|
+
<path
|
|
7
|
+
android:fillColor="#FFFFFF"
|
|
8
|
+
android:pathData="M16.5,12c0,-1.77 -1.02,-3.29 -2.5,-4.03v2.21l2.45,2.45c0.03,-0.2 0.05,-0.41 0.05,-0.63zm2.5,0c0,0.94 -0.2,1.82 -0.54,2.64l1.51,1.51C20.63,14.91 21,13.5 21,12c0,-4.28 -2.99,-7.86 -7,-8.77v2.06c2.89,0.86 5,3.54 5,6.71zM4.27,3L3,4.27 7.73,9H3v6h4l5,5v-6.73l4.25,4.25c-0.67,0.52 -1.42,0.93 -2.25,1.18v2.06c1.38,-0.31 2.63,-0.95 3.69,-1.81L19.73,21 21,19.73l-9,-9L4.27,3zM12,4L9.91,6.09 12,8.18V4z"/>
|
|
9
|
+
</vector>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
2
|
+
android:width="24dp"
|
|
3
|
+
android:height="24dp"
|
|
4
|
+
android:viewportWidth="24"
|
|
5
|
+
android:viewportHeight="24">
|
|
6
|
+
<path
|
|
7
|
+
android:fillColor="#FFFFFF"
|
|
8
|
+
android:pathData="M3,9v6h4l5,5V4L7,9H3zm13.5,3c0,-1.77 -1.02,-3.29 -2.5,-4.03v8.05c1.48,-0.73 2.5,-2.25 2.5,-4.02zM14,3.23v2.06c2.89,0.86 5,3.54 5,6.71s-2.11,5.85 -5,6.71v2.06c4.01,-0.91 7,-4.49 7,-8.77s-2.99,-7.86 -7,-8.77z"/>
|
|
9
|
+
</vector>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
2
|
+
android:width="120dp"
|
|
3
|
+
android:height="120dp"
|
|
4
|
+
android:viewportWidth="24"
|
|
5
|
+
android:viewportHeight="24">
|
|
6
|
+
<path
|
|
7
|
+
android:fillColor="#FFE53935"
|
|
8
|
+
android:pathData="M12,21.35l-1.45,-1.32C5.4,15.36 2,12.28 2,8.5 2,5.42 4.42,3 7.5,3c1.74,0 3.41,0.81 4.5,2.09C13.09,3.81 14.76,3 16.5,3 19.58,3 22,5.42 22,8.5c0,3.78 -3.4,6.86 -8.55,11.54L12,21.35z" />
|
|
9
|
+
</vector>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
2
|
+
android:width="120dp"
|
|
3
|
+
android:height="120dp"
|
|
4
|
+
android:viewportWidth="24"
|
|
5
|
+
android:viewportHeight="24">
|
|
6
|
+
<path
|
|
7
|
+
android:fillColor="#FFFFD600"
|
|
8
|
+
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM8.5,8C9.33,8 10,8.67 10,9.5S9.33,11 8.5,11 7,10.33 7,9.5 7.67,8 8.5,8zM12,18c-2.28,0 -4.22,-1.66 -5,-4h10c-0.78,2.34 -2.72,4 -5,4zM15.5,11c-0.83,0 -1.5,-0.67 -1.5,-1.5S14.67,8 15.5,8 17,8.67 17,9.5 16.33,11 15.5,11z" />
|
|
9
|
+
</vector>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
2
|
+
android:width="120dp"
|
|
3
|
+
android:height="120dp"
|
|
4
|
+
android:viewportWidth="24"
|
|
5
|
+
android:viewportHeight="24">
|
|
6
|
+
<path
|
|
7
|
+
android:fillColor="#FFFFD600"
|
|
8
|
+
android:pathData="M12,17.27L18.18,21l-1.64,-7.03L22,9.24l-7.19,-0.61L12,2 9.19,8.63 2,9.24l5.46,4.73L5.82,21z" />
|
|
9
|
+
</vector>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
2
|
+
android:width="120dp"
|
|
3
|
+
android:height="120dp"
|
|
4
|
+
android:viewportWidth="24"
|
|
5
|
+
android:viewportHeight="24">
|
|
6
|
+
<path
|
|
7
|
+
android:fillColor="#FF2196F3"
|
|
8
|
+
android:pathData="M1,21h4V9H1v12zM23,10c0,-1.1 -0.9,-2 -2,-2h-6.31l0.95,-4.57 0.03,-0.32c0,-0.41 -0.17,-0.79 -0.44,-1.06L14.17,1 7.59,7.59C7.22,7.95 7,8.45 7,9v10c0,1.1 0.9,2 2,2h9c0.83,0 1.54,-0.5 1.84,-1.22l3.02,-7.05c0.09,-0.23 0.14,-0.47 0.14,-0.73v-2z" />
|
|
9
|
+
</vector>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<!-- White-label palette for the plugin's shape drawables. Every color is
|
|
3
|
+
overridable from the HOST app by declaring a same-named color resource
|
|
4
|
+
(Android resource merging lets app resources win over library ones).
|
|
5
|
+
Values are the stock appearance — overriding nothing changes nothing. -->
|
|
6
|
+
<resources>
|
|
7
|
+
<!-- Circular translucent backdrop behind toolbar icons. -->
|
|
8
|
+
<color name="customcamera_icon_circle_bg">#66000000</color>
|
|
9
|
+
<!-- Lighter icon backdrop used on bright surfaces. -->
|
|
10
|
+
<color name="customcamera_icon_circle_light_bg">#33000000</color>
|
|
11
|
+
<!-- Shutter button ring and inner disc. -->
|
|
12
|
+
<color name="customcamera_shutter_ring">#FFFFFF</color>
|
|
13
|
+
<color name="customcamera_shutter_inner">#FFFFFF</color>
|
|
14
|
+
<!-- Recording state: inner shape while capturing video. -->
|
|
15
|
+
<color name="customcamera_shutter_recording">#E53935</color>
|
|
16
|
+
<color name="customcamera_shutter_video_idle">#E53935</color>
|
|
17
|
+
<!-- Active photo/video mode tab pill. -->
|
|
18
|
+
<color name="customcamera_mode_tab_active_bg">#FFFFFF</color>
|
|
19
|
+
<!-- Selection order badge on gallery tiles. -->
|
|
20
|
+
<color name="customcamera_selection_badge_bg">#1FA855</color>
|
|
21
|
+
<color name="customcamera_selection_badge_border">#FFFFFF</color>
|
|
22
|
+
<!-- Translucent pill behind Done/labels. -->
|
|
23
|
+
<color name="customcamera_pill_bg">#66000000</color>
|
|
24
|
+
<!-- Gallery thumbnail frame. -->
|
|
25
|
+
<color name="customcamera_thumbnail_bg">#1A1A1A</color>
|
|
26
|
+
<color name="customcamera_thumbnail_border">#33FFFFFF</color>
|
|
27
|
+
<!-- Circular send button in the editor. -->
|
|
28
|
+
<color name="customcamera_send_button_bg">#FF25D366</color>
|
|
29
|
+
<!-- Rounded editor toolbar backdrop. -->
|
|
30
|
+
<color name="customcamera_editor_toolbar_bg">#99000000</color>
|
|
31
|
+
<!-- Drawing color swatch ring + selected brush highlight. -->
|
|
32
|
+
<color name="customcamera_color_swatch_border">#FFFFFFFF</color>
|
|
33
|
+
<color name="customcamera_brush_selected_bg">#FF25D366</color>
|
|
34
|
+
</resources>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<resources>
|
|
3
|
+
<!-- Keyed view-tag id used to stamp each text overlay frame with its TextOverlaySpec.
|
|
4
|
+
A keyed tag (setTag(id, value)) is required because the PhotoEditor library already
|
|
5
|
+
uses the plain view tag for its own ViewType bookkeeping. -->
|
|
6
|
+
<item name="tag_text_overlay_spec" type="id" />
|
|
7
|
+
<!-- Keyed view-tag id used to stamp each placed GIF overlay frame with its PlacedGif
|
|
8
|
+
(content url + intrinsic dimensions). Mirrors tag_text_overlay_spec so captureGifOverlays
|
|
9
|
+
can identify GIF frames on the canvas and persist their transforms per asset. -->
|
|
10
|
+
<item name="tag_gif_overlay_spec" type="id" />
|
|
11
|
+
<!-- Boolean marker stamped on an emoji/sticker/GIF frame once its long-press = drag-to-trash
|
|
12
|
+
gesture control has been installed (installOverlayDeleteGesture), so the per-add overlay
|
|
13
|
+
sweep wires each frame exactly once and never re-wraps an already-wrapped control. -->
|
|
14
|
+
<item name="tag_overlay_delete_wired" type="id" />
|
|
15
|
+
</resources>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<resources>
|
|
3
|
+
<!-- The emoji picker's full categorized set lives in EmojiPickerData.kt (filtered per
|
|
4
|
+
device via Paint.hasGlyph); this file only lists drawable-backed stickers. -->
|
|
5
|
+
|
|
6
|
+
<!-- Sticker drawables offered by the sticker picker's "Classic" category (res ids).
|
|
7
|
+
Add a vector drawable + one item here to extend the set; emoji-backed sticker
|
|
8
|
+
categories live in StickerPickerData.kt. -->
|
|
9
|
+
<string-array name="editor_stickers">
|
|
10
|
+
<item>sticker_heart</item>
|
|
11
|
+
<item>sticker_star</item>
|
|
12
|
+
<item>sticker_smile</item>
|
|
13
|
+
<item>sticker_thumbsup</item>
|
|
14
|
+
</string-array>
|
|
15
|
+
</resources>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<resources>
|
|
3
|
+
<!-- Dark-themed dialog used by the media editor (e.g. Add Text) and by the camera's own
|
|
4
|
+
system prompts when the host theme is dark, so the dialog matches the camera UI's dark
|
|
5
|
+
aesthetic. -->
|
|
6
|
+
<style name="CameraPlugin_DarkDialog" parent="@android:style/Theme.DeviceDefault.Dialog.Alert">
|
|
7
|
+
<item name="android:background">#FF1E1E1E</item>
|
|
8
|
+
<item name="android:textColor">#FFFFFFFF</item>
|
|
9
|
+
<item name="android:textColorPrimary">#FFFFFFFF</item>
|
|
10
|
+
</style>
|
|
11
|
+
|
|
12
|
+
<!-- Light counterpart used by the camera's system prompts when the host theme is light, so a
|
|
13
|
+
dialog shown over the (light) camera screen matches it instead of falling back to the
|
|
14
|
+
device-default dialog styling. Button text is tinted to the host `primary` at runtime. -->
|
|
15
|
+
<style name="CameraPlugin_LightDialog" parent="@android:style/Theme.DeviceDefault.Light.Dialog.Alert">
|
|
16
|
+
<item name="android:background">#FFFFFFFF</item>
|
|
17
|
+
<item name="android:textColor">#FF0F172A</item>
|
|
18
|
+
<item name="android:textColorPrimary">#FF0F172A</item>
|
|
19
|
+
</style>
|
|
20
|
+
</resources>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<paths>
|
|
3
|
+
<!-- Cache directory for camera media -->
|
|
4
|
+
<cache-path name="camera_media_cache" path="camera_media_cache/" />
|
|
5
|
+
|
|
6
|
+
<!-- Edited images exported by the preview editor -->
|
|
7
|
+
<cache-path name="edited_images" path="edited/" />
|
|
8
|
+
|
|
9
|
+
<!-- Compressed video copies produced by the preview editor (originals are never touched) -->
|
|
10
|
+
<cache-path name="compressed_videos" path="compressed/" />
|
|
11
|
+
|
|
12
|
+
<!-- Persistent compression cache: master compressed outputs reused across sessions
|
|
13
|
+
(CompressionCacheStore; originals are never touched) -->
|
|
14
|
+
<cache-path name="compression_cache" path="compression_cache/" />
|
|
15
|
+
|
|
16
|
+
<!-- Format-converted copies produced by the preview editor's "Export By" menu
|
|
17
|
+
(originals are never touched) -->
|
|
18
|
+
<cache-path name="exported_media" path="exported/" />
|
|
19
|
+
|
|
20
|
+
<!-- Copies downloaded from the preview viewer -->
|
|
21
|
+
<cache-path name="shared_media" path="shared/" />
|
|
22
|
+
|
|
23
|
+
<!-- External files directory for documents -->
|
|
24
|
+
<external-files-path name="documents" path="." />
|
|
25
|
+
|
|
26
|
+
<!-- External files directory for media documents -->
|
|
27
|
+
<external-files-path name="media_documents" path="media_documents/" />
|
|
28
|
+
|
|
29
|
+
<!-- Photos subdirectory -->
|
|
30
|
+
<external-files-path name="photos" path="media_documents/photos/" />
|
|
31
|
+
|
|
32
|
+
<!-- Videos subdirectory -->
|
|
33
|
+
<external-files-path name="videos" path="media_documents/videos/" />
|
|
34
|
+
</paths>
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
#import "CustomCamera.h"
|
|
2
|
+
|
|
3
|
+
@implementation CustomCamera
|
|
4
|
+
|
|
5
|
+
- (void)rejectUnsupportedMethod:(NSString *)methodName reject:(RCTPromiseRejectBlock)reject {
|
|
6
|
+
reject(
|
|
7
|
+
@"UNSUPPORTED_PLATFORM",
|
|
8
|
+
[NSString stringWithFormat:@"%@ is currently implemented on Android only.", methodName],
|
|
9
|
+
nil
|
|
10
|
+
);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
- (void)openCamera:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
|
|
14
|
+
[self rejectUnsupportedMethod:@"openCamera" reject:reject];
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
- (void)openCameraPicker:(NSDictionary *)options
|
|
18
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
19
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
20
|
+
[self rejectUnsupportedMethod:@"openCameraPicker" reject:reject];
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
- (void)openDocumentPicker:(NSDictionary *)options
|
|
24
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
25
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
26
|
+
[self rejectUnsupportedMethod:@"openDocumentPicker" reject:reject];
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
- (void)openAudioPicker:(NSDictionary *)options
|
|
30
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
31
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
32
|
+
[self rejectUnsupportedMethod:@"openAudioPicker" reject:reject];
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
- (void)openMediaEditor:(NSDictionary *)options
|
|
36
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
37
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
38
|
+
[self rejectUnsupportedMethod:@"openMediaEditor" reject:reject];
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
- (void)startUpload:(NSArray *)uris
|
|
42
|
+
uploadUrl:(NSString *)uploadUrl
|
|
43
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
44
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
45
|
+
[self rejectUnsupportedMethod:@"startUpload" reject:reject];
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
- (void)getUploadState:(RCTPromiseResolveBlock)resolve
|
|
49
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
50
|
+
[self rejectUnsupportedMethod:@"getUploadState" reject:reject];
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
- (void)getNotificationHistory:(RCTPromiseResolveBlock)resolve
|
|
54
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
55
|
+
[self rejectUnsupportedMethod:@"getNotificationHistory" reject:reject];
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
- (void)clearNotificationHistory:(RCTPromiseResolveBlock)resolve
|
|
59
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
60
|
+
[self rejectUnsupportedMethod:@"clearNotificationHistory" reject:reject];
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
- (void)getDeviceCapabilities:(RCTPromiseResolveBlock)resolve
|
|
64
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
65
|
+
[self rejectUnsupportedMethod:@"getDeviceCapabilities" reject:reject];
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
- (void)cropImage:(NSString *)uri
|
|
69
|
+
options:(NSDictionary *)options
|
|
70
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
71
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
72
|
+
[self rejectUnsupportedMethod:@"cropImage" reject:reject];
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
- (void)rotateImage:(NSString *)uri
|
|
76
|
+
degrees:(double)degrees
|
|
77
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
78
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
79
|
+
[self rejectUnsupportedMethod:@"rotateImage" reject:reject];
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
- (void)applyFilter:(NSString *)uri
|
|
83
|
+
filterType:(NSString *)filterType
|
|
84
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
85
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
86
|
+
[self rejectUnsupportedMethod:@"applyFilter" reject:reject];
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
- (void)createAlbum:(NSString *)albumName
|
|
90
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
91
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
92
|
+
[self rejectUnsupportedMethod:@"createAlbum" reject:reject];
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
- (void)moveMediaToAlbum:(NSArray *)uris
|
|
96
|
+
albumId:(NSString *)albumId
|
|
97
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
98
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
99
|
+
[self rejectUnsupportedMethod:@"moveMediaToAlbum" reject:reject];
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
- (void)deleteMedia:(NSArray *)uris
|
|
103
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
104
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
105
|
+
[self rejectUnsupportedMethod:@"deleteMedia" reject:reject];
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
- (void)secureDeleteMedia:(NSString *)uri
|
|
109
|
+
options:(NSDictionary *)options
|
|
110
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
111
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
112
|
+
[self rejectUnsupportedMethod:@"secureDeleteMedia" reject:reject];
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
- (void)shareMedia:(NSArray *)uris
|
|
116
|
+
mimeType:(NSString *)mimeType
|
|
117
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
118
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
119
|
+
[self rejectUnsupportedMethod:@"shareMedia" reject:reject];
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
- (void)setCameraFlash:(NSString *)mode
|
|
123
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
124
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
125
|
+
[self rejectUnsupportedMethod:@"setCameraFlash" reject:reject];
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
- (void)setCameraTimer:(double)delaySeconds
|
|
129
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
130
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
131
|
+
[self rejectUnsupportedMethod:@"setCameraTimer" reject:reject];
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
- (void)enableCameraGrid:(BOOL)enabled
|
|
135
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
136
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
137
|
+
[self rejectUnsupportedMethod:@"enableCameraGrid" reject:reject];
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
- (void)setMediaCaption:(NSString *)uri
|
|
141
|
+
caption:(NSString *)caption
|
|
142
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
143
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
144
|
+
[self rejectUnsupportedMethod:@"setMediaCaption" reject:reject];
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
- (void)getMediaMetadata:(NSString *)uri
|
|
148
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
149
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
150
|
+
[self rejectUnsupportedMethod:@"getMediaMetadata" reject:reject];
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
- (void)getRecordedOriginalSize:(NSString *)mediaId
|
|
154
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
155
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
156
|
+
[self rejectUnsupportedMethod:@"getRecordedOriginalSize" reject:reject];
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
- (void)trimVideo:(NSString *)uri
|
|
160
|
+
startTime:(double)startTime
|
|
161
|
+
endTime:(double)endTime
|
|
162
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
163
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
164
|
+
[self rejectUnsupportedMethod:@"trimVideo" reject:reject];
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
- (void)compressVideo:(NSString *)uri
|
|
168
|
+
qualityOrOption:(NSString *)qualityOrOption
|
|
169
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
170
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
171
|
+
[self rejectUnsupportedMethod:@"compressVideo" reject:reject];
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
- (void)compressImage:(NSString *)uri
|
|
175
|
+
qualityOrOption:(NSString *)qualityOrOption
|
|
176
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
177
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
178
|
+
[self rejectUnsupportedMethod:@"compressImage" reject:reject];
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
- (void)scanQRCode:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
|
|
182
|
+
[self rejectUnsupportedMethod:@"scanQRCode" reject:reject];
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
- (void)enableFaceDetection:(BOOL)enabled
|
|
186
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
187
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
188
|
+
[self rejectUnsupportedMethod:@"enableFaceDetection" reject:reject];
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
- (void)setFaceEffect:(NSString *)effectType
|
|
192
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
193
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
194
|
+
[self rejectUnsupportedMethod:@"setFaceEffect" reject:reject];
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
- (void)setCameraTheme:(NSString *)theme
|
|
198
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
199
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
200
|
+
[self rejectUnsupportedMethod:@"setCameraTheme" reject:reject];
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
|
204
|
+
(const facebook::react::ObjCTurboModule::InitParams &)params
|
|
205
|
+
{
|
|
206
|
+
return std::make_shared<facebook::react::NativeCustomCameraSpecJSI>(params);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
+ (NSString *)moduleName
|
|
210
|
+
{
|
|
211
|
+
return @"CustomCamera";
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
@end
|