xbmc / Official-Kodi-Remote-iOS

Full-featured remote control for XBMC Media Center. It features library browsing, now playing informations and a direct remote control.
Other
224 stars 104 forks source link

Feature: Support listing/loading profiles #1155

Open wutschel opened 2 months ago

wutschel commented 2 months ago

Description

Closes https://github.com/xbmc/Official-Kodi-Remote-iOS/issues/38.

This PR implements support for user profiles. Profiles can be reached via the Settings menu. The available profiles (incl. thumbnails) are listed, and the current active profile is highlighted. When selecting another profile it is attempted to load it.

Screenshots: Bildschirmfoto-2024-09-30-um-12-15-10

Summary for release notes

Feature: Support listing/loading profiles

wutschel commented 1 month ago

Testing shows some more problems which are not completely resolved:

  1. When loading a new profile, TCP is ended and not reconnected. A forced reconnect resolves this.
  2. Profiles.LoadProfile returns before Kodi finished loading the profile. Forcing reconnect here resolves the lost TCP connection, but the new profile might still not be changed.
  3. Profile is only read at connect. Any profile change via Kodi UI or via another remote is not recognized. Only polling would suffice.
wutschel commented 1 month ago

There are two paths possible

Letting the app's cached library views depend on user profile

Needs polling of user profile and has several implications to update the current view in case the user profile was changed. E.g. this would require reloading of the movie list view (and any other cached view) if the user profile changed.

Ignore the user profile in the app's cache

This is more in line with current behaviour. Cache does not take the user profile into account. If the user changes the profile, a manual pull-to-sync might be required to update the views to the new access rights. In this case changing the user profile is treated like a Kodi setting which the app can read and set.