* Extract fragment scroll listener to separate file
* Replace canRefresh with isScrolled
* Add empty helper class to animate app bar color
* Implement AppBarColorAnimator
* Rename getRefreshScrollingView() to getScrollingView()
* Set isScrolled on drag start
* Clear isScrolled on fling to top
* Add getSyncParams() to fragments
* Convert getAppBars() to property
* Tint TabLayout background drawable
* Replace android:visibility with android:isVisible
* Move base dialogs and views to .ui.base
* Move uncategorized classes to ui.main
* Fix view classes in XML
* Add BaseFragment, use for LazyFragment
* Migrate fragments to BaseFragment
* Move activity setup from BaseFragment, recreate Job on attach
* Move BaseFragment initialization to onResume
* Add base PagerFragment, add TemplateFragment to drawer
* Support swipe-to-refresh in base fragments
* Remove SwipeRefreshLayout split implementation
* Rename onViewCreated to onViewReady
* Remove LazyFragment
* Save page selection in PagerFragment, migrate AttendanceFragment
* Migrate fragments to PagerFragment
* Migrate contributors to a fragment
* Migrate TimetableFragment to PagerFragment
* Fix disabling SwipeToRefresh on page scroll
* Fix crash in CrashActivity