9 Documentation
Jannik edited this page 2023-04-16 13:56:04 +02:00

Build

To build a unsigned apk of the app just do ./gradlew assembleRelease.

Version Name & Version Code

We map the version name to the versioncode. The version code follows this scheme: nnrrmmm,

  • Release: versionName: "0.6.0" -> versionCode: 0006000 = 00.06.000
    • Release: versionName: "0.6.1" -> versionCode: 0006100 = 00.06.100
  • RC: versionName: "0.6.0-RC1" -> versionCode: 00059xx (from beta)
  • Beta: versionName: "0.5.90" -> versionCode: 0005900 = 00.05.x90
  • Alpha: versionName: "0.5.80" -> versionCode: 0005800 = 00.05.x80

A beta release will always be version "n.r.m9x". There is a total of 10 "Beta" version names (n.r.m90 to n.r.m99). The beta version codes will start at nnppm00. The RC phase the version name is always "VERSION-RCX". The version code will be increased as with the beta versions. A final major release will be nnrr000.

n: 0 (currently not used)
r: the release number
m: minor version
p: previous version
! gradle does not support leading 0s

Architecture

Here you can find some information about the Teapod architecture. Information about the Parser can be found on another site.

Activities

Teapod uses a multi activity architecture. It is recommended not to use more activities than needed, but currently there are no other options than using multiple activities to support all needed features.

  • OnboardingAvtivity: Contains the on-boarding and login functions (currently only Crunchyroll)
  • MainActivity: As the name suggests, this contains the main GUI
  • PlayerActivity: all player relates stuff goes here, separate activity to allow pip

Used Libraries