in rides-android/src/main/java/com/uber/sdk/android/rides/RideRequestDeeplink.java [171:211]
public RideRequestDeeplink build() {
checkNotNull(rideParameters, "Must supply ride parameters.");
checkNotNull(sessionConfiguration, "Must supply a Session Configuration");
checkNotNull(sessionConfiguration.getClientId(), "Must supply client Id on Login Configuration");
if (appProtocol == null) {
appProtocol = new AppProtocol();
}
if (customTabsHelper == null) {
customTabsHelper = new CustomTabsHelper();
}
final Uri.Builder builder = getUriBuilder(context, fallback);
builder.appendQueryParameter(ACTION, SET_PICKUP);
builder.appendQueryParameter(CLIENT_ID, sessionConfiguration.getClientId());
if (rideParameters.getProductId() != null) {
builder.appendQueryParameter(PRODUCT_ID, rideParameters.getProductId());
}
if (rideParameters.getPickupLatitude() != null && rideParameters.getPickupLongitude() != null) {
addLocation(LocationType.PICKUP, Double.toString(rideParameters.getPickupLatitude()),
Double.toString(rideParameters.getPickupLongitude()), rideParameters.getPickupNickname(),
rideParameters.getPickupAddress(), builder);
}
if (rideParameters.isPickupMyLocation()) {
builder.appendQueryParameter(LocationType.PICKUP.getUriQueryKey(), MY_LOCATION);
}
if (rideParameters.getDropoffLatitude() != null && rideParameters.getDropoffLongitude() != null) {
addLocation(LocationType.DROPOFF, Double.toString(rideParameters.getDropoffLatitude()),
Double.toString(rideParameters.getDropoffLongitude()), rideParameters.getDropoffNickname(),
rideParameters.getDropoffAddress(), builder);
}
String userAgent = rideParameters.getUserAgent();
if (userAgent == null) {
userAgent = USER_AGENT_DEEPLINK;
}
builder.appendQueryParameter(USER_AGENT, userAgent);
return new RideRequestDeeplink(context, builder.build(), appProtocol, customTabsHelper);
}