The goal here is to minimize the number of incidental copies of the version information.
The iOS and Android JS files were 99% identical, save for the iOS bridge routing everything through a single "execute" method to be more like the Android bridge.
Instead, this breaks the iOS bridge up into individual methods so that the JS code can be identical between platforms. The iOS code also looks for a distribution version passed in from the JS code.
I also modified the Android code to get the distribution version from the JS code. Note there appears to be a bug where updating the distribution version doesn't take after the initial conversation is created (PBI-5634)
The goal here is to minimize the number of incidental copies of the version information.
The iOS and Android JS files were 99% identical, save for the iOS bridge routing everything through a single "execute" method to be more like the Android bridge.
Instead, this breaks the iOS bridge up into individual methods so that the JS code can be identical between platforms. The iOS code also looks for a distribution version passed in from the JS code.
I also modified the Android code to get the distribution version from the JS code. Note there appears to be a bug where updating the distribution version doesn't take after the initial conversation is created (PBI-5634)