If you found a bug, please specify the version of the app, you phone or tablet model and your Android version. This will help to track down the problem much fater.
-
If you plan to make a significant change to the codebase, please create an issue first. This way we can discuss if and how and for which version your issue can be resolved best. For minor changes like correcting typos you don't need to create an issue first. Don't be afraid to ask if you have any questions about contributing to Zapp.
-
Fork the Zapp repository on GitHub, because you will have no write access on the original repository.
-
Create a branch you will use for the feature or fix. Read a couple of tips on how to do pull requests.
-
Do the coding for your feature or fix. Use proper commit messages. Follow this styleguide when in doubt (except prefixing member variables and using spaces for indentation).
-
Test your changes on an actual device or an emulator. If you added a channel run the
JsonChannelListTest. -
Fix any lint errors. Run
Analyze > Inspect Code > Whole projectand make sure no errors or warnigs show up. Only suppress warnings if you know what you are doing. -
Create a pull request on GitHub.
Zapp is an Android project build with Android Studio. To build it on your machine make sure to install the most current version of Android Studio bundled with the Android SDK.
Once installed you can check out the development version of Zapp clicking
File > New > Project from Version Control > GitHub. Enter your credentials.
Now you can enter the Zapp repository url of your fork (https://github.com/[yourname]/zapp)
and the directory you want the project to be saved to.
Now you should be ablte to build Zapp and run it on your device or do any other Android Studio operation.
- Edit channels.json to contain your channel. The rules are:
idmust be lowercase letters (no umlauts), numbers and underscore onlyidhas to be unique- a long
namemay contain soft hyphens to improve word breaks stream_urlhas to be the full url to the m3u8 manifest (f4m won't play)logo_namehas to start withchannel_logo_- only define
subtitleif there are multiple channels with the same name/logo colorhas to be the darkest of the vibrant logo colors
- Run
JsonChannelListTestand make sure all tests pass. - Test the changes on an actual device (emulators may have trouble with video playback).