Skip to content

mdnaseemashraf/Memento2

Repository files navigation

Memento2

A To Do List Android App rebuilt with Material Design, Room and AndroidX. This app is available for use on Google Play, here. This is a complete rewrite of Memento Android App built for old Froyo Android OS (2.2).

Features

  • Used Jetpack components to rebuild app.
  • Material Design UI overhaul using FAB, BottomSheet Dialog and RecyclerView.
  • Room implementation replacing previous SQLite implementation for database.
  • God Class Anti-Pattern from previous Memento version removed.
  • Added Instrumented Tests from AndroidX.
  • AndroidX support library used for all components.

Screen Caps

Testing

Unit tests were ignored here. This build includes 8 Instrumentation Tests(that need to be run on a device) provided in the instrumentedTests directory of the app. Some of the tests perform and check basic operations like:

  1. Click Add Task FAB and check for BottomSheet Dialog.
  2. Check for an existing Task in RecyclerView.
  3. Add a Task, save it and then check if it exists.
  4. Add a Task, save it and then edit it.
  5. Check all CRUD and other queries on Room Database.
  6. Perform swipe gesture to remove Task from RecyclerView.

This build was further tested in Firebase Test Lab.

Updated with CircleCI + Firebase Test Lab to test app. Current status: CircleCI

Updated with Codacy to show static code review. Current grading: Codacy Badge

Firebase Robo Crawl Output

Robo Call Graph

Stat Value
App start time (Time to initial display) 604ms
Graphics stats Value
Missed VSync 0%
High input latency 8%
Slow UI thread 2%
Slow draw commands 0%
Slow bitmap uploads 0%

Firebase Instrumentation Test Results

Stat Value
App start time (Time to initial display) 534ms
Graphics stats Value
Missed VSync 3%
High input latency 24%
Slow UI thread 8%
Slow draw commands 0%
Slow bitmap uploads 0%