@@ -107,36 +107,12 @@ public RouteData(string routePath, MessageDelegate messageDelegate)
107
107
//sigcfgFile = null; // default initialization
108
108
}
109
109
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
111
111
112
112
ActivityNames . Clear ( ) ;
113
113
var directory = System . IO . Path . Combine ( routePath , "ACTIVITIES" ) ;
114
114
if ( System . IO . Directory . Exists ( directory ) )
115
115
{
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
140
116
int index = TrackDB . TrItemTable . Length ;
141
117
List < TrItem > eventItems = new List < TrItem > ( ) ;
142
118
foreach ( var file in Directory . GetFiles ( directory , "*.act" ) )
@@ -169,15 +145,18 @@ public RouteData(string routePath, MessageDelegate messageDelegate)
169
145
ActivityNames . Add ( activityFile . Tr_Activity . Tr_Activity_Header . Name ) ;
170
146
}
171
147
}
172
- catch { }
148
+ catch { /* just ignore activity files with problems */ }
173
149
}
174
150
175
151
// 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
+ }
181
160
}
182
161
}
183
162
0 commit comments