Looking to report a Bug or make a feature request? Take a look here.
⚠ This Page is under Construction ⚠
Translations are currently only possible by directly editing the strings.xml file.
I'm planning to use a Service like Crowdin or Weblate soon.
Pull requests are welcome! Please read follow the Code Style Guidelines below.
If you're interested in taking on an open issue, please comment on it so others are aware.
Forks are allowed so long they abide by Tenshi's LICENSE
When creating a fork, remember to:
- Avoid confusion with the main app and conflicts by:
- Changing the app name (strings/shared_app_name)
- Changing the app icon
- Changing the OAUTH redirect URL
- Change the 'applicationId' in build.gradle
- Create a new API Client
- Setup your build config (/app/build.properties)
- copy the sample config to /app/build.properties and fill the values as per the comments
- ⚠ Make sure the build config is NOT tracked by git
These are the guidelines you should follow when contributing code to Tenshi.
These Guidelines outline what I think are useful rules to create readable and manageable code, tho they are always open for discussion(i'm not a professional developer after all, so what do i know :P)
- Please use Java
- Do not hardcode random values (like intent extras, ...), but use constants in the appropriate classes instead
- Avoid hardcoding URLs, use constants in Urls.java instead
- Use Enums instead of string / integer constants (especially in MAL model)
- Enum values are in PascalCase (i know, java default is all uppercase, but that look stupid)
- Use @SerializedName if the enum name differs from eg. an API requirement
- Use EnumHelper instead of Enum functions to allow for @SerializedName
- Write descriptive JavaDoc comments for:
- all classes, interface and enums
- all public fields and enum constants
- all public methods
- optionally private fields and methods
- Use @Nullable / @NonNull annotations on:
- all public fields and methods
- optionally private fields and methods
- Usage of Lambda expression for handlers and callbacks is strongly encouraged.
- Have a look at Tenshis' Language Extensions.