{"id":13614548,"url":"https://github.com/hidroh/materialistic","last_synced_at":"2025-05-15T03:07:42.740Z","repository":{"id":26207296,"uuid":"29653587","full_name":"hidroh/materialistic","owner":"hidroh","description":"A material-design Hacker News Android reader","archived":false,"fork":false,"pushed_at":"2024-05-08T04:25:13.000Z","size":46386,"stargazers_count":2307,"open_issues_count":432,"forks_count":513,"subscribers_count":93,"default_branch":"master","last_synced_at":"2025-04-14T03:08:11.677Z","etag":null,"topics":["android","dagger","hacker-news","java","news-reader","robolectric","rxandroid","rxjava"],"latest_commit_sha":null,"homepage":"https://play.google.com/store/apps/details?id=io.github.hidroh.materialistic","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hidroh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-01-22T04:03:54.000Z","updated_at":"2025-03-25T21:34:03.000Z","dependencies_parsed_at":"2022-08-25T17:00:06.491Z","dependency_job_id":"1470178c-8dc9-4a6d-ad61-be9fb4b9107d","html_url":"https://github.com/hidroh/materialistic","commit_stats":{"total_commits":1183,"total_committers":14,"mean_commits":84.5,"dds":0.0346576500422654,"last_synced_commit":"b631d5111b7487d2328f463bd95e8507c74c3566"},"previous_names":[],"tags_count":67,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hidroh%2Fmaterialistic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hidroh%2Fmaterialistic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hidroh%2Fmaterialistic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hidroh%2Fmaterialistic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hidroh","download_url":"https://codeload.github.com/hidroh/materialistic/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254264769,"owners_count":22041794,"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","dagger","hacker-news","java","news-reader","robolectric","rxandroid","rxjava"],"created_at":"2024-08-01T20:01:02.977Z","updated_at":"2025-05-15T03:07:37.731Z","avatar_url":"https://github.com/hidroh.png","language":"Java","readme":"## Materialistic for Hacker News\nMaterial design [Hacker News] client for Android, uses official [HackerNews/API], [Dagger] for dependency injection.\n\n[![Get it on Google Play][Play Store Badge]][Play Store]\n\n### Setup\n**Requirements**\n- JDK 11\n- Latest Android SDK tools\n- Latest Android platform tools\n- AndroidX\n\n**Dependencies**\n- [Official Hacker News API][HackerNews/API], user services (e.g. login/create account/vote/comment) rely on redirect requests to Hacker News website\n- [Algolia Hacker News Search API]\n- [Mercury Web Parser API]\n- [Android Jetpack]: appcompat-v7 / recyclerview-v7 / design / cardview-v7 / preference-v7 / customtabs\n- Square [Retrofit] / [OkHttp] / [AssertJ] / [Dagger] / [LeakCanary]\n- [RxJava] \u0026 [RxAndroid]\n- [PDF.js]\n\n**Build**\n\n    ./gradlew assembleDebug\n\nBuild with LeakCanary on\n\n    ./gradlew assembleDebug -Pleak\n\nGrab your Mercury Web Parser API key [here][mercury] if you want to connect to Mercury.\n\n### Articles\n- [Supporting multiple themes in your Android app (Part 1)][article-theme1]\n- [Supporting multiple themes in your Android app (Part 2)][article-theme2] [![][Android Weekly 144 Badge]][Android Weekly 144]\n- [Building custom preferences with preference-v7][article-preference]\n- [Hacking up an ad blocker for Android][article-adblocker]\n- [Bottom sheet everything][article-bottom-sheet] [![][AndroidDev Digest 99 Badge]][AndroidDev Digest 99] [![][Android Weekly 227 Badge]][Android Weekly 227]\n\n### Screenshots\n\u003cimg src=\"assets/screenshot-1.png\" width=\"200px\" /\u003e\n\u003cimg src=\"assets/screenshot-2.png\" width=\"200px\" /\u003e\n\u003cimg src=\"assets/screenshot-3.png\" width=\"200px\" /\u003e\n\u003cimg src=\"assets/screenshot-4.png\" width=\"600px\" /\u003e\n\n### Contributing\nContributions are always welcome. Please make sure you read [Contributing notes](CONTRIBUTING.md) first.\n\n### License\n    Copyright 2015 Ha Duy Trung\n    \n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compliance with the License.\n    You may obtain a copy of the License at\n    \n        http://www.apache.org/licenses/LICENSE-2.0\n    \n    Unless required by applicable law or agreed to in writing, software\n    distributed under the License is distributed on an \"AS IS\" BASIS,\n    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n    See the License for the specific language governing permissions and\n    limitations under the License.\n\n[Hacker News]: https://news.ycombinator.com/\n[HackerNews/API]: https://github.com/HackerNews/API\n[Play Store]: https://play.google.com/store/apps/details?id=io.github.hidroh.materialistic\u0026referrer=utm_source%3Dgithub\n[Play Store Badge]: https://play.google.com/intl/en_us/badges/images/badge_new.png\n[Algolia Hacker News Search API]: https://github.com/algolia/hn-search\n[Mercury Web Parser API]: https://mercury.postlight.com/web-parser/\n[AOSP support library]: https://developer.android.com/tools/support-library/features.html\n[Retrofit]: https://github.com/square/retrofit\n[OkHttp]: https://github.com/square/okhttp\n[AssertJ]: https://github.com/square/assertj-android\n[Dagger]: https://github.com/square/dagger\n[LeakCanary]: https://github.com/square/leakcanary\n[RxJava]: https://github.com/ReactiveX/RxJava\n[RxAndroid]: https://github.com/ReactiveX/RxAndroid\n[mercury]: https://mercury.postlight.com/web-parser/\n[article-theme1]: http://www.hidroh.com/2015/02/16/support-multiple-themes-android-app/\n[article-theme2]: http://www.hidroh.com/2015/02/25/support-multiple-themes-android-app-part-2/\n[article-preference]: http://www.hidroh.com/2015/11/30/building-custom-preferences-v7/\n[article-adblocker]: http://www.hidroh.com/2016/05/19/hacking-up-ad-blocker-android/\n[article-bottom-sheet]: http://www.hidroh.com/2016/06/17/bottom-sheet-everything/\n[Android Weekly 144 Badge]: https://img.shields.io/badge/android--weekly-144-blue.svg\n[Android Weekly 227 Badge]: https://img.shields.io/badge/android--weekly-227-blue.svg\n[Android Weekly 144]: http://androidweekly.net/issues/issue-144\n[Android Weekly 227]: http://androidweekly.net/issues/issue-227\n[AndroidDev Digest 99 Badge]: https://img.shields.io/badge/androiddev--digest-99-blue.svg\n[AndroidDev Digest 99]: https://www.androiddevdigest.com/digest-99/\n[PDF.js]: https://mozilla.github.io/pdf.js/\n","funding_links":[],"categories":[":shamrock:  **Categories**","Others","Android Apps","Java"],"sub_categories":[":newspaper: News","Clean Architecture","Android News"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhidroh%2Fmaterialistic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhidroh%2Fmaterialistic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhidroh%2Fmaterialistic/lists"}