Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save shankarpriyank/5b54628a14d989b353933de2a4b62ad0 to your computer and use it in GitHub Desktop.
Save shankarpriyank/5b54628a14d989b353933de2a4b62ad0 to your computer and use it in GitHub Desktop.
Work Product Submission for GSoC 2022 project

Google Summer of Code 2022 Work Product Submission

Student: Priyank Shankar (@shankarpriyank)
Organisation: Organic Maps
Project: Developing Support For Android Auto


Overview of Work Done

  • My project started with figuring out how to make an app to support Android Auto, ie to show up on the launcher of AA, so my contributions started with this commit.
  • But there was one problem, for any android app to support Android Auto , its minSdk version has to be 23 or above, but right now the Organic Maps had a minSdk version of 21 and changing this would mean cutting out support for a significant proportion of its users, so it was clear at this point that my code could not be merged into the main branch directly.
  • After the app was showing up on the launcher it was time to work on its functionality, the app we are on can be put in the category of navigation apps, and Google provides a template for navigation apps to build upon. So the next step I took was to use the navigation template and get the app up and running.
  • Organic Maps uses its customized renderer to draw the map, and the navigation template provides you with the functionality to expose a surface to render upon.
  • Things started to slow down after this commit, I found out the hard way that the C++ implementation of the renderer is a whole another world.
  • But even after sorting out the logic, and calling the renderer properly we were encountering errors.
  • I with the help of my mentor @rtsisyk started debugging, we suspected that maybe vulkan doesn't work, so we forbid the renderer from using vulkan
  • But even with this, the errors were still popping up, this was a major setback in the project my mentor and I spent a lot of time trying out different ways to fix the issues , and finally with commit, we had a sigh of relief, finally the map was rendering on the screen of DHU.
  • We added basic buttons for zooming in and zooming out on the map. And while we were still figuring out how to support dragging and scrollin on the map, we realized that not all AA units support touch screen.
  • Also we realized there are stability issues with our current implementation, though the stability issues are almost fixed but we still need to do some work on the ux.
  • As not all AA units support touch screens, navigating through the app can be tough, so we are trying out possibilites to use voice commands to start routing to a particular destination using the Routing Logic.
  • We ran into another wall, routing was not working at all on our branch, maybe the hacks we made to make rendering possible on AA is the reason, we investigated it and fixed the its cause. All this mess was caused due to an single line of code which was commented out
  • Routing started working but there is still one more thing to fix, the router is somehow configured to lauch only on the device itself and not on the DHU/AA. Once we fix this routing feature would be all done
  • This branch contain all the changes done so far.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment