참조 앱 맞춤설정

이 섹션에서는 제어 센터 참조 앱과 UI를 맞춤설정하는 방법을 자세히 설명합니다.

사용자 흐름 및 사용자 인터페이스

이 섹션에서는 사용자 흐름과 제어 센터를 실행하는 방법을 설명합니다.

제어 센터 실행

앱 런처 또는 시스템 UI 탐색 메뉴의 아이콘을 통해 제어 센터를 실행할 수 있습니다. 이 아이콘은 백그라운드 표시 사용자를 사용 설정한 빌드에만 표시됩니다 (자세한 내용은 UserHandleAware 참고).

언제든지 제어 센터를 볼 수 있습니다. 제어 센터는 반투명 창과 투명한 배경의 조합으로 구성되어 있어 활성 상태로 재생 중인 동영상과 미디어를 비롯한 다른 앱 위에 표시될 수 있습니다. 앱의 방문 페이지에서 다음을 수행합니다.

  • 화면 배열 및 로컬원격 화면 사용
  • 미디어 및 미디어 컨트롤로 채워진 화면입니다.
  • 각 화면에서 미디어 (및 기타) 컨트롤의 세부 뷰를 소개하는 방법

화면의 배열은 차량의 화면 레이아웃을 나타냅니다. 각 화면은 DevicePickerScreen입니다. 각 화면의 위치와 크기를 맞춤설정하려면 런타임 리소스 오버레이 (RRO)를 사용하세요. 자세한 내용은 런타임 시 앱 리소스 값 변경을 참고하세요.

제어 센터가 열려 있는 각 디스플레이에는 밝게 강조 표시된 테두리가 있는 다른 화면이 표시됩니다. 로컬 화면, 즉 사용 중인 디스플레이입니다.

다른 모든 화면은 원격 화면으로, 프래그먼트의 화면 배열을 기반으로 식별할 수 있는 자동차의 다른 디스플레이를 나타냅니다. 차량에 구성된 탑승자 영역의 총수를 계산하려면 CarOccupantZoneManager#getAllOccupantZones를 사용하세요.

각 화면은 데이터를 해당 점유자 영역과 연결하는 맞춤 속성 controlcenter:occupantZoneId를 정의합니다. 특정 디스플레이에서 미디어 앱을 재생하면 해당 화면에 미디어 앨범 아트를 표시합니다. 화면 아래에 재생 (또는 일시중지) 버튼이 표시됩니다.

활성 미디어 앱이 표시되는 작업 (제어 센터 뒤에 열림)인 경우 재생 버튼 옆에 있는 공유 버튼이 활성화되어 미러링 페이지가 열립니다. 공유를 사용하면 미디어 앱 디스플레이를 공유할 수 있으며 동영상이 있는 미디어 앱에 가장 유용합니다.

화면 요소

화면을 탭하면 디스플레이에서 재생 중인 미디어의 세부정보가 표시됩니다. 이를 세부정보 화면이라고 합니다. 이 뷰에는 제목, 재생 진행률, 아티스트와 같은 미디어 메타데이터가 표시됩니다. 이 버튼은 탑승자 영역을 추가로 제어할 수 있도록 지원합니다.

  • 오디오 출력에는 미디어를 재생하는 오디오 출력(예: 차량 스피커 또는 헤드폰)이 표시됩니다. 오디오 출력을 선택하면 오디오 출력과 미디어 볼륨을 변경할 수 있는 대화상자가 열립니다.

  • 디스플레이 입력 잠금은 화면에 대한 입력을 잠급니다. 이 작업은 운전자 화면에 적용할 수 없습니다.

  • 디스플레이 전원은 화면의 전원을 끕니다. 이 작업은 운전자 화면에 적용할 수 없습니다.

세부정보 뷰에는 미디어가 제어 센터 앱 뒤에 있는 표시되는 작업인 경우 탭할 수 있는 공유 버튼이 표시됩니다. 공유를 탭하면 미러링 페이지가 열립니다.

발신자 (상단)와 수신자 (하단) 간의 미러링 및 공동 시청 여정
그림 2. 발신자 (상단)와 수신자 (하단) 간의 페이지 미러링 및 공동 시청 여정

공동 시청 세션 시작

미러링 페이지는 RRO를 사용하여 방문 페이지와 유사합니다.

함께 보기 화면을 추가하려면 화면을 탭한 다음 완료를 탭합니다.

이렇게 하면 공유 앱을 호스팅하고 공동 시청 세션을 종료하거나 미러링 페이지로 다시 들어가 참여자를 추가하거나 삭제할 수 있는 플로팅 임시 컨트롤을 제공하는 Mirroring Activity가 열립니다.

공유 앱을 표시하는 미러링 활동과 공동 시청 세션을 관리하는 플로팅 컨트롤
그림 3. 일시적인 플로팅 컨트롤로 활동을 미러링합니다.

요약

Control Center의 다양한 페이지는 다음과 같이 요약됩니다.

제어 센터 앱 내의 다양한 페이지와 전환을 보여주는 플로우 차트
그림 4. 관리 센터 페이지

맞춤설정 가이드라인

제어 센터는 자동차 UI 라이브러리를 사용하여 맞춤설정을 지원하며, 이러한 제한사항에 따라 있는 그대로 또는 수정하여 채택할 수 있는 기본 테마와 구조를 제공합니다.

맞춤설정 설명
해야 하는 작업

다음과 같은 RRO를 통해 전체 테마 설정 및 스타일 조정

  • 색상 팔레트
  • 크기
  • 텍스트 모양
  • 대화상자 모양
  • 드로어블
  • 구성 값
가능한 작업 제어 센터의 상위 수준 UI 구조를 수정합니다.

제어 센터는 미디어, 알림 센터, 앱 런처를 포함하는 시스템 앱 모음에 속합니다. 이러한 앱은 AOSP 구조의 다양한 수준에서 정의된 스타일과 애셋을 공유합니다.

framework/base/core
Android 기본 스타일이 모두 여기에 정의되어 있습니다. 특히 모든 시스템 앱 테마는 OEM이 기기 기본 모양을 맞춤설정하는 데 사용하도록 설계된 테마인 Theme.DeviceDefault를 기반으로 합니다.

packages/services/Car/car_product/overlay:
이 폴더에는 Android Automotive의 AOSP 디자인과 분위기를 구현하는 데 사용되는 Theme.DeviceDefault 재정의가 포함되어 있습니다. OEM은 이 오버레이를 배제하고 대신 자체 오버레이를 사용할 수 있습니다.

packages/apps/Car/libs/car-ui-lib:
이 라이브러리는 시스템 앱, 그리고 맞춤설정을 위해 설계되었으며 번들로 묶이지 않은 앱에 공통으로 적용되는 AAOS 구성요소 및 리소스를 정의합니다. 자세한 내용은 자동차 UI 라이브러리 통합 가이드를 참고하세요.

packages/apps/Car/libs/car-apps-common:
AOSP 제공 시스템 앱 간에 공유되는 공통 색상 및 스타일입니다. 오버레이를 사용하여 이러한 요소를 맞춤설정할 수 있습니다 (packages/services/Car/car_product/overlay와 유사).

packages/apps/Car/MultiDisplay/ControlCenter:
모든 시스템 앱에는 Theme.CarUi에서 확장되고 car-ui-lib에 정의된 테마가 있습니다. ControlCenterActivityTheme.CarUi를 확장하는 맞춤 Theme.Transparent을 사용합니다.

미러링된 작업이 표시되어야 하는 공동 시청과 같은 흐름을 지원하기 위해 컨트롤 센터는 앱을 백그라운드로 보내거나 Lifecycle events를 보내지 않는 반투명 창과 투명한 배경을 조합하여 사용합니다.

<style name="Theme.Transparent" parent="@style/Theme.CarUi.NoToolbar">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowBackground">@color/transparent</item>
</style>