Prerequisites:
- Familiarity with pull requests and issues.
- Ability to use Git or GitHub Desktop (or any other Git GUI client you prefer).
- Fork this repository.
- Clone your fork.
- Create a branch specific to the issue you are working on.
Make sure you have Git installed. Open your cloned repo in the command line of your choice and create a branch (change the branch name used in the example below to your needs).
git checkout -b fix-memory-leak-mainactivity-java
or use a GUI client (for example, GitHub Desktop) to do it.
For clarity, name your branch
update-xxx
,fix-xxx
orpatch-xxx
. Thexxx
is a short description of the changes you're making. Examples includeupdate-readme
orfix-typo-in-main-xml
.
- Open up the project in Android Studio.
- First thing to do is to create a
gradle.properties
file in the project's root directory. Its contents have to match the lines below:
# AndroidX
android.useAndroidX=true
android.enableJetifier=true
# Release build variables
KEYSTORE_LOCATION=null
KEYSTORE_PASSWORD=null
KEY_ALIAS=null
KEY_PASSWORD=null
# Optionally, you might want to add this line to reduce the build time
org.gradle.parallel=true
- Sync Gradle to get the dependencies. It might take a while to complete.
- You're ready to begin the development!
- Once you're done: test, commit and push your changes.
- Open a pull request and describe the changes you've made.
In particular, this community seeks the following types of contributions:
- Ideas: participate in an issue thread or start your own to have your voice heard.
- Features & bug fixes: contribute by implemeting a new feature, QoL addition/change, bug fix.
- Writing: contribute your expertise in an area by helping us expand the included content.
- Copy editing: fix typos, clarify language, and generally improve the quality of the content.
- Formatting: help keep content easy to read with consistent formatting.
We are committed to providing a friendly, safe and welcoming environment for all.
Please be kind and courteous. There's no need to be mean or rude. Respect that people have differences of opinion and that every design or implementation choice carries a trade-off and numerous costs. There is seldom a right answer, merely an optimal answer given a set of values and circumstances.
Please keep unstructured critique to a minimum. If you have solid ideas you want to experiment with, make a fork and see how it works.
Any spamming, trolling, flaming, baiting or other attention-stealing behaviour is not welcome.
If you want to discuss certain addition or change, ask questions, report bugs and such - feel free to join our Discord server.
Likewise, GitHub Issues and GitHub Discussions are the ways for communicating about specific proposed changes to this project.