don't dismiss top alert when focus is nil

This commit is contained in:
Pfeil, Scott Robert 2021-05-03 17:22:26 -04:00
parent eedd4e8174
commit c5bbed2fb2
3 changed files with 3 additions and 3 deletions

View File

@ -160,7 +160,7 @@ import Foundation
/// Collapse if focus is no longer on this top alert. /// Collapse if focus is no longer on this top alert.
@objc func accessibilityFocusChanged(notification: Notification) { @objc func accessibilityFocusChanged(notification: Notification) {
if !MVMCoreUIUtility.viewContainsAccessiblityFocus(self) { if (notification.userInfo?[UIAccessibility.focusedElementUserInfoKey] != nil) && !MVMCoreUIUtility.viewContainsAccessiblityFocus(self) {
NotificationCenter.default.removeObserver(self, name: UIAccessibility.elementFocusedNotification, object: nil) NotificationCenter.default.removeObserver(self, name: UIAccessibility.elementFocusedNotification, object: nil)
collapse() collapse()
} }

View File

@ -423,7 +423,7 @@
} }
- (void)accessibilityFocusChanged:(NSNotification *)notification { - (void)accessibilityFocusChanged:(NSNotification *)notification {
if (![MVMCoreUIUtility viewContainsAccessiblityFocus:self]) { if (notification.userInfo[UIAccessibilityFocusedElementKey] && ![MVMCoreUIUtility viewContainsAccessiblityFocus:self]) {
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIAccessibilityElementFocusedNotification object:nil]; [[NSNotificationCenter defaultCenter] removeObserver:self name:UIAccessibilityElementFocusedNotification object:nil];
[self collapse]; [self collapse];
} }

View File

@ -335,7 +335,7 @@ NSString * const MFAccTopAlertClosed = @"Top alert notification is closed.";
/// If the voice over user leaves top alert focus, hide. /// If the voice over user leaves top alert focus, hide.
- (void)accessibilityFocusChanged:(NSNotification *)notification { - (void)accessibilityFocusChanged:(NSNotification *)notification {
if (![MVMCoreUIUtility viewContainsAccessiblityFocus:self]) { if (notification.userInfo[UIAccessibilityFocusedElementKey] && ![MVMCoreUIUtility viewContainsAccessiblityFocus:self]) {
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIAccessibilityElementFocusedNotification object:nil]; [[NSNotificationCenter defaultCenter] removeObserver:self name:UIAccessibilityElementFocusedNotification object:nil];
[self hideAlertView:YES completionHandler:self.hideCompletionHandler]; [self hideAlertView:YES completionHandler:self.hideCompletionHandler];
self.hideCompletionHandler = nil; self.hideCompletionHandler = nil;