# 쉬운 가전 리모컨 (EasyAppliance) SmartThings 가전(세탁기·에어컨 등)을 어르신도 쉽게 쓸 수 있도록 만든 안드로이드 앱. 큰 글씨·고대비·큰 버튼의 직관적 UX로, 등록된 기기 중 한 대를 골라 상태 확인과 켜기/끄기, 시작 매크로를 제공합니다. ## 주요 기능 - 한 대 선택 조작: 관리자 화면에서 조작할 기기 1대를 선택 - 숨김 관리자 진입: 화면 위쪽 양쪽 모서리를 동시에 약 1.5초 길게 누르면 진입 (어르신이 실수로 들어가지 않도록) - 큰 상태 표시: 운전 중/꺼짐, 남은 시간, 에어컨 온도 등 - 관리자에서 표시 정보·기능 on/off, 기기 이름·사진 변경(기본 이미지 + 직접 추가) - 시작 매크로: "시작"을 누르면 물 온도·수위 등 설정을 적용한 뒤 자동 시작 - 연결 끊김 시 화면 중앙 큰 경고창 + 다시 연결하기(백그라운드 재시도, 복구 시 자동 해제) - 설정은 저장되어 앱을 껐다 켜도 유지, 앱 복귀/주기적 폴링으로 최신화 - 폴드/플립 대응 반응형 레이아웃, 삼성 뒤로가기 지원 ## SmartThings 연결 관리자 화면에서 SmartThings Personal Access Token을 입력하면 실제 기기 목록/상태/제어에 연결됩니다. 토큰이 없으면 샘플(목업) 데이터로 동작합니다. 토큰은 https://account.smartthings.com/tokens 에서 발급합니다. ## 빌드 Android SDK와 JDK 17+ 필요. ```bash ./gradlew :app:assembleDebug # 디버그 APK ./gradlew :app:testDebugUnitTest # 단위 테스트 ``` 릴리즈 서명 빌드는 프로젝트 루트에 `keystore.properties`(gitignore됨)가 있을 때만 서명됩니다: ```properties storeFile=/절대/경로/키스토어.keystore storePassword=... keyAlias=... keyPassword=... ``` ```bash ./gradlew :app:assembleRelease ``` ## 기술 스택 Kotlin, Jetpack Compose(Material3), DataStore, Retrofit + kotlinx.serialization, Coil. minSdk 24 / targetSdk 35.