导航菜单

页面标题

页面副标题

FileWipe Pro v3.0.0 - UrlAction.java 源代码

正在查看: FileWipe Pro v3.0.0 应用的 UrlAction.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.tradplus.ads.common;

import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.text.TextUtils;
import com.tp.adx.sdk.event.InnerSendEventMessage;
import com.tradplus.ads.base.network.TrackingRequest;
import com.tradplus.ads.base.util.PrivacyDataInfo;
import com.tradplus.ads.common.UrlHandler;
import com.tradplus.ads.common.event.BaseEvent;
import com.tradplus.ads.common.util.Intents;
import com.tradplus.ads.common.util.LogUtil;
import com.tradplus.ads.exceptions.IntentNotResolvableException;
import com.tradplus.ads.exceptions.UrlParseException;
import com.tradplus.crosspro.manager.CPClickController;
import java.net.URISyntaxException;
import java.util.List;
import z.e;

public enum UrlAction {
    HANDLE_TP_SCHEME(0 == true ? 1 : 0) {
        @Override
        public void performAction(Context context, Uri uri, UrlHandler urlHandler, String str) {
            String host = uri.getHost();
            UrlHandler.TPSchemeListener tPSchemeListener = urlHandler.getTPSchemeListener();
            if ("finishLoad".equalsIgnoreCase(host)) {
                tPSchemeListener.onFinishLoad();
                return;
            }
            if (InnerSendEventMessage.MOD_CLOSE.equalsIgnoreCase(host)) {
                tPSchemeListener.onClose();
            } else if ("failLoad".equalsIgnoreCase(host)) {
                tPSchemeListener.onFailLoad();
            } else {
                throw new IntentNotResolvableException("Could not handle TradPlus Scheme url: " + uri);
            }
        }

        @Override
        public boolean shouldTryHandlingUrl(Uri uri) {
            return "tp".equalsIgnoreCase(uri.getScheme());
        }
    },
    IGNORE_ABOUT_SCHEME(0 == true ? 1 : 0) {
        @Override
        public void performAction(Context context, Uri uri, UrlHandler urlHandler, String str) {
            LogUtil.show("Link to about page ignored.");
        }

        @Override
        public boolean shouldTryHandlingUrl(Uri uri) {
            return "about".equalsIgnoreCase(uri.getScheme());
        }
    },
    HANDLE_PHONE_SCHEME(1 == true ? 1 : 0) {
        @Override
        public void performAction(Context context, Uri uri, UrlHandler urlHandler, String str) {
            Intents.launchActionViewIntent(context, uri, "Could not handle intent with URI: " + uri + "\n\tIs this intent supported on your phone?");
        }

        @Override
        public boolean shouldTryHandlingUrl(Uri uri) {
            String scheme = uri.getScheme();
            return "tel".equalsIgnoreCase(scheme) || "voicemail".equalsIgnoreCase(scheme) || "sms".equalsIgnoreCase(scheme) || "mailto".equalsIgnoreCase(scheme) || "geo".equalsIgnoreCase(scheme) || "google.streetview".equalsIgnoreCase(scheme);
        }
    },
    OPEN_NATIVE_BROWSER(1 == true ? 1 : 0) {
        @Override
        public void performAction(Context context, Uri uri, UrlHandler urlHandler, String str) {
            String str2 = "Unable to load tp native browser url: " + uri;
            try {
                Intents.launchIntentForUserClick(context, Intents.intentForNativeBrowserScheme(uri), str2);
            } catch (UrlParseException e) {
                StringBuilder c = e.c(str2, "\n\t");
                c.append(e.getMessage());
                throw new IntentNotResolvableException(c.toString());
            }
        }

        @Override
        public boolean shouldTryHandlingUrl(Uri uri) {
            return "tpnativebrowser".equalsIgnoreCase(uri.getScheme());
        }
    },
    OPEN_APP_MARKET(1 == true ? 1 : 0) {
        @Override
        public void performAction(Context context, Uri uri, UrlHandler urlHandler, String str) {
            Intents.launchApplicationUrl(context, uri);
        }

        @Override
        public boolean shouldTryHandlingUrl(Uri uri) {
            String scheme = uri.getScheme();
            String host = uri.getHost();
            return CPClickController.HOST_GOOGLE_PLAY.equalsIgnoreCase(host) || CPClickController.HOST_ANDROID_MARKET.equalsIgnoreCase(host) || CPClickController.SCHEME_MARKET.equalsIgnoreCase(scheme) || uri.toString().toLowerCase().startsWith("play.google.com/") || uri.toString().toLowerCase().startsWith("market.android.com/");
        }
    },
    OPEN_IN_APP_BROWSER(1 == true ? 1 : 0) {
        @Override
        public void performAction(Context context, Uri uri, UrlHandler urlHandler, String str) {
            if (urlHandler.shouldskipShowTpBrowser()) {
                return;
            }
            Intents.showTPBrowserForUrl(context, uri, str);
        }

        @Override
        public boolean shouldTryHandlingUrl(Uri uri) {
            String scheme = uri.getScheme();
            return "http".equalsIgnoreCase(scheme) || "https".equalsIgnoreCase(scheme);
        }
    },
    HANDLE_SHARE_TWEET(1 == true ? 1 : 0) {
        @Override
        public void performAction(Context context, Uri uri, UrlHandler urlHandler, String str) {
            Preconditions.checkNotNull(context);
            Preconditions.checkNotNull(uri);
            String str2 = "Could not handle share tweet intent with URI " + uri;
            try {
                Intents.launchIntentForUserClick(context, Intent.createChooser(Intents.intentForShareTweet(uri), "Share via"), str2);
            } catch (UrlParseException e) {
                StringBuilder c = e.c(str2, "\n\t");
                c.append(e.getMessage());
                throw new IntentNotResolvableException(c.toString());
            }
        }

        @Override
        public boolean shouldTryHandlingUrl(Uri uri) {
            Preconditions.checkNotNull(uri);
            return "tpshare".equalsIgnoreCase(uri.getScheme()) && "tweet".equalsIgnoreCase(uri.getHost());
        }
    },
    FOLLOW_DEEP_LINK_WITH_FALLBACK(1 == true ? 1 : 0) {
        @Override
        public void performAction(Context context, Uri uri, UrlHandler urlHandler, String str) {
            if (!"navigate".equalsIgnoreCase(uri.getHost())) {
                throw new IntentNotResolvableException("Deeplink+ URL did not have 'navigate' as the host.");
            }
            try {
                String queryParameter = uri.getQueryParameter("primaryUrl");
                List<String> queryParameters = uri.getQueryParameters("primaryTrackingUrl");
                String queryParameter2 = uri.getQueryParameter("fallbackUrl");
                List<String> queryParameters2 = uri.getQueryParameters("fallbackTrackingUrl");
                if (queryParameter == null) {
                    throw new IntentNotResolvableException("Deeplink+ did not have 'primaryUrl' query param.");
                }
                Uri parse = Uri.parse(queryParameter);
                if (shouldTryHandlingUrl(parse)) {
                    throw new IntentNotResolvableException("Deeplink+ had another Deeplink+ as the 'primaryUrl'.");
                }
                try {
                    Intents.launchApplicationUrl(context, parse);
                    TrackingRequest.makeTrackingHttpRequest(queryParameters, context, BaseEvent.Name.CLICK_REQUEST);
                } catch (IntentNotResolvableException unused) {
                    if (queryParameter2 == null) {
                        throw new IntentNotResolvableException("Unable to handle 'primaryUrl' for Deeplink+ and 'fallbackUrl' was missing.");
                    }
                    if (shouldTryHandlingUrl(Uri.parse(queryParameter2))) {
                        throw new IntentNotResolvableException("Deeplink+ URL had another Deeplink+ URL as the 'fallbackUrl'.");
                    }
                    urlHandler.handleUrl(context, queryParameter2, true, queryParameters2);
                }
            } catch (UnsupportedOperationException unused2) {
                throw new IntentNotResolvableException("Deeplink+ URL was not a hierarchical URI.");
            }
        }

        @Override
        public boolean shouldTryHandlingUrl(Uri uri) {
            return "deeplink+".equalsIgnoreCase(uri.getScheme());
        }
    },
    FOLLOW_DEEP_LINK(1 == true ? 1 : 0) {
        @Override
        public void performAction(Context context, Uri uri, UrlHandler urlHandler, String str) {
            if (!"intent".equalsIgnoreCase(uri.getScheme())) {
                Intents.launchApplicationUrl(context, uri);
                return;
            }
            try {
                Intent parseUri = Intent.parseUri(uri.toString(), 1);
                parseUri.addCategory("android.intent.category.BROWSABLE");
                parseUri.setComponent(null);
                if (PrivacyDataInfo.getInstance().getOSVersion() >= 15) {
                    parseUri.setSelector(null);
                }
                Intents.launchApplicationIntent(context, parseUri);
            } catch (URISyntaxException unused) {
                throw new IntentNotResolvableException("Intent uri had invalid syntax: " + uri.toString());
            }
        }

        @Override
        public boolean shouldTryHandlingUrl(Uri uri) {
            return !TextUtils.isEmpty(uri.getScheme());
        }
    },
    NOOP(0 == true ? 1 : 0) {
        @Override
        public void performAction(Context context, Uri uri, UrlHandler urlHandler, String str) {
        }

        @Override
        public boolean shouldTryHandlingUrl(Uri uri) {
            return false;
        }
    };

    private final boolean mRequiresUserInteraction;

    UrlAction(boolean z) {
        this.mRequiresUserInteraction = z;
    }

    public void handleUrl(UrlHandler urlHandler, Context context, Uri uri, boolean z, String str) {
        LogUtil.show("Ad event URL: " + uri);
        if (this.mRequiresUserInteraction && !z) {
            throw new IntentNotResolvableException("Attempted to handle action without user interaction.");
        }
        performAction(context, uri, urlHandler, str);
    }

    public abstract void performAction(Context context, Uri uri, UrlHandler urlHandler, String str);

    public abstract boolean shouldTryHandlingUrl(Uri uri);
}