Skip to content

Commit f1658c5

Browse files
PlatformUtils.OpenUrl fix for Android (#286)
1 parent 5a5641e commit f1658c5

File tree

6 files changed

+24
-19
lines changed

6 files changed

+24
-19
lines changed

‎Pixed.Android/PlatformSettings.cs‎

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
1-
using Android.Content.PM;
1+
using Android.Content;
2+
using Android.Content.PM;
23
using Android.Content.Res;
4+
using Android.Net;
35
using Android.OS;
46
using Avalonia.Controls.ApplicationLifetimes;
57
using Pixed.Application.Platform;
8+
using Uri = Android.Net.Uri;
69
namespace Pixed.Android;
710
internal class PlatformSettings : IPlatformSettings
811
{
@@ -23,6 +26,13 @@ public string GetVersion()
2326
return info.VersionName;
2427
}
2528

29+
public void OpenUrl(string url)
30+
{
31+
Intent intent = new(Intent.ActionView, Uri.Parse(url));
32+
33+
MainActivity.StartActivity(intent);
34+
}
35+
2636
public void ProcessMinimumScreenSize(int minScreenSize)
2737
{
2838
var system = Resources.System;

‎Pixed.Application/Menu/MenuBuilder.cs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public async Task Build(bool clear = true)
5959

6060
MenuItem onlineHelpMenu = new("Online help")
6161
{
62-
Command = new ActionCommand<string>(PlatformUtils.OpenUrl),
62+
Command = new ActionCommand<string>(IPlatformSettings.Instance.OpenUrl),
6363
CommandParameter = "https://github.com/Mateusz-Nejman/Pixed/wiki",
6464
Icon = new("avares://Pixed.Application/Resources/fluent-icons/ic_fluent_globe_48_regular.svg")
6565
};

‎Pixed.Application/Platform/DefaultPlatformSettings.cs‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,16 @@ public string GetVersion()
2525
return versionInfo.FileVersion;
2626
}
2727

28+
public void OpenUrl(string url)
29+
{
30+
var psi = new ProcessStartInfo
31+
{
32+
FileName = url,
33+
UseShellExecute = true
34+
};
35+
Process.Start(psi);
36+
}
37+
2838
public void ProcessMinimumScreenSize(int minScreenSize)
2939
{
3040
//Not used

‎Pixed.Application/Platform/IPlatformSettings.cs‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,5 @@ public interface IPlatformSettings
1111
public void Close();
1212
public string GetVersion();
1313
public void ProcessMinimumScreenSize(int minScreenSize);
14+
public void OpenUrl(string url);
1415
}

‎Pixed.Application/Utils/PlatformUtils.cs‎

Lines changed: 0 additions & 15 deletions
This file was deleted.

‎Pixed.Application/ViewModels/AboutViewModel.cs‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using Pixed.Application.Controls;
22
using Pixed.Application.Platform;
3-
using Pixed.Application.Utils;
43
using Pixed.Core;
54
using System.Windows.Input;
65

@@ -11,7 +10,7 @@ internal class AboutViewModel : ExtendedViewModel
1110
public string AppVersion { get; }
1211
public AboutViewModel()
1312
{
14-
OpenUrlCommand = new ActionCommand<string>(PlatformUtils.OpenUrl);
13+
OpenUrlCommand = new ActionCommand<string>(IPlatformSettings.Instance.OpenUrl);
1514
AppVersion = "Version: " + GetVersion();
1615
}
1716

0 commit comments

Comments
 (0)