@@ -107,36 +107,12 @@ public RouteData(string routePath, MessageDelegate messageDelegate)
107107 //sigcfgFile = null; // default initialization
108108 }
109109
110- // read the activity location events and store them in the TrackDB.TrItemTable
110+ // read the activity location events and add them to the TrackDB.TrItemTable
111111
112112 ActivityNames . Clear ( ) ;
113113 var directory = System . IO . Path . Combine ( routePath , "ACTIVITIES" ) ;
114114 if ( System . IO . Directory . Exists ( directory ) )
115115 {
116- // counting
117- int cnt = 0 ;
118-
119- foreach ( var file in Directory . GetFiles ( directory , "*.act" ) )
120- {
121- try
122- {
123- var activityFile = new ActivityFile ( file ) ;
124- Events events = activityFile . Tr_Activity . Tr_Activity_File . Events ;
125- if ( events != null )
126- {
127- for ( int i = 0 ; i < events . EventList . Count ; i ++ )
128- {
129- if ( events . EventList [ i ] . GetType ( ) == typeof ( EventCategoryLocation ) )
130- {
131- cnt ++ ;
132- }
133- }
134- }
135- }
136- catch { }
137- }
138-
139- // adding
140116 int index = TrackDB . TrItemTable . Length ;
141117 List < TrItem > eventItems = new List < TrItem > ( ) ;
142118 foreach ( var file in Directory . GetFiles ( directory , "*.act" ) )
@@ -169,15 +145,18 @@ public RouteData(string routePath, MessageDelegate messageDelegate)
169145 ActivityNames . Add ( activityFile . Tr_Activity . Tr_Activity_Header . Name ) ;
170146 }
171147 }
172- catch { }
148+ catch { /* just ignore activity files with problems */ }
173149 }
174150
175151 // extend the track items array and append the event items
176- int oldSize = TrackDB . TrItemTable . Length ;
177- Array . Resize < TrItem > ( ref TrackDB . TrItemTable , index ) ;
178- int newSize = TrackDB . TrItemTable . Length ;
179- int eventSize = eventItems . Count ;
180- for ( int toIdx = oldSize , fromIdx = 0 ; toIdx < newSize && fromIdx < eventSize ; toIdx ++ , fromIdx ++ ) { TrackDB . TrItemTable [ toIdx ] = eventItems [ fromIdx ] ; }
152+ if ( eventItems . Count > 0 )
153+ {
154+ int oldSize = TrackDB . TrItemTable . Length ;
155+ Array . Resize < TrItem > ( ref TrackDB . TrItemTable , index ) ;
156+ int newSize = TrackDB . TrItemTable . Length ;
157+ int eventSize = eventItems . Count ;
158+ for ( int toIdx = oldSize , fromIdx = 0 ; toIdx < newSize && fromIdx < eventSize ; toIdx ++ , fromIdx ++ ) { TrackDB . TrItemTable [ toIdx ] = eventItems [ fromIdx ] ; }
159+ }
181160 }
182161 }
183162
0 commit comments