Titanium JIRA Archive
Appcelerator Community (AC)

[AC-3881] crash problem on android on a listview

GitHub Issuen/a
TypeBug
Priorityn/a
StatusClosed
ResolutionNeeds more info
Resolution Date2016-06-29T14:54:30.000+0000
Affected Version/sAppcelerator Studio 4.5.0
Fix Version/sn/a
ComponentsTitanium SDK & CLI
Labelsandroid
Reporteralexandre orilia
AssigneeShak Hossain
Created2016-06-20T07:56:49.000+0000
Updated2016-06-29T14:54:30.000+0000

Description

Hello, When I open a window with a listview inside. crash the application ( Android only ).
[ERROR] :  TiApplication: (main) [69555,75253] Sending event: exception on thread: main msg:java.lang.IndexOutOfBoundsException: Invalid index 4, size is 1; Titanium 5.3.0,2016/06/01 10:18,94fa8af
[ERROR] :  TiApplication: java.lang.IndexOutOfBoundsException: Invalid index 4, size is 1
[ERROR] :  TiApplication: 	at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
[ERROR] :  TiApplication: 	at java.util.ArrayList.get(ArrayList.java:308)
[ERROR] :  TiApplication: 	at android.widget.HeaderViewListAdapter.isEnabled(HeaderViewListAdapter.java:164)
[ERROR] :  TiApplication: 	at android.widget.AbsListView.onInitializeAccessibilityNodeInfoForItem(AbsListView.java:2525)
[ERROR] :  TiApplication: 	at android.widget.ListView.onInitializeAccessibilityNodeInfoForItem(ListView.java:3949)
[ERROR] :  TiApplication: 	at android.widget.AbsListView$ListItemAccessibilityDelegate.onInitializeAccessibilityNodeInfo(AbsListView.java:2452)
[ERROR] :  TiApplication: 	at android.view.View.onInitializeAccessibilityNodeInfo(View.java:6079)
[ERROR] :  TiApplication: 	at android.view.View.createAccessibilityNodeInfoInte
[ERROR] :  TiApplication: 	at android.view.View$AccessibilityDelegate.createAccessibilityNodeInfo(View.java:22348)
[ERROR] :  TiApplication: 	at android.view.View.createAccessibilityNodeInfo(View.java:6023)
[ERROR] :  TiApplication: 	at android.view.accessibility.AccessibilityRecord.setSource(AccessibilityRecord.java:145)
[ERROR] :  TiApplication: 	at android.view.accessibility.AccessibilityRecord.setSource(AccessibilityRecord.java:119)
[ERROR] :  TiApplication: 	at android.view.View.onInitializeAccessibilityEventInternal(View.java:5977)
[ERROR] :  TiApplication: 	at android.view.View$AccessibilityDelegate.onInitializeAccessibilityEvent(View.java:22260)
[ERROR] :  TiApplication: 	at android.view.View.onInitializeAccessibilityEvent(View.java:5963)
[ERROR] :  TiApplication: 	at android.view.View.sendAccessibilityEventUncheckedInternal(View.java:5830)
[ERROR] :  TiApplication: 	at android.view.View$AccessibilityDelegate.sendAccessibilityEventUnchecked(View.java:22199)
[ERROR] :  TiApplication: 	at android.view.View.sendAccessibilityEventUnchecked(View.java:5813)
[ERROR] :  TiApplication: 	at android.view.ViewRootImpl$SendWindowContentChangedAccessibilityEvent.run(ViewRootImpl.java:7285)
[ERROR] :  TiApplication: 	at android.view.ViewRootImpl$SendWindowContentChangedAccessibilityEvent.runOrPost(ViewRootImpl.java:7311)
[ERROR] :  TiApplication: 	at android.view.ViewRootImpl.postSendWindowContentChangedCallback(ViewRootImpl.java:6402)
[ERROR] :  TiApplication: 	at android.view.ViewRootImpl.notifySubtreeAccessibilityStateChanged(ViewRootImpl.java:6581)
[ERROR] :  TiApplication: 	at android.view.ViewGroup.notifySubtreeAccessibilityStateChanged(ViewGroup.java:3003)
[ERROR] :  TiApplication: 	at android.view.ViewGroup.notifySubtreeAccessibilityStateChanged(ViewGroup.java:3003)
[ERROR] :  TiApplication: 	at android.view.ViewGroup.notifySubtreeAccessibilityStateChanged(ViewGroup.java:3003)
[ERROR] :  TiApplication: 	at android.view.ViewGroup.notifySubtreeAccessibilityStateChanged(ViewGroup.java:3003)
[ERROR] :  TiApplication: 	at android.view.ViewGroup.notifySubtreeAccessibilityStateChanged(ViewGroup.java:3003)
[ERROR] :  TiApplication: 	at android.view.ViewGroup.notifySubtreeAccessibilityStateChanged(ViewGroup.java:3003)
[ERROR] :  TiApplication: 	at android.view.ViewGroup.notifySubtreeAccessibilityStateChanged(ViewGroup.java:3003)
[ERROR] :  TiApplication: 	at android.view.ViewGroup.notifySubtreeAccessibilityStateChanged(ViewGroup.java:3003)
[ERROR] :  TiApplication: 	at android.view.ViewGroup.notifySubtreeAccessibilityStateChanged(ViewGroup.java:3003)
[ERROR] :  TiApplication: 	at android.view.ViewGroup.notifySubtreeAccessibilityStateChanged(ViewGroup.java:3003)
[ERROR] :  TiApplication: 	at android.view.ViewGroup.notifySubtreeAccessibilityStateChanged(ViewGroup.java:3003)
[ERROR] :  TiApplication: 	at android.view.ViewGroup.notifySubtreeAccessibilityStateChanged(ViewGroup.java:3003)
[ERROR] :  TiApplication: 	at android.view.ViewGroup.notifySubtreeAccessibilityStateChanged(ViewGroup.java:3003)
[ERROR] :  TiApplication: 	at android.view.ViewGroup.notifySubtreeAccessibilityStateChanged(ViewGroup.java:3003)
[ERROR] :  TiApplication: 	at android.view.ViewGroup.notifySubtreeAccessibilityStateChanged(ViewGroup.java:3003)
[ERROR] :  TiApplication: 	at android.view.ViewGroup.notifySubtreeAccessibilityStateChanged(ViewGroup.java:3003)
[ERROR] :  TiApplication: 	at android.view.ViewGroup.notifySubtreeAccessibilityStateChanged(ViewGroup.java:3003)
[ERROR] :  TiApplication: 	at android.view.View.notifySubtreeAccessibilityStateChangedIfNeeded(View.java:8803)
[ERROR] :  TiApplication: 	at android.view.View.setFrame(View.java:16774)
[ERROR] :  TiApplication: 	at android.view.View.layout(View.java:16656)
[ERROR] :  TiApplication: 	at android.view.ViewGroup.layout(ViewGroup.java:5439)
[ERROR] :  TiApplication: 	at android.widget.ListView.setupChild(ListView.java:1971)
[ERROR] :  TiApplication: 	at android.widget.ListView.makeAndAddView(ListView.java:1881)
[ERROR] :  TiApplication: 	at android.widget.ListView.fillSpecific(ListView.java:1357)
[ERROR] :  TiApplication: 	at android.widget.ListView.layoutChildren(ListView.java:1665)
[ERROR] :  TiApplication: 	at
happens only on LG android 6.0.1 on G4 tks bye

Comments

  1. Sharif AbuDarda 2016-06-22

    The issue seems to be with this line [ERROR] : TiApplication: java.lang.IndexOutOfBoundsException: Invalid index 4, size is 1. Please share the test code that causing the problem. Thanks.
  2. alexandre orilia 2016-06-23

    list_module.js
       var _args = arguments[0] || {};
       var id_arg = _args.itemId;
       var id_room = id_arg;
       
       /********************Intialisation de la page*********************/
       var jeedom = Alloy.Globals.jeedom;
       /**********************Variable Globals***************************/
       var TypeDisplay = 'list';
       var ListCmd = [];
       /********************Fonction de la page RESUME DOMOTIQUE **************************/
       function summaryPage(){
           var objectStatut = jeedom.summary.StatutObject(id_room);
           var FirstobjectStatut = 0;
           if(objectStatut.light.total == 0){
                   var objectLight = '';
                   var objectLightClassIcon = '';
                   var objectLightLeft = '';
                   var objectLightLeftIcon = '';
               }else{
                   var objectLightClassIcon = Alloy.Globals.icon('icon jeedomapp-ampoule-on');
                   if(objectStatut.light.on > 0){
                       var objectLightColor = '#4ADBA6';
                   }else{
                       var objectLightColor = '#555555';
                   }
                   var objectLight = objectStatut.light.on+'/'+objectStatut.light.total;
                   var objectLightLeft = 5;
                   var objectLightLeftIcon = 20;
                   if(FirstobjectStatut == 0){
                       var objectLightLeftIcon = '';
                       FirstobjectStatut = 1;
                   }
                   
               }
               
               if(objectStatut.energy.total == 0){
                   var objectEnergy = '';
                   var objectEnergyClassIcon = '';
                   var objectEnergyLeft = 0;
                   var objectEnergyLeftIcon = 0;
               }else{
                   var objectEnergy = objectStatut.energy.on+'/'+objectStatut.energy.total;
                   var objectEnergyClassIcon = Alloy.Globals.icon('icon jeedomapp-prise');
                   var objectEnergyLeft = 5;
                   var objectEnergyLeftIcon = 20;
                   if(FirstobjectStatut == 0){
                       var objectEnergyLeftIcon = '';
                       FirstobjectStatut = 1;
                   }
               }
               if(objectStatut.open.total == 0){
                   var objectOpen = '';
                   var objectOpenClassIcon = '';
                   var objectOpenLeft = 0;
                   var objectOpenLeftIcon = 0;
               }else{
                   var objectOpen = objectStatut.open.on+'/'+objectStatut.open.total;
                   var objectOpenClassIcon = Alloy.Globals.icon('icon jeedomapp-ouvrants');
                   if(objectStatut.open.on > 0){
                       var objectOpenColor = '#F77B7B';
                   }else{
                       var objectOpenColor = '#555555';
                   }
                   var objectOpenLeft = 5;
                   var objectOpenLeftIcon = 20;
                   if(FirstobjectStatut == 0){
                       var objectOpenLeftIcon = '';
                       FirstobjectStatut = 1;
                   }
               }
               if(objectStatut.flap.total == 0){
                   var objectFlap = '';
                   var objectFlapClassIcon = '';
                   var objectFlapLeft = 0;
                   var objectFlapLeftIcon = 0;
               }else{
                   var objectFlap = objectStatut.flap.on+'/'+objectStatut.flap.total;
                   var objectFlapClassIcon = Alloy.Globals.icon('icon jeedomapp-volet-ouvert');
                   if(objectStatut.flap.on > 0){
                       var objectFlapColor = '#F77B7B';
                   }else{
                       var objectFlapColor = '#555555';
                   }
                   var objectFlapLeft = 5;
                   var objectFlapLeftIcon = 20;
                   if(FirstobjectStatut == 0){
                       var objectFlapLeftIcon = '';
                       FirstobjectStatut = 1;
                   }
               }
               if(objectStatut.temperature.total == 0){
                   var objectTemperature = '';
                   var objectTemperatureClassIcon = '';
                   var objectTemperatureLeft = 0;
                   var objectTemperatureLeftIcon = 0;
               }else{
                   var objectTemperature = objectStatut.temperature.on/objectStatut.temperature.total;
                   objectTemperature = objectTemperature.toFixed(1);
                   var objectTemperatureClassIcon = Alloy.Globals.icon('icon jeedomapp-temperature');
                   var objectTemperatureLeft = 5;
                   var objectTemperatureLeftIcon = 20;
                   if(FirstobjectStatut == 0){
                       var objectTemperatureLeft = '';
                       FirstobjectStatut = 1;
                   }
               }
            
               $.userLightPhoto.left = objectLightLeftIcon;
               $.userLightPhoto.text = objectLightClassIcon['text'];
               $.userLightPhoto.color = objectLightColor;
               $.userLight.text = objectLight;
               $.userLight.left = objectLightLeft;
               
               $.userOpenPhoto.left = objectOpenLeftIcon;
               $.userOpenPhoto.text = objectOpenClassIcon['text'];
               $.userOpenPhoto.color = objectOpenColor;
               $.userOpen.text = objectOpen;
               $.userOpen.left = objectOpenLeft;
               
               $.userFlapPhoto.left = objectFlapLeftIcon;
               $.userFlapPhoto.text = objectFlapClassIcon['text'];
               $.userFlapPhoto.color = objectFlapColor;
               $.userFlap.text = objectFlap;
               $.userFlap.left = objectFlapLeft;
               
               $.userTemperaturePhoto.left = objectTemperatureLeftIcon;
               $.userTemperaturePhoto.text = objectTemperatureClassIcon['text'];
               $.userTemperature.text = objectTemperature;
               $.userTemperature.left = objectTemperatureLeft;
       }
       /********************Fonction de la page MODULE **************************/
       //recuperation des EqLogic//
       function displayEqLogicByObjectId(_id){
           try{
               Alloy.Globals.select.section = 0;
               var list = [];
               var paireorimpaire = 0;
               var eqLogic = jeedom.eqLogic.byObjectId({
                   object_id : _id
               });
               for (var i in eqLogic) {
                   eqLogic[i].display({
                       display : TypeDisplay,
                       success : function(_data){
                           if(_data != undefined){
                               for (var j in _data) {
                                   if(paireorimpaire%2 == 1){
                                       _data[j].backgroundlolo = {};
                                       _data[j].backgroundlolo.backgroundColor = "#FAFAFA";
                                   }
                                   list.push(_data[j]);
                                   paireorimpaire++;
                                   var section = Ti.UI.createListSection();
                                   section.setItems(list);
                                   $.listViewIn_Room.setSections([section]);
                               }
                           }
                       }
                   });
               }
               listCmdByObjectId(_id);
               Alloy.Globals.loading.hide();
               Alloy.Globals.select.section = 0;
               setTimeout(reloadPieceall , 2000);
               function reloadPieceall(){
                   Alloy.Globals.select.section = 0;
                   jeedom.event("app:reloadpiece", {
                       fin : 'ok'
                   });
               };
           }catch (error){
           jeedom.log.add('[DISPLAY] '+error.message, 'error', 'Error');
           alert('erreur > '+error.message);
           }
       };
       
       function listCmdByObjectId(_id){
             var eqLogic = jeedom.eqLogic.byObjectId({
               object_id : _id
              });
              for (var i in eqLogic) {
                  var cmd = jeedom.cmd.byEqLogicId({
                       eqLogic_id : eqLogic[i]['id']
                   });
                   for (var j in cmd){
                       ListCmd[cmd[j]['id']] = eqLogic[i]['id'];
                   }
              }
       };
       /****************************functions bouton de la page****************************/
       
       function cmd_go(id,slidervalue){
           var cmd = [];
           var idtheme = Math.floor(Math.random() * 1000);
           cmd[idtheme] = jeedom.cmd.byId({
               id : id
           }); 
           if(slidervalue !== 'nok'){
               cmd[idtheme].execCmd({
                   options : {
                       slider : slidervalue
                   },
                   success : function(data) {
                       Alloy.Globals.loading.hide();
                   }
               });
           }else{
               cmd[idtheme].execCmd({
                   success : function(data) {
                       Alloy.Globals.loading.hide();
                   }
               });
           }
           cmd[idtheme] = null;
           idtheme = null;
       }
       
       function buttonList(e){
           if(e.section.items[e.itemIndex].BoutonLight.valeur != null){
               var dataType = e.section.items[e.itemIndex];
               dataType.template = 'LightTemplateRecharge';
               $.listViewIn_Room.sections[0].updateItemAt(e.itemIndex, dataType);
               cmd_go(e.section.items[e.itemIndex].BoutonLight.idcommande,'nok');
           }
       };
       function SliderList(e){
           if(e.source.value != null){
               Alloy.Globals.loading.show('Commande en cours', false);
               cmd_go(e.section.items[e.itemIndex].SliderLight.idvaleur,e.source.value);
           }
       };
       
       //Bouton Multiple
       function Btn_1(e){
           if(e.section.items[e.itemIndex].Btn_1.idcommande != null){
               var dataType = e.section.items[e.itemIndex];
               dataType.maj.zIndex = 10;
               Alloy.Globals.loading.show('Commande en cours', false);
               $.listViewIn_Room.sections[0].updateItemAt(e.itemIndex, dataType);
               cmd_go(e.section.items[e.itemIndex].Btn_1.idcommande,'nok');
           }  
       };
       function Btn_2(e){
           if(e.section.items[e.itemIndex].Btn_2.idcommande != null){
               var dataType = e.section.items[e.itemIndex];
               dataType.maj.zIndex = 10;
               Alloy.Globals.loading.show('Commande en cours', false);
               $.listViewIn_Room.sections[0].updateItemAt(e.itemIndex, dataType);
               cmd_go(e.section.items[e.itemIndex].Btn_2.idcommande,'nok');
           }   
       };
       function Btn_3(e){
           if(e.section.items[e.itemIndex].Btn_3.idcommande != null){
               var dataType = e.section.items[e.itemIndex];
               dataType.maj.zIndex = 10;
               Alloy.Globals.loading.show('Commande en cours', false);
               $.listViewIn_Room.sections[0].updateItemAt(e.itemIndex, dataType);
               cmd_go(e.section.items[e.itemIndex].Btn_3.idcommande,'nok');
           }   
       };
       function Btn_4(e){
           if(e.section.items[e.itemIndex].Btn_4.idcommande != null){
               var dataType = e.section.items[e.itemIndex];
               dataType.maj.zIndex = 10;
               Alloy.Globals.loading.show('Commande en cours', false);
               $.listViewIn_Room.sections[0].updateItemAt(e.itemIndex, dataType);
               cmd_go(e.section.items[e.itemIndex].Btn_4.idcommande,'nok');
           }
       };
       function Btn_5(e){
           if(e.section.items[e.itemIndex].Btn_5.idcommande != null){
               var dataType = e.section.items[e.itemIndex];
               dataType.maj.zIndex = 10;
               Alloy.Globals.loading.show('Commande en cours', false);
               $.listViewIn_Room.sections[0].updateItemAt(e.itemIndex, dataType);
               cmd_go(e.section.items[e.itemIndex].Btn_5.idcommande,'nok');
           }   
       };
       //COLOR
       function buttonColor(e){
           if(e.section.items[e.itemIndex].rond.idcommande != null){
               var idcommande = e.section.items[e.itemIndex].rond.idcommande;
               var color_value = e.section.items[e.itemIndex].rond.color_value;
               var eqid = e.section.items[e.itemIndex].rond.eqId;
           }
          var payloadcolor = {color_light : color_value,title : 'Couleur',viewopen : 'module/color_picker',itemId_color : idcommande, eqlogicId : eqid};
          Alloy.Globals.pagenavmodal('window_modal',payloadcolor);
       };
       /****************************OnItemClick****************************/
       
       function rowDoubletap(e){
           var item = $.listViewIn_Room.sections[0].items[e.itemIndex];
           jeedom.log.console('[Design] press in module : eqlogic/idemId >'+item.properties.itemId, 'debug');
           jeedom.display.page(item.properties.itemId,item.properties.typo);
       };
       
       /****************************Pull to refresh de la page****************************/
       // myRefresher est la function du Pull to Refrech //
       function myRefresher(e) {
            
            function ping(e){
                   jeedom.log.add('pull to refresh (sections)', 'info', '-----------------PING-------------------');
                   jeedom.ping({
                   success : function(data) {
                       jeedom.log.add('test', 'info', 'Success');
                       jeedom.log.add('test', 'info', '-----------------------------------------------');
                       sync(e);
                   },
                   error : function(data) {
                       jeedom.log.add('test', 'error', data.message);
                       jeedom.log.add('test', 'info', '-----------------------------------------------');
                       alert('Erreur Impossible de ce connecter à votre Box');
                       e.hide();
                   }
               });
           }
           function sync(e){
               var objet_sync = jeedom.object.byId({
                   id : id_room
               });
               jeedom.log.add('pull to refresh (sections)', 'info', '-----------------SYNC-------------------');
               objet_sync.updateCmdValue({
                   success : function(data) {
                       displayEqLogicByObjectId(id_room);
                       summaryPage();
                       jeedom.log.add('pull to refresh (sections)', 'info', 'Success');
                       jeedom.log.add('pull to refresh (sections)', 'info', '-----------------------------------------------');
                       e.hide();
                   },
                   error: function(){
                       jeedom.log.add('pull to refresh (sections)', 'info', 'Error');
                       jeedom.log.add('pull to refresh (sections)', 'info', '-----------------------------------------------');
                       alert('Erreur Impossible de ce connecter à votre Box');
                       e.hide();
                      }
               });
               
            }
               ping(e);       
       };
       
       /****************************Lanceur de la page****************************/
       displayEqLogicByObjectId(id_room);
       summaryPage();
       setTimeout(cmdupdate, 2000);
       
       /****************************Listener de la page****************************/
       function cmdupdate(){
       jeedom.listen('cmd::update', function(_data) {
           if(Alloy.Globals.windowOpen == 'list_module'){
               if(_data.value !== undefined){
                   jeedom.log.add('EVENT', 'info', 'Event cmd::update prit en compte par la page '+id_room+'  > : ' + _data.cmd_id + '// value :'+_data.value);
                   if(ListCmd[_data.cmd_id] !== undefined){
                       jeedom.log.add('EVENT', 'info', 'Mise à jour dans la List '+id_room+'  > : ' + _data.cmd_id + '// value :'+_data.value);
                       var cmdlistener = jeedom.cmd.byId({
                           id : _data.cmd_id
                       });
                       var ChangeData = $.listViewIn_Room.sections[0].items;
                       var end_changedata = false;
                       for (var k in ChangeData) {
                           if(end_changedata == false){
                           var idData = ChangeData[k].properties.itemId;
                           if(idData !== 'null'){
                               jeedom.log.add('EVENT', 'info', 'IdData tester > '+idData+' Pour le '+cmdlistener['eqLogic_id']);
                           if(idData ==  cmdlistener['eqLogic_id']){
                               var eqLogiclistener = jeedom.eqLogic.byId({
                                   id : cmdlistener['eqLogic_id']
                               });
                               eqLogiclistener.display({
                                   display : TypeDisplay,
                                   success : function(_data){
                                       if(_data != undefined){
                                           var nbr_tableau = 0;
                                           for (var z in _data) {
                                               nbr_tableau++;
                                           }
                                           if(nbr_tableau == 1){
                                               jeedom.log.add('EVENT', 'info', 'Chargement du nouvel Item > '+k);
                                               if(ChangeData[k].backgroundlolo != undefined){
                                                   if(ChangeData[k].backgroundlolo.backgroundColor != undefined){
                                                       _data[0].backgroundlolo = {};
                                                       _data[0].backgroundlolo.backgroundColor = ChangeData[k].backgroundlolo.backgroundColor;
                                                   }
                                               }
                                               $.listViewIn_Room.sections[0].updateItemAt(k, _data[0]);
                                               summaryPage();
                                           }else{
                                               Ti.API.info(JSON.stringify(_data[l]));
                                               for (var l in _data) {
                                                   Ti.API.info('test de la  '+_data[l].properties.stateId+ ' > '+cmdlistener['id']+' // tableau >'+JSON.stringify(_data[l]));
                                                   if(_data[l].properties.stateId == cmdlistener['id']){
                                                       if(end_changedata == false){
                                                           if(ChangeData[k].properties.stateId !== undefined){
                                                               if(ChangeData[k].properties.stateId == _data[l].properties.stateId){
                                                                   if(ChangeData[k].backgroundlolo != undefined){
                                                                       if(ChangeData[k].backgroundlolo.backgroundColor != undefined){
                                                                           _data[l].backgroundlolo = {};
                                                                           _data[l].backgroundlolo.backgroundColor = ChangeData[k].backgroundlolo.backgroundColor;
                                                                       }
                                                                   }
                                                                   jeedom.log.add('EVENT', 'info', 'Chargement du nouvel Item > '+Number(k));
                                                                   $.listViewIn_Room.sections[0].updateItemAt(Number(k), _data[l]);
                                                                   end_changedata = true;
                                                                   summaryPage();
                                                               }
                                                           }else{
                                                               if(ChangeData[k].backgroundlolo != undefined){
                                                                   if(ChangeData[k].backgroundlolo.backgroundColor != undefined){
                                                                       _data[l].backgroundlolo = {};
                                                                       _data[l].backgroundlolo.backgroundColor = ChangeData[k].backgroundlolo.backgroundColor;
                                                                   }
                                                               }
                                                               jeedom.log.add('EVENT', 'info', 'Chargement du nouvel Item > '+Number(k));
                                                               $.listViewIn_Room.sections[0].updateItemAt(Number(k), _data[l]);
                                                               end_changedata = true;
                                                               summaryPage();
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                               
                                       }
                                   }
                               });  
                           }
                           }
                           }
                       }
                   }         
               }
            }
       });
       };
       
    List_module.xml
       <Alloy>
       	<View class="container">
       		<View id="resume_domotique" class="resume_domotique">
       			<View id="center_resume_domotique" class="center_resume_domotique">
       			<Label id="userLightPhoto" bindId="userLightPhoto" class="photo"/>
       			<Label id="userLight" bindId="userLight" class="user"/>
       			<!--
       			<Label id="userEnergyPhoto" bindId="userEnergyPhoto" class="photo"/>
       			<Label id="userEnergy" bindId="userEnergy" class="user"/>
       			-->
       			<Label id="userOpenPhoto" bindId="userOpenPhoto" class="photo"/>
       			<Label id="userOpen" bindId="userOpen" class="user"/>
       			<Label id="userFlapPhoto" bindId="userFlapPhoto" class="photo"/>
       			<Label id="userFlap" bindId="userFlap" class="user"/>
       			<Label id="userTemperaturePhoto" bindId="userTemperaturePhoto" class="photo"/>
       			<Label id="userTemperature" bindId="userTemperature" class="user"/>
       			</View>
       		</View>
       		<View class="body">
       		<Widget id="ptr" src="nl.fokkezb.pullToRefresh" onRelease="myRefresher">
               <ListView id="listViewIn_Room" defaultItemTemplate="userTemplate">
       					<Templates>
       						<ItemTemplate id="userTemplate" name="userTemplate" class="template_In_Room">
       							<View class="left-buffer" id="backgroundlolo" bindId="backgroundlolo" >
       								<ImageView id="modulePhoto" bindId="modulePhoto" class="avatar_In_Room" />
       								<View platform="android" class="smoothavatarIn_RoomBorderRadius" />
       								<View class="vgroup left size">
       									<Label id="moduleName" bindId="moduleName" class="title" />
       									<Label id="userEmail" bindId="userEmail" class="subtitle" />
       									<Label id="userCompany" bindId="userCompany" class="subtitle" />
       								</View>
       							</View>
       						</ItemTemplate>
       						<!-- LIGHT TEMPLATE -->
       						<ItemTemplate id="LightTemplate" name="LightTemplate" class="template_In_Room">
       							<View class="left-buffer" id="backgroundlolo" bindId="backgroundlolo" >
       								<View class="vgroup left size">
       									<Label id="moduleName" bindId="moduleName" class="title" />
       									<Label id="moduleTexte" bindId="moduleTexte" class="subtitle" />
       								</View>
       								<View class="rond_color_fine" zIndex="10">
       									<Label id="BoutonLight" bindId="BoutonLight" onClick="buttonList" zIndex="20"/>
       								</View>
       							</View>
       						</ItemTemplate>
       						<ItemTemplate id="LightTemplateRecharge" name="LightTemplateRecharge" class="template_In_Room">
       							<View class="left-buffer" id="backgroundlolo" bindId="backgroundlolo" >
       								<View class="vgroup left size">
       									<Label id="moduleName" bindId="moduleName" class="title" />
       									<Label id="moduleTexte" bindId="moduleTexte" class="subtitle" />
       								</View>
       								<View class="rond_color_fine" zIndex="10">
       									<Label id="BoutonLight" bindId="BoutonLight" onClick="buttonList" zIndex="20"/>
       								</View>
       							</View>
       							<View class="refresh" id="refresher" bindId="refresher" />
       						</ItemTemplate>
       						<!-- LIGHT SLIDER TEMPLATE -->
       						<ItemTemplate id="LightSliderTemplate" name="LightSliderTemplate" class="template_In_Room_Light_slider">
       							<View class="left-buffer" id="backgroundlolo" bindId="backgroundlolo" >
       								<View class="vgroup left size">
       									<Label id="moduleName" bindId="moduleName" class="title" />
       									<Label id="moduleTexte" bindId="moduleTexte" class="subtitle" />
       								</View>
       								<Slider min="0" max="99" class="slider" id="SliderLight" bindId="SliderLight" onStop="SliderList" />
       								<View class="rond_color_fine" zIndex="10">
       									<Label id="BoutonLight" bindId="BoutonLight" onClick="buttonList" zIndex="20"/>
       								</View>
       							</View>
       						</ItemTemplate>
       						
       						<!-- LIGHT COLOR TEMPLATE -->
       						<ItemTemplate id="LightColorTemplate" name="LightColorTemplate" class="template_In_Room_Light_color">
       							<View class="left-buffer" id="backgroundlolo" bindId="backgroundlolo" >
       								<View class="vgroup left size">
       									<Label id="moduleName" bindId="moduleName" class="title" />
       									<Label id="moduleTexte" bindId="moduleTexte" class="subtitle" />
       								</View>
       								<Slider min="0" max="99" class="slider" id="SliderLight" bindId="SliderLight" onStop="SliderList" />
       										<View class="rond_color_fine" zIndex="10">
       											<Label id="BoutonLight" bindId="BoutonLight" onClick="buttonList" zIndex="4"/>
       										</View>
       										<View class="rond_color" bindId="rond" zIndex="2" onClick="buttonColor">
       											<ImageView id="color_picker" bindId="color_picker" />
       										</View>
       							</View>
       						</ItemTemplate>
       						
       						<!-- ENERGY TEMPLATE -->
       						<ItemTemplate id="EnergyTemplate" name="EnergyTemplate" class="template_In_Room">
       							<View class="left-buffer" id="backgroundlolo" bindId="backgroundlolo" >
       								<View class="vgroup left size">
       									<Label id="moduleName" bindId="moduleName" class="title" />
       									<Label id="moduleTexte" bindId="moduleTexte" class="subtitle" />
       								</View>
       								<View class="rond_color_fine" zIndex="10">
       									<Label id="BoutonLight" bindId="BoutonLight" onClick="buttonList" />
       								</View>
       							</View>
       						</ItemTemplate>
       						
       						<!-- ENERGY SLIDER TEMPLATE -->
       						<ItemTemplate id="EnergySliderTemplate" name="EnergySliderTemplate" class="template_In_Room_Light_slider">
       							<View class="left-buffer" id="backgroundlolo" bindId="backgroundlolo" >
       								<View class="vgroup left size">
       									<Label id="moduleName" bindId="moduleName" class="title" />
       									<Label id="moduleTexte" bindId="moduleTexte" class="subtitle" />
       								</View>
       								<Slider min="0" max="99" class="slider" id="SliderLight" bindId="SliderLight" onStop="SliderList" />
       								<View class="rond_color_fine" zIndex="10">
       									<Label id="BoutonLight" bindId="BoutonLight" onClick="buttonList" />
       								</View>
       							</View>
       						</ItemTemplate>
       				
       					<!-- TEMPERATURE TEMPLATE -->
       						<ItemTemplate id="StateTemplates" name="StateTemplates" class="template_In_Room">
       							<View class="left-buffer" id="backgroundlolo" bindId="backgroundlolo" >
       								<Label id="modulePhoto" bindId="modulePhoto" class="avatar_In_Room_state" />
       								<Label id="moduleState" bindId="moduleState" class="moduleState" />
       								<Label id="moduleUnite" bindId="moduleUnite" class="moduleUnite" />
       								<View class="vgroup left size">
       									<Label id="moduleName" bindId="moduleName" class="title" />
       									<Label id="moduleTexte" bindId="moduleTexte" class="subtitle" />
       								</View>
       							</View>
       						</ItemTemplate>
       						
       					<!-- THERMOSTAT TEMPLATE -->
       						<ItemTemplate id="StateThermostatTemplates" name="StateThermostatTemplates" class="template_In_Room">
       							<View class="left-buffer" id="backgroundlolo" bindId="backgroundlolo" onClick="rowDoubletap">
       									<Label id="modulePhoto" bindId="modulePhoto" class="avatar_In_Room_state"/>
       									<Label id="moduleState" bindId="moduleState" class="moduleState" color="#555555"/>
       									<Label id="moduleUnite" bindId="moduleUnite" class="moduleUnite" color="#555555"/>
       									<View class="vgroup left size">
       										<Label id="moduleName" bindId="moduleName" class="title" />
       										<Label id="moduleSetPoint" bindId="moduleSetPoint" class="subtitlebottom" />
       										<Label id="moduleMode" bindId="moduleMode" class="subtitlebottom" />
       										<Label id="moduleStatut" bindId="moduleStatut" class="subtitlebottom" />
       									</View>
       							</View>
       						</ItemTemplate>
       						
       					<!-- TEMPERATURE TEMPLATE BINARY -->
       						<ItemTemplate id="StateTemplatebinary" name="StateTemplatebinary" class="template_In_Room">
       							<View class="left-buffer" id="backgroundlolo" bindId="backgroundlolo" >
       								<Label id="modulePhoto" bindId="modulePhoto" class="avatar_In_Room" />
       								<View class="vgroup left size">
       									<Label id="moduleName" bindId="moduleName" class="title" />
       									<Label id="moduleTexte" bindId="moduleTexte" class="subtitle" />
       									<Label id="moduleTextedeux" bindId="moduleTextedeux" class="subtitle" />
       									<Label id="moduleTextetrois" bindId="moduleTextetrois" class="subtitle" />
       								</View>
       							</View>
       						</ItemTemplate>
       					
       					<!-- NO STATE TEMPLATE -->
       						<ItemTemplate id="NostateTemplate" name="NostateTemplate" class="template_In_Room" height="100">
       							<View class="left-buffer" id="backgroundlolo" bindId="backgroundlolo" >
       								<Label id="modulePhoto" bindId="modulePhoto" class="avatar_In_Room" />
       								<View class="vgroup left size">
       									<Label id="moduleName" bindId="moduleName" class="title" />
       									<View>
       										<Label id="Btn_1" bindId="Btn_1" class="moduleStop" onClick="Btn_1"/>
       										<Label id="Btn_2" bindId="Btn_2" class="moduleUp" onClick="Btn_2"/>
       										<Label id="Btn_3" bindId="Btn_3" class="moduleDown" onClick="Btn_3"/>
       									</View>
       								</View>
       							</View>
       						</ItemTemplate>
       						
       					<!-- VOLET TEMPLATE UP/DOWN -->
       						<ItemTemplate id="VoletTemplate" name="VoletTemplate" class="template_In_Room" height="100">
       							<View class="left-buffer" id="backgroundlolo" bindId="backgroundlolo" >
       								<View class="vgroup left size">
       									<View>
       									<Label id="Btn_1" bindId="Btn_1" class="moduleStop" onClick="Btn_1"/>
       									<Label id="Btn_2" bindId="Btn_2" class="moduleUp" onClick="Btn_2"/>
       									<Label id="Btn_3" bindId="Btn_3" class="moduleDown" onClick="Btn_3"/>
       									</View>
       								</View>
       								<View class="rond_color_fine" zIndex="10">
       									<Label id="BoutonLight" bindId="BoutonLight" onClick="buttonList" />
       								</View>
       							</View>
       						</ItemTemplate>
       					<!-- VOLET TEMPLATE UP/DOWN Slider -->
       						<ItemTemplate id="VoletTemplateSlider" name="VoletTemplateSlider" class="template_In_Room" height="120">
       							<View class="left-buffer" id="backgroundlolo" bindId="backgroundlolo" >
       								<View class="vgroup left size">
       									<Label id="moduleName" bindId="moduleName" class="title" top="10%"/>
       									<Slider min="0" max="99" class="slider" id="SliderLight" bindId="SliderLight" onStop="SliderList" bottom="5%" />
       								</View>
       								<View class="rond_color_fine" zIndex="10">
       									<Label id="BoutonLight" bindId="BoutonLight" onClick="buttonList" />
       								</View>
       							</View>
       						</ItemTemplate>
       				<!-- ERROR TEMPLATE BINARY -->
       						<ItemTemplate id="ErrorTemplatebinary" name="ErrorTemplatebinary" class="template_In_Room">
       							<View class="left-buffer" id="backgroundlolo" bindId="backgroundlolo" >
       								<Label id="modulePhoto" bindId="modulePhoto" class="avatar_In_Room" />
       								<View class="vgroup left size">
       									<Label id="moduleName" bindId="moduleName" class="title" />
       									<Label id="moduleTexte" bindId="moduleTexte" class="subtitle" />
       									<Label id="moduleTextedeux" bindId="moduleTextedeux" class="subtitle" />
       								</View>
       							</View>
       						</ItemTemplate>
       				<!-- CAMERA TEMPLATE -->
       					<ItemTemplate id="cameraTemplate" name="cameraTemplate" class="template_In_Room">
       						<View class="left-buffer" id="backgroundlolo" bindId="backgroundlolo" onSingletap="rowDoubletap">
       							<ImageView id="userPhoto" bindId="userPhoto" class="avatar" />
       							<View platform="android" class="smoothAvatarBorderRadius" />
       							<View class="vgroup left size">
       								<Label id="moduleName" bindId="moduleName" class="title" />
       								<Label id="moduleTexte" bindId="moduleTexte" class="subtitle" />
       							</View>
       						</View>
       					</ItemTemplate>
       					<!-- FIL PILOTE TEMPLATE -->
       						<ItemTemplate id="heatingTemplate" name="heatingTemplate" class="template_In_Room">
       							<View class="left-buffer" id="backgroundlolo" bindId="backgroundlolo" >
       								<View class="vgroup left size">
       									<Label id="moduleName" bindId="moduleName" class="title" />
       									<Label id="moduleTexte" bindId="moduleTexte" class="subtitle" />
       									<View class="hgroup left size" left="85">
       										<Label id="Btn_1" bindId="Btn_1" class="btnlabel" onClick="Btn_1"/>
       										<Label id="Btn_2" bindId="Btn_2" class="btnlabel" onClick="Btn_2"/>
       										<Label id="Btn_3" bindId="Btn_3" class="btnlabel" onClick="Btn_3"/>
       										<Label id="Btn_4" bindId="Btn_4" class="btnlabel" onClick="Btn_4"/>
       										<Label id="Btn_5" bindId="Btn_5" class="btnlabel" onClick="Btn_5"/>
       									</View>
       								</View>
       								<View class="rond_color_fine" zIndex="10">
       									<Label id="BoutonLight" bindId="BoutonLight" onClick="buttonList" />
       								</View>
       							</View>
       						</ItemTemplate>
       						<!-- MODE TEMPLATE -->
       						<ItemTemplate id="modeTemplate" name="modeTemplate" class="template_In_Room">
       							<View class="left-buffer" id="backgroundlolo" bindId="backgroundlolo" >
       								<View class="vgroup left size">
       									<Label id="moduleName" bindId="moduleName" class="title" />
       									<Label id="moduleTexte" bindId="moduleTexte" class="subtitle" />
       									<View class="hgroup left size" left="85">
       										<Label id="Btn_1" bindId="Btn_1" class="btnlabel" onClick="Btn_1"/>
       										<Label id="Btn_2" bindId="Btn_2" class="btnlabel" onClick="Btn_2"/>
       										<Label id="Btn_3" bindId="Btn_3" class="btnlabel" onClick="Btn_3"/>
       									</View>
       								</View>
       								<Label id="BoutonLight" bindId="BoutonLight" class="avatar_In_Room_bouton" />
       							</View>
       						</ItemTemplate>
       					</Templates>
       				</ListView>
       				</Widget>
       				</View>
       	</View>
       </Alloy>
       
    List_module.tss
       ".container":{
       	backgroundColor: "#fff",
       	theme: "appcelerator"
       }
       
       "Window": {
       	backgroundColor: "#fff"
       }
       
       "Label": {
       	width: Ti.UI.SIZE,
       	height: Ti.UI.SIZE,
       	color: "#000",
       	font: {
       		fontSize: 20,
       		fontFamily: Alloy.Globals.fontFamily.Light
       	},
       	textAlign: 'center'
       }
       "#listViewIn_Room[platform=ios]":{
       	separatorStyle: Ti.UI.iPhone.ListViewSeparatorStyle.NONE,
       	selectionStyle: Ti.UI.iPhone.ListViewCellSelectionStyle.NONE
       }
       
       //resumer domotique
       ".resume_domotique":{
       	"width": "100%",
       	"height": "8%",
       	backgroundColor: "#F6F6F6",
       	top: 0,
       	color: "#555555"
       }
       
       ".center_resume_domotique":{
       	width: Ti.UI.SIZE,
       	height: Ti.UI.SIZE,
       	layout: 'horizontal'
       }
       
       ".body":{
       	"height": "92%",
       	"top": "8%"
       }
       // ROOM //
       ".template_In_Room":{
       	height: 100,
       	width: Ti.UI.FILL
       }
       ".template_In_Room_Light_slider":{
       	height: 110,
       	width: Ti.UI.FILL
       }
       
       ".template_In_Room_Light_color":{
       	height: 110,
       	width: Ti.UI.FILL
       }
       
       ".left-buffer":{
       	left: 0,
       	zIndex: "5",
       	backgroundColor: "white"
       }
       
       ".avatar_In_Room":{
       	top: 35,
       	left: 30
       }
       
       ".avatar_In_Room_bouton":{
       	top: 35,
       	left: 30
       }
       ".avatar_In_Room_state":{
       	top: 10,
       	left: 30
       }
       
       ".maj":{
       	left: 10,
       	backgroundColor : "#4DFF0000"
       }
       
       ".smoothavatarIn_RoomBorderRadius": {
       	height: 50,
       	width: 50,
       	top: 25,
       	left: 10
       }
       
       ".avatar":{
       	height: 75,
       	width: 75,
       	top: 12,
       	left: 10,
       	borderRadius: 35
       }
       ".smoothAvatarBorderRadius": {
       	height: 75,
       	width: 75,
       	top: 12,
       	left: 0,
       	borderRadius: 35,
       	opacity: 0.6
       }
       
       ".avatar_In_Room_state":{
       	height: 25,
       	width: 25,
       	top: 5,
       	left: 25
       }
       
       ".smoothavatarIn_RoomBorderRadius_state": {
       	height: 25,
       	width: 25,
       	top: 5,
       	left: 25
       }
       
       ".vgroup":{
       	layout: 'vertical'
       },
       ".hgroup":{
       	layout: 'horizontal'
       },
       
       ".moduleState":{
       	font:{
       		fontSize: 30
       	},
       	left: 0,
       	top: 33,
       	width: 77,
       	textAlign: 'center',
       	color: "#48dba4"
       }
       ".moduleUnite":{
       	font:{
       		fontSize: 18
       	},
       	left: 0,
       	top: 70,
       	width: 77,
       	textAlign: 'center',
       	color: "#48dba4"
       }
       
       ".left":{
       	left: 10
       }
       
       ".size":{
       	height: Ti.UI.SIZE,
       	width: Ti.UI.SIZE
       }
       ".title":{
       	font:{
       		fontSize: 14
       	},
       	left: 85,
       	color: "#444"
       }
       
       ".subtitle":{
       	font:{
       		fontSize: 10
       	},
       	left: 85,
       	height: Ti.UI.SIZE,
       	color: "#666"
       }
       ".subtitlebottom":{
       	font:{
       		fontSize: 10
       	},
       	left: 85,
       	color: "#666"
       }
       ".slider":{
       	left: 85,
       	width: '70%',
       	bottom: 5
       }
       
       ".gray-line":{
       	backgroundColor: "#ececec",
       	width: Ti.UI.FILL,
       	height: 1
       }
       
       ".bottom":{
       	bottom: 0
       }
       
       ".moduleStop":{
       	left: 95,
       	height: 40,
       	width: 40
       }
       ".moduleDown":{
       	left: 145,
       	height: 40,
       	width: 40
       }
       ".moduleUp":{
       	left: 195,
       	height: 40,
       	width: 40
       }
       ".photolight":{
       	left: 85,
       	top: 5,
       	height: 16,
       	width: 16
       }
       ".photo":{
       	font: {
       		fontSize:19,
       		fontFamily: 'jeedomapp'	
       	},
       	color: "#666"
       },
       ".user":{
       	font:{
       		fontSize: 12
       	},
       	color: "#666"
       }
       ".btnlabel":{
       	top: 5
       }
       
       ".rond_color_fine":{
       	left: "10",
       	width : "70dp",
       	height : "70dp",
       	borderWidth: "1dp",
       	borderColor: "#ececec",
       	borderRadius : '35dp'
       }
       ".rond_color":{
       	width : "45dp",
       	height : "45dp",
       	borderRadius : '22.5dp',
       	borderWidth: "1dp",
       	borderColor: "#ececec",
       	right : "15",
       }
       
       "#color_picker":{
       	width : "42dp",
       	height : "40dp",
       	image : '/images/color_picker.png',
       	zIndex: "10"
       }
       
       ".refresh":{
       	height: "100%",
       	width: "100%",
       	backgroundColor: "#80dbf6e4",
       	zIndex : 11
       }
       
    function openWindow
       var page = Ti.UI.createWindow({
                   theme: "jeedom.WindowNew",
                   navBarHidden: false,
                   orientationModes: [Ti.UI.PORTRAIT, Ti.UI.UPSIDE_PORTRAIT],
                   backgroundColor:'#00FFFFFF',
                   title: payload.title
                   
               });
               var actionBar_new;
               page.addEventListener("open", function() {
                       if (! page.activity) {
                           Ti.API.error("Can't access action bar on a lightweight window.");
                       } else {
                           actionBar_new = page.activity.actionBar;
                           if (actionBar_new) {
                               actionBar_new.title = payload.title;
                               actionBar_new.displayHomeAsUp = true;
                               actionBar_new.onHomeIconItemSelected = function() {
                                     //container.animate(slide_it_left_out);
                                     //slide_it_left_out.addEventListener('complete', function () {
                                         page.close();
                                         Alloy.Globals.windowOpen = 'index';
                                     //});
                               };
                           }
                       }
               });
               var container = Ti.UI.createView();
               var viewopen = Alloy.createController(payload.viewopen,payload).getView();
               container.add(viewopen);
               page.add(container);
               Alloy.Globals.windowOpen = payload.viewopen;
               page.open(); 
       
    Tks
  3. Sharif AbuDarda 2016-06-24

    Hello, The code you sent has missing components. It's not suffuicient to regenerate. Please attach a full regeneratable test code. Perhaps a sample project that successfully generate the issue.

JSON Source