Introduce declarative Panel Restart functionality

This commit revolutionizes UI resilience by introducing an automatic restart policy for panels. Panels can now declaratively define how they recover when their last task vanishes, eliminating the need for hardcoded restart logic in client applications.

Key enhancements include:

Restart.java Data Class: Encapsulates restart policy details for clean data management.

PanelState Integration: Seamlessly incorporates the restart policy into the PanelState for comprehensive panel configuration.

This foundational framework empowers developers to build significantly more robust and self-healing panel experiences, improving user experience and application stability.

Bug: 427231933
Test: CarSystemUITests
Flag: com.android.car.scalableui.scalable_ui_task_auto_restart
Change-Id: Ia655374ad269ff90a8ebb93a50f43ab5c10ec120

4 files changed