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

Commit b5b8fd6f authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

Merge "Allow UsbDeviceManager to start adbd again." into rvc-dev am: e3fce1c7

Change-Id: Iab67cead8f7162a73a60e7d8c320820cf3813226
parents b86e2604 e3fce1c7
Loading
Loading
Loading
Loading
+10 −0
Original line number Original line Diff line number Diff line
@@ -53,4 +53,14 @@ public abstract class AdbManagerInternal {
     * Returns the file that contains all of the ADB keys and their last used time.
     * Returns the file that contains all of the ADB keys and their last used time.
     */
     */
    public abstract File getAdbTempKeysFile();
    public abstract File getAdbTempKeysFile();

    /**
     * Starts adbd for a transport.
     */
    public abstract void startAdbdForTransport(byte transportType);

    /**
     * Stops adbd for a transport.
     */
    public abstract void stopAdbdForTransport(byte transportType);
}
}
+25 −0
Original line number Original line Diff line number Diff line
@@ -144,6 +144,18 @@ public class AdbService extends IAdbManager.Stub {
        public File getAdbTempKeysFile() {
        public File getAdbTempKeysFile() {
            return mDebuggingManager.getAdbTempKeysFile();
            return mDebuggingManager.getAdbTempKeysFile();
        }
        }

        @Override
        public void startAdbdForTransport(byte transportType) {
            FgThread.getHandler().sendMessage(obtainMessage(
                    AdbService::setAdbdEnabledForTransport, AdbService.this, true, transportType));
        }

        @Override
        public void stopAdbdForTransport(byte transportType) {
            FgThread.getHandler().sendMessage(obtainMessage(
                    AdbService::setAdbdEnabledForTransport, AdbService.this, false, transportType));
        }
    }
    }


    private void initAdbState() {
    private void initAdbState() {
@@ -437,6 +449,19 @@ public class AdbService extends IAdbManager.Stub {
        }
        }
    }
    }


    private void setAdbdEnabledForTransport(boolean enable, byte transportType) {
        if (transportType == AdbTransportType.USB) {
            mIsAdbUsbEnabled = enable;
        } else if (transportType == AdbTransportType.WIFI) {
            mIsAdbWifiEnabled = enable;
        }
        if (enable) {
            startAdbd();
        } else {
            stopAdbd();
        }
    }

    private void setAdbEnabled(boolean enable, byte transportType) {
    private void setAdbEnabled(boolean enable, byte transportType) {
        if (DEBUG) {
        if (DEBUG) {
            Slog.d(TAG, "setAdbEnabled(" + enable + "), mIsAdbUsbEnabled=" + mIsAdbUsbEnabled
            Slog.d(TAG, "setAdbEnabled(" + enable + "), mIsAdbUsbEnabled=" + mIsAdbUsbEnabled
+13 −1
Original line number Original line Diff line number Diff line
@@ -1917,7 +1917,19 @@ public class UsbDeviceManager implements ActivityTaskManagerInternal.ScreenObser
                    return;
                    return;
                }
                }
                try {
                try {
                    // Adbd will be started by AdbService once Global.ADB_ENABLED is set.
                    if ((config & UsbManager.FUNCTION_ADB) != 0) {
                        /**
                         * Start adbd if ADB function is included in the configuration.
                         */
                        LocalServices.getService(AdbManagerInternal.class)
                                .startAdbdForTransport(AdbTransportType.USB);
                    } else {
                        /**
                         * Stop adbd otherwise
                         */
                        LocalServices.getService(AdbManagerInternal.class)
                                .stopAdbdForTransport(AdbTransportType.USB);
                    }
                    UsbGadgetCallback usbGadgetCallback = new UsbGadgetCallback(mCurrentRequest,
                    UsbGadgetCallback usbGadgetCallback = new UsbGadgetCallback(mCurrentRequest,
                            config, chargingFunctions);
                            config, chargingFunctions);
                    mGadgetProxy.setCurrentUsbFunctions(config, usbGadgetCallback,
                    mGadgetProxy.setCurrentUsbFunctions(config, usbGadgetCallback,