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
Christophe Beyls
06f902eadb
Add missing room images for building U ( #61 )
...
replace existing images and add 3 new ones.
2020-11-10 00:46:20 +01:00
Christophe Beyls
e7de633383
Use async Handler for LiveData scheduling
2020-11-06 16:25:01 +01:00
Christophe Beyls
e306f6436b
revert workaround for compound drawables tinting bug in some Android versions, bug has been fixed
2020-09-14 15:51:36 +02:00
Christophe Beyls
ae3212822d
upgrade to Kotlin 1.4.10 + new versions of AppCompat & Material Components
...
+ add workaround for FAB tinting on API < 21
2020-09-14 15:51:32 +02:00
Christophe Beyls
2c5a0eaa7a
fix: use DateParceler to serialize startTime and endTime fields
2020-07-18 01:05:25 +02:00
Christophe Beyls
b2a93a2165
upgrade Gradle plugin to 4.0
...
restrict the Jitpack Repository to the PhotoView dependency
2020-05-29 12:07:58 +02:00
Christophe Beyls
4b20c0b3a4
rely on FragmentFactory to instantiate all fragments, replace newInstance() factory methods with createArguments()
2020-05-21 15:16:50 +02:00
Christophe Beyls
7335b6021e
make ViewLifecycleLazy implementation private and make it implement LifecycleEventObserver to save an object allocation
2020-05-12 00:06:58 +02:00
Christophe Beyls
f7b6ea857e
remove double negation
2020-05-08 22:33:41 +02:00
Christophe Beyls
64188a1bd6
tweak code in RecyclerViewExt
2020-05-08 00:45:42 +02:00
Christophe Beyls
e87ca567be
extract findActivity() to a public utility function in ViewExt
2020-05-08 00:41:52 +02:00
Christophe Beyls
b8235f8e93
use += operator for collections
2020-05-06 23:32:53 +02:00
Christophe Beyls
9ea8200c07
use with(obtainStyledAttributes) for consistency with other screens
2020-05-04 23:53:27 +02:00
Christophe Beyls
ecbe98f9e4
combine download schedule progress and result into LoadingState
2020-05-02 00:46:14 +02:00
Christophe Beyls
400bcdea53
use += operator to add view
2020-04-29 01:01:00 +02:00
Christophe Beyls
3194c80cf4
remove some unnecessary null checks
2020-04-25 21:01:53 +02:00
Christophe Beyls
f447c0069b
don't use Parcelize in MultiChoiceHelper for better reusability
2020-04-23 17:53:24 +02:00
Christophe Beyls
afd488be58
fix multiChoiceHelper adapter lifecycle
2020-04-23 16:04:24 +02:00
Christophe Beyls
5ad84338ee
provide Calendar instance directly as argument default value in DateUtils.getYear()
2020-04-23 15:20:13 +02:00
Christophe Beyls
1eff855426
refactor HttpUtils to suspending functions and perform parsing on the OkHttp background thread
2020-04-22 19:07:47 +02:00
Christophe Beyls
dc02336785
fix the download progress bar logic and encapsulate it in FadeOutViewMediator
2020-04-21 20:15:56 +02:00
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