app/src/main/java/me/zhanghai/android/douya/link/UrlHandler.java

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

/*
 * Copyright (c) 2016 Zhang Hai <Dreaming.in.Code.ZH@Gmail.com>
 * All Rights Reserved.
 */

package me.zhanghai.android.douya.link;

import android.app.Activity;
import android.content.Context;
import android.net.Uri;
import android.text.TextUtils;

import org.chromium.customtabsclient.CustomTabsActivityHelper;

import me.zhanghai.android.douya.settings.info.Settings;
import me.zhanghai.android.douya.util.AppUtils;
import me.zhanghai.android.douya.util.UrlUtils;

public class UrlHandler {

    private static final CustomTabsActivityHelper.CustomTabsFallback sFallback =
            new CustomTabsActivityHelper.CustomTabsFallback() {
                @Override
                public void openUri(Activity activity, Uri uri) {
                    open(uri, activity, false);
                }
            };

    private UrlHandler() {}

    private static void open(Uri uri, Context context, boolean enableCustomTabs) {

        String scheme = uri.getScheme();
        if (!TextUtils.isEmpty(scheme)) {
            switch (uri.getScheme()) {
                case "http":
                case "https":
                case "ftp":
                    break;
                default:
                    UrlUtils.openWithIntent(uri, context);
                    return;
            }
        }

        switch (Settings.OPEN_URL_WITH_METHOD.getEnumValue()) {
            case CUSTOM_TABS:
                if (enableCustomTabs) {
                    Activity activity = AppUtils.getActivityFromContext(context);
                    if (activity != null) {
                        UrlUtils.openWithCustomTabs(uri, sFallback, activity);
                    }
                    break;
                }
                // Fall through!
            case WEBVIEW:
                UrlUtils.openWithWebViewActivity(uri, context);
                break;
            case INTENT:
                UrlUtils.openWithIntent(uri, context);
后面还有 12 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。