Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix old layout #190

Closed
wants to merge 50 commits into from
Closed

Conversation

joemcmahon
Copy link

Repairs the layout so that we don't completely lose the controls on small devices.

 - Clean up credit dialog
 - change icon to access about
 - replace description
 - replace credits
Still trying to use SwiftRadio. Fixed.
 - Added fastlane
 - added fastlane config for snapshots
 - Changed UI tests to take appropriate snapshots
 - screenshots dir
 - report.xml in fastlane
Turn tests back on now that they work
 - Added labels to stack
 - added code to set PLAYING LIVE label
 - This version hits the /broadcast endpoint and tries to parse the current_show.
   If there is none, then we assume it's Spud. This avoids the complicated decoding
  of a dual-typed field (current_show, which is either false or a struct).
 - Updates the UI to show the current DJ's name.
 - run on the iPad Pro now seems to work, and the "constraint broken" errors are fixed.
 - bump build # to 21
 - UI tweaks so presentation looks good on iPad too
 - Updated RadioAPI to properly parse live shows (note that
   we still need to properly handle when there's no live
   show with enum parsing, and look into whether there are
   multiple fields we'll have to deal with this in)
 - DJ field and LIVE field now added and tested
 - Remove stationDesc label; extraneous for a single station

This might be sufficient for the 2.0 release.
 - latest, website, route, and feed in Show
 - ID, encore, and override in BroadcastShow
Remove fields not showing up when a show is on:
 - latest, website, route, and feed in Show
 - ID and encore in BroadcastShow

Update UI
 - DJ field is name only
 - if a live DJ is on, show a mic icon
 - Iif performing live ([LIVE] at end), show icon and LIVE
The live check now downcases the string and then looks for :
 - [live]
 - {live}
 - (live)
 - <live>
 - «live»

I will add other bracketing styles if someone uses them.

We only do the live check if we have detected a live DJ as well.
Lots of tracks in the library use this, don't want a false positive.
Add IDEPreferLogStreaming=YES" CLI argument to scheme
 - Force the stations list controller to immediately switch to the first station in the list
 - Have the now-playing controller do the following
  - hide the back button
 - when first loaded, stop the player

Cleaned up the info view so the default station is RadioSpiral.

Fixed a bug that would cause the info page to crash the app.
 - update build # and version
 - remove RadioAPI debugging
 - make DJ name and state indicator one line in preparation for full track-release-artist parsing
 - Add "LiIVE on RadioSpiral because I'm never going to get 7 DJs to cooperate on marking themselves as playing live
Make the file contents clearer by renaming the file as well.
 - Space added for the release name on the now playing display
 - bump build and version
 - Added releaseName accessor to RadioStation; parses raw metadata since Fethi's override doesn't work as desired
 - NowPlayingViewController sets the release on the now playing screen if provided
 - Add the release name to sharing data if it's available
 - Fix the "now playing" background to be that nice "cement" color like the rest of the interface
The "next show" times are wrong, so they can't be used as the backup to fix the lag.
If the default mail app isn't configured, the call to see if it is will fail. We want to force-open the mailto: URL if that is the case.

 - add a new function, bruteForceSendMail, that does this
 - change openEmail to call it if viewController.canSendMail returns false.

Also commit the expansded background so that the app looks right on iPad and MacOS.
...fails

Changes the code to try to open a mailto: URL and shows the failure
dialog if this fallback also fails.
The previous set of layout constraints for the pseuso-toolbar was causing several problems:
 - the toolbar was offscreen on small devices
 - the location of the '?' button wasn't locked to the same alignment as the other buttons

A new view was added and pinned to the bottom of the safe area. The buttons were placed in that area and constraints were added to
 - lock the '?' to the left end
 - lock the share button to the right end
 - lock the info button to the left of the share button

NOTES:
 - control-drag in the outline was a huge help in getting the constraints in place
 - it was necessary to tune the precise locations with the offsets in the constraints
 - Removed left/right edge constraints for album view
 - Forced alignment of album to center
Now properly proportions for the different devices overall, but the iPhone rotations still don't work well.
Split text field in two, added constraints so it sits well on the device
@joemcmahon
Copy link
Author

Whoops, should have been vs. my fork. Closing.

@joemcmahon joemcmahon closed this Aug 16, 2024
@joemcmahon joemcmahon deleted the fix-old-layout branch August 16, 2024 02:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant