Final report, Google Summer of Code, 2019
Organization - Amahi
Project - Amahi Android app improvements
Introduction
Hello! I am Balaji Ramavathu, final year B.Tech Undergraduate at Indian Institute of Information Technology, Allahabad. Over the past few months, I have worked with Amahi to improve the Amahi android app. I have improved the UI/UX of the app, added new features and fixed some bugs in the app.
Work done
- (#475) Light theme feature
- Implemented light theme feature. User can choose the theme from Settings in the app.
- (#477) Migration to AndroidX
- Migration of the project to AndroidX has been done to have better namespaces in the code.
- (#479) Material design and UI improvements
- Implemented Material design using the Material design components library by following Google's material design guidelines.
- UI of Authentication screen and Music player screen has been improved for better user experience.
- (#480) Landscape layouts improvements
- Added persistence of data and views like dialogs on screen rotation.
- Improved UI of screens in landscape mode.
- (#484) Friending feature
- Friending feature lets users share content with each other.
- Implemented display of friend users and friend requests with their status.
- (#487) Improving file sorting
- Added new sort-by-file-type option and other sorting options in ascending order.
- Changed the UI flow from sort option toggling to selection from bottom sheet dialog.
- (#489) Last opened of each file
- The last opened of each file is stored and displayed in a dialog.
- (#492) Secondary user login
- Made the already implemented secondary user login feature ready for merging by resolving a pool of merge conflicts.
- (#494) Music player Shuffle and Repeat options
- Implemented shuffle and repeat features in the music player for better audio streaming experience.
- (#495) Thumbnails fetching
- Implemented fetching of thumbnails of image files from the server and displaying them instead of full images in the files list view.
Future work
- Adding automated UI testing protocol based on Espresso.
- More testing needs to be done to the new features before releasing them to production.
Conclusion
This is my first time in GSoC. I had a great learning experience working with Amahi. I would like to thank Carlos Puchol (@cpg) for giving me this wonderful oppurtunity and guiding me throughout the journey. I would also like to thank my mentors Kumar (@octacode), @megabitdragon and special thanks to Chirag (@csoni111) for all the guidance and suggestions whenever I was stuck.
I have learned a lot during this journey, working with large codebase, writing better quality code and working with libraries like Event Bus, Retrofit, Room database and many others. The whole experience made me a better software developer and it will help me throughout my career. A big thanks to Google for this amazing program that can really do wonders in the career growth of young developers. Cheers!