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

Commit 756ed729 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix can't select the [USB Tethering] item in [Developer Options]" into tm-dev

parents 3ba4d587 ec0c1717
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -55,7 +55,7 @@ public class ConnectedUsbDeviceUpdater {

    @VisibleForTesting
    UsbConnectionBroadcastReceiver.UsbConnectionListener mUsbConnectionListener =
            (connected, functions, powerRole, dataRole) -> {
            (connected, functions, powerRole, dataRole, isUsbConfigured) -> {
                if (connected) {
                    mUsbPreference.setSummary(getSummary(dataRole == DATA_ROLE_DEVICE
                                    ? functions : UsbManager.FUNCTION_NONE, powerRole));
+5 −2
Original line number Diff line number Diff line
@@ -61,6 +61,8 @@ public class UsbConnectionBroadcastReceiver extends BroadcastReceiver implements
        if (DEBUG) {
            Log.d(TAG, "onReceive() action : " + intent.getAction());
        }
        boolean isUsbConfigured = intent.getExtras() != null
                ? intent.getExtras().getBoolean(UsbManager.USB_CONFIGURED) : false;
        if (UsbManager.ACTION_USB_STATE.equals(intent.getAction())) {
            mConnected = intent.getExtras().getBoolean(UsbManager.USB_CONNECTED)
                    || intent.getExtras().getBoolean(UsbManager.USB_HOST_CONNECTED);
@@ -98,7 +100,7 @@ public class UsbConnectionBroadcastReceiver extends BroadcastReceiver implements
        }
        if (mUsbConnectionListener != null) {
            mUsbConnectionListener.onUsbConnectionChanged(mConnected, mFunctions, mPowerRole,
                    mDataRole);
                    mDataRole, isUsbConfigured);
        }
    }

@@ -142,6 +144,7 @@ public class UsbConnectionBroadcastReceiver extends BroadcastReceiver implements
     * Interface definition for a callback to be invoked when usb connection is changed.
     */
    interface UsbConnectionListener {
        void onUsbConnectionChanged(boolean connected, long functions, int powerRole, int dataRole);
        void onUsbConnectionChanged(boolean connected, long functions, int powerRole, int dataRole,
                boolean isUsbConfigured);
    }
}
+6 −5
Original line number Diff line number Diff line
@@ -69,22 +69,23 @@ public class UsbDefaultFragment extends RadioButtonPickerFragment {

    @VisibleForTesting
    UsbConnectionBroadcastReceiver.UsbConnectionListener mUsbConnectionListener =
            (connected, functions, powerRole, dataRole) -> {
            (connected, functions, powerRole, dataRole, isUsbConfigured) -> {
                final long defaultFunctions = mUsbBackend.getDefaultUsbFunctions();
                Log.d(TAG, "UsbConnectionListener() connected : " + connected + ", functions : "
                        + functions + ", defaultFunctions : " + defaultFunctions
                        + ", mIsStartTethering : " + mIsStartTethering);
                if (connected && !mIsConnected && (defaultFunctions == UsbManager.FUNCTION_RNDIS
                        + ", mIsStartTethering : " + mIsStartTethering
                        + ", isUsbConfigured : " + isUsbConfigured);
                if (connected && !mIsConnected && ((defaultFunctions == UsbManager.FUNCTION_RNDIS
                        || defaultFunctions == UsbManager.FUNCTION_NCM)
                        && defaultFunctions == functions)
                        && !mIsStartTethering) {
                    mCurrentFunctions = defaultFunctions;
                    startTethering();
                }

                if (mIsStartTethering && connected) {
                if ((mIsStartTethering || isUsbConfigured) && connected) {
                    mCurrentFunctions = functions;
                    refresh(functions);
                    mUsbBackend.setDefaultUsbFunctions(functions);
                    mIsStartTethering = false;
                }
                mIsConnected = connected;
+1 −1
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ public class UsbDetailsFragment extends DashboardFragment {
    UsbConnectionBroadcastReceiver mUsbReceiver;

    private UsbConnectionBroadcastReceiver.UsbConnectionListener mUsbConnectionListener =
            (connected, functions, powerRole, dataRole) -> {
            (connected, functions, powerRole, dataRole, isUsbFigured) -> {
                for (UsbDetailsController controller : mControllers) {
                    controller.refresh(connected, functions, powerRole, dataRole);
                }
+4 −2
Original line number Diff line number Diff line
@@ -97,7 +97,8 @@ public class ConnectedUsbDeviceUpdaterTest {
    public void initUsbPreference_usbConnected_preferenceAdded() {
        mDeviceUpdater.initUsbPreference(mContext);
        mDeviceUpdater.mUsbConnectionListener.onUsbConnectionChanged(true /* connected */,
                UsbManager.FUNCTION_NONE, POWER_ROLE_SINK, DATA_ROLE_DEVICE);
                UsbManager.FUNCTION_NONE, POWER_ROLE_SINK, DATA_ROLE_DEVICE,
                /* isUsbConfigured= */ true);

        verify(mDevicePreferenceCallback).onDeviceAdded(mDeviceUpdater.mUsbPreference);
    }
@@ -106,7 +107,8 @@ public class ConnectedUsbDeviceUpdaterTest {
    public void initUsbPreference_usbDisconnected_preferenceRemoved() {
        mDeviceUpdater.initUsbPreference(mContext);
        mDeviceUpdater.mUsbConnectionListener.onUsbConnectionChanged(false /* connected */,
                UsbManager.FUNCTION_NONE, POWER_ROLE_NONE, DATA_ROLE_NONE);
                UsbManager.FUNCTION_NONE, POWER_ROLE_NONE, DATA_ROLE_NONE,
                /* isUsbConfigured= */ true);

        verify(mDevicePreferenceCallback).onDeviceRemoved(mDeviceUpdater.mUsbPreference);
    }
Loading