1
0
Fork 0
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:
Lukas Winkler 2021-09-18 11:57:01 +02:00
parent 7a833d9251
commit 3a1cf7bbbc
Signed by: lukas
GPG key ID: 54DE4D798D244853
17 changed files with 38 additions and 37 deletions

View file

@ -31,8 +31,8 @@ import androidx.fragment.app.commit
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import org.matomocamp.companion.BuildConfig import org.matomocamp.companion.BuildConfig
import org.matomocamp.companion.R import org.matomocamp.companion.R
import org.matomocamp.companion.api.FosdemApi import org.matomocamp.companion.api.MatomoCampApi
import org.matomocamp.companion.api.FosdemUrls import org.matomocamp.companion.api.MatomoCampUrls
import org.matomocamp.companion.db.ScheduleDao import org.matomocamp.companion.db.ScheduleDao
import org.matomocamp.companion.fragments.BookmarksListFragment import org.matomocamp.companion.fragments.BookmarksListFragment
import org.matomocamp.companion.fragments.LiveFragment import org.matomocamp.companion.fragments.LiveFragment
@ -83,7 +83,7 @@ class MainActivity : AppCompatActivity(R.layout.main), CreateNfcAppDataCallback
val navigationView: NavigationView) val navigationView: NavigationView)
@Inject @Inject
lateinit var api: FosdemApi lateinit var api: MatomoCampApi
@Inject @Inject
lateinit var scheduleDao: ScheduleDao lateinit var scheduleDao: ScheduleDao
@ -322,7 +322,7 @@ class MainActivity : AppCompatActivity(R.layout.main), CreateNfcAppDataCallback
.configureToolbarColors(this, R.color.light_color_primary) .configureToolbarColors(this, R.color.light_color_primary)
.setShowTitle(true) .setShowTitle(true)
.build() .build()
.launchUrl(this, Uri.parse(FosdemUrls.volunteer)) .launchUrl(this, Uri.parse(MatomoCampUrls.volunteer))
} catch (ignore: ActivityNotFoundException) { } catch (ignore: ActivityNotFoundException) {
} }
} }

View file

@ -13,8 +13,8 @@ import androidx.core.content.ContextCompat
import androidx.core.text.set import androidx.core.text.set
import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.LifecycleOwner
import org.matomocamp.companion.R import org.matomocamp.companion.R
import org.matomocamp.companion.api.FosdemApi import org.matomocamp.companion.api.MatomoCampApi
import org.matomocamp.companion.api.FosdemUrls import org.matomocamp.companion.api.MatomoCampUrls
import org.matomocamp.companion.utils.configureToolbarColors import org.matomocamp.companion.utils.configureToolbarColors
import org.matomocamp.companion.utils.invertImageColors import org.matomocamp.companion.utils.invertImageColors
import org.matomocamp.companion.utils.isLightTheme import org.matomocamp.companion.utils.isLightTheme
@ -32,7 +32,7 @@ import javax.inject.Inject
class RoomImageDialogActivity : AppCompatActivity(R.layout.dialog_room_image) { class RoomImageDialogActivity : AppCompatActivity(R.layout.dialog_room_image) {
@Inject @Inject
lateinit var api: FosdemApi lateinit var api: MatomoCampApi
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) 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_NAME = "roomName"
const val EXTRA_ROOM_IMAGE_RESOURCE_ID = "imageResId" 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 toolbar.title = roomName
if (roomName.isNotEmpty()) { if (roomName.isNotEmpty()) {
val context = toolbar.context val context = toolbar.context
@ -62,7 +62,7 @@ class RoomImageDialogActivity : AppCompatActivity(R.layout.dialog_room_image) {
toolbar.setOnMenuItemClickListener { item -> toolbar.setOnMenuItemClickListener { item ->
when (item.itemId) { when (item.itemId) {
R.id.navigation -> { R.id.navigation -> {
val localNavigationUrl = FosdemUrls.getLocalNavigationToLocation(roomName.toSlug()) val localNavigationUrl = MatomoCampUrls.getLocalNavigationToLocation(roomName.toSlug())
try { try {
CustomTabsIntent.Builder() CustomTabsIntent.Builder()
.configureToolbarColors(context, R.color.light_color_primary) .configureToolbarColors(context, R.color.light_color_primary)

View file

@ -34,7 +34,7 @@ import kotlin.math.pow
* @author Christophe Beyls * @author Christophe Beyls
*/ */
@Singleton @Singleton
class FosdemApi @Inject constructor( class MatomoCampApi @Inject constructor(
private val httpClient: HttpClient, private val httpClient: HttpClient,
private val scheduleDao: ScheduleDao, private val scheduleDao: ScheduleDao,
private val alarmManager: FosdemAlarmManager private val alarmManager: FosdemAlarmManager
@ -62,7 +62,7 @@ class FosdemApi @Inject constructor(
private suspend fun downloadScheduleInternal() { private suspend fun downloadScheduleInternal() {
_downloadScheduleState.value = LoadingState.Loading() _downloadScheduleState.value = LoadingState.Loading()
val res = try { 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 length = body.contentLength()
val source = if (length > 0L) { val source = if (length > 0L) {
// Broadcast the progression in percents, with a precision of 1/10 of the total file size // 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 { nextRefreshDelay = try {
val response = httpClient.get(FosdemUrls.rooms) { body, _ -> val response = httpClient.get(MatomoCampUrls.rooms) { body, _ ->
RoomStatusesParser().parse(body.source()) RoomStatusesParser().parse(body.source())
} }
now = SystemClock.elapsedRealtime() now = SystemClock.elapsedRealtime()

View file

@ -5,10 +5,11 @@ package org.matomocamp.companion.api
* *
* @author Christophe Beyls * @author Christophe Beyls
*/ */
object FosdemUrls { object MatomoCampUrls {
val schedule val schedule
get() = "https://fosdem.org/schedule/xml" // get() = "https://fosdem.org/schedule/xml"
get() = "https://lw1.at/s/tmp/schedule.xml"
val rooms val rooms
get() = "https://api.fosdem.org/roomstatus/v1/listrooms" get() = "https://api.fosdem.org/roomstatus/v1/listrooms"
val localNavigation val localNavigation

View file

@ -23,7 +23,7 @@ import androidx.recyclerview.widget.LinearLayoutManager
import org.matomocamp.companion.R import org.matomocamp.companion.R
import org.matomocamp.companion.activities.ExternalBookmarksActivity import org.matomocamp.companion.activities.ExternalBookmarksActivity
import org.matomocamp.companion.adapters.BookmarksAdapter 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.providers.BookmarksExportProvider
import org.matomocamp.companion.utils.CreateNfcAppDataCallback import org.matomocamp.companion.utils.CreateNfcAppDataCallback
import org.matomocamp.companion.utils.toBookmarksNfcAppData import org.matomocamp.companion.utils.toBookmarksNfcAppData
@ -43,7 +43,7 @@ import javax.inject.Inject
class BookmarksListFragment : Fragment(R.layout.recyclerview), CreateNfcAppDataCallback { class BookmarksListFragment : Fragment(R.layout.recyclerview), CreateNfcAppDataCallback {
@Inject @Inject
lateinit var api: FosdemApi lateinit var api: MatomoCampApi
private val viewModel: BookmarksViewModel by viewModels() private val viewModel: BookmarksViewModel by viewModels()
private val multiChoiceHelper: MultiChoiceHelper by lazy(LazyThreadSafetyMode.NONE) { private val multiChoiceHelper: MultiChoiceHelper by lazy(LazyThreadSafetyMode.NONE) {
MultiChoiceHelper(requireActivity() as AppCompatActivity, this, object : MultiChoiceHelper.MultiChoiceModeListener { MultiChoiceHelper(requireActivity() as AppCompatActivity, this, object : MultiChoiceHelper.MultiChoiceModeListener {

View file

@ -30,7 +30,7 @@ import androidx.fragment.app.commit
import androidx.fragment.app.viewModels import androidx.fragment.app.viewModels
import org.matomocamp.companion.R import org.matomocamp.companion.R
import org.matomocamp.companion.activities.PersonInfoActivity 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.Building
import org.matomocamp.companion.model.Event import org.matomocamp.companion.model.Event
import org.matomocamp.companion.model.EventDetails import org.matomocamp.companion.model.EventDetails
@ -58,7 +58,7 @@ class EventDetailsFragment : Fragment(R.layout.fragment_event_details) {
} }
@Inject @Inject
lateinit var api: FosdemApi lateinit var api: MatomoCampApi
private val viewModel: EventDetailsViewModel by viewModels() private val viewModel: EventDetailsViewModel by viewModels()
val event by lazy<Event>(LazyThreadSafetyMode.NONE) { val event by lazy<Event>(LazyThreadSafetyMode.NONE) {

View file

@ -15,7 +15,7 @@ import androidx.recyclerview.widget.DividerItemDecoration
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import org.matomocamp.companion.R import org.matomocamp.companion.R
import org.matomocamp.companion.adapters.EventsAdapter 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 org.matomocamp.companion.viewmodels.ExternalBookmarksViewModel
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
@ -25,7 +25,7 @@ import javax.inject.Inject
class ExternalBookmarksListFragment : Fragment(R.layout.recyclerview) { class ExternalBookmarksListFragment : Fragment(R.layout.recyclerview) {
@Inject @Inject
lateinit var api: FosdemApi lateinit var api: MatomoCampApi
private val viewModel: ExternalBookmarksViewModel by viewModels() private val viewModel: ExternalBookmarksViewModel by viewModels()
private var addAllMenuItem: MenuItem? = null private var addAllMenuItem: MenuItem? = null

View file

@ -11,7 +11,7 @@ import androidx.recyclerview.widget.DividerItemDecoration
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import org.matomocamp.companion.R import org.matomocamp.companion.R
import org.matomocamp.companion.adapters.EventsAdapter 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.model.StatusEvent
import org.matomocamp.companion.viewmodels.LiveViewModel import org.matomocamp.companion.viewmodels.LiveViewModel
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
@ -23,7 +23,7 @@ sealed class LiveListFragment(@StringRes private val emptyTextResId: Int,
: Fragment(R.layout.recyclerview) { : Fragment(R.layout.recyclerview) {
@Inject @Inject
lateinit var api: FosdemApi lateinit var api: MatomoCampApi
private val viewModel: LiveViewModel by viewModels({ requireParentFragment() }) private val viewModel: LiveViewModel by viewModels({ requireParentFragment() })
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {

View file

@ -13,7 +13,7 @@ import androidx.browser.customtabs.CustomTabsIntent
import androidx.core.net.toUri import androidx.core.net.toUri
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import org.matomocamp.companion.R 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.configureToolbarColors
import org.matomocamp.companion.utils.invertImageColors import org.matomocamp.companion.utils.invertImageColors
import org.matomocamp.companion.utils.isLightTheme import org.matomocamp.companion.utils.isLightTheme

View file

@ -11,7 +11,7 @@ import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import org.matomocamp.companion.R import org.matomocamp.companion.R
import org.matomocamp.companion.adapters.EventsAdapter 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 org.matomocamp.companion.viewmodels.PersonInfoViewModel
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject import javax.inject.Inject
@ -20,7 +20,7 @@ import javax.inject.Inject
class PersonInfoListFragment : Fragment(R.layout.recyclerview) { class PersonInfoListFragment : Fragment(R.layout.recyclerview) {
@Inject @Inject
lateinit var api: FosdemApi lateinit var api: MatomoCampApi
// Fetch data from parent Activity's ViewModel // Fetch data from parent Activity's ViewModel
private val viewModel: PersonInfoViewModel by activityViewModels() private val viewModel: PersonInfoViewModel by activityViewModels()

View file

@ -10,7 +10,7 @@ import androidx.appcompat.app.AlertDialog
import androidx.fragment.app.DialogFragment import androidx.fragment.app.DialogFragment
import org.matomocamp.companion.R import org.matomocamp.companion.R
import org.matomocamp.companion.activities.RoomImageDialogActivity 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 org.matomocamp.companion.utils.isLightTheme
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
@ -21,7 +21,7 @@ import javax.inject.Inject
class RoomImageDialogFragment : DialogFragment() { class RoomImageDialogFragment : DialogFragment() {
@Inject @Inject
lateinit var api: FosdemApi lateinit var api: MatomoCampApi
@SuppressLint("InflateParams") @SuppressLint("InflateParams")
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {

View file

@ -8,7 +8,7 @@ import androidx.recyclerview.widget.DividerItemDecoration
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import org.matomocamp.companion.R import org.matomocamp.companion.R
import org.matomocamp.companion.adapters.EventsAdapter 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 org.matomocamp.companion.viewmodels.SearchViewModel
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject import javax.inject.Inject
@ -17,7 +17,7 @@ import javax.inject.Inject
class SearchResultListFragment : Fragment(R.layout.recyclerview) { class SearchResultListFragment : Fragment(R.layout.recyclerview) {
@Inject @Inject
lateinit var api: FosdemApi lateinit var api: MatomoCampApi
private val viewModel: SearchViewModel by activityViewModels() private val viewModel: SearchViewModel by activityViewModels()
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {

View file

@ -4,7 +4,7 @@ import android.os.Parcelable
import androidx.room.ColumnInfo import androidx.room.ColumnInfo
import androidx.room.Embedded import androidx.room.Embedded
import androidx.room.TypeConverters 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.db.converters.NullableDateTypeConverters
import org.matomocamp.companion.utils.DateParceler import org.matomocamp.companion.utils.DateParceler
import org.matomocamp.companion.utils.DateUtils import org.matomocamp.companion.utils.DateUtils
@ -53,7 +53,7 @@ data class Event(
val url: String? val url: String?
get() { get() {
val s = slug ?: return null 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 ?: "" override fun toString(): String = title ?: ""

View file

@ -5,7 +5,7 @@ import androidx.room.ColumnInfo
import androidx.room.Entity import androidx.room.Entity
import androidx.room.Fts3 import androidx.room.Fts3
import androidx.room.PrimaryKey import androidx.room.PrimaryKey
import org.matomocamp.companion.api.FosdemUrls import org.matomocamp.companion.api.MatomoCampUrls
import org.matomocamp.companion.utils.toSlug import org.matomocamp.companion.utils.toSlug
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@ -21,7 +21,7 @@ data class Person(
fun getUrl(year: Int): String? { fun getUrl(year: Int): String? {
val n = name ?: return null val n = name ?: return null
return FosdemUrls.getPerson(n.toSlug(), year) return MatomoCampUrls.getPerson(n.toSlug(), year)
} }
override fun toString(): String = name ?: "" override fun toString(): String = name ?: ""

View file

@ -13,7 +13,7 @@ import androidx.core.app.ShareCompat
import androidx.core.content.ContentProviderCompat import androidx.core.content.ContentProviderCompat
import org.matomocamp.companion.BuildConfig import org.matomocamp.companion.BuildConfig
import org.matomocamp.companion.R 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.BookmarksDao
import org.matomocamp.companion.db.ScheduleDao import org.matomocamp.companion.db.ScheduleDao
import org.matomocamp.companion.ical.ICalendarWriter import org.matomocamp.companion.ical.ICalendarWriter
@ -150,7 +150,7 @@ class BookmarksExportProvider : ContentProvider() {
if (event.personsSummary != null) { if (event.personsSummary != null) {
for (name in event.personsSummary.split(", ")) { for (name in event.personsSummary.split(", ")) {
val key = "ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN=\"$name\"" 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) write(key, url)
} }
} }

View file

@ -28,6 +28,6 @@ class LiveViewModel @Inject constructor(scheduleDao: ScheduleDao) : ViewModel()
} }
companion object { companion object {
private const val NEXT_EVENTS_INTERVAL = 30L * DateUtils.MINUTE_IN_MILLIS private const val NEXT_EVENTS_INTERVAL = 3L * DateUtils.HOUR_IN_MILLIS
} }
} }

View file

@ -40,7 +40,7 @@
<!-- Live --> <!-- Live -->
<string name="next">Next</string> <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">Now</string>
<string name="now_empty">During FOSDEM, the events in progress will be shown here.</string> <string name="now_empty">During FOSDEM, the events in progress will be shown here.</string>