1
0
Fork 0
mirror of https://github.com/MatomoCamp/matomocamp-companion-android.git synced 2024-09-19 16:13:46 +02:00
Commit graph

460 commits

Author SHA1 Message Date
dd6bc628be
add all event view 2022-10-25 17:07:28 +02:00
da5e8645cf
increase lookahead time 2022-10-25 16:53:10 +02:00
cb9e1a106a
rename API 2022-10-25 16:52:04 +02:00
40bbfd23b6
rename to org.matomocamp.companion 2022-10-25 16:48:49 +02:00
Christophe Beyls
016a768d05 update Gradle plugin, various libraries and change compileSdkVersion to 33 2022-09-24 13:16:23 +02:00
Christophe Beyls
53d9d5e60a fix: properly handle the case of missing "schedule exact alarm" permission on Android 12+ 2022-09-07 17:00:46 +02:00
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
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
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
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
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
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
Christophe Beyls
44e9e69a5d upgrade various libraries and replace custom ConcatAdapter implementation with RecyclerView's ConcatAdapter 2021-04-09 19:01:58 +02:00
Christophe Beyls
51d25112bc update Material Components library to 1.3.0 and replace custom MaterialHorizontalProgressBar with LinearProgressIndicator 2021-02-16 18:46:27 +01:00