Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 28 additions & 22 deletions src/MauiDevFlow.Agent.Core/DevFlowAgentService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -903,7 +903,7 @@
var scale = (float)targetWidth.Value / original.Width;
var newHeight = (int)(original.Height * scale);

using var resized = original.Resize(new SkiaSharp.SKImageInfo(targetWidth.Value, newHeight), SkiaSharp.SKFilterQuality.Medium);

Check warning on line 906 in src/MauiDevFlow.Agent.Core/DevFlowAgentService.cs

View workflow job for this annotation

GitHub Actions / build-and-test (macos-latest)

'SKBitmap.Resize(SKImageInfo, SKFilterQuality)' is obsolete: 'Use Resize(SKImageInfo info, SKSamplingOptions sampling) instead.'

Check warning on line 906 in src/MauiDevFlow.Agent.Core/DevFlowAgentService.cs

View workflow job for this annotation

GitHub Actions / build-and-test (macos-latest)

'SKFilterQuality' is obsolete: 'Use SKSamplingOptions instead.'

Check warning on line 906 in src/MauiDevFlow.Agent.Core/DevFlowAgentService.cs

View workflow job for this annotation

GitHub Actions / build-and-test (windows-latest)

'SKBitmap.Resize(SKImageInfo, SKFilterQuality)' is obsolete: 'Use Resize(SKImageInfo info, SKSamplingOptions sampling) instead.'

Check warning on line 906 in src/MauiDevFlow.Agent.Core/DevFlowAgentService.cs

View workflow job for this annotation

GitHub Actions / build-and-test (windows-latest)

'SKFilterQuality' is obsolete: 'Use SKSamplingOptions instead.'
if (resized == null) return pngData;

using var image = SkiaSharp.SKImage.FromBitmap(resized);
Expand Down Expand Up @@ -3638,24 +3638,27 @@

// ── Platform info endpoints ──

private Task<HttpResponse> HandlePlatformAppInfo(HttpRequest request)
private async Task<HttpResponse> HandlePlatformAppInfo(HttpRequest request)
{
try
{
var info = AppInfo.Current;
return Task.FromResult(HttpResponse.Json(new
return await MainThread.InvokeOnMainThreadAsync(() =>
{
name = info.Name,
packageName = info.PackageName,
version = info.VersionString,
buildNumber = info.BuildString,
requestedTheme = info.RequestedTheme.ToString(),
requestedLayoutDirection = info.RequestedLayoutDirection.ToString(),
}));
var info = AppInfo.Current;
return HttpResponse.Json(new
{
name = info.Name,
packageName = info.PackageName,
version = info.VersionString,
buildNumber = info.BuildString,
requestedTheme = info.RequestedTheme.ToString(),
requestedLayoutDirection = info.RequestedLayoutDirection.ToString(),
});
});
}
catch (Exception ex)
{
return Task.FromResult(HttpResponse.Error($"Failed to get app info: {ex.Message}"));
return HttpResponse.Error($"Failed to get app info: {ex.Message}");
}
}

Expand All @@ -3681,24 +3684,27 @@
}
}

private Task<HttpResponse> HandlePlatformDeviceDisplay(HttpRequest request)
private async Task<HttpResponse> HandlePlatformDeviceDisplay(HttpRequest request)
{
try
{
var display = DeviceDisplay.MainDisplayInfo;
return Task.FromResult(HttpResponse.Json(new
return await MainThread.InvokeOnMainThreadAsync(() =>
{
width = display.Width,
height = display.Height,
density = display.Density,
orientation = display.Orientation.ToString(),
rotation = display.Rotation.ToString(),
refreshRate = display.RefreshRate,
}));
var display = DeviceDisplay.MainDisplayInfo;
return HttpResponse.Json(new
{
width = display.Width,
height = display.Height,
density = display.Density,
orientation = display.Orientation.ToString(),
rotation = display.Rotation.ToString(),
refreshRate = display.RefreshRate,
});
});
}
catch (Exception ex)
{
return Task.FromResult(HttpResponse.Error($"Failed to get display info: {ex.Message}"));
return HttpResponse.Error($"Failed to get display info: {ex.Message}");
}
}

Expand Down
Loading