From 47adfd12868c155fb0de621f9b16f72b6b336c93 Mon Sep 17 00:00:00 2001
From: Jack251970 <1160210343@qq.com>
Date: Mon, 24 Feb 2025 15:15:02 +0800
Subject: [PATCH] Improve code quality
---
.../Storage/BinaryStorage.cs | 23 +++++++------------
.../UserSettings/DataLocation.cs | 1 +
2 files changed, 9 insertions(+), 15 deletions(-)
diff --git a/Flow.Launcher.Infrastructure/Storage/BinaryStorage.cs b/Flow.Launcher.Infrastructure/Storage/BinaryStorage.cs
index 48c5fc141..5b73faae6 100644
--- a/Flow.Launcher.Infrastructure/Storage/BinaryStorage.cs
+++ b/Flow.Launcher.Infrastructure/Storage/BinaryStorage.cs
@@ -1,9 +1,4 @@
-using System;
-using System.IO;
-using System.Reflection;
-using System.Runtime.Serialization;
-using System.Runtime.Serialization.Formatters;
-using System.Runtime.Serialization.Formatters.Binary;
+using System.IO;
using System.Threading.Tasks;
using Flow.Launcher.Infrastructure.Logger;
using Flow.Launcher.Infrastructure.UserSettings;
@@ -16,18 +11,16 @@ namespace Flow.Launcher.Infrastructure.Storage
/// Normally, it has better performance, but not readable
///
///
- /// It utilize MemoryPack, which means the object must be MemoryPackSerializable
- /// https://github.com/Cysharp/MemoryPack
+ /// It utilize MemoryPack, which means the object must be MemoryPackSerializable
///
public class BinaryStorage
{
- const string DirectoryName = Constant.Cache;
+ public const string FileSuffix = ".cache";
- const string FileSuffix = ".cache";
-
- public BinaryStorage(string filename)
+ // Let the derived class to set the file path
+ public BinaryStorage(string filename, string directoryPath = null)
{
- var directoryPath = Path.Combine(DataLocation.DataDirectory(), DirectoryName);
+ directoryPath ??= DataLocation.CacheDirectory;
Helper.ValidateDirectory(directoryPath);
FilePath = Path.Combine(directoryPath, $"{filename}{FileSuffix}");
@@ -58,14 +51,14 @@ namespace Flow.Launcher.Infrastructure.Storage
}
}
- private async ValueTask DeserializeAsync(Stream stream, T defaultData)
+ private static async ValueTask DeserializeAsync(Stream stream, T defaultData)
{
try
{
var t = await MemoryPackSerializer.DeserializeAsync(stream);
return t;
}
- catch (System.Exception e)
+ catch (System.Exception)
{
// Log.Exception($"|BinaryStorage.Deserialize|Deserialize error for file <{FilePath}>", e);
return defaultData;
diff --git a/Flow.Launcher.Infrastructure/UserSettings/DataLocation.cs b/Flow.Launcher.Infrastructure/UserSettings/DataLocation.cs
index ed2179760..53812ef15 100644
--- a/Flow.Launcher.Infrastructure/UserSettings/DataLocation.cs
+++ b/Flow.Launcher.Infrastructure/UserSettings/DataLocation.cs
@@ -28,6 +28,7 @@ namespace Flow.Launcher.Infrastructure.UserSettings
public static string VersionLogDirectory => Path.Combine(LogDirectory, Constant.Version);
public static string LogDirectory => Path.Combine(DataDirectory(), Constant.Logs);
+ public static readonly string CacheDirectory = Path.Combine(DataDirectory(), Constant.Cache);
public static readonly string SettingsDirectorty = Path.Combine(DataDirectory(), Constant.Settings);
public static readonly string PluginsDirectory = Path.Combine(DataDirectory(), Constant.Plugins);
public static readonly string ThemesDirectory = Path.Combine(DataDirectory(), Constant.Themes);