Go to file
2021-09-22 22:42:47 +02:00
app Fix some layouts 2020-12-02 18:58:54 +01:00
cli Wip: Signing mechanisms and XML Canonicalization 2020-08-28 14:33:53 +02:00
config/checkstyle Deactivate too strict checkstyle rules 2019-09-30 02:35:57 +02:00
data Ikey backup restore works v1.0 2020-11-19 23:36:49 +01:00
documentation Move Murmelbahn to documentation 2020-06-09 20:48:30 +02:00
domain Fix progressbar and ikey generation dialog 2020-12-02 13:36:04 +01:00
entity Progress on generating IKeys 2020-10-24 19:25:28 +02:00
gradle/wrapper Start work on new message sending logic 2020-07-30 19:52:58 +02:00
libs Update Smack 2021-09-22 22:42:47 +02:00
utils Update smack-unique-snapshots.sh 2019-06-10 17:40:16 +02:00
.gitignore Add new icon 2019-08-29 00:21:24 +02:00
.gitmodules Fixed prototype implementation of ikey 2020-09-11 14:41:48 +02:00
build.gradle Fix message adapter 2020-06-24 22:50:26 +02:00
gradle.properties Wip: Work on enabling accounts from accounts fragment 2020-05-16 17:13:51 +02:00
gradlew Initial commit 2019-03-27 21:24:47 +01:00
gradlew.bat Initial commit 2019-03-27 21:24:47 +01:00
mercury_black_24dp.svg Add new icon and text to foreground notification 2020-07-31 00:13:23 +02:00
mercury_icon.svg Add new icon 2019-08-29 00:21:24 +02:00
README.md Add some info to README 2020-07-30 23:06:06 +02:00
settings.gradle Fixed prototype implementation of ikey 2020-09-11 14:41:48 +02:00
version.gradle Progress on generating IKeys 2020-10-24 19:25:28 +02:00

Messenger

Mercury-IM will be an XMPP messenger that aims to be portable. Most of the core logic is pure Java, so the final goal is to make it as easy as possible to add different UIs for different platforms on top of it.

Developing:

  • Mercury IM's development tries to follow architectural principles know from Clean Architecture.
  • The app is developed using the MVVM (Model View Viewmodel) pattern
  • Components are wired together using Dependency Injection (DI) with Dagger 2
  • Data is persisted using the requery ORM framework

Building

Since there are some issues with Android Studio and composite builds, it is currently only possible to build Mercury-IM either using the Gradle command line tool (see below), or by using Android Studio 3.5.3.

git clone <project-url>
cd <project-directory>
git submodule update --init --recursive
gradle assembleDebug

FAQ

  • I want to develop, but lots of org.jivesoftware.smackx.* classes cannot be found!
    • You forgot to type git submodule init && git submodule update as mentioned above
  • It looks like I'm missing org.mercury_im.messenger.data.* classes???
    • In Android Studio select the data module and then click "Build -> Make Module 'data'".