Add Settings UI for MTP transcoding over USB.

Enabling "Transcode exported media" means that the media transferred
from the device via MTP over USB would be transcoded, if necessary. This
switch also sets / unsets the sys.fuse.transcode_mtp system property.

"Transcode exported media" category would be accessible only when the
"File transfer / Audio Auto" or "PTP" radio button has been selected. We
are including PTP also since PTP supports transfer of videos.

Adding UsbDetailsTranscodeMtpController in a separate preference
category than "Charge connected device" primarily because they seemed to
be different in their own rights.

Here are a few screenshots:
https://screenshot.googleplex.com/8jeMstnSFsTtVCS.png
https://screenshot.googleplex.com/76hNz4iXp5dcX4M.png
https://screenshot.googleplex.com/AkTngE5hDDJCovv.png
https://screenshot.googleplex.com/4uQYGXuuSQLoz3w.png

BUG: 158466651
Test: manual testing.  Also added unit test.
Change-Id: I2603a9bffed3320c193cc08f867bd67d9848da18
This commit is contained in:
Manish Singh
2020-12-24 05:07:21 +00:00
parent aa8bf5993d
commit 974662936e
5 changed files with 285 additions and 1 deletions

View File

@@ -92,6 +92,7 @@ public class UsbDetailsFragment extends DashboardFragment {
ret.add(new UsbDetailsDataRoleController(context, fragment, usbBackend));
ret.add(new UsbDetailsFunctionsController(context, fragment, usbBackend));
ret.add(new UsbDetailsPowerRoleController(context, fragment, usbBackend));
ret.add(new UsbDetailsTranscodeMtpController(context, fragment, usbBackend));
return ret;
}