diff --git a/app/src/main/kotlin/org/fossify/calendar/activities/EventActivity.kt b/app/src/main/kotlin/org/fossify/calendar/activities/EventActivity.kt index 61381123c..a0a2bd24a 100644 --- a/app/src/main/kotlin/org/fossify/calendar/activities/EventActivity.kt +++ b/app/src/main/kotlin/org/fossify/calendar/activities/EventActivity.kt @@ -18,6 +18,7 @@ import android.text.method.LinkMovementMethod import android.view.View import android.view.WindowManager import android.view.inputmethod.EditorInfo +import android.widget.ArrayAdapter import android.widget.ImageView import android.widget.RelativeLayout import androidx.core.graphics.drawable.toDrawable @@ -229,8 +230,13 @@ class EventActivity : SimpleActivity() { val eventId = intent.getLongExtra(EVENT_ID, 0L) ensureBackgroundThread { - mStoredCalendars = - calendarsDB.getCalendars().toMutableList() as ArrayList + val locations = eventsDB.getAllLocations() + + runOnUiThread { + val adapter = ArrayAdapter(this, R.layout.item_dropdown, locations) + binding.eventLocation.setAdapter(adapter) + } + val event = eventsDB.getEventWithId(eventId) if (eventId != 0L && event == null) { hideKeyboard() @@ -238,6 +244,8 @@ class EventActivity : SimpleActivity() { return@ensureBackgroundThread } + mStoredCalendars = + calendarsDB.getCalendars().toMutableList() as ArrayList val localCalendar = mStoredCalendars.firstOrNull { it.id == config.lastUsedLocalCalendarId } runOnUiThread { diff --git a/app/src/main/kotlin/org/fossify/calendar/interfaces/EventsDao.kt b/app/src/main/kotlin/org/fossify/calendar/interfaces/EventsDao.kt index 788a1e7e8..0f2b13863 100644 --- a/app/src/main/kotlin/org/fossify/calendar/interfaces/EventsDao.kt +++ b/app/src/main/kotlin/org/fossify/calendar/interfaces/EventsDao.kt @@ -19,6 +19,9 @@ interface EventsDao { @Query("SELECT * FROM events WHERE type = $TYPE_TASK") fun getAllTasks(): List + @Query("SELECT DISTINCT location FROM events ORDER BY location COLLATE NOCASE") + fun getAllLocations(): List + @Query("SELECT * FROM events WHERE event_type IN (:calendarIds) AND type = $TYPE_EVENT") fun getAllEventsWithCalendarIds(calendarIds: List): List diff --git a/app/src/main/res/layout/activity_event.xml b/app/src/main/res/layout/activity_event.xml index 482836a03..77b6376b4 100644 --- a/app/src/main/res/layout/activity_event.xml +++ b/app/src/main/res/layout/activity_event.xml @@ -50,7 +50,7 @@ android:textCursorDrawable="@null" android:textSize="@dimen/day_text_size" /> - + + +