Skip to content

Commit 7103c8d

Browse files
committed
Mark old data as obsolete
1 parent 58b9f0c commit 7103c8d

File tree

1 file changed

+13
-18
lines changed

1 file changed

+13
-18
lines changed

Flow.Launcher/Storage/TopMostRecord.cs

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,10 @@ public class FlowLauncherJsonStorageTopMostRecord
1616

1717
public FlowLauncherJsonStorageTopMostRecord()
1818
{
19+
#pragma warning disable CS0618 // Type or member is obsolete
1920
// Get old data & new data
2021
var topMostRecordStorage = new FlowLauncherJsonStorage<TopMostRecord>();
22+
#pragma warning restore CS0618 // Type or member is obsolete
2123
_topMostRecordStorage = new FlowLauncherJsonStorage<MultipleTopMostRecord>();
2224

2325
// Check if data exist
@@ -43,7 +45,16 @@ public FlowLauncherJsonStorageTopMostRecord()
4345
{
4446
// Migrate old data to new data
4547
_topMostRecord = _topMostRecordStorage.Load();
46-
_topMostRecord.Add(topMostRecordStorage.Load());
48+
var oldTopMostRecord = topMostRecordStorage.Load();
49+
if (oldTopMostRecord == null || oldTopMostRecord.records.IsEmpty) return;
50+
foreach (var record in oldTopMostRecord.records)
51+
{
52+
_topMostRecord.records.AddOrUpdate(record.Key, new ConcurrentBag<Record> { record.Value }, (key, oldValue) =>
53+
{
54+
oldValue.Add(record.Value);
55+
return oldValue;
56+
});
57+
}
4758

4859
// Delete old data and save the new data
4960
try
@@ -87,6 +98,7 @@ public void AddOrUpdate(Result result)
8798
/// <summary>
8899
/// Old data structure to support only one top most record for the same query
89100
/// </summary>
101+
[Obsolete("Use MultipleTopMostRecord instead. This class will be removed in future versions.")]
90102
internal class TopMostRecord
91103
{
92104
[JsonInclude]
@@ -147,23 +159,6 @@ internal class MultipleTopMostRecord
147159
[JsonConverter(typeof(ConcurrentDictionaryConcurrentBagConverter))]
148160
public ConcurrentDictionary<string, ConcurrentBag<Record>> records { get; private set; } = new();
149161

150-
internal void Add(TopMostRecord topMostRecord)
151-
{
152-
if (topMostRecord == null || topMostRecord.records.IsEmpty)
153-
{
154-
return;
155-
}
156-
157-
foreach (var record in topMostRecord.records)
158-
{
159-
records.AddOrUpdate(record.Key, new ConcurrentBag<Record> { record.Value }, (key, oldValue) =>
160-
{
161-
oldValue.Add(record.Value);
162-
return oldValue;
163-
});
164-
}
165-
}
166-
167162
internal bool IsTopMost(Result result)
168163
{
169164
// origin query is null when user select the context menu item directly of one item from query list

0 commit comments

Comments
 (0)