All of the Panels present in frontendMetadata (which by default includes all Panel types offered by the TomTom Digital Cockpit platform) must be specified either here or in unsupportedPanelTypes as a way for the system UI implementation to acknowledge them, preventing situations where a newly added Panel type is forgotten and simply doesn't show up when a Frontend uses it. Ideally all of the platform's Panels are supported and specific here, ensuring that common Frontend plugins will work as intended. If a system UI implementation does not support certain Panel types, they can be specified in unsupportedPanelTypes instead. This may however lead to situations where a Frontend's UX flow crosses various Panel types and users face unexpected scenarios where trying to open the next step in the UX flow has no effect.
Hardware back presses.
Some Panel types support hardware back presses out of the box, see IviOnBackPressedCallbackOwner to know more. If Panels of these types need to handle hardware back presses, then they must add their IviOnBackPressedCallbacks to the
iviOnBackPressedDispatcher provided by their type. If a custom Panel type needs to support hardware back presses, then it must: