in rides-android/src/main/java/com/uber/sdk/android/rides/RideRequestView.java [303:326]
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.toLowerCase().startsWith(REDIRECT_URL)) {
Uri uri = Uri.parse(url);
Uri fragmentUri = new Uri.Builder().encodedQuery(uri.getFragment()).build();
String errorValue = fragmentUri.getQueryParameter(ERROR_KEY);
RideRequestViewError error = RideRequestViewError.UNKNOWN;
if (errorValue != null) {
try {
error = RideRequestViewError.valueOf(errorValue.toUpperCase());
} catch (IllegalArgumentException e) {
error = RideRequestViewError.UNKNOWN;
}
}
rideRequestWebViewClientCallback.onErrorParsed(error);
return true;
} else if (url.startsWith("http:") || url.startsWith("https:")) {
return false;
} else {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
RideRequestView.this.getContext().startActivity(intent);
return true;
}
}