Skip to content

Commit 9670845

Browse files
committed
convert to System.Text.Json for all Config load/save
1 parent 911b997 commit 9670845

1 file changed

Lines changed: 5 additions & 37 deletions

File tree

Project-Aurora/Project-Aurora/Settings/ConfigManager.cs

Lines changed: 5 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,15 @@
33
using System.Diagnostics;
44
using System.IO;
55
using System.Text;
6+
using System.Text.Json;
67
using System.Threading.Tasks;
78
using System.Windows;
89
using AuroraRgb.Modules.Gamebar;
910
using AuroraRgb.Modules.Logitech;
1011
using AuroraRgb.Modules.Razer;
1112
using AuroraRgb.Utils;
12-
using AuroraRgb.Utils.Json;
1313
using Common.Devices;
1414
using Common.Utils;
15-
using Newtonsoft.Json;
16-
using JsonSerializer = System.Text.Json.JsonSerializer;
1715

1816
namespace AuroraRgb.Settings;
1917

@@ -68,12 +66,7 @@ private static async Task<Configuration> Parse()
6866
return await CreateDefaultConfigurationFile();
6967

7068
var content = await File.ReadAllTextAsync(Configuration.ConfigFile, Encoding.UTF8);
71-
return JsonConvert.DeserializeObject<Configuration>(content,
72-
new JsonSerializerSettings
73-
{
74-
ObjectCreationHandling = ObjectCreationHandling.Replace,
75-
TypeNameHandling = TypeNameHandling.All,
76-
}) ?? await CreateDefaultConfigurationFile();
69+
return JsonSerializer.Deserialize<Configuration>(content) ?? await CreateDefaultConfigurationFile();
7770
}
7871

7972
public static async Task<DeviceConfig> LoadDeviceConfig()
@@ -99,19 +92,14 @@ private static async Task<DeviceConfig> TryLoadDevice()
9992
{
10093
if (!File.Exists(DeviceConfig.ConfigFile))
10194
{
102-
if (File.Exists(Configuration.ConfigFile))
103-
// v194 Migration
104-
return await MigrateDeviceConfig();
105-
10695
// first time start
10796
var deviceConfig = new DeviceConfig();
10897
await SaveAsync(deviceConfig);
10998
return deviceConfig;
110-
11199
}
112100

113101
var content = await File.ReadAllTextAsync(DeviceConfig.ConfigFile, Encoding.UTF8);
114-
return JsonSerializer.Deserialize(content, CommonSourceGenerationContext.Default.DeviceConfig) ?? await MigrateDeviceConfig();
102+
return JsonSerializer.Deserialize(content, CommonSourceGenerationContext.Default.DeviceConfig) ?? new DeviceConfig();
115103
}
116104

117105
public static async Task<GamebarConfig> LoadGamebarConfig()
@@ -213,10 +201,7 @@ public static void Save(IAuroraConfig configuration)
213201

214202
LastSaveTimes[path] = currentTime;
215203

216-
var content = JsonConvert.SerializeObject(configuration, Formatting.Indented, new JsonSerializerSettings
217-
{
218-
TypeNameHandling = TypeNameHandling.Auto, SerializationBinder = new AuroraSerializationBinder()
219-
});
204+
var content = JsonSerializer.Serialize(configuration);
220205

221206
Directory.CreateDirectory(Path.GetDirectoryName(path));
222207
File.WriteAllText(path, content, Encoding.UTF8);
@@ -231,10 +216,7 @@ public static async Task SaveAsync(IAuroraConfig configuration)
231216

232217
LastSaveTimes[path] = currentTime;
233218

234-
var content = JsonConvert.SerializeObject(configuration, Formatting.Indented, new JsonSerializerSettings
235-
{
236-
TypeNameHandling = TypeNameHandling.Auto, SerializationBinder = new AuroraSerializationBinder()
237-
});
219+
var content = JsonSerializer.Serialize(configuration);
238220

239221
Directory.CreateDirectory(Path.GetDirectoryName(path));
240222
await File.WriteAllTextAsync(path, content, Encoding.UTF8);
@@ -248,20 +230,6 @@ private static async Task<Configuration> CreateDefaultConfigurationFile()
248230
return config;
249231
}
250232

251-
private static async Task<DeviceConfig> MigrateDeviceConfig()
252-
{
253-
Global.logger.Information("Migrating default device configuration");
254-
var content = await File.ReadAllTextAsync(Configuration.ConfigFile, Encoding.UTF8);
255-
var config = JsonConvert.DeserializeObject<DeviceConfig>(content,
256-
new JsonSerializerSettings
257-
{
258-
ObjectCreationHandling = ObjectCreationHandling.Replace,
259-
SerializationBinder = new AuroraSerializationBinder(),
260-
}) ?? new DeviceConfig();
261-
File.Copy(Configuration.ConfigFile, Configuration.ConfigFile + ".v194", true);
262-
return config;
263-
}
264-
265233
public static async Task<SensitiveData> LoadSensitiveData()
266234
{
267235
var exists = File.Exists(SensitiveData.ConfigFile);

0 commit comments

Comments
 (0)