Custom pictures selector which indicates what pictures have been uploaded already
University :Krishna engineering college, Ghaziabad, Uttar Pradesh
Github Link :https://github.com/Prince-kushwaha
Other communication modes : Zulip
Location during GSoC: Gurugram, Harayana, India
Typical working hours (include your timezone) : Between 3 pm to 1 am UTC +5:30
The Wikimedia Commons Android app allows users to upload pictures from their Android phone/tablet to Wikimedia Commons. Commons is not only the image repository for Wikipedia but an independent project that seeks to document the world with photos, videos, and recordings.
The project is about adding a Custom Picture selector activity that also indicates what pictures have been uploaded to the commons android app.
Issue link : https://github.com/commons-app/apps-android-commons/issues/175
I am second year student, pursuing B.tech in Computer Science and Engineering from Krishna engeering College , Ghaziabad, Uttar Pradesh
I love Android Development and I have been doing it for the past one years. I am also a strong supporter of open source and I love contributing to it. I have contributed to the Commons Android app since october 2020.
I am an active member of Website and software development cell the official website and app development team of the institute.
I am also completed WebDevelopment course from Udemy :Certificated
I am love android Development and contributing to the open source projects
I am also doing web web development and competitive programming
- QuizAdminApp :Learn Firebase authentication, MVM, viewModel, Firebase DataBase
- QuizApp :Learn Firebase DataBase, MVM
What can be implemented?
- Custom picture selector to select image for upload from phone
- If an picture is already upload then on picture show an thumbails of Commons log and that picture is not selectable for Upload
- Custom image Selector Floating Action Button
- A Linear view of all the albums on the phone arranged by the last modified data (camera, all media given higher priority).
- Display the name, count of media items on the respective folder.
- Show the thumbnail of the most recent item as the cover image for the folder.
- Multiple image select activity
- User not allowed to select already uploaded images.
Create an UI for custom image selector
- Create Floating action button for custom image selector and add it to the +(plus) floating action button in contribution Activity
- Define layout attributes, create XML files for both Design 1 , Design 2, Design 3
- Create java files handling UI functionalities such as display folder name and item count, click listeners, scroll and animations.
- Create a data loader class, get the data from content resolvers, and load thumbnails in the UI using glide.
Integrate the API
- Create an Model which handle API
- Commons has a simple API to check the presence or not of a file, it works by sending the SHA1 checksum to the URL https://commons.wikimedia.org/w/api.php?action=query&list=allimages&format=xml&aisha1=<put SHA1 here>
Implement caching the data with images
- Create an viewModel which handle caching
- use the Univerasal-image-Loader library for caching of image
Integrate custom image selector activity with the Upload activity
- Create an class which forwords selected image from custom image selector Activity to Upload Activity, to start Uploading process
- Familiar with android architecture components.
- UI design in Android.
- Android SDK.
- Jetpack library.
- Github and git Version control.
- Unit Tests in Android. ( Familiar with Robolectric environment on Junit framework )
- Basics of Kotlin
- How are you involved with open-source?
I am actively contributing to the Commons Android app project since October 2020, so far I have about 18 PR merged and also I have opened a lot of issues. I have also contributed to the other open-source organizations like Anki-Android,oppia-android
- Apart from coding do you have any other kind of involvement with the organization? NO
- Eligible for Google Summer of Code and Outreachy?
I am only Eligible for Google Summer of Code.
- Do you plan to submit any other proposal apart from this one?
No, I am only submitting this proposal.
- Do you have any other plans this summer?
No, I don’t have any other internship or plans for this summer. Google Summer of Code is the topmost priority for me this summer.
- How many hours per week can you dedicate for this?
I will dedicate a minimum of 40 hours each week for this project, I am willing to dedicate more if needed.
Have you been accepted to GSoC before?
No, I apply for gsoc first time.
|Timeframe||Start Date||End Date||Task|
|Community Bonding Period||May-17||June -7||Getting Familiarized with app structure, Wikimedia Api, and Community|
|SubTask 1||Community Bonding|
|SubTask 2||work on Bugs and enhancement of app|
|SubTask 3||Discuss about project|
|Week 1||June -7||June -13||Add custom image selector floating action Button in contrinution activity ,Create an UI Layout to show All file of phone|
|SubTask 1||Discuss UI with mentors|
|SubTask 2||Create FAB(Floating Action Button ) for custom picture selector and add it to contribution activity|
|SubTask 3||Completed UI Layout to show All file of phone|
|Week 2||June -14 -||June -20||Add the functionalities to extract file data from the phone , Binder data with UI|
|SubTask 1||Create models and data source classes to fetch the data using content resolvers|
|SubTask 2||Create ViewModels to handle the data|
|SubTask 3||Bind Data with UI|
|Week 3||June -21||June -27||Create an UI Layout to show All photo of file when click on file,Complete UI integration with data, load the data to the UI,Unit test|
|SubTask 1||Create an UI Layout to show All photo of file when click on file|
|SubTask 2||Complete UI integration with data, load the data to the UI|
|SubTask 3||Unit test|
|Week 4||June -28||July-4||Improve the UI,test the functionality ,Code refactoring,Fix Bugs|
|SubTask 1||UI improvement|
|SubTask 2||Code refactoring|
|SubTask 3||Test the functionality|
|SubTask 4||Fix Bugs|
|Week 5||July -5||July-11||Add Commons API to check the presence of a file|
|SubTask 1||Test the API call using PostMan|
|SubTask 2||Create class to handle Commons API to check the presence of a file|
|SubTask 3||Blog Post|
|Week 6||July -12||July -18||First Evaluation,Complete Unit test ,Bug fixes.|
|SubTask 1||First Evaluation|
|SubTask 2||fix Bug|
|SubTask 3||Complete Unit tests|
|Week 7||July -19||july -25||Load the API data to UI|
|SubTask 1||Make the required changes to the UI, models to integrate the API data with UI|
|SubTask 2||Load the API data to the UI and show the images to indicate uploaded to the commons|
|Week 8||July -26||August -1||Implement caching the api data with images.|
|SubTask 1||Create an viewModel which handle caching|
|SubTask 2||Use the Univerasal-image-Loader library for caching of image|
|Week 9||August -2||August -8||Improve the performance, complete test for API, caching.|
|SubTask 1||Improve the Performance|
|SubTask 2||Unit test|
|Week 10||August-9||August -15||Integrate the custom image selector activity with Commons app upload activity to process Uploading of images|
|SubTask 1||Integrate the Custom image selector activity with Commons app Upload activity|
|SubTask 2||Compleleted the project|
|SubTask 3||Test the app|
|Week 11||August-16||August -22||Final Submission|
|SubTask 1||Final Evalution|
|SubTask 2||Completed remaining Unit Test|
|SubTask 2||Major bugfixes, Ui improvement|
|SubTask 3||Overall Blog post|
Contributions to Wikimedia commons
PULL request create: 19
Meged Pull Reques :18
|PR Number||Title||Status||Issue Number|
|#4325||fix:Setting Language list is not an language list which is supported by Commons for caption and description||Merged||#4321|
|#4306||fix:App should respect device font-size||Merged||#4299|
|#4274||Explore Search: No title bar for item, non-existent menu for item, wrongly-worded menu for category||Merged||#4271|
|#4176||click on skip button in Peer Review after orientation change then app is crashed||Merged||#4143|
|#4233||app crash in CategoryDetailsActivity when click on any media (image or video)||Merged||#4196|
|#4267||when app theme is Dark then CategoryDetailsActivity ,SearchActivity ,WikidataItemDetalActivity, Profile Activity Toolbar color is not change to dark||Merged||#4196|
|#4188||fix-Incomplete Nearby List shown in Landscape mode||Merged||##4196|
|#4202||fixes-Failed to send thanks" notification, but thank actually sent successfully||Merged||#3559|
|#4204||Upload count does not get updated right away post successful upload||Merged||#3559|
|#4104||Repull request of fixes #4081 App is crash when Backbutton is pressed||Merged||#4081|
|#4139||Crash when tapping on the nearbyNotification in Contributions activity||Merged||#4086|
|#4102||fixes In nearby tab when back button is pressed nothing happen(#4096)||Merged||#4096|
|#4103||fix bug #4101 In MediaDetailfragment Editext Dailog is Blank in Dark mode||Merged||#4101|
|#4074||fixes After click on the image app is crashed (#4072)||Merged||#4042|
|#4028||fixes Progress Bar Visibility change with Orientation Change and login process terminated||Merged||#4086|
|#4041||fixes #4026 (words cut off )||Merged||#4026|
|#3982||Losing filled data when screen rotate (#3973)||Merged||#3973|
|#4100||fixes #2296 After canceling a sharing, application goes back to the search menu||Pending||#2296|
Create Issue :19
CLosed Issue :18
|#4307||Search widget to choose description language||open|
|#4278||Media details categories editor: Category not actually added||Open|
|#4321||Setting Language list is not an language list which is supported by Commons for caption and description||closed|
|#4452||when app theme is Dark then CategoryDetailsActivity ,SearchActivity ,WikidataItemDetalActivity, Profile Activity Toolbar color is not change to dark||close|
|#4253||App is Crash when click on Bookmark Bottom navigation bar icon or open Bookmark At Android API Level 25||close|
|#4196||App crash in CategoryDetailsActivity when click on any media||close|
|#4143||click on skip button in Peer Review after orientation change then app is crashed||close|
|#4140||Toolbar with share button is missing in Profile Activity||Open|
|#4101||In MediaDetailfragment Editext Dailog is Blank in Dark mode||close|
|#4096||In nearby tab when back button is pressed nothing happen||close|
|#4086||crashwhen tapping on the nearbyNotification in Contributions activity||close|
|#4081||App is crash when Backbutton is pressed||close|
|#4079||menu item are not visible||close|
|#4072||Crash after opening media from the explore search||close|
|#4063||After click on backButton, application goes back to the exploreActivity||close|
|#4031||Textview(No Copyright violation) not fit in Peer Review Activity||close|
|#4001||Progress Bar Visibility change with Orientation Change and login process terminated||close|
|#3973||Losing filled data when screen rotate||close|
Contribtution to Anki-Android