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

442 commits

Author SHA1 Message Date
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
Christophe Beyls
389af5475c update fragments to 1.3.0 and use the new Activity Result and Fragment Result APIs 2021-02-15 22:03:36 +01:00
Christophe Beyls
cf91dcc0f8 allow alarms to go off while the device is in low-power idle mode 2021-02-07 16:57:54 +01:00
Christophe Beyls
12d355cb09 bump version code for release 2.0.5 2021-02-06 01:39:43 +01:00
Christophe Beyls
531b8e38b8 update OkHttp to 3.12.13 2021-02-06 01:36:25 +01:00
Christophe Beyls
258598e730
Import bookmarks feature (#65)
- move ICalendarWriter to ical package
- create ICalendarReader and share CRLF constant with ICalendarWriter
- add import icon
- implement bookmarks parser and add file picker to send parsed bookmark ids to ExternalBookmarksActivity
- add feature to import all bookmarks shown in the external bookmarks list at once, with confirmation dialog.
2021-02-06 01:33:41 +01:00
Christophe Beyls
3df765fecc upgrade kotlinx.coroutines and okio to their latest version 2021-02-04 14:09:23 +01:00
Christophe Beyls
b7484e406c always expect non-null body in case of successful http response 2021-01-27 19:56:59 +01:00
Jaime Soriano Pastor
3518208b3a
Ignore duplicated person in event (#64) 2021-01-26 18:48:33 +01:00
Christophe Beyls
4e8959ce84 fix res-override sourceSet path 2020-12-25 17:26:12 +01:00
Christophe Beyls
7e63735a7d replace "more info" menu item with floating action button in PersonInfoActivity
use a single ViewModel in the Activity as data source for both Activity and Fragment.
2020-12-21 18:01:57 +01:00
Christophe Beyls
5a0b641b61 replace deprecated method call setToolbarColor() with setDefaultColorSchemeParams() in CustomTabsIntent.Builder 2020-12-19 19:13:20 +01:00
Christophe Beyls
9386b9c107 refresh the list of libraries used in the project 2020-12-19 19:04:29 +01:00
Christophe Beyls
fa72523517 update Room to 2.2.6 2020-12-19 18:31:21 +01:00
Christophe Beyls
6dc13ed4bd Update target SDK version to 30 and rewrite Travis CI configuration
- update compileSdkVersion, buildToolsVersion and targetSdkVersion to 30
- update Travis CI config file to use OpenJDK 11 on Ubuntu Focal and manual Android SDK components installation.
2020-12-19 18:29:31 +01:00
Christophe Beyls
2771cea3a4 only display the room name instead of "(Building Unknown)" in case of unknown building 2020-12-12 14:19:37 +01:00
Christophe Beyls
72734576db replace android's JsonReader with Moshi's JsonReader to parse room statuses more efficiently 2020-12-12 00:34:39 +01:00
Christophe Beyls
8e32310b28 upgrade Kotlin to 1.4.21 and browser to 1.3.0 2020-12-11 18:04:32 +01:00
Christophe Beyls
241ff25398 move overridden library resources to a separate resources folder for clarity 2020-11-29 12:57:08 +01:00