There was some work done to improve the process of installation Custom Buttons some while ago. However the documentation on the wiki has not been been updated since 2015 so it is not clear exactly how this feature can be used.
To assist with updating the wiki, the following notes are a summary of what I have found out about this feature and an issue that I am troubleshooting. I will add some screenshots and write this up properly once I have managed to use it successfully.
What have I discovered so far?
- Under settings, towards the bottom of the list of settings there is a selection 'Buttons presents'
- The 'Button Presents' screen enables the user to select between a default layout and one from a list of any others that are already on the phone.
- The 'Button Presents' screen also has a '+' option which take you to an 'Available Layouts' screen that lists button layouts that are available to be downloaded. By default this screen lists layouts that are in the master branch of labexp's github repository called 'osmtracker-android-layouts'.
- The github repository accessed can be changed using the Spanner icon on the 'Available Layouts' screen.
With this knowledge:
- I forked the repository osmtracker-android-layouts
- I created my own layout using existing ones as a template
- I changed the github setting on my app
- When I selected save the app responded with a message 'github repository valid'
My issue is that my layout is not yet listed on the 'Available layouts' screen after I have completed the above. All other layouts from the forked repository are however shown.
I have tried deleting a couple of the forked layouts. However, when I select the '+' and I am briefly seeing 'Available layouts' but then getting Error: "Unable to connect to the default custom layouts repository". At this point I am stuck and unable to revert to a default app configuration.
The README.md in the root folder lists my layout as per the others
My layout contains:
openseamap_icons a folder containing icons
en.xml
README.md
for the record en.xml contains:
<?xml version="1.0" encoding="utf-8"?>
<layouts>
<layout name="root">
<row>
<button type="textnote"/>
</row>
<row>
<button type="voicerec" icon="voice_32x32" />
<button type="picture" icon="camera_32x32" />
<button type="textnote" icon="text_32x32" />
</row>
<row>
<button type="tag" label="Beacon Red" icon="openseamap_icons/Beacon_Red.png" />
<button type="tag" label="Can Red" icon="openseamap_icons/Can_Red.png" />
<button type="tag" label="Cone Green" icon="openseamap_icons/Cone_Green.png" />
<button type="tag" label="Beacon Green" icon="openseamap_icons/Beacon_Green.png" />
</row>
<button type="tag" label="North Cardinal" icon="openseamap_icons/Pillar_Black_Yellow.png" />
<button type="tag" label="East Cardinal" icon="openseamap_icons/Pillar_Black_Yellow_Black.png" />
<button type="tag" label="South Cardinal" icon="openseamap_icons/Pillar_Yellow_Black.png" />
<button type="tag" label="West Cardinal" icon="openseamap_icons/Pillar_Yellow_Black_Yellow.png" />
<row>
<button type="tag" label="North Cardinal Top" icon="openseamap_icons/CardNButton.png" />
<button type="tag" label="East Cardinal Top" icon="openseamap_icons/CardEButton.png" />
<button type="tag" label="South Cardinal Top" icon="openseamap_icons/CardSButton.png" />
<button type="tag" label="West Cardinal Top" icon="openseamap_icons/CardWButton.png" />
</row>
<row>
<button type="tag" label="Isolated Danger Mark" icon="openseamap_icons/IsolButton.png" />
<button type="tag" label="Safe Water Mark" icon="openseamap_icons/CardEButton.png" />
<button type="tag" label="South Cardinal" icon="openseamap_icons/CardSButton.png" />
<button type="tag" label="West Cardinal" icon="openseamap_icons/CardWButton.png" />
</row>
</layout>
</layouts>