MCPcopy Create free account
hub / github.com/M66B/FairEmail / guessScheme

Method guessScheme

app/src/main/java/eu/faircode/email/UriHelper.java:216–239  ·  view source on GitHub ↗
(@NonNull Uri uri)

Source from the content-addressed store, hash-verified

214 }
215
216 static @NonNull
217 Uri guessScheme(@NonNull Uri uri) {
218 if (uri.getScheme() != null)
219 return uri;
220
221 String url = uri.toString();
222 if (Helper.EMAIL_ADDRESS.matcher(url).matches())
223 return Uri.parse("mailto:" + url);
224 else if (PatternsCompat.IP_ADDRESS.matcher(url).matches())
225 return Uri.parse("https://" + url);
226 else if (android.util.Patterns.PHONE.matcher(url).matches())
227 // Patterns.PHONE (\+[0-9]+[\- \.]*)?(\([0-9]+\)[\- \.]*)?([0-9][0-9\- \.]+[0-9])
228 // PhoneNumberUtils.isGlobalPhoneNumber() [\+]?[0-9.-]+
229 return Uri.parse("tel:" + url);
230 else {
231 Uri g = Uri.parse(URLUtil.guessUrl(url));
232 String scheme = g.getScheme();
233 if (scheme == null)
234 return uri;
235 else if ("http".equals(scheme))
236 scheme = "https";
237 return Uri.parse(scheme + "://" + url);
238 }
239 }
240
241 static int getSuffixCount(Context context) {
242 ensureSuffixList(context);

Callers 6

onCreateDialogMethod · 0.95
headMethod · 0.95
guessSchemesMethod · 0.95
tailMethod · 0.95
onExecutedMethod · 0.95
onOpenLinkMethod · 0.95

Calls 4

toStringMethod · 0.45
matchesMethod · 0.45
parseMethod · 0.45
equalsMethod · 0.45

Tested by

no test coverage detected