类android.net.UrlQuerySanitizer源码实例Demo

下面列出了怎么用android.net.UrlQuerySanitizer的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: clevertap-android-sdk   文件: UriHelper.java
static Bundle getAllKeyValuePairs(String url, boolean encodeValues) {
    if (url == null) return new Bundle();
    Bundle customPairs = new Bundle();
    try {
        UrlQuerySanitizer sanitizer = new UrlQuerySanitizer();
        sanitizer.setAllowUnregisteredParamaters(true);
        sanitizer.setUnregisteredParameterValueSanitizer(UrlQuerySanitizer.getAllButNulLegal());
        sanitizer.parseUrl(url);
        Set<String> queryParams = sanitizer.getParameterSet();
        for (String key : queryParams) {
            String value = getValueForKey(key, sanitizer, false);
            if (value != null) {
                // Don't encode wzrk_c2a - as the URL must be preserved
                if (encodeValues || key.equals("wzrk_c2a")) {
                    // Already encoded
                    customPairs.putString(key, value);
                } else {
                    customPairs.putString(key, URLDecoder.decode(value, "UTF-8"));
                }
            }
        }
    } catch (Throwable ignore) {
        // Won't happen
    }
    return customPairs;
}
 
源代码2 项目: starcor.xul   文件: XulGIFAnimationDrawable.java
public static XulDrawable buildAnimation(InputStream stream, String url, String imageKey) {
	if (stream == null) {
		return null;
	}

	UrlQuerySanitizer s = new UrlQuerySanitizer(url);
	boolean noLoop = s.hasParameter("NoLoop");
	boolean noTransparent = s.hasParameter("noTransparent");
	float speed = XulUtils.tryParseFloat(s.getValue("Speed"), 1.0f);
	if (speed <= 0) {
		speed = 0.01f;
	}

	XulGIFDecoder.GIFFrame[] frames = XulGIFDecoder.decode(stream, noLoop, noTransparent);
	if (frames == null) {
		Log.e(TAG, "GIF decode failed! " + stream + " URL:" + url);
		return null;
	}

	if (frames.length == 1) {
		XulGIFDecoder.GIFStaticRender staticRenderer = XulGIFDecoder.createStaticRenderer(frames, noTransparent);
		return staticRenderer.extractDrawable(url, imageKey);
	} else {

		XulGIFAnimationDrawable drawable = new XulGIFAnimationDrawable();
		drawable._gifRender = XulGIFDecoder.createAnimationRenderer(frames, noLoop, noTransparent);
		drawable._url = url;
		drawable._key = imageKey;
		drawable._speed = speed;
		return drawable;
	}
}
 
源代码3 项目: talk-android   文件: UnionsActivity.java
@SuppressLint("SetJavaScriptEnabled")
private void initWebView() {
    webView.getSettings().setJavaScriptEnabled(true);
    webView.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            if (url.startsWith(ApiConfig.REDIRECT_URI)) {
                List<UrlQuerySanitizer.ParameterValuePair> pvpList = new UrlQuerySanitizer(url)
                        .getParameterList();
                for (UrlQuerySanitizer.ParameterValuePair pvp : pvpList) {
                    if ("code".equals(pvp.mParameter)) {
                        Intent data = new Intent();
                        data.putExtra(CODE, pvp.mValue);
                        setResult(RESULT_OK, data);
                        finish();
                        break;
                    }
                }
            } else {
                webView.loadUrl(url);
            }
            return true;
        }
    });

    webView.loadUrl(url);
}
 
源代码4 项目: clevertap-android-sdk   文件: UriHelper.java
static JSONObject getUrchinFromUri(Uri uri) {
    JSONObject referrer = new JSONObject();
    try {

        UrlQuerySanitizer sanitizer = new UrlQuerySanitizer();
        sanitizer.setAllowUnregisteredParamaters(true);
        sanitizer.parseUrl(uri.toString());

        // Don't care for null values - they won't be added anyway
        String source = getUtmOrWzrkValue("source", sanitizer);
        String medium = getUtmOrWzrkValue("medium", sanitizer);
        String campaign = getUtmOrWzrkValue("campaign", sanitizer);

        referrer.put("us", source);
        referrer.put("um", medium);
        referrer.put("uc", campaign);

        String wm = getWzrkValueForKey("medium", sanitizer);
        if (wm != null && wm.matches("^email$|^social$|^search$"))
            referrer.put("wm", wm);

        Logger.d("Referrer data: " + referrer.toString(4));
    } catch (Throwable ignore) {
        // Won't happen
    }
    return referrer;
}
 
源代码5 项目: clevertap-android-sdk   文件: UriHelper.java
private static String getUtmOrWzrkValue(String utmKey, UrlQuerySanitizer sanitizer) {
    // Give preference to utm_*, else, try to look for wzrk_*
    String value;
    if ((value = getUtmValueForKey(utmKey, sanitizer)) != null
            || (value = getWzrkValueForKey(utmKey, sanitizer)) != null)
        return value;
    else
        return null;
}
 
源代码6 项目: clevertap-android-sdk   文件: UriHelper.java
private static String getValueForKey(String key, UrlQuerySanitizer sanitizer, boolean truncate) {
    if (key == null || sanitizer == null) return null;
    try {
        String value = sanitizer.getValue(key);

        if (value == null) return null;
        if (truncate && value.length() > Constants.MAX_KEY_LENGTH)
            return value.substring(0, Constants.MAX_KEY_LENGTH);
        else
            return value;
    } catch (Throwable t) {
        Logger.v("Couldn't parse the URI", t);
        return null;
    }
}
 
源代码7 项目: AppAuth-Android   文件: UriUtilTest.java
@Before
public void setUp() {
    mSanitizer = new UrlQuerySanitizer();
    mSanitizer.setAllowUnregisteredParamaters(true);
    mSanitizer.setUnregisteredParameterValueSanitizer(UrlQuerySanitizer.getUrlAndSpaceLegal());
}
 
源代码8 项目: quill   文件: GhostAuth.java
@Nullable
public static String extractAuthCodeFromUrl(@NonNull String url) {
    return new UrlQuerySanitizer(url).getValue("code");
}
 
源代码9 项目: clevertap-android-sdk   文件: UriHelper.java
private static String getWzrkValueForKey(String key, UrlQuerySanitizer sanitizer) {
    key = "wzrk_" + key;
    return getValueForKey(key, sanitizer, true);
}
 
源代码10 项目: clevertap-android-sdk   文件: UriHelper.java
private static String getUtmValueForKey(String key, UrlQuerySanitizer sanitizer) {
    key = "utm_" + key;
    return getValueForKey(key, sanitizer, true);
}
 
 类所在包
 同包方法