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

367 commits

Author SHA1 Message Date
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
523f6812b5 make stateFlow() inline 2022-02-17 18:55:06 +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
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
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
f011e0a2b4 use a conflated channel for SharedPreferences.getAsFlow() 2021-12-26 15:55:12 +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
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
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
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
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
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
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
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
241ff25398 move overridden library resources to a separate resources folder for clarity 2020-11-29 12:57:08 +01:00
Christophe Beyls
d1a336c1e0 upgrade Kotlin to 1.4.20 and coroutines to 1.4.1
replace java.util.* imports with individual imports
2020-11-25 14:57:50 +01:00
Christophe Beyls
475ce1a451 defer initialization of OkHttpClient on a background thread 2020-11-11 19:26:18 +01:00
Christophe Beyls
9578ca949e use okhttp-tls library to build custom SSLSocketFactory and TrustManager instances 2020-11-11 13:02:35 +01:00