From 597d3d80ffac66a5bd7338ffc6d4c56c4feda41f Mon Sep 17 00:00:00 2001 From: Niki Roo Date: Fri, 1 May 2020 11:44:45 +0200 Subject: [PATCH] fix remotelib for pg sending --- .../fanfix/library/RemoteLibraryServer.java | 44 +++++++++++++------ 1 file changed, 30 insertions(+), 14 deletions(-) diff --git a/src/be/nikiroo/fanfix/library/RemoteLibraryServer.java b/src/be/nikiroo/fanfix/library/RemoteLibraryServer.java index ef17e28b..ff22a6db 100644 --- a/src/be/nikiroo/fanfix/library/RemoteLibraryServer.java +++ b/src/be/nikiroo/fanfix/library/RemoteLibraryServer.java @@ -405,22 +405,38 @@ public class RemoteLibraryServer extends ServerObject { * @return TRUE if it was a progress event, FALSE if not */ static boolean updateProgress(Progress pg, Object rep) { - if (rep instanceof Object[]) { + boolean updateProgress = false; + if (rep instanceof Integer[] && ((Integer[]) rep).length == 3) + updateProgress = true; + if (rep instanceof Object[] && ((Object[]) rep).length >= 5 + && "UPDATE".equals(((Object[]) rep)[0])) + updateProgress = true; + + if (updateProgress) { Object[] a = (Object[]) rep; - if (a.length >= 3) { - int min = (Integer)a[0]; - int max = (Integer)a[1]; - int progress = (Integer)a[2]; - - if (min >= 0 && min <= max) { - pg.setMinMax(min, max); - pg.setProgress(progress); - if (a.length >= 4) { - pg.put("meta", a[3]); - } - return true; + int offset = 0; + if (a[0] instanceof String) { + offset = 1; + } + + int min = (Integer) a[0 + offset]; + int max = (Integer) a[1 + offset]; + int progress = (Integer) a[2 + offset]; + + Object meta = null; + if (a.length > (3 + offset)) { + meta = a[3 + offset]; + } + + if (min >= 0 && min <= max) { + pg.setMinMax(min, max); + pg.setProgress(progress); + if (meta != null) { + pg.put("meta", meta); } + + return true; } } @@ -475,7 +491,7 @@ public class RemoteLibraryServer extends ServerObject { pMeta[0] = meta; try { - action.send(new Object[] { min, max, rel, meta }); + action.send(new Object[] { "UPDATE", min, max, rel, meta }); action.rec(); } catch (Exception e) { getTraceHandler().error(e); -- 2.27.0