# tchap-android **Repository Path**: moyuk/tchap-android ## Basic Information - **Project Name**: tchap-android - **Description**: A glossy Matrix collaboration client for Android - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-09-07 - **Last Updated**: 2020-12-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Riot-Android [![Jenkins](https://img.shields.io/jenkins/s/https/matrix.org/jenkins/view/MatrixView/job/VectorAndroidDevelop.svg)](https://matrix.org/jenkins/view/MatrixView/job/VectorAndroidDevelop/) [![Weblate](https://translate.riot.im/widgets/riot-android/-/svg-badge.svg)](https://translate.riot.im/engage/riot-android/?utm_source=widget) [![Quality Gate](https://sonarcloud.io/api/project_badges/measure?project=vector.android.riot&metric=alert_status)](https://sonarcloud.io/dashboard?id=vector.android.riot) [![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=vector.android.riot&metric=vulnerabilities)](https://sonarcloud.io/dashboard?id=vector.android.riot) [![Bugs](https://sonarcloud.io/api/project_badges/measure?project=vector.android.riot&metric=bugs)](https://sonarcloud.io/dashboard?id=vector.android.riot) ======= Riot is an Android Matrix client. [Get it on Google Play](https://play.google.com/store/apps/details?id=im.vector.alpha&hl=en&utm_source=global_co&utm_medium=prtnr&utm_content=Mar2515&utm_campaign=PartBadge&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1) [Get it on F-Droid](https://f-droid.org/app/im.vector.alpha) 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 FCM or "appfdroid" if don't. for example, with FCM, it would give ``` appmyriot { applicationId "im.myriot" // use the version name versionCode rootProject.ext.versionCodeProp versionName rootProject.ext.versionNameProp buildConfigField "boolean", "ALLOW_FCM_USE", "true" buildConfigField "String", "SHORT_FLAVOR_DESCRIPTION", "\"F\"" buildConfigField "String", "FLAVOR_DESCRIPTION", "\"FDroid\"" } ``` - if you use FCM, 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 FCM or you don’t. - Rename it to appmyriot. - If you use FCM, 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