Christophe Beyls
7b4dd70b41
update Gradle plugin, Hilt, Desugar libs and various libraries to their latest stable version
...
change compile and target SDK version to 32
2022-09-06 22:44:06 +02:00
Christophe Beyls
ad9ff4fc83
new implementation of tickerFlow and synchronizedTickerFlow based on kotlin.time.Duration and TimeSource
2022-07-22 12:50:11 +02:00
Christophe Beyls
8949b4764d
update Gradle plugin, Kotlin and misc libraries
2022-07-15 16:39:06 +02:00
Christophe Beyls
7da79cbc1b
update Gradle plugin, Room, Paging
2022-03-11 17:18:29 +01:00
Christophe Beyls
523f6812b5
make stateFlow() inline
2022-02-17 18:55:06 +01:00
Christophe Beyls
070a3f0bdc
update Gradle plugin to 7.1.1
2022-02-12 14:39:59 +01:00
Christophe Beyls
fc86cb4f4f
prepare release 2.1.0
2022-02-11 13:04:23 +01:00
Christophe Beyls
d4c33bab20
upgrade lifecycle to 2.4.1
2022-02-11 13:02:10 +01:00
Christophe Beyls
57c50f280a
use a different item view type for the event in progress in TrackScheduleAdapter
...
this also enables a new crossfade animation
2022-02-10 23:32:36 +01:00
Christophe Beyls
2b35ce3c77
simplify the implementation of createSimpleItemCallback()
2022-02-06 17:37:49 +01:00
Christophe Beyls
c025ee9f29
Add support for device timezone display ( #79 )
...
Change code to allow observing the ZoneId and update display on changes. The ZoneId is selected according to user settings, it's either the conference timezone like before or the local timezone which is monitored in real time.
fixes #66
2022-02-06 17:27:15 +01:00
Christophe Beyls
fd02ba5fde
use the MenuProvider API to populate ActionBar menus from Fragments
2022-02-03 18:52:09 +01:00
Christophe Beyls
3f6c9d6219
Migrate from LiveData to Kotlin Flow ( #77 )
...
- Replace all usages of LiveData with Flow and StateFlow
- Replace Paging 2 with Flow-based Paging 3
- Inject custom ViewModel arguments directly through custom ViewModel Factories.
2022-02-03 17:30:55 +01:00
Christophe Beyls
2b96e266cd
enable precise resource shrinking
2022-01-28 13:58:00 +01:00
Christophe Beyls
08f584f9e8
Update command line tools
2022-01-28 13:58:00 +01:00
Christophe Beyls
eecb37186a
Enable non-transitive R class, allowing further optimizations
2022-01-28 13:58:00 +01:00
Christophe Beyls
ba842f9606
Update Gradle plugin to 7.1.0, preferences and fragment
...
remove Room incremental annotation processor flag, it's now enabled by default
2022-01-28 13:58:00 +01:00
Christophe Beyls
bfddd11991
Don't share the ViewModel between PersonInfoActivity and PersonInfoListFragment; get the year from ScheduleDao directly
2022-01-22 16:01:56 +01:00
Christophe Beyls
a6e65aee19
Remove SavedStateHandle implementation
...
Restore ViewModel state manually from View state instead
+ upgrade various libraries.
2022-01-21 10:32:47 +01:00
Christophe Beyls
ace3e53bf4
Update Travis CI link for home page
2022-01-17 11:29:32 +01:00
Christophe Beyls
a3d2efefbd
optimize desugaring to remove all unused classes
2022-01-09 17:26:07 +01:00
Christophe Beyls
61f8e2fca3
Refactor AppAlarmManager ( #75 )
...
Remove AlarmIntentService (which was based on deprecated JobIntentService) and use use simple coroutines queued using a Mutex instead.
The execution time is so quick that there is no need to create expedited background Jobs for the alarm scheduling tasks.
Use BroadcastReceiver.goAsync() to build the notification asynchronously from a coroutine without the need to launch a Service or acquiring a special wake lock.
2022-01-08 22:58:26 +01:00
Christophe Beyls
fb58598937
bump minSdkVersion to 19 and remove deprecated code
2022-01-01 18:03:15 +01:00
Christophe Beyls
5440860340
Replace Date and Calendar classes with Java 8 time APIs ( #74 )
...
Enable multidex and Java 8 APIs desugaring in the project.
Also bump minSDK version to 18 to allow calling DateFormat.getBestDateTimePattern().
2021-12-31 18:01:18 +01:00
Christophe Beyls
d35d8257ec
use .orEmpty() where applicable
2021-12-26 16:05:00 +01:00
Christophe Beyls
782a1d60df
upgrade coroutines library to 1.6.0
2021-12-26 15:56:37 +01:00
Christophe Beyls
f011e0a2b4
use a conflated channel for SharedPreferences.getAsFlow()
2021-12-26 15:55:12 +01:00
Christophe Beyls
0ea78d1725
upgrade Kotlin, Hilt, Moshi, Room, Gradle plugin
2021-12-25 00:28:55 +01:00
Christophe Beyls
1ad67a4c3b
update database version to 3, change fulltext indexes from FTS3 to FTS4
2021-11-27 15:06:37 +01:00
Christophe Beyls
38656dae7d
upgrade Hilt, Fragment, AppCompat, Okio
2021-11-22 19:52:15 +01:00
Christophe Beyls
a9184e62aa
Refactor UI State SharedPreferences and add Datastore to the database ( #73 )
...
- change database to use destructive migration and properly clear the extra data on each migration
- store database extra data using the datastore-preferences library instead of SharedPreferences
- move ScheduleDao access from TracksFragment to TracksViewModel and rename previous TracksViewModel to TracksListViewModel
- centralize all UI State preferences in the same SharedPreferences file and inject it. It is loaded asynchronously on application startup to minimize blocking the main thread
- change days cache in ScheduleDao from LiveData to a hot Flow.
2021-11-22 19:44:02 +01:00
Christophe Beyls
6df1aa68b9
enable multidex for debug mode
2021-11-06 19:31:02 +01:00
Christophe Beyls
b611e0ad7b
upgrade Hilt to 2.40
2021-11-06 19:10:35 +01:00
Christophe Beyls
58550b8f92
Update target SDK to 31 (Android 12) ( #72 )
...
- update target SDK to 31 and libraries to their latest version
- enable back PhotoViewDrawerLayout
- add PendingIntent flags and manifest entries required by target SDK 31
- update Travis config to API 31 build tools
- add missing experimental Kotlin API annotation.
2021-11-06 17:04:36 +01:00
Christophe Beyls
a5b9aca2e7
Inject user preferences using UserSettingsProvider ( #71 )
...
Encapsulate all user settings in UserSettingsProvider singleton and inject it where required.
The services injected in the main application class will now be auto-started.
2021-11-03 00:52:23 +01:00
Christophe Beyls
6fde0a2c56
remove SearchView and search suggestions provider, replace it with an EditText and sample its updates
2021-10-10 16:16:08 +02:00
Christophe Beyls
f43a5241a0
update Gradle plugin to 7.0.2, Kotlin to 1.5.31 and coroutines to 1.5.2
2021-10-10 14:29:55 +02:00
Christophe Beyls
9bafa44dac
update command line SDK tools for Travis CI
2021-07-30 03:30:24 +02:00
Christophe Beyls
5136b2a2d6
update Gradle plugin to 7.0.0
2021-07-30 03:25:44 +02:00
Christophe Beyls
07b6bc16a0
upgrade Kotlin, Coroutines, Hilt, Fragment, AppCompat
2021-07-23 12:19:54 +02:00
Christophe Beyls
7531b22a0a
update Gradle plugin, Core, Material Components
2021-07-10 12:03:49 +02:00
Christophe Beyls
71b1bcaf37
update Hilt to 2.37, inject HttpClient in FosdemApi, inject Call.Factory in HttpClient
2021-07-10 11:45:54 +02:00
Christophe Beyls
cf41d38547
update Kotlin, Core, Fragment, AppCompat, RecyclerView
2021-06-19 15:46:26 +02:00
Christophe Beyls
f6543ea3e8
update coroutines library to 1.5.0
2021-05-14 21:51:06 +02:00
Christophe Beyls
684131fb51
Add dependency injection using Hilt ( #68 )
...
Configure Hilt to inject FosdemApi, FosdemAlarmManager, BookmarksDao and ScheduleDao
2021-05-14 21:47:10 +02:00
Christophe Beyls
d5e246ef20
cleanup methods deprecated since Kotlin 1.5
2021-05-14 02:01:42 +02:00
Christophe Beyls
3a90a1ed79
remove custom enum type conversion. Room now supports enums since version 2.3.0
2021-05-14 01:53:48 +02:00
Christophe Beyls
d27e3d49c4
update CI command line tools to latest version
2021-05-14 01:34:12 +02:00
Christophe Beyls
8be4632b84
upgrade Gradle plugin to 4.2.1
2021-05-13 20:51:18 +02:00
Christophe Beyls
0b707b5872
update Gradle Plugin to 4.2.0, Kotlin to 1.5.0, fragment-ktx to 1.3.3 and Room to 2.3.0
2021-05-07 22:35:18 +02:00