Merge pull request #1441 from 1hitsong/fixPlaybackInfoPopup

This commit is contained in:
Charles Ewert 2023-10-28 10:03:40 -04:00 committed by GitHub
commit e055aa79c8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 23 additions and 12 deletions

View File

@ -35,7 +35,7 @@ end function
' Returns an array of playback info to be displayed during playback.
' In the future, with a custom playback info view, we can return an associated array.
sub getPlaybackInfoTask()
sessions = api.sessions.Get()
sessions = api.sessions.Get({ "deviceId": m.global.device.serverDeviceName })
m.playbackInfo = ItemPostPlaybackInfo(m.top.videoID)

View File

@ -119,7 +119,6 @@ function LoginFlow()
else
print "Success! Auth token is still valid"
session.user.Login(currentUser, true)
session.user.LoadUserPreferences()
LoadUserAbilities()
return true
end if
@ -132,7 +131,6 @@ function LoginFlow()
if isValid(userData)
print "login success!"
session.user.Login(userData, true)
session.user.LoadUserPreferences()
LoadUserAbilities()
return true
else
@ -175,7 +173,6 @@ function LoginFlow()
if isValid(userData)
print "login success!"
session.user.Login(userData, true)
session.user.LoadUserPreferences()
LoadUserAbilities()
return true
else
@ -201,7 +198,6 @@ function LoginFlow()
goto start_login
end if
session.user.LoadUserPreferences()
LoadUserAbilities()
m.global.sceneManager.callFunc("clearScenes")

View File

@ -468,7 +468,8 @@ end sub
' Returns an array of playback info to be displayed during playback.
' In the future, with a custom playback info view, we can return an associated array.
function GetPlaybackInfo()
sessions = api.sessions.Get()
sessions = api.sessions.Get({ "deviceId": m.global.device.serverDeviceName })
if isValid(sessions) and sessions.Count() > 0
return GetTranscodingStats(sessions[0])
end if

View File

@ -205,11 +205,7 @@ function authRequest(request as object) as object
auth = auth + ", UserId=" + QUOTE + m.global.session.user.id + QUOTE
end if
if m.global.session.user <> invalid and m.global.session.user.friendlyName <> invalid
auth = auth + ", DeviceId=" + QUOTE + m.global.device.id + m.global.session.user.friendlyName + QUOTE
else
auth = auth + ", DeviceId=" + QUOTE + m.global.device.id + QUOTE
end if
auth = auth + ", DeviceId=" + QUOTE + m.global.device.serverDeviceName + QUOTE
if m.global.session.user.authToken <> invalid
auth = auth + ", Token=" + QUOTE + m.global.session.user.authToken + QUOTE

View File

@ -1374,7 +1374,7 @@ namespace api
end function
' Gets a list of sessions.
function Get(params = { "deviceId": m.global.device.id } as object)
function Get(params = { "deviceId": m.global.device.serverDeviceName } as object)
req = APIRequest("/sessions", params)
return getJson(req)
end function

View File

@ -107,6 +107,7 @@ sub SaveDeviceToGlobal()
uuid: deviceInfo.GetRandomUUID(),
name: displayName,
friendlyName: filteredFriendly,
serverDeviceName: deviceInfo.getChannelClientID(),
model: deviceInfo.GetModel(),
modelType: deviceInfo.GetModelType(),
modelDetails: deviceInfo.GetModelDetails(),

View File

@ -173,10 +173,24 @@ namespace session
set_user_setting("token", tmpSession.user.authToken)
set_user_setting("username", tmpSession.user.name)
end if
session.user.LoadUserPreferences()
end sub
' Sets the global server device name value used by the API
sub SetServerDeviceName()
if isValid(m.global.session.user) and isValid(m.global.session.user.friendlyName)
m.global.device.serverDeviceName = m.global.device.id + m.global.session.user.friendlyName
else
m.global.device.serverDeviceName = m.global.device.id
end if
end sub
' Load and parse Display Settings from server
sub LoadUserPreferences()
' Save device id so we don't calculate it every time we need it
session.user.SetServerDeviceName()
id = m.global.session.user.id
' Currently using client "emby", which is what website uses so we get same Display prefs as web.
' May want to change to specific Roku display settings
@ -337,6 +351,9 @@ namespace session
session.user.settings.Save(item, get_setting(item))
end if
end for
' Reset server device name state
session.user.SetServerDeviceName()
end sub
' Saves the user setting to the global session.