{"action":"created","issue":{"url":"https://api.github.com/repos/xbmc/Kore/issues/116","labels_url":"https://api.github.com/repos/xbmc/Kore/issues/116/labels{/name}","comments_url":"https://api.github.com/repos/xbmc/Kore/issues/116/comments","events_url":"https://api.github.com/repos/xbmc/Kore/issues/116/events","html_url":"https://github.com/xbmc/Kore/pull/116","id":104447460,"number":116,"title":"Improved keeping user informed on sync progress","user":{"login":"poisdeux","id":4527626,"avatar_url":"https://avatars.githubusercontent.com/u/4527626?v=3","gravatar_id":"","url":"https://api.github.com/users/poisdeux","html_url":"https://github.com/poisdeux","followers_url":"https://api.github.com/users/poisdeux/followers","following_url":"https://api.github.com/users/poisdeux/following{/other_user}","gists_url":"https://api.github.com/users/poisdeux/gists{/gist_id}","starred_url":"https://api.github.com/users/poisdeux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/poisdeux/subscriptions","organizations_url":"https://api.github.com/users/poisdeux/orgs","repos_url":"https://api.github.com/users/poisdeux/repos","events_url":"https://api.github.com/users/poisdeux/events{/privacy}","received_events_url":"https://api.github.com/users/poisdeux/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-09-02T10:17:45Z","updated_at":"2015-10-05T21:14:27Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/xbmc/Kore/pulls/116","html_url":"https://github.com/xbmc/Kore/pull/116","diff_url":"https://github.com/xbmc/Kore/pull/116.diff","patch_url":"https://github.com/xbmc/Kore/pull/116.patch"},"body":"Implemented binding to LibrarySyncService to check if there are items currently\r\nsyncing or queued to sync. This makes it possible to inform user of background\r\nsync processes. \r\nEspecially with slow devices running Kodi and/or large libraries, syncing takes a long time. When switching between different screens the refresh animation would not show. By checking if a sync process for the currently displayed items is still in progress we now manually start the refresh animation or not.\r\n\r\nRedesigned the code quite a bit to prevent me from having to copy/paste duplicate code into every list fragment that should notify user of a running sync process. For this I created two abstract classes.\r\nHope you don't object :).\r\n\r\nThis pull request also fixes an issue with SwipeRefreshLayout from appcompat library. It does not\r\nalways show the refresh animation when refresh is set to true. See https://code.google.com/p/android/issues/detail?id=77712 for details"},"comment":{"url":"https://api.github.com/repos/xbmc/Kore/issues/comments/145670226","html_url":"https://github.com/xbmc/Kore/pull/116#issuecomment-145670226","issue_url":"https://api.github.com/repos/xbmc/Kore/issues/116","id":145670226,"user":{"login":"SyncedSynapse","id":6040384,"avatar_url":"https://avatars.githubusercontent.com/u/6040384?v=3","gravatar_id":"","url":"https://api.github.com/users/SyncedSynapse","html_url":"https://github.com/SyncedSynapse","followers_url":"https://api.github.com/users/SyncedSynapse/followers","following_url":"https://api.github.com/users/SyncedSynapse/following{/other_user}","gists_url":"https://api.github.com/users/SyncedSynapse/gists{/gist_id}","starred_url":"https://api.github.com/users/SyncedSynapse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SyncedSynapse/subscriptions","organizations_url":"https://api.github.com/users/SyncedSynapse/orgs","repos_url":"https://api.github.com/users/SyncedSynapse/repos","events_url":"https://api.github.com/users/SyncedSynapse/events{/privacy}","received_events_url":"https://api.github.com/users/SyncedSynapse/received_events","type":"User","site_admin":false},"created_at":"2015-10-05T21:14:27Z","updated_at":"2015-10-05T21:14:27Z","body":"I would like to apologize for taking so long to check this. It looked like a big change so i didn't dive into it, but it's actually straightforward.\r\n\r\nSo, first of all, i had some trouble merging this, given the current state of the repo. Git complains about `ArtistListFragment.java`, so i had to do a `git apply --reject` and manually incorporate the rejected changes (this might be because i changed the `MediaManager` name in a previous PR). Github isn't complaining, so it is possible that it might be able to merge it seamlessly, but i'm not sure i want to try it blindly.\r\n\r\nI'd like to ask you to confirm this. Could you get a current version of the repo, apply this PR and check the rejections. The corrected `ArtistListFragment.java` is here: http://pastebin.com/2XjPkZCC.\r\n\r\nI haven't checked every line of code, but afaict you have 2 big changes here:\r\n1. The first is a refactoring of the lists code, which makes sense and should have been done from the start (guess i was lazy or in a hurry to just have something working...).\r\n2. The second is making the `LibrarySyncService` boundable, so that when the list is entered you can check if an update is running and show the refresh animation.\r\n\r\nIs this it, or did i miss something? Should i be aware of/check anything else that might be going on?\r\n\r\nLastly, i'm only able to test this for the music library. My movies and tv shows library sync too fast to be able to get out of that screen and return to it before the sync finishes. Have you been able to test those?\r\n\r\nThanks"}}