Skip to content

Commit 6f89a4e

Browse files
committed
Skip deleting livelyproperty directory if not present & some refactoring
1 parent add3278 commit 6f89a4e

File tree

6 files changed

+24
-15
lines changed

6 files changed

+24
-15
lines changed

src/Lively/Lively.Common/Helpers/Files/FileOperations.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ public static async Task CopyFileAsync(string src, string dest)
158158
/// <param name="initialDelay"></param>
159159
/// <param name="retryDelay"></param>
160160
/// <returns>True if deletion completed succesfully.</returns>
161-
public static async Task<bool> DeleteDirectoryAsync(string folderPath, int initialDelay = 1000, int retryDelay = 4000)
161+
public static async Task<bool> TryDeleteDirectoryAsync(string folderPath, int initialDelay, int retryDelay)
162162
{
163163
bool status = true;
164164
if (Directory.Exists(folderPath))

src/Lively/Lively.UI.WinUI/ViewModels/DepthEstimateWallpaperViewModel.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ await Task.Run(async() =>
183183
ErrorText = $"{i18n.GetString("TextError")}: {ex.Message}";
184184
PreviewText = string.Empty;
185185

186-
await FileOperations.DeleteDirectoryAsync(destDir, 0, 1000);
186+
await FileOperations.TryDeleteDirectoryAsync(destDir, 0, 1000);
187187
}
188188
finally
189189
{

src/Lively/Lively.UI.WinUI/ViewModels/LibraryViewModel.cs

+4-4
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,7 @@ public async Task WallpaperDelete(ILibraryModel obj, bool unsubscribe = true)
275275
//close if running.
276276
await desktopCore.CloseWallpaper(obj, true);
277277
//delete wp folder.
278-
var success = await FileOperations.DeleteDirectoryAsync(obj.LivelyInfoFolderPath, 1000, 4000);
278+
var success = await FileOperations.TryDeleteDirectoryAsync(obj.LivelyInfoFolderPath, 1000, 4000);
279279

280280
if (success)
281281
{
@@ -298,7 +298,7 @@ public async Task WallpaperDelete(ILibraryModel obj, bool unsubscribe = true)
298298
var item = new DirectoryInfo(wpdataDir[i]).Name;
299299
if (wpFolderName.Equals(item, StringComparison.Ordinal))
300300
{
301-
_ = FileOperations.DeleteDirectoryAsync(wpdataDir[i], 100, 1000);
301+
_ = FileOperations.TryDeleteDirectoryAsync(wpdataDir[i], 100, 1000);
302302
break;
303303
}
304304
}
@@ -367,7 +367,7 @@ await Task.Run(() =>
367367
}
368368
finally
369369
{
370-
_ = FileOperations.DeleteDirectoryAsync(tmpDir, 1000, 2000);
370+
_ = FileOperations.TryDeleteDirectoryAsync(tmpDir, 1000, 2000);
371371
}
372372
}
373373
else if (libraryItem.LivelyInfo.IsAbsolutePath)
@@ -420,7 +420,7 @@ await Task.Run(() =>
420420
}
421421
finally
422422
{
423-
_ = FileOperations.DeleteDirectoryAsync(tmpDir, 1000, 2000);
423+
_ = FileOperations.TryDeleteDirectoryAsync(tmpDir, 1000, 2000);
424424
}
425425
}
426426
else

src/Lively/Lively.UI.WinUI/ViewModels/SettingsViewModel.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1220,9 +1220,9 @@ await Task.Run(() =>
12201220
if (!isDestEmptyDir)
12211221
{
12221222
//not deleting the root folder, what if the user selects a folder that is not used by Lively alone!
1223-
var result1 = await FileOperations.DeleteDirectoryAsync(Path.Combine(previousDirectory, Constants.CommonPartialPaths.WallpaperInstallDir), 1000, 3000);
1224-
var result2 = await FileOperations.DeleteDirectoryAsync(Path.Combine(previousDirectory, Constants.CommonPartialPaths.WallpaperInstallTempDir), 0, 1000);
1225-
var result3 = await FileOperations.DeleteDirectoryAsync(Path.Combine(previousDirectory, Constants.CommonPartialPaths.WallpaperSettingsDir), 0, 1000);
1223+
var result1 = await FileOperations.TryDeleteDirectoryAsync(Path.Combine(previousDirectory, Constants.CommonPartialPaths.WallpaperInstallDir), 1000, 3000);
1224+
var result2 = await FileOperations.TryDeleteDirectoryAsync(Path.Combine(previousDirectory, Constants.CommonPartialPaths.WallpaperInstallTempDir), 0, 1000);
1225+
var result3 = await FileOperations.TryDeleteDirectoryAsync(Path.Combine(previousDirectory, Constants.CommonPartialPaths.WallpaperSettingsDir), 0, 1000);
12261226
if (!(result1 && result2 && result3))
12271227
{
12281228
//TODO: Dialogue

src/Lively/Lively.UI.WinUI/ViewModels/ThemeViewModel.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ private async Task BrowseTheme()
147147
{
148148
SelectedItem = SelectedItem != obj ? SelectedItem : Themes[0];
149149
Themes.Remove(obj);
150-
await FileOperations.DeleteDirectoryAsync(Directory.GetParent(obj.File).FullName);
150+
await FileOperations.TryDeleteDirectoryAsync(Directory.GetParent(obj.File).FullName, 1000, 4000);
151151
}
152152
});
153153

src/Lively/Lively/Core/WinDesktopCore.cs

+14-5
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ public async Task SetWallpaperAsync(ILibraryModel wallpaper, IDisplayMonitor dis
247247
{
248248
WallpaperUpdated?.Invoke(this, new WallpaperUpdateArgs() { Category = UpdateWallpaperType.remove, Info = wallpaper.LivelyInfo, InfoPath = wallpaper.LivelyInfoFolderPath });
249249
//Deleting from core because incase UI client not running.
250-
_ = FileOperations.DeleteDirectoryAsync(wallpaper.LivelyInfoFolderPath, 0, 1000);
250+
await FileOperations.TryDeleteDirectoryAsync(wallpaper.LivelyInfoFolderPath, 0, 1000);
251251
}
252252
}
253253
catch (Win32Exception ex2)
@@ -399,12 +399,21 @@ private async Task<bool> ShowWallpaperDialog(IWallpaper wallpaper)
399399

400400
if (cancelled)
401401
{
402-
//user cancelled/fail!
402+
//User cancelled/fail!
403403
wallpaper.Terminate();
404404
DesktopUtil.RefreshDesktop();
405-
//Deleting from core because incase UI client not running.
406-
_ = FileOperations.DeleteDirectoryAsync(wallpaper.Model.LivelyInfoFolderPath, 0, 1000);
407-
_ = FileOperations.DeleteDirectoryAsync(Directory.GetParent(Path.GetDirectoryName(wallpaper.LivelyPropertyCopyPath)).ToString(), 0, 1000);
405+
406+
try
407+
{
408+
//Deleting here incase UI client is not running
409+
await FileOperations.TryDeleteDirectoryAsync(wallpaper.Model.LivelyInfoFolderPath, 0, 1000);
410+
if (wallpaper.LivelyPropertyCopyPath != null)
411+
await FileOperations.TryDeleteDirectoryAsync(Directory.GetParent(Path.GetDirectoryName(wallpaper.LivelyPropertyCopyPath)).FullName, 0, 1000);
412+
}
413+
catch (Exception ie)
414+
{
415+
Logger.Error(ie);
416+
}
408417
}
409418

410419
return !cancelled;

0 commit comments

Comments
 (0)