Skip to content

HUE22

Compare
Choose a tag to compare
@profiluefter profiluefter released this 20 Apr 09:15
· 11 commits to master since this release
b29966c

Features

  • Synchronization using Timestamps:
    • During synchronization the timestamps are compared and the newer one is used
    • If the timestamp (from the server) is invalid it is assumed that the client is more up-to-date
    • If the entity doesn't exist on the server, it is created
  • Login and Registration in App
  • Multiple Todo Lists in the Navigation Drawer
    • New ones can be created using the overflow menu resulting in a Dialog
    • Todo List name is shown in the Activity Title
    • Last opened list is remembered
    • Drawer is disabled in Register and Login
  • Animations using Material Motion
    • Login to Register
    • List change
    • Show details
    • Open Editor (from FAB)
  • Drawer Header showing current username
  • Logout Button in overflow menu
    • User data is removed on logout so that it doesn't mix with the next users data
  • Swipe to Refresh on list view

Internal Features

  • Android Jetpack Navigation Component is used
  • API Calls via Retrofit 2
  • Database or API operations are performed asynchronously using Kotlin Coroutines
  • Modular Architecture
    • Event handlers are in their respective fragment/activity
  • Extensive use of LiveData
  • Usage of Room with SQLite as data storage as replacement for the old Serializers and Storages
  • Continuous Integration using GitHub Actions
  • ViewModels in Login/Register
  • BindingAdapters so that Data Bindings can be used everywhere where it makes sense
  • Error handling for Login
  • Input validation in editor (using animated hiding of FAB)

Improvements

  • Extract Activities into Fragments to achieve Single Activity Architecture
  • Migration from JCenter to Maven Central
  • data-lib is now a real Android Library instead of just a Kotlin Module
  • Various dependency updates
  • FAB moves out of the way if a Snackbar appears using CoordinatorLayout

Bug Fixes

  • Task Checking in the Details View works now