diff --git a/AdvancedSharpAdbClient.Tests/Dummys/DummyAdbSocket.cs b/AdvancedSharpAdbClient.Tests/Dummys/DummyAdbSocket.cs
index 36c35db..2821b76 100644
--- a/AdvancedSharpAdbClient.Tests/Dummys/DummyAdbSocket.cs
+++ b/AdvancedSharpAdbClient.Tests/Dummys/DummyAdbSocket.cs
@@ -146,10 +146,14 @@ public void SetDevice(DeviceData device)
// to a specific device
if (device != null)
{
- if(!string.IsNullOrWhiteSpace(device.TransportId) && uint.TryParse(device.TransportId,out var tid))
+ if (uint.TryParse(device.TransportId, out uint tid))
+ {
SendAdbRequest($"host:transport-id:{tid}");
+ }
else
+ {
SendAdbRequest($"host:transport:{device.Serial}");
+ }
try
{
diff --git a/AdvancedSharpAdbClient/AdbSocket.Async.cs b/AdvancedSharpAdbClient/AdbSocket.Async.cs
index 6334e7f..367516e 100644
--- a/AdvancedSharpAdbClient/AdbSocket.Async.cs
+++ b/AdvancedSharpAdbClient/AdbSocket.Async.cs
@@ -262,10 +262,9 @@ public async Task SetDeviceAsync(DeviceData device, CancellationToken cancellati
// to a specific device
if (device != null)
{
- if(!string.IsNullOrWhiteSpace(device.TransportId) && uint.TryParse(device.TransportId,out var tid))
- await SendAdbRequestAsync($"host:transport-id:{tid}", cancellationToken).ConfigureAwait(false);
- else
- await SendAdbRequestAsync($"host:transport:{device.Serial}", cancellationToken).ConfigureAwait(false);
+ await (uint.TryParse(device.TransportId, out uint tid)
+ ? SendAdbRequestAsync($"host:transport-id:{tid}", cancellationToken).ConfigureAwait(false)
+ : SendAdbRequestAsync($"host:transport:{device.Serial}", cancellationToken).ConfigureAwait(false));
try
{
diff --git a/AdvancedSharpAdbClient/AdbSocket.cs b/AdvancedSharpAdbClient/AdbSocket.cs
index b3a16dd..2cd6368 100644
--- a/AdvancedSharpAdbClient/AdbSocket.cs
+++ b/AdvancedSharpAdbClient/AdbSocket.cs
@@ -401,10 +401,14 @@ public void SetDevice(DeviceData device)
// to a specific device
if (device != null)
{
- if(!string.IsNullOrWhiteSpace(device.TransportId) && uint.TryParse(device.TransportId,out var tid))
+ if (uint.TryParse(device.TransportId, out uint tid))
+ {
SendAdbRequest($"host:transport-id:{tid}");
+ }
else
+ {
SendAdbRequest($"host:transport:{device.Serial}");
+ }
try
{
diff --git a/AdvancedSharpAdbClient/Models/DeviceData.cs b/AdvancedSharpAdbClient/Models/DeviceData.cs
index 3f1779d..d05fa30 100644
--- a/AdvancedSharpAdbClient/Models/DeviceData.cs
+++ b/AdvancedSharpAdbClient/Models/DeviceData.cs
@@ -107,7 +107,7 @@ public DeviceData(string data) : this()
///
/// if does not have a valid serial number; otherwise, .
///
- public bool IsEmpty => string.IsNullOrEmpty(Serial);
+ public bool IsEmpty => !uint.TryParse(TransportId, out _) && string.IsNullOrEmpty(Serial);
///
/// Creates a new instance of the class based on
@@ -208,9 +208,9 @@ public override int GetHashCode()
///
public override string ToString()
{
- if (string.IsNullOrEmpty(Serial))
+ if (IsEmpty)
{
- return $"An empty {GetType()} without {nameof(Serial)}";
+ return $"An empty {GetType()} without {nameof(TransportId)} and {nameof(Serial)}";
}
StringBuilder builder =
@@ -283,7 +283,7 @@ public static ref DeviceData EnsureDevice(ref DeviceData device, [CallerArgument
{
if (device.IsEmpty)
{
- throw new ArgumentOutOfRangeException(nameof(device), "You must specific a serial number for the device");
+ throw new ArgumentOutOfRangeException(nameof(device), "You must specific a transport ID or serial number for the device");
}
return ref device;
}