Element X fork with native Cardano wallet — see SYNC.md on wallet branch for topology
Find a file
2023-01-11 16:44:29 +01:00
.github Merge pull request #31 from vector-im/feature/bma/checkDep 2023-01-09 17:23:09 +01:00
.idea Setup Copyright configuration 2022-12-22 13:36:30 +01:00
anvilannotations Fix warning 2022-12-23 15:19:24 +01:00
anvilcodegen Bump kotlinpoet from 1.10.2 to 1.12.0 2023-01-02 19:19:11 +00:00
app Fix warning 2022-12-23 15:19:24 +01:00
docs Add module graph plugin and expose the graph in the README 2022-12-22 12:28:14 +01:00
features Fix warning 2022-12-23 15:19:24 +01:00
gradle dependencycheck 7.4.4 (with fix for https://github.com/dependency-check/dependency-check-gradle/issues/300) 2023-01-09 09:54:43 +01:00
libraries Fix warning 2022-12-23 15:19:24 +01:00
plugins Add missing Copyright 2022-12-22 13:51:56 +01:00
tools Let detekt check if the license is set on Kotlin files. 2022-12-22 14:17:35 +01:00
.editorconfig Format project 2022-12-09 12:06:37 +01:00
.gitignore Move logout and report bug to Setting screen 2022-12-21 22:01:21 +01:00
build.gradle.kts Set up dependency check plugin 2023-01-06 17:03:35 +01:00
gradle.properties Add missing Copyright 2022-12-22 13:51:56 +01:00
gradlew Create project from AS wizard "Empty Compose Activity (Material 3)" 2022-10-07 15:05:13 +02:00
gradlew.bat Create project from AS wizard "Empty Compose Activity (Material 3)" 2022-10-07 15:05:13 +02:00
LICENSE Initial commit 2022-10-06 09:59:25 +02:00
README.md Update README.md 2023-01-11 16:44:29 +01:00
settings.gradle.kts Create matrixui module and remove dependency to coil in the matrix module. Move MatrixUser there. 2022-12-22 15:32:29 +01:00

element-x-android

ElementX Android is a Matrix Android Client provided by Element.

The application is a total rewrite of Element-Android using the Matrix Rust SDK underneath and targeting devices running Android 5+. The UI layer is written using Jetpack compose.

Rust SDK

ElementX leverages the Matrix Rust SDK through an FFI layer that the final client can directly import and use.

We're doing this as a way to share code between platforms and while we've seen promising results it's still in the experimental stage and bound to change.

Roadmap

We are aiming to have a fast and fully functional personal messaging application by the end of year 2023.

Contributing

Please see our contribution guide.

Come chat with the community in the dedicated Matrix room.

Build instructions

Just clone the project and open it in Android Studio.

Modules

This Android project is a multi modules project.

  • app module is the Android application module. Other modules are libraries;
  • features modules contain some UI and can be seen as screen of the application;
  • libraries modules contain classes that can be useful for other modules to work.

A few details about some modules:

  • libraries-core module contains utility classes;
  • libraries-designsystem module contains Composables which can be used across the app (theme, etc.);
  • libraries-elementresources module contains resource from Element Android (mainly strings);
  • libraries-matrix module contains wrappers around the Matrix Rust SDK.

Here is the current module dependency graph:

Support

When you are experiencing an issue on ElementX Android, please first search in GitHub issues and then in #element-android:matrix.org. If after your research you still have a question, ask at #element-android:matrix.org. Otherwise feel free to create a GitHub issue if you encounter a bug or a crash, by explaining clearly in detail what happened. You can also perform bug reporting (Rageshake) from the Element application by shaking your phone or going to the application settings. This is especially recommended when you encounter a crash.

Copyright (c) 2022 New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.