주행 규제 개발 가이드
Pleos Connect 앱은 플랫폼이 제공하는 CarUxRestrictions 상태를 기준으로 주행 중 UX 제한을 적용해야 합니다. 이 문서에서는 CarUxRestrictions를 활용한 주행 규제 연동 방법과 앱 구현 시 유의 사항을 설명합니다. 지역·기능별 제한 범위와 규제 ON/OFF 기준은 지역별 주행 규제 정책을, 운전 중 UX 설계 원칙은 주행 안전을 고려한 설계를 참조하세요.
CarUxRestrictions 연동
앱은 AAOS CarUxRestrictionsManager를 통해 CarUxRestrictions 값을 얻어 주행 규제 상태를 확인하고, 사양에 맞게 동작하도록 구현합니다.
CarUxRestrictionsManager에 register한 뒤 notify로 CarUxRestrictions 변경을 수신합니다. CarDrivingStateManager로 주행 상태를 함께 참고할 수 있습니다.
샘플 코드
if (mCurrentCarUxRestrictions.isRequiresDistractionOptimization()
&& (mCurrentCarUxRestrictions.getActiveRestrictions()
& CarUxRestrictions.UX_RESTRICTIONS_NO_VIDEO) != 0) {
stopPlayingVideo();
}
UX 규제 항목과 CarUxRestrictions 매핑
기능별 CarUxRestrictions 플래그는 CarUxRestrictions API와 notify로 수신한 ActiveRestrictions를 기준으로 적용합니다.
- 예: 동영상(DMB)은
CarUxRestrictions.UX_RESTRICTIONS_NO_VIDEO로 주행 중 재생 제한 여부를 판단합니다. - UX 규제 피그마 사양서는 Pleos Playground에 공개하지 않습니다.
플랫폼이 지역별 규제 사양에 맞는 ActiveRestrictions를 내려주므로, 앱은 product.sw.target_region으로 CarUxRestrictions를 바꾸지 않고 notify로 수신한 CarUxRestrictions만 반영하면 됩니다. QR·키보드·검색 등 기능별 지역 허용·잠금과 플래그 매핑은 지역별 주행 규제 정책을 참조합니다.
주행 규제 테스트
개발 검증 시 VHAL 이벤트를 주입해 주행 규제 ON/OFF를 시뮬레이션할 수 있습니다. Connect-W 등 플랫폼별 다른 절차는 ADB 명령 참조 가이드 — 주행 규제를 참조합니다.
주행 규제 ON (Connect-S/L/W 공통)
아래 명령 실행 시 주행 규제가 켜지고, -t 초(예: 60) 후 자동으로 꺼집니다.
adb shell "dumpsys activity service com.android.car inject-vhal-event 0x21408A93 1; dumpsys activity service com.android.car inject-vhal-event 0x11600207 30 -t 60"
adb shell "dumpsys activity service com.android.car inject-vhal-event 0x21408209 1; dumpsys activity service com.android.car inject-vhal-event 0x11600207 30 -t 60"
adb shell "dumpsys activity service com.android.car inject-vhal-event 0x214081A4 1; dumpsys activity service com.android.car inject-vhal-event 0x11600207 30 -t 60"
주행 규제 OFF (Connect-S/L/W 공통, 수동)
ON 상태에서 자동 해제 전에 수동으로 끄려면 차종별로 Engine Running 신호만 0(OFF)으로 주입합니다.
# ICE
adb shell dumpsys activity service com.android.car inject-vhal-event 0x21408A93 0
# HEV
adb shell dumpsys activity service com.android.car inject-vhal-event 0x21408209 0
# EV
adb shell dumpsys activity service com.android.car inject-vhal-event 0x214081A4 0