Implement audio settings 42/29542/2
authorScott Murray <scott.murray@konsulko.com>
Sun, 17 Dec 2023 20:48:21 +0000 (15:48 -0500)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Mon, 18 Dec 2023 13:28:28 +0000 (13:28 +0000)
commit4ae68f5be11d110f2df10d54377d970921e30a21
treeb37b5cb3c6964fbaeaa95edc1edeb44d615912e9
parentdda6c8502a3fa1e50654c4cca934b4b846bbca98
Implement audio settings

Changes:
- Rework KUKSA.val "VAL" gRPC API implementation to separate it
  from the vehicle model + notifier, and more easily allow using
  it from other notifiers.
- Move volume handling from the vehicle model + notifier to the
  audio set for clarity.
- Wire up the new VSS audio signals in the audio notifier. The
  "rearFront" variable naming has been changed to "fade" in
  several places to match expected terminology.
- Add a balance slider to the audio settings page.
- Change the min/max labels on the fade slider to be Text instead
  of Icon's since we do not have the equivalent to use with the
  balance slider, and text seems like it'd be what you would want
  for any potential future internationalization.
- Rework configuration file to be usable from anywhere via a
  RiverPod Provider instead of tied to the vehicle notifier code,
  and shifted the background and hybrid animation flags to be handled
  with it.  This change removes the built-in asset with defaults in
  favor of maintaining the defaults for the ICS environment in the
  AppConfig and KuksaConfig classes, with a goal of avoiding the need
  for using async methods in the config provider.
- Change some notifiers from using StateNotifier to the RiverPod
  2.0 Notifier class for improved flexibility.  The other notifiers
  will be updated in future work.
- Added select's to several ref.watches in the new hybrid animation
  code to avoid unnecessary repaints.
- Fix several spelling issues in method and parameter names
  across the codebase.

Bug-AGL: SPEC-5001

Change-Id: Iefae417fa870405d659303497d96e519e6b6d1de
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
28 files changed:
app-config/config.yaml [deleted file]
lib/core/constants/constants.dart
lib/core/constants/val_client_helper.dart [deleted file]
lib/core/constants/vss_path.dart
lib/data/data_providers/app_config_provider.dart [new file with mode: 0644]
lib/data/data_providers/app_provider.dart
lib/data/data_providers/audio_notifier.dart
lib/data/data_providers/hybrid_notifier.dart
lib/data/data_providers/val_client.dart [new file with mode: 0644]
lib/data/data_providers/vehicle_notifier.dart
lib/data/models/audio.dart
lib/data/models/hybrid.dart
lib/data/models/vehicle.dart
lib/export.dart
lib/presentation/common_widget/generic_button.dart
lib/presentation/common_widget/volume_bar.dart
lib/presentation/screens/dashboard/widgets/dashboard_content.dart
lib/presentation/screens/dashboard/widgets/hybrid/hybrid.dart
lib/presentation/screens/dashboard/widgets/hybrid_mode.dart
lib/presentation/screens/home/home.dart
lib/presentation/screens/media_player/widgets/media_volume_bar.dart
lib/presentation/screens/settings/settings_screens/audio_settings/widget/audio_content.dart
lib/presentation/screens/settings/settings_screens/audio_settings/widget/slider_widgets.dart
lib/presentation/screens/settings/settings_screens/bluetooth/widgets/bluetooth_content.dart
lib/presentation/screens/settings/settings_screens/profiles/widgets/new_profile_screen.dart
lib/presentation/screens/settings/settings_screens/profiles/widgets/profiles_content.dart
lib/presentation/screens/splash/widget/splash_content.dart
pubspec.yaml