Skip to content

Commit

Permalink
Mob 4499 post release 1 10 0 [MASTER] (#459)
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 worksp…
  • Loading branch information
18 people authored Dec 20, 2022
1 parent e1c67e5 commit 1413d8e
Show file tree
Hide file tree
Showing 473 changed files with 12,571 additions and 8,374 deletions.
6 changes: 3 additions & 3 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
### Build & test job
build-and-test:
macos:
xcode: 14.0
xcode: 14.1
working_directory: /Users/distiller/project/KarhooUISDK.xcworkspace
environment:
FASTLANE_LANE_TEST: UISDK_unit_tests
Expand Down Expand Up @@ -50,7 +50,7 @@ jobs:
- run:
name: Decode Keys.swift
command:
echo "$CLIENT_KEYS" | base64 --decode > Client/Keys.swift
echo "$CLIENT_KEYS_2" | base64 --decode > Client/Keys.swift
- run:
name: Install CocoaPods
command: |
Expand All @@ -73,7 +73,7 @@ jobs:

adhoc:
macos:
xcode: 13.4.1
xcode: 14.1
environment:
FL_OUTPUT_DIR: output
FASTLANE_LANE_TEST: UISDK_unit_tests
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,9 @@ fastlane/test_output
fastlane/.env

# access keys
.phrase.yml
Client/Keys.swift

*.DS_Store
.idea
KarhooUISDK.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
2 changes: 2 additions & 0 deletions .swiftlint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,5 @@ file_length:
function_body_length:
warning: 80
error: 100
type_name:
allowed_symbols: "_"
10 changes: 9 additions & 1 deletion AdyenPSP/AdyenCardRegistrationFlow.swift
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,9 @@ extension AdyenCardRegistrationFlow: DropInComponentDelegate {
case .requiresAction(let action):
adyenDropIn?.handle(action)
case .refused(let reason, let code):
finish(result: .completed(value: .didFailWithError(ErrorModel(message: reason, code: code))))
finish(result: .completed(value: .didFailWithError(
ErrorModel(message: getRefusalMessage(forCode: code) ?? reason, code: code)
)))
case .handleResult(let code):
let error = ErrorModel(
message: code ?? UITexts.Errors.noDetailsAvailable,
Expand All @@ -281,4 +283,10 @@ extension AdyenCardRegistrationFlow: DropInComponentDelegate {
finish(result: .completed(value: .didFailWithError(error)))
}
}

private func getRefusalMessage(forCode code: String) -> String? {
let translationPrefix = "kh_uisdk_adyen_payment_error_"
let translationsKey = translationPrefix + code
return translationsKey.localized != translationsKey ? translationsKey.localized : nil
}
}
3 changes: 2 additions & 1 deletion AdyenPSP/AdyenResponseHandler.swift
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ struct AdyenResponseHandler {
let paymentMethod = "paymentMethod"
let cardSummary = "cardSummary"
let refusalReason = "refusalReason"
let refusalReasonCode = "refusalReasonCode"

enum AdyenEvent {
case requiresAction(_ action: Action)
Expand Down Expand Up @@ -67,7 +68,7 @@ struct AdyenResponseHandler {
if result == refused {
return .refused(
reason: (data[refusalReason] as? String) ?? UITexts.Errors.noDetailsAvailable,
code: (data[resultCode] as? String) ?? UITexts.Errors.noDetailsAvailable
code: (data[refusalReasonCode] as? String) ?? UITexts.Errors.noDetailsAvailable
)
}
return .handleResult(code: result)
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.9.4" //\(KarhooUISDKVersionNumber)"
"KH/UISDK/iOS/1.10.0" //\(KarhooUISDKVersionNumber)"
}

public var acceptHeader = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"
Expand Down
2 changes: 2 additions & 0 deletions Client/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@
<string>1</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSCalendarsUsageDescription</key>
<string>Used to add a scheduled trip to the calendar</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Get picked up from your current location</string>
<key>UILaunchStoryboardName</key>
Expand Down
12 changes: 9 additions & 3 deletions Client/KarhooConfig.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,28 +10,34 @@ import KarhooSDK
import KarhooUISDK

final class KarhooConfig: KarhooUISDKConfiguration {

static var auth: AuthenticationMethod = .karhooUser
static var environment: KarhooEnvironment = .sandbox
static var isExplicitTermsAndConditionsApprovalRequired: Bool = false
static var paymentManager: PaymentManager!
static var useAddToCalendarFeature = true
static var onUpdateAuthentication: (@escaping () -> Void) -> Void = { $0() }

var isExplicitTermsAndConditionsConsentRequired: Bool { KarhooConfig.isExplicitTermsAndConditionsApprovalRequired }

func environment() -> KarhooEnvironment {
return KarhooConfig.environment
KarhooConfig.environment
}

func authenticationMethod() -> AuthenticationMethod {
return KarhooConfig.auth
KarhooConfig.auth
}

var paymentManager: PaymentManager {
KarhooConfig.paymentManager
}

func analytics() -> Analytics {
KarhooAnalytics(base: KarhooAnalitycsServiceWithNotifications() )
KarhooAnalytics(base: KarhooAnalitycsServiceWithNotifications())
}

var useAddToCalendarFeature: Bool {
KarhooConfig.useAddToCalendarFeature
}

func requireSDKAuthentication(callback: @escaping () -> Void) {
Expand Down
10 changes: 4 additions & 6 deletions Client/ViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -339,8 +339,8 @@ class ViewController: UIViewController {
}

func showKarhoo() {
var journeyInfo: JourneyInfo? = nil
var passangerDetails: PassengerDetails? = nil
let journeyInfo: JourneyInfo? = nil
let passangerDetails: PassengerDetails? = nil

// let originLat = CLLocationDegrees(Double(51.500869))
// let originLon = CLLocationDegrees(Double(-0.124979))
Expand Down Expand Up @@ -384,10 +384,8 @@ class ViewController: UIViewController {
case .tripAllocated(let trip):
bookingScreen?.openTrip(trip)

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

default:
break
Expand Down
52 changes: 52 additions & 0 deletions ClientSPM/ClientSPM.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
7B8A9D402850BB0C003A93DC /* KarhooUISDK in Frameworks */ = {isa = PBXBuildFile; productRef = 7B8A9D3F2850BB0C003A93DC /* KarhooUISDK */; };
7B8A9D422850BB0C003A93DC /* KarhooUISDKAdyen in Frameworks */ = {isa = PBXBuildFile; productRef = 7B8A9D412850BB0C003A93DC /* KarhooUISDKAdyen */; };
7B8A9D442850BB0C003A93DC /* KarhooUISDKBraintree in Frameworks */ = {isa = PBXBuildFile; productRef = 7B8A9D432850BB0C003A93DC /* KarhooUISDKBraintree */; };
84B01BE92902D24400393019 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 84B01BE72902D24400393019 /* Localizable.strings */; };
84B01BED2902D25900393019 /* Localizable.stringsdict in Resources */ = {isa = PBXBuildFile; fileRef = 84B01BEB2902D25900393019 /* Localizable.stringsdict */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
Expand All @@ -42,6 +44,18 @@
7B7446472850BC86004595E2 /* Keys.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Keys.swift; path = ../../Client/Keys.swift; sourceTree = "<group>"; };
7B8A9D3B2850B711003A93DC /* MainViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainViewController.swift; sourceTree = "<group>"; };
7B8A9D3D2850B77E003A93DC /* ViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ViewController.swift; path = ../../Client/ViewController.swift; sourceTree = "<group>"; };
84B01BE82902D24400393019 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = ../../KarhooUISDK/Translations/Base.lproj/Localizable.strings; sourceTree = "<group>"; };
84B01BEA2902D25900393019 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = ../../KarhooUISDK/Translations/de.lproj/Localizable.strings; sourceTree = "<group>"; };
84B01BEC2902D25900393019 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = de; path = ../../KarhooUISDK/Translations/de.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
84B01BEE2902D28A00393019 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = en; path = ../../KarhooUISDK/Translations/en.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
84B01BEF2902D2A300393019 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = it; path = ../../KarhooUISDK/Translations/it.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
84B01BF02902D2A300393019 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = ../../KarhooUISDK/Translations/it.lproj/Localizable.strings; sourceTree = "<group>"; };
84B01BF12902D2B200393019 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = nl; path = ../../KarhooUISDK/Translations/nl.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
84B01BF22902D2B200393019 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = ../../KarhooUISDK/Translations/nl.lproj/Localizable.strings; sourceTree = "<group>"; };
84B01BF32902D2D400393019 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = ../../KarhooUISDK/Translations/es.lproj/Localizable.strings; sourceTree = "<group>"; };
84B01BF42902D2D400393019 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = es; path = ../../KarhooUISDK/Translations/es.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
84B01BF52902D2E500393019 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = fr; path = ../../KarhooUISDK/Translations/fr.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
84B01BF62902D2E500393019 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = ../../KarhooUISDK/Translations/fr.lproj/Localizable.strings; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
Expand Down Expand Up @@ -88,6 +102,8 @@
5126821128379BE3001869C9 /* ClientSPM */ = {
isa = PBXGroup;
children = (
84B01BE72902D24400393019 /* Localizable.strings */,
84B01BEB2902D25900393019 /* Localizable.stringsdict */,
7B8A9D3D2850B77E003A93DC /* ViewController.swift */,
5126821228379BE3001869C9 /* ClientSPMApp.swift */,
5126821428379BE3001869C9 /* ContentView.swift */,
Expand Down Expand Up @@ -199,6 +215,11 @@
knownRegions = (
en,
Base,
fr,
de,
nl,
it,
es,
);
mainGroup = 5126820628379BE3001869C9;
productRefGroup = 5126821028379BE3001869C9 /* Products */;
Expand All @@ -217,6 +238,8 @@
buildActionMask = 2147483647;
files = (
5126821A28379BE7001869C9 /* Preview Assets.xcassets in Resources */,
84B01BED2902D25900393019 /* Localizable.stringsdict in Resources */,
84B01BE92902D24400393019 /* Localizable.strings in Resources */,
5126821728379BE7001869C9 /* Assets.xcassets in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
Expand Down Expand Up @@ -261,6 +284,35 @@
};
/* End PBXTargetDependency section */

/* Begin PBXVariantGroup section */
84B01BE72902D24400393019 /* Localizable.strings */ = {
isa = PBXVariantGroup;
children = (
84B01BE82902D24400393019 /* Base */,
84B01BEA2902D25900393019 /* de */,
84B01BF02902D2A300393019 /* it */,
84B01BF22902D2B200393019 /* nl */,
84B01BF32902D2D400393019 /* es */,
84B01BF62902D2E500393019 /* fr */,
);
name = Localizable.strings;
sourceTree = "<group>";
};
84B01BEB2902D25900393019 /* Localizable.stringsdict */ = {
isa = PBXVariantGroup;
children = (
84B01BEC2902D25900393019 /* de */,
84B01BEE2902D28A00393019 /* en */,
84B01BEF2902D2A300393019 /* it */,
84B01BF12902D2B200393019 /* nl */,
84B01BF42902D2D400393019 /* es */,
84B01BF52902D2E500393019 /* fr */,
);
name = Localizable.stringsdict;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
5126823128379BE7001869C9 /* Debug */ = {
isa = XCBuildConfiguration;
Expand Down
2 changes: 2 additions & 0 deletions ClientSPM/ClientSPM/ClientSPMApp.swift
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ struct ClientSPMApp: App {
}

final class KarhooConfig: KarhooUISDKConfiguration {
var useAddToCalendarFeature: Bool = false

static var auth: AuthenticationMethod = .karhooUser
static var environment: KarhooEnvironment = .sandbox
static var isExplicitTermsAndConditionsApprovalRequired: Bool = false
Expand Down
36 changes: 36 additions & 0 deletions ClientTests/ClientTests.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
//
// ClientTests.swift
// ClientTests
//
// Created by Aleksander Wedrychowski on 03/11/2022.
// Copyright © 2022 Flit Technologies Ltd. All rights reserved.
//

import XCTest

final class ClientTests: XCTestCase {

override func setUpWithError() throws {
// Put setup code here. This method is called before the invocation of each test method in the class.
}

override func tearDownWithError() throws {
// Put teardown code here. This method is called after the invocation of each test method in the class.
}

func testExample() throws {
// This is an example of a functional test case.
// Use XCTAssert and related functions to verify your tests produce the correct results.
// Any test you write for XCTest can be annotated as throws and async.
// Mark your test throws to produce an unexpected failure when your test encounters an uncaught error.
// Mark your test async to allow awaiting for asynchronous code to complete. Check the results with assertions afterwards.
}

func testPerformanceExample() throws {
// This is an example of a performance test case.
measure {
// Put the code you want to measure the time of here.
}
}

}
4 changes: 2 additions & 2 deletions 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.9.4"
s.version = "1.10.0"
s.summary = "Karhoo UI SDK"
s.homepage = "https://developer.karhoo.com/docs/build-apps-using-sdks"
s.license = 'BSD 2-Clause'
Expand All @@ -26,7 +26,7 @@ Pod::Spec.new do |s|

s.subspec 'Adyen' do |adyen|
adyen.dependency 'KarhooUISDK/Core'
adyen.dependency 'Adyen', '4.7.1'
adyen.dependency 'Adyen', '4.7.2'
adyen.source_files = 'AdyenPSP/**/*.swift'
end

Expand Down
Loading

0 comments on commit 1413d8e

Please sign in to comment.