본문으로 건너뛰기

주행 규제 개발 가이드

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) 후 자동으로 꺼집니다.

ICE
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"
HEV
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"
EV
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