{"action":"created","issue":{"url":"https://api.github.com/repos/the-blue-alliance/the-blue-alliance-android/issues/427","labels_url":"https://api.github.com/repos/the-blue-alliance/the-blue-alliance-android/issues/427/labels{/name}","comments_url":"https://api.github.com/repos/the-blue-alliance/the-blue-alliance-android/issues/427/comments","events_url":"https://api.github.com/repos/the-blue-alliance/the-blue-alliance-android/issues/427/events","html_url":"https://github.com/the-blue-alliance/the-blue-alliance-android/issues/427","id":84269855,"number":427,"title":"[App v3] Move Network Requests to Retrofit","user":{"login":"phil-lopreiato","id":2754863,"avatar_url":"https://avatars.githubusercontent.com/u/2754863?v=3","gravatar_id":"","url":"https://api.github.com/users/phil-lopreiato","html_url":"https://github.com/phil-lopreiato","followers_url":"https://api.github.com/users/phil-lopreiato/followers","following_url":"https://api.github.com/users/phil-lopreiato/following{/other_user}","gists_url":"https://api.github.com/users/phil-lopreiato/gists{/gist_id}","starred_url":"https://api.github.com/users/phil-lopreiato/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/phil-lopreiato/subscriptions","organizations_url":"https://api.github.com/users/phil-lopreiato/orgs","repos_url":"https://api.github.com/users/phil-lopreiato/repos","events_url":"https://api.github.com/users/phil-lopreiato/events{/privacy}","received_events_url":"https://api.github.com/users/phil-lopreiato/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/the-blue-alliance/the-blue-alliance-android/milestones/12","html_url":"https://github.com/the-blue-alliance/the-blue-alliance-android/milestones/Full%20App%20Rewrite","labels_url":"https://api.github.com/repos/the-blue-alliance/the-blue-alliance-android/milestones/12/labels","id":1041003,"number":12,"title":"Full App Rewrite","description":"To be done in the 2015 offseason - improve the underlying data models to make the app faster, more scalable, and testable. ","creator":{"login":"phil-lopreiato","id":2754863,"avatar_url":"https://avatars.githubusercontent.com/u/2754863?v=3","gravatar_id":"","url":"https://api.github.com/users/phil-lopreiato","html_url":"https://github.com/phil-lopreiato","followers_url":"https://api.github.com/users/phil-lopreiato/followers","following_url":"https://api.github.com/users/phil-lopreiato/following{/other_user}","gists_url":"https://api.github.com/users/phil-lopreiato/gists{/gist_id}","starred_url":"https://api.github.com/users/phil-lopreiato/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/phil-lopreiato/subscriptions","organizations_url":"https://api.github.com/users/phil-lopreiato/orgs","repos_url":"https://api.github.com/users/phil-lopreiato/repos","events_url":"https://api.github.com/users/phil-lopreiato/events{/privacy}","received_events_url":"https://api.github.com/users/phil-lopreiato/received_events","type":"User","site_admin":false},"open_issues":5,"closed_issues":4,"state":"open","created_at":"2015-03-27T01:29:24Z","updated_at":"2015-06-02T23:58:05Z","due_on":null,"closed_at":null},"comments":5,"created_at":"2015-06-02T23:55:42Z","updated_at":"2015-06-03T00:39:13Z","closed_at":null,"body":"Add [Retrofit](https://github.com/square/retrofit) library and define an API interface with a single endpoint (use hose tba.com/api/v2) with the endpoint as a single paramter.\r\n\r\nThis way, we can use Retrofit's capability to return an Observable with the network result. We need to migrate our network stack to work with Observables and have something consume them.\r\n\r\nWe will need to refactor RefreshableHost a bit. I'm thinking it consumes all incoming network Observables for the Activity. The child Fragments can report which endpoints they require (some `public static final` variable, maybe) and be notified when each endpoint comes in, and when all requests are loaded. The RefreshableHost will hold all the content, which the children can query and process. This allows us to eliminate all the `Populate*` tasks"},"comment":{"url":"https://api.github.com/repos/the-blue-alliance/the-blue-alliance-android/issues/comments/108143586","html_url":"https://github.com/the-blue-alliance/the-blue-alliance-android/issues/427#issuecomment-108143586","issue_url":"https://api.github.com/repos/the-blue-alliance/the-blue-alliance-android/issues/427","id":108143586,"user":{"login":"nwalters512","id":1476544,"avatar_url":"https://avatars.githubusercontent.com/u/1476544?v=3","gravatar_id":"","url":"https://api.github.com/users/nwalters512","html_url":"https://github.com/nwalters512","followers_url":"https://api.github.com/users/nwalters512/followers","following_url":"https://api.github.com/users/nwalters512/following{/other_user}","gists_url":"https://api.github.com/users/nwalters512/gists{/gist_id}","starred_url":"https://api.github.com/users/nwalters512/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nwalters512/subscriptions","organizations_url":"https://api.github.com/users/nwalters512/orgs","repos_url":"https://api.github.com/users/nwalters512/repos","events_url":"https://api.github.com/users/nwalters512/events{/privacy}","received_events_url":"https://api.github.com/users/nwalters512/received_events","type":"User","site_admin":false},"created_at":"2015-06-03T00:39:13Z","updated_at":"2015-06-03T00:39:13Z","body":"If we want to continue to use our own caching, we'll have no choice but to build our own observables at least half the time, and I think it's best that we always build our own for consistency's sake."}}