Skip to content

Latest commit

 

History

History
71 lines (55 loc) · 3.66 KB

README.md

File metadata and controls

71 lines (55 loc) · 3.66 KB

Pocket Casts Android

If you're just looking to install Pocket Casts Android, you can find it on Google Play. If you're a developer wanting to contribute, read on.

Build Instructions

  1. Make sure you've installed Android Studio.
  2. In Android Studio, open the project from the local repository.
  3. Go to Tools → Device Manager and create an emulated device.
  4. Go to Run → Edit Configurations… and create an Android App configuration.
  5. Select the module "pocketcasts-android.app.main".
  6. Run.

Build and Test

To build, install, and test the project from the command line:

$ ./gradlew :app:assembleDebugProd          # assemble the debug .apk
$ ./gradlew :app:installDebugProd           # install the debug .apk to a connected device
$ ./gradlew :app:testDebugUnitTest          # assemble, install and run unit tests
$ ./gradlew :app:connectedDebugAndroidTest  # assemble, install and run Android tests

Directory structure

.
├── app                    # Mobile app
├── automotive             # Automotive app
├── modules
│   ├── features
│   │   ├── account        # Create account and sign in pages.
│   │   ├── cartheme       # Automotive resources needed for the account pages.
│   │   ├── discover       # Discover section.
│   │   ├── filters        # Filters section.
│   │   ├── navigation     # Navigation utilities.
│   │   ├── player         # Full screen player
│   │   ├── podcasts       # Podcasts section.
│   │   ├── profile        # Profile section.
│   │   ├── search         # Search pages.
│   │   └── settings       # Settings pages.
│   └── services
│       ├── compose        # Shared Compose code.
│       ├── images         # Image resources.
│       ├── localization   # Contains the strings in English and localized strings from GlotPress. 
│       ├── model          # The database logic and entities. Also transfer objects required which aren't stored in the database.
│       ├── preferences    # Stores the user preferences and configuration settings.
│       ├── repositories   # Provides accessing to the data from the 'servers' and 'model' modules.
│       ├── servers        # Provides the network calls to the servers. The UI layer should access these through the 'repositories' module.
│       ├── ui             # Shared UI code for the 'compose' and 'views' modules. This includes the themes.
│       ├── utils          # Utility classes.
│       └── views          # Shred Only the old views code.

Contributing

Read our Contributing Guide to learn about reporting issues, contributing code, and more ways to contribute.

Security

If you happen to find a security vulnerability, please let us know at https://hackerone.com/automattic and allow us to respond before disclosing the issue publicly.

Documentation

Signing a Release

To build a signed release, add these lines to your ~/.gradle/gradle.properties file

pocketcastsKeyStoreFile=/Users/username/git/secret.keystore
pocketcastsKeyStorePassword=
pocketcastsKeyStoreAlias=
pocketcastsKeyStoreAliasPassword=