A glossy Matrix collaboration client for Android
bmarty Merge pull request #2583 from dkanada/dialog
several UI improvements for dialogs, video messages, and the previewer activity
Latest commit ee188ae Sep 17, 2018
Permalink
Failed to load latest commit information.
docs Docs: Notifications: Update after the new "Keep detailed notification… Mar 13, 2018
gradle/wrapper Upgrade gradle form 3.3 to 4.7 Apr 27, 2018
projectFilesBackup/.idea Merge remote-tracking branch 'origin/fix_direct_chat_issues_#706' int… Nov 28, 2016
tools Fix check issue on Kotlin Jul 3, 2018
vector fix sticker layout and add video thumbnail to MediaPreviewerActivity Sep 14, 2018
.gitignore Script is now on a dedicated repo (https://github.com/matrix-org/matr… Jun 4, 2018
.travis.yml Travis will check if CHANGES.rst is modified for each PR Jun 13, 2018
AUTHORS.rst Add basic functionality for image previewing Jul 17, 2018
CHANGES.rst fix travis errors and update CHANGES.rst Sep 13, 2018
CONTRIBUTING.rst Travis will check if CHANGES.rst is modified for each PR Jun 13, 2018
LICENSE remove history Jun 2, 2015
README.md Fix issue on badge link Jun 18, 2018
build.gradle Version++ Aug 30, 2018
build_fdroid_apk.sh Build: improve build script to build any git branch of the SDK Sep 5, 2018
build_jitsi_libs.sh Update to the latest jitsi libs Jan 16, 2018
build_matrix_sdk_lib.sh Build: improve build script to build any git branch of the SDK Sep 5, 2018
build_olm_lib.sh Update to the latest jitsi libs Jan 16, 2018
build_riot_apks.sh Improve build script (also double build on Jenkins has been removed. … May 30, 2018
compile_with_sdk_lib.sh Add scripts to switch SDK between lib/project. May 15, 2018
compile_with_sdk_project.sh Add scripts to switch SDK between lib/project. May 15, 2018
gradle.properties Upgrade gradle form 3.3 to 4.7 Apr 27, 2018
gradlew remove history Jun 2, 2015
gradlew.bat remove history Jun 2, 2015
set_debug_env.sh Add scripts to switch SDK between lib/project. May 15, 2018
settings.gradle Restore normal configuration May 29, 2018
test_referrer.sh Fix installation referrer documentation (use '%26' to escape '&') and… May 24, 2018
trigger_release.sh use a tmp folder to clone the matrix-android-skd git repo Dec 22, 2017

README.md

Riot-Android Jenkins Weblate

Riot is an Android Matrix client.

Get it on Google Play

Get it on F-Droid

Build instructions

This client is a standard android studio project.

If you want to compile it in command line with gradle, go to the project directory:

Debug mode:

./gradlew assembleDebug

Release mode:

./gradlew assembleRelease

And it should build the project (you need to have the right android SDKs)

Recompile the provided aar files until we have gradle

generate olm-sdk.aar

sh build_olm_lib.sh

generate matrix-sdk.aar

sh build_matrix_sdk_lib.sh

generate the other aar files

sh build_jitsi_libs.sh

compile the matrix SDK with the Riot-android project

sh set_debug_env.sh

Make your own flavour

Let says your application is named MyRiot : You have to create your own flavour.

Modify riot-android/vector/build.gradle

In "productFlavors" section, duplicate "app" group if you plan to use GCM/FCM or "appfdroid" if don't.

for example, with GCM, it would give

    appmyriot {
        applicationId "im.myriot"
        // use the version name
        versionCode rootProject.ext.versionCodeProp
        versionName rootProject.ext.versionNameProp
        resValue "string", "allow_gcm_use", "true"
        resValue "string", "allow_ga_use", "true"
        resValue "string", "short_flavor_description", "G"
        resValue "string", "flavor_description", "GooglePlay"
    }
  • if you use GCM, duplicate appCompile at the end of this file and replace appCompile by appmyriotCompile.
  • if you don't, update the "if (!getGradle().getStartParameter().getTaskRequests().toString().contains("fdroid"))" to include your flavor.

Create your flavour directory

  • Copy riot-android/vector/src/app or appfroid if you use GCM or you don’t.
  • Rename it to appmyriot.
  • If you use GCM, you will need to generate your own google-services.json.

Customise your flavour

  • Open riot-android/vector/src/appmyriot/AndroidManifest.xml
  • Comment the provider section.
  • Change the application name to myRiot with "android:label="myRiot""
  • Any other field can be customised by adding the resources in this directory classpath.
  • Open Android studio, select your flavour.
  • Build and run the app : you made your first Riot app.

You will need to manage your own provider because "im.vector" is already used (look at VectorContentProvider to manage it).

Customise your application settings with a custom google play link

It is possible to set some default values to Riot with some extra parameters to the google play link.

  • Use the https://developers.google.com/analytics/devguides/collection/android/v4/campaigns URL generator (at the bottom)
  • Set "Campaign Content" with the extra parameters (e.g. is=http://my__is.org%26hs=http://my_hs.org). Please notice the usage of %26 to escape the &
  • Supported extra parameters:
    • is : identity server URL
    • hs : home server URL
  • Generate the customised link
  • The application may have to be installed from the Play Store website (and not from the Play Store application) for this feature to work properly.

FAQ

  1. What is the minimum android version supported?

    the mininum SDK is 16 (android 4.1)

  2. Where the apk is generated?

    Riot/build/outputs/apk