@@ -112,31 +112,31 @@ class ActivitySummary : FragmentActivity() {
112
112
inputStream.close()
113
113
114
114
val json = JSONObject (string)
115
+ val importedLongName: String = json.keys().next()
115
116
116
- val skiingDates = databaseDao.getAllSkiingDatesWithActivities()
117
- val importedShortName: String = json.keys().next()
118
- if (! importedShortName.matches(" \\ d{4}-\\ d{1,2}-\\ d{1,2}" .toRegex())) {
117
+ val skiingActivities = json.getJSONArray(importedLongName)
118
+ if (skiingActivities.length() == 0 ) {
119
+ return @registerForActivityResult
120
+ }
121
+
122
+ val shortDate = Database .getShortDateFromLong(skiingActivities.getJSONObject(0 ).getLong(TIME ))
123
+ if (! shortDate.matches(" \\ d{4}-\\ d{1,2}-\\ d{1,2}" .toRegex())) {
119
124
val msg = " Unable to import skiing activity"
120
125
Toast .makeText(this , msg, Toast .LENGTH_SHORT )
121
126
Log .w(tag, msg)
122
127
return @registerForActivityResult
123
128
}
124
129
125
- val shortName = " ${importedShortName} -imported"
130
+ val shortName = " ${shortDate} -imported"
131
+ val skiingDates = databaseDao.getAllSkiingDatesWithActivities()
126
132
if (skiingDates.find { it.skiingDate.shortDate == shortName } != null ) {
127
133
val msg = " Unable to import skiing activity - name already in use"
128
134
Toast .makeText(this , msg, Toast .LENGTH_LONG )
129
135
Log .w(tag, msg)
130
136
return @registerForActivityResult
131
137
}
132
138
133
- val skiingActivities = json.getJSONArray(importedShortName)
134
- if (skiingActivities.length() == 0 ) {
135
- return @registerForActivityResult
136
- }
137
-
138
- val longTime = skiingActivities.getJSONObject(0 ).getLong(TIME )
139
- databaseDao.addSkiingDate(LongAndShortDate (" ${Database .getDateFromLong(longTime)} (Imported)" , shortName))
139
+ databaseDao.addSkiingDate(LongAndShortDate (" $importedLongName (Imported)" , shortName))
140
140
141
141
val skiingDate = databaseDao.getSkiingDateWithActivitiesByShortDate(shortName)
142
142
if (skiingDate == null ) {
@@ -153,11 +153,11 @@ class ActivitySummary : FragmentActivity() {
153
153
SkiingActivity (
154
154
skiingActivity.getDouble(ACCURACY ).toFloat(),
155
155
skiingActivity.getDouble(ALTITUDE ),
156
- skiingActivity.opt (ALTITUDE_ACCURACY ) as Float? ,
156
+ skiingActivity.optDouble (ALTITUDE_ACCURACY ).toFloat() ,
157
157
skiingActivity.getDouble(LATITUDE ),
158
158
skiingActivity.getDouble(LONGITUDE ),
159
159
skiingActivity.getDouble(SPEED ).toFloat(),
160
- skiingActivity.opt (SPEED_ACCURACY ) as Float? ,
160
+ skiingActivity.optDouble (SPEED_ACCURACY ).toFloat() ,
161
161
skiingActivity.getLong(TIME ),
162
162
skiingDate.skiingDate.id
163
163
)
@@ -292,7 +292,7 @@ class ActivitySummary : FragmentActivity() {
292
292
return emptyObject
293
293
}
294
294
295
- val date = Database .getDateFromLong (loadedSkiingActivities[0 ].time)
295
+ val date = Database .getLongDateFromLong (loadedSkiingActivities[0 ].time)
296
296
297
297
val jsonArray = JSONArray ()
298
298
for (skiingActivity in loadedSkiingActivities) {
0 commit comments