@@ -11,32 +11,25 @@ namespace ComputerLock.Services;
1111internal class ScreenLockService (
1212 IServiceProvider serviceProvider ,
1313 IStringLocalizer < Lang > lang ,
14- AppSettings appSettings ,
1514 ILogger logger )
1615{
17- private bool _isLocked ;
18-
16+ private bool _showAnimation ;
1917 private WindowLockScreen ? _windowLockScreen ;
2018 private readonly List < WindowBlankScreen > _blankScreens = [ ] ;
2119 public event EventHandler ? OnUnlock ;
2220
23- public void Lock ( )
21+ public void Lock ( bool showAnimation )
2422 {
23+ _showAnimation = showAnimation ;
2524 logger . Write ( "锁定服务 -> 准备锁定" ) ;
26- if ( _isLocked )
27- {
28- return ;
29- }
30- logger . Write ( "锁定服务 -> 允许锁定" ) ;
3125 var primaryScreen = Screen . PrimaryScreen ;
3226 if ( primaryScreen == null )
3327 {
3428 logger . Write ( "锁定服务 -> 没有检测到屏幕" ) ;
3529 throw new Exception ( "没有检测到屏幕 no screen" ) ;
3630 }
3731
38- _isLocked = true ;
39- if ( appSettings . LockAnimation )
32+ if ( _showAnimation )
4033 {
4134 logger . Write ( "锁定服务 -> 锁定动画" ) ;
4235 ShowPopup ( lang [ "Locked" ] ) ;
@@ -127,8 +120,7 @@ private void FmLockScreen_OnUnlock(object? sender, EventArgs e)
127120 screen . Close ( ) ;
128121 }
129122
130- _isLocked = false ;
131- if ( appSettings . LockAnimation )
123+ if ( _showAnimation )
132124 {
133125 logger . Write ( "锁定服务 -> 解锁动画" ) ;
134126 ShowPopup ( lang [ "UnLocked" ] ) ;
0 commit comments