From a39b20dd59626f7f53fd347a8ffdf6c3a162c9c6 Mon Sep 17 00:00:00 2001 From: Yasith Vidanaarachchi Date: Wed, 23 Aug 2023 12:08:45 -0400 Subject: [PATCH] PostCapture screen implementation with in memory Image storage TODOs for later - Use image orientation from the transform data of ImageProxy - Scale image to fit screen width/height - Overlay buttons for saving/discarding - Async listening for image to be ready (might be needed for lower end devices) --- .idea/gradle.xml | 2 + app/build.gradle | 3 + .../com/google/jetpackcamera/ui/JcaApp.kt | 8 +- .../com/google/jetpackcamera/ui/Routes.kt | 1 + data/storage/.gitignore | 1 + data/storage/build.gradle.kts | 70 +++++++++++++++ data/storage/consumer-rules.pro | 0 data/storage/proguard-rules.pro | 21 +++++ data/storage/src/main/AndroidManifest.xml | 20 +++++ .../jetpackcamera/storage/ImageCache.kt | 35 ++++++++ .../storage/InMemoryImageCache.kt | 44 ++++++++++ .../jetpackcamera/storage/StorageModule.kt | 32 +++++++ domain/camera/build.gradle | 1 + .../domain/camera/CameraXCameraUseCase.kt | 22 +++-- feature/postcapture/.gitignore | 1 + feature/postcapture/build.gradle | 86 +++++++++++++++++++ feature/postcapture/proguard-rules.pro | 21 +++++ .../postcapture/src/main/AndroidManifest.xml | 20 +++++ .../feature/postcapture/PostCaptureScreen.kt | 71 +++++++++++++++ .../postcapture/PostCaptureViewModel.kt | 51 +++++++++++ .../src/main/res/values/strings.xml | 18 ++++ .../feature/preview/PreviewScreen.kt | 6 ++ .../feature/preview/PreviewUiState.kt | 16 ++++ .../feature/preview/PreviewViewModel.kt | 15 ++++ settings.gradle | 2 + 25 files changed, 561 insertions(+), 6 deletions(-) create mode 100644 data/storage/.gitignore create mode 100644 data/storage/build.gradle.kts create mode 100644 data/storage/consumer-rules.pro create mode 100644 data/storage/proguard-rules.pro create mode 100644 data/storage/src/main/AndroidManifest.xml create mode 100644 data/storage/src/main/java/com/google/jetpackcamera/storage/ImageCache.kt create mode 100644 data/storage/src/main/java/com/google/jetpackcamera/storage/InMemoryImageCache.kt create mode 100644 data/storage/src/main/java/com/google/jetpackcamera/storage/StorageModule.kt create mode 100644 feature/postcapture/.gitignore create mode 100644 feature/postcapture/build.gradle create mode 100644 feature/postcapture/proguard-rules.pro create mode 100644 feature/postcapture/src/main/AndroidManifest.xml create mode 100644 feature/postcapture/src/main/java/com/google/jetpackcamera/feature/postcapture/PostCaptureScreen.kt create mode 100644 feature/postcapture/src/main/java/com/google/jetpackcamera/feature/postcapture/PostCaptureViewModel.kt create mode 100644 feature/postcapture/src/main/res/values/strings.xml diff --git a/.idea/gradle.xml b/.idea/gradle.xml index a99b0ad4c..4f6c6fb31 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -17,9 +17,11 @@