Feature #2900
use jmDNS to provide discovery on Android < 16
Status: | Closed | Start date: | 02/19/2014 | |
---|---|---|---|---|
Priority: | High | Due date: | ||
Assignee: | hans | % Done: | 100% | |
Category: | - | |||
Target version: | swap repos with Bluetooth and Bonjour | |||
Component: |
Description
Android "Network Service Discovery" adds DNS+SD and mDNS to Android starting in API 16. For older platforms, add jmdns.
Subtasks
Related issues
Associated revisions
purge NSD support, later add mDNS support to FDroid using jmdns
Android's NSD is a nice API, but it turns out its flaky and only supported
on very recent Android versions. So we'll use jmdns to support older
releases and hopefully work better.
refs #2900, #2467 https://dev.guardianproject.info/issues/2900
broadcast local repo via Bonjour/mDNS to enable auto-discovery
This adds support for registering the local repo with Bonjour/mDNS so that
it is broadcast out to all devices on the local network. This makes it
easy to discover and add local repos on the same wifi.
replace Android NSD browsing with jmdns
Android's NSD is only included in Android >= 16, and seems to be buggy. So
This replaces the NSD code entirely with jmdns, which works on all Android
versions.
fixes #2900 https://dev.guardianproject.info/issues/2900
fixes #3379 https://dev.guardianproject.info/issues/3379
History
#1 Updated by hans almost 4 years ago
- Target version changed from Integrate Kerplapp into FDroid to 134
#2 Updated by pd0x almost 4 years ago
In practice the Android Network Service Discovery is unreliable. There have been a number of bugs since it was introduced in API level 16. At the OpenITP UX Hackathon we observed the underlying NSD system service blocking in a manner that caused apps that were attempting to ask for a handle to the service to block in turn (See Bug #3025).
Implementing the same NSD functionality using jmDNS would give us 1) backwards compatibility to devices < API level 16, 2) the ability to include a repo fingerprint (Feature #2978) in the service registration without sullying the service name 3) a fix for bug #3025
#3 Updated by hans almost 4 years ago
- Target version changed from 134 to Integrate Kerplapp into FDroid
#4 Updated by hans over 3 years ago
- Target version changed from Integrate Kerplapp into FDroid to swap repos with Bluetooth and Bonjour
#5 Updated by Anonymous over 3 years ago
- Status changed from New to Resolved
Applied in changeset fdroidclient|commit:f2994b0764b53c4c103b94196a8719bcc57e6131.
#6 Updated by hans over 3 years ago
- Status changed from Resolved to Closed
- Assignee set to hans