Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
37eab74
Refactor: Introduce Android Camera Samples Catalog
madebymozart Mar 12, 2026
cc183aa
Add Camera2 Take a Photo sample
madebymozart Mar 12, 2026
e4fcace
Request CAMERA permission in CatalogApp
madebymozart Mar 12, 2026
c68c076
Add animations for it
madebymozart Mar 12, 2026
335f860
refactor: Migrate camera2-takeaphoto sample to use `androidx.camera.v…
madebymozart Mar 12, 2026
7d94ae7
Fix
madebymozart Mar 12, 2026
45bd929
Preview
madebymozart Mar 12, 2026
471f464
Update `ImageReader` and `ViewfinderSurfaceRequest` dimensions to 192…
madebymozart Mar 12, 2026
cc12bd8
Fixes orientation
madebymozart Mar 12, 2026
fe29948
Encapsulate Camera2 logic in Camera2State
madebymozart Mar 12, 2026
abab21c
Refactor: Update Camera2TakeAPhoto to use SessionConfiguration
madebymozart Mar 12, 2026
eb21fe5
Refactor: Extract Camera2 logic to Camera2TakeAPhotoController
madebymozart Mar 12, 2026
751eac4
Refactor: Update `AndroidView` in `CameraPreviewContent`
madebymozart Mar 12, 2026
c7dc58f
Refactor: Update `AndroidView` in `CameraPreviewContent`
madebymozart Mar 12, 2026
f5f9d33
Fix: Correct image orientation and adjust UI in Camera2TakeAPhoto
madebymozart Mar 12, 2026
99f8528
Handle config changes and manage ViewfinderSurfaceSession
madebymozart Mar 13, 2026
b4f0e63
Refactor: Handle display rotation in Camera2TakeAPhoto sample
madebymozart Mar 13, 2026
49c61db
Refactor: Improve Camera2TakeAPhoto lifecycle and camera opening
madebymozart Mar 13, 2026
7712eca
Refactor: Improve Camera2TakeAPhoto lifecycle and resource handling
madebymozart Mar 13, 2026
3e1e563
Fix: Return to HomeScreen on app pause
madebymozart Mar 13, 2026
221c054
Update UI of catalog app
madebymozart Mar 13, 2026
b296a0b
feat: Add new `camera2-takeavideo` and `camera2-takeaphoto` samples, …
madebymozart Mar 16, 2026
2ad69e4
refactor: Reimplement the `camera2-takeavideo` sample with a new pack…
madebymozart Mar 16, 2026
81054b4
chore: remove gemini-multimodal sample.
madebymozart Mar 16, 2026
bf42527
feat: Replace initial setup screen with an in-app settings overlay fo…
madebymozart Mar 16, 2026
92ba72c
feat: Request `WRITE_EXTERNAL_STORAGE` permission for API <= 28 and s…
madebymozart Mar 17, 2026
e2a65c1
feat: Save recorded videos to the standard DCIM/Camera directory inst…
madebymozart Mar 17, 2026
12fb3bb
Fix not seeing images
madebymozart Mar 24, 2026
f588606
The user wants a concise commit message summarizing the provided diffs.
madebymozart Mar 25, 2026
ff8bba9
More updates
madebymozart Mar 25, 2026
b6cbeff
Fix dependencies
madebymozart Mar 25, 2026
590388a
Large refactor / port of old camera samples to modern arc
madebymozart Jun 23, 2026
f80fe7c
introduce `core-theme` for the repo
madebymozart Jun 24, 2026
0305c6b
update to android 37 + add screenshot of samples
madebymozart Jun 24, 2026
6546ca0
update github actions
madebymozart Jun 24, 2026
6958ec1
Added new samples + fixed VideoPlayer.kt
madebymozart Jun 24, 2026
69493cb
Fixing certain samples with small issues + Improve UltraHDR view expe…
madebymozart Jun 24, 2026
11964a2
Making things go compose forward to assure there is no changes there
madebymozart Jun 24, 2026
c555f09
Add sample for 10-bit HDR + move items to strings.xml
madebymozart Jun 24, 2026
2c9ac9b
Added new samples, fcQ video stablization, LLB,
madebymozart Jun 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[*.{kt,kts}]
# @Composable functions are intentionally PascalCase across this project.
ktlint_function_naming_ignore_when_annotated_with = Composable
32 changes: 0 additions & 32 deletions .github/scripts/copy_utils.sh

This file was deleted.

221 changes: 21 additions & 200 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,213 +22,34 @@ on:
branches: [ main ]

jobs:
camerax_basic:
name: CameraXBasic
build:
name: Build & check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
- name: Build project
working-directory: CameraXBasic
run: ./gradlew assembleDebug
- name: Zip artifacts
working-directory: CameraXBasic
run: zip -r assemble.zip . -i '**/build/*.apk' '**/build/*.aab' '**/build/*.aar' '**/build/*.so'
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: camerax_basic_assemble
path: CameraXBasic/assemble.zip
camerax_extensions:
name: CameraXExtensions
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
- name: Build project
working-directory: CameraXExtensions
run: ./gradlew assembleDebug
- name: Zip artifacts
working-directory: CameraXExtensions
run: zip -r assemble.zip . -i '**/build/*.apk' '**/build/*.aab' '**/build/*.aar' '**/build/*.so'
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: camerax_extensions_assemble
path: CameraXExtensions/assemble.zip
camerax_video:
name: CameraXVideo
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
- name: Build project
working-directory: CameraXVideo
run: ./gradlew assembleDebug
- name: Zip artifacts
working-directory: CameraXVideo
run: zip -r assemble.zip . -i '**/build/*.apk' '**/build/*.aab' '**/build/*.aar' '**/build/*.so'
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: camerax_video_assemble
path: CameraXVideo/assemble.zip
camerax_advanced:
name: CameraXAdvanced
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
- name: Build project
working-directory: CameraXAdvanced
run: ./gradlew assembleDebug
- name: Zip artifacts
working-directory: CameraXAdvanced
run: zip -r assemble.zip . -i '**/build/*.apk' '**/build/*.aab' '**/build/*.aar' '**/build/*.so'
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: camerax_advanced_assemble
path: CameraXAdvanced/assemble.zip
camerax_mlkit:
name: CameraX-MLKit
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
- name: Build project
working-directory: CameraX-MLKit
run: ./gradlew assembleDebug
- name: Zip artifacts
working-directory: CameraX-MLKit
run: zip -r assemble.zip . -i '**/build/*.apk' '**/build/*.aab' '**/build/*.aar' '**/build/*.so'
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: camerax_mlkit_assemble
path: CameraX-MLKit/assemble.zip
camera2_basic:
name: Camera2Basic
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
- name: Build project
working-directory: Camera2Basic
run: ./gradlew assembleDebug
- name: Zip artifacts
working-directory: Camera2Basic
run: zip -r assemble.zip . -i '**/build/*.apk' '**/build/*.aab' '**/build/*.aar' '**/build/*.so'
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: camera2_basic_assemble
path: Camera2Basic/assemble.zip
camera2_extensions:
name: Camera2Extensions
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
- name: Build project
working-directory: Camera2Extensions
run: ./gradlew assembleDebug
- name: Zip artifacts
working-directory: Camera2Extensions
run: zip -r assemble.zip . -i '**/build/*.apk' '**/build/*.aab' '**/build/*.aar' '**/build/*.so'
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: camera2_extensions_assemble
path: Camera2Extensions/assemble.zip
camera2_video:
name: Camera2Video
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: set up JDK 17

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
- name: Build project
working-directory: Camera2Video
run: ./gradlew assembleDebug
- name: Zip artifacts
working-directory: Camera2Video
run: zip -r assemble.zip . -i '**/build/*.apk' '**/build/*.aab' '**/build/*.aar' '**/build/*.so'
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: camera2_video_assemble
path: Camera2Video/assemble.zip
camera2_slowmotion:
name: Camera2SlowMotion
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: set up JDK 11
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '11'
- name: Build project
working-directory: Camera2SlowMotion
run: ./gradlew assembleDebug
- name: Zip artifacts
working-directory: Camera2SlowMotion
run: zip -r assemble.zip . -i '**/build/*.apk' '**/build/*.aab' '**/build/*.aar' '**/build/*.so'
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: camera2_slowmotion_assemble
path: Camera2SlowMotion/assemble.zip
camerautils:
name: CameraUtils
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: set up JDK 11
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '11'
- name: Build project
working-directory: CameraUtils
cache: gradle

- name: Set up Android SDK
uses: android-actions/setup-android@v3

# The project compiles against API 37 (Android 17); install that platform.
- name: Install compileSdk 37 platform
run: yes | sdkmanager "platforms;android-37.0" > /dev/null

- name: Check formatting (Spotless)
run: ./gradlew spotlessCheck

- name: Assemble debug
run: ./gradlew assembleDebug
- name: Zip artifacts
working-directory: CameraUtils
run: zip -r assemble.zip . -i '**/build/*.apk' '**/build/*.aab' '**/build/*.aar' '**/build/*.so'
- name: Upload artifacts

- name: Upload debug APK
uses: actions/upload-artifact@v4
with:
name: camerautils_assemble
path: CameraUtils/assemble.zip
name: app-debug
path: app/build/outputs/apk/debug/app-debug.apk
2 changes: 1 addition & 1 deletion CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1 +1 @@
* @madebymozart
* @lethargicpanda @calren @ksemenova @JolandaVerhoef
36 changes: 0 additions & 36 deletions CONTRIBUTING.md

This file was deleted.

1 change: 0 additions & 1 deletion Camera2Basic/.gitignore

This file was deleted.

17 changes: 0 additions & 17 deletions Camera2Basic/.google/packaging.yaml

This file was deleted.

1 change: 0 additions & 1 deletion Camera2Basic/.java-version

This file was deleted.

51 changes: 0 additions & 51 deletions Camera2Basic/README.md

This file was deleted.

Loading
Loading