[ios] [carplay] fix bug when light estimates view appears on dark maps #6424

Merged
root merged 1 commit from ios/carplay-instructions-colors-fix into master 2023-10-30 12:54:42 +00:00
Member

Fix bug in PR: organicmaps/organicmaps#6408 when light estimates view (at the bottom) appears on dark maps.

There are 3 possible states that the user can choose in CarPlay Settings:
image

  1. Always dark is Selected, Always Show Dark Map is On: Interface and maps are dark.
    image

  2. Always dark is Selected, Always Show Dark Map is Off: Interface is dark, and maps+instructions can be set light/dark by CarPlay
    image
    image

  3. Automatic is Selected: CarPlay set automatically Interface and maps+instructions theme styles.
    image

Fix bug in PR: https://git.omaps.dev/organicmaps/organicmaps/pulls/6408 when light estimates view (at the bottom) appears on dark maps. There are 3 possible states that the user can choose in CarPlay Settings: <img width="800" alt="image" src="https://github.com/organicmaps/organicmaps/assets/79797627/1dad5949-c367-4a52-b51e-08980a628d9c"> 1. `Always dark` is Selected, `Always Show Dark Map` is `On`: Interface and maps are dark. <img width="800" alt="image" src="https://github.com/organicmaps/organicmaps/assets/79797627/db7c9c5e-c3d8-42f6-b25d-db0bbbc83fd9"> 2. `Always dark` is Selected, `Always Show Dark Map` is `Off`: Interface is dark, and maps+instructions can be set light/dark by CarPlay <img width="795" alt="image" src="https://github.com/organicmaps/organicmaps/assets/79797627/83cded7d-676b-43f9-9823-16ee456f123e"> <img width="803" alt="image" src="https://github.com/organicmaps/organicmaps/assets/79797627/2934470f-6db7-435d-b8be-144166c7a4db"> 3. `Automatic` is Selected: CarPlay set automatically Interface and maps+instructions theme styles. <img width="796" alt="image" src="https://github.com/organicmaps/organicmaps/assets/79797627/b820e747-21b2-4dc5-9e35-0677e9f3f936">
biodranik (Migrated from github.com) approved these changes 2023-10-30 12:26:21 +00:00
@ -39,2 +39,3 @@
self.interfaceController?.delegate = self
sessionConfiguration = CPSessionConfiguration(delegate: self)
let configuration = CPSessionConfiguration(delegate: self)
sessionConfiguration = configuration
biodranik (Migrated from github.com) commented 2023-10-30 12:26:08 +00:00

Is this intermediate variable really necessary?

Is this intermediate variable really necessary?
kirylkaveryn reviewed 2023-10-30 12:51:35 +00:00
@ -39,2 +39,3 @@
self.interfaceController?.delegate = self
sessionConfiguration = CPSessionConfiguration(delegate: self)
let configuration = CPSessionConfiguration(delegate: self)
sessionConfiguration = configuration
Author
Member

Nope. But it is clearer to use a switch-case for the enum contentStyle and avoid if-elses...

Probably this will be more clear:

sessionConfiguration = CPSessionConfiguration(delegate: self)
    // Try to use the CarPlay unit's interface style.
    if #available(iOS 13.0, *), let contentStyle = sessionConfiguration?.contentStyle  {
      switch contentStyle {
      case .light:

Nope. But it is clearer to use a switch-case for the enum `contentStyle` and avoid if-elses... Probably this will be more clear: ```swift sessionConfiguration = CPSessionConfiguration(delegate: self) // Try to use the CarPlay unit's interface style. if #available(iOS 13.0, *), let contentStyle = sessionConfiguration?.contentStyle { switch contentStyle { case .light: ```
biodranik (Migrated from github.com) approved these changes 2023-10-30 12:54:29 +00:00
@ -39,2 +39,3 @@
self.interfaceController?.delegate = self
sessionConfiguration = CPSessionConfiguration(delegate: self)
let configuration = CPSessionConfiguration(delegate: self)
sessionConfiguration = configuration
biodranik (Migrated from github.com) commented 2023-10-30 12:54:25 +00:00

I see, these optionals sometimes make development more complex :) LGTM

I see, these optionals sometimes make development more complex :) LGTM
This repo is archived. You cannot comment on pull requests.
No reviewers
No labels
Accessibility
Accessibility
Address
Address
Android
Android
Android Auto
Android Auto
Android Automotive (AAOS)
Android Automotive (AAOS)
API
API
AppGallery
AppGallery
AppStore
AppStore
Battery and Performance
Battery and Performance
Blocker
Blocker
Bookmarks and Tracks
Bookmarks and Tracks
Borders
Borders
Bug
Bug
Build
Build
CarPlay
CarPlay
Classificator
Classificator
Community
Community
Core
Core
CrashReports
CrashReports
Cycling
Cycling
Desktop
Desktop
DevEx
DevEx
DevOps
DevOps
dev_sandbox
dev_sandbox
Directions
Directions
Documentation
Documentation
Downloader
Downloader
Drape
Drape
Driving
Driving
Duplicate
Duplicate
Editor
Editor
Elevation
Elevation
Enhancement
Enhancement
Epic
Epic
External Map Datasets
External Map Datasets
F-Droid
F-Droid
Fonts
Fonts
Frequently User Reported
Frequently User Reported
Fund
Fund
Generator
Generator
Good first issue
Good first issue
Google Play
Google Play
GPS
GPS
GSoC
GSoC
iCloud
iCloud
Icons
Icons
iOS
iOS
Legal
Legal
Linux Desktop
Linux Desktop
Linux packaging
Linux packaging
Linux Phone
Linux Phone
Mac OS
Mac OS
Map Data
Map Data
Metro
Metro
Navigation
Navigation
Need Feedback
Need Feedback
Night Mode
Night Mode
NLnet 2024-06-281
NLnet 2024-06-281
No Feature Parity
No Feature Parity
Opening Hours
Opening Hours
Outdoors
Outdoors
POI Info
POI Info
Privacy
Privacy
Public Transport
Public Transport
Raw Idea
Raw Idea
Refactoring
Refactoring
Regional
Regional
Regression
Regression
Releases
Releases
RoboTest
RoboTest
Route Planning
Route Planning
Routing
Routing
Ruler
Ruler
Search
Search
Security
Security
Styles
Styles
Tests
Tests
Track Recording
Track Recording
Translations
Translations
TTS
TTS
UI
UI
UX
UX
Walk Navigation
Walk Navigation
Watches
Watches
Web
Web
Wikipedia
Wikipedia
Windows
Windows
Won't fix
Won't fix
World Map
World Map
No milestone
No project
No assignees
2 participants
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: organicmaps/organicmaps-tmp#6424
No description provided.