On Monday 26 Aug 2013 21:36:57 Nitesh Bharadwaj wrote: > Presently, I see two options for QR. > > 1) Ask the zxing barcode scanner app https://code.google.com/p/zxing/ to > start scanning for QR. It scans and returns the result to our app. If there > is no such app installed, raise an intent offering to download the app > > 2) Pull from git and build a .jar and ship along with app > > The first option seemed more androidy to me considering the fact that we > needn't ever care for updates etc. as os does it for us. IMO, this is the > sweetest feature of android. The drawback being, some dangerous app > impersonating zxing. It is only possible if the user already has such app > installed (in spite of security warnings, permission warnings while > installing) since we offer to download only from play store. Apart from > that, it seems okay.
Surely you can specify what to offer to download in a secure manner, a public key fingerprint or something? If not, I'd guess we should bundle it. Your app is separate from fred, and updates only via the appstore? > > I have implemented the basic version using zxing-android-integrator > https://github.com/zxing/zxing/blob/master/android-integration/src/com/google/zxing/integration/android/IntentIntegrator.java. > It checks only for an app that matches the package name of zxing.. Ewww. Matching package name only is *bad*. > > But as of now, this method works good in mobiles with good cameras (since > the size of the noderef is very large) > Src - https://github.com/NiteshBharadwaj/Freenet > Apk - http://www.mediafire.com/download/ak42w8c8uj0ebdb/Freenet(2).apk Cool. > > > > On Sun, Aug 25, 2013 at 8:22 PM, Nitesh Bharadwaj <[email protected]> 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 > > > _______________________________________________ > Devl mailing list > [email protected] > https://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl > >
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Devl mailing list [email protected] https://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl
