* 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
- fixes issue with multiple backspaces in a BasicTextField. Before that update text field stops deleting characters after long press on the backspace key
* 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>
* minimal implementation of notifications and broken framework for background check for messages
* linting and need different id to have multiple messages
* working notification on new messages
* add autocancel to notifications
* add rudimentary linking to chat from notification
* group notifications from the same chat
* clarify comment
* revert to working version
* refactor
* minors
* two channels, silent and shouty
* rudimentary state control for notifications
* check if running in foreground
* more elegant solution to don't notify if in chat
* tidy up DisposableEffect use
* change message notification priority to high
* nuke opt-ins
* navigation via notification occasionally works with race condition (WIP)
* notification navigation is working; remove chat list/view from navigation; refactor ChatListNavLinkView
* group all simplex notifications, only show the latest message per chat, notification icons
* increase time to 30 sec
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* new compose project
* classes for chat command and response
* use val with get() for commands and responses
* chat model
* initial jetpack compose set up
* wire it up with chat
* first ability to send and receive messages
* refactor model/controller interface
* JSON samples
* terminal view with items
* playing around with json
* JSON serialization works
* parsing API responses in the terminal
* add subclass for contactSubscribed reponse
* remove android-poc
* remove JSON example
Co-authored-by: IanRDavies <ian_davies_@hotmail.co.uk>