Skip to content
This repository was archived by the owner on Jun 21, 2023. It is now read-only.

Commit 754e937

Browse files
Switching UsageService to use Rothko.IFileFacade
1 parent fc6e49a commit 754e937

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

src/GitHub.VisualStudio/Services/UsageService.cs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@
88
using GitHub.Helpers;
99
using GitHub.Logging;
1010
using GitHub.Models;
11+
using Rothko;
1112
using Serilog;
13+
using Environment = System.Environment;
1214
using Task = System.Threading.Tasks.Task;
1315

1416
namespace GitHub.Services
@@ -21,14 +23,16 @@ public class UsageService : IUsageService
2123
static readonly ILogger log = LogManager.ForContext<UsageService>();
2224
static readonly Calendar cal = CultureInfo.InvariantCulture.Calendar;
2325
readonly IGitHubServiceProvider serviceProvider;
26+
private readonly IFileFacade fileFacade;
2427
string storePath;
2528
string userStorePath;
2629
Guid? userGuid;
2730

2831
[ImportingConstructor]
29-
public UsageService(IGitHubServiceProvider serviceProvider)
32+
public UsageService(IGitHubServiceProvider serviceProvider, IFileFacade fileFacade)
3033
{
3134
this.serviceProvider = serviceProvider;
35+
this.fileFacade = fileFacade;
3236
}
3337

3438
public async Task<Guid> GetUserGuid()
@@ -152,7 +156,8 @@ async Task Initialize()
152156

153157
async Task<string> ReadAllTextAsync(string path)
154158
{
155-
using (var s = File.OpenRead(path))
159+
var fileInfo = fileFacade.GetFile(path);
160+
using (var s = fileInfo.OpenRead())
156161
using (var r = new StreamReader(s, Encoding.UTF8))
157162
{
158163
return await r.ReadToEndAsync();
@@ -161,7 +166,8 @@ async Task<string> ReadAllTextAsync(string path)
161166

162167
async Task WriteAllTextAsync(string path, string text)
163168
{
164-
using (var s = new FileStream(path, FileMode.Create))
169+
var fileInfo = fileFacade.GetFile(path);
170+
using (var s = fileInfo.OpenWrite())
165171
using (var w = new StreamWriter(s, Encoding.UTF8))
166172
{
167173
await w.WriteAsync(text);

0 commit comments

Comments
 (0)