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

346 commits

Author SHA1 Message Date
Christophe Beyls
7f282c4418 replace ContentLoadingProgressBar with ContentLoadingViewMediator 2020-04-21 19:09:11 +02:00
Christophe Beyls
1d88941b63 create viewLifecycleLazy and use it to make fragments properly implement RecycledViewPoolProvider 2020-04-21 14:42:36 +02:00
Christophe Beyls
96eb3df61d use LazyThreadSafetyMode.NONE for lazy preference read in TrackScheduleListFragment 2020-04-21 13:58:14 +02:00
Christophe Beyls
0cabd84732 remove dependency to lifecycle-common-java8 2020-04-21 13:09:41 +02:00
Christophe Beyls
a410532aa1 isolate fix for disappearing menu items into a separate class 2020-04-21 10:52:40 +02:00
Christophe Beyls
24a27a5ac1 use alternative Activity constructor instead of setContentView() 2020-04-17 17:51:54 +02:00
Christophe Beyls
b45b3cf444 remove unnecessary FOCUS_AFTER_DESCENDANTS on RecyclerView 2020-04-17 00:58:14 +02:00
Christophe Beyls
77ec0fca2d disallow null queries in SearchViewModel 2020-04-17 00:18:32 +02:00
Christophe Beyls
75c73c2de8 update Parser to be a read-only interface 2020-04-16 16:15:56 +02:00
Christophe Beyls
8988744024 Override another material components layout to avoid including the unused BaselineLayout internal class in the APK 2020-04-10 17:49:14 +02:00
Christophe Beyls
7ddf2020f2 replace RecyclerViewFragment with RecyclerViewViewHolder and refactor fragments to not keep a reference to their RecyclerView adapter
Refactor TrackScheduleListFragment and TrackScheduleActivity to simplify communication code
2020-04-03 15:53:02 +02:00
Christophe Beyls
93b43b1f91 remove unused namespace declarations 2020-04-02 11:53:09 +02:00
Christophe Beyls
162628687d only allow non-null types for SingleEvent 2020-03-29 18:33:49 +02:00
Christophe Beyls
a9c76680e4 refactor MultiChoiceHelper to allow changing its underlying adapter 2020-03-28 03:06:39 +01:00
Christophe Beyls
02e6887c45 simplify Fragments by removing onCreateView() and onDestroyView() callbacks and viewHolder members when possible 2020-03-26 13:19:06 +01:00
Christophe Beyls
f90fbccd2a replace deprecated onActivityCreated() with onViewCreated() in fragments 2020-03-20 00:11:42 +01:00
Christophe Beyls
a060f5d717 use custom BackgroundWorkScope instead of GlobalScope 2020-01-31 15:44:19 +01:00
Christophe Beyls
a37e102cd5 simplify the Link class by removing secondary constructor 2020-01-29 23:29:24 +01:00
Christophe Beyls
d9aed9319e regression fix: initial section display in the toolbar 2020-01-29 12:04:44 +01:00
Christophe Beyls
669f5d1cb0
Convert the entire app to Kotlin (#50)
- Remove all Java code and replace it with Kotlin equivalent
- Use KTX versions of all libraries to extend them with Kotlin functionality
- Migrate Okio to its latest version which is written in Kotlin.
2020-01-28 23:47:38 +01:00
Christophe Beyls
afcc269eda fix ViewPager2 adapter memory leak when TracksFragment is detached 2020-01-27 12:14:58 +01:00
Christophe Beyls
f0601224f1 update SearchViewModel to save its own state using SavedStateHandle 2020-01-26 14:21:49 +01:00
Christophe Beyls
60a3d01324 fix app:drawableTint not working in some Android versions 2020-01-24 13:50:28 +01:00
Christophe Beyls
8554eb710c remove duplicate text set in BookmarksAdapter 2020-01-24 13:38:58 +01:00
Christophe Beyls
c82e4c2333 improve background coloring code in TrackScheduleAdapter 2020-01-23 20:25:48 +01:00
Christophe Beyls
ad3f25e480 remove all left/right attributes from layouts since the app now has a min SDK version of 17 which always supports start/end attributes 2020-01-22 21:42:55 +01:00
Christophe Beyls
bf0682633d migrate to Lifecycle 2.2.0 and Fragment 1.2.0 2020-01-22 21:13:21 +01:00
Christophe Beyls
1cead841d8 fix logic to prevent animation in BookmarkStatusAdapter 2020-01-22 12:24:24 +01:00
Christophe Beyls
6b7ce11dee improve Building name selection 2020-01-21 18:06:51 +01:00
Christophe Beyls
31ea8f9c5d ensure the application Context is used for shared preferences 2020-01-21 05:28:20 +01:00
Christophe Beyls
266842eca4 fix notifications app color 2020-01-21 05:24:53 +01:00
Christophe Beyls
434a72dc6c fix new ICalendarWriter implementation and upgrade Okio library 2020-01-06 13:53:42 +01:00
Christophe Beyls
bd4e57ef56 fix custom tabs toolbar coloring and reorganized track colors 2020-01-05 20:08:02 +01:00
Christophe Beyls
47e46fc4b9 update campus map for 2020 2020-01-04 20:55:44 +01:00
Christophe Beyls
e8eed7eabf suppress deprecation build warning in ThemeUtils 2020-01-04 20:39:04 +01:00
Christophe Beyls
877d584d04 replace the database update modal dialog with auto-update. Add a retry button to the bottom sheet error message in case of failure. 2020-01-03 23:34:54 +01:00
Christophe Beyls
476dda8ddf implement workaround to prevent ViewPager2 from conflicting with vertical scroll in the pages 2020-01-03 17:11:32 +01:00
Christophe Beyls
4b2beb5802 use a darker red color in white theme for main tracks and warnings 2020-01-03 16:13:40 +01:00
Christophe Beyls
4c3b689e7f implement Dark theme and tweak Material theme
Close #27
2020-01-02 22:49:00 +01:00
Christophe Beyls
0de52dcca9 update ICalendarWriter to use Okio's BufferedSink instead of Writer fo better performance 2019-12-27 17:32:28 +01:00
Christophe Beyls
d83c2f9b8d fix Bookmarks filter menu item icon tinting 2019-12-23 03:10:56 +01:00
Christophe Beyls
94aa852cd2 migrate to ViewPager2 2019-11-14 01:22:27 +01:00
Christophe Beyls
b5f3eb7bf6 bump compile and target SDK to 29 and update libraries to take advantage of the new APIs 2019-11-10 14:44:18 +01:00
Christophe Beyls
2ae81c048a Use the Dialog theme to inflate the layout in RoomImageDialogFragment 2019-11-09 23:19:18 +01:00
Christophe Beyls
d1beb53ccf Tint all icons using the proper theme-independent color 2019-11-09 22:21:30 +01:00
Christophe Beyls
0cf6443b4b Simplify dialog themes 2019-11-09 17:59:39 +01:00
Christophe Beyls
7f6c0a1674 rename Widget.Fosdem.** styles to Widget.App.** 2019-11-09 17:49:22 +01:00
Christophe Beyls
b766e38d00 Use default error colors from material theme attributes for error Snackbar and to highlight conflicting bookmarks 2019-11-07 23:12:52 +01:00
Christophe Beyls
0752dbc6ee Tint the error Snackbar using colorError 2019-11-07 14:00:12 +01:00
Christophe Beyls
207b5b45a1 Add rules and styles to allow the resources shrinker to remove drawable resources of unused widgets 2019-11-06 03:12:45 +01:00
Christophe Beyls
acb54082ea Disable regular scrollbar in RecyclerView when enabling fast scroll 2019-11-06 02:25:19 +01:00
Christophe Beyls
e4642abd67 Reduce APK size by removing unused classes from Material Components library 2019-11-05 23:17:23 +01:00
Christophe Beyls
afe9cfbbbc Migrate all themes and styles to Material Components
Update Material Components library to 1.1.0-beta01
2019-11-04 23:43:10 +01:00
Christophe Beyls
777e53f063 Implement LiveDataFactory.scheduler() to simplify scheduling of loadings and automatic refreshes 2019-10-30 00:01:52 +01:00
Christophe Beyls
4448012751 Code cleanups:
- use requireXXX() methods when available to avoid NPE warnings
- add missing annotations
2019-10-29 22:20:43 +01:00
Christophe Beyls
9bb5ecdcef Revert "Delay IntervalLiveData refresh to allow the previous result to be dispatched on active even when it's already expired"
This reverts commit 2f166836
2019-10-29 20:05:16 +01:00
Christophe Beyls
31fd331812 Handle case where onItemRangeMoved() has more than 1 item moving in ConcatAdapter 2019-10-15 20:28:51 +02:00
Christophe Beyls
57181b2697 Make MultiChoiceHelper Lifecycle-aware and SavedState-aware 2019-10-14 23:35:36 +02:00
Christophe Beyls
16fd2d49a1 Implement workaround for disappearing menu items bug, fixes #47 2019-09-21 00:39:29 +02:00
Christophe Beyls
36b0755029 Attempt to enable TLS 1.2 (and 1.1) on older Android versions 2019-09-04 23:58:43 +02:00
Christophe Beyls
399f5567a2 Migrate network stack to OkHttp and Okio 2019-09-04 23:54:44 +02:00
Christophe Beyls
4ed57c77b6 Embed vector drawable animators directly in the AVD files 2019-08-15 22:39:20 +02:00
Christophe Beyls
000f10e8fb Upgrade libraries to their latest stable version 2019-08-15 14:45:24 +02:00
Christophe Beyls
2a4bedbccf Implement an AnimatedStateListDrawable for the bookmark status icon 2019-05-11 22:11:02 +02:00
Christophe Beyls
50200ebed5 Replace compound drawable PNG icons with vector drawables 2019-04-25 01:24:45 +02:00
Christophe Beyls
9c1db446d2 Group ObjectAnimators in progress bar animated vector drawable, now that the AAPT2 bug has been fixed in Gradle plugin 3.4 2019-04-24 23:43:36 +02:00
Christophe Beyls
6c3655e205 Use the new built-in Transformations.distinctUntilChanged() 2019-04-24 23:38:00 +02:00
Christophe Beyls
1d4aa090c4 Remove deprecated method calls 2019-04-24 00:05:10 +02:00
Christophe Beyls
f35b755bea Enable Java 8 language support and refactor code to use lambdas and try-with-resources 2019-04-04 01:31:10 +02:00
Christophe Beyls
2f16683674 Delay IntervalLiveData refresh to allow the previous result to be dispatched on active even when it's already expired 2019-03-08 00:03:01 +01:00
Christophe Beyls
29af6e4601 Replace deprecated methods with newer equivalents 2019-02-05 21:20:09 +01:00
Christophe Beyls
1c926b1cfd Simpler implementation of up navigation fix from track screen to main activity 2019-02-05 20:48:03 +01:00
Christophe Beyls
214a6dfe71 Enhance up navigation from track Activity to main Activity: don't re-create the main Activity
Closes #7, closes #23
2019-02-04 21:24:09 +01:00
Christophe Beyls
d7e888bbd7 Enhance up navigation from event details to track Activity 2019-02-04 20:38:12 +01:00
Christophe Beyls
1bbb4ad824 Use the new postprocessing DSL block to configure code and resources shrinking
Stop using reflection to instantiate fragments in MainActivity
2019-02-03 23:05:40 +01:00
Christophe Beyls
a21bfcd275 Fix NullPointerException when the RecyclerView's adapter in LiveListFragment finishes updating asynchronously after the fragment is detached 2019-02-02 23:35:57 +01:00
Christophe Beyls
dd25e82c1e Fix: prevent crash on sime devices in case of duplicate bookmark 2019-02-02 12:08:10 +01:00
Christophe Beyls
12bbb8a31a Updated campus map image for 2019 2019-02-02 11:54:51 +01:00
Christophe Beyls
65cc597f74 Use the database Executor to execute one-shot queries 2019-01-30 13:55:37 +01:00
Christophe Beyls
a3dfdb3da4 New feature: bookmarks list sharing through Android Beam (NFC) 2019-01-29 21:22:30 +01:00
Christophe Beyls
a4348a168b Add back deprecation warning suppression in ThemeUtils 2019-01-29 21:20:03 +01:00
Christophe Beyls
97f7a50275 Don't trigger updates in TrackScheduleEventActivity on database changes: retrieve a snapshot of the schedule instead 2019-01-29 21:16:43 +01:00
Christophe Beyls
700ad50eb9 Move bookmark status into its own ViewModel controlled by the activity and integrate a bottom app bar with a floating action button to manage bookmark status.
Auto-hide the top toolbar on scroll in event details screens
Remove legacy UnderlinePageIndicator. Swiping is still possible.
2019-01-29 12:55:21 +01:00
Christophe Beyls
2e17feb3ef Remove legacy parent activity meta-data 2019-01-29 12:39:24 +01:00
Christophe Beyls
75512c1364 Improve NfcUtils to provide methods to convert data from and to NdefRecord 2019-01-28 20:47:44 +01:00
Christophe Beyls
5f3b8f945d Make LinkClickListener safer 2019-01-28 16:59:48 +01:00
Christophe Beyls
5985d3bd82 Adjust time padding in schedule item layout and change the highlighted time background color to accent color 2019-01-28 16:39:46 +01:00
Christophe Beyls
573b5c4544 Improve initial display of data in RecyclerViewFragment 2019-01-28 15:21:53 +01:00
Christophe Beyls
31e2ddd609 Update NFC callbacks to allow returning any kind of NdefRecord, and use NdefRecord.createMime() to create the records 2019-01-28 14:45:33 +01:00
Christophe Beyls
4df07a40b3
Refactor all database code to use Room, LiveData and the pagination library (#42)
* Bump minSDK version to 16 because SQLite < 3.7.11 doesn't support syntax 'CREATE TABLE IF NOT EXISTS' for FTS tables

* Reimplement search results screen using pagination, share a ViewModel between the Activity and the Fragment to allow updating the same fragment instance

* Preserve scroll position 0 in live fragments to ensure the insert/remove animation will be visible

* Simplify MultiChoiceHelper to always dispatch selection changes to the adapter using a payload, which prevents item crossfading on selection state change

* Use withLayer() for better performance of progress bar fade out animation
2019-01-28 13:30:07 +01:00
Christophe Beyls
bc27d4af49 Mirror the drawer shadow image for RTL configuration 2019-01-27 21:13:28 +01:00
Christophe Beyls
c33f7b23e3 Improve RTL support in all layouts
Disable RTL mode for TabLayout
Fix RTL support of CollapsingToolbarLayout
Use android:textAppearance attribute instead of style when possible.
2019-01-27 19:35:56 +01:00
Christophe Beyls
924e089e86 Replace legacy horizontal progress bar with material horizontal progress bar backport implementation on API <21 2019-01-27 02:56:08 +01:00
Christophe Beyls
b79e29a67c Performance fix: ensure the ViewPager is only made visible when the adapter is set to avoid it to layout pages too early 2019-01-25 02:00:48 +01:00
Christophe Beyls
7e15f7de55 Use a consumable LiveData event to report the schedule download result to UI in place of LocalBroadcastManager
Use a simple AtomicBoolean instead of a lock to prevent concurrent downloads
2019-01-24 20:20:50 +01:00
Christophe Beyls
2a7b1439cc Rewrite LiveRoomStatusesLiveData to not inherit from AsyncTaskLiveData and not cancel the running download task 2019-01-23 21:37:02 +01:00
Christophe Beyls
18e69e8860 Make RecyclerView INVISIBLE instead of GONE to prevent relayout causing blinking items 2019-01-22 00:35:54 +01:00
Christophe Beyls
133a247544 Don't perform identical searches twice in SearchResultActivity, and display the error message about query size using a Snackbar instead of a dialog 2019-01-18 00:53:07 +01:00
Christophe Beyls
e438eca1c3 Code cleanups and remove unused resources 2019-01-07 02:41:53 +01:00
Christophe Beyls
cdf4cc46b6 Update used libraries in the README and about screen 2019-01-06 00:42:04 +01:00