diff --git a/src/Files.App/ViewModels/Properties/BaseProperties.cs b/src/Files.App/ViewModels/Properties/BaseProperties.cs index cef462bdb6d4..b9293d7ca61d 100644 --- a/src/Files.App/ViewModels/Properties/BaseProperties.cs +++ b/src/Files.App/ViewModels/Properties/BaseProperties.cs @@ -33,8 +33,10 @@ public abstract class BaseProperties public async void GetOtherProperties(IStorageItemExtraProperties properties) { string dateAccessedProperty = "System.DateAccessed"; - List propertiesName = new List(); - propertiesName.Add(dateAccessedProperty); + List propertiesName = new() + { + dateAccessedProperty + }; IDictionary extraProperties = await properties.RetrievePropertiesAsync(propertiesName); // Cannot get date and owner in MTP devices diff --git a/src/Files.App/ViewModels/Properties/FileProperties.cs b/src/Files.App/ViewModels/Properties/FileProperties.cs index 22959e8a749a..d9ba69c0a084 100644 --- a/src/Files.App/ViewModels/Properties/FileProperties.cs +++ b/src/Files.App/ViewModels/Properties/FileProperties.cs @@ -158,6 +158,15 @@ public async void GetSystemFileProperties() list.Find(x => x.ID == "address").Value = await GetAddressFromCoordinatesAsync((double?)list.Find(x => x.Property == "System.GPS.LatitudeDecimal").Value, (double?)list.Find(x => x.Property == "System.GPS.LongitudeDecimal").Value); + // Find Encoding Bitrate property and convert it to kbps + var encodingBitrate = list.Find(x => x.Property == "System.Audio.EncodingBitrate"); + if (encodingBitrate is not null) + { + var sizes = new string[] { "Bps", "KBps", "MBps", "GBps" }; + var order = (int)Math.Floor(Math.Log((uint)encodingBitrate.Value, 1024)); + var readableSpeed = (uint)encodingBitrate.Value / Math.Pow(1024, order); + encodingBitrate.Value = $"{readableSpeed:0.##} {sizes[order]}"; + } var query = list .Where(fileProp => !(fileProp.Value is null && fileProp.IsReadOnly)) @@ -326,4 +335,4 @@ private async void ViewModel_PropertyChanged(object sender, System.ComponentMode } } -} \ No newline at end of file +}