GithubHelp home page GithubHelp logo

afonari / mini-vector-android Goto Github PK

View Code? Open in Web Editor NEW

This project forked from limium/mini-vector-android

0.0 1.0 0.0 874.2 MB

A simpler Matrix client for Android, with fewer permissions and dependencies

License: Apache License 2.0

Shell 0.47% Java 70.36% JavaScript 3.57% HTML 0.53% Kotlin 25.05%

mini-vector-android's Introduction

miniVector

This is a minified Android Matrix client derived from the official client. It requires fewer permissions and compiles to a much smaller package.

Full credit goes to the original developers. This fork just shaves-off the following features and dependencies:

  • Jitsi integration (for audio / video conference)
  • React native libraries
  • Application Icon badger
  • Analytics

It also sets the default identity server to localhost which effectively disables it. The identity server is an optional service that is used by matrix clients to identify contacts via external identities such as emails and phone numbers. Since this compromises privacy and is entirely optional, the default here is to disable the feature.

Links


The rest of this readme is the original readme from riot-android.


=======

Important Announcement

The core team is now working mainly on RiotX. New contributions (PR, issues) are still welcome, but be aware that this codebase will be replaced in the future by the RiotX implementation.

Contributing

Please refer to CONTRIBUTING.md if you want to contribute the Matrix on Android projects!

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

mini-vector-android's People

Contributors

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

Watchers

James Cloos avatar

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.