Browse Source

Support 21 api

Max Katz 3 years ago
parent
commit
0e733c70a1

+ 5 - 1
src/Android/Avalonia.Android/AndroidThreadingInterface.cs

@@ -84,11 +84,15 @@ namespace Avalonia.Android
                 if (s_uiThread != null)
                     return s_uiThread == Thread.CurrentThread;
 
-                if (Looper.MainLooper.IsCurrentThread)
+                var isOnMainThread = OperatingSystem.IsAndroidVersionAtLeast(23)
+                    ? Looper.MainLooper.IsCurrentThread
+                    : Looper.MainLooper.Thread.Equals(Java.Lang.Thread.CurrentThread());
+                if (isOnMainThread)
                 {
                     s_uiThread = Thread.CurrentThread;
                     return true;
                 }
+
                 return false;
             }
         }

+ 1 - 1
src/Android/Avalonia.Android/Avalonia.Android.csproj

@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <TargetFramework>net6.0-android</TargetFramework>
-    <SupportedOSPlatformVersion>23</SupportedOSPlatformVersion>
+    <SupportedOSPlatformVersion>21</SupportedOSPlatformVersion>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <MSBuildEnableWorkloadResolver>true</MSBuildEnableWorkloadResolver>
     <DebugType>portable</DebugType>