Skip to content

Commit

Permalink
Mob 3893 post release 1 7 2 [MASTER] (#265)
Browse files Browse the repository at this point in the history
* 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

* 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…
  • Loading branch information
17 people authored Feb 18, 2022
1 parent d8b6749 commit 41b43f5
Show file tree
Hide file tree
Showing 173 changed files with 5,150 additions and 2,587 deletions.
3 changes: 3 additions & 0 deletions Client/KarhooConfig.swift
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ final class KarhooConfig: KarhooUISDKConfiguration {

static var auth: AuthenticationMethod = .karhooUser
static var environment: KarhooEnvironment = .sandbox
static var isExplicitTermsAndConfitionsAprovalRequired: Bool = false

var isExplicitTermsAndConditionsConsentRequired: Bool { KarhooConfig.isExplicitTermsAndConfitionsAprovalRequired }

func environment() -> KarhooEnvironment {
return KarhooConfig.environment
Expand Down
1 change: 1 addition & 0 deletions Client/ViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@ class ViewController: UIViewController {
@objc func authenticatedAdyenBookingTapped(sender: UIButton) {
KarhooConfig.auth = .karhooUser
KarhooConfig.environment = Keys.adyenUserServiceEnvironment
KarhooConfig.isExplicitTermsAndConfitionsAprovalRequired = true
usernamePasswordLoginAndShowKarhoo(username: Keys.adyenUserServiceEmail, password: Keys.adyenUserServicePassword)
}

Expand Down
14 changes: 14 additions & 0 deletions Client/de.lproj/Localizable.strings
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
/*
localizable.strings
KarhooUISDK

Created by Bartlomiej Sopala on 01/02/2022.
Copyright © 2022 Flit Technologies Ltd. All rights reserved.
*/

"Text.Booking.LegalNoticeLink" = "mailto:legal-notice@karhoo.com";

"Text.Booking.LegalNoticeText" = "Die erhobenen Daten werden von Karhoo elektronisch verarbeitet. Senden einer E-Mail an %1$@. Ihre Daten müssen möglicherweise übersetzt werden";

"Text.Booking.LegalNoticeTitle" = "Flit Technologies";

13 changes: 13 additions & 0 deletions Client/en.lproj/Localizable.strings
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/*
localizable.strings
KarhooUISDK

Created by Bartlomiej Sopala on 01/02/2022.
Copyright © 2022 Flit Technologies Ltd. All rights reserved.
*/

"Text.Booking.LegalNoticeLink" = "mailto:legal-notice@karhoo.com";

"Text.Booking.LegalNoticeText" = "The data collected is electronically processed by Karhoo sending email to %1$@. Your data may need to be translated";

"Text.Booking.LegalNoticeTitle" = "Flit Technologies";
13 changes: 13 additions & 0 deletions Client/es.lproj/Localizable.strings
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/*
localizable.strings
KarhooUISDK

Created by Bartlomiej Sopala on 01/02/2022.
Copyright © 2022 Flit Technologies Ltd. All rights reserved.
*/

"Text.Booking.LegalNoticeLink" = "mailto:legal-notice@karhoo.com";

"Text.Booking.LegalNoticeText" = "Karhoo procesa electrónicamente los datos recopilados. enviando correo electrónico a %1$@. Es posible que sea necesario traducir sus datos";

"Text.Booking.LegalNoticeTitle" = "Flit Technologies";
13 changes: 13 additions & 0 deletions Client/fr.lproj/Localizable.strings
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/*
localizable.strings
KarhooUISDK

Created by Bartlomiej Sopala on 01/02/2022.
Copyright © 2022 Flit Technologies Ltd. All rights reserved.
*/

"Text.Booking.LegalNoticeLink" = "mailto:legal-notice@karhoo.com";

"Text.Booking.LegalNoticeText" = "Les données collectées font l'objet d'un traitement informatique par Karhoo. envoi d'e-mail à %1$@. Vos données peuvent avoir besoin d'être traduites";

"Text.Booking.LegalNoticeTitle" = "Flit Technologies";
13 changes: 13 additions & 0 deletions Client/it.lproj/Localizable.strings
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/*
localizable.strings
KarhooUISDK

Created by Bartlomiej Sopala on 01/02/2022.
Copyright © 2022 Flit Technologies Ltd. All rights reserved.
*/

"Text.Booking.LegalNoticeLink" = "mailto:legal-notice@karhoo.com";

"Text.Booking.LegalNoticeText" = "I dati raccolti sono trattati elettronicamente da Karhoo. invio email a %1$@. Potrebbe essere necessario tradurre i tuoi dati";

"Text.Booking.LegalNoticeTitle" = "Flit Technologies";
13 changes: 13 additions & 0 deletions Client/nl.lproj/Localizable.strings
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/*
localizable.strings
KarhooUISDK

Created by Bartlomiej Sopala on 01/02/2022.
Copyright © 2022 Flit Technologies Ltd. All rights reserved.
*/

"Text.Booking.LegalNoticeLink" = "mailto:legal-notice@karhoo.com";

"Text.Booking.LegalNoticeText" = "De verzamelde gegevens worden door Karhoo elektronisch verwerkt. een e-mail sturen naar %1$@. Uw gegevens moeten mogelijk worden vertaald";

"Text.Booking.LegalNoticeTitle" = "Flit Technologies";
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.7.1"
s.version = "1.7.2"
s.summary = "Karhoo UI SDK"
s.homepage = "https://developer.karhoo.com/docs/build-apps-using-sdks"
s.license = 'BSD 2-Clause'
Expand Down
290 changes: 214 additions & 76 deletions KarhooUISDK.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

12 changes: 12 additions & 0 deletions KarhooUISDK/API/KarhooComponents.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
//

import Foundation
import KarhooSDK

public class KarhooComponents: BookingScreenComponents {

Expand Down Expand Up @@ -36,4 +37,15 @@ public class KarhooComponents: BookingScreenComponents {
let view = KarhooQuoteListViewController()
return view
}

public func passengerDetails(details: PassengerDetails?,
delegate: PassengerDetailsDelegate?,
enableBackOption: Bool = true) -> PassengerDetailsView {

let detailsViewController = PassengerDetailsViewController()
detailsViewController.details = details
detailsViewController.delegate = delegate
detailsViewController.enableBackOption = enableBackOption
return detailsViewController
}
}
22 changes: 13 additions & 9 deletions KarhooUISDK/API/KarhooUISDKConfiguration.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,23 @@ import KarhooSDK

public protocol KarhooUISDKConfiguration: KarhooSDKConfiguration {
func logo() -> UIImage

var bookingMetadata:[String: Any]? { get }

func analytics() -> Analytics

var isExplicitTermsAndConditionsConsentRequired: Bool { get }

var bookingMetadata: [String: Any]? { get }
}

public extension KarhooUISDKConfiguration {

func logo() -> UIImage {
return UIImage(named: "")!
func logo() -> UIImage { UIImage(named: "")! }

func analytics() -> Analytics {
KarhooAnalytics()
}

var isExplicitTermsAndConditionsConsentRequired: Bool { false }

var bookingMetadata:[String: Any]? {
get {
return nil
}
}
var bookingMetadata: [String: Any]? { nil }
}
4 changes: 1 addition & 3 deletions KarhooUISDK/API/KarhooUISDKConfigurationProvider.swift
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,10 @@

import Foundation

final class KarhooUISDKConfigurationProvider {
enum KarhooUISDKConfigurationProvider {

private(set) static var configuration: KarhooUISDKConfiguration!

private init() {}

static func set(_ configuration: KarhooUISDKConfiguration) {
self.configuration = configuration
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"images" : [
{
"filename" : "_checkbox-icon (2).svg",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"images" : [
{
"filename" : "_checkbox-icon (1).svg",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
{
"images" : [
{
"idiom" : "universal",
"filename" : "drop_off_icon.pdf"
"filename" : "drop_off_icon.pdf",
"idiom" : "universal"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
"author" : "xcode",
"version" : 1
},
"properties" : {
"template-rendering-intent" : "template"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"images" : [
{
"filename" : "fi_calendar.pdf",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true
}
}
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
{
"images" : [
{
"idiom" : "universal",
"filename" : "pickup_icon.pdf"
"filename" : "pickup_icon.pdf",
"idiom" : "universal"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
"author" : "xcode",
"version" : 1
},
"properties" : {
"template-rendering-intent" : "template"
}
}
}
18 changes: 0 additions & 18 deletions KarhooUISDK/Builders/BookingRequestScreenBuilder.swift

This file was deleted.

28 changes: 18 additions & 10 deletions KarhooUISDK/Builders/CheckoutScreenBuilder.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,27 @@ import Foundation
import KarhooSDK

public protocol CheckoutScreenBuilder {

func buildCheckoutScreen(quote: Quote,
bookingDetails: BookingDetails,
bookingMetadata: [String: Any]?,
callback: @escaping ScreenResultCallback<TripInfo>) -> Screen
func buildCheckoutScreen(
quote: Quote,
bookingDetails: BookingDetails,
bookingMetadata: [String: Any]?,
callback: @escaping ScreenResultCallback<TripInfo>
) -> Screen
}

public extension CheckoutScreenBuilder {
func buildCheckoutScreen(quote: Quote,
bookingDetails: BookingDetails,
bookingMetadata: [String: Any]? = nil,
callback: @escaping ScreenResultCallback<TripInfo>) -> Screen {
func buildCheckoutScreen(
quote: Quote,
bookingDetails: BookingDetails,
bookingMetadata: [String: Any]? = nil,
callback: @escaping ScreenResultCallback<TripInfo>
) -> Screen {

return buildCheckoutScreen(quote: quote, bookingDetails: bookingDetails, bookingMetadata: bookingMetadata, callback: callback)
return buildCheckoutScreen(
quote: quote,
bookingDetails: bookingDetails,
bookingMetadata: bookingMetadata,
callback: callback
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ public class BaseSelectionView: UIView {
private func updateViewType() {
switch viewType {
case .mapDropOff, .mapPickUp:
tintColor = (viewType == .mapDropOff) ? KarhooUI.colors.primary : KarhooUI.colors.secondary
tintColor = (viewType == .mapDropOff) ? KarhooUI.colors.secondary : KarhooUI.colors.primary
thumbnailImage.image = UIImage.uisdkImage("pin_background_icon")
foregroundThumbnailImage.image = UIImage.uisdkImage(viewType.rawValue)
case .currentLocation:
Expand Down
Loading

0 comments on commit 41b43f5

Please sign in to comment.