@NonNull
    @VisibleForTesting
    static String buildUrlFromRideParameters(@NonNull Context context,
                                             @NonNull RideParameters rideParameters,
                                             @NonNull SessionConfiguration loginConfiguration) {
        final String ENDPOINT = "components";
        final String ENVIRONMENT_KEY = "env";
        final String HTTPS = "https";
        final String PATH = "rides/";
        final String SANDBOX = "sandbox";

        Uri.Builder builder = new Uri.Builder();
        builder.scheme(HTTPS)
                .authority(ENDPOINT + "." + loginConfiguration.getEndpointRegion().getDomain())
                .appendEncodedPath(PATH);

        if (rideParameters.getUserAgent() == null) {
            rideParameters.setUserAgent(USER_AGENT_RIDE_VIEW);
        }

        RideRequestDeeplink deeplink = new RideRequestDeeplink.Builder(context)
                .setSessionConfiguration(loginConfiguration)
                .setRideParameters(rideParameters).build();
        Uri uri = deeplink.getUri();
        builder.encodedQuery(uri.getEncodedQuery());

        if (loginConfiguration.getEnvironment() == SessionConfiguration.Environment.SANDBOX) {
            builder.appendQueryParameter(ENVIRONMENT_KEY, SANDBOX);
        }

        return builder.build().toString();
    }
@NonNull
    @VisibleForTesting
    static String buildUrlFromRideParameters(@NonNull Context context,
                                             @NonNull RideParameters rideParameters,
                                             @NonNull SessionConfiguration loginConfiguration) {
        final String ENDPOINT = "components";
        final String ENVIRONMENT_KEY = "env";
        final String HTTPS = "https";
        final String PATH = "rides/";
        final String SANDBOX = "sandbox";

        Uri.Builder builder = new Uri.Builder();
        builder.scheme(HTTPS)
                .authority(ENDPOINT + "." + loginConfiguration.getEndpointRegion().getDomain())
                .appendEncodedPath(PATH);

        if (rideParameters.getUserAgent() == null) {
            rideParameters.setUserAgent(USER_AGENT_RIDE_VIEW);
        }

        RideRequestDeeplink deeplink = new RideRequestDeeplink.Builder(context)
                .setSessionConfiguration(loginConfiguration)
                .setRideParameters(rideParameters).build();
        Uri uri = deeplink.getUri();
        builder.encodedQuery(uri.getEncodedQuery());

        if (loginConfiguration.getEnvironment() == SessionConfiguration.Environment.SANDBOX) {
            builder.appendQueryParameter(ENVIRONMENT_KEY, SANDBOX);
        }

        return builder.build().toString();
    }
@ NonNull @ VisibleForTesting static String buildUrlFromRideParameters ( @ NonNull Context context , @ NonNull RideParameters rideParameters , @ NonNull SessionConfiguration loginConfiguration ) { final String ENDPOINT = "components" ; final String ENVIRONMENT_KEY = "env" ; final String HTTPS = "https" ; final String PATH = "rides/" ; final String SANDBOX = "sandbox" ; Uri . Builder builder = new Uri . Builder ( ) ; builder . scheme ( HTTPS ) . authority ( ENDPOINT + "." + loginConfiguration . getEndpointRegion ( ) . getDomain ( ) ) . appendEncodedPath ( PATH ) ; if ( rideParameters . getUserAgent ( ) == null ) { rideParameters . setUserAgent ( USER_AGENT_RIDE_VIEW ) ; } RideRequestDeeplink deeplink = new RideRequestDeeplink . Builder ( context ) . setSessionConfiguration ( loginConfiguration ) . setRideParameters ( rideParameters ) . build ( ) ; Uri uri = deeplink . getUri ( ) ; builder . encodedQuery ( uri . getEncodedQuery ( ) ) ; if ( loginConfiguration . getEnvironment ( ) == SessionConfiguration . Environment . SANDBOX ) { builder . appendQueryParameter ( ENVIRONMENT_KEY , SANDBOX ) ; } return builder . build ( ) . toString ( ) ; }
Builds a URL with necessary query parameters to load in the {@link WebView}.

@param rideParameters the {@link RideParameters} to build into the query
@return the URL {@link String} to load in the {@link WebView}
Builds a URL with necessary query parameters to load in the { @link WebView } .