Here we are, the final week of GSoC’21. This week was primarily focused on making the Custom Selector merge ready by the internationalization of constants, refactoring, and updating tests.

Reading through to identify any vulnerable code was an important part we performed this week. Finally, we tested the custom selector for any sneaky bug we could found.

Following the merge, I got collaborator status 😎 and did my first ever triage 🎉. I’ll continue contributing, helping the members and collaborators.

GSoC’21 Final Report :

Custom selector lets you distinguish between already uploaded media and non-uploaded media. It queries the data from the Commons API marking the images as non-uploaded or uploaded using custom overlay. It uses jetpack room to store the API data offline and thus reducing time on subsequent queries. With a classic gallery user interface, the custom selector allows you to preview and upload multiple images. Additional features such as “continue were left” and “smooth scroll” are implemented to improve the user experience.

Without much ado let's “tap” right in.

You can launch the Custom Selector from the icon right below the stock gallery floating action button.

Launch Custom Selector

Welcome Screen: On the first Custom selector launch you are greeted with the welcome dialog.

Folder Fragment: Folder fragment displays the media folder-wise with name and number of images on the bottom of folder view. The light theme for those who still prefer it 😉

Folder Fragment

Image Fragment: The images are displayed ordered by the last modified with the Commons overlay on already uploaded images.

To upload selected images tap on the correct icon at the top right corner of the screen.

Code

The Wikimedia Commons Android App.

Main Pull Request (Merged 🎉):

All Pull Requests:

Finally,

It’s past 16 August’21, the official GSoC coding period has ended. The last two months of working for Wikimedia Commons under the guidance of highly experienced mentors have taught me some invaluable lessons. Time management and best coding practices being at the top, I learned the importance of communication, idea sharing, and planning.

I was allowed to close a 5 years old issue 😃

I consider myself very fortunate to have got this opportunity to learn by contributing to such a great organization. While there is a pain that this ended too soon, I am extremely happy to have completed the project in time. The feeling when your code is merged can’t be expressed in words. I would like to thank GSoC, Wikimedia Foundation, and Commons team for this wonderful opportunity and my mentors for guiding me throughout the project.

Looking forward to making a difference from the lessons GSoC’21 has taught me.

Thanks.

A geek who loves everything.