{"id":18255450,"url":"https://github.com/roroche/androidmodularreloaded","last_synced_at":"2025-09-07T21:46:01.959Z","repository":{"id":217038123,"uuid":"98911221","full_name":"RoRoche/AndroidModularReloaded","owner":"RoRoche","description":"A sample Android application to demonstrate how to build screens as fully independent modules.","archived":false,"fork":false,"pushed_at":"2020-04-26T16:50:25.000Z","size":225,"stargazers_count":9,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-01-14T07:50:47.185Z","etag":null,"topics":["android","android-app","android-application","android-architecture-component","android-architecture-components","android-components","android-development","android-library","dagger2","dagger2-android","daggermock","easyflow","fragment-backstack","fragments","fsm","independant-modules","navigation","viewmodel"],"latest_commit_sha":null,"homepage":"","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/RoRoche.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-07-31T17:09:40.000Z","updated_at":"2024-01-14T07:51:04.545Z","dependencies_parsed_at":"2024-01-14T08:05:08.540Z","dependency_job_id":null,"html_url":"https://github.com/RoRoche/AndroidModularReloaded","commit_stats":null,"previous_names":["roroche/androidmodularreloaded"],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoRoche%2FAndroidModularReloaded","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoRoche%2FAndroidModularReloaded/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoRoche%2FAndroidModularReloaded/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoRoche%2FAndroidModularReloaded/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RoRoche","download_url":"https://codeload.github.com/RoRoche/AndroidModularReloaded/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223150654,"owners_count":17095959,"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","android-app","android-application","android-architecture-component","android-architecture-components","android-components","android-development","android-library","dagger2","dagger2-android","daggermock","easyflow","fragment-backstack","fragments","fsm","independant-modules","navigation","viewmodel"],"created_at":"2024-11-05T10:16:28.153Z","updated_at":"2024-11-05T10:16:28.879Z","avatar_url":"https://github.com/RoRoche.png","language":"Java","readme":"# AndroidModularReloaded\n\n[AndroidModularSample](https://github.com/RoRoche/AndroidModularSample) reloaded!\n\n[![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-AndroidModularReloaded-brightgreen.svg?style=flat)](https://android-arsenal.com/details/3/6337)\n\n![logo](https://raw.githubusercontent.com/RoRoche/AndroidModularReloaded/master/assets/logo.png)\n\n## Goals\n\n- Use native Android SDK as much as possible (Fragment, ViewModel)\n- Support configuration changes\n\n## Opportunities\n\n- [Dagger2 Android support](https://google.github.io/dagger//android.html):\n    - Keep in mind that Android framework classes are instantiated by the OS itself\n    - The type requesting injection doesn't need to know about its injector anymore\n- Android Architecture Components to build _lifecycle-aware_ components\n- Unit test `Fragment`(s) from modules with the convenient [DaggerMock](https://github.com/fabioCollini/DaggerMock/) and [FragmentTestRule](https://github.com/21Buttons/FragmentTestRule) libraries\n\n## Steps\n\n1. Providing Proper Back Navigation: \u003chttps://developer.android.com/training/implementing-navigation/temporal.html\u003e\n2. Set-up Dagger2 for Android\n3. Set-up and share EasyFlow though [ViewModel](https://developer.android.com/topic/libraries/architecture/viewmodel.html#sharing_data_between_fragments)\n\n## Logo credits\n\nArrows graphic by \u003ca href=\"http://www.flaticon.com/authors/roundicons\"\u003eroundicons\u003c/a\u003e from \u003ca href=\"http://www.flaticon.com/\"\u003eFlaticon\u003c/a\u003e is licensed under \u003ca href=\"http://creativecommons.org/licenses/by/3.0/\" title=\"Creative Commons BY 3.0\"\u003eCC BY 3.0\u003c/a\u003e. Check out the new logo that I created on \u003ca href=\"http://logomakr.com\" title=\"Logo Maker\"\u003eLogoMaker.com\u003c/a\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froroche%2Fandroidmodularreloaded","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froroche%2Fandroidmodularreloaded","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froroche%2Fandroidmodularreloaded/lists"}