Android/MTP Device Support

Summary

Mentor(s): Prof. Bill Griffin-Dubson
Dr. Mike Murphy
Project Type: Software development
Technologies: Python, Qt (PySide6), Git
Undergraduate Credit: CSCI 399, CSCI 490
Graduate Credit: IST 659
Locality: Main campus and/or remote

Purpose

Transferring files to and from Android devices requires use of the Media Transfer Protocol. There are several MTP implementations that are available on Linux, although the cleanest solution on Alpine Linux at the moment may be the command-line version of Android File Transfer for Linux. Using this application from within TealFiler would require Python's built-in subprocess module.

Scope of Work

Add Android/MTP support to TealFiler, using one of the available standalone MTP applications. Do not add a dependency on GVFS or KIO, since those libraries bring in too many extra dependencies of their own. Test that the user can attach an Android phone via USB, enable file transfer on the phone, access the MTP share from TealFiler, perform file operations, and "eject" the phone when finished. (Note that you will need an Android phone for testing.)