{"id":17979032,"url":"https://github.com/lykhonis/mvp","last_synced_at":"2025-04-04T00:40:40.503Z","repository":{"id":32520408,"uuid":"36101652","full_name":"lykhonis/MVP","owner":"lykhonis","description":"New Android -\u003e MVP, DI, Unit Testing in Android","archived":false,"fork":false,"pushed_at":"2015-06-26T16:02:40.000Z","size":156,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-09T12:29:34.133Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/lykhonis.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}},"created_at":"2015-05-23T00:51:33.000Z","updated_at":"2015-05-23T00:56:24.000Z","dependencies_parsed_at":"2022-09-03T09:02:56.035Z","dependency_job_id":null,"html_url":"https://github.com/lykhonis/MVP","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lykhonis%2FMVP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lykhonis%2FMVP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lykhonis%2FMVP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lykhonis%2FMVP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lykhonis","download_url":"https://codeload.github.com/lykhonis/MVP/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247103301,"owners_count":20884023,"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":[],"created_at":"2024-10-29T17:36:01.648Z","updated_at":"2025-04-04T00:40:40.477Z","avatar_url":"https://github.com/lykhonis.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Movel-View-Presenter for Android\n\n#### Presenter\nPresenter is base class to extend from to make presenters per view. Calling `create` to create new presenter instace. In the example caching technique is used to cache presenters. Presenters will survive configuration changes and will be removed only in a case of finishing activity.\n\nE.g. In a case of Fragment being View (MVP)\n\n```java\n@Override\npublic void onViewCreated(View view, Bundle savedInstanceState) {\n  super.onViewCreated(view, savedInstanceState);\n  mPresenter.attachView(this);\n}\n\n@Override\npublic void onDestroyView() {\n  super.onDestroyView();\n  mPresenter.detachView(!getActivity().isFinishing());\n}\n```\n\nThere is still space for saving/restoring state through Bundle though. But even in this case, if we lose process (heap) state, we will consider it as fresh start and reload data. This is extreme case and may be ignored to keep code clean and maintainable.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flykhonis%2Fmvp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flykhonis%2Fmvp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flykhonis%2Fmvp/lists"}