본문으로 이동
SK-INTELLIX / ARCHITECTURE ATLASMR7 개발 가이드 ↗

전체 Atlas / 모듈 상세 · 1398d109

ICT·ErrorProvider·StartupService · 지원 모듈 — 상세 구조도

기준 커밋: 1398d109c391c4044cae26d0e9aea4d3f08d9670. 도식은 기존 구현을 설명한다. 제품 이미지 설치·실기기 성공을 증명하지 않는다.

검사 UI·설비 socket, 오류 DB, 부팅 reset은 독립적인 세 책임

SVG 원본 크게 열기 · Mermaid 원본 · 모듈 분석 본문

ICT·ErrorProvider·StartupService · 지원 모듈
SVG 원본을 열어 확대하고, 아래 연결 표에서 E 번호를 확인하세요.

읽는 순서와 연결 의미

행은 책임·실행 경로별 묶음이며 별도 프로세스라는 뜻은 아니다. 같은 행의 인접 연결은 화살표로, 행을 넘거나 떨어진 상자 사이 연결은 동일한 E 번호의 출력·입력 포트로 표시한다. 아래 표는 방향과 의미를 모두 풀어 쓴 것이다. 그림의 코드 파일명을 눌러 저장소로 이동하는 기능은 없으며, 아래 경로로 지정 커밋을 조회할 수 있다.

연결 출발 → 도착 동작 종류
E01 LineTest UI / ViewModel → ICT Repository 시험 요청 호출·명령
E02 Ict / IctSocket → ICT Repository 설비 명령 호출·명령
E03 ICT Repository → DeviceControlResolver resolve 호출·명령
E04 ErrorProvider → DatabaseHelper CRUD 데이터·구성 의존
E05 ErrorProvider → ContentResolver.notifyChange 변경 알림 결과·이벤트
E06 Startup BootReceiver → StartupService startService 호출·명령
E07 StartupService → UpdatePreferences 파일 조건 조회 데이터·구성 의존
E08 UpdatePreferences → 10초 Handler → reset 조건 충족 시 예약 호출·명령

구성요소별 책임과 코드 근거

상자 구성요소 책임·상태 지정 커밋의 소스 경로
N01 LineTest UI / ViewModel test state / result 표시 / Application에서 DA 연결 apps/ICT/app/src/main/java/com/sk/airbot/ict/ui/linetest/LineTestViewModel.kt
N02 Ict / IctSocket 설비 command dispatch / heartbeat 50초 timeout apps/ICT/app/src/main/java/com/sk/airbot/ict/server/Ict.kt
N03 ICT Repository 충전·구동·센서·소음·음성 / sendModuleCommand adapter apps/ICT/app/src/main/java/com/sk/airbot/ict/data/CommonRepository.kt
N04 DeviceControlResolver 연결 확인 후 IDeviceControl / DeviceAgent 검사 명령 apps/ICT/app/src/main/java/com/sk/airbot/ict/data/DeviceControlResolver.java
N05 ErrorProvider errors / errors/# URI / caller permission 경계 apps/ErrorProvider/src/com/sk/airbot/providers/error/ErrorProvider.java
N06 DatabaseHelper errors.db / WAL / upgrade DROP + create apps/ErrorProvider/src/com/sk/airbot/providers/error/ErrorProvider.java
N07 ContentResolver.notifyChange insert / update / delete 후 / 등록 observer 통지 apps/ErrorProvider/src/com/sk/airbot/providers/error/ErrorProvider.java
N08 ErrorDataCleanupService action 검사만 존재 / 실제 삭제·retention 없음 apps/ErrorProvider/src/com/sk/airbot/providers/error/ErrorDataCleanupService.java
N09 Startup BootReceiver BOOT_COMPLETED / startService apps/StartupService/app/src/main/java/com/sk/airbot/startupservice/receiver/BootReceiver.java
N10 StartupService foreground / overlay popup / captive_portal_mode=0 apps/StartupService/app/src/main/java/com/sk/airbot/startupservice/StartupService.java
N11 UpdatePreferences persist / OTA / data2 파일 / 버전·marker 조건 판정 apps/StartupService/app/src/main/java/com/sk/airbot/startupservice/util/UpdatePreferences.java
N12 10초 Handler → reset android FACTORY_RESET broadcast / 실제 wipe는 framework apps/StartupService/app/src/main/java/com/sk/airbot/startupservice/StartupService.java

해석 경계와 변경 시 검토

Connections

전체 시각 자료 · 전체 분석 · 모듈 분석 · 전체 소스 근거