aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Ui.Common/App/ApplicationLibrary.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Ui.Common/App/ApplicationLibrary.cs')
-rw-r--r--src/Ryujinx.Ui.Common/App/ApplicationLibrary.cs63
1 files changed, 18 insertions, 45 deletions
diff --git a/src/Ryujinx.Ui.Common/App/ApplicationLibrary.cs b/src/Ryujinx.Ui.Common/App/ApplicationLibrary.cs
index 2f688126..46f29851 100644
--- a/src/Ryujinx.Ui.Common/App/ApplicationLibrary.cs
+++ b/src/Ryujinx.Ui.Common/App/ApplicationLibrary.cs
@@ -155,7 +155,7 @@ namespace Ryujinx.Ui.App.Common
return;
}
- double fileSize = new FileInfo(applicationPath).Length * 0.000000000931;
+ long fileSize = new FileInfo(applicationPath).Length;
string titleName = "Unknown";
string titleId = "0000000000000000";
string developer = "Unknown";
@@ -425,25 +425,25 @@ namespace Ryujinx.Ui.App.Common
{
appMetadata.Title = titleName;
- if (appMetadata.LastPlayedOld == default || appMetadata.LastPlayed.HasValue)
+ // Only do the migration if time_played has a value and timespan_played hasn't been updated yet.
+ if (appMetadata.TimePlayedOld != default && appMetadata.TimePlayed == TimeSpan.Zero)
{
- // Don't do the migration if last_played doesn't exist or last_played_utc already has a value.
- return;
+ appMetadata.TimePlayed = TimeSpan.FromSeconds(appMetadata.TimePlayedOld);
+ appMetadata.TimePlayedOld = default;
}
- // Migrate from string-based last_played to DateTime-based last_played_utc.
- if (DateTime.TryParse(appMetadata.LastPlayedOld, out DateTime lastPlayedOldParsed))
+ // Only do the migration if last_played has a value and last_played_utc doesn't exist yet.
+ if (appMetadata.LastPlayedOld != default && !appMetadata.LastPlayed.HasValue)
{
- Logger.Info?.Print(LogClass.Application, $"last_played found: \"{appMetadata.LastPlayedOld}\", migrating to last_played_utc");
- appMetadata.LastPlayed = lastPlayedOldParsed;
+ // Migrate from string-based last_played to DateTime-based last_played_utc.
+ if (DateTime.TryParse(appMetadata.LastPlayedOld, out DateTime lastPlayedOldParsed))
+ {
+ appMetadata.LastPlayed = lastPlayedOldParsed;
+
+ // Migration successful: deleting last_played from the metadata file.
+ appMetadata.LastPlayedOld = default;
+ }
- // Migration successful: deleting last_played from the metadata file.
- appMetadata.LastPlayedOld = default;
- }
- else
- {
- // Migration failed: emitting warning but leaving the unparsable value in the metadata file so the user can fix it.
- Logger.Warning?.Print(LogClass.Application, $"Last played string \"{appMetadata.LastPlayedOld}\" is invalid for current system culture, skipping (did current culture change?)");
}
});
@@ -455,12 +455,10 @@ namespace Ryujinx.Ui.App.Common
TitleId = titleId,
Developer = developer,
Version = version,
- TimePlayed = ConvertSecondsToFormattedString(appMetadata.TimePlayed),
- TimePlayedNum = appMetadata.TimePlayed,
+ TimePlayed = appMetadata.TimePlayed,
LastPlayed = appMetadata.LastPlayed,
- FileExtension = Path.GetExtension(applicationPath).ToUpper().Remove(0, 1),
- FileSize = (fileSize < 1) ? (fileSize * 1024).ToString("0.##") + " MiB" : fileSize.ToString("0.##") + " GiB",
- FileSizeBytes = fileSize,
+ FileExtension = Path.GetExtension(applicationPath).TrimStart('.').ToUpper(),
+ FileSize = fileSize,
Path = applicationPath,
ControlHolder = controlHolder,
};
@@ -716,31 +714,6 @@ namespace Ryujinx.Ui.App.Common
return applicationIcon ?? _ncaIcon;
}
- private static string ConvertSecondsToFormattedString(double seconds)
- {
- TimeSpan time = TimeSpan.FromSeconds(seconds);
-
- string timeString;
- if (time.Days != 0)
- {
- timeString = $"{time.Days}d {time.Hours:D2}h {time.Minutes:D2}m";
- }
- else if (time.Hours != 0)
- {
- timeString = $"{time.Hours:D2}h {time.Minutes:D2}m";
- }
- else if (time.Minutes != 0)
- {
- timeString = $"{time.Minutes:D2}m";
- }
- else
- {
- timeString = "Never";
- }
-
- return timeString;
- }
-
private void GetGameInformation(ref ApplicationControlProperty controlData, out string titleName, out string titleId, out string publisher, out string version)
{
_ = Enum.TryParse(_desiredTitleLanguage.ToString(), out TitleLanguage desiredTitleLanguage);