From ae3212822d07de83ad381e533ed74091275b2f46 Mon Sep 17 00:00:00 2001 From: Christophe Beyls Date: Mon, 14 Sep 2020 14:06:12 +0200 Subject: [PATCH] upgrade to Kotlin 1.4.10 + new versions of AppCompat & Material Components + add workaround for FAB tinting on API < 21 --- app/build.gradle | 8 ++++---- .../fosdem/activities/EventDetailsActivity.kt | 12 +++++++++-- .../fosdem/activities/MainActivity.kt | 13 +++++++++--- .../activities/RoomImageDialogActivity.kt | 1 - .../fosdem/activities/SearchResultActivity.kt | 1 - .../activities/TrackScheduleActivity.kt | 9 +++++++-- .../activities/TrackScheduleEventActivity.kt | 12 +++++++++-- .../fosdem/adapters/BookmarksAdapter.kt | 1 - .../fosdem/adapters/EventsAdapter.kt | 1 - .../java/be/digitalia/fosdem/api/FosdemApi.kt | 2 +- .../be/digitalia/fosdem/db/ScheduleDao.kt | 15 ++++++++++++-- .../fosdem/db/entities/EventEntity.kt | 6 +++++- .../fosdem/fragments/BookmarksListFragment.kt | 1 - .../fosdem/fragments/EventDetailsFragment.kt | 20 +++++++++++++++---- .../ExternalBookmarksListFragment.kt | 1 - .../fosdem/fragments/LiveFragment.kt | 5 +---- .../fosdem/fragments/LiveListFragment.kt | 1 - .../fragments/PersonInfoListFragment.kt | 8 ++++++-- .../fosdem/fragments/PersonsListFragment.kt | 1 - .../fragments/SearchResultListFragment.kt | 1 - .../fragments/TrackScheduleListFragment.kt | 1 - .../fosdem/fragments/TracksFragment.kt | 6 +----- .../fosdem/fragments/TracksListFragment.kt | 7 +++++-- .../digitalia/fosdem/parsers/EventsParser.kt | 14 +++++++++++-- .../fosdem/services/AlarmIntentService.kt | 11 ++++++++-- .../fosdem/utils/network/HttpUtils.kt | 6 +++++- .../viewmodels/BookmarkStatusViewModel.kt | 9 +++++++-- .../fosdem/viewmodels/SearchViewModel.kt | 9 +++++++-- .../viewmodels/TrackScheduleListViewModel.kt | 6 +++++- .../fosdem/widgets/BookmarkStatusAdapter.kt | 1 - .../layout/test_chip_zero_corner_radius.xml | 1 + app/src/main/res/values/styles.xml | 1 + build.gradle | 2 +- 33 files changed, 137 insertions(+), 56 deletions(-) create mode 100644 app/src/main/res/layout/test_chip_zero_corner_radius.xml diff --git a/app/build.gradle b/app/build.gradle index b7ff9b4..d8864d0 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -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" diff --git a/app/src/main/java/be/digitalia/fosdem/activities/EventDetailsActivity.kt b/app/src/main/java/be/digitalia/fosdem/activities/EventDetailsActivity.kt index 2ab8c1e..3d215d3 100644 --- a/app/src/main/java/be/digitalia/fosdem/activities/EventDetailsActivity.kt +++ b/app/src/main/java/be/digitalia/fosdem/activities/EventDetailsActivity.kt @@ -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 diff --git a/app/src/main/java/be/digitalia/fosdem/activities/MainActivity.kt b/app/src/main/java/be/digitalia/fosdem/activities/MainActivity.kt index 351fa4d..526f0d5 100644 --- a/app/src/main/java/be/digitalia/fosdem/activities/MainActivity.kt +++ b/app/src/main/java/be/digitalia/fosdem/activities/MainActivity.kt @@ -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 diff --git a/app/src/main/java/be/digitalia/fosdem/activities/RoomImageDialogActivity.kt b/app/src/main/java/be/digitalia/fosdem/activities/RoomImageDialogActivity.kt index 57d12b3..33ad403 100644 --- a/app/src/main/java/be/digitalia/fosdem/activities/RoomImageDialogActivity.kt +++ b/app/src/main/java/be/digitalia/fosdem/activities/RoomImageDialogActivity.kt @@ -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 diff --git a/app/src/main/java/be/digitalia/fosdem/activities/SearchResultActivity.kt b/app/src/main/java/be/digitalia/fosdem/activities/SearchResultActivity.kt index a6a514d..1201201 100644 --- a/app/src/main/java/be/digitalia/fosdem/activities/SearchResultActivity.kt +++ b/app/src/main/java/be/digitalia/fosdem/activities/SearchResultActivity.kt @@ -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 diff --git a/app/src/main/java/be/digitalia/fosdem/activities/TrackScheduleActivity.kt b/app/src/main/java/be/digitalia/fosdem/activities/TrackScheduleActivity.kt index 9ae5f2b..d4aa1af 100644 --- a/app/src/main/java/be/digitalia/fosdem/activities/TrackScheduleActivity.kt +++ b/app/src/main/java/be/digitalia/fosdem/activities/TrackScheduleActivity.kt @@ -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 diff --git a/app/src/main/java/be/digitalia/fosdem/activities/TrackScheduleEventActivity.kt b/app/src/main/java/be/digitalia/fosdem/activities/TrackScheduleEventActivity.kt index 766fa59..13a5d1b 100644 --- a/app/src/main/java/be/digitalia/fosdem/activities/TrackScheduleEventActivity.kt +++ b/app/src/main/java/be/digitalia/fosdem/activities/TrackScheduleEventActivity.kt @@ -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 diff --git a/app/src/main/java/be/digitalia/fosdem/adapters/BookmarksAdapter.kt b/app/src/main/java/be/digitalia/fosdem/adapters/BookmarksAdapter.kt index 07bd050..767030d 100644 --- a/app/src/main/java/be/digitalia/fosdem/adapters/BookmarksAdapter.kt +++ b/app/src/main/java/be/digitalia/fosdem/adapters/BookmarksAdapter.kt @@ -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 diff --git a/app/src/main/java/be/digitalia/fosdem/adapters/EventsAdapter.kt b/app/src/main/java/be/digitalia/fosdem/adapters/EventsAdapter.kt index 902d5b3..bafc0f6 100644 --- a/app/src/main/java/be/digitalia/fosdem/adapters/EventsAdapter.kt +++ b/app/src/main/java/be/digitalia/fosdem/adapters/EventsAdapter.kt @@ -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 diff --git a/app/src/main/java/be/digitalia/fosdem/api/FosdemApi.kt b/app/src/main/java/be/digitalia/fosdem/api/FosdemApi.kt index b5d789a..eea5e17 100644 --- a/app/src/main/java/be/digitalia/fosdem/api/FosdemApi.kt +++ b/app/src/main/java/be/digitalia/fosdem/api/FosdemApi.kt @@ -134,7 +134,7 @@ object FosdemApi { var expirationTime = Long.MAX_VALUE var retryAttempt = 0 - return liveData> { + return liveData { var now = SystemClock.elapsedRealtime() var nextRefreshDelay = nextRefreshTime - now diff --git a/app/src/main/java/be/digitalia/fosdem/db/ScheduleDao.kt b/app/src/main/java/be/digitalia/fosdem/db/ScheduleDao.kt index d7747b1..9f70ae1 100644 --- a/app/src/main/java/be/digitalia/fosdem/db/ScheduleDao.kt +++ b/app/src/main/java/be/digitalia/fosdem/db/ScheduleDao.kt @@ -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 diff --git a/app/src/main/java/be/digitalia/fosdem/db/entities/EventEntity.kt b/app/src/main/java/be/digitalia/fosdem/db/entities/EventEntity.kt index 67f386d..f38da46 100644 --- a/app/src/main/java/be/digitalia/fosdem/db/entities/EventEntity.kt +++ b/app/src/main/java/be/digitalia/fosdem/db/entities/EventEntity.kt @@ -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.* diff --git a/app/src/main/java/be/digitalia/fosdem/fragments/BookmarksListFragment.kt b/app/src/main/java/be/digitalia/fosdem/fragments/BookmarksListFragment.kt index 409529c..429f222 100644 --- a/app/src/main/java/be/digitalia/fosdem/fragments/BookmarksListFragment.kt +++ b/app/src/main/java/be/digitalia/fosdem/fragments/BookmarksListFragment.kt @@ -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 diff --git a/app/src/main/java/be/digitalia/fosdem/fragments/EventDetailsFragment.kt b/app/src/main/java/be/digitalia/fosdem/fragments/EventDetailsFragment.kt index 3c98185..69aa893 100644 --- a/app/src/main/java/be/digitalia/fosdem/fragments/EventDetailsFragment.kt +++ b/app/src/main/java/be/digitalia/fosdem/fragments/EventDetailsFragment.kt @@ -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 diff --git a/app/src/main/java/be/digitalia/fosdem/fragments/ExternalBookmarksListFragment.kt b/app/src/main/java/be/digitalia/fosdem/fragments/ExternalBookmarksListFragment.kt index 6b511f5..6ed559a 100644 --- a/app/src/main/java/be/digitalia/fosdem/fragments/ExternalBookmarksListFragment.kt +++ b/app/src/main/java/be/digitalia/fosdem/fragments/ExternalBookmarksListFragment.kt @@ -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 diff --git a/app/src/main/java/be/digitalia/fosdem/fragments/LiveFragment.kt b/app/src/main/java/be/digitalia/fosdem/fragments/LiveFragment.kt index ae20f80..7e04c4c 100644 --- a/app/src/main/java/be/digitalia/fosdem/fragments/LiveFragment.kt +++ b/app/src/main/java/be/digitalia/fosdem/fragments/LiveFragment.kt @@ -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() } } diff --git a/app/src/main/java/be/digitalia/fosdem/fragments/LiveListFragment.kt b/app/src/main/java/be/digitalia/fosdem/fragments/LiveListFragment.kt index ab3e2d8..34daefc 100644 --- a/app/src/main/java/be/digitalia/fosdem/fragments/LiveListFragment.kt +++ b/app/src/main/java/be/digitalia/fosdem/fragments/LiveListFragment.kt @@ -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 diff --git a/app/src/main/java/be/digitalia/fosdem/fragments/PersonInfoListFragment.kt b/app/src/main/java/be/digitalia/fosdem/fragments/PersonInfoListFragment.kt index c92ac05..201ff61 100644 --- a/app/src/main/java/be/digitalia/fosdem/fragments/PersonInfoListFragment.kt +++ b/app/src/main/java/be/digitalia/fosdem/fragments/PersonInfoListFragment.kt @@ -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 diff --git a/app/src/main/java/be/digitalia/fosdem/fragments/PersonsListFragment.kt b/app/src/main/java/be/digitalia/fosdem/fragments/PersonsListFragment.kt index 6eb08e1..8be6ab5 100644 --- a/app/src/main/java/be/digitalia/fosdem/fragments/PersonsListFragment.kt +++ b/app/src/main/java/be/digitalia/fosdem/fragments/PersonsListFragment.kt @@ -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 diff --git a/app/src/main/java/be/digitalia/fosdem/fragments/SearchResultListFragment.kt b/app/src/main/java/be/digitalia/fosdem/fragments/SearchResultListFragment.kt index 223edfa..faf9cb1 100644 --- a/app/src/main/java/be/digitalia/fosdem/fragments/SearchResultListFragment.kt +++ b/app/src/main/java/be/digitalia/fosdem/fragments/SearchResultListFragment.kt @@ -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 diff --git a/app/src/main/java/be/digitalia/fosdem/fragments/TrackScheduleListFragment.kt b/app/src/main/java/be/digitalia/fosdem/fragments/TrackScheduleListFragment.kt index 7221374..5443bdd 100644 --- a/app/src/main/java/be/digitalia/fosdem/fragments/TrackScheduleListFragment.kt +++ b/app/src/main/java/be/digitalia/fosdem/fragments/TrackScheduleListFragment.kt @@ -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 diff --git a/app/src/main/java/be/digitalia/fosdem/fragments/TracksFragment.kt b/app/src/main/java/be/digitalia/fosdem/fragments/TracksFragment.kt index b53efd0..a51efd8 100644 --- a/app/src/main/java/be/digitalia/fosdem/fragments/TracksFragment.kt +++ b/app/src/main/java/be/digitalia/fosdem/fragments/TracksFragment.kt @@ -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) diff --git a/app/src/main/java/be/digitalia/fosdem/fragments/TracksListFragment.kt b/app/src/main/java/be/digitalia/fosdem/fragments/TracksListFragment.kt index b4d9ab7..7d1ea73 100644 --- a/app/src/main/java/be/digitalia/fosdem/fragments/TracksListFragment.kt +++ b/app/src/main/java/be/digitalia/fosdem/fragments/TracksListFragment.kt @@ -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 diff --git a/app/src/main/java/be/digitalia/fosdem/parsers/EventsParser.kt b/app/src/main/java/be/digitalia/fosdem/parsers/EventsParser.kt index 6144c25..77c0800 100644 --- a/app/src/main/java/be/digitalia/fosdem/parsers/EventsParser.kt +++ b/app/src/main/java/be/digitalia/fosdem/parsers/EventsParser.kt @@ -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 diff --git a/app/src/main/java/be/digitalia/fosdem/services/AlarmIntentService.kt b/app/src/main/java/be/digitalia/fosdem/services/AlarmIntentService.kt index 3a568cd..eec5b2b 100644 --- a/app/src/main/java/be/digitalia/fosdem/services/AlarmIntentService.kt +++ b/app/src/main/java/be/digitalia/fosdem/services/AlarmIntentService.kt @@ -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 diff --git a/app/src/main/java/be/digitalia/fosdem/utils/network/HttpUtils.kt b/app/src/main/java/be/digitalia/fosdem/utils/network/HttpUtils.kt index 0555f69..bbedda5 100644 --- a/app/src/main/java/be/digitalia/fosdem/utils/network/HttpUtils.kt +++ b/app/src/main/java/be/digitalia/fosdem/utils/network/HttpUtils.kt @@ -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 diff --git a/app/src/main/java/be/digitalia/fosdem/viewmodels/BookmarkStatusViewModel.kt b/app/src/main/java/be/digitalia/fosdem/viewmodels/BookmarkStatusViewModel.kt index 5c23d77..c195f6c 100644 --- a/app/src/main/java/be/digitalia/fosdem/viewmodels/BookmarkStatusViewModel.kt +++ b/app/src/main/java/be/digitalia/fosdem/viewmodels/BookmarkStatusViewModel.kt @@ -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() private var firstResultReceived = false - val bookmarkStatus: LiveData = eventLiveData.switchMap { event -> + val bookmarkStatus: LiveData = eventLiveData.switchMap { event -> if (event == null) { MutableLiveData(null) } else { diff --git a/app/src/main/java/be/digitalia/fosdem/viewmodels/SearchViewModel.kt b/app/src/main/java/be/digitalia/fosdem/viewmodels/SearchViewModel.kt index 8e47fd2..8ae1a81 100644 --- a/app/src/main/java/be/digitalia/fosdem/viewmodels/SearchViewModel.kt +++ b/app/src/main/java/be/digitalia/fosdem/viewmodels/SearchViewModel.kt @@ -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) : Result() } - val results: LiveData = queryLiveData.switchMap { query -> + val results: LiveData = queryLiveData.switchMap { query -> if (query.length < SEARCH_QUERY_MIN_LENGTH) { MutableLiveData(Result.QueryTooShort) } else { diff --git a/app/src/main/java/be/digitalia/fosdem/viewmodels/TrackScheduleListViewModel.kt b/app/src/main/java/be/digitalia/fosdem/viewmodels/TrackScheduleListViewModel.kt index b245558..968f72c 100644 --- a/app/src/main/java/be/digitalia/fosdem/viewmodels/TrackScheduleListViewModel.kt +++ b/app/src/main/java/be/digitalia/fosdem/viewmodels/TrackScheduleListViewModel.kt @@ -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 diff --git a/app/src/main/java/be/digitalia/fosdem/widgets/BookmarkStatusAdapter.kt b/app/src/main/java/be/digitalia/fosdem/widgets/BookmarkStatusAdapter.kt index 2be8dd2..d7caf5a 100644 --- a/app/src/main/java/be/digitalia/fosdem/widgets/BookmarkStatusAdapter.kt +++ b/app/src/main/java/be/digitalia/fosdem/widgets/BookmarkStatusAdapter.kt @@ -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 diff --git a/app/src/main/res/layout/test_chip_zero_corner_radius.xml b/app/src/main/res/layout/test_chip_zero_corner_radius.xml new file mode 100644 index 0000000..d2ebc4c --- /dev/null +++ b/app/src/main/res/layout/test_chip_zero_corner_radius.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 121849c..d8e5086 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -72,6 +72,7 @@ false normal @drawable/asld_bookmark_24dp + ?attr/colorOnSecondary