Hello @LewisVo ,
I was looking for an open source app to contribute and I found this nicely done To Do app, so I decided to provide you with an Italian translation.
In addition, since it is something I could use, I decided to make some practice by implementing new features in the app. This is a list of the changes I did:
β’ Added a confirmation dialog when the button to delete all the checked items is pressed. The confirmation dialog is retained during orientation change. Since we are deleting all the items at once, better asking for a confirmation from the user.
β’ Switched from ListView to RecyclerView. Implemented a new adapter for a RecyclerView which contains two interfaces for click and long click listeners (this one do nothing but can be implemented, for example by showing the current reminder date and time). In addition, implemented the logic when an item is checked the item on Firebase Database update with the new value. Created a custom divider line for the RecyclerView.
β’ Implemented Dual Pane mode. When on a tablet, the detail fragment is shown on the side of the MainActivity and it is updated at runtime when the user clicks on an item. To achieve that, a new Activity and a Fragment have been created, along with a xml file in a dedicated folder with a LinearLayout that is checked in the MainActivity. If it is not null, we are in dual pane and the fragment is added, otherwise we are on a phone and the app runs as it was before. I added a screenshot in the Photo folder.
β’ Started Firebase implementation, along with SQLite. Even if Firebase allows to store data locally, it was such a big change, so SQLite still stores the data. The local database has been changed to store also the Id assigned to the item by Firebase, in order to make operation on items based on its id (initially I did by name, but then I noticed that items with the same name were removed both). Firebase needs still some implementation, like checking the Internet connection, authentication, etc., but it requires more time.
This is the link to my forked repository, you can have a look and tell me what you think about :
https://github.com/redlor/Minitask/tree/new_version
If you wish, you can do some testing to see if everything works.
Thank you and keep up the good work!
Regards,
Lorenzo