boolean isSupported(@NonNull FlowVersion flowVersion) {
        if (flowVersion == FlowVersion.REDIRECT_TO_SDK) {
            Intent redirectIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(redirectUri));
            redirectIntent.setPackage(activity.getPackageName());
            List<ResolveInfo> resolveInfoList = activity.getPackageManager().queryIntentActivities(
                    redirectIntent, PackageManager.MATCH_DEFAULT_ONLY);
            if (resolveInfoList.isEmpty()) {
                return false;
            }
        }

        if (productFlowPriority.isEmpty()) {
            return appProtocol.isInstalled(activity, UBER, getSupportedAppVersion(UBER, flowVersion));
        } else {
            for (SupportedAppType supportedAppType : productFlowPriority) {
                if (appProtocol.isInstalled(
                        activity,
                        supportedAppType,
                        getSupportedAppVersion(supportedAppType, flowVersion))) {
                    return true;
                }
            }
            return false;
        }
    }
boolean isSupported(@NonNull FlowVersion flowVersion) {
        if (flowVersion == FlowVersion.REDIRECT_TO_SDK) {
            Intent redirectIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(redirectUri));
            redirectIntent.setPackage(activity.getPackageName());
            List<ResolveInfo> resolveInfoList = activity.getPackageManager().queryIntentActivities(
                    redirectIntent, PackageManager.MATCH_DEFAULT_ONLY);
            if (resolveInfoList.isEmpty()) {
                return false;
            }
        }

        if (productFlowPriority.isEmpty()) {
            return appProtocol.isInstalled(activity, UBER, getSupportedAppVersion(UBER, flowVersion));
        } else {
            for (SupportedAppType supportedAppType : productFlowPriority) {
                if (appProtocol.isInstalled(
                        activity,
                        supportedAppType,
                        getSupportedAppVersion(supportedAppType, flowVersion))) {
                    return true;
                }
            }
            return false;
        }
    }
boolean isSupported ( @ NonNull FlowVersion flowVersion ) { if ( flowVersion == FlowVersion . REDIRECT_TO_SDK ) { Intent redirectIntent = new Intent ( Intent . ACTION_VIEW , Uri . parse ( redirectUri ) ) ; redirectIntent . setPackage ( activity . getPackageName ( ) ) ; List < ResolveInfo > resolveInfoList = activity . getPackageManager ( ) . queryIntentActivities ( redirectIntent , PackageManager . MATCH_DEFAULT_ONLY ) ; if ( resolveInfoList . isEmpty ( ) ) { return false ; } } if ( productFlowPriority . isEmpty ( ) ) { return appProtocol . isInstalled ( activity , UBER , getSupportedAppVersion ( UBER , flowVersion ) ) ; } else { for ( SupportedAppType supportedAppType : productFlowPriority ) { if ( appProtocol . isInstalled ( activity , supportedAppType , getSupportedAppVersion ( supportedAppType , flowVersion ) ) ) { return true ; } } return false ; } }
Check if SSO deep linking is supported in this device.

@param flowVersion specifies which client implementation to validate
@return true if package name, minimum version, and redirect uri requirements for flowVersion are met
Check if SSO deep linking is supported in this device .