if (uri.isOpaque()) { throw new UnsupportedOperationException("This isn't a hierarchical URI.");
if (isOpaque()) { throw new UnsupportedOperationException(NOT_HIERARCHICAL);
static boolean isCallbackUri(String uri, String callbackUrl) { Uri u = null; Uri r = null; try { u = Uri.parse(uri); r = Uri.parse(callbackUrl); } catch (NullPointerException e) { return false; } if (u == null || r == null) return false; boolean rOpaque = r.isOpaque(); boolean uOpaque = u.isOpaque(); if (uOpaque != rOpaque) return false; if (rOpaque) return TextUtils.equals(uri, callbackUrl); if (!TextUtils.equals(r.getScheme(), u.getScheme())) return false; if (u.getPort() != r.getPort()) return false; if (!TextUtils.isEmpty(r.getPath()) && !TextUtils.equals(r.getPath(), u.getPath())) return false; Set<String> paramKeys = r.getQueryParameterNames(); for (String key : paramKeys) { if (!TextUtils.equals(r.getQueryParameter(key), u.getQueryParameter(key))) return false; } String frag = r.getFragment(); if (!TextUtils.isEmpty(frag) && !TextUtils.equals(frag, u.getFragment())) return false; return true; }
if (isOpaque()) { throw new UnsupportedOperationException(NOT_HIERARCHICAL);
if (isOpaque()) { throw new UnsupportedOperationException(NOT_HIERARCHICAL);