This introduces wrapper classes for APNs credentials so we can make atomic changes when a user selects a new certificate/signing key file. From there, we can facilitate most communication between the "compose notification" controller and the main application controller via properties and bindings.
On the whole, I think this makes for a cleaner separation of responsibilities and—soon—easier testing.
I don't totally love the ApnsCredentialsFile/ApnsCredentials split. I tried a few other approaches, and definitely feel like there's something better to be done, but am also happy to refine this as we go.
This introduces wrapper classes for APNs credentials so we can make atomic changes when a user selects a new certificate/signing key file. From there, we can facilitate most communication between the "compose notification" controller and the main application controller via properties and bindings.
On the whole, I think this makes for a cleaner separation of responsibilities and—soon—easier testing.
I don't totally love the
ApnsCredentialsFile
/ApnsCredentials
split. I tried a few other approaches, and definitely feel like there's something better to be done, but am also happy to refine this as we go.