mirror of
https://github.com/MatomoCamp/matomocamp-companion-android.git
synced 2024-09-19 16:13:46 +02:00
rename URLS and 3h instead of 30min
This commit is contained in:
parent
7a833d9251
commit
3a1cf7bbbc
17 changed files with 38 additions and 37 deletions
|
@ -31,8 +31,8 @@ import androidx.fragment.app.commit
|
|||
import androidx.lifecycle.lifecycleScope
|
||||
import org.matomocamp.companion.BuildConfig
|
||||
import org.matomocamp.companion.R
|
||||
import org.matomocamp.companion.api.FosdemApi
|
||||
import org.matomocamp.companion.api.FosdemUrls
|
||||
import org.matomocamp.companion.api.MatomoCampApi
|
||||
import org.matomocamp.companion.api.MatomoCampUrls
|
||||
import org.matomocamp.companion.db.ScheduleDao
|
||||
import org.matomocamp.companion.fragments.BookmarksListFragment
|
||||
import org.matomocamp.companion.fragments.LiveFragment
|
||||
|
@ -83,7 +83,7 @@ class MainActivity : AppCompatActivity(R.layout.main), CreateNfcAppDataCallback
|
|||
val navigationView: NavigationView)
|
||||
|
||||
@Inject
|
||||
lateinit var api: FosdemApi
|
||||
lateinit var api: MatomoCampApi
|
||||
@Inject
|
||||
lateinit var scheduleDao: ScheduleDao
|
||||
|
||||
|
@ -322,7 +322,7 @@ class MainActivity : AppCompatActivity(R.layout.main), CreateNfcAppDataCallback
|
|||
.configureToolbarColors(this, R.color.light_color_primary)
|
||||
.setShowTitle(true)
|
||||
.build()
|
||||
.launchUrl(this, Uri.parse(FosdemUrls.volunteer))
|
||||
.launchUrl(this, Uri.parse(MatomoCampUrls.volunteer))
|
||||
} catch (ignore: ActivityNotFoundException) {
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,8 +13,8 @@ import androidx.core.content.ContextCompat
|
|||
import androidx.core.text.set
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import org.matomocamp.companion.R
|
||||
import org.matomocamp.companion.api.FosdemApi
|
||||
import org.matomocamp.companion.api.FosdemUrls
|
||||
import org.matomocamp.companion.api.MatomoCampApi
|
||||
import org.matomocamp.companion.api.MatomoCampUrls
|
||||
import org.matomocamp.companion.utils.configureToolbarColors
|
||||
import org.matomocamp.companion.utils.invertImageColors
|
||||
import org.matomocamp.companion.utils.isLightTheme
|
||||
|
@ -32,7 +32,7 @@ import javax.inject.Inject
|
|||
class RoomImageDialogActivity : AppCompatActivity(R.layout.dialog_room_image) {
|
||||
|
||||
@Inject
|
||||
lateinit var api: FosdemApi
|
||||
lateinit var api: MatomoCampApi
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
@ -53,7 +53,7 @@ class RoomImageDialogActivity : AppCompatActivity(R.layout.dialog_room_image) {
|
|||
const val EXTRA_ROOM_NAME = "roomName"
|
||||
const val EXTRA_ROOM_IMAGE_RESOURCE_ID = "imageResId"
|
||||
|
||||
fun configureToolbar(api: FosdemApi, owner: LifecycleOwner, toolbar: Toolbar, roomName: String) {
|
||||
fun configureToolbar(api: MatomoCampApi, owner: LifecycleOwner, toolbar: Toolbar, roomName: String) {
|
||||
toolbar.title = roomName
|
||||
if (roomName.isNotEmpty()) {
|
||||
val context = toolbar.context
|
||||
|
@ -62,7 +62,7 @@ class RoomImageDialogActivity : AppCompatActivity(R.layout.dialog_room_image) {
|
|||
toolbar.setOnMenuItemClickListener { item ->
|
||||
when (item.itemId) {
|
||||
R.id.navigation -> {
|
||||
val localNavigationUrl = FosdemUrls.getLocalNavigationToLocation(roomName.toSlug())
|
||||
val localNavigationUrl = MatomoCampUrls.getLocalNavigationToLocation(roomName.toSlug())
|
||||
try {
|
||||
CustomTabsIntent.Builder()
|
||||
.configureToolbarColors(context, R.color.light_color_primary)
|
||||
|
|
|
@ -34,7 +34,7 @@ import kotlin.math.pow
|
|||
* @author Christophe Beyls
|
||||
*/
|
||||
@Singleton
|
||||
class FosdemApi @Inject constructor(
|
||||
class MatomoCampApi @Inject constructor(
|
||||
private val httpClient: HttpClient,
|
||||
private val scheduleDao: ScheduleDao,
|
||||
private val alarmManager: FosdemAlarmManager
|
||||
|
@ -62,7 +62,7 @@ class FosdemApi @Inject constructor(
|
|||
private suspend fun downloadScheduleInternal() {
|
||||
_downloadScheduleState.value = LoadingState.Loading()
|
||||
val res = try {
|
||||
val response = httpClient.get(FosdemUrls.schedule, scheduleDao.lastModifiedTag) { body, headers ->
|
||||
val response = httpClient.get(MatomoCampUrls.schedule, scheduleDao.lastModifiedTag) { body, headers ->
|
||||
val length = body.contentLength()
|
||||
val source = if (length > 0L) {
|
||||
// Broadcast the progression in percents, with a precision of 1/10 of the total file size
|
||||
|
@ -137,7 +137,7 @@ class FosdemApi @Inject constructor(
|
|||
}
|
||||
|
||||
nextRefreshDelay = try {
|
||||
val response = httpClient.get(FosdemUrls.rooms) { body, _ ->
|
||||
val response = httpClient.get(MatomoCampUrls.rooms) { body, _ ->
|
||||
RoomStatusesParser().parse(body.source())
|
||||
}
|
||||
now = SystemClock.elapsedRealtime()
|
|
@ -5,10 +5,11 @@ package org.matomocamp.companion.api
|
|||
*
|
||||
* @author Christophe Beyls
|
||||
*/
|
||||
object FosdemUrls {
|
||||
object MatomoCampUrls {
|
||||
|
||||
val schedule
|
||||
get() = "https://fosdem.org/schedule/xml"
|
||||
// get() = "https://fosdem.org/schedule/xml"
|
||||
get() = "https://lw1.at/s/tmp/schedule.xml"
|
||||
val rooms
|
||||
get() = "https://api.fosdem.org/roomstatus/v1/listrooms"
|
||||
val localNavigation
|
|
@ -23,7 +23,7 @@ import androidx.recyclerview.widget.LinearLayoutManager
|
|||
import org.matomocamp.companion.R
|
||||
import org.matomocamp.companion.activities.ExternalBookmarksActivity
|
||||
import org.matomocamp.companion.adapters.BookmarksAdapter
|
||||
import org.matomocamp.companion.api.FosdemApi
|
||||
import org.matomocamp.companion.api.MatomoCampApi
|
||||
import org.matomocamp.companion.providers.BookmarksExportProvider
|
||||
import org.matomocamp.companion.utils.CreateNfcAppDataCallback
|
||||
import org.matomocamp.companion.utils.toBookmarksNfcAppData
|
||||
|
@ -43,7 +43,7 @@ import javax.inject.Inject
|
|||
class BookmarksListFragment : Fragment(R.layout.recyclerview), CreateNfcAppDataCallback {
|
||||
|
||||
@Inject
|
||||
lateinit var api: FosdemApi
|
||||
lateinit var api: MatomoCampApi
|
||||
private val viewModel: BookmarksViewModel by viewModels()
|
||||
private val multiChoiceHelper: MultiChoiceHelper by lazy(LazyThreadSafetyMode.NONE) {
|
||||
MultiChoiceHelper(requireActivity() as AppCompatActivity, this, object : MultiChoiceHelper.MultiChoiceModeListener {
|
||||
|
|
|
@ -30,7 +30,7 @@ import androidx.fragment.app.commit
|
|||
import androidx.fragment.app.viewModels
|
||||
import org.matomocamp.companion.R
|
||||
import org.matomocamp.companion.activities.PersonInfoActivity
|
||||
import org.matomocamp.companion.api.FosdemApi
|
||||
import org.matomocamp.companion.api.MatomoCampApi
|
||||
import org.matomocamp.companion.model.Building
|
||||
import org.matomocamp.companion.model.Event
|
||||
import org.matomocamp.companion.model.EventDetails
|
||||
|
@ -58,7 +58,7 @@ class EventDetailsFragment : Fragment(R.layout.fragment_event_details) {
|
|||
}
|
||||
|
||||
@Inject
|
||||
lateinit var api: FosdemApi
|
||||
lateinit var api: MatomoCampApi
|
||||
private val viewModel: EventDetailsViewModel by viewModels()
|
||||
|
||||
val event by lazy<Event>(LazyThreadSafetyMode.NONE) {
|
||||
|
|
|
@ -15,7 +15,7 @@ import androidx.recyclerview.widget.DividerItemDecoration
|
|||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import org.matomocamp.companion.R
|
||||
import org.matomocamp.companion.adapters.EventsAdapter
|
||||
import org.matomocamp.companion.api.FosdemApi
|
||||
import org.matomocamp.companion.api.MatomoCampApi
|
||||
import org.matomocamp.companion.viewmodels.ExternalBookmarksViewModel
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
@ -25,7 +25,7 @@ import javax.inject.Inject
|
|||
class ExternalBookmarksListFragment : Fragment(R.layout.recyclerview) {
|
||||
|
||||
@Inject
|
||||
lateinit var api: FosdemApi
|
||||
lateinit var api: MatomoCampApi
|
||||
private val viewModel: ExternalBookmarksViewModel by viewModels()
|
||||
private var addAllMenuItem: MenuItem? = null
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ import androidx.recyclerview.widget.DividerItemDecoration
|
|||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import org.matomocamp.companion.R
|
||||
import org.matomocamp.companion.adapters.EventsAdapter
|
||||
import org.matomocamp.companion.api.FosdemApi
|
||||
import org.matomocamp.companion.api.MatomoCampApi
|
||||
import org.matomocamp.companion.model.StatusEvent
|
||||
import org.matomocamp.companion.viewmodels.LiveViewModel
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
@ -23,7 +23,7 @@ sealed class LiveListFragment(@StringRes private val emptyTextResId: Int,
|
|||
: Fragment(R.layout.recyclerview) {
|
||||
|
||||
@Inject
|
||||
lateinit var api: FosdemApi
|
||||
lateinit var api: MatomoCampApi
|
||||
private val viewModel: LiveViewModel by viewModels({ requireParentFragment() })
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
|
|
|
@ -13,7 +13,7 @@ import androidx.browser.customtabs.CustomTabsIntent
|
|||
import androidx.core.net.toUri
|
||||
import androidx.fragment.app.Fragment
|
||||
import org.matomocamp.companion.R
|
||||
import org.matomocamp.companion.api.FosdemUrls.localNavigation
|
||||
import org.matomocamp.companion.api.MatomoCampUrls.localNavigation
|
||||
import org.matomocamp.companion.utils.configureToolbarColors
|
||||
import org.matomocamp.companion.utils.invertImageColors
|
||||
import org.matomocamp.companion.utils.isLightTheme
|
||||
|
|
|
@ -11,7 +11,7 @@ import androidx.recyclerview.widget.LinearLayoutManager
|
|||
import androidx.recyclerview.widget.RecyclerView
|
||||
import org.matomocamp.companion.R
|
||||
import org.matomocamp.companion.adapters.EventsAdapter
|
||||
import org.matomocamp.companion.api.FosdemApi
|
||||
import org.matomocamp.companion.api.MatomoCampApi
|
||||
import org.matomocamp.companion.viewmodels.PersonInfoViewModel
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import javax.inject.Inject
|
||||
|
@ -20,7 +20,7 @@ import javax.inject.Inject
|
|||
class PersonInfoListFragment : Fragment(R.layout.recyclerview) {
|
||||
|
||||
@Inject
|
||||
lateinit var api: FosdemApi
|
||||
lateinit var api: MatomoCampApi
|
||||
// Fetch data from parent Activity's ViewModel
|
||||
private val viewModel: PersonInfoViewModel by activityViewModels()
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ import androidx.appcompat.app.AlertDialog
|
|||
import androidx.fragment.app.DialogFragment
|
||||
import org.matomocamp.companion.R
|
||||
import org.matomocamp.companion.activities.RoomImageDialogActivity
|
||||
import org.matomocamp.companion.api.FosdemApi
|
||||
import org.matomocamp.companion.api.MatomoCampApi
|
||||
import org.matomocamp.companion.utils.isLightTheme
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
@ -21,7 +21,7 @@ import javax.inject.Inject
|
|||
class RoomImageDialogFragment : DialogFragment() {
|
||||
|
||||
@Inject
|
||||
lateinit var api: FosdemApi
|
||||
lateinit var api: MatomoCampApi
|
||||
|
||||
@SuppressLint("InflateParams")
|
||||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||
|
|
|
@ -8,7 +8,7 @@ import androidx.recyclerview.widget.DividerItemDecoration
|
|||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import org.matomocamp.companion.R
|
||||
import org.matomocamp.companion.adapters.EventsAdapter
|
||||
import org.matomocamp.companion.api.FosdemApi
|
||||
import org.matomocamp.companion.api.MatomoCampApi
|
||||
import org.matomocamp.companion.viewmodels.SearchViewModel
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import javax.inject.Inject
|
||||
|
@ -17,7 +17,7 @@ import javax.inject.Inject
|
|||
class SearchResultListFragment : Fragment(R.layout.recyclerview) {
|
||||
|
||||
@Inject
|
||||
lateinit var api: FosdemApi
|
||||
lateinit var api: MatomoCampApi
|
||||
private val viewModel: SearchViewModel by activityViewModels()
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
|
|
|
@ -4,7 +4,7 @@ import android.os.Parcelable
|
|||
import androidx.room.ColumnInfo
|
||||
import androidx.room.Embedded
|
||||
import androidx.room.TypeConverters
|
||||
import org.matomocamp.companion.api.FosdemUrls
|
||||
import org.matomocamp.companion.api.MatomoCampUrls
|
||||
import org.matomocamp.companion.db.converters.NullableDateTypeConverters
|
||||
import org.matomocamp.companion.utils.DateParceler
|
||||
import org.matomocamp.companion.utils.DateUtils
|
||||
|
@ -53,7 +53,7 @@ data class Event(
|
|||
val url: String?
|
||||
get() {
|
||||
val s = slug ?: return null
|
||||
return FosdemUrls.getEvent(s, DateUtils.getYear(day.date.time))
|
||||
return MatomoCampUrls.getEvent(s, DateUtils.getYear(day.date.time))
|
||||
}
|
||||
|
||||
override fun toString(): String = title ?: ""
|
||||
|
|
|
@ -5,7 +5,7 @@ import androidx.room.ColumnInfo
|
|||
import androidx.room.Entity
|
||||
import androidx.room.Fts3
|
||||
import androidx.room.PrimaryKey
|
||||
import org.matomocamp.companion.api.FosdemUrls
|
||||
import org.matomocamp.companion.api.MatomoCampUrls
|
||||
import org.matomocamp.companion.utils.toSlug
|
||||
import kotlinx.parcelize.Parcelize
|
||||
|
||||
|
@ -21,7 +21,7 @@ data class Person(
|
|||
|
||||
fun getUrl(year: Int): String? {
|
||||
val n = name ?: return null
|
||||
return FosdemUrls.getPerson(n.toSlug(), year)
|
||||
return MatomoCampUrls.getPerson(n.toSlug(), year)
|
||||
}
|
||||
|
||||
override fun toString(): String = name ?: ""
|
||||
|
|
|
@ -13,7 +13,7 @@ import androidx.core.app.ShareCompat
|
|||
import androidx.core.content.ContentProviderCompat
|
||||
import org.matomocamp.companion.BuildConfig
|
||||
import org.matomocamp.companion.R
|
||||
import org.matomocamp.companion.api.FosdemUrls
|
||||
import org.matomocamp.companion.api.MatomoCampUrls
|
||||
import org.matomocamp.companion.db.BookmarksDao
|
||||
import org.matomocamp.companion.db.ScheduleDao
|
||||
import org.matomocamp.companion.ical.ICalendarWriter
|
||||
|
@ -150,7 +150,7 @@ class BookmarksExportProvider : ContentProvider() {
|
|||
if (event.personsSummary != null) {
|
||||
for (name in event.personsSummary.split(", ")) {
|
||||
val key = "ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN=\"$name\""
|
||||
val url = FosdemUrls.getPerson(name.toSlug(), year)
|
||||
val url = MatomoCampUrls.getPerson(name.toSlug(), year)
|
||||
write(key, url)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,6 +28,6 @@ class LiveViewModel @Inject constructor(scheduleDao: ScheduleDao) : ViewModel()
|
|||
}
|
||||
|
||||
companion object {
|
||||
private const val NEXT_EVENTS_INTERVAL = 30L * DateUtils.MINUTE_IN_MILLIS
|
||||
private const val NEXT_EVENTS_INTERVAL = 3L * DateUtils.HOUR_IN_MILLIS
|
||||
}
|
||||
}
|
|
@ -40,7 +40,7 @@
|
|||
|
||||
<!-- Live -->
|
||||
<string name="next">Next</string>
|
||||
<string name="next_empty">During FOSDEM, the events to come in the next 30 minutes will be shown here.</string>
|
||||
<string name="next_empty">During FOSDEM, the events to come in the next 3 hours will be shown here.</string>
|
||||
<string name="now">Now</string>
|
||||
<string name="now_empty">During FOSDEM, the events in progress will be shown here.</string>
|
||||
|
||||
|
|
Loading…
Reference in a new issue