Skip to content

Commit 75fc602

Browse files
fix: fix query,use jacksonObjectMapper and view holder crash
1 parent 0a2f916 commit 75fc602

File tree

7 files changed

+22
-19
lines changed

7 files changed

+22
-19
lines changed

app/src/main/java/org/fossasia/openevent/general/event/EventService.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ class EventService(
7979
return eventDao.getFavoriteEvents()
8080
}
8181

82-
fun getEventsByLocation(locationName: String): Single<List<Event>> {
82+
fun getEventsByLocation(locationName: String?): Single<List<Event>> {
8383
val query = "[{\"name\":\"location-name\",\"op\":\"ilike\",\"val\":\"%$locationName%\"}]"
8484
return eventApi.searchEvents("name", query).flatMap { apiList ->
8585
val eventIds = apiList.map { it.id }.toList()

app/src/main/java/org/fossasia/openevent/general/event/EventViewHolder.kt

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -61,17 +61,19 @@ class EventViewHolder(override val containerView: View) : RecyclerView.ViewHolde
6161

6262
setFabBackground(event.favorite)
6363

64-
event.eventType.let {
65-
if (it != null)
66-
addchips(it.name)
67-
}
68-
event.eventTopic.let {
69-
if (it != null)
70-
addchips(it.name)
71-
}
72-
event.eventSubTopic.let {
73-
if (it != null)
74-
addchips(it.name)
64+
if (containerView.chipTags != null) {
65+
event.eventType.let {
66+
if (it != null)
67+
addchips(it.name)
68+
}
69+
event.eventTopic.let {
70+
if (it != null)
71+
addchips(it.name)
72+
}
73+
event.eventSubTopic.let {
74+
if (it != null)
75+
addchips(it.name)
76+
}
7577
}
7678

7779
event.originalImageUrl?.let { url ->

app/src/main/java/org/fossasia/openevent/general/event/EventsViewModel.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,8 @@ class EventsViewModel(
4141
}
4242

4343
fun loadLocationEvents() {
44-
val query = "[{\"name\":\"location-name\",\"op\":\"ilike\",\"val\":\"%${mutableSavedLocation.value}%\"}]"
4544
if (lastSearch != savedLocation.value) {
46-
compositeDisposable.add(eventService.getEventsByLocation(query)
45+
compositeDisposable.add(eventService.getEventsByLocation(mutableSavedLocation.value)
4746
.subscribeOn(Schedulers.io())
4847
.observeOn(AndroidSchedulers.mainThread())
4948
.doOnSubscribe {

app/src/main/java/org/fossasia/openevent/general/event/subtopic/EventSubTopicConverter.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@ package org.fossasia.openevent.general.event.subtopic
22

33
import androidx.room.TypeConverter
44
import com.fasterxml.jackson.databind.ObjectMapper
5+
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
56

67
class EventSubTopicConverter {
78

89
@TypeConverter
910
fun toEventSubTopic(json: String): EventSubTopic? {
10-
return ObjectMapper().readerFor(EventSubTopic::class.java).readValue<EventSubTopic>(json)
11+
return jacksonObjectMapper().readerFor(EventSubTopic::class.java).readValue<EventSubTopic>(json)
1112
}
1213

1314
@TypeConverter

app/src/main/java/org/fossasia/openevent/general/event/topic/EventTopicConverter.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@ package org.fossasia.openevent.general.event.topic
22

33
import androidx.room.TypeConverter
44
import com.fasterxml.jackson.databind.ObjectMapper
5+
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
56

67
class EventTopicConverter {
78
@TypeConverter
89
fun toEventTopic(json: String): EventTopic? {
9-
return ObjectMapper().readerFor(EventTopic::class.java).readValue<EventTopic>(json)
10+
return jacksonObjectMapper().readerFor(EventTopic::class.java).readValue<EventTopic>(json)
1011
}
1112

1213
@TypeConverter

app/src/main/java/org/fossasia/openevent/general/event/topic/SimilarEventsViewModel.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,8 @@ class SimilarEventsViewModel(private val eventService: EventService, private val
4848
}
4949

5050
fun loadSimilarLocationEvents(location: String) {
51-
val query = "[{\"name\":\"location-name\",\"op\":\"ilike\",\"val\":\"%$location%\"}]"
5251

53-
compositeDisposable.add(eventService.getEventsByLocation(query)
52+
compositeDisposable.add(eventService.getEventsByLocation(location)
5453
.subscribeOn(Schedulers.io())
5554
.observeOn(AndroidSchedulers.mainThread())
5655
.doOnSubscribe {

app/src/main/java/org/fossasia/openevent/general/event/types/EventTypeConverter.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@ package org.fossasia.openevent.general.event.types
22

33
import androidx.room.TypeConverter
44
import com.fasterxml.jackson.databind.ObjectMapper
5+
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
56

67
class EventTypeConverter {
78
@TypeConverter
89
fun toEventType(json: String): EventType? {
9-
return ObjectMapper().readerFor(EventType::class.java).readValue<EventType>(json)
10+
return jacksonObjectMapper().readerFor(EventType::class.java).readValue<EventType>(json)
1011
}
1112

1213
@TypeConverter

0 commit comments

Comments
 (0)