This is a progress report for my GSoC project on GPS Sharing.
What's done since the last blog post?
Integration of mDNS in Android application using an opensource library for Java called
Integration of Avahi inside Geoclue's Network NMEA source.
mDNS in Android is to be used for service broadcast, the service is supposed to
be named as
accuracy_nick will be a string, defining
the accuracy of the source. The accuracy nicks can be found in Geoclue's public api.
An example of service name could be
geoclue-nmea-tcp-exact. The service type of the
broadcasted service is nmea.tcp at port number 10110 in local domain.
Geoclue's Network NMEA source discovers services with
_nmea._tcp service type in
the local domain. The Network NMEA source keeps a list of services sorted by their accuracy levels (highest first).
Whenever a client connects to geoclue, it checks for the service with highest accuracy level and tries to connect with it,
which then starts the flow of NMEA GGA sentences from android device.
Instead of using service name for sharing accuracy with Geoclue, we are now using
TXT records for sharing accuracy of the device.