Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ca1663a0 authored by Jerry Zhang's avatar Jerry Zhang
Browse files

Add data unlock argument to set function command.

This allows automated switches into file transfer mode,
which makes automated Mtp testing possible.

Test: adb shell svc setFunction mtp true
Bug: 25596495
Change-Id: I67be58853b002789dc22b75d82af9eb6cfb7a361
parent 30a2d638
Loading
Loading
Loading
Loading
+7 −3
Original line number Original line Diff line number Diff line
@@ -36,8 +36,8 @@ public class UsbCommand extends Svc.Command {
    public String longHelp() {
    public String longHelp() {
        return shortHelp() + "\n"
        return shortHelp() + "\n"
                + "\n"
                + "\n"
                + "usage: svc usb setFunction [function]\n"
                + "usage: svc usb setFunction [function] [usbDataUnlocked=false]\n"
                + "         Set the current usb function.\n\n"
                + "         Set the current usb function and optionally the data lock state.\n\n"
                + "       svc usb getFunction\n"
                + "       svc usb getFunction\n"
                + "          Gets the list of currently enabled functions\n";
                + "          Gets the list of currently enabled functions\n";
    }
    }
@@ -49,8 +49,12 @@ public class UsbCommand extends Svc.Command {
            if ("setFunction".equals(args[1])) {
            if ("setFunction".equals(args[1])) {
                IUsbManager usbMgr = IUsbManager.Stub.asInterface(ServiceManager.getService(
                IUsbManager usbMgr = IUsbManager.Stub.asInterface(ServiceManager.getService(
                        Context.USB_SERVICE));
                        Context.USB_SERVICE));
                boolean unlockData = false;
                if (args.length >= 4) {
                    unlockData = Boolean.valueOf(args[3]);
                }
                try {
                try {
                    usbMgr.setCurrentFunction((args.length >=3 ? args[2] : null), false);
                    usbMgr.setCurrentFunction((args.length >=3 ? args[2] : null), unlockData);
                } catch (RemoteException e) {
                } catch (RemoteException e) {
                    System.err.println("Error communicating with UsbManager: " + e);
                    System.err.println("Error communicating with UsbManager: " + e);
                }
                }