コード例 #1
0
        public static ApkAvailabilityStatus ToApkAvailabilityStatus(this ApiAvailability apiStatus)
        {
            switch (apiStatus)
            {
            case ApiAvailability.UnknownError:
                return(ApkAvailabilityStatus.UnknownError);

            case ApiAvailability.UnknownChecking:
                return(ApkAvailabilityStatus.UnknownChecking);

            case ApiAvailability.UnknownTimedOut:
                return(ApkAvailabilityStatus.UnknownTimedOut);

            case ApiAvailability.UnsupportedDeviceNotCapable:
                return(ApkAvailabilityStatus.UnsupportedDeviceNotCapable);

            case ApiAvailability.SupportedNotInstalled:
                return(ApkAvailabilityStatus.SupportedNotInstalled);

            case ApiAvailability.SupportedApkTooOld:
                return(ApkAvailabilityStatus.SupportedApkTooOld);

            case ApiAvailability.SupportedInstalled:
                return(ApkAvailabilityStatus.SupportedInstalled);

            default:
                UnityEngine.Debug.LogErrorFormat("Unexpected ApiAvailability status {0}", apiStatus);
                return(ApkAvailabilityStatus.UnknownError);
            }
        }
コード例 #2
0
    private static string SelectFramework(ApiAvailability availability, string selectedFramework)
    {
        // Let's first reset the selected framework in case the current API doesn't support it

        if (!availability.Frameworks.Any(fx => string.Equals(fx.Framework.GetShortFolderName(), selectedFramework, StringComparison.OrdinalIgnoreCase)))
        {
            selectedFramework = null;
        }

        // First we try to pick the highest .NET Core framework

        selectedFramework ??= availability.Frameworks.Where(fx => fx.Framework.Framework == ".NETCoreApp")
        .OrderByDescending(fx => fx.Framework.Version)
        .ThenBy(fx => fx.Framework.HasPlatform)
        .Select(fx => fx.Framework.GetShortFolderName())
        .FirstOrDefault();

        // If we couldn't find any, pick the highest version of any framework

        selectedFramework ??= availability.Frameworks.OrderBy(f => f.Framework.Framework)
        .ThenByDescending(f => f.Framework.Version)
        .Select(fx => fx.Framework.GetShortFolderName())
        .FirstOrDefault();

        return(selectedFramework);
    }
コード例 #3
0
 private static void _OnCheckApkAvailabilityResultTrampoline(
     ApiAvailability status, IntPtr context)
 {
     Instance._OnCheckApkAvailabilityResult(status.ToApkAvailabilityStatus());
 }