# androidx.car.app

*** ** * ** ***

## Interfaces

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/car/app/OnDoneCallback` | A host-side interface for handling success and failure scenarios on calls to the client. |
| `https://developer.android.com/reference/kotlin/androidx/car/app/OnRequestPermissionsListener` | A listener with the results from a permissions request. |
| `https://developer.android.com/reference/kotlin/androidx/car/app/OnScreenResultListener` | A listener to provide the result set by a `https://developer.android.com/reference/kotlin/androidx/car/app/Screen`. |
| `https://developer.android.com/reference/kotlin/androidx/car/app/SurfaceCallback` | A callback for changes on the `https://developer.android.com/reference/kotlin/androidx/car/app/SurfaceContainer` and its attributes. |

## Classes

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/car/app/AppInfo` | Container class for information about the app the host is connected to. |
| `https://developer.android.com/reference/kotlin/androidx/car/app/AppManager` | Manages the communication between the app and the host. |
| `https://developer.android.com/reference/kotlin/androidx/car/app/CarAppPermission` | Defines all constants for permissions that a car app can use. |
| `https://developer.android.com/reference/kotlin/androidx/car/app/CarAppService` | The base class for implementing a car app that runs in the car |
| `https://developer.android.com/reference/kotlin/androidx/car/app/CarContext` | The CarContext class is a `https://developer.android.com/reference/android/content/ContextWrapper.html` subclass accessible to your `https://developer.android.com/reference/kotlin/androidx/car/app/CarAppService` and `https://developer.android.com/reference/kotlin/androidx/car/app/Screen` instances, which provides access to car services such as the `https://developer.android.com/reference/kotlin/androidx/car/app/ScreenManager` for managing the screen stack, the `https://developer.android.com/reference/kotlin/androidx/car/app/AppManager` for general app-related functionality such as accessing a surface for drawing your navigation app's map, and the `https://developer.android.com/reference/kotlin/androidx/car/app/navigation/NavigationManager` used by turn-by-turn navigation apps to communicate navigation metadata and other navigation-related events with the host. |
| `https://developer.android.com/reference/kotlin/androidx/car/app/CarToast` | A message to show to the user for a short period of time. |
| `https://developer.android.com/reference/kotlin/androidx/car/app/FailureResponse` | Denotes a failure in the client to a host request. |
| `https://developer.android.com/reference/kotlin/androidx/car/app/HandshakeInfo` | A container for the information conveyed by the host after the handshake with the app is completed. |
| `https://developer.android.com/reference/kotlin/androidx/car/app/HostInfo` | Container class for information about the host the app is connected to. |
| `https://developer.android.com/reference/kotlin/androidx/car/app/R` |   |
| `https://developer.android.com/reference/kotlin/androidx/car/app/R.attr` |   |
| `https://developer.android.com/reference/kotlin/androidx/car/app/Screen` | A Screen has a `https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle` and provides the mechanism for the app to send `https://developer.android.com/reference/kotlin/androidx/car/app/model/Template`s to display when the Screen is visible. |
| `https://developer.android.com/reference/kotlin/androidx/car/app/ScreenManager` | Manages the stack of `https://developer.android.com/reference/kotlin/androidx/car/app/Screen`s and their respective `https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle`s. |
| `https://developer.android.com/reference/kotlin/androidx/car/app/Session` | The base class for implementing a session for a car app. |
| `https://developer.android.com/reference/kotlin/androidx/car/app/SessionInfo` | Information about a `https://developer.android.com/reference/kotlin/androidx/car/app/Session`, such as the physical display and the session ID. |
| `https://developer.android.com/reference/kotlin/androidx/car/app/SessionInfoIntentEncoder` | Helper to encode and decode a `https://developer.android.com/reference/kotlin/androidx/car/app/SessionInfo` from an `https://developer.android.com/reference/android/content/Intent.html` |
| `https://developer.android.com/reference/kotlin/androidx/car/app/SurfaceContainer` | A container for the `https://developer.android.com/reference/android/view/Surface.html` created by the host and its associated properties. |

## Exceptions

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/car/app/HostException` | Exceptions that happen on calls to the host. |