Google Summer of Code with Amahi
Final Report, Chirag Jain
Project: Amahi Android App Improvements
✔563 Add Non-Admin User Support ✔630 Improvements to Background Service ✔626 Fix TV mode support crash ✔576 Add Repeat and Shuffle Feature to Music Player
✔648 Update Icon Files ✔632 Change recyclerview reference ✔629 Add Server Switch loading ✔622 Fast Scroller ✔610 Add onClick in Recent Files ❌606 (Review) Added Skeleton Loading to Replace Traditional Progress Bar ✔601 File Options in Offline Files ✔587 (Review) Added Scrollbar Feature ✔585 (Review) Add Icons to Settings Activity ✔573 Add Custom Tabs to WebView ❌570 (Review) Added Material Icons for Settings Activity ✔555 App Introduction Improvements ✔541 SearchView Layout Improvements ✔539 Animation in RecyclerView ✔535 Change Swipe Refresh in Navigation Fragment ✔534 Change Notification Icons for Media Playe ❌515 (Review) Navigation Drawer Fixed ✔504 (Review) FEAT: Music Player UI Enhanced ✔419 Dialog box for deletion confirmation
🔓612 (Review) Previewing while scrobbling video 🔒524 (Review) Should be Using Handler for the .... 🔒520 (Review) UI no Changes for selecting menu item 🔒509 (Review) Create responsive landscape activity for intro 🔒461 Incorrect placement of icon 🔒376 (Review) Material Design Implementations 🔒300 (Review) Replacing the spinner in the navigation bar with a better....
✔650 Update Translations ❌618 (Review) Added increase of Titles in Settings Screen for other languages ✔615 Update Strings in Preference Screen ✔594 Update Connection Error Conditions and User Experience in Apps ✔592 (Review) Avoiding white-spaces in username ✔590 (Review) Added Google Playstore Rate This App Dialog Prompt ✔553 Fix: Inform user if there's no internet connection while trying to access media files ❌550 (Review) FEAT: UI/UX Improvements ✔545 Add Localization Support ✔533 Fix Translations in strings and keys ✔531 (Review) FIX : ERROR DUE TO FONT FIXED ✔527 Change ExpandedControlsActivity Orientation ❌526 (Review) should be using handler in splash screen ❌503 (Review) Fixed : connection error And Added Refresh Layout ❌448 (Review) Fix: Inform user if there's no internet connection while trying to ac…
🔒616 (Review) Increase font size of titles on Settings Screen/Activity 🔒599 File Options Not Opening in Offline Files 🔓554 Spanish Translations Required 🔓548 Localization Support 🔓530 Navigation Drawer Not Available inside Folders 🔒525 User behavior issue with spaces in Login 🔒519 (Review) No checks whether the device is connected to internet or not on Login screen 🔒511 (Review) No checks on username TextField if it contains spaces. 🔓464 (Review) After selecting the server from the drawer 🔒422 Stuck on Intro activity in Android TV 🔒411 (Review) It should Show an empty view when there's nothing to show on the Home Page 🔒377 (Review) Offline folder is not accessible in offline mode 🔓352 (Review) Add option for directly viewing pdf files
✔651 Remove Extra Drawables ✔649 Linting ✔643 (Review) Added Update for Exoplayer ✔635 Update Version ✔609 Improvements to Background Services ✔602 Update SDK Version ✔583 Update minSDK version ✔580 (Review) Added Updates to libraries ❌575 Update libvlc version ✔561 [Fix] App Not Loading ❌560 (Review) fix change between light and dark them settings app crash ❌544 (Review) Added support for VPN Proxy ✔508 (Review) Some minor changes that could be worked for more efficiency of program. ✔501 (Review) Crash Solved Due to Storage and camera Permissions and Added Dialogue box ❌460 (Review) Add Fingerprint lock feature ✔446 (Review) Fix Android TV app stuck after Intro ✔440 (Review) fix: App crash after Sign out and Sign in again
🔓614 (Review) Unable to create a folder inside a share 🔓597 (Review) Moving from dagger-1 to dagger-2 🔒600 Offline Files and Recent Files not Syncing with Server 🔓596 (Review) VPN Issue with the app 🔓584 (Review) Backup photo to the server from the phone 🔒582 [BUG] App not connecting on Android 4.x devices 🔒579 (Review) Outdated Libraries 🔓559 (Review) Unable to connect to Amahi home server when not on my home network 🔒558 (Review) Android app force close 🔒557 (Review) 'Amahi Anywhere' not reachable error. 🔓540 Firebase Analytics and Crashlytics 🔒529 (Review) App Crash in settings 🔒507 (Review) App crashed with landscape as well as Query issue(Myntra) 🔓483 (Review) Friending feature 🔒453 (Review) Add an option to ask for password or pattern everytime application start 🔒402 (Review) Update the compile and target SDK versions 🔓324 (Review) Liking music files 🔒625 Android TV Not Opening
WorkFlow Improvements & Minor Fixes
✔636 Remove ACRA ✔634 Add Activity Callbacks ✔633 Dismiss Dialogs Before Running AuthActivity Test ✔603 Remove Timber Dependency ✔598 Remove Fabric ✔593 Disable ACRA During CI Testing ✔581 Update gitignore to include jks and keystore ✔578 Update Travis Configuration ✔572 Updates to Espresso Testing ✔568 Update README with better badges ✔565 Application Crash Reports ✔562 Add release to gitignore ❌542 Add Firebase Crashlytics ✔420 Removed extra string resource from values-fr/strings.xml ✔417 Update README.md ✔410 Completed TODO in strings.xml
🔒577 Travis takes a lot of time 🔒505 (Review) How to install this application and make it work in Android Device 🔒485 (Review) move chromecast app id to secrets file 🔒408 (Review) 'android.enableAapt2' is deprecated and should not be used anymore.
Irrespective of the amount of work done during GSoC 2020, still there are many ways in which Amahi's android app can be improved. Few taks which can be implemented in the future are:
- Friending Feature
- Picture in picture mode
- Testing and Improving the UI
- Add Support for VPN proxy
- Add Support for Firebase crashlytics
Over the past few months, working with Amahi was a great learning experience for me. I got to meet some amazing people who are trying to improve Amahi and make it better every day. I would like to thank the lead, Carlos Puchol (@cpg), for providing me with a chance to showcase my skills as well as learn from other people at the same time. The unparalleled support provided by my mentors Sanjit (@sanjitchak) and Richard Glass (@richard-h-glass) helped me a lot to complete the tasks and show great results.