this ensures that the changes to this published
property will result in a SwiftUI notification
also made a couple changes in response to devin.ai
code review
creates custom list of installation state in case
some of the installation was done previously
checks whether repairs are needed for completed
installations
fixes bug to kill keyman for CheckAccess call
for new installations, check if the input method is
enabled and whether it has Accessibility permission
before adding those items to the task list as they
may be in place from a previous installation
provides a simple way for UI to determine what to
present to the user
also generates events, but these could be generated
before the UI has a chance to listen for them
Sendsend a distributed notification from the config app
whenever a change to the enabled keyboards occurs.
In response, the input method loads the list of
enabled keyboards and updates the Keyman menu.
response to the AccessCheck message comes to the
InstallationCheck object, but the InstallationContainer
should only know about the higher level event:
whether the installation needs repair
when creating the InstallationCheck, first ask
for the Accessibility permission from the input
method, and once the response is returned via
DistributedNotificiationCenter message, then do
the rest of the validation
added booleans to indicate input method exists and
matches the current version
made installationState optional
made accessibilityPermissionGranted optional
added comments