Merge branch '346-smaller-qr-codes' into 'master'
Encode transport properties more compactly in QR codes The [original BQP spec](https://code.briarproject.org/akwizgran/briar/wikis/BQP) described a compact encoding for transport properties, with the goal of making the QR code as small as possible. At some point during the implementation, I asked @str4d to use TransportIds and TransportProperties instead, as described in the [current spec](https://code.briarproject.org/akwizgran/briar-spec/blob/master/protocols/BQP.md). That was a mistake. Using the original format reduces the payload from 60 to 34 bytes (43% smaller) for Bluetooth only, and from 96 to 49 bytes (49% smaller) for Bluetooth and LAN. This makes it easier to scan codes from low-resolution screens using fixed-focus and/or low-resolution cameras. Using this branch I can exchange codes between the Sony Xperia Tipo (320x480 screen, fixed focus, 640x480 preview size) and the Huawei Ascend Y300 (480x800 screen, infinity focus, 1280x720 preview size). This also removes an obstacle to implementing #558, as TransportIds are no longer included in QR codes. Closes #346. See merge request !394
Showing
- briar-android/src/org/briarproject/android/keyagreement/ShowQrCodeFragment.java 9 additions, 5 deletions...briarproject/android/keyagreement/ShowQrCodeFragment.java
- briar-android/src/org/briarproject/plugins/droidtooth/DroidtoothPlugin.java 36 additions, 18 deletions...org/briarproject/plugins/droidtooth/DroidtoothPlugin.java
- briar-android/src/org/briarproject/plugins/tcp/AndroidLanTcpPlugin.java 5 additions, 0 deletions...src/org/briarproject/plugins/tcp/AndroidLanTcpPlugin.java
- briar-android/src/org/briarproject/plugins/tor/TorPlugin.java 12 additions, 5 deletions...r-android/src/org/briarproject/plugins/tor/TorPlugin.java
- briar-api/src/org/briarproject/api/keyagreement/KeyAgreementConstants.java 7 additions, 1 deletion.../briarproject/api/keyagreement/KeyAgreementConstants.java
- briar-api/src/org/briarproject/api/keyagreement/KeyAgreementListener.java 5 additions, 3 deletions...g/briarproject/api/keyagreement/KeyAgreementListener.java
- briar-api/src/org/briarproject/api/keyagreement/Payload.java 17 additions, 6 deletionsbriar-api/src/org/briarproject/api/keyagreement/Payload.java
- briar-api/src/org/briarproject/api/keyagreement/PayloadParser.java 3 additions, 0 deletions.../src/org/briarproject/api/keyagreement/PayloadParser.java
- briar-api/src/org/briarproject/api/keyagreement/TransportDescriptor.java 0 additions, 28 deletions...rg/briarproject/api/keyagreement/TransportDescriptor.java
- briar-api/src/org/briarproject/api/plugins/Plugin.java 20 additions, 6 deletionsbriar-api/src/org/briarproject/api/plugins/Plugin.java
- briar-api/src/org/briarproject/api/plugins/PluginManager.java 5 additions, 0 deletions...r-api/src/org/briarproject/api/plugins/PluginManager.java
- briar-api/src/org/briarproject/api/plugins/duplex/DuplexPlugin.java 22 additions, 7 deletions...src/org/briarproject/api/plugins/duplex/DuplexPlugin.java
- briar-api/src/org/briarproject/api/plugins/simplex/SimplexPlugin.java 11 additions, 3 deletions...c/org/briarproject/api/plugins/simplex/SimplexPlugin.java
- briar-core/src/org/briarproject/keyagreement/KeyAgreementConnector.java 21 additions, 14 deletions.../org/briarproject/keyagreement/KeyAgreementConnector.java
- briar-core/src/org/briarproject/keyagreement/PayloadEncoderImpl.java 12 additions, 11 deletions...src/org/briarproject/keyagreement/PayloadEncoderImpl.java
- briar-core/src/org/briarproject/keyagreement/PayloadParserImpl.java 31 additions, 35 deletions.../src/org/briarproject/keyagreement/PayloadParserImpl.java
- briar-core/src/org/briarproject/plugins/PluginManagerImpl.java 4 additions, 0 deletions...-core/src/org/briarproject/plugins/PluginManagerImpl.java
- briar-core/src/org/briarproject/plugins/file/FilePlugin.java 7 additions, 1 deletionbriar-core/src/org/briarproject/plugins/file/FilePlugin.java
- briar-core/src/org/briarproject/plugins/tcp/LanTcpPlugin.java 37 additions, 15 deletions...r-core/src/org/briarproject/plugins/tcp/LanTcpPlugin.java
- briar-core/src/org/briarproject/plugins/tcp/TcpPlugin.java 10 additions, 3 deletionsbriar-core/src/org/briarproject/plugins/tcp/TcpPlugin.java
Loading
Please register or sign in to comment