element-hq / element-hq/element-android
Proposal for a minimalistic flavour
- Dominant language
- Kotlin
- Stars
- 3.7k
- Forks
- 917
- PR merge metrics
- No merged PRs in 30d
Description
Hi,
I am the developer of a friendly and minimalistic fork of Riot-Android called [miniVector](https://github.com/LiMium/mini-vector-android). At the time I created the fork, I was not familiar with the Android Gradle build system and its ability to create application flavours from a single code-base. By the time I learnt about it, it was too late to propose a flavour to Riot-Android as all the action had moved to RiotX.
But now that Riot-Android is switching to this new code-base, I would like to propose a minimalistic flavour here.
The minimalistic flavour could, for example, not include the following dependencies:
* ShortcutBadger
* barcodescanner
* Jitsi (if and when it is added)
* any other dependency which is not critical for matrix use
The reasons why some people might like fewer dependencies are:
* Reduced surface area of attack
* Reduced permissions for app
* Apk size reduction, and better performance on older devices
### Quick Design proposal
Define an interface for each optional functionality. For example `interface Badger` and then implement it differently in each flavour. The implementation in minimal flavour would just be a dummy implementation.
### Benefit of flavour v/s fork
* Both flavours will be updated in sync
* Both flavours can have same publisher. Hence no need for different logo, and other graphical assets.
---
If this is acceptable, I would be happy to send a first-cut PR that adds such a flavour.
Contributor guide
Assessment
This issue has not been assessed yet.