From 6611e5f393e871fd912b76ea8e0dbae2e390de22 Mon Sep 17 00:00:00 2001 From: sgschantz Date: Fri, 18 Nov 2022 08:32:23 +0700 Subject: [PATCH 1/2] call completion handler when accessibility is already enabled --- mac/Keyman4MacIM/Keyman4MacIM/Privacy/PrivacyConsent.m | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mac/Keyman4MacIM/Keyman4MacIM/Privacy/PrivacyConsent.m b/mac/Keyman4MacIM/Keyman4MacIM/Privacy/PrivacyConsent.m index 52eb126b2a..3f54589cec 100644 --- a/mac/Keyman4MacIM/Keyman4MacIM/Privacy/PrivacyConsent.m +++ b/mac/Keyman4MacIM/Keyman4MacIM/Privacy/PrivacyConsent.m @@ -62,7 +62,6 @@ */ - (void)requestPrivacyAccess:(void (^)(void))withCompletionHandler { - _completionHandler = withCompletionHandler; BOOL hasAccessibility = NO; // check if we already have accessibility @@ -74,8 +73,12 @@ if (hasAccessibility) { NSLog(@"already have Accessibility: no need to make request."); + // call completionHandler immediately -> privacyDialog will not be presented + withCompletionHandler(); } else { - NSLog(@"do not have Accessibility, present Privacy Dialog"); + // set completionHandler to be called after privacyDialog is dismissed + _completionHandler = withCompletionHandler; + NSLog(@"do not have Accessibility, present Privacy Dialog"); [self showPrivacyDialog]; } } From ed78cfd339ba700e872dfb256e43864e37dcdd4e Mon Sep 17 00:00:00 2001 From: Shawn Schantz <89134789+sgschantz@users.noreply.github.com> Date: Tue, 22 Nov 2022 08:49:57 +0700 Subject: [PATCH 2/2] Update mac/Keyman4MacIM/Keyman4MacIM/Privacy/PrivacyConsent.m Co-authored-by: Marc Durdin --- mac/Keyman4MacIM/Keyman4MacIM/Privacy/PrivacyConsent.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mac/Keyman4MacIM/Keyman4MacIM/Privacy/PrivacyConsent.m b/mac/Keyman4MacIM/Keyman4MacIM/Privacy/PrivacyConsent.m index 3f54589cec..7e3fffdb0a 100644 --- a/mac/Keyman4MacIM/Keyman4MacIM/Privacy/PrivacyConsent.m +++ b/mac/Keyman4MacIM/Keyman4MacIM/Privacy/PrivacyConsent.m @@ -78,7 +78,7 @@ } else { // set completionHandler to be called after privacyDialog is dismissed _completionHandler = withCompletionHandler; - NSLog(@"do not have Accessibility, present Privacy Dialog"); + NSLog(@"do not have Accessibility, present Privacy Dialog"); [self showPrivacyDialog]; } }