GSoC'20 Phase 1 Report and Release of Android Authenticator V1.1

Hello everyone! My name is Somenath Sarkar. Being selected as a student developer for GSoC’20 , I hereby present you, the work report for Phase 1 of GSoC and talk about the release of Android Authenticator Version 1.1.

You can get it on the Google Play Store.

Here are the things what I’ve worked on during this period(Part of V1.1):

Continuous Integration(CI) Using Github Actions(Jira Ticket):

This is the most crucial part for this phase. Adding Github Actions as CI helped a lot. The following workflow is defined right now:

Build-Test Workflow:
It takes care of the android build process and running the unit tests. Gradle caching is also implemented.
See the workflow file here.

Instrumentation Test Workflow:
It takes care of UI android tests. Gradle Caching is also implemented.
See the workflow file here.

Labeler Workflow:
It automates the labelling of Pull Requests.
See the workflow file here.

Pull Request Links: Link1 Link2

Improve Encapsulation in RecyclerView Adapters(Jira):

In every RecyclerView Adapters, we can improve Encapsulation by creating method inside Viewholders and provide items to this method instead of doing everything in onBindViewHolder(). This will also make sure that click listener is set up once for whole holder.

Pull Request Link

Added Landscape Mode for Edit Contact Activity(Jira):

The UI for Landscape mode is improved.

Before:
Screenshot_20200615-195208

After:
Screenshot_20200622-115045

Fix Failed Test in AuthenticatorActivityTest(Jira):

One UI test was failing in local system. It has been fixed successfully.

Pull Request Link

Replace ListView with RecyclerView in SelectAccountActivity(Jira):

RecyclerView is much more efficient that ListView. This improvement improves the performance significantly.

Pull Request Link

Fixed UI issue in Signin Viewflipper(Jira):

The Login button was not completely visible. It is fixed.

Pull Request Link

Other Features/Bug Fixes in Version 1.1:

These were added during Pre-GSoC era.
Some of my Contributions:

Created Layout for Landscape mode for Signin Viewflipper(Jira):

UI improved in SignIn page.

Before:
b1

After:
b2

Check Internet connection before sending HTTP Request(Jira):

Pull Request Link

Added Landscape mode for SyncSettingsActivity(Jira):

UI improvements in Landscape mode.

Before:
a1

After:
a2

Hide Soft Input(Keyboard) after clicking on Login button(Jira):

Pull Request Link

Added Password Toggle button(Jira):

Pull Request Link

Other Changes(Part of V1.1):

These were added by other developers. The contribution of Shridhar Goel is appreciated.

Use WebView for opening registration link(Jira):

Pull Request Link

Show Error when empty or wrong URL is submitted in server address(Jira):

Pull Request Link

Display proper message on going back from OIDCActivity(Jira):

Pull Request Link

MultiLingual Support:

The following Languages are added: Korean and Polish

Expected Features in V1.2:

Add Shimmer Effect in RecyclerViews

Add Landscape Mode for Select Account Page

Improve performance of RecyclerViews using DiffUtil Callback

Deployment using Github Actions

Refactoring the Codebase

Other Bug fixes

I would like to thank my mentors Thomas Mortagne and Aleksei Ovsiannikov for their enormous support. I would like to work with same passion in the upcoming months too.

Some Useful Links:

Jira Issue Tracker
Github Repository link
Original Design link
Xwiki GSoC page link

1 Like