Shuttle2
Shuttle2 copied to clipboard
Migrate widgets to use Glance
- Add Glance dependencies (androidx.glance:glance-appwidget and glance-material3)
- Migrate WidgetProvider41 and WidgetProvider42 to use GlanceAppWidget instead of AppWidgetProvider
- Replace RemoteViews-based UI with Glance composables
- Create action callbacks (PlayPauseAction, NextTrackAction, PreviousTrackAction) for playback controls
- Update WidgetManager to use Glance's updateAll() API instead of broadcast intents
- Add WidgetEntryPoint interface for Hilt dependency injection in GlanceAppWidgets
- Remove deprecated ShuttleAppWidgetProvider base class
- Delete unused widget layout XML files (appwidget_41.xml, appwidget_41_dark.xml, appwidget_42.xml, appwidget_42_dark.xml)
The widgets now use Glance's declarative API, providing a more modern and maintainable implementation while preserving all existing functionality including dark mode support and background transparency control.