Skip to content

Commit

Permalink
Merge pull request #41 from keiji/fix_exposure_information_attenuatio…
Browse files Browse the repository at this point in the history
…n_duration_unmatch

Fix mismatched that ExposureInformation.AttenuationDuration unit
  • Loading branch information
keiji authored Jun 10, 2021
2 parents 8ab249d + 6d87383 commit 2334093
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 4 deletions.
6 changes: 5 additions & 1 deletion Chino.Android/ExposureInformation.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System;
using System.Linq;
using Newtonsoft.Json;
using AndroidExposureInformation = Android.Gms.Nearby.ExposureNotification.ExposureInformation;

Expand All @@ -16,7 +17,7 @@ public ExposureInformation(AndroidExposureInformation source)
Source = source;
}

public int[] AttenuationDurationsInMinutes => Source.GetAttenuationDurationsInMinutes();
public int[] AttenuationDurationsInMillis => ConvertToMillis(Source.GetAttenuationDurationsInMinutes());

public int AttenuationValue => Source.AttenuationValue;

Expand All @@ -27,5 +28,8 @@ public ExposureInformation(AndroidExposureInformation source)
public int TotalRiskScore => Source.TotalRiskScore;

public RiskLevel TransmissionRiskLevel => (RiskLevel)Enum.ToObject(typeof(RiskLevel), Source.TransmissionRiskLevel);

private static int[] ConvertToMillis(int[] attenuationDurationsInMinutes)
=> attenuationDurationsInMinutes.Select(d => d * 60 * 1000).ToArray();
}
}
4 changes: 2 additions & 2 deletions Chino.Common/IExposureInformation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@
public interface IExposureInformation
{
/// <summary>
/// Array of durations in minutes at certain radio signal attenuations.
/// Array of durations in milliseconds at certain radio signal attenuations.
/// </summary>
public int[] AttenuationDurationsInMinutes { get; }
public int[] AttenuationDurationsInMillis { get; }

/// <summary>
/// The time-weighted signal strength attenuation value which goes into getTotalRiskScore().
Expand Down
6 changes: 5 additions & 1 deletion Chino.iOS/ExposureInformation.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System;
using System.Linq;
using ExposureNotifications;
using Newtonsoft.Json;

Expand All @@ -15,7 +16,7 @@ public ExposureInformation(ENExposureInfo source)
Source = source;
}

public int[] AttenuationDurationsInMinutes => Source.AttenuationDurations;
public int[] AttenuationDurationsInMillis => ConvertToMillis(Source.AttenuationDurations);

public int AttenuationValue => Source.AttenuationValue;

Expand All @@ -26,5 +27,8 @@ public ExposureInformation(ENExposureInfo source)
public int TotalRiskScore => Source.TotalRiskScore;

public RiskLevel TransmissionRiskLevel => (RiskLevel)Enum.ToObject(typeof(RiskLevel), Source.TransmissionRiskLevel);

private static int[] ConvertToMillis(int[] attenuationDurations)
=> attenuationDurations.Select(d => d * 1000).ToArray();
}
}

0 comments on commit 2334093

Please sign in to comment.