-
-
Notifications
You must be signed in to change notification settings - Fork 6.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[listprovider] Make sure content is always loaded. Fixes #16635 #10931
Conversation
9d085b0
to
eb45859
Compare
jenkins build and merge please |
jenkins is really temperamental lately. Didn't even started jobs, except for win that failed, again. |
jenkins failure is unrelated |
Can you please explain why this is correct? Setting it to invalidated is the opposite of what is currently done in both initializer and in 'immediate' reset. |
The job needs to be fired when the list is loaded, regardless if sort, limit and url have changed. |
@BigNoid this is causing a strange issue in estuary, if you have videos show up last on list and you go settings then exit out and scroll up to Videos it shows "Playlists" under Video > media sources (usually blank under the media source icons) for a second or two then vanishes. |
Yeah that is expected. Before that only happened on first window load (and after some specific calls like updated favourites/playback stopped/database update) and the list would never be loaded again. With this change the list will be updated each time the list becomes visible the first time a window is opened. Skins need to check if the list is updating or that is has more than 0 items. So it's visible for a short time while its updating. |
@BigNoid ok thanks ill get used to it. sounds like this might also fix when you do a first install and start scanning to library the home page has no files on it until you restart kodi then they show up. |
@BigNoid Ok, I've had a look at the directory provider source again and I'm not sure if this is the right approach. Currently, the whole thing is base on being initialised to an empty state; and then, only when ::Update is called changes are detected. The 'invalidated' state was only intended to be used when external changed to the content occurs; that the directory provider cannot know about. So instead of just throwing in an invalidation, we should find out an understand why this window issue is happening |
@tamland EDIT: only updating if EDIT2: |
@tamland |
Description
Set begin state to
INVALIDATED
so that dynamic content always gets fetched when the list is loaded, even if content attributes haven't changed.Motivation and Context
See http://trac.kodi.tv/ticket/16635 for full details.
One side effect of previous behaviour was that a list that had not changed it seemed to load very fast on window load. But in fact that was old content, so could potentially be out of date. Behaviour in this PR is the correct way imo.
How Has This Been Tested?
Runtime tested
Types of change
Checklist:
@phil65 @ronie @HitcherUK