mirror of
https://github.com/MatomoCamp/matomocamp-companion-android.git
synced 2024-09-19 16:13:46 +02:00
upgrade to Kotlin 1.4.10 + new versions of AppCompat & Material Components
+ add workaround for FAB tinting on API < 21
This commit is contained in:
parent
24891fc134
commit
ae3212822d
33 changed files with 137 additions and 56 deletions
|
@ -66,15 +66,15 @@ dependencies {
|
|||
def room_version = "2.2.5"
|
||||
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.8'
|
||||
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9'
|
||||
implementation 'androidx.core:core-ktx:1.3.1'
|
||||
implementation 'androidx.fragment:fragment-ktx:1.2.5'
|
||||
implementation 'androidx.appcompat:appcompat:1.1.0'
|
||||
implementation 'com.google.android.material:material:1.1.0'
|
||||
implementation 'androidx.appcompat:appcompat:1.2.0'
|
||||
implementation 'com.google.android.material:material:1.2.1'
|
||||
implementation 'androidx.coordinatorlayout:coordinatorlayout:1.1.0'
|
||||
implementation 'androidx.recyclerview:recyclerview:1.1.0'
|
||||
implementation 'androidx.viewpager2:viewpager2:1.0.0'
|
||||
implementation 'androidx.drawerlayout:drawerlayout:1.1.0'
|
||||
implementation 'androidx.drawerlayout:drawerlayout:1.1.1'
|
||||
implementation 'androidx.preference:preference-ktx:1.1.1'
|
||||
implementation 'androidx.browser:browser:1.2.0'
|
||||
implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version"
|
||||
|
|
|
@ -12,11 +12,19 @@ import androidx.appcompat.widget.Toolbar
|
|||
import androidx.core.content.ContextCompat
|
||||
import androidx.fragment.app.add
|
||||
import androidx.fragment.app.commit
|
||||
import androidx.lifecycle.observe
|
||||
import be.digitalia.fosdem.R
|
||||
import be.digitalia.fosdem.fragments.EventDetailsFragment
|
||||
import be.digitalia.fosdem.model.Event
|
||||
import be.digitalia.fosdem.utils.*
|
||||
import be.digitalia.fosdem.utils.CreateNfcAppDataCallback
|
||||
import be.digitalia.fosdem.utils.extractNfcAppData
|
||||
import be.digitalia.fosdem.utils.hasNfcAppData
|
||||
import be.digitalia.fosdem.utils.isLightTheme
|
||||
import be.digitalia.fosdem.utils.setNfcAppDataPushMessageCallbackIfAvailable
|
||||
import be.digitalia.fosdem.utils.setTaskColorPrimary
|
||||
import be.digitalia.fosdem.utils.statusBarColorCompat
|
||||
import be.digitalia.fosdem.utils.tintBackground
|
||||
import be.digitalia.fosdem.utils.toEventIdString
|
||||
import be.digitalia.fosdem.utils.toNfcAppData
|
||||
import be.digitalia.fosdem.viewmodels.BookmarkStatusViewModel
|
||||
import be.digitalia.fosdem.viewmodels.EventViewModel
|
||||
import be.digitalia.fosdem.widgets.setupBookmarkStatus
|
||||
|
|
|
@ -29,16 +29,23 @@ import androidx.drawerlayout.widget.DrawerLayout
|
|||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.commit
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.lifecycle.observe
|
||||
import be.digitalia.fosdem.BuildConfig
|
||||
import be.digitalia.fosdem.R
|
||||
import be.digitalia.fosdem.api.FosdemApi
|
||||
import be.digitalia.fosdem.api.FosdemUrls
|
||||
import be.digitalia.fosdem.db.AppDatabase
|
||||
import be.digitalia.fosdem.fragments.*
|
||||
import be.digitalia.fosdem.fragments.BookmarksListFragment
|
||||
import be.digitalia.fosdem.fragments.LiveFragment
|
||||
import be.digitalia.fosdem.fragments.MapFragment
|
||||
import be.digitalia.fosdem.fragments.PersonsListFragment
|
||||
import be.digitalia.fosdem.fragments.TracksFragment
|
||||
import be.digitalia.fosdem.model.DownloadScheduleResult
|
||||
import be.digitalia.fosdem.model.LoadingState
|
||||
import be.digitalia.fosdem.utils.*
|
||||
import be.digitalia.fosdem.utils.CreateNfcAppDataCallback
|
||||
import be.digitalia.fosdem.utils.awaitCloseDrawer
|
||||
import be.digitalia.fosdem.utils.configureToolbarColors
|
||||
import be.digitalia.fosdem.utils.fixCollapsibleActionView
|
||||
import be.digitalia.fosdem.utils.setNfcAppDataPushMessageCallbackIfAvailable
|
||||
import be.digitalia.fosdem.widgets.FadeOutViewMediator
|
||||
import com.google.android.material.navigation.NavigationView
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
|
|
|
@ -12,7 +12,6 @@ import androidx.browser.customtabs.CustomTabsIntent
|
|||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.text.set
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.lifecycle.observe
|
||||
import be.digitalia.fosdem.R
|
||||
import be.digitalia.fosdem.api.FosdemApi
|
||||
import be.digitalia.fosdem.api.FosdemUrls
|
||||
|
|
|
@ -9,7 +9,6 @@ import androidx.appcompat.widget.SearchView
|
|||
import androidx.core.content.getSystemService
|
||||
import androidx.fragment.app.add
|
||||
import androidx.fragment.app.commit
|
||||
import androidx.lifecycle.observe
|
||||
import be.digitalia.fosdem.R
|
||||
import be.digitalia.fosdem.fragments.SearchResultListFragment
|
||||
import be.digitalia.fosdem.viewmodels.SearchViewModel
|
||||
|
|
|
@ -12,7 +12,6 @@ import androidx.fragment.app.FragmentTransaction
|
|||
import androidx.fragment.app.add
|
||||
import androidx.fragment.app.commit
|
||||
import androidx.fragment.app.replace
|
||||
import androidx.lifecycle.observe
|
||||
import be.digitalia.fosdem.R
|
||||
import be.digitalia.fosdem.fragments.EventDetailsFragment
|
||||
import be.digitalia.fosdem.fragments.RoomImageDialogFragment
|
||||
|
@ -20,7 +19,13 @@ import be.digitalia.fosdem.fragments.TrackScheduleListFragment
|
|||
import be.digitalia.fosdem.model.Day
|
||||
import be.digitalia.fosdem.model.Event
|
||||
import be.digitalia.fosdem.model.Track
|
||||
import be.digitalia.fosdem.utils.*
|
||||
import be.digitalia.fosdem.utils.CreateNfcAppDataCallback
|
||||
import be.digitalia.fosdem.utils.isLightTheme
|
||||
import be.digitalia.fosdem.utils.setNfcAppDataPushMessageCallbackIfAvailable
|
||||
import be.digitalia.fosdem.utils.setTaskColorPrimary
|
||||
import be.digitalia.fosdem.utils.statusBarColorCompat
|
||||
import be.digitalia.fosdem.utils.tintBackground
|
||||
import be.digitalia.fosdem.utils.toNfcAppData
|
||||
import be.digitalia.fosdem.viewmodels.BookmarkStatusViewModel
|
||||
import be.digitalia.fosdem.viewmodels.TrackScheduleViewModel
|
||||
import be.digitalia.fosdem.widgets.setupBookmarkStatus
|
||||
|
|
|
@ -12,7 +12,6 @@ import androidx.core.content.ContextCompat
|
|||
import androidx.core.view.isVisible
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import androidx.lifecycle.observe
|
||||
import androidx.viewpager2.adapter.FragmentStateAdapter
|
||||
import androidx.viewpager2.widget.ViewPager2
|
||||
import be.digitalia.fosdem.R
|
||||
|
@ -20,7 +19,16 @@ import be.digitalia.fosdem.fragments.EventDetailsFragment
|
|||
import be.digitalia.fosdem.model.Day
|
||||
import be.digitalia.fosdem.model.Event
|
||||
import be.digitalia.fosdem.model.Track
|
||||
import be.digitalia.fosdem.utils.*
|
||||
import be.digitalia.fosdem.utils.CreateNfcAppDataCallback
|
||||
import be.digitalia.fosdem.utils.enforceSingleScrollDirection
|
||||
import be.digitalia.fosdem.utils.instantiate
|
||||
import be.digitalia.fosdem.utils.isLightTheme
|
||||
import be.digitalia.fosdem.utils.recyclerView
|
||||
import be.digitalia.fosdem.utils.setNfcAppDataPushMessageCallbackIfAvailable
|
||||
import be.digitalia.fosdem.utils.setTaskColorPrimary
|
||||
import be.digitalia.fosdem.utils.statusBarColorCompat
|
||||
import be.digitalia.fosdem.utils.tintBackground
|
||||
import be.digitalia.fosdem.utils.toNfcAppData
|
||||
import be.digitalia.fosdem.viewmodels.BookmarkStatusViewModel
|
||||
import be.digitalia.fosdem.viewmodels.TrackScheduleEventViewModel
|
||||
import be.digitalia.fosdem.widgets.ContentLoadingViewMediator
|
||||
|
|
|
@ -16,7 +16,6 @@ import androidx.core.content.ContextCompat
|
|||
import androidx.core.text.set
|
||||
import androidx.core.view.isGone
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.lifecycle.observe
|
||||
import androidx.recyclerview.widget.ListAdapter
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import androidx.recyclerview.widget.RecyclerView.AdapterDataObserver
|
||||
|
|
|
@ -14,7 +14,6 @@ import androidx.core.text.set
|
|||
import androidx.core.view.isGone
|
||||
import androidx.core.widget.TextViewCompat
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.lifecycle.observe
|
||||
import androidx.paging.PagedListAdapter
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import be.digitalia.fosdem.R
|
||||
|
|
|
@ -134,7 +134,7 @@ object FosdemApi {
|
|||
var expirationTime = Long.MAX_VALUE
|
||||
var retryAttempt = 0
|
||||
|
||||
return liveData<Map<String, RoomStatus>> {
|
||||
return liveData {
|
||||
var now = SystemClock.elapsedRealtime()
|
||||
var nextRefreshDelay = nextRefreshTime - now
|
||||
|
||||
|
|
|
@ -10,11 +10,22 @@ import androidx.lifecycle.LiveData
|
|||
import androidx.lifecycle.MutableLiveData
|
||||
import androidx.lifecycle.liveData
|
||||
import androidx.paging.DataSource
|
||||
import androidx.room.*
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Insert
|
||||
import androidx.room.OnConflictStrategy
|
||||
import androidx.room.Query
|
||||
import androidx.room.Transaction
|
||||
import be.digitalia.fosdem.db.entities.EventEntity
|
||||
import be.digitalia.fosdem.db.entities.EventTitles
|
||||
import be.digitalia.fosdem.db.entities.EventToPerson
|
||||
import be.digitalia.fosdem.model.*
|
||||
import be.digitalia.fosdem.model.Day
|
||||
import be.digitalia.fosdem.model.DetailedEvent
|
||||
import be.digitalia.fosdem.model.Event
|
||||
import be.digitalia.fosdem.model.EventDetails
|
||||
import be.digitalia.fosdem.model.Link
|
||||
import be.digitalia.fosdem.model.Person
|
||||
import be.digitalia.fosdem.model.StatusEvent
|
||||
import be.digitalia.fosdem.model.Track
|
||||
import be.digitalia.fosdem.utils.DateUtils
|
||||
import kotlinx.coroutines.async
|
||||
import kotlinx.coroutines.coroutineScope
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
package be.digitalia.fosdem.db.entities
|
||||
|
||||
import androidx.room.*
|
||||
import androidx.room.ColumnInfo
|
||||
import androidx.room.Entity
|
||||
import androidx.room.Index
|
||||
import androidx.room.PrimaryKey
|
||||
import androidx.room.TypeConverters
|
||||
import be.digitalia.fosdem.db.converters.NullableDateTypeConverters
|
||||
import java.util.*
|
||||
|
||||
|
|
|
@ -13,7 +13,6 @@ import androidx.appcompat.view.ActionMode
|
|||
import androidx.core.content.edit
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.viewModels
|
||||
import androidx.lifecycle.observe
|
||||
import androidx.recyclerview.widget.DividerItemDecoration
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import be.digitalia.fosdem.R
|
||||
|
|
|
@ -10,7 +10,11 @@ import android.text.SpannableString
|
|||
import android.text.TextPaint
|
||||
import android.text.method.LinkMovementMethod
|
||||
import android.text.style.ClickableSpan
|
||||
import android.view.*
|
||||
import android.view.Menu
|
||||
import android.view.MenuInflater
|
||||
import android.view.MenuItem
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.TextView
|
||||
import androidx.browser.customtabs.CustomTabsIntent
|
||||
import androidx.core.app.ShareCompat
|
||||
|
@ -25,12 +29,20 @@ import androidx.fragment.app.Fragment
|
|||
import androidx.fragment.app.add
|
||||
import androidx.fragment.app.commit
|
||||
import androidx.fragment.app.viewModels
|
||||
import androidx.lifecycle.observe
|
||||
import be.digitalia.fosdem.R
|
||||
import be.digitalia.fosdem.activities.PersonInfoActivity
|
||||
import be.digitalia.fosdem.api.FosdemApi
|
||||
import be.digitalia.fosdem.model.*
|
||||
import be.digitalia.fosdem.utils.*
|
||||
import be.digitalia.fosdem.model.Building
|
||||
import be.digitalia.fosdem.model.Event
|
||||
import be.digitalia.fosdem.model.EventDetails
|
||||
import be.digitalia.fosdem.model.Link
|
||||
import be.digitalia.fosdem.model.Person
|
||||
import be.digitalia.fosdem.utils.ClickableArrowKeyMovementMethod
|
||||
import be.digitalia.fosdem.utils.DateUtils
|
||||
import be.digitalia.fosdem.utils.configureToolbarColors
|
||||
import be.digitalia.fosdem.utils.parseHtml
|
||||
import be.digitalia.fosdem.utils.roomNameToResourceName
|
||||
import be.digitalia.fosdem.utils.stripHtml
|
||||
import be.digitalia.fosdem.viewmodels.EventDetailsViewModel
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
|
||||
|
|
|
@ -4,7 +4,6 @@ import android.os.Bundle
|
|||
import android.view.View
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.viewModels
|
||||
import androidx.lifecycle.observe
|
||||
import androidx.recyclerview.widget.DividerItemDecoration
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import be.digitalia.fosdem.R
|
||||
|
|
|
@ -12,7 +12,6 @@ import be.digitalia.fosdem.utils.recyclerView
|
|||
import be.digitalia.fosdem.utils.viewLifecycleLazy
|
||||
import com.google.android.material.tabs.TabLayout
|
||||
import com.google.android.material.tabs.TabLayoutMediator
|
||||
import com.google.android.material.tabs.TabLayoutMediator.TabConfigurationStrategy
|
||||
|
||||
class LiveFragment : Fragment(R.layout.fragment_live), RecycledViewPoolProvider {
|
||||
|
||||
|
@ -32,9 +31,7 @@ class LiveFragment : Fragment(R.layout.fragment_live), RecycledViewPoolProvider
|
|||
recyclerView.enforceSingleScrollDirection()
|
||||
}
|
||||
|
||||
TabLayoutMediator(tabs, pager, false,
|
||||
TabConfigurationStrategy { tab, position -> tab.text = pagerAdapter.getPageTitle(position) }
|
||||
).attach()
|
||||
TabLayoutMediator(tabs, pager, false) { tab, position -> tab.text = pagerAdapter.getPageTitle(position) }.attach()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -6,7 +6,6 @@ import androidx.annotation.StringRes
|
|||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.viewModels
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.observe
|
||||
import androidx.paging.PagedList
|
||||
import androidx.recyclerview.widget.DividerItemDecoration
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
|
|
|
@ -3,11 +3,15 @@ package be.digitalia.fosdem.fragments
|
|||
import android.content.ActivityNotFoundException
|
||||
import android.net.Uri
|
||||
import android.os.Bundle
|
||||
import android.view.*
|
||||
import android.view.LayoutInflater
|
||||
import android.view.Menu
|
||||
import android.view.MenuInflater
|
||||
import android.view.MenuItem
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.browser.customtabs.CustomTabsIntent
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.viewModels
|
||||
import androidx.lifecycle.observe
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import be.digitalia.fosdem.R
|
||||
|
|
|
@ -8,7 +8,6 @@ import android.view.ViewGroup
|
|||
import android.widget.TextView
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.viewModels
|
||||
import androidx.lifecycle.observe
|
||||
import androidx.paging.PagedListAdapter
|
||||
import androidx.recyclerview.widget.DividerItemDecoration
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
|
|
|
@ -4,7 +4,6 @@ import android.os.Bundle
|
|||
import android.view.View
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.lifecycle.observe
|
||||
import androidx.recyclerview.widget.DividerItemDecoration
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import be.digitalia.fosdem.R
|
||||
|
|
|
@ -6,7 +6,6 @@ import android.view.View
|
|||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.fragment.app.viewModels
|
||||
import androidx.lifecycle.observe
|
||||
import androidx.recyclerview.widget.DividerItemDecoration
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
|
|
|
@ -8,7 +8,6 @@ import androidx.core.view.isVisible
|
|||
import androidx.fragment.app.Fragment
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.lifecycle.LifecycleEventObserver
|
||||
import androidx.lifecycle.observe
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import androidx.viewpager2.adapter.FragmentStateAdapter
|
||||
import androidx.viewpager2.widget.ViewPager2
|
||||
|
@ -21,7 +20,6 @@ import be.digitalia.fosdem.utils.recyclerView
|
|||
import be.digitalia.fosdem.utils.viewLifecycleLazy
|
||||
import com.google.android.material.tabs.TabLayout
|
||||
import com.google.android.material.tabs.TabLayoutMediator
|
||||
import com.google.android.material.tabs.TabLayoutMediator.TabConfigurationStrategy
|
||||
|
||||
class TracksFragment : Fragment(R.layout.fragment_tracks), RecycledViewPoolProvider {
|
||||
|
||||
|
@ -61,9 +59,7 @@ class TracksFragment : Fragment(R.layout.fragment_tracks), RecycledViewPoolProvi
|
|||
emptyView.isVisible = false
|
||||
if (pager.adapter == null) {
|
||||
pager.adapter = daysAdapter
|
||||
TabLayoutMediator(tabs, pager,
|
||||
TabConfigurationStrategy { tab, position -> tab.text = daysAdapter.getPageTitle(position) }
|
||||
).attach()
|
||||
TabLayoutMediator(tabs, pager) { tab, position -> tab.text = daysAdapter.getPageTitle(position) }.attach()
|
||||
}
|
||||
if (savedCurrentPage != -1) {
|
||||
pager.setCurrentItem(savedCurrentPage.coerceAtMost(totalPages - 1), false)
|
||||
|
|
|
@ -9,8 +9,11 @@ import android.widget.TextView
|
|||
import androidx.core.content.ContextCompat
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.viewModels
|
||||
import androidx.lifecycle.observe
|
||||
import androidx.recyclerview.widget.*
|
||||
import androidx.recyclerview.widget.DiffUtil
|
||||
import androidx.recyclerview.widget.DividerItemDecoration
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.ListAdapter
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import be.digitalia.fosdem.R
|
||||
import be.digitalia.fosdem.activities.TrackScheduleActivity
|
||||
import be.digitalia.fosdem.model.Day
|
||||
|
|
|
@ -1,9 +1,19 @@
|
|||
package be.digitalia.fosdem.parsers
|
||||
|
||||
import be.digitalia.fosdem.model.*
|
||||
import be.digitalia.fosdem.utils.*
|
||||
import be.digitalia.fosdem.model.Day
|
||||
import be.digitalia.fosdem.model.DetailedEvent
|
||||
import be.digitalia.fosdem.model.Event
|
||||
import be.digitalia.fosdem.model.EventDetails
|
||||
import be.digitalia.fosdem.model.Link
|
||||
import be.digitalia.fosdem.model.Person
|
||||
import be.digitalia.fosdem.model.Track
|
||||
import be.digitalia.fosdem.utils.DateUtils.belgiumTimeZone
|
||||
import be.digitalia.fosdem.utils.DateUtils.withBelgiumTimeZone
|
||||
import be.digitalia.fosdem.utils.isEndDocument
|
||||
import be.digitalia.fosdem.utils.isNextEndTag
|
||||
import be.digitalia.fosdem.utils.isStartTag
|
||||
import be.digitalia.fosdem.utils.skipToEndTag
|
||||
import be.digitalia.fosdem.utils.xmlPullParserFactory
|
||||
import okio.BufferedSource
|
||||
import org.xmlpull.v1.XmlPullParser
|
||||
import java.text.SimpleDateFormat
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
package be.digitalia.fosdem.services
|
||||
|
||||
import android.app.*
|
||||
import android.app.AlarmManager
|
||||
import android.app.Notification
|
||||
import android.app.NotificationChannel
|
||||
import android.app.NotificationManager
|
||||
import android.app.PendingIntent
|
||||
import android.content.ComponentName
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
|
@ -12,7 +16,10 @@ import android.text.SpannableString
|
|||
import android.text.format.DateUtils
|
||||
import android.text.style.StyleSpan
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.core.app.*
|
||||
import androidx.core.app.AlarmManagerCompat
|
||||
import androidx.core.app.JobIntentService
|
||||
import androidx.core.app.NotificationCompat
|
||||
import androidx.core.app.NotificationManagerCompat
|
||||
import androidx.core.app.TaskStackBuilder
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.content.getSystemService
|
||||
|
|
|
@ -2,7 +2,11 @@ package be.digitalia.fosdem.utils.network
|
|||
|
||||
import android.os.Build
|
||||
import kotlinx.coroutines.suspendCancellableCoroutine
|
||||
import okhttp3.*
|
||||
import okhttp3.Call
|
||||
import okhttp3.Callback
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Request
|
||||
import okhttp3.ResponseBody
|
||||
import java.io.IOException
|
||||
import java.net.HttpURLConnection
|
||||
import java.security.KeyStore
|
||||
|
|
|
@ -1,7 +1,12 @@
|
|||
package be.digitalia.fosdem.viewmodels
|
||||
|
||||
import android.app.Application
|
||||
import androidx.lifecycle.*
|
||||
import androidx.lifecycle.AndroidViewModel
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import androidx.lifecycle.distinctUntilChanged
|
||||
import androidx.lifecycle.map
|
||||
import androidx.lifecycle.switchMap
|
||||
import be.digitalia.fosdem.db.AppDatabase
|
||||
import be.digitalia.fosdem.model.BookmarkStatus
|
||||
import be.digitalia.fosdem.model.Event
|
||||
|
@ -12,7 +17,7 @@ class BookmarkStatusViewModel(application: Application) : AndroidViewModel(appli
|
|||
private val eventLiveData = MutableLiveData<Event?>()
|
||||
private var firstResultReceived = false
|
||||
|
||||
val bookmarkStatus: LiveData<BookmarkStatus?> = eventLiveData.switchMap<Event?, BookmarkStatus?> { event ->
|
||||
val bookmarkStatus: LiveData<BookmarkStatus?> = eventLiveData.switchMap { event ->
|
||||
if (event == null) {
|
||||
MutableLiveData(null)
|
||||
} else {
|
||||
|
|
|
@ -1,7 +1,12 @@
|
|||
package be.digitalia.fosdem.viewmodels
|
||||
|
||||
import android.app.Application
|
||||
import androidx.lifecycle.*
|
||||
import androidx.lifecycle.AndroidViewModel
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import androidx.lifecycle.SavedStateHandle
|
||||
import androidx.lifecycle.map
|
||||
import androidx.lifecycle.switchMap
|
||||
import androidx.paging.PagedList
|
||||
import androidx.paging.toLiveData
|
||||
import be.digitalia.fosdem.db.AppDatabase
|
||||
|
@ -17,7 +22,7 @@ class SearchViewModel(application: Application, private val state: SavedStateHan
|
|||
class Success(val list: PagedList<StatusEvent>) : Result()
|
||||
}
|
||||
|
||||
val results: LiveData<Result> = queryLiveData.switchMap<String, Result> { query ->
|
||||
val results: LiveData<Result> = queryLiveData.switchMap { query ->
|
||||
if (query.length < SEARCH_QUERY_MIN_LENGTH) {
|
||||
MutableLiveData(Result.QueryTooShort)
|
||||
} else {
|
||||
|
|
|
@ -2,7 +2,11 @@ package be.digitalia.fosdem.viewmodels
|
|||
|
||||
import android.app.Application
|
||||
import android.text.format.DateUtils
|
||||
import androidx.lifecycle.*
|
||||
import androidx.lifecycle.AndroidViewModel
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import androidx.lifecycle.map
|
||||
import androidx.lifecycle.switchMap
|
||||
import be.digitalia.fosdem.db.AppDatabase
|
||||
import be.digitalia.fosdem.livedata.LiveDataFactory
|
||||
import be.digitalia.fosdem.model.Day
|
||||
|
|
|
@ -2,7 +2,6 @@ package be.digitalia.fosdem.widgets
|
|||
|
||||
import android.widget.ImageButton
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.lifecycle.observe
|
||||
import be.digitalia.fosdem.R
|
||||
import be.digitalia.fosdem.model.BookmarkStatus
|
||||
import be.digitalia.fosdem.viewmodels.BookmarkStatusViewModel
|
||||
|
|
1
app/src/main/res/layout/test_chip_zero_corner_radius.xml
Normal file
1
app/src/main/res/layout/test_chip_zero_corner_radius.xml
Normal file
|
@ -0,0 +1 @@
|
|||
<merge />
|
|
@ -72,6 +72,7 @@
|
|||
<item name="android:enabled">false</item>
|
||||
<item name="fabSize">normal</item>
|
||||
<item name="srcCompat">@drawable/asld_bookmark_24dp</item>
|
||||
<item name="tint">?attr/colorOnSecondary</item><!-- Workaround for bug on API < 21 -->
|
||||
</style>
|
||||
|
||||
<style name="SeparatorLine">
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
buildscript {
|
||||
ext.kotlin_version = '1.3.72'
|
||||
ext.kotlin_version = '1.4.10'
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
|
|
Loading…
Reference in a new issue