Skip to content

Releases: jeiel85/dockmode-android

v1.3.0

Choose a tag to compare

@github-actions github-actions released this 26 May 01:35

v1.3.0 - 2026-05-26

DockMode의 대규모 기능 확장과 디자인 리뉴얼을 통합 반영한 정식 릴리즈 빌드입니다. 8종의 대기화면 시각 프리셋, 6종 테마, 로컬 갤러리 연동 슬라이드쇼, 조도 센서 기반 실시간 야간 모드 및 태블릿 5:5 대칭 분할 최적화 레이아웃이 적용되었습니다.

주요 변경 사항

1. 8종 시각 프리셋 & 6종 테마 도입

  • 8종 대기화면 프리셋: Minimal Clock, Warm Bedside, OLED Night Clock, Split Dashboard, Calendar Board, Battery Dock, Photo Frame 등 다양한 컨셉의 화면 구성 제공
  • 6종 테마 프리셋: Midnight Glass, Warm Bedside, OLED Pure Black, Aurora Gradient, Paper Calendar, Material You 테마를 통해 취향에 맞는 조명과 톤 실시간 전환 지원
  • 저장 및 제스처: 설정된 프리셋/테마는 DataStore를 통해 재시작 시 자동 복원되며, 대기 화면 내 좌우 스와이프 제스처로 빠른 프리셋 전환이 가능합니다.

2. 로컬 갤러리 슬라이드쇼 & 반응형 Empty UI

  • 갤러리 연동: 미디어 권한 획득 시 ContentResolver를 통해 로컬 사진을 비동기 조회하여 10초 주기로 교차 페이드(Crossfade) 회전하는 액자 슬라이드쇼 제공
  • 반응형 Empty UI: 하드코딩된 더미 문자열을 완전히 제거하고, 갤러리 권한 미획득 상태와 갤러리 내 이미지 부재 상황에 따라 아름다운 안내 가이드 다국어(ko/en) 렌더링 구축

3. 조도 센서 기반 자동 야간 모드

  • 실시간 lux 감지: Sensor.TYPE_LIGHT 하드웨어 센서를 Lifecycle-safe Flow로 감지
  • 4단계 감도 설정: 침실(5 lx), 어두움(10 lx), 은은함(20 lx), 실내(50 lx) 중 임계 감도를 설정할 수 있으며, 주변 조도가 이보다 어두워지면 OLED Pure Black 저휘도 야간 테마로 자동 매핑 전환되어 야간 눈부심을 완벽하게 차단합니다.

4. 태블릿 및 폴더블 최적화

  • 웅장한 가로 분할: 가로 폭 600dp 이상의 대화면 기기 진입 시 웅장하고 미려한 좌우 5:5(1f : 1f) 대칭 칼럼 레이아웃 튜닝 적용

5. 빌드 / CI / 의존성

  • 의존성: Coil Compose, Navigation Compose, Material Icons Extended 정식 추가
  • 버전 정보: versionCode 3 → 4, versionName "0.1.2" → "1.3.0"

검증

  • 로컬 정적 분석: ./gradlew ktlintCheck detekt testDebugUnitTest 100% 통과 완료
  • 로컬 빌드: ./gradlew assembleDebug 성공 (디버그 APK 산출물 생성 확인)
  • CI 검증: 원격 GitHub Actions 빌드 성공 검증 예정

산출물 목록

  • dockmode-v1.3.0-debug.apk
  • dockmode-v1.3.0-release.aab (서명됨)
  • dockmode-v1.3.0-mapping.txt

Play Console 업로드 절차

  1. dockmode-v1.3.0-release.aab를 Play Console 내부 테스트 트랙에 출시 버전으로 업로드합니다.
  2. 출시 노트는 play_store/release_notes/v1.3.0.txt 내용을 복사하여 등록합니다.
  3. ProGuard 매핑 파일 dockmode-v1.3.0-mapping.txt를 Console에 함께 업로드합니다.

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 23 May 04:46

v0.1.2 - 2026-05-23

설정 화면의 시계 스타일 선택 카드 미리보기를 정적 텍스트("12:00", "12:00:30", "12 / 일정")에서 실제 현재 시각 기반 동적 표시로 교체. 카드 안 미리보기가 매초 갱신되어 각 스타일이 실제로 어떻게 보이는지 더 정확하게 전달합니다.

변경 사항

  • UI: SettingsScreen ClockStyleSelectorSection에서 produceState로 1초 주기 nowMillis를 받아 세 카드 미리보기를 동적 생성
    • 미니멀 카드: HH:mm (예: 14:32)
    • 디지털 카드: HH:mm:ss (예: 14:32:45)
    • 캘린더 중심 카드: HH:mm · 일정 (locale별 텍스트)
  • String: settings_clock_style_calendar_preview_suffix ko=일정, en=Events 추가
  • Build: versionCode 2 → 3, versionName 0.1.1 → 0.1.2

검증

  • 로컬: ./gradlew ktlintCheck detekt 모두 SUCCESSFUL
  • CI: 태그 푸시 후 Android CI 결과 확인 (signed AAB 자동 생성)
  • 산출물: dockmode-v0.1.2-debug.apk, dockmode-v0.1.2-release.aab (signed), dockmode-v0.1.2-mapping.txt

Play Console 업로드

기존 v0.1.1 내부 테스트에 새 버전으로 업로드. 출시 노트는 play_store/release_notes/v0.1.2.txt 사용.

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 23 May 01:28

v0.1.1 - 2026-05-23

DockMode 첫 Play Store 출시용 signed 빌드입니다. 코드/디자인은 v0.1.0 기준에서 변경이 없으며, versionCode만 2로 올리고 Play App Signing용 업로드 키스토어로 서명한 AAB를 생성합니다.

변경 사항

  • Build: versionCode 1 → 2, versionName 0.1.0 → 0.1.1
  • Build: GitHub Actions Secrets로 등록된 업로드 키스토어(dockmode-upload)로 release AAB 자동 서명. v0.1.0의 unsigned AAB를 대체하여 Play Console 업로드 가능한 산출물 생성.

검증

  • 로컬: ./gradlew ktlintCheck detekt assembleDebug bundleRelease 모두 SUCCESSFUL
  • CI: 태그 푸시 후 Android CI 결과 확인
  • 산출물:
    • dockmode-v0.1.1-debug.apk
    • dockmode-v0.1.1-release.aab (signed)
    • dockmode-v0.1.1-mapping.txt

Play Console 업로드

  1. dockmode-v0.1.1-release.aab를 Play Console → 출시 → 테스트 → 내부 테스트 → 새 버전 만들기에 업로드
  2. 출시 노트는 play_store/release_notes/v0.1.1.txt 한국어/영어 블록을 복사
  3. mapping.txt는 Play Console → ProGuard 매핑에 별도 업로드

알려진 제약

  • v0.1.0 시점 한계가 그대로 적용됩니다 (정식 앱 아이콘은 play_store/graphics/로 보강, 본 빌드의 런처 아이콘은 같은 모티프의 어댑티브 아이콘).
  • 라이트 모드 경로 검증, 장시간 번인 실측은 후속 작업.

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 22 May 08:06

🛏️ v0.1.0 — DockMode 첫 빌드: 가로 대기 화면 + DreamService 골격

🎯 핵심 변경

Android 충전 거치대용 시계·달력 대시보드 DockMode의 첫 동작하는 빌드입니다. 가로 전체화면 대기 화면과 Android 표준 스크린세이버 모드, 캘린더 권한 흐름, 다크 테마 UI까지 v0.1 범위가 모두 들어 있습니다. 네트워크 권한 없이 동작하는 로컬 우선 앱입니다.


🆕 추가 — 화면과 모드

  • HomeScreen: 앱 설명, 충전 상태 카드, "대기 화면 시작" 버튼, 캘린더 권한 카드, 스크린세이버 설정 안내, 설정 진입
  • StandbyActivity: 가로 고정 + 시스템 바 숨김 + FLAG_KEEP_SCREEN_ON 적용된 전체화면 대기 화면
  • StandbyDreamService: Android 설정의 스크린세이버에서 DockMode를 선택하면 충전·유휴 상태에서 자동 표시되는 시스템 표준 모드 (BIND_DREAM_SERVICE)
  • SettingsScreen: 시계 스타일 선택, 일정 표시, 야간 모드, 번인 방지, 화면 켜짐 유지 토글, 개인정보 안내

🆕 추가 — 표시 요소

  • 시계 스타일 3종: Minimal / Digital / CalendarFocus
  • 현재 시간(1초 갱신) + 로케일별 날짜·요일 포맷
  • BatteryManager 기반 충전/완충/미충전 상태 배지
  • Calendar Provider로 조회한 오늘 일정과 다음 일정
  • OLED 번인 방지를 위한 1분 주기 미세 위치 이동

🛠 동작 정책

  • 캘린더 권한(READ_CALENDAR)은 사용자가 일정 표시를 켤 때만 요청합니다. 거부 / "다시 묻지 않음" 상태에서도 시계·날짜·충전 상태는 정상 동작합니다.
  • 충전 연결만으로 백그라운드에서 Activity를 강제 실행하지 않습니다. 자동 표시 경험은 DreamService에 위임합니다.
  • 캘린더 이벤트 제목·시간은 화면 표시 외 용도로 저장하지 않으며, 외부로 전송하지 않습니다.
  • 네트워크 권한, 광고 SDK, 분석 SDK, crash reporting SDK, 로그인은 포함되지 않습니다.

🧹 정리 / 문서 / 빌드

  • Kotlin 2.0.21 + Compose BOM 2024.10.01 + AGP 8.7.2 + Gradle 8.10.2 골격 구성
  • ktlint(1.3.1) + detekt(1.23.7) 정적 분석, JUnit 단위 테스트 5종
  • GitHub Actions 기반 Android CI: lint → unit test → debug APK → release AAB → R8 mapping 업로드
  • 태그 푸시(v*.*.*) 시 GitHub Release 자동 생성, docs/releases/<tag>.md를 본문으로 사용
  • GitHub Pages 랜딩 페이지: https://jeiel85.github.io/dockmode-android/

✅ 검증

  • 로컬: Gradle CLI/Android SDK 미설치 환경이라 모든 빌드/테스트는 GitHub Actions에서 검증.
  • CI: Android CI 워크플로 통과 (ktlintCheck, detekt, testDebugUnitTest, assembleDebug, bundleRelease, mapping 업로드 모두 성공).
  • 실기기: StandbyActivity 화면 유지, 캘린더 권한 흐름, DreamService 선택/표시는 후속 검증 항목으로 남아 있습니다.

⚠️ 알려진 제약

  • Release AAB는 서명되지 않은 상태로 생성됩니다. Play Store 업로드 전 키스토어 구성이 필요합니다.
  • 앱 아이콘은 임시 어댑티브 아이콘입니다. 정식 디자인은 후속 작업입니다.
  • 앱명 DockMode의 Play Store 상표·중복 검토는 출시 전 별도 작업으로 남아 있습니다.
  • 태블릿/폴더블 가로 분할 레이아웃 최적화는 후속 작업입니다.

다운로드

  • 📦 Play Store 업로드용: dockmode-v0.1.0-release.aab (현재 unsigned)
  • 🤖 Android 설치 APK: dockmode-v0.1.0-debug.apk
  • 🗺️ R8 deobfuscation: dockmode-v0.1.0-mapping.txt