Skip to content
Kotlin Java Other
Branch: master
Clone or download
r0adkll [WIP] Improved offline cache support (#117)
* Added a permanent disk cache for Glide so that images don't disappear
* workflow tweaks
* Started working on cache management UI
* Testing deploy script by using master branch of my signing action
* Fixing deploy workflow
* More tweaks to cache management UI
* Added caching signature key to all relevant glide calls
* Workflow test
* Fixed ktlint issue
* Updated cache service to show manage action on finished Notification.
Updated deploy script to now build and test .aab signing
* Updated cache service to a 'Service' instead of 'IntentService'
Caching service notification now collects and displays counts
* Added icons to settings screen
* Switched caching mechanism to manual multi-threaded solution where we just cache the image directly to file based on it's URI path. We then complement this with a Glide extension function to load a card by it's image type checking our offline cache for the existing file and loading it with a NONE disk cache policy with glide
* Added an expansions logo and symbol to the caching list so those images
are available offline.
* Added impl that deletes the Glide cache of an image when downloading for
offline usage to keep disk usage to a minimum.
* Bumped sdk => 1.1.0, updated dependencies and better json parsing
* Added Glide proguard rules
* Close #114 - Finished cache management interface
* Close #113 - Finished cache loading management with Glide
* Updated and whatsnew
* Fixed ktlint & detekt issues
* Fixed refactoring regressions
Latest commit 80df51a Nov 16, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github [WIP] Improved offline cache support (#117) Nov 16, 2019
art Updated Sep 30, 2019
distribution [WIP] Improved offline cache support (#117) Nov 16, 2019
gradle/wrapper [WIP] Improved offline cache support (#117) Nov 16, 2019
tools More detekt and ktlint fixes Nov 2, 2019
.editorconfig Added ktlint, detekt, gitVersioner plugin Oct 31, 2019
.gitignore Moved scripts to their own folder Oct 12, 2018 [WIP] Improved offline cache support (#117) Nov 16, 2019 Style/Bug fixes Apr 24, 2018 Mass replace of double newlines to single newlines Oct 31, 2019
Dangerfile Removed 52inc/danger dependency Nov 7, 2019
Gemfile Removed 52inc/danger dependency Nov 7, 2019
LICENSE Add LICENSE Apr 24, 2018 Working on detekt issues Nov 1, 2019
build.gradle [WIP] Improved offline cache support (#117) Nov 16, 2019
default-detekt-config.yml More detekt and ktlint fixes Nov 2, 2019
detekt.gradle Full ktlint compliance Nov 1, 2019
gradlew Initial Commit Oct 12, 2017
gradlew.bat Initial Commit Oct 12, 2017

Build Status   ktlint

DeckBox is an unofficial deck building app for creating and managing your Pokémon TCG decklists. Whether you are building and tweaking the top decks in the meta or just experimenting with some spicy rogue decks, search through a large collection of Pokémon cards that span from the latest expansion all the way back to the base set

Seamlessly integrate with your Pokémon TCG Online game by importing and exporting decklists in a compatible format.

Sign in with our Google account to build and edit your decks across all of your devices, or just continue without one and link it later.


View the progress of upcoming and currently worked on features for this project.


pokemontcg-developers on discord
DeckBox is powered by

API: PokemonTCG/pokemon-tcg-api
SDK: PokemonTCG/pokemon-tcg-sdk-kotlin

To add/update card data to the API you must fork and make a pull request to this repository: PokemonTCG/pokemon-tcg-data


DeckBox is 100% written in Kotlin and follows an MVI pattern for managing the UI and a repository pattern for managing the data/business layer. It is built on this stack:

  • Dagger 2
  • RxJava 2
  • Firebase Firestore


Check out the designs using Sketch

Sketch Cloud

Build-it Yourself

To build/run DeckBox your self you will need to configure and setup the following items:


Configure an Android application on your firebase project and download the google-services.json file into the /app folder.

Then run:

./gradlew installDebug


Please follow the guidelines set forth in the CONTRIBUTING document.

Buy Me a Coffee at


GNU General Public License v3.0

See LICENSE to see the full text.�

You can’t perform that action at this time.