Skip to content

Commit 6d6c0e5

Browse files
committed
Import bug fixes
1 parent f882e75 commit 6d6c0e5

File tree

3 files changed

+21
-16
lines changed

3 files changed

+21
-16
lines changed

Android/app/src/main/java/com/mtspokane/skiapp/Database.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,12 @@ abstract class Database : RoomDatabase() {
8080
return dateFormat.format(Date())
8181
}
8282

83-
fun getDateFromLong(date: Long): String {
83+
fun getShortDateFromLong(date: Long): String {
84+
val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.US)
85+
return dateFormat.format(date)
86+
}
87+
88+
fun getLongDateFromLong(date: Long): String {
8489
val dateFormat = SimpleDateFormat("LLLL dd yyyy", Locale.US)
8590
return dateFormat.format(date)
8691
}

Android/app/src/main/java/com/mtspokane/skiapp/activities/SkierLocationService.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ class SkierLocationService : Service(), LocationListener {
109109
databaseDao = database.skiingActivityDao()
110110

111111
val todaysDate: String = Database.getTodaysDate()
112-
val longDate: String = Database.getDateFromLong(Date().time)
112+
val longDate: String = Database.getLongDateFromLong(Date().time)
113113

114114
var skiingDateAndActivities = databaseDao.getSkiingDateWithActivitiesByShortDate(todaysDate)
115115
while (skiingDateAndActivities == null) {

Android/app/src/main/java/com/mtspokane/skiapp/activities/activitysummary/ActivitySummary.kt

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -112,31 +112,31 @@ class ActivitySummary : FragmentActivity() {
112112
inputStream.close()
113113

114114
val json = JSONObject(string)
115+
val importedLongName: String = json.keys().next()
115116

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())) {
119124
val msg = "Unable to import skiing activity"
120125
Toast.makeText(this, msg, Toast.LENGTH_SHORT)
121126
Log.w(tag, msg)
122127
return@registerForActivityResult
123128
}
124129

125-
val shortName = "${importedShortName}-imported"
130+
val shortName = "${shortDate}-imported"
131+
val skiingDates = databaseDao.getAllSkiingDatesWithActivities()
126132
if (skiingDates.find { it.skiingDate.shortDate == shortName } != null) {
127133
val msg = "Unable to import skiing activity - name already in use"
128134
Toast.makeText(this, msg, Toast.LENGTH_LONG)
129135
Log.w(tag, msg)
130136
return@registerForActivityResult
131137
}
132138

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))
140140

141141
val skiingDate = databaseDao.getSkiingDateWithActivitiesByShortDate(shortName)
142142
if (skiingDate == null) {
@@ -153,11 +153,11 @@ class ActivitySummary : FragmentActivity() {
153153
SkiingActivity(
154154
skiingActivity.getDouble(ACCURACY).toFloat(),
155155
skiingActivity.getDouble(ALTITUDE),
156-
skiingActivity.opt(ALTITUDE_ACCURACY) as Float?,
156+
skiingActivity.optDouble(ALTITUDE_ACCURACY).toFloat(),
157157
skiingActivity.getDouble(LATITUDE),
158158
skiingActivity.getDouble(LONGITUDE),
159159
skiingActivity.getDouble(SPEED).toFloat(),
160-
skiingActivity.opt(SPEED_ACCURACY) as Float?,
160+
skiingActivity.optDouble(SPEED_ACCURACY).toFloat(),
161161
skiingActivity.getLong(TIME),
162162
skiingDate.skiingDate.id
163163
)
@@ -292,7 +292,7 @@ class ActivitySummary : FragmentActivity() {
292292
return emptyObject
293293
}
294294

295-
val date = Database.getDateFromLong(loadedSkiingActivities[0].time)
295+
val date = Database.getLongDateFromLong(loadedSkiingActivities[0].time)
296296

297297
val jsonArray = JSONArray()
298298
for (skiingActivity in loadedSkiingActivities) {

0 commit comments

Comments
 (0)