Currently, there are no tests or other measures to prevent the Dashboard API to broken.
One example is renaming columns in the SQLite database.
This database is exposed via SharedContentProvider directly to OSMDashboard.
What we can do:
- Implement test to verify the query OSMDashboard is doing still works
- implement compatibility layer using SqliteQueryBuilder.setProjectionMap
- (not nicely doable as we need to open the DB twice) Move the Dashboard API to a separate content provider and implement some mapping
- Add some technical documentation on how the Dashboard API works (and move it to a visible package)
For the 2nd this might be helpful.
Follow-up to #2255.