This repository has been archived by the owner on May 15, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 505
/
Connectivity.tizen.cs
executable file
·81 lines (71 loc) · 2.44 KB
/
Connectivity.tizen.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
using System.Collections.Generic;
using Tizen.Network.Connection;
namespace Xamarin.Essentials
{
public static partial class Connectivity
{
static IList<ConnectionProfile> profiles = new List<ConnectionProfile>();
internal static void OnChanged(object sender, object e)
{
GetProfileListAsync();
}
internal static async void GetProfileListAsync()
{
var list = await ConnectionProfileManager.GetProfileListAsync(ProfileListType.Connected);
profiles.Clear();
foreach (var result in list)
{
switch (result.Type)
{
case ConnectionProfileType.Bt:
profiles.Add(ConnectionProfile.Bluetooth);
break;
case ConnectionProfileType.Cellular:
profiles.Add(ConnectionProfile.Cellular);
break;
case ConnectionProfileType.Ethernet:
profiles.Add(ConnectionProfile.Ethernet);
break;
case ConnectionProfileType.WiFi:
profiles.Add(ConnectionProfile.WiFi);
break;
}
}
OnConnectivityChanged();
}
static NetworkAccess PlatformNetworkAccess
{
get
{
Permissions.EnsureDeclared<Permissions.NetworkState>();
var currentAccess = ConnectionManager.CurrentConnection;
switch (currentAccess.Type)
{
case ConnectionType.WiFi:
case ConnectionType.Cellular:
case ConnectionType.Ethernet:
return NetworkAccess.Internet;
default:
return NetworkAccess.None;
}
}
}
static IEnumerable<ConnectionProfile> PlatformConnectionProfiles
{
get
{
return profiles;
}
}
static void StartListeners()
{
Permissions.EnsureDeclared<Permissions.NetworkState>();
ConnectionManager.ConnectionTypeChanged += OnChanged;
GetProfileListAsync();
}
static void StopListeners()
{
ConnectionManager.ConnectionTypeChanged -= OnChanged;
}
}
}