Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/automattic/pocket-casts-android
Pocket Casts Android π§
https://github.com/automattic/pocket-casts-android
android pocket-casts
Last synced: 4 days ago
JSON representation
Pocket Casts Android π§
- Host: GitHub
- URL: https://github.com/automattic/pocket-casts-android
- Owner: Automattic
- License: mpl-2.0
- Created: 2022-06-15T12:41:42.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-18T13:45:59.000Z (4 days ago)
- Last Synced: 2024-12-18T14:48:03.865Z (4 days ago)
- Topics: android, pocket-casts
- Language: Kotlin
- Homepage: https://forums.pocketcasts.com
- Size: 53.8 MB
- Stars: 2,595
- Watchers: 30
- Forks: 225
- Open Issues: 285
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Code of conduct: CODE-OF-CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
Pocket Casts is the world's most powerful podcast platform, an app by listeners, for listeners.## Install
If you're just looking to install Pocket Casts Android, you can find it on [Google Play](https://play.google.com/store/apps/details?id=au.com.shiftyjelly.pocketcasts). If you're a developer wanting to contribute, read on.
## Build Instructions
1. Make sure you've installed [Android Studio](https://developer.android.com/studio/index.html).
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.
β β βββ endofyear # End of year stats.
β β βββ filters # Filters section.
β β βββ navigation # Navigation utilities.
β β βββ player # Full screen player
β β βββ podcasts # Podcasts section.
β β βββ profile # Profile section.
β β βββ search # Search pages.
β β βββ settings # Settings pages.
β β βββ taskerplugin # Plugin for integration with Tasker app.
β βββ services
β βββ analytics # Analytics code.
β βββ 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.The hierarchy of the modules in the project are reflected in [this diagram](docs/module-diagram.png).
## Contributing
Read our [Contributing Guide](CONTRIBUTING.md) to learn about reporting issues, contributing code, and more ways to contribute.
## Documentation
- [Coding Style](docs/coding-style.md) - guidelines and validation and auto-formatting tools
- [Pull Request Guidelines](docs/pull-request-guidelines.md) - branch naming and how to write good pull requests
- [Translations](docs/translations.md) - how the app gets translated and how to contribute translations## Signing a Release
To build a _signed_ release, add these lines to your local.properties file
signingKeyStoreFile=/Users/username/git/secret.keystore
signingKeyStorePassword=
signingKeyAlias=
signingKeyPassword=