pocket-casts-ios icon indicating copy to clipboard operation
pocket-casts-ios copied to clipboard

Watch: migrate the Watch app to SwiftUI

Open pocketcasts opened this issue 2 years ago • 2 comments

Phase 1 - Isolated screens

  • [x] EffectsInterfaceController
  • [x] MenuController (Edit This item is TBD see below on the comments)
  • [x] FilesOrderInterfaceController
  • [x] PodcastEpisodeOrderController
  • [x] PodcastsOrderInterfaceController

Phase 2 - Episode List Prep

  • [x] Reference each other and should be merged together or account for the navigation
    • [x] EpisodeController
    • [x] PodcastEpisodeListController

Phase 3 - Episode Lists and Inter-dependencies

  • [x] PodcastsInterfaceController
  • [x] DownloadInterfaceController
  • [x] FilterInterfaceController
  • [x] FilesInterfaceController
  • ~[ ] Reference each other and should be merged together or account for the navigation~
    • [x] UpNextInterfaceController
    • [x] NowPlayingInterfaceController

Phase 4 - Remaining views (Should be done sequentially)

  • [x] FiltersInterfaceController - https://github.com/Automattic/pocket-casts-ios/pull/1524
  • [x] InterfaceController
    • [x] handle state restoration
  • [ ] SourceInterfaceController

Phase 5 - Review unknown elements

  • [ ] Static Notification Interface Controller Scene
  • [ ] NotificationController (Empty view)
  • [ ] Clean up any remaining WatchOS 7 migration warnings
  • [ ] Ensure Screenshot Automation Watch still runs

pocketcasts avatar Jul 11 '22 20:07 pocketcasts

From Chip:

Progress update. Phase 1 is now mostly complete with the exception of the MenuController. The Menu Controller uses long-press gestures to provide a series of options to the users. Apple's Recommendation is to move away from this:

In versions of watchOS before watchOS 7, people could press firmly on the display to open a hidden menu of actions relevant to the current screen. In watchOS 7 and later, watchOS apps elevate important items out of such menus and into the relevant screen or a settings screen. source

Instead, they suggest using Toolbar Buttons. The UI for Phase 2 requires the use of some Menu controls so as part of that conversion I'll move the menu controls to the toolbar buttons to present as an option.

pocketcasts avatar Jul 11 '22 20:07 pocketcasts

Should this project also include migrating the .xcproj file to have a single Watch OS project and also get rid of the Storyboards files and the startup cycle of the app?

It looks this was changed on XCode 14: https://stackoverflow.com/questions/52687924/ios-watchos-what-is-the-difference-between-watchkit-app-and-watchkit-app-exten

SergioEstevao avatar Jan 16 '24 16:01 SergioEstevao