Skip to content

Commit

Permalink
MOB-4220 release 1.9.0 (MASTER) (#372)
Browse files Browse the repository at this point in the history
* Feature/mob 4096 enchance payment failed analitics event (#319)

* update pods

* Add paymentNonce to CheckoutPresenter

* Add new fields to Analytics event

* Add new fields to MockAnalytics

* Unit tests update and PaymentNonce simplification

* `testTripServiceFails` unit test disabled due to IDE runtime crash

* duplicated line removed

* parameter rename

* Bump git from 1.8.1 to 1.11.0 (#315)

Bumps [git](https://github.com/ruby-git/ruby-git) from 1.8.1 to 1.11.0.
- [Release notes](https://github.com/ruby-git/ruby-git/releases)
- [Changelog](https://github.com/ruby-git/ruby-git/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ruby-git/ruby-git/compare/v1.8.1...v1.11.0)

---
updated-dependencies:
- dependency-name: git
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump cocoapods-downloader from 1.4.0 to 1.6.3 (#317)

Bumps [cocoapods-downloader](https://github.com/CocoaPods/cocoapods-downloader) from 1.4.0 to 1.6.3.
- [Release notes](https://github.com/CocoaPods/cocoapods-downloader/releases)
- [Changelog](https://github.com/CocoaPods/cocoapods-downloader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/CocoaPods/cocoapods-downloader/compare/1.4.0...1.6.3)

---
updated-dependencies:
- dependency-name: cocoapods-downloader
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Feature/MOB-4094 cherrypick from old develop (#323)

* introduce cocoapods cdn

* Fix analytics event - reportBookingEvent

* introduce SwiftFormatt

* adyen translations override tool

* bookingDetails => journeyDetails

* File added to project configuration

* Add MainActionButton to the project

* Mob 4086 integrate spm to master (#321)

* init spm

* add conditional imports

* add missing imports

* remove payment cancellation code.

* conform BraintreeThreeDSecureProvider to BTThreeDSecureRequestDelegate

* rides view fixed

* remove unused MessageBanner

* fix data picker xib

* fix another xib in prebook confirmation view

* fix inheritance ina all xib files

* Release 1.7.3 PR (#307)

* Update KarhooPaymentView and make it public (#62)

* Update KarhooPaymentView and make it public

* Add UIView extensions

* Add UIView extensions functions to the existing one

* [MOB-2976] Quote polling fix (#72)

* Merge develop, update pods

* no message

* handle quote polling

* Revert pods to point back to develop.

* no message

* no message

* no message

* MOB-2949 - Driver allocation delay alert (#73)

* Show alert on driver allocation delay

* Show Ride Details and not Rides List screen

* Add tests

* Remove extra . from text

* identifier added (#75)

Co-authored-by: Nurseda Balcioglu <nurseda.balcioglu@karhoo.com>

* CircleCI update (#74)

* Update with userLogin and config auth

* Move userLogin from Keys to ViewController

* Delete userLogin from Keys

* Move config settings setup to ViewController

* Use local userLogin

* Update with additional keys

* Update keys

* Set auth config

* Update keys

* Extract KarhooConfig

* Remove echo of KarhooConfig

* Re-add MockTripAllocationView

* Re-add MockTripAllocationView

* Re-add KarhooAddressSearchBarPresenterSpec

* Re-add CurrencyCodeConverterSpec

* Re-add MockAlertHandler

* Re-add MockQuoteSorter

* Re-add AdyenCardRegistrationFlowSpec

* Re-add MockQuoteSorter

* Re-add MockAddressBarView

* Re-add MockQuoteSorter again

* Re-add MockAddressMapView

* MockQuoteSorter again

* Re-add //

* Re-add MockQuoteSorter

* MockQuoteSorter for a change

* Add MockQuoteSorter

* Change import order

* Changed MockQuoteSorter encoding

* Add in Build Phase

* Move MockQuoteSorter into KarhooQuoteListPresenterSpec

* Move UnitTestSetup

* Revert to old MockQuoteSorter

* Add space

* Update to use env variable instead of echo

* Update fastlane version

* Update bundler

* Update tabbing

* Update bundler

* Use one line command

* Use --decode

* Add team id

* Point to circleci_fix branch

* Revert to point to develop

* CircleCI Fix (#76)

* Point to SDK fix branch

* Point to cart update branch

* Update to develop

* Update to use $(inherited)

* Clean up lanes

* Move test target out of main target

* Rename lane

* Fastlane scan

* Use FASTLANE_LANE_TEST

* Move target back

* Use bundle exec

* Move install step

* Update fastlane and search_path

* Delete output params

* Updated to remove params

* Add scan params

* Delete Client target from tests

* Updated the test target

* Ignore linting

* Add device back

* Move to Fastfile

* Update to search_paths

* Tweak xcov

* Use bundle exec command

* Add output

* Update fastlane

* Update output name

* Use workspace

* Comment out xcov for now

* Rename to skip flaky test

* Update Slack message text

* Mob 3171 remove unused strings (#77)

* Remove unused strings from UI SDK

* Add ErrorKarhoo to showAlert methods

* MOB-3143 - Contact button refactoring (#79)

* Very basic initial stab at using common StackButtons in Trip Screen.

* Cancel ride plugged in

* Changed show/hide button display constraints

* Delete redundant code

* Kind of working but needs tweaking to display properly

* Update dropdown button constraint

* Try spacing

* Fix stack button resizing

* More or less working but needs padding fix

* Remove spacing and change size of drop down button

* Delete unused voice

* Make var private

* Prefill passenger details for token exchange (#78)

* Prefill passenger details for token exchange

* use existing utility method PassengerInfo.shared.currentUserAsPassenger()

* MOB-3144 - Display cancellation fee on Trip and Ride Details screens (#80)

* Display cancellation fee popup

* Initial attempt at getting cancellation fee

* Refactor to put fee alert display logic in one place

* Dismiss overlay

* Put hide overlay in correct place

* Call cancelBookingConfirmed

* Move trip cancellation logic to CancelRideBehaviour

* Remove redundant delegate protocols

* Add to handle successful cancellation

* Use protocol and get test target compiling but tests still need fixing

* Added tests for booking fee retrieval

* Added tests for cancel ride behaviour

* Added tests for presenters handling cancellation success and remove redundant tests

* Delete redundant test

* Code review changes to remove redundant vars

* MOB-3144 - Add decimal formatting to currency display (#81)

* Add decimal formatting to currency display

* Update to point at develop

* Take user to Rides screen when OK is pressed on the cancel screen (#82)

* MOB-3193 - Cancellation SLA (#83)

* Take user to Rides screen when OK is pressed on the cancel screen

* Added free cancellation info

* Added tests for SLA free cancellation minutes

* Fix logic for cancellation info display

* Remove suffix url parameter from adyen (#84)

* Force Adyen 3ds (#85)

* Force 3DS on mobile by setting browserInfo

* Show Adyen error details

* Update podfile

* Add SupplyPartnerId to the AdyenPayments request (#86)

* Add SupplyPartnerId to the AdyenPayments request

* Code review feedback

* MOB-3190 - Align Trip & Ride buttons (#87)

* Updated ride/trip details buttons to align with Android

* Added asserts for click actions

* Mob 3205 update quote model use fleet (#88)

* Use Quote Fleet model

* Update podfile

* Handle 3DS callback in Client app (#89)

* When possible, show cancellable notification in the booking confirmation screens. (#91)

* When possible, show the notification that a ride is cancellable, in the booking confirmation screens.

* Remove duplicate cancelation message formatting.

* Feature/mob 3194 display cancellation sla in the booking request component (#92)

* Prepare cancellation info label for UI testing.

* Show free cancellation info in the ride list and details screens (#93)

* Do not cut off price information in the quote list (#95)

* On small devices

* Use nonce from response for Adyen booking (#96)

* Add free cancellation message when available before driver en route (#94)

* Refactor to use enum cancellation types. (#97)

* Task/mob 3184 add linting to iOS builds (#98)

* Fix all swiftlint violations & warnings.

* Add small swiftlint issue & add swiftlint CircleCI step

* Add swiftlint CircleCI job

* Fix small swiftlint issue

* Add more serious swiftlint issue

* Revert "Add more serious swiftlint issue"

This reverts commit 70eed309d715f7d74e1af7c5bbe2a6fee842b5dc.

* Update SwiftLint pod & solve more swiftlint issues

* Include the folder to scan with SwiftLint

* fix and refactoring icon size (#100)

* fix and refactoring icon size

* removed empty lines

* Bump kramdown from 2.3.0 to 2.3.1 (#99)

Bumps [kramdown](https://github.com/gettalong/kramdown) from 2.3.0 to 2.3.1.
- [Release notes](https://github.com/gettalong/kramdown/releases)
- [Changelog](https://github.com/gettalong/kramdown/blob/master/doc/news.page)
- [Commits](https://github.com/gettalong/kramdown/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Feature/mob 3237 show message when no fleet is available at a time (#101)

* Add message when quotes requests are completed with no quotes.

TODO: add unit tests (right now the KarhooQuoteListPresenterSpec are not running.

* Fix some unit tests

* Add padding to the message. Rename function.

* Complete the renaming of the function.

* Fix/mob 2842 coming back to the app after trip completion signs the user out (#103)

* Fix bug which hides the filtering, sorting controls in the quotes list.

* Fix bug which closes the booking view after the app goes into the background.

* Mob 3226 display cancellation time friendly (#102)

* added new TimeFormatter class, plurals localizable files and strings

* added stringsdict to podspec

* modified TimeFormatter and using it in different parts of the app

* added tests for TimeFormatter

* podfile

* shorter return

* [MOB-3181] Fix CircleCI XCov (#104)

* Update

* no message

* CircleCI run xcov

* [MOB-3185] Fix test (#106)

* Seems like this test doesn't fail anymore

* Found the issue

* changed price display rules (#105)

* changed price display rules

* new test and small fix

* [MOB-3216] Release 1.5.0 (#109)

* Bump versions

* no message

* Bump nokogiri from 1.10.10 to 1.11.3 (#107)

Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.10.10 to 1.11.3.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.10.10...v1.11.3)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Make Braintree versions more specific. (#108)

Right now, if trying to update, Braintree drop in will install version 9, which is not supported.

* MOB-3277 [Config & Prep] Navigation: Implementation of a "lite" burge… (#110)

* MOB-3277 [Config & Prep] Navigation: Implementation of a "lite" burger menu for guest checkout mode

* Solved PR comms - remade var weak

* Bump version (#112)

* Fix/mob 3290 fix en and add fr translations for profile booking request views (#118)

* Fix FR and EN wording for guest checkout CTA + sign out texts in FR

* Re-use the book button title from auth user experience.

* Redirect to trip tracking url only when user confirms the action after an alert action (#115)

* Display correct schedule for guest prebooked rides in the booking request view. (#117)

Also for token exchange experiences.

* Sort quotes by price when the user choses to prebook the ride. (#119)

* Reverse geocode only once when double tapping on current location (#120)

* Reverse geocode only once when double tapping on current location

* Make assertions about longitude as well when testing current location reverse geocoding.

* Add metadata dictionary to Booking Request view to be sent to booking api (#121)

* Add metadata dictionary to Booking Request view to be sent to booking api

* Fix tests

* Add tests for the bookingMetadata and make it optional

* Add default implementation for bookingMetadata

* Use var instead of function for bookingMetadata

* Bump nokogiri from 1.11.3 to 1.11.5 (#114)

Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.11.3 to 1.11.5.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.11.3...v1.11.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* MOB-3333 [Config & Prep] Set the default map zoom (#116)

* MOB-3333 [Config & Prep] Set the default map zoom

* Add PR changes, check if the location permission is granted, hide the address setOnMap and currentLocation options if the location is not granted

* Fixed pickup pin icon bug where it was shown when location permissions weren't granted

* Modify cancellation period displayed on the quote for ASAP rides (#122)

* Display the correct message in the rides screen (#123)

* Display the correct message in the rides screen

* make the RideCellViewModel.isPrebook private

* Update podfile to point to develop branch on NSDK

* Making prebook a local variable in TripMetadataViewModel and RideCellViewModel

* Release 1.6.0 (develop) (#124)

* Bump version number, use NSDK 1.5.0

* Update podspec

* remove swiftlint from podspecs

* Hotfix for rides screen navigation to track driver (#126)

* Update SDK version in the readme (#129)

* Fix/mob 3384 UI customization (#128)

* set secondary color for map button and primary color for line between pickup/dropoff points

* added accent & lightGrey colors as in scenarios from ACs

* renamed textcolor to infocolor and added it on info related ui elements

* added logic for pickup/dropoff icons and tint color + refactor on addPin method

* fixed icons when "set on map" was selected and added primary/secondary colors as tint

* add default tintcolor to be secondary in karhoomkmapview for the backgroundicon

* fix tests in ui sdk

* refactor generic type int from mapmvp to use TripPinTags enum

* refactor and added tests for MapAnnotationViewModel class

* fix failing tests

* change confirm icon to universal

Co-authored-by: Anca Feurdean <anca.feurdean@timmystudios.com>

* [MOB-3439] Custom tracking links (#131)

* Possible fix for allowing custom links

* Staging link

* MOB-3384 Fix/passenger title black (#130)

* change titleLabel color used

* add tint color for icons in about menu

* changed button background color

* Bump addressable from 2.7.0 to 2.8.0 (#132)

Bumps [addressable](https://github.com/sporkmonger/addressable) from 2.7.0 to 2.8.0.
- [Release notes](https://github.com/sporkmonger/addressable/releases)
- [Changelog](https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sporkmonger/addressable/compare/addressable-2.7.0...addressable-2.8.0)

---
updated-dependencies:
- dependency-name: addressable
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* MOB-3410 - Fix for validation issue (#133)

* Notes to myself (to be removed before merge)

* Another comment to remind myself where to check

* Remove comment

* Remove the other comments

* Fixed for validation issue

* deleted some extra spaces

Co-authored-by: EdwardW2 <edward@wilkins-family.org.uk>

* MOB-3384 set text color to accent on upcoming tab label in rides screen (#134)

Co-authored-by: Anca Feurdean <anca.feurdean@timmystudios.com>

* Mob 3450 use new sdk 1 5 1 version (#135)

* using new 1_5_1-rc1 sdk version

* update sdk to 1.5.1

* podfile update

* updated to 1.6.1-rc1 (#136)

* updated to 1.6.1-rc1

* podspec update

* update to rc3

* changed version to 1.6.1

* pushed podfile.lock

* Fix/mob 3415 decouple booking component (#138)

* remove KarhooBookingRequestVC

* handle logic for karhoouser inside FormBookingRequestVC (happy path is working now)

* fixed pickup time and estimated price

* fix loading of the screen

* remove karhoobookingrequestpresenter

* refactor FormBookingRequestVC

* added constraints to check how details component looks like

* refactor ui elements on formbookingrequestvc (working copy of both guest & logged in flows - issues with close button on guest)

* refactor auth check

* add karhoouser check and send it over to formbookingrequestpresenter

* put back KarhooBookingRequestPresenter

* refactor again and remove changes that affected bookingrequestpresenter

* rename method

* fix close button

* removed karhoobookingrequrestpresenter for good

* fix part of tests affected

* fix some tests and added missing code implementation

* address PR comments - rename methods to be more suggestive, replace constraints with anchor method from uiview extension

* remove mainStackContainer and use baseStackView instead

* refactor views and remove check for auth/not auth, use the same constraints on all cases

* fix payment details title

* fix tests

* remove SupplierView from the sdk

* changes in some tests

Co-authored-by: Anca Feurdean <anca.feurdean@timmystudios.com>

* MOB-3463: improve sample app and FormBookingRequestViewController (#139)

* Add all variations of payment/auth methods to sample app, remove paymentView and use addPaymentView

* Improve Keys.swift

* Feature/mob 3411 (#140)

* MOB-3411 initial UI changes (WIP)

* update checkout component screen WIP

* make terms and conditions look like in figma

* fix book button and learn more hidden/displayed

* update check

* added back buttons

* change texts as per story requirements

* refactor

* update user interaction on backtitlebutton

* update icons to use pdfs and update fr & es translations

* revert string

Co-authored-by: Anca Feurdean <anca.feurdean@timmystudios.com>

* MOB-3488 Cherry pick hotfix release commits 1.6.2 (#146)

* Cherry pick hotfix release commits 1.6.2

* Update Podfile.lock

* Feature/mob 3405 (#147)

* MOB-3405 initial commit, WIP (need clean up and fix todos)

* started to work on passenger details and payment section

* added passenger details and payment view (WIP - UI working, not properly yet)

* refactor and add more separate views in formbookingrequestvc (WIP)

* unlink guest_checkout_header_stackview from learn more and ride info stackviews

* free cancellation label + remove imrpoper accessibility identifier

* learn more button + cancellation info label

* refactor + ui changes

* fix for capacity view

* make capacity views circled

* added logic for more details view (and adding the fleet capabilities icons and titles)

* refactor

* added logic for displaying UI properly in learn more section

* show/hide vechicle capacity view

* always display learn more button

* added info text box and translations for text inside it

* clean up + localizable strings

* cleanup

* add some spacing

* clean up and get formbookingvc class is under 500 lines

* fix tests

* add padding bottom to fare type info label

* update translations, align ui elements on rideInfoView, more clean up

* added bottom constraint for moredetailsview

* fixed some colors which were misaligned in farechoice app

Co-authored-by: Anca Feurdean <anca.feurdean@timmystudios.com>

* Feature/mob 3430 (#149)

* added empty actions for tap gesture recognizers inside passengerdetails and paymentviews

* MOB-3430 integrate existing KarhooAddCardView to the new UI

* integrate passenger payment details inside payment view

* transfer baseVC into paymentview

* cleanup accessibility ids

Co-authored-by: Anca Feurdean <anca.feurdean@timmystudios.com>

* MOB-3405 address Olivier's comments regarding new UI (#150)

* MOB-3405 address Olivier's comments regarding new UI

* rename paymentLightGray to infoBackgroundColor

* added border back to textfields

* remove bad method

Co-authored-by: Anca Feurdean <anca.feurdean@timmystudios.com>

* Cherry pick release 1.6.3 (#153)

* Mob 3414 (#151)

* UI WIP

* minor commit

* added empty actions for tap gesture recognizers inside passengerdetails and paymentviews

* temp commit

* passenger details WIP

* merge develop after ui changes + replaced one color

* passenger details WIP

* save passenger details, pre-populate fields, minor fixes

* test commit

* Update PassengerDetailsView.swift

test commit 2

* test commit 3

* test commit 4

* commit for testing purposes circleci

* test commit 5

* temp commit

* cleanup, UI tests

* minor fix

Co-authored-by: Diana Petrea <diana.petrea@karhoo.com>
Co-authored-by: Anca Feurdean <anca.feurdean@timmystudios.com>

* Mob 3405 UI fixes feedback (#154)

* MOB-3405 address comments in the UI + fix issue with fleet capabilities

* fix issue with additional fleet capabilities not being displayed

* fix info icon / button size

* push podfile with develop branch target for network sdk

* fix logic for displaying capaicity view and fleet capabilities correctly

* fix swiftlint failure

* address comments on PR and check karhoo sdk from develop as discussed with Mostafa

Co-authored-by: Anca Feurdean <anca.feurdean@timmystudios.com>

* Mob 3393 fix comment (#155)

* MOB-3405 address comments in the UI + fix issue with fleet capabilities

* fix issue with additional fleet capabilities not being displayed

* fix info icon / button size

* push podfile with develop branch target for network sdk

* fix logic for displaying capaicity view and fleet capabilities correctly

* remove "learn less", only use "learn more" string in both cases

* make karhooaddcardview public as being required for farechoice

* revert changes that were merged in develop

Co-authored-by: Anca Feurdean <anca.feurdean@timmystudios.com>

* MOB-3430 fixed strings and constraints to allow add payment label to … (#156)

* MOB-3430 fixed strings and constraints to allow add payment label to go on 2 lines if needed

* fix and align all views and strings

* fix some more strings and alignment for karhooinputtextview in checkout component screen

* change colors to match Olivier's comments

Co-authored-by: Anca Feurdean <anca.feurdean@timmystudios.com>

* MOB-3405 make label to be button instead (#157)

Co-authored-by: Anca Feurdean <anca.feurdean@timmystudios.com>

* Mob-3395 (#159)

* Country code selection WIP

* minor commit

* country selection temp commit

* new phone input view

* minor fixes

* final touches

* minor change

* Mob 3411 fix button title and add navigation (#158)

* MOb-3411 fix button title to have title as in the story's requirements

* MOB-3411 add navigation for passenger page from NEXT button and change booking button title

* added compliance for tests -> will need to update after flows for Checkout component are complete

* added taxi icon instead of circle one

* added test for guest user flow

* added test for karhoo user (incomplete test case for now)

* add karhoouser true for both tokenuser and karhoouser

* add logic for either presenting passenger page or add payment flow

* rename method to addmoredetails instead of just passenger

* update logic to exist loop when adding passenger and payment details

* move all navigation to passenger details screen into main presenter

* fix token flow as well

* fix flow for add or edit passenger details

* update payment view

Co-authored-by: Anca Feurdean <anca.feurdean@timmystudios.com>

* MOB-3411 revert condition to OR instead of AND and use another method… (#161)

* MOB-3411 revert condition to OR instead of AND and use another method to check for payment method added

* update also karhoo user flag

* MOB-3395 fix country list retrieval (#162)

* fix country list retrieval

* update placeholder text

* fix back button color and update strings and dotted line (#163)

* fix back button color when enabling user interaction (after adding payment method)

* UI + string updates as discussed with Olivier

* edit add passenger to match add payment string as discussed with Olivier

* add s to payment method

* MOB-3430 transfer quote into PaymentView so amount and data is transferred into request when adding Adyen (#164)

* update bundle id (#165)

* Mob 3395 fix country flags (#166)

* fix country flag images

* minor cleanup

* fix phone number and locale bug in the passenger details page (#167)

* MOB-3428 fix adyen nonce retrieval (#168)

* Mob 3540 send correct passenger details (#170)

* send correct passenger details WIP

* add validation for passenger details before booking the trip

* minor fixes

* MOB-3395 - fix done button in the add passenger page (#171)

* add input field validation when text changed to enable the done button

* fix unit test

* MOB-3532 add flag for showing retry alert (#173)

* add validation and error handling for empty field (#174)

* fix quote summary screen disappearing (#175)

* force light mode (#176)

* Mob 3428 cleanup payment (#177)

* MOB-3428 and MOB-3532 WIP on only using Nonce instead of Nonce AND PaymentMethod

* cleanup and renaming

* remove unused paymentmethod.swift file

* cleanup payment and add karhoopayment presenter init in didset actions

* rename method to nonce

* rename method to nonce

* rename method to nonce

* put back commented cod for further reference

* add back didAddPaymentMethod (used for Adyen) and fixes for braintree

* fix tests

* fix conflict

* change payment method to nonce

* Mob 3537 (#179)

* MOB-3537 initial commit on flight number

* WIP remove FlightDetails related builder and move karhoopaymentpresenter init outside setupview

* MOB-3537 initial commit on flight number

* WIP remove FlightDetails related builder and move karhoopaymentpresenter init outside setupview

* fix tests

* MOB-3551 fix ux/ui issues in checkout component (#180)

* MOB-3551 fix ux/ui issues in checkout component

* update visibility instead of removing from superview

* MOB-3428 fix last 2/4 digits shown on paymentview (#181)

* Mob 3528 release 1 6 4 (#182)

* [MOB-3216] Update master (#111)

* Update KarhooPaymentView and make it public (#62)

* Update KarhooPaymentView and make it public

* Add UIView extensions

* Add UIView extensions functions to the existing one

* [MOB-2976] Quote polling fix (#72)

* Merge develop, update pods

* no message

* handle quote polling

* Revert pods to point back to develop.

* no message

* no message

* no message

* MOB-2949 - Driver allocation delay alert (#73)

* Show alert on driver allocation delay

* Show Ride Details and not Rides List screen

* Add tests

* Remove extra . from text

* identifier added (#75)

Co-authored-by: Nurseda Balcioglu <nurseda.balcioglu@karhoo.com>

* CircleCI update (#74)

* Update with userLogin and config auth

* Move userLogin from Keys to ViewController

* Delete userLogin from Keys

* Move config settings setup to ViewController

* Use local userLogin

* Update with additional keys

* Update keys

* Set auth config

* Update keys

* Extract KarhooConfig

* Remove echo of KarhooConfig

* Re-add MockTripAllocationView

* Re-add MockTripAllocationView

* Re-add KarhooAddressSearchBarPresenterSpec

* Re-add CurrencyCodeConverterSpec

* Re-add MockAlertHandler

* Re-add MockQuoteSorter

* Re-add AdyenCardRegistrationFlowSpec

* Re-add MockQuoteSorter

* Re-add MockAddressBarView

* Re-add MockQuoteSorter again

* Re-add MockAddressMapView

* MockQuoteSorter again

* Re-add //

* Re-add MockQuoteSorter

* MockQuoteSorter for a change

* Add MockQuoteSorter

* Change import order

* Changed MockQuoteSorter encoding

* Add in Build Phase

* Move MockQuoteSorter into KarhooQuoteListPresenterSpec

* Move UnitTestSetup

* Revert to old MockQuoteSorter

* Add space

* Update to use env variable instead of echo

* Update fastlane version

* Update bundler

* Update tabbing

* Update bundler

* Use one line command

* Use --decode

* Add team id

* Point to circleci_fix branch

* Revert to point to develop

* CircleCI Fix (#76)

* Point to SDK fix branch

* Point to cart update branch

* Update to develop

* Update to use $(inherited)

* Clean up lanes

* Move test target out of main target

* Rename lane

* Fastlane scan

* Use FASTLANE_LANE_TEST

* Move target back

* Use bundle exec

* Move install step

* Update fastlane and search_path

* Delete output params

* Updated to remove params

* Add scan params

* Delete Client target from tests

* Updated the test target

* Ignore linting

* Add device back

* Move to Fastfile

* Update to search_paths

* Tweak xcov

* Use bundle exec command

* Add output

* Update fastlane

* Update output name

* Use workspace

* Comment out xcov for now

* Rename to skip flaky test

* Update Slack message text

* Mob 3171 remove unused strings (#77)

* Remove unused strings from UI SDK

* Add ErrorKarhoo to showAlert methods

* MOB-3143 - Contact button refactoring (#79)

* Very basic initial stab at using common StackButtons in Trip Screen.

* Cancel ride plugged in

* Changed show/hide button display constraints

* Delete redundant code

* Kind of working but needs tweaking to display properly

* Update dropdown button constraint

* Try spacing

* Fix stack button resizing

* More or less working but needs padding fix

* Remove spacing and change size of drop down button

* Delete unused voice

* Make var private

* Prefill passenger details for token exchange (#78)

* Prefill passenger details for token exchange

* use existing utility method PassengerInfo.shared.currentUserAsPassenger()

* MOB-3144 - Display cancellation fee on Trip and Ride Details screens (#80)

* Display cancellation fee popup

* Initial attempt at getting cancellation fee

* Refactor to put fee alert display logic in one place

* Dismiss overlay

* Put hide overlay in correct place

* Call cancelBookingConfirmed

* Move trip cancellation logic to CancelRideBehaviour

* Remove redundant delegate protocols

* Add to handle successful cancellation

* Use protocol and get test target compiling but tests still need fixing

* Added tests for booking fee retrieval

* Added tests for cancel ride behaviour

* Added tests for presenters handling cancellation success and remove redundant tests

* Delete redundant test

* Code review changes to remove redundant vars

* MOB-3144 - Add decimal formatting to currency display (#81)

* Add decimal formatting to currency display

* Update to point at develop

* Take user to Rides screen when OK is pressed on the cancel screen (#82)

* MOB-3193 - Cancellation SLA (#83)

* Take user to Rides screen when OK is pressed on the cancel screen

* Added free cancellation info

* Added tests for SLA free cancellation minutes

* Fix logic for cancellation info display

* Remove suffix url parameter from adyen (#84)

* Force Adyen 3ds (#85)

* Force 3DS on mobile by setting browserInfo

* Show Adyen error details

* Update podfile

* Add SupplyPartnerId to the AdyenPayments request (#86)

* Add SupplyPartnerId to the AdyenPayments request

* Code review feedback

* MOB-3190 - Align Trip & Ride buttons (#87)

* Updated ride/trip details buttons to align with Android

* Added asserts for click actions

* Mob 3205 update quote model use fleet (#88)

* Use Quote Fleet model

* Update podfile

* Handle 3DS callback in Client app (#89)

* When possible, show cancellable notification in the booking confirmation screens. (#91)

* When possible, show the notification that a ride is cancellable, in the booking confirmation screens.

* Remove duplicate cancelation message formatting.

* Feature/mob 3194 display cancellation sla in the booking request component (#92)

* Prepare cancellation info label for UI testing.

* Show free cancellation info in the ride list and details screens (#93)

* Do not cut off price information in the quote list (#95)

* On small devices

* Use nonce from response for Adyen booking (#96)

* Add free cancellation message when available before driver en route (#94)

* Refactor to use enum cancellation types. (#97)

* Task/mob 3184 add linting to iOS builds (#98)

* Fix all swiftlint violations & warnings.

* Add small swiftlint issue & add swiftlint CircleCI step

* Add swiftlint CircleCI job

* Fix small swiftlint issue

* Add more serious swiftlint issue

* Revert "Add more serious swiftlint issue"

This reverts commit 70eed309d715f7d74e1af7c5bbe2a6fee842b5dc.

* Update SwiftLint pod & solve more swiftlint issues

* Include the folder to scan with SwiftLint

* fix and refactoring icon size (#100)

* fix and refactoring icon size

* removed empty lines

* Bump kramdown from 2.3.0 to 2.3.1 (#99)

Bumps [kramdown](https://github.com/gettalong/kramdown) from 2.3.0 to 2.3.1.
- [Release notes](https://github.com/gettalong/kramdown/releases)
- [Changelog](https://github.com/gettalong/kramdown/blob/master/doc/news.page)
- [Commits](https://github.com/gettalong/kramdown/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Feature/mob 3237 show message when no fleet is available at a time (#101)

* Add message when quotes requests are completed with no quotes.

TODO: add unit tests (right now the KarhooQuoteListPresenterSpec are not running.

* Fix some unit tests

* Add padding to the message. Rename function.

* Complete the renaming of the function.

* Fix/mob 2842 coming back to the app after trip completion signs the user out (#103)

* Fix bug which hides the filtering, sorting controls in the quotes list.

* Fix bug which closes the booking view after the app goes into the background.

* Mob 3226 display cancellation time friendly (#102)

* added new TimeFormatter class, plurals localizable files and strings

* added stringsdict to podspec

* modified TimeFormatter and using it in different parts of the app

* added tests for TimeFormatter

* podfile

* shorter return

* [MOB-3181] Fix CircleCI XCov (#104)

* Update

* no message

* CircleCI run xcov

* [MOB-3185] Fix test (#106)

* Seems like this test doesn't fail anymore

* Found the issue

* changed price display rules (#105)

* changed price display rules

* new test and small fix

* [MOB-3216] Release 1.5.0 (#109)

* Bump versions

* no message

* Bump nokogiri from 1.10.10 to 1.11.3 (#107)

Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.10.10 to 1.11.3.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.10.10...v1.11.3)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Make Braintree versions more specific. (#108)

Right now, if trying to update, Braintree drop in will install version 9, which is not supported.

Co-authored-by: Mostafa Hadian <mostafa.hadian@karhoo.com>
Co-authored-by: Jo Santa Maria <60882714+jsm20@users.noreply.github.com>
Co-authored-by: nurito-burrito <44758040+nurito-burrito@users.noreply.github.com>
Co-authored-by: Nurseda Balcioglu <nurseda.balcioglu@karhoo.com>
Co-authored-by: cornelkar <61707821+cornelkar@users.noreply.github.com>
Co-authored-by: cosminBadulescu <cosmin.badulescu@soft-to-you.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Release 1.6.0 (master) (#125)

* Update KarhooPaymentView and make it public (#62)

* Update KarhooPaymentView and make it public

* Add UIView extensions

* Add UIView extensions functions to the existing one

* [MOB-2976] Quote polling fix (#72)

* Merge develop, update pods

* no message

* handle quote polling

* Revert pods to point back to develop.

* no message

* no message

* no message

* MOB-2949 - Driver allocation delay alert (#73)

* Show alert on driver allocation delay

* Show Ride Details and not Rides List screen

* Add tests

* Remove extra . from text

* identifier added (#75)

Co-authored-by: Nurseda Balcioglu <nurseda.balcioglu@karhoo.com>

* CircleCI update (#74)

* Update with userLogin and config auth

* Move userLogin from Keys to ViewController

* Delete userLogin from Keys

* Move config settings setup to ViewController

* Use local userLogin

* Update with additional keys

* Update keys

* Set auth config

* Update keys

* Extract KarhooConfig

* Remove echo of KarhooConfig

* Re-add MockTripAllocationView

* Re-add MockTripAllocationView

* Re-add KarhooAddressSearchBarPresenterSpec

* Re-add CurrencyCodeConverterSpec

* Re-add MockAlertHandler

* Re-add MockQuoteSorter

* Re-add AdyenCardRegistrationFlowSpec

* Re-add MockQuoteSorter

* Re-add MockAddressBarView

* Re-add MockQuoteSorter again

* Re-add MockAddressMapView

* MockQuoteSorter again

* Re-add //

* Re-add MockQuoteSorter

* MockQuoteSorter for a change

* Add MockQuoteSorter

* Change import order

* Changed MockQuoteSorter encoding

* Add in Build Phase

* Move MockQuoteSorter into KarhooQuoteListPresenterSpec

* Move UnitTestSetup

* Revert to old MockQuoteSorter

* Add space

* Update to use env variable instead of echo

* Update fastlane version

* Update bundler

* Update tabbing

* Update bundler

* Use one line command

* Use --decode

* Add team id

* Point to circleci_fix branch

* Revert to point to develop

* CircleCI Fix (#76)

* Point to SDK fix branch

* Point to cart update branch

* Update to develop

* Update to use $(inherited)

* Clean up lanes

* Move test target out of main target

* Rename lane

* Fastlane scan

* Use FASTLANE_LANE_TEST

* Move target back

* Use bundle exec

* Move install step

* Update fastlane and search_path

* Delete output params

* Updated to remove params

* Add scan params

* Delete Client target from tests

* Updated the test target

* Ignore linting

* Add device back

* Move to Fastfile

* Update to search_paths

* Tweak xcov

* Use bundle exec command

* Add output

* Update fastlane

* Update output name

* Use workspace

* Comment out xcov for now

* Rename to skip flaky test

* Update Slack message text

* Mob 3171 remove unused strings (#77)

* Remove unused strings from UI SDK

* Add ErrorKarhoo to showAlert methods

* MOB-3143 - Contact button refactoring (#79)

* Very basic initial stab at using common StackButtons in Trip Screen.

* Cancel ride plugged in

* Changed show/hide button display constraints

* Delete redundant code

* Kind of working but needs tweaking to display properly

* Update dropdown button constraint

* Try spacing

* Fix stack button resizing

* More or less working but needs padding fix

* Remove spacing and change size of drop down button

* Delete unused voice

* Make var private

* Prefill passenger details for token exchange (#78)

* Prefill passenger details for token exchange

* use existing utility method PassengerInfo.shared.currentUserAsPassenger()

* MOB-3144 - Display cancellation fee on Trip and Ride Details screens (#80)

* Display cancellation fee popup

* Initial attempt at getting cancellation fee

* Refactor to put fee alert display logic in one place

* Dismiss overlay

* Put hide overlay in correct place

* Call cancelBookingConfirmed

* Move trip cancellation logic to CancelRideBehaviour

* Remove redundant delegate protocols

* Add to handle successful cancellation

* Use protocol and get test target compiling but tests still need fixing

* Added tests for booking fee retrieval

* Added tests for cancel ride behaviour

* Added tests for presenters handling cancellation success and remove redundant tests

* Delete redundant test

* Code review changes to remove redundant vars

* MOB-3144 - Add decimal formatting to currency display (#81)

* Add decimal formatting to currency display

* Update to point at develop

* Take user to Rides screen when OK is pressed on the cancel screen (#82)

* MOB-3193 - Cancellation SLA (#83)

* Take user to Rides screen when OK is pressed on the cancel screen

* Added free cancellation info

* Added tests for SLA free cancellation minutes

* Fix logic for cancellation info display

* Remove suffix url parameter from adyen (#84)

* Force Adyen 3ds (#85)

* Force 3DS on mobile by setting browserInfo

* Show Adyen error details

* Update podfile

* Add SupplyPartnerId to the AdyenPayments request (#86)

* Add SupplyPartnerId to the AdyenPayments request

* Code review feedback

* MOB-3190 - Align Trip & Ride buttons (#87)

* Updated ride/trip details buttons to align with Android

* Added asserts for click actions

* Mob 3205 update quote model use fleet (#88)

* Use Quote Fleet model

* Update podfile

* Handle 3DS callback in Client app (#89)

* When possible, show cancellable notification in the booking confirmation screens. (#91)

* When possible, show the notification that a ride is cancellable, in the booking confirmation screens.

* Remove duplicate cancelation message formatting.

* Feature/mob 3194 display cancellation sla in the booking request component (#92)

* Prepare cancellation info label for UI testing.

* Show free cancellation info in the ride list and details screens (#93)

* Do not cut off price information in the quote list (#95)

* On small devices

* Use nonce from response for Adyen booking (#96)

* Add free cancellation message when available before driver en route (#94)

* Refactor to use enum cancellation types. (#97)

* Task/mob 3184 add linting to iOS builds (#98)

* Fix all swiftlint violations & warnings.

* Add small swiftlint issue & add swiftlint CircleCI step

* Add swiftlint CircleCI job

* Fix small swiftlint issue

* Add more serious swiftlint issue

* Revert "Add more serious swiftlint issue"

This reverts commit 70eed309d715f7d74e1af7c5bbe2a6fee842b5dc.

* Update SwiftLint pod & solve more swiftlint issues

* Include the folder to scan with SwiftLint

* fix and refactoring icon size (#100)

* fix and refactoring icon size

* removed empty lines

* Bump kramdown from 2.3.0 to 2.3.1 (#99)

Bumps [kramdown](https://github.com/gettalong/kramdown) from 2.3.0 to 2.3.1.
- [Release notes](https://github.com/gettalong/kramdown/releases)
- [Changelog](https://github.com/gettalong/kramdown/blob/master/doc/news.page)
- [Commits](https://github.com/gettalong/kramdown/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Feature/mob 3237 show message when no fleet is available at a time (#101)

* Add message when quotes requests are completed with no quotes.

TODO: add unit tests (right now the KarhooQuoteListPresenterSpec are not running.

* Fix some unit tests

* Add padding to the message. Rename function.

* Complete the renaming of the function.

* Fix/mob 2842 coming back to the app after trip completion signs the user out (#103)

* Fix bug which hides the filtering, sorting controls in the quotes list.

* Fix bug which closes the booking view after the app goes into the background.

* Mob 3226 display cancellation time friendly (#102)

* added new TimeFormatter class, plurals localizable files and strings

* added stringsdict to podspec

* modified TimeFormatter and using it in different parts of the app

* added tests for TimeFormatter

* podfile

* shorter return

* [MOB-3181] Fix CircleCI XCov (#104)

* Update

* no message

* CircleCI run xcov

* [MOB-3185] Fix test (#106)

* Seems like this test doesn't fail anymore

* Found the issue

* changed price display rules (#105)

* changed price display rules

* new test and small fix

* [MOB-3216] Release 1.5.0 (#109)

* Bump versions

* no message

* Bump nokogiri from 1.10.10 to 1.11.3 (#107)

Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.10.10 to 1.11.3.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.10.10...v1.11.3)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Make Braintree versions more specific. (#108)

Right now, if trying to update, Braintree drop in will install version 9, which is not supported.

* MOB-3277 [Config & Prep] Navigation: Implementation of a "lite" burge… (#110)

* MOB-3277 [Config & Prep] Navigation: Implementation of a "lite" burger menu for guest checkout mode

* Solved PR comms - remade var weak

* Bump version (#112)

* Fix/mob 3290 fix en and add fr translations for profile booking request views (#118)

* Fix FR and EN wording for guest checkout CTA + sign out texts in FR

* Re-use the book button title from auth user experience.

* Redirect to trip tracking url only when user confirms the action after an alert action (#115)

* Display correct schedule for guest prebooked rides in the booking request view. (#117)

Also for token exchange experiences.

* Sort quotes by price when the user choses to prebook the ride. (#119)

* Reverse geocode only once when double tapping on current location (#120)

* Reverse geocode only once when double tapping on current location

* Make assertions about longitude as well when testing current location reverse geocoding.

* Add metadata dictionary to Booking Request view to be sent to booking api (#121)

* Add metadata dictionary to Booking Request view to be sent to booking api

* Fix tests

* Add tests for the bookingMetadata and make it optional

* Add default implementation for bookingMetadata

* Use var instead of function for bookingMetadata

* Bump nokogiri from 1.11.3 to 1.11.5 (#114)

Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.11.3 to 1.11.5.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.11.3...v1.11.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* MOB-3333 [Config & Prep] Set the default map zoom (#116)

* MOB-3333 [Config & Prep] Set the default map zoom

* Add PR changes, check if the location permission is granted, hide the address setOnMap and currentLocation options if the location is not granted

* Fixed pickup pin icon bug where it was shown when location permissions weren't granted

* Modify cancellation period displayed on the quote for ASAP rides (#122)

* Display the correct message in the rides screen (#123)

* Display the correct message in the rides screen

* make the RideCellViewModel.isPrebook private

* Update podfile to point to develop branch on NSDK

* Making prebook a local variable in TripMetadataViewModel and RideCellViewModel

* Bump version number, use NSDK 1.5.0

* Update podspec

* remove swiftlint from podspecs

Co-authored-by: EdwardW2 <44901854+EdwardW2@users.noreply.github.com>
Co-authored-by: Jo Santa Maria <60882714+jsm20@users.noreply.github.com>
Co-authored-by: nurito-burrito <44758040+nurito-burrito@users.noreply.github.com>
Co-authored-by: Nurseda Balcioglu <nurseda.balcioglu@karhoo.com>
Co-authored-by: cornelkar <61707821+cornelkar@users.noreply.github.com>
Co-authored-by: cosminBadulescu <cosmin.badulescu@soft-to-you.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: mateid-kr <79910867+mateid-kr@users.noreply.github.com>

* Release 1.6.0 hotfix (master) (#127)

* Update KarhooPaymentView and make it public (#62)

* Update KarhooPaymentView and make it public

* Add UIView extensions

* Add UIView extensions functions to the existing one

* [MOB-2976] Quote polling fix (#72)

* Merge develop, update pods

* no message

* handle quote polling

* Revert pods to point back to develop.

* no message

* no message

* no message

* MOB-2949 - Driver allocation delay alert (#73)

* Show alert on driver allocation delay

* Show Ride Details and not Rides List screen

* Add tests

* Remove extra . from text

* identifier added (#75)

Co-authored-by: Nurseda Balcioglu <nurseda.balcioglu@karhoo.com>

* CircleCI update (#74)

* Update with userLogin and config auth

* Move userLogin from Keys to ViewController

* Delete userLogin from Keys

* Move config settings setup to ViewController

* Use local userLogin

* Update with additional keys

* Update keys

* Set auth config

* Update keys

* Extract KarhooConfig

* Remove echo of KarhooConfig

* Re-add MockTripAllocationView

* Re-add MockTripAllocationView

* Re-add KarhooAddressSearchBarPresenterSpec

* Re-add CurrencyCodeConverterSpec

* Re-add MockAlertHandler

* Re-add MockQuoteSorter

* Re-add AdyenCardRegistrationFlowSpec

* Re-add MockQuoteSorter

* Re-add MockAddressBarView

* Re-add MockQuoteSorter again

* Re-add MockAddressMapView

* MockQuoteSorter again

* Re-add //

* Re-add MockQuoteSorter

* MockQuoteSorter for a change

* Add MockQuoteSorter

* Change import order

* Changed MockQuoteSorter encoding

* Add in Build Phase

* Move MockQuoteSorter into KarhooQuoteListPresenterSpec

* Move UnitTestSetup

* Revert to old MockQuoteSorter

* Add space

* Update to use env variable instead of echo

* Update fastlane version

* Update bundler

* Update tabbing

* Update bundler

* Use one line command

* Use --decode

* Add team id

* Point to circleci_fix branch

* Revert to point to develop

* CircleCI Fix (#76)

* Point to SDK fix branch

* Point to cart update branch

* Update to develop

* Update to use $(inherited)

* Clean up lanes

* Move test target out of main target

* Rename lane

* Fastlane scan

* Use FASTLANE_LANE_TEST

* Move target back

* Use bundle exec

* Move install step

* Update fastlane and search_path

* Delete output params

* Updated to remove params

* Add scan params

* Delete Client target from tests

* Updated the test target

* Ignore linting

* Add device back

* Move to Fastfile

* Update to search_paths

* Tweak xcov

* Use bundle exec command

* Add output

* Update fastlane

* Update output name

* Use workspace

* Comment out xcov for now

* Rename to skip flaky test

* Update Slack message text

* Mob 3171 remove unused strings (#77)

* Remove unused strings from UI SDK

* Add ErrorKarhoo to showAlert methods

* MOB-3143 - Contact button refactoring (#79)

* Very basic initial stab at using common StackButtons in Trip Screen.

* Cancel ride plugged in

* Changed show/hide button display constraints

* Delete redundant code

* Kind of working but needs tweaking to display properly

* Update dropdown button constraint

* Try spacing

* Fix stack button resizing

* More or less working but needs padding fix

* Remove spacing and change size of drop down button

* Delete unused voice

* Make var private

* Prefill passenger details for token exchange (#78)

* Prefill passenger details for token exchange

* use existing utility method PassengerInfo.shared.currentUserAsPassenger()

* MOB-3144 - Display cancellation fee on Trip and Ride Details screens (#80)

* Display cancellation fee popup

* Initial attempt at getting cancellation fee

* Refactor to put fee alert display logic in one place

* Dismiss overlay

* Put hide overlay in correct place

* Call cancelBookingConfirmed

* Move trip cancellation logic to CancelRideBehaviour

* Remove redundant delegate protocols

* Add to handle successful cancellation

* Use protocol and get test target compiling but tests still need fixing

* Added tests for booking fee retrieval

* Added tests for cancel ride behaviour

* Added tests for presenters handling cancellation success and remove redundant tests

* Delete redundant test

* Code review changes to remove redundant vars

* MOB-3144 - Add decimal formatting to currency display (#81)

* Add decimal formatting to currency display

* Update to point at develop

* Take user to Rides screen when OK is pressed on the cancel screen (#82)

* MOB-3193 - Cancellation SLA (#83)

* Take user to Rides screen when OK is pressed on the cancel screen

* Added free cancellation info

* Added tests for SLA free cancellation minutes

* Fix logic for cancellation info display

* Remove suffix url parameter from adyen (#84)

* Force Adyen 3ds (#85)

* Force 3DS on mobile by setting browserInfo

* Show Adyen error details

* Update podfile

* Add SupplyPartnerId to the AdyenPayments request (#86)

* Add SupplyPartnerId to the AdyenPayments request

* Code review feedback

* MOB-3190 - Align Trip & Ride buttons (#87)

* Updated ride/trip details buttons to align with Android

* Added asserts for click actions

* Mob 3205 update quote model use fleet (#88)

* Use Quote Fleet model

* Update podfile

* Handle 3DS callback in Client app (#89)

* When possible, show cancellable notification in the booking confirmation screens. (#91)

* When possible, show the notification that a ride is cancellable, in the booking confirmation screens.

* Remove duplicate cancelation message formatting.

* Feature/mob 3194 display cancellation sla in the booking request component (#92)

* Prepare cancellation info label for UI testing.

* Show free cancellation info in the ride list and details screens (#93)

* Do not cut off price information in the quote list (#95)

* On small devices

* Use nonce from response for Adyen booking (#96)

* Add free cancellation message when available before driver en route (#94)

* Refactor to use enum cancellation types. (#97)

* Task/mob 3184 add linting to iOS builds (#98)

* Fix all swiftlint violations & warnings.

* Add small swiftlint issue & add swiftlint CircleCI step

* Add swiftlint CircleCI job

* Fix small swiftlint issue

* Add more serious swiftlint issue

* Revert "Add more serious swiftlint issue"

This reverts commit 70eed309d715f7d74e1af7c5bbe2a6fee842b5dc.

* Update SwiftLint pod & solve more swiftlint issues

* Include the folder to scan with SwiftLint

* fix and refactoring icon size (#100)

* fix and refactoring icon size

* removed empty lines

* Bump kramdown from 2.3.0 to 2.3.1 (#99)

Bumps [kramdown](https://github.com/gettalong/kramdown) from 2.3.0 to 2.3.1.
- [Release notes](https://github.com/gettalong/kramdown/releases)
- [Changelog](https://github.com/gettalong/kramdown/blob/master/doc/news.page)
- [Commits](https://github.com/gettalong/kramdown/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Feature/mob 3237 show message when no fleet is available at a time (#101)

* Add message when quotes requests are completed with no quotes.

TODO: add unit tests (right now the KarhooQuoteListPresenterSpec are not running.

* Fix some unit tests

* Add padding to the message. Rename function.

* Complete the renaming of the function.

* Fix/mob 2842 coming back to the app after trip completion signs the user out (#103)

* Fix bug which hides the filtering, sorting controls in the quotes list.

* Fix bug which closes the booking view after the app goes into the background.

* Mob 3226 display cancellation time friendly (#102)

* added new TimeFormatter class, plurals localizable files and strings

* added stringsdict to podspec

* modified TimeFormatter and using it in different parts of the app

* added tests for TimeFormatter

* podfile

* shorter return

* [MOB-3181] Fix CircleCI XCov (#104)

* Update

* no message

* CircleCI run xcov

* [MOB-3185] Fix test (#106)

* Seems like this test doesn't fail anymore

* Found the issue

* changed price display rules (#105)

* changed price display rules

* new test and small fix

* [MOB-3216] Release 1.5.0 (#109)

* Bump versions

* no message

* Bump nokogiri from 1.10.10 to 1.11.3 (#107)

Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.10.10 to 1.11.3.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.10.10...v1.11.3)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Make Braintree versions more specific. (#108)

Right now, if trying to update, Braintree drop in will install version 9, which is not supported.

* MOB-3277 [Config & Prep] Navigation: Implementation of a "lite" burge… (#110)

* MOB-3277 [Config & Prep] Navigation: Implementation of a "lite" burger menu for guest checkout mode

* Solved PR comms - remade var weak

* Bump version (#112)

* Fix/mob 3290 fix en and add fr translations for profile booking request views (#118)

* Fix FR and EN wording for guest checkout CTA + sign out texts in FR

* Re-use the book button title from auth user experience.

* Redirect to trip tracking url only when user confirms the action after an alert action (#115)

* Display correct schedule for guest prebooked rides in the booking request view. (#117)

Also for token exchange experiences.

* Sort quotes by price when the user choses to prebook the ride. (#119)

* Reverse geocode only once when double tapping on current location (#120)

* Reverse geocode only once when double tapping on current location

* Make assertions about longitude as well when testing current location reverse geocoding.

* Add metadata dictionary to Booking Request view to be sent to booking api (#121)

* Add metadata dictionary to Booking Request view to be sent to booking api

* Fix tests

* Add tests for the bookingMetadata and make it optional

* Add default implementation for bookingMetadata

* Use var instead of function for bookingMetadata

* Bump nokogiri from 1.11.3 to 1.11.5 (#114)

Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.11.3 to 1.11.5.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.11.3...v1.11.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* MOB-3333 [Config & Prep] Set the default map zoom (#116)

* MOB-3333 [Config & Prep] Set the default map zoom

* Add PR changes, check if the location permission is granted, hide the address setOnMap and currentLocation options if the location is not granted

* Fixed pickup pin icon bug where it was shown when location permissions weren't granted

* Modify cancellation period displayed on the quote for ASAP rides (#122)

* Display the correct message in the rides screen (#123)

* Display the correct message in the rides screen

* make the RideCellViewModel.isPrebook private

* Update podfile to point to develop branch on NSDK

* Making prebook a local variable in TripMetadataViewModel and RideCellViewModel

* Release 1.6.0 (develop) (#124)

* Bump version number, use NSDK 1.5.0

* Update podspec

* remove swiftlint from podspecs

* Hotfix for rides screen navigation to track driver

* Fix for rides screen navigation to track driver

Co-authored-by: EdwardW2 <44901854+EdwardW2@users.noreply.github.com>
Co-authored-by: Jo Santa Maria <60882714+jsm20@users.noreply.github.com>
Co-authored-by: nurito-burrito <44758040+nurito-burrito@users.noreply.github.com>
Co-authored-by: Nurseda Balcioglu <nurseda.balcioglu@karhoo.com>
Co-authored-by: cornelkar <61707821+cornelkar@users.noreply.github.com>
Co-authored-by: cosminBadulescu <cosmin.badulescu@soft-to-you.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: mateid-kr <79910867+mateid-kr@users.noreply.github.com>

* Post release 1_6_1 (#137)

* Update KarhooPaymentView and make it public (#62)

* Update KarhooPaymentView and make it public

* Add UIView extensions

* Add UIView extensions functions to the existing one

* [MOB-2976] Quote polling fix (#72)

* Merge develop, update pods

* no message

* handle quote polling

* Revert pods to point back to develop.

* no message

* no message

* no message

* MOB-2949 - Driver allocation delay alert (#73)

* Show alert on driver allocation delay

* Show Ride Details and not Rides List screen

* Add tests

* Remove extra . from text

* identifier added (#75)

Co-authored-by: Nurseda Balcioglu <nurseda.balcioglu@karhoo.com>

* CircleCI update (#74)

* Update with userLogin and config auth

* Move userLogin from Keys to ViewController

* Delete userLogin from Keys

* Move config settings setup to ViewController

* Use local userLogin

* Update with additional keys

* Update keys

* Set auth config

* Update keys

* Extract KarhooConfig

* Remove echo of KarhooConfig

* Re-add MockTripAllocationView

* Re-add MockTripAllocationView

* Re-add KarhooAddressSearchBarPresenterSpec

* Re-add CurrencyCodeConverterSpec

* Re-add MockAlertHandler

* Re-add MockQuoteSorter

* Re-add AdyenCardRegistrationFlowSpec

* Re-add MockQuoteSorter

* Re-add MockAddressBarView

* Re-add MockQuoteSorter again

* Re-add MockAddressMapView

* MockQuoteSorter again

* Re-add //

* Re-add MockQuoteSorter

* MockQuoteSorter for a change

* Add MockQuoteSorter

* Change import order

* Changed MockQuoteSorter encoding

* Add in Build Phase

* Move MockQuoteSorter into KarhooQuoteListPresenterSpec

* Move UnitTestSetup

* Revert to old MockQuoteSorter

* Add space

* Update to use env variable instead of echo

* Update fastlane version

* Update bundler

* Update tabbing

* Update bundler

* Use one line command

* Use --decode

* Add team id

* Point to circleci_fix branch

* Revert to point to develop

* CircleCI Fix (#76)

* Point to SDK fix branch

* Point to cart update branch

* Update to develop

* Update to use $(inherited)

* Clean up lanes

* Move test target out of main target

* Rename lane

* Fastlane scan

* Use FASTLANE_LANE_TEST

* Move target back

* Use bundle exec

* Move install step

* Update fastlane and search_path

* Delete output params

* Updated to remove params

* Add scan params

* Delete Client target from tests

* Updated the test target

* Ignore linting

* Add device back

* Move to Fastfile

* Update to search_paths

* Tweak xcov

* Use bundle exec command

* Add output

* Update fastlane

* Update output name

* Use workspace

…
  • Loading branch information
19 people authored Aug 17, 2022
1 parent 0c7ca3e commit 0535702
Show file tree
Hide file tree
Showing 249 changed files with 8,482 additions and 2,925 deletions.
3 changes: 1 addition & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,11 @@ jobs:
### Build & test job
build-and-test:
macos:
xcode: 13.2.1
xcode: 13.3.1
working_directory: /Users/distiller/project/KarhooUISDK.xcworkspace
environment:
FASTLANE_LANE_TEST: UISDK_unit_tests
shell: /bin/bash --login -eo pipefail
resource_class: xlarge
steps:
- checkout
- run:
Expand Down
46 changes: 46 additions & 0 deletions .phrase.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
phrase:
project_id: 8e4c22fcf72ecdc3363818caacb7c50a
push:
sources:
- file: ./KarhooUISDK/Translations/Base.lproj/Localizable.strings
params:
file_format: strings
update_translations: false
pull:
targets:
- file: ./KarhooUISDK/Translations/Base.lproj/Localizable.strings
params:
file_format: strings
locale_id: f390ef60a73bcd6ee5ef1d4b78363e58
include_empty_translations: true
encoding: UTF-8
- file: ./KarhooUISDK/Translations/de.lproj/Localizable.strings
params:
file_format: strings
locale_id: 6510393c2bbcba9a2d9f9561db8a3c6c
include_empty_translations: true
encoding: UTF-8
- file: ./KarhooUISDK/Translations/es.lproj/Localizable.strings
params:
file_format: strings
locale_id: 2cea4b12cd2e5fd56202eabd131d1bd3
include_empty_translations: true
encoding: UTF-8
- file: ./KarhooUISDK/Translations/fr.lproj/Localizable.strings
params:
file_format: strings
locale_id: 35ea33464c4e6fa8369db03f78f78bbd
include_empty_translations: true
encoding: UTF-8
- file: ./KarhooUISDK/Translations/it.lproj/Localizable.strings
params:
file_format: strings
locale_id: 44d999b670083599794939e6c17f41b8
include_empty_translations: true
encoding: UTF-8
- file: ./KarhooUISDK/Translations/nl.lproj/Localizable.strings
params:
file_format: strings
locale_id: 987bb9091a4f245e929881845623aa3e
include_empty_translations: true
encoding: UTF-8
16 changes: 8 additions & 8 deletions AdyenPSP/AdyenCardRegistrationFlow.swift
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,9 @@ final class AdyenCardRegistrationFlow: CardRegistrationFlow {
paymentService.adyenPaymentMethods(request: request).execute(callback: { [weak self] result in
self?.baseViewController?.showLoadingOverlay(false)
switch result {
case .success(let result):
case .success(let result, _):
self?.getAdyenKey(dropInData: result.data)
case .failure(let error):
case .failure(let error, _):
self?.finish(result: .completed(value: .didFailWithError(error)))
@unknown default:
assertionFailure()
Expand All @@ -79,9 +79,9 @@ final class AdyenCardRegistrationFlow: CardRegistrationFlow {
private func getAdyenKey(dropInData: Data) {
paymentService.getAdyenClientKey().execute(callback: { [weak self] result in
switch result {
case .success(let result):
case .success(let result, _):
self?.startDropIn(data: dropInData, adyenKey: result.clientKey)
case .failure(let error):
case .failure(let error, _):
self?.finish(result: .completed(value: .didFailWithError(error)))
@unknown default:
assertionFailure()
Expand Down Expand Up @@ -195,12 +195,12 @@ extension AdyenCardRegistrationFlow: DropInComponentDelegate {
guard let self = self else { return }

switch result {
case .success(let result):
case .success(let result, _):
self.tripId = result.tripId
let event = self.adyenResponseHandler.nextStepFor(data: result.payload,
tripId: result.tripId)
self.handle(event: event)
case .failure(let error):
case .failure(let error, _):
self.finish(result: .completed(value: .didFailWithError(error)))
@unknown default:
assertionFailure()
Expand Down Expand Up @@ -233,7 +233,7 @@ extension AdyenCardRegistrationFlow: DropInComponentDelegate {
guard let self = self else { return }

switch result {
case .success(let result):
case .success(let result, _):
guard let detailsResponse = Utils.convertToDictionary(data: result.data) else {
self.finish(result: .completed(value: .didFailWithError(nil)))
return
Expand All @@ -242,7 +242,7 @@ extension AdyenCardRegistrationFlow: DropInComponentDelegate {
let event = self.adyenResponseHandler.nextStepFor(data: detailsResponse,
tripId: self.tripId)
self.handle(event: event)
case .failure(let error):
case .failure(let error, _):
self.finish(result: .completed(value: .didFailWithError(error)))
@unknown default:
assertionFailure()
Expand Down
2 changes: 1 addition & 1 deletion AdyenPSP/AdyenThreeDSecureUtils.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ public struct AdyenThreeDSecureUtils: ThreeDSecureUtils {
public init() {}

public var userAgent: String {
"KH/UISDK/iOS/1.8.0" //\(KarhooUISDKVersionNumber)"
"KH/UISDK/iOS/1.9.0" //\(KarhooUISDKVersionNumber)"
}

public var acceptHeader = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"
Expand Down
12 changes: 6 additions & 6 deletions BraintreePSP/BraintreeCardRegistrationFlow.swift
Original file line number Diff line number Diff line change
Expand Up @@ -75,13 +75,13 @@ public final class BraintreeCardRegistrationFlow: CardRegistrationFlow {
currency: currencyCode)

paymentService.initialisePaymentSDK(paymentSDKTokenPayload: sdkTokenRequest).execute { [weak self] result in
if let token = result.successValue() {
if let token = result.getSuccessValue() {
self?.buildBraintreeUI(paymentsToken: token)
} else {
self?.baseViewController?.showAlert(title: UITexts.Generic.error,
message: UITexts.Errors.missingPaymentSDKToken,
error: result.errorValue())
self?.callback?(.completed(value: .didFailWithError(result.errorValue())))
error: result.getErrorValue())
self?.callback?(.completed(value: .didFailWithError(result.getErrorValue())))
}
}
}
Expand Down Expand Up @@ -155,10 +155,10 @@ public final class BraintreeCardRegistrationFlow: CardRegistrationFlow {
.execute { [weak self] result in
self?.baseViewController?.showLoadingOverlay(false)

guard let nonce = result.successValue() else {
self?.baseViewController?.show(error: result.errorValue())
guard let nonce = result.getSuccessValue() else {
self?.baseViewController?.show(error: result.getErrorValue())
self?.analyticsService.send(eventName: .userCardRegistrationFailed)
self?.callback?(OperationResult.completed(value: .didFailWithError(result.errorValue())))
self?.callback?(OperationResult.completed(value: .didFailWithError(result.getErrorValue())))
return
}

Expand Down
8 changes: 4 additions & 4 deletions BraintreePSP/BraintreePaymentNonceProvider.swift
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,10 @@ final class BraintreePaymentNonceProvider: PaymentNonceProvider {

paymentService.initialisePaymentSDK(paymentSDKTokenPayload: sdkTokenRequest).execute {[weak self] result in
switch result {
case .success(let sdkToken):
case .success(let sdkToken, _):
self?.sdkToken = sdkToken
case .failure:
self?.callbackResult?(.completed(value: .failedToInitialisePaymentService(error: result.errorValue())))
self?.callbackResult?(.completed(value: .failedToInitialisePaymentService(error: result.getErrorValue())))
return
}
}
Expand All @@ -74,7 +74,7 @@ final class BraintreePaymentNonceProvider: PaymentNonceProvider {
private func getNonce(payload: NonceRequestPayload, currencyCode: String) {
paymentService.getNonce(nonceRequestPayload: payload).execute { [weak self] result in
switch result {
case .success(let nonce): self?.execute3dSecureCheckOnNonce(nonce)
case .success(let nonce, _): self?.execute3dSecureCheckOnNonce(nonce)
case .failure: self?.triggerAddCardFlow(currencyCode: currencyCode)
}
}
Expand Down Expand Up @@ -120,7 +120,7 @@ final class BraintreePaymentNonceProvider: PaymentNonceProvider {
threeDSecureProvider.threeDSecureCheck(
nonce: nonce.nonce,
currencyCode: quote.price.currencyCode,
paymentAmout: NSDecimalNumber(value: quote.price.highPrice),
paymentAmount: NSDecimalNumber(value: quote.price.highPrice),
callback: { [weak self] result in
switch result {
case .completed(let result): handleThreeDSecureCheck(result)
Expand Down
12 changes: 6 additions & 6 deletions BraintreePSP/BraintreeThreeDSecureProvider.swift
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ final class BraintreeThreeDSecureProvider: NSObject, ThreeDSecureProvider, BTVie
func threeDSecureCheck(
nonce: String,
currencyCode: String,
paymentAmout: NSDecimalNumber,
paymentAmount: NSDecimalNumber,
callback: @escaping (OperationResult<ThreeDSecureCheckResult>) -> Void
) {
self.resultCallback = callback
Expand All @@ -56,8 +56,8 @@ final class BraintreeThreeDSecureProvider: NSObject, ThreeDSecureProvider, BTVie
paymentService.initialisePaymentSDK(paymentSDKTokenPayload: sdkTokenRequest)
.execute(callback: { [weak self] result in
switch result {
case .success(let token):
self?.start3DSecureCheck(authToken: token, nonce: nonce, amount: paymentAmout)
case .success(let token, _):
self?.start3DSecureCheck(authToken: token, nonce: nonce, amount: paymentAmount)
case .failure:
callback(.completed(value: .failedToInitialisePaymentService))
return
Expand All @@ -83,8 +83,8 @@ final class BraintreeThreeDSecureProvider: NSObject, ThreeDSecureProvider, BTVie
return
}

self.paymentFlowDriver = BTPaymentFlowDriver(apiClient: apiClient)
self.paymentFlowDriver?.viewControllerPresentingDelegate = self
paymentFlowDriver = BTPaymentFlowDriver(apiClient: apiClient)
paymentFlowDriver?.viewControllerPresentingDelegate = self

let request = BTThreeDSecureRequest()
request.nonce = nonce
Expand All @@ -100,7 +100,7 @@ final class BraintreeThreeDSecureProvider: NSObject, ThreeDSecureProvider, BTVie
raiseOnDivideByZero: false
)
request.amount = amount.rounding(accordingToBehavior: decimalNumberHandler)
self.paymentFlowDriver?.startPaymentFlow(request) { [weak self] (result, error) in
paymentFlowDriver?.startPaymentFlow(request) { [weak self] (result, error) in
if error?._code == BTPaymentFlowDriverErrorType.canceled.rawValue {
self?.resultCallback?(.cancelledByUser)
return
Expand Down
49 changes: 36 additions & 13 deletions Client/ViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,12 @@ class ViewController: UIViewController {

let scrollView = UIScrollView()
view.addSubview(scrollView)
scrollView.anchor(top: view.topAnchor, leading: view.leadingAnchor, bottom: view.bottomAnchor, trailing: view.trailingAnchor)
scrollView.anchor(
top: view.topAnchor,
leading: view.leadingAnchor,
trailing: view.trailingAnchor,
bottom: view.bottomAnchor
)

let stackView = UIStackView(arrangedSubviews: [authenticatedBraintreeBookingButton, guestBraintreeBookingButton, tokenExchangeBraintreeBookingButton,
authenticatedAdyenBookingButton, guestAdyenBookingButton, tokenExchangeAdyenBookingButton,
Expand All @@ -108,7 +113,16 @@ class ViewController: UIViewController {
stackView.distribution = .fillEqually
stackView.spacing = 30
scrollView.addSubview(stackView)
stackView.anchor(top: scrollView.topAnchor, leading: scrollView.leadingAnchor, bottom: scrollView.bottomAnchor, trailing: scrollView.trailingAnchor, paddingTop: 80, paddingLeft: 20, paddingBottom: 20, paddingRight: 20)
stackView.anchor(
top: scrollView.topAnchor,
leading: scrollView.leadingAnchor,
trailing: scrollView.trailingAnchor,
bottom: scrollView.bottomAnchor,
paddingTop: 80,
paddingLeft: 20,
paddingRight: 20,
paddingBottom: 20
)
}

@objc func guestAdyenBookingTapped(sender: UIButton) {
Expand Down Expand Up @@ -221,28 +235,37 @@ class ViewController: UIViewController {
// phoneNumber: "+15005550006",
// locale: "en")

booking = KarhooUI().screens().booking().buildBookingScreen(journeyInfo: journeyInfo,
passengerDetails: passangerDetails,
callback: { [weak self] result in
self?.handleBookingScreenResult(result: result)
}) as? BookingScreen
self.present(booking!,
animated: true,
completion: nil)
booking = KarhooUI().screens().booking()
.buildBookingScreen(
journeyInfo: journeyInfo,
passengerDetails: passangerDetails,
callback: { [weak self] result in
self?.handleBookingScreenResult(result: result)
}
)

self.present(
booking!,
animated: true,
completion: nil
)
}

private func handleBookingScreenResult(result: ScreenResult<BookingScreenResult>) {
let bookingInNavigationStack = (booking as? UINavigationController)?.viewControllers.first { $0 is BookingScreen }
let bookingScreen = (booking as? BookingScreen) ?? (bookingInNavigationStack as? BookingScreen)

switch result {

case .completed(let bookingScreenResult):
switch bookingScreenResult {

case .tripAllocated(let trip):
(booking as? BookingScreen)?.openTrip(trip)
bookingScreen?.openTrip(trip)

case .prebookConfirmed(let trip, let prebookConfirmationAction):
if case .rideDetails = prebookConfirmationAction {
(booking as? BookingScreen)?.openRideDetailsFor(trip)
bookingScreen?.openRideDetailsFor(trip)
}

default:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,8 @@
"repositoryURL": "https://github.com/braintree/braintree_ios",
"state": {
"branch": null,
"revision": "6d57ebe2182ab0e441c8ec359f3c8ba4dc5edb6b",
"version": "5.5.0"
"revision": "152fbf1f6d4b883604fbe27a8a04e66ca5d37b04",
"version": "5.6.3"
}
},
{
Expand Down
2 changes: 1 addition & 1 deletion KarhooUISDK.podspec
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Pod::Spec.new do |s|

s.name = "KarhooUISDK"
s.version = "1.8.0"
s.version = "1.9.0"
s.summary = "Karhoo UI SDK"
s.homepage = "https://developer.karhoo.com/docs/build-apps-using-sdks"
s.license = 'BSD 2-Clause'
Expand Down
Loading

0 comments on commit 0535702

Please sign in to comment.