* Theme selector
- ability to select from three default choices: system theme, light, dark
- ability to choose color accent (primary color)
* Removed unused code and made small changes to colors and buttons
* Different level of APK compression
- can reduce from 200mb to 50mb with level 5 of compression. Supports Intellij IDEA and command line gradle invocation
- by default, this feature is disabled. To enable create a file local.properties in `apps/android` and paste this line: `compression_level=5`
- level can be from 0 (no compression) to 9 (slowest and the must effective)
- automatically enables `extractNativeLibs` AndroidManifest's flag since it's required in this case. Feel free to find an alternative that works with compression of .so libs and without enabling this flag
- Windows is not suppored, of course. Only Unix-like OSes
* script corrections
* Missing JAVA_HOME in some environments
* Rename release apk made by IDEA to simplex.apk
* Enhancements
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* Debug package suffix and ability to override Gradle variables
- now debug builds will have '.debug' suffix by default. It allows to have multiple app builds (debug and release) on the same device. If you don't need this, create a file local.properties and add `application_id_suffix=` into it
- now everyone can override some variables from top-level build.gradle file. For example, gradle_plugin_version, debuggable manifest attribute, and so on. Overriding Gradle plugin version is useful for those who uses Intellij IDEA with older Gradle plugin than in Android Studio
* Prevent socket name conflict from different packages
* Configurable app name for debug build. By default it's SimpleX Debug
* Changed defaults in build.gradle
* Removed gesture interception while long clicking on a chat bubble with a link
- allowed to skip motion event consuming based on touch offset
- long clicking on a link copies it to a clipboard
* Long click on a link shows menu instead of copying to clipboard
* EOLs
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* initial UI framework
* limited javascrtipt interaction
* run some js
* try to resolve permissions issues
* some initial RTC javascript
* approaching a workable js file
* js fixes
* tidy up js
* add some ui to web call
* fixes
* ready to test
* typo
* refactor for readability
* tidy up before adding encryption
* add transform to video streams
* tidy a little, audio encoding works, video fails
* minor changes
* use variables consistently
* e2ee video calls
git push
* include IV in outgoing message, decrypt fails when trying to read back
* add different prefix retention for differing frame types
* e2ee video calls with iv passed in band
* enforce use of VP8 encoding
* allow plaintext chunk only for video frames
* tidy up kotlin. Android <> browser tested
* minor ios changes
* capture js logs in xcode
* typo
* linting
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* open source qr code scanner
* refined error localisation - todo moved
* tidy up to make picking back up easier
* better errors
* scan images one at a time and once per second to avoid multiple requests being sent
* more sophisticated avoidance of repeat contact requests
* remove format specifier
* refinements
* update QR scanner to use boofcv
* remove dependence on zxing
* attribution
* Update apps/android/app/src/main/java/chat/simplex/app/views/newchat/QRCodeScanner.kt
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* wire up api for link metadata parsing
* add getLinkPreview (synchonous for now)
* api wiring fix
* get network requests off main thread
* copy over state machine logic from iOS
* filter api parsing calls from logs
* refactor of image processing
* remove image deepcopy
* minor change to log filtering
* mobile: link previews
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>