Git Product home page Git Product logo

riot-android's Introduction

Riot-Android Buildkite Weblate Android Matrix room #riot-android:matrix.org Quality Gate Vulnerabilities Bugs

Riot is an Android Matrix client. It is now deprecated and has been replaced by Element Android

Important announcement

The core team is now only working on Element Android. Element Android is now published on the PlayStore as a replacement of Riot-Android. So the code from this project is not published by the core team to the PlayStore, and not published anymore on F-Droid store as well.

Contributing

Please contribute to Element Android now!

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 appImplementation at the end of this file and replace appImplementation by appmyriotImplementation.
  • 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
  • Change the application name to myRiot with "android:label="myRiot"" and "tools:replace="label"" in the application tag.
  • 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

riot-android's People

Contributors

afv avatar billcarsonfr avatar bmarty avatar dkanada avatar dominaezzz avatar dunetna avatar ganfra avatar general50 avatar giomfo avatar jgkamat avatar kaiyou avatar krkk avatar krombel avatar manuroe avatar nvbln avatar osoitz avatar pvagner avatar rbozhkova avatar s8321414 avatar sabrinaj avatar safaalfulaij avatar sim6 avatar spantaleev avatar studinsky avatar szimszon avatar t1011 avatar tyuoli avatar ujdhesa avatar weblate avatar ylecollen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

riot-android's Issues

Better welcome screen

Currently when you register and load the app, you see this massive white screen (attached) with no obvious thing to do (except, perhaps, clicking on the + sign which creates a room, which is probably not the first thing you want to do).

We should have a better welcome screen or perhaps "first time use" overlay with "click here to view a directory of rooms" and "click here to search for your contacts" etc.
welcome

Support Android M permissions

The API is set to 22 by now to avoid managing the Android M permissions.

But, we will need to update the client to support them properly.

Save username on logout

Use case: I want to log out to avoid Matrix traffic for whatever reason. Currently when I open the app again it's like I use it for the first time. Would be nice to save the username (and password if the user selects to do so - if possible).

<ol> and <li> html tags are not properly displayed

Steps to reproduce
1- create amessage with several new lines with SHIFT + ENTER on the webclient

The new lines are not displayed on the android client :
The current patch disables the HTML rendering when theses markers are retrieved.

Prevent sending emty message from the quick reply notification

Issue description:

  1. receive a push notification
  2. click on the notification and scroll down to make appear the "Quick Reply" action
  3. press on "Quick Reply" action
  4. even if the message is empty, the message can be sent

Expected behaviour:
the "sent arrow" should be disabled if no message is typed

Room Members: Add search option

Amandine could you please specify the search mode in room members on Android?

We suggest removing the red plus button (invite member button), and adding search option to "invite/search by name, email, id" like in web client.

add markdown support

we could use
https://github.com/myabc/markdownj
which is the android porting of https://www.npmjs.com/package/marked

extracted from the web client source
function mdownToHtml(mdown) {
var html = marked(mdown) || "";
html = html.trim();
// strip start and end

tags else you get 'orrible spacing
if (html.indexOf("

") === 0) {
html = html.substring("

".length);
}
if (html.lastIndexOf("

") === html.length - "

".length) {
html = html.substring(0, html.length - "

".length);
}
return html;
}

Blank screen while opening a room on Android M devices

On a nexus 6 under android 6.0.1, i have a blank screen during about 0.3s.

There was no such ui behaviour under lollipop.

Loading the messages requires the same time on lollipop and M so i guess there is a tweak to find to avoid such behaviour.

Manage Href properly in textview

The custom implementation of tag parsing (textview) don't display HTML link managed by a HREF.
So, the client falls back to the default textview implementation.

But, some tags like /li won't be properly displayed;

We have to find a way to improve it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.