When I wrote this "I tried to add support for the air gestures, but Samsung's library is awful for that, and I would have had to implement my own gesture detector without conflicting with the existing touch interactions", it was in reference to trying to register my app to receive S-Pen gestures. Samsung describes that here: https://developer.samsung.com/galaxy-spe...tions.html
There were multiple issues with this:
1) I implemented everything exactly as they described, but could never receive any gestures from the OS
2) The "enable_key" section says that the Air Actions won't be enabled by default unless users explicitly know to go into the settings to enable them for MobileSheets. This would defeat the point as most users won't even know to do that, even if I fully document it, as most users won't read the documentation. I would have to get Samsung to do an extensive review to determine if they would allow it to be enabled by default for my app, and even if they did allow it, it wouldn't take effect until an OS update is rolled out to users.
So given that I could never get it to work, the only option open to me is to receive raw movements as described here: https://developer.samsung.com/galaxy-spe...e-sdk.html. However, that doesn't handle gestures - I would have to write my own gesture detector to figure out what the user is doing with the S-Pen, and I don't want to take on that work anytime soon. There just isn't enough value in it. If someone else wants to write a gesture detector, I'll happily test it and consider adding support for it.
It's possible I made a mistake when trying to register my app with Air Actions, but there are too many other higher priority things to work on for me to spend any more time on it at the moment, especially given #2 above. If some other developer wants to test out their Air Actions SDK and can get it working, I'm happy to work with them to get it integrated in MobileSheets.
If the reason you saw the bug with the pen is due to what I described previously, that's not going to be something I can fix. If it's due to another reason, then I'll certainly look into it, but I'll need to know how to reproduce the issue.
As far as the writing issue, that's most likely because the text component you are interacting with is very small - about one character wide. I don't increase the width of the text component larger than it needs to be. However, if you draw a box for the text to start with and make it much wider, in theory that could make the edit component wider as well, but I'd have to run some tests to verify that. I can consider making the default text component wider than the underlying annotation (ensuring it has a certain minimum width for new text annotations). I could also detect when a stylus was used to create the new annotation, and only increase the width in that scenario. To be clear about what is happening, when you are editing a text annotation, I hide the annotation and replace it with a editable text component that has a transparent background. This allows the text entry to work as normal and still provides the expected behavior (like being able to select text, copy/paste text, etc). With a new annotation, the editable text component is only one character width or so because no text has been entered yet.
Mike
There were multiple issues with this:
1) I implemented everything exactly as they described, but could never receive any gestures from the OS
2) The "enable_key" section says that the Air Actions won't be enabled by default unless users explicitly know to go into the settings to enable them for MobileSheets. This would defeat the point as most users won't even know to do that, even if I fully document it, as most users won't read the documentation. I would have to get Samsung to do an extensive review to determine if they would allow it to be enabled by default for my app, and even if they did allow it, it wouldn't take effect until an OS update is rolled out to users.
So given that I could never get it to work, the only option open to me is to receive raw movements as described here: https://developer.samsung.com/galaxy-spe...e-sdk.html. However, that doesn't handle gestures - I would have to write my own gesture detector to figure out what the user is doing with the S-Pen, and I don't want to take on that work anytime soon. There just isn't enough value in it. If someone else wants to write a gesture detector, I'll happily test it and consider adding support for it.
It's possible I made a mistake when trying to register my app with Air Actions, but there are too many other higher priority things to work on for me to spend any more time on it at the moment, especially given #2 above. If some other developer wants to test out their Air Actions SDK and can get it working, I'm happy to work with them to get it integrated in MobileSheets.
If the reason you saw the bug with the pen is due to what I described previously, that's not going to be something I can fix. If it's due to another reason, then I'll certainly look into it, but I'll need to know how to reproduce the issue.
As far as the writing issue, that's most likely because the text component you are interacting with is very small - about one character wide. I don't increase the width of the text component larger than it needs to be. However, if you draw a box for the text to start with and make it much wider, in theory that could make the edit component wider as well, but I'd have to run some tests to verify that. I can consider making the default text component wider than the underlying annotation (ensuring it has a certain minimum width for new text annotations). I could also detect when a stylus was used to create the new annotation, and only increase the width in that scenario. To be clear about what is happening, when you are editing a text annotation, I hide the annotation and replace it with a editable text component that has a transparent background. This allows the text entry to work as normal and still provides the expected behavior (like being able to select text, copy/paste text, etc). With a new annotation, the editable text component is only one character width or so because no text has been entered yet.
Mike