Skip to content

Repository files navigation

PradaCollage

The task assigned by Cardinal Blue. We need to build a PicCollage-like application, but it's a very simple version

Build

Requirements: JDK 17 or 21, Android SDK Platform 37, and Android SDK Build-Tools 37.0.0. The project uses Gradle 9.6.0 and Android Gradle Plugin 9.4.0.

Set ANDROID_HOME to your Android SDK directory, or create an untracked local.properties containing sdk.dir=/absolute/path/to/Android/sdk. Install the required SDK packages and accept their licenses using Android Studio's SDK Manager. The first build needs internet access to download Gradle and dependencies.

./gradlew build

On Windows, use gradlew.bat build. APKs are written to app/build/outputs/apk/debug/ and app/build/outputs/apk/release/; the release APK is unsigned.

The app requires Android 17 (API 37) or newer; minimum, compile, and target SDK are all 37. Photo selection uses MediaStore content URIs and modern image permissions (including selected-photo access). Exports use scoped MediaStore storage.

P0 integration tests

Start an unlocked Android 17/API 37 emulator, then run:

ANDROID_SERIAL=emulator-5554 ./gradlew connectedDebugAndroidTest

Replace the serial with the one shown by adb devices. Setting it explicitly avoids running tests on other connected devices. These tests exercise the real picker and inject touchscreen events to verify adding a gallery photo, dragging without resizing, and two-finger zoom in and out. Each test creates and deletes its own gallery fixture. Photo permission is pre-granted; permission-dialog choices are not covered. No external gallery images or network service are required.

Lint remains enabled; app/lint.xml ignores only the notification-permission false positive from Glide’s unused NotificationTarget class.

The HTML report is at app/build/reports/androidTests/connected/debug/index.html. ./gradlew build runs build/lint checks; device tests require the separate command above.

TODO List

Future Works

  1. the frame layout should be irregularity shapes. for example : Masonry style
  2. support the runtime permission (read/write the external storage)

v0.2

  1. Support the text scrps.
  2. Support the rotation feature on the image and text scrps.
  3. Support pinch zoom gesture.
  4. SPECIAL FEATURE : a magic button which can add the glasses on the faces in the collage.

v0.1

  1. Support multiple images selection (up to 12).
  2. Support change the text scrap's color.
  3. Support move and scale(pinch zoom) the scraps.
  4. Export the result to gallery with different resolutions.

alt tag

About

The task assigned by Cardinal Blue. We need to build a PicCollage-like application, but it's a very simple version

Resources

Stars

2 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages