Pb chargement animation TWINKLY

voici une animation chargée en erreur (pourtant l’animation existe) :

[2021-12-18 09:46:36][DEBUG] TwinklyString::new(xxxxxxxxxx)
[2021-12-18 09:46:36][DEBUG]     + Read auth data from cache : {"auth_token":"xxxxxxxxx=","expiry":1639820709}
[2021-12-18 09:46:36][DEBUG]
[2021-12-18 09:46:36][DEBUG] TwinklyString::upload_movie2(/tmp/jeedom/kTwinkly/movie_344_20211217145340_Bonbons.zip.bin, {"code":0,"descriptor_type":"rgb_raw","fps":12,"frames_number":40,"id":0,"leds_per_frame":250,"name":"Bonbons","unique_id":"64dc483d-ad73-4b0b-af84-f048cab21847"}, )
[2021-12-18 09:46:36][DEBUG]   * Switch device off
[2021-12-18 09:46:36][DEBUG] TwinklyString::set_mode(off)
[2021-12-18 09:46:36][DEBUG] >>>> API [POST : led/mode] - auth=1 verifyauth=1 - POST data : {"mode":"off"}
[2021-12-18 09:46:37][DEBUG] <<<< API RESULT : {"code":1000}
[2021-12-18 09:46:37][DEBUG]
[2021-12-18 09:46:37][DEBUG]   * Get existing movies list from controller
[2021-12-18 09:46:37][DEBUG] TwinklyString::get_movies
[2021-12-18 09:46:37][DEBUG] >>>> API [GET : movies] - auth=1
[2021-12-18 09:46:37][DEBUG] <<<< API RESULT : {"movies":[{"id":0,"name":"Neige","unique_id":"6A48D79B-3D4A-4177-B4F2-5875DC66E36A","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":80,"fps":18},{"id":1,"name":"Étincelles","unique_id":"8DE21ABB-0AAE-4C96-B7CA-8A71C8A5CFCB","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":60,"fps":15},{"id":2,"name":"Night Sky","unique_id":"899CA19C-136F-4CC9-AF2A-4177ABA97EF9","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":75,"fps":24},{"id":3,"name":"Cascade de coul","unique_id":"4A5FE43C-864C-4DAF-9175-C24C6E42D788","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":74,"fps":24},{"id":4,"name":"Chutes de coule","unique_id":"959045F1-477B-4A02-84F9-8D1772EA89AA","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":164,"fps":21},{"id":5,"name":"Explosion color","unique_id":"0973E458-A247-41EA-891B-67E88B537562","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":180,"fps":16},{"id":6,"name":"Twister","unique_id":"2EC67C6D-67AF-481A-830A-DE1BB6BEE7EA","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":163,"fps":24},{"id":7,"name":"Feux d'artifice","unique_id":"A0BC9320-70FE-418A-AF71-028F26AF5BE7","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":125,"fps":19},{"id":8,"name":"Pulsation","unique_id":"C19E71CC-7DD9-4A11-B5B5-F6DC02293E96","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":60,"fps":15},{"id":9,"name":"Scanner","unique_id":"2AB15B40-AC51-4C16-A333-87B2AC53DCD0","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":80,"fps":18},{"id":10,"name":"Haut-Bas","unique_id":"E0E7BAD8-B221-4456-B8E6-0B134CC307D3","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":80,"fps":15},{"id":11,"name":"Arc-en-ciel cla","unique_id":"FDE6F4D1-3A29-438F-A7CE-4C4E2D358798","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":100,"fps":10},{"id":12,"name":"Unicorn Sun","unique_id":"9038EADA-2AA0-40FC-B0CF-ED9110704C6B","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":75,"fps":24},{"id":13,"name":"Neige colorée","unique_id":"3E1A2FB9-F9C2-48CD-BD73-AE600A5FA70E","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":641,"fps":24},{"id":14,"name":"Wed. Day Blues","unique_id":"35A73BFE-B393-4614-9C10-BEC8C38A6117","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":75,"fps":24},{"id":15,"name":"Ondes","unique_id":"51C22A92-09D8-4C80-904C-5CBD44D9F364","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":212,"fps":15}],"available_frames":3066,"max_capacity":5397,"code":1000}
[2021-12-18 09:46:37][DEBUG]
[2021-12-18 09:46:37][DEBUG]   * Requested movie does not exist on controller : uploading movie to device
[2021-12-18 09:46:37][DEBUG] TwinklyString::add_movie(bindata, {"code":0,"descriptor_type":"rgb_raw","fps":12,"frames_number":40,"id":0,"leds_per_frame":250,"name":"Bonbons","unique_id":"64dc483d-ad73-4b0b-af84-f048cab21847"})
[2021-12-18 09:46:37][DEBUG]   Call /movies to get list of movies in controller and check available memory
[2021-12-18 09:46:37][DEBUG] >>>> API [GET : movies] - auth=1
[2021-12-18 09:46:37][DEBUG] <<<< API RESULT : {"movies":[{"id":0,"name":"Neige","unique_id":"6A48D79B-3D4A-4177-B4F2-5875DC66E36A","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":80,"fps":18},{"id":1,"name":"Étincelles","unique_id":"8DE21ABB-0AAE-4C96-B7CA-8A71C8A5CFCB","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":60,"fps":15},{"id":2,"name":"Night Sky","unique_id":"899CA19C-136F-4CC9-AF2A-4177ABA97EF9","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":75,"fps":24},{"id":3,"name":"Cascade de coul","unique_id":"4A5FE43C-864C-4DAF-9175-C24C6E42D788","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":74,"fps":24},{"id":4,"name":"Chutes de coule","unique_id":"959045F1-477B-4A02-84F9-8D1772EA89AA","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":164,"fps":21},{"id":5,"name":"Explosion color","unique_id":"0973E458-A247-41EA-891B-67E88B537562","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":180,"fps":16},{"id":6,"name":"Twister","unique_id":"2EC67C6D-67AF-481A-830A-DE1BB6BEE7EA","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":163,"fps":24},{"id":7,"name":"Feux d'artifice","unique_id":"A0BC9320-70FE-418A-AF71-028F26AF5BE7","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":125,"fps":19},{"id":8,"name":"Pulsation","unique_id":"C19E71CC-7DD9-4A11-B5B5-F6DC02293E96","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":60,"fps":15},{"id":9,"name":"Scanner","unique_id":"2AB15B40-AC51-4C16-A333-87B2AC53DCD0","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":80,"fps":18},{"id":10,"name":"Haut-Bas","unique_id":"E0E7BAD8-B221-4456-B8E6-0B134CC307D3","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":80,"fps":15},{"id":11,"name":"Arc-en-ciel cla","unique_id":"FDE6F4D1-3A29-438F-A7CE-4C4E2D358798","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":100,"fps":10},{"id":12,"name":"Unicorn Sun","unique_id":"9038EADA-2AA0-40FC-B0CF-ED9110704C6B","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":75,"fps":24},{"id":13,"name":"Neige colorée","unique_id":"3E1A2FB9-F9C2-48CD-BD73-AE600A5FA70E","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":641,"fps":24},{"id":14,"name":"Wed. Day Blues","unique_id":"35A73BFE-B393-4614-9C10-BEC8C38A6117","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":75,"fps":24},{"id":15,"name":"Ondes","unique_id":"51C22A92-09D8-4C80-904C-5CBD44D9F364","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":212,"fps":15}],"available_frames":3066,"max_capacity":5397,"code":1000}
[2021-12-18 09:46:37][DEBUG]
[2021-12-18 09:46:37][DEBUG]   Send new movie metadata to controller
[2021-12-18 09:46:37][DEBUG] >>>> API [POST : movies/new] - auth=1 verifyauth=1 - POST data : {"code":0,"descriptor_type":"rgb_raw","fps":12,"frames_number":40,"id":0,"leds_per_frame":250,"name":"Bonbons","unique_id":"64dc483d-ad73-4b0b-af84-f048cab21847"}
[2021-12-18 09:46:37][DEBUG] <<<< API RESULT : {"code":1109}
[2021-12-18 09:46:37][DEBUG]
[2021-12-18 09:46:37][ERROR]   add_movie step 1 (movies/new) error : {"code":1109}
[2021-12-18 09:46:37][DEBUG]
1 « J'aime »

j’ai quelques erreurs encore parfois. voici des logs (j’ai masqué les IP et le token)
voici un log d’une animation qui fonctionne :

[2021-12-18 09:44:42][DEBUG] TwinklyString::new(xxxxxxxxxxxxxxxxx)
[2021-12-18 09:44:42][DEBUG]     + Read auth data from cache : {"auth_token":"xxxxxxxxxxx=","expiry":1639820709}
[2021-12-18 09:44:42][DEBUG]
[2021-12-18 09:44:42][DEBUG] TwinklyString::upload_movie2(/tmp/jeedom/kTwinkly/movie_344_20211217145340_Ondes.zip.bin, {"code":0,"descriptor_type":"rgb_raw","fps":15,"frames_number":212,"id":0,"leds_per_frame":250,"name":"Ondes","unique_id":"51c22a92-09d8-4c80-904c-5cbd44d9f364"}, )
[2021-12-18 09:44:42][DEBUG]   * Switch device off
[2021-12-18 09:44:42][DEBUG] TwinklyString::set_mode(off)
[2021-12-18 09:44:42][DEBUG] >>>> API [POST : led/mode] - auth=1 verifyauth=1 - POST data : {"mode":"off"}
[2021-12-18 09:44:42][DEBUG] <<<< API RESULT : {"code":1000}
[2021-12-18 09:44:42][DEBUG]
[2021-12-18 09:44:42][DEBUG]   * Get existing movies list from controller
[2021-12-18 09:44:42][DEBUG] TwinklyString::get_movies
[2021-12-18 09:44:42][DEBUG] >>>> API [GET : movies] - auth=1
[2021-12-18 09:44:42][DEBUG] <<<< API RESULT : {"movies":[{"id":0,"name":"Neige","unique_id":"6A48D79B-3D4A-4177-B4F2-5875DC66E36A","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":80,"fps":18},{"id":1,"name":"Étincelles","unique_id":"8DE21ABB-0AAE-4C96-B7CA-8A71C8A5CFCB","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":60,"fps":15},{"id":2,"name":"Night Sky","unique_id":"899CA19C-136F-4CC9-AF2A-4177ABA97EF9","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":75,"fps":24},{"id":3,"name":"Cascade de coul","unique_id":"4A5FE43C-864C-4DAF-9175-C24C6E42D788","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":74,"fps":24},{"id":4,"name":"Chutes de coule","unique_id":"959045F1-477B-4A02-84F9-8D1772EA89AA","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":164,"fps":21},{"id":5,"name":"Explosion color","unique_id":"0973E458-A247-41EA-891B-67E88B537562","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":180,"fps":16},{"id":6,"name":"Twister","unique_id":"2EC67C6D-67AF-481A-830A-DE1BB6BEE7EA","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":163,"fps":24},{"id":7,"name":"Feux d'artifice","unique_id":"A0BC9320-70FE-418A-AF71-028F26AF5BE7","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":125,"fps":19},{"id":8,"name":"Pulsation","unique_id":"C19E71CC-7DD9-4A11-B5B5-F6DC02293E96","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":60,"fps":15},{"id":9,"name":"Scanner","unique_id":"2AB15B40-AC51-4C16-A333-87B2AC53DCD0","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":80,"fps":18},{"id":10,"name":"Haut-Bas","unique_id":"E0E7BAD8-B221-4456-B8E6-0B134CC307D3","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":80,"fps":15},{"id":11,"name":"Arc-en-ciel cla","unique_id":"FDE6F4D1-3A29-438F-A7CE-4C4E2D358798","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":100,"fps":10},{"id":12,"name":"Unicorn Sun","unique_id":"9038EADA-2AA0-40FC-B0CF-ED9110704C6B","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":75,"fps":24},{"id":13,"name":"Neige colorée","unique_id":"3E1A2FB9-F9C2-48CD-BD73-AE600A5FA70E","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":641,"fps":24},{"id":14,"name":"Wed. Day Blues","unique_id":"35A73BFE-B393-4614-9C10-BEC8C38A6117","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":75,"fps":24},{"id":15,"name":"Ondes","unique_id":"51C22A92-09D8-4C80-904C-5CBD44D9F364","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":212,"fps":15}],"available_frames":3066,"max_capacity":5397,"code":1000}
[2021-12-18 09:44:42][DEBUG]
[2021-12-18 09:44:42][DEBUG]   * Movie already exists on controller. Upload not required
[2021-12-18 09:44:42][DEBUG]   * set current movie to uid = 51c22a92-09d8-4c80-904c-5cbd44d9f364
[2021-12-18 09:44:42][DEBUG] TwinklyString::set_current_movie
[2021-12-18 09:44:42][DEBUG] >>>> API [POST : movies/current] - auth=1 verifyauth=1 - POST data : {"unique_id":"51c22a92-09d8-4c80-904c-5cbd44d9f364"}
[2021-12-18 09:44:42][DEBUG] <<<< API RESULT : {"code":1000}
[2021-12-18 09:44:42][DEBUG]
[2021-12-18 09:44:42][DEBUG]   * change current mode to 'movie'
[2021-12-18 09:44:42][DEBUG] TwinklyString::set_mode(movie)
[2021-12-18 09:44:42][DEBUG] >>>> API [POST : led/mode] - auth=1 verifyauth=1 - POST data : {"mode":"movie"}
[2021-12-18 09:44:43][DEBUG] <<<< API RESULT : {"code":1000}
[2021-12-18 09:44:43][DEBUG]
[2021-12-18 09:44:43][DEBUG] TwinklyString::get_mode
[2021-12-18 09:44:43][DEBUG] >>>> API [GET : led/mode] - auth=1
[2021-12-18 09:44:43][DEBUG] <<<< API RESULT : {"mode":"movie","shop_mode":0,"id":15,"unique_id":"51C22A92-09D8-4C80-904C-5CBD44D9F364","name":"Ondes","code":1000}
[2021-12-18 09:44:43][DEBUG]
[2021-12-18 09:44:43][DEBUG] TwinklyString::get_brightness
[2021-12-18 09:44:43][DEBUG] >>>> API [GET : led/out/brightness] - auth=1
[2021-12-18 09:44:43][DEBUG] <<<< API RESULT : {"value":100,"mode":"enabled","code":1000}
[2021-12-18 09:44:43][DEBUG]
[2021-12-18 09:44:43][DEBUG] TwinklyString::get_current_movie
[2021-12-18 09:44:43][DEBUG] >>>> API [GET : movies/current] - auth=1
[2021-12-18 09:44:43][DEBUG] <<<< API RESULT : {"id":15,"unique_id":"51C22A92-09D8-4C80-904C-5CBD44D9F364","name":"Ondes","code":1000}
[2021-12-18 09:44:43][DEBUG]
[2021-12-18 09:44:43][DEBUG] TwinklyString::get_movies
[2021-12-18 09:44:43][DEBUG] >>>> API [GET : movies] - auth=1
[2021-12-18 09:44:43][DEBUG] <<<< API RESULT : {"movies":[{"id":0,"name":"Neige","unique_id":"6A48D79B-3D4A-4177-B4F2-5875DC66E36A","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":80,"fps":18},{"id":1,"name":"Étincelles","unique_id":"8DE21ABB-0AAE-4C96-B7CA-8A71C8A5CFCB","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":60,"fps":15},{"id":2,"name":"Night Sky","unique_id":"899CA19C-136F-4CC9-AF2A-4177ABA97EF9","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":75,"fps":24},{"id":3,"name":"Cascade de coul","unique_id":"4A5FE43C-864C-4DAF-9175-C24C6E42D788","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":74,"fps":24},{"id":4,"name":"Chutes de coule","unique_id":"959045F1-477B-4A02-84F9-8D1772EA89AA","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":164,"fps":21},{"id":5,"name":"Explosion color","unique_id":"0973E458-A247-41EA-891B-67E88B537562","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":180,"fps":16},{"id":6,"name":"Twister","unique_id":"2EC67C6D-67AF-481A-830A-DE1BB6BEE7EA","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":163,"fps":24},{"id":7,"name":"Feux d'artifice","unique_id":"A0BC9320-70FE-418A-AF71-028F26AF5BE7","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":125,"fps":19},{"id":8,"name":"Pulsation","unique_id":"C19E71CC-7DD9-4A11-B5B5-F6DC02293E96","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":60,"fps":15},{"id":9,"name":"Scanner","unique_id":"2AB15B40-AC51-4C16-A333-87B2AC53DCD0","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":80,"fps":18},{"id":10,"name":"Haut-Bas","unique_id":"E0E7BAD8-B221-4456-B8E6-0B134CC307D3","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":80,"fps":15},{"id":11,"name":"Arc-en-ciel cla","unique_id":"FDE6F4D1-3A29-438F-A7CE-4C4E2D358798","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":100,"fps":10},{"id":12,"name":"Unicorn Sun","unique_id":"9038EADA-2AA0-40FC-B0CF-ED9110704C6B","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":75,"fps":24},{"id":13,"name":"Neige colorée","unique_id":"3E1A2FB9-F9C2-48CD-BD73-AE600A5FA70E","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":641,"fps":24},{"id":14,"name":"Wed. Day Blues","unique_id":"35A73BFE-B393-4614-9C10-BEC8C38A6117","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":75,"fps":24},{"id":15,"name":"Ondes","unique_id":"51C22A92-09D8-4C80-904C-5CBD44D9F364","descriptor_type":"rgb_raw","leds_per_frame":250,"frames_number":212,"fps":15}],"available_frames":3066,"max_capacity":5397,"code":1000}
[2021-12-18 09:44:43][DEBUG]
[2021-12-18 09:44:43][DEBUG]

@kimagure j’ai créé un nouveau sujet pour ce pb, car j’ai vu que le modérateur a scindé les sujets.

Dans le premier cas, tu essayes d’activer une animation qui n’est pas encore chargée sur le controleur (Bonbons). Celle-ci doit donc d’abord être uploadée, mais le controleur renvoie une erreur lors de l’envoi des métadonnées (1109). Je n’ai pas encore compris exactement la signification de ce code d’erreur.

Dans le deuxième exemple, l’animation demandée (Ondes) est déjà chargée, le plugin ne fait que l’activer.

La mémoire disponible a l’air d’etre ok, mais peux-tu essayer de vider la mémoire et de recharger l’animation une nouvelle fois ? Attention, la mémoire étant vide, la première activation de chacune des animations va nécessiter un nouvel upload, donc ca prendre quelques secondes de plus. Il faudra aussi recharger la playlist.

1 « J'aime »

effectivement en effaçant la mémoire avant, ça semble marcher !
c’est donc qu’au cours de mes tests j’ai dû me mélanger les pinceaux .
il faudrait peut être donc rendre cette étape obligatoire ?

(d’ailleurs je comprends pas bien la gestion de la mémoire de Twinkly :slight_smile: vu que de toute façon on ne peut pas sauvegarder plusieurs playlist. )

et j’ai réalisé que la limite dans une playlist à 16 animations ou 15 est une limite de twinkly même dans leur app ==> donc peut être aussi limiter l’ajout dans la page de config playlist dans une prochaine release

j’en profite pour glisser une demande supplémentaire, je viens d’acquérir un Twinkly Tree 2M, et le plugin ne connait pas l’image, si tu peux l’ajouter ce serait top !

voici l’image :

Merci pour l’info sur le nombre max d’élements dans une playlist. Je vais ajouter cette limite au plugin.
Il y a peut etre une limite du meme type sur le nombre maximum d’animations chargées en mémoire, ce qui expliquerait l’erreur 1109… Je vais essayer de faire quelques tests.

Je regarde également pour l’image !

K.

tu es au top !

la limite annonce 15 sur l’app twinkly , mais avec ton plugin j’arrive à en mettre 16 bizarrement

Peux-tu me donner le nom et numéro de produit pour ton arbre ?
L’image n’a pas l’air présente dans l’APK, mais je vais voir comment l’ajouter.

Twinkly Light Tree 2M / TWP300SPP

Merci. En fait, il va falloir que je revoie cette partie aussi. Dans la dernière version de l’app Twinkly, les images sont téléchargées depuis un cloud storage Amazon.

Je vais voir s’il est pertinent de mettre toutes les images dans le plugin, ou de les charger lors de l’ajout d’un device (mais on devient dépendant de l’accès internet dans ce cas).

ça me parait pas très grave d’être dépendant d’internet si c’est juste le temp que Jeedom télécharge l’image.
est-ce que vraiment des utilisateurs ont Jeedom uniquement sur le LAN ???

Non, pas forcément. Mais après vérification, c’est les icones des devices qui sont chargées d’internet (ca doit etre une nouveauté).

Les images des packages sont toujours dans l’APK, mais pas pour tous les produits.

Je vais ajouter un bout de code pour avoir la possibilité d’ajouter facilement de nouvelles images.
Je ferai le test avec ton arbre :slight_smile:

K.

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.