{"id":13495428,"url":"https://github.com/Automattic/pocket-casts-android","last_synced_at":"2025-03-28T16:32:35.700Z","repository":{"id":60961851,"uuid":"503760270","full_name":"Automattic/pocket-casts-android","owner":"Automattic","description":"Pocket Casts Android 🎧","archived":false,"fork":false,"pushed_at":"2025-03-27T14:22:50.000Z","size":59295,"stargazers_count":2633,"open_issues_count":292,"forks_count":227,"subscribers_count":28,"default_branch":"main","last_synced_at":"2025-03-27T14:25:18.146Z","etag":null,"topics":["android","pocket-casts"],"latest_commit_sha":null,"homepage":"https://forums.pocketcasts.com","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Automattic.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE-OF-CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-15T12:41:42.000Z","updated_at":"2025-03-27T13:50:51.000Z","dependencies_parsed_at":"2024-02-19T06:24:33.597Z","dependency_job_id":"e66ebf62-c421-42e7-8d97-d851a7c3c0e9","html_url":"https://github.com/Automattic/pocket-casts-android","commit_stats":{"total_commits":3900,"total_committers":64,"mean_commits":60.9375,"dds":0.5953846153846154,"last_synced_commit":"ee45abecb3d13678f315b2c7de431f49676956e2"},"previous_names":[],"tags_count":251,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Automattic%2Fpocket-casts-android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Automattic%2Fpocket-casts-android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Automattic%2Fpocket-casts-android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Automattic%2Fpocket-casts-android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Automattic","download_url":"https://codeload.github.com/Automattic/pocket-casts-android/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245878901,"owners_count":20687295,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","pocket-casts"],"created_at":"2024-07-31T19:01:34.630Z","updated_at":"2025-03-28T16:32:35.631Z","avatar_url":"https://github.com/Automattic.png","language":"Kotlin","funding_links":[],"categories":["Kotlin","HarmonyOS","Android Kotlin Project Showcase"],"sub_categories":["Windows Manager"],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://user-images.githubusercontent.com/308331/194037473-41ad7eba-8602-4be5-be73-49e3c0c48c12.svg#gh-light-mode-only\" /\u003e\n    \u003cimg src=\"https://user-images.githubusercontent.com/308331/194041226-4c6d8181-cafa-4ea8-8735-1d8106f5e5f6.svg#gh-dark-mode-only\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://buildkite.com/automattic/pocket-casts-android\"\u003e\u003cimg src=\"https://badge.buildkite.com/dc67ef3537ad6cf097ff193b28063347418205a341d55f9940.svg?branch=main\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/Automattic/pocket-casts-android/blob/main/LICENSE.md\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-MPL-blue\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    Pocket Casts is the world's most powerful podcast platform, an app by listeners, for listeners.\n\u003c/p\u003e\n\n## Install\n\nIf 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.\n\n## Build Instructions\n\n1. Make sure you've installed [Android Studio](https://developer.android.com/studio/index.html).\n2. In Android Studio, open the project from the local repository.\n3. Go to Tools → Device Manager and create an emulated device.\n4. Go to Run → Edit Configurations… and create an Android App configuration. \n5. Select the module \"pocketcasts-android.app.main\".\n6. Run.\n\n## Build and Test\n\nTo build, install, and test the project from the command line:\n\n    $ ./gradlew :app:assembleDebugProd          # assemble the debug .apk\n    $ ./gradlew :app:installDebugProd           # install the debug .apk to a connected device\n    $ ./gradlew :app:testDebugUnitTest          # assemble, install and run unit tests\n    $ ./gradlew :app:connectedDebugAndroidTest  # assemble, install and run Android tests\n\n## Directory structure\n    .\n    ├── app                    # Mobile app\n    ├── automotive             # Automotive app\n    ├── modules\n    │   ├── features\n    │   │   ├── account        # Create account and sign in pages.\n    │   │   ├── cartheme       # Automotive resources needed for the account pages.\n    │   │   ├── discover       # Discover section.\n    │   │   ├── endofyear      # End of year stats.\n    │   │   ├── filters        # Filters section.\n    │   │   ├── navigation     # Navigation utilities.\n    │   │   ├── player         # Full screen player\n    │   │   ├── podcasts       # Podcasts section.\n    │   │   ├── profile        # Profile section.\n    │   │   ├── search         # Search pages.\n    │   │   ├── settings       # Settings pages.\n    │   │   └── taskerplugin   # Plugin for integration with Tasker app.\n    │   └── services\n    │       ├── analytics      # Analytics code.\n    │       ├── compose        # Shared Compose code.\n    │       ├── images         # Image resources.\n    │       ├── localization   # Contains the strings in English and localized strings from GlotPress. \n    │       ├── model          # The database logic and entities. Also transfer objects required which aren't stored in the database.\n    │       ├── preferences    # Stores the user preferences and configuration settings.\n    │       ├── repositories   # Provides accessing to the data from the 'servers' and 'model' modules.\n    │       ├── servers        # Provides the network calls to the servers. The UI layer should access these through the 'repositories' module.\n    │       ├── ui             # Shared UI code for the 'compose' and 'views' modules. This includes the themes.\n    │       ├── utils          # Utility classes.\n    │       └── views          # Shred Only the old views code.\n\nThe hierarchy of the modules in the project are reflected in [this diagram](docs/module-diagram.png).\n\n## Contributing\n\nRead our [Contributing Guide](CONTRIBUTING.md) to learn about reporting issues, contributing code, and more ways to contribute.\n\n## Documentation\n\n- [Coding Style](docs/coding-style.md) - guidelines and validation and auto-formatting tools\n- [Pull Request Guidelines](docs/pull-request-guidelines.md) - branch naming and how to write good pull requests\n- [Translations](docs/translations.md) - how the app gets translated and how to contribute translations\n\n## Signing a Release\n\nTo build a _signed_ release, add these lines to your local.properties file\n\n    signingKeyStoreFile=/Users/username/git/secret.keystore\n    signingKeyStorePassword=\n    signingKeyAlias=\n    signingKeyPassword=\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAutomattic%2Fpocket-casts-android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAutomattic%2Fpocket-casts-android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAutomattic%2Fpocket-casts-android/lists"}