g.java 源代码


package com.inmobi.media;

import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.net.Uri;
import android.text.TextUtils;
import android.util.Log;
import androidx.annotation.Nullable;
import androidx.browser.customtabs.CustomTabsService;
import java.util.ArrayList;
import java.util.List;

public final class g {

    private static final String f15553a = "g";

    private static String f15554b;

    private g() {
    }

    public static String a(@Nullable Context context) {
        if (context != null && f15554b == null) {
            try {
                PackageManager packageManager = context.getPackageManager();
                Intent intent = new Intent("android.intent.action.VIEW", Uri.parse("http://www.google.com"));
                ResolveInfo resolveActivity = packageManager.resolveActivity(intent, 0);
                String str = resolveActivity != null ? resolveActivity.activityInfo.packageName : null;
                List<ResolveInfo> queryIntentActivities = packageManager.queryIntentActivities(intent, 0);
                ArrayList arrayList = new ArrayList();
                for (ResolveInfo resolveInfo : queryIntentActivities) {
                    Intent intent2 = new Intent();
                    intent2.setAction(CustomTabsService.ACTION_CUSTOM_TABS_CONNECTION);
                    intent2.setPackage(resolveInfo.activityInfo.packageName);
                    if (packageManager.resolveService(intent2, 0) != null) {
                        arrayList.add(resolveInfo.activityInfo.packageName);
                    }
                }
                if (arrayList.isEmpty()) {
                    f15554b = null;
                } else if (arrayList.size() == 1) {
                    f15554b = (String) arrayList.get(0);
                } else if (!TextUtils.isEmpty(str) && !a(context, intent) && arrayList.contains(str)) {
                    f15554b = str;
                } else if (arrayList.contains("com.android.chrome")) {
                    f15554b = "com.android.chrome";
                } else if (arrayList.contains("com.chrome.beta")) {
                    f15554b = "com.chrome.beta";
                } else if (arrayList.contains("com.chrome.dev")) {
                    f15554b = "com.chrome.dev";
                } else if (arrayList.contains("com.google.android.apps.chrome")) {
                    f15554b = "com.google.android.apps.chrome";
                }
            } catch (Exception unused) {
            }
            return f15554b;
        }
        return f15554b;
    }

    private static boolean a(Context context, Intent intent) {
        List<ResolveInfo> queryIntentActivities;
        try {
            queryIntentActivities = context.getPackageManager().queryIntentActivities(intent, 64);
        } catch (RuntimeException unused) {
            Log.e(f15553a, "Runtime exception while getting specialized handlers");
        }
        if (queryIntentActivities != null && queryIntentActivities.size() != 0) {
            for (ResolveInfo resolveInfo : queryIntentActivities) {
                IntentFilter intentFilter = resolveInfo.filter;
                if (intentFilter != null && intentFilter.countDataAuthorities() != 0 && intentFilter.countDataPaths() != 0 && resolveInfo.activityInfo != null) {
                    return true;
                }
            }
            return false;
        }
        return false;
    }
}