@Nullable public static UniFile getDownloadLocation() { UniFile dir = null; try { Uri.Builder builder = new Uri.Builder(); builder.scheme(getString(KEY_DOWNLOAD_SAVE_SCHEME, null)); builder.encodedAuthority(getString(KEY_DOWNLOAD_SAVE_AUTHORITY, null)); builder.encodedPath(getString(KEY_DOWNLOAD_SAVE_PATH, null)); builder.encodedQuery(getString(KEY_DOWNLOAD_SAVE_QUERY, null)); builder.encodedFragment(getString(KEY_DOWNLOAD_SAVE_FRAGMENT, null)); dir = UniFile.fromUri(sContext, builder.build()); } catch (Throwable e) { ExceptionUtils.throwIfFatal(e); // Ignore } return dir != null ? dir : UniFile.fromFile(AppConfig.getDefaultDownloadDir()); }
public static Intent getHtmlFileIntent(String param) { Uri uri = Uri.parse(param).buildUpon().encodedAuthority("com.android.htmlfileprovider") .scheme("content").encodedPath(param).build(); Intent intent = new Intent("android.intent.action.VIEW"); intent.setDataAndType(uri, "text/html"); return intent; }
/** * @return a uri which can be used for logging (i.e. with credentials masked) */ public String getStoreUriForLogging() { Uri uri = Uri.parse(mStoreConfig.getStoreUri()); String userInfo = uri.getUserInfo(); if (!TextUtils.isEmpty(userInfo) && userInfo.contains(":")) { String[] parts = userInfo.split(":", 2); //noinspection ReplaceAllDot userInfo = parts[0]+":"+(parts[1].replaceAll(".", "X")); String host = uri.getHost(); if (uri.getPort() != -1) { host += ":"+uri.getPort(); } return uri.buildUpon().encodedAuthority(userInfo + "@" + host).toString(); } else { return uri.toString(); } }
if (uriParts.length == 2) { Uri oldUri = Uri.parse(uriParts[1]); newUri = oldUri.buildUpon().encodedAuthority(uriParts[0] + "@" + oldUri.getEncodedAuthority()).build(); } else { newUri = Uri.parse(uriString);
if (uriParts.length == 2) { Uri oldUri = Uri.parse(uriParts[1]); newUri = oldUri.buildUpon().encodedAuthority(uriParts[0] + "@" + oldUri.getEncodedAuthority()).build(); } else { newUri = Uri.parse(uriString);
private static Uri buildUri(String path, Map<String, String> parameters, String basePath) { Uri.Builder uriBuilder = new Uri.Builder(); String scheme = Constants.SCHEME; String authority = Constants.AUTHORITY; String initialPath = ""; try { String url = AdjustFactory.getBaseUrl(); if (basePath != null) { url += basePath; } URL baseUrl = new URL(url); scheme = baseUrl.getProtocol(); authority = baseUrl.getAuthority(); initialPath = baseUrl.getPath(); } catch (MalformedURLException e) { getLogger().error("Unable to parse endpoint (%s)", e.getMessage()); } uriBuilder.scheme(scheme); uriBuilder.encodedAuthority(authority); uriBuilder.path(initialPath); uriBuilder.appendPath(path); for (Map.Entry<String, String> entry : parameters.entrySet()) { uriBuilder.appendQueryParameter(entry.getKey(), entry.getValue()); } long now = System.currentTimeMillis(); String dateString = Util.dateFormatter.format(now); uriBuilder.appendQueryParameter("sent_at", dateString); return uriBuilder.build(); }
static public Uri getParentDirectory(final Uri uri) { final List<String> segments = uri.getPathSegments(); if (segments == null || segments.size() <= 1) { return null; } final String[] newSegments = new String[segments.size() - 1]; for (int i = 0; i < newSegments.length; i++) { newSegments[i] = segments.get(i); } final Uri.Builder builder = new Uri.Builder(); builder.scheme(uri.getScheme()); builder.encodedAuthority(uri.getAuthority()); builder.encodedPath(TextUtils.join("/", newSegments)); return builder.build(); }
public Uri createAuthorizationUri(String state) { return new Uri.Builder() .scheme("http") .encodedAuthority(ClientAPI.BASE_URL) .path("/oauth/authorize") .appendQueryParameter("client_id", "clientapp") .appendQueryParameter("response_type", "code") .appendQueryParameter("redirect_uri", REDIRECT_URI) .appendQueryParameter("scope", "read_profile") .appendQueryParameter("state", state) .appendQueryParameter("code_challenge", pixyManager.createChallenge()) .appendQueryParameter("code_challenge_method", "S256") .build(); } }
String baseUrlString = "http://www.myurl.com/myapi/"; String pathString = "api/where/agencies-with-coverage.json"; Uri.Builder builder = new Uri.Builder(); builder.path(pathString); Uri baseUrl = Uri.parse(baseUrlString); // Copy partial path (if one exists) from the base URL Uri.Builder path = new Uri.Builder(); path.encodedPath(baseUrl.getEncodedPath()); // Then, tack on the rest of the REST API method path path.appendEncodedPath(builder.build().getPath()); // Finally, overwrite builder with the full URL builder.scheme(baseUrl.getScheme()); builder.encodedAuthority(baseUrl.getEncodedAuthority()); builder.encodedPath(path.build().getEncodedPath()); // Final Uri Uri finalUri = builder.build();
static public Uri getUriWithoutLastNPathParts(final Uri uri, final int n) { final List<String> segments = uri.getPathSegments(); final String[] newSegments = new String[segments.size() - n]; final Uri.Builder builder = new Uri.Builder(); builder.encodedAuthority(uri.getAuthority()); builder.encodedPath(uri.getPath()); builder.encodedQuery(uri.getQuery()); // no "appendPath", it messes up the thing for (int i = 0; i < newSegments.length; i++) { newSegments[i] = segments.get(i); } builder.encodedPath(TextUtils.join("/", newSegments)); return builder.build(); }
public static Uri createAuthorizationURI(String state) { return new Uri.Builder() .scheme("http") .encodedAuthority(ClientAPI.BASE_URL) .path("/oauth/authorize") .appendQueryParameter("client_id", "clientapp") .appendQueryParameter("response_type", "token") .appendQueryParameter("redirect_uri", REDIRECT_URI) .appendQueryParameter("scope", "read_profile") .appendQueryParameter("state", state) .build(); } }
public static Uri createAuthorizationURI(String state) { return new Uri.Builder() .scheme("http") .encodedAuthority(ClientAPI.BASE_URL) .path("/oauth/authorize") .appendQueryParameter("client_id", "clientapp") .appendQueryParameter("response_type", "token") .appendQueryParameter("redirect_uri", REDIRECT_URI) .appendQueryParameter("scope", "read_profile") .appendQueryParameter("state", state) .build(); } }
String host = "localhost:9000"; Uri.Builder builder = new Uri.Builder(); builder.encodedAuthority(host);
public static Uri createAuthorizationUri(String state) { return new Uri.Builder() .scheme("http") .encodedAuthority(ClientAPI.BASE_URL) .path("/oauth/authorize") .appendQueryParameter("client_id", "mobileclient") .appendQueryParameter("response_type", "code") .appendQueryParameter("redirect_uri", REDIRECT_URI) .appendQueryParameter("scope", "read_userinfo") .appendQueryParameter("state", state) .build(); }
public static Uri createAuthorizationUri(String state, ClientCredentials clientCredentials) { return new Uri.Builder() .scheme("http") .encodedAuthority(ClientAPI.BASE_URL) .path("/oauth/authorize") .appendQueryParameter("client_id", clientCredentials.getClientId()) .appendQueryParameter("response_type", "code") .appendQueryParameter("redirect_uri", REDIRECT_URI) .appendQueryParameter("scope", "read_profile") .appendQueryParameter("state", state) .build(); }
public static Uri createAuthorizationUri(String state) { return new Uri.Builder() .scheme("http") .encodedAuthority(ClientAPI.BASE_URL) .path("/oauth/authorize") .appendQueryParameter("client_id", "clientapp") .appendQueryParameter("response_type", "code") .appendQueryParameter("redirect_uri", REDIRECT_URI) .appendQueryParameter("scope", "read_profile") .appendQueryParameter("state", state) .build(); }
/** * android获取一个用于打开HTML文件的intent * @param param * @return */ public static Intent getHtmlFileIntent(String param) { Uri uri = Uri.parse(param).buildUpon().encodedAuthority("com.android.htmlfileprovider").scheme("content").encodedPath(param).build(); Intent intent = new Intent("android.intent.action.VIEW"); intent.setDataAndType(uri, "text/html"); return intent; }
private Uri.Builder buildRelativeURI(Uri.Builder resultBuilder, Uri base, Uri uri) { if (uri.getAuthority() != null) { return resultBuilder.scheme(base.getScheme()); } else { resultBuilder .encodedAuthority(base.getEncodedAuthority()) .scheme(base.getScheme()) .path(null); if (uri.getPath().startsWith("/")) { //relative to root resultBuilder.appendEncodedPath(uri.getEncodedPath().substring(1)); } else { List<String> segments = base.getPathSegments(); //ignore last segment if not end with / int ignoreLast = 1; if (base.getPath().endsWith("/")) { ignoreLast = 0; } for (int i = 0, len = segments.size() - ignoreLast; i < len; i++) { resultBuilder.appendEncodedPath(segments.get(i)); } resultBuilder.appendEncodedPath(uri.getEncodedPath()); } return resultBuilder; } }