Skip to content

Commit

Permalink
Merge pull request #302 from mohssenfathi/uber-rides-testing
Browse files Browse the repository at this point in the history
Cleanup SwiftSDK sample + UberRides testing
  • Loading branch information
mohssenfathi authored Jun 26, 2024
2 parents a58533d + 88ddd55 commit cdb6394
Show file tree
Hide file tree
Showing 36 changed files with 215 additions and 2,874 deletions.
2 changes: 1 addition & 1 deletion Sources/UberAuth/Token/AccessToken.swift
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ public struct AccessToken: Codable, Equatable {
public init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: CodingKeys.self)
let tokenString = try container.decode(String.self, forKey: .tokenString)
let tokenType = try container.decode(String.self, forKey: .tokenType)
let tokenType = try container.decodeIfPresent(String.self, forKey: .tokenType)
let expiresIn = try container.decodeIfPresent(Int.self, forKey: .expiresIn)
let refreshToken = try container.decodeIfPresent(String.self, forKey: .refreshToken)

Expand Down
14 changes: 10 additions & 4 deletions Sources/UberRides/RideRequestView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,10 @@ public class RideRequestView: UIView {
- returns: An initialized RideRequestView
*/
public convenience init(rideParameters: RideParameters) {
self.init(rideParameters: rideParameters, accessToken: Self.tokenManager.getToken(), frame: CGRect.zero)
public convenience init(rideParameters: RideParameters,
accessTokenIdentifier: String = TokenManager.defaultAccessTokenIdentifier,
accessGroup: String? = nil) {
self.init(rideParameters: rideParameters, accessToken: Self.tokenManager.getToken(identifier: accessTokenIdentifier, accessGroup: accessGroup), frame: CGRect.zero)
}

/**
Expand All @@ -132,8 +134,12 @@ public class RideRequestView: UIView {
- returns: An initialized RideRequestView
*/
public convenience init() {
self.init(rideParameters: RideParametersBuilder().build(), accessToken: Self.tokenManager.getToken(), frame: CGRect.zero)
public convenience init(accessTokenIdentifier: String = TokenManager.defaultAccessTokenIdentifier) {
self.init(
rideParameters: RideParametersBuilder().build(),
accessToken: Self.tokenManager.getToken(identifier: accessTokenIdentifier),
frame: CGRect.zero
)
}

required public init?(coder aDecoder: NSCoder) {
Expand Down
19 changes: 13 additions & 6 deletions Sources/UberRides/RideRequestViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -54,18 +54,16 @@ public class RideRequestViewController: UIViewController {
/// The RideRequestViewControllerDelegate to handle the errors
public var delegate: RideRequestViewControllerDelegate?

lazy var rideRequestView: RideRequestView = RideRequestView()
lazy var rideRequestView: RideRequestView = RideRequestView(accessTokenIdentifier: accessTokenIdentifier)

static let sourceString = "ride_request_widget"

private var accessTokenWasUnauthorizedOnPreviousAttempt = false
private var loginCompletion: ((_ accessToken: AccessToken?, _ error: NSError?) -> Void)?

private let tokenManager = TokenManager()

// TODO: Support custom accessTokenIdentifier, keychainAccessGroup
private let accessTokenIdentifier: String = ""
private let keychainAccessGroup: String = ""
private let accessTokenIdentifier: String
private let keychainAccessGroup: String

/**
Initializes a RideRequestViewController using the provided coder. By default,
Expand All @@ -76,6 +74,9 @@ public class RideRequestViewController: UIViewController {
- returns: An initialized RideRequestViewController, or nil if something went wrong
*/
public required init?(coder aDecoder: NSCoder) {
self.accessTokenIdentifier = Configuration.shared.defaultAccessTokenIdentifier
self.keychainAccessGroup = Configuration.shared.defaultKeychainAccessGroup

super.init(coder: aDecoder)

let defaultRideParameters = RideParametersBuilder()
Expand All @@ -92,7 +93,13 @@ public class RideRequestViewController: UIViewController {
- returns: An initialized RideRequestViewController
*/
public init(rideParameters: RideParameters) {
public init(rideParameters: RideParameters,
accessTokenIdentifier: String = Configuration.shared.defaultAccessTokenIdentifier,
keychainAccessGroup: String = Configuration.shared.defaultKeychainAccessGroup) {

self.accessTokenIdentifier = accessTokenIdentifier
self.keychainAccessGroup = keychainAccessGroup

super.init(nibName: nil, bundle: nil)

rideParameters.source = rideParameters.source ?? RideRequestViewController.sourceString
Expand Down
10 changes: 8 additions & 2 deletions Sources/UberRides/RideRequestViewRequestingBehavior.swift
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,15 @@ public class RideRequestViewRequestingBehavior {
- returns: An initialized RideRequestViewRequestingBehavior object
*/
public init(presentingViewController: UIViewController) {
public init(presentingViewController: UIViewController,
accessTokenIdentifier: String = Configuration.shared.defaultAccessTokenIdentifier,
keychainAccessGroup: String = Configuration.shared.defaultKeychainAccessGroup) {
self.presentingViewController = presentingViewController
let rideRequestViewController = RideRequestViewController(rideParameters: RideParametersBuilder().build())
let rideRequestViewController = RideRequestViewController(
rideParameters: RideParametersBuilder().build(),
accessTokenIdentifier: accessTokenIdentifier,
keychainAccessGroup: keychainAccessGroup
)
modalRideRequestViewController = ModalRideRequestViewController(rideRequestViewController: rideRequestViewController)
}
}
Expand Down
Loading

0 comments on commit cdb6394

Please sign in to comment.