On Sunday 25 Aug 2013 15:52:55 Nitesh Bharadwaj wrote: > Its been long since last update. > Here I present a pre-alpha of the android application along with the > changes required in fred. It presently supports bluetooth and wifi-direct > based reference exchanges. > > The code for the server on home node is more or less unchanged from the > previous update and the main changes are on the android part. Some of them > pertain to > > UI and code structure: The UI had to be changed completely in order to > support old versions of android. Presently, the main thread serves as the > UIThread and it has a handler. Any other thread which wishes to change the > UI sends a message to this handler and the UI is updated. There are some > concurrency issues left out but these are rare cases (for example, a new > node - other than homenode is detected on our LAN while we are exchanging > noderefs with a friend) and some work is left on this front. Other than > these, UI issues are fixed. > > Bluetooth: I had to face various compatibility issues, especially on old > android devices (<= android 2.1-Froyo). These devices cannot connect with > newer devices in the way they are meant to i.e. as described is Android > SDK documentation. Following suit from > http://stackoverflow.com/questions/3397071/service-discovery-failed-exception-using-bluetooth-on-android, > I had to use java reflections to grab a bluetooth channel and force > connect. Note that this isn't so insecure as it sounds because any > bluetooth connection requires initial pairing. Alternatively, we can only > support devices > android 2.1. > > General Incompatibility Issues: For example, android ships Bouncy Castle in > its packages but doesn't pack any one version completely. We cannot build > along with the official bcprov...jar because it gives rise to class > conflicts with pre-shipped versions. The most used solution is to use > spongy castle (modified bouncy castle) but I used jarjar to rename the > classes and ended doing the same as what spongy castle does. > > Several such compatibility issues cropped up and delayed my project and I > am determined to keep it up and complete in time frame > > To be implemented: > #1 QR based exchange - This should be for mobiles which couldn't use any > other methods because of lack of hardware / any issues > #2 Exchange over internet : > Some discussion is needed in this respect but in general, public keys (DH) > are exchanged by QR and the actual noderef is sent over internet (email?). > This would be received by other mobile/ node(?) > > To try out the app: > Build using Eclipse + Android SDK or ant + Android SDK from source > https://github.com/NiteshBharadwaj/Freenet or alternatively, could be > downloaded form > http://www.mediafire.com/download/8h6889jtqpott5v/Freenet.apk > > Also, the modified fred and modified mdns-plugin need to be forked and > built from https://github.com/freenet/fred-staging and > https://github.com/NiteshBharadwaj/plugin-MDNSDiscovery-official
It's good that it's working! How old is Android 2.1? NFC is worth considering IMHO if you have time. Although maybe BT/wifi direct will use that for setting up a pairing? How much manual work is involved in setting up the bluetooth pairing? We did talk about e.g. using the QR code to exchange a key to set up the encrypted BT pairing? Is the user interface complicated because of justified paranoia about Bluetooth? How often are we going to not have wifi direct *and* not have bluetooth? Exchanging data between the 2 phones over the internet would probably have to use email because they are of course NATed ... I will defer to nextgens on this stuff mostly. I don't have time to review it at the moment.
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Devl mailing list Devl@freenetproject.org https://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl