public RideRequestDeeplink build()

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);
        }