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

Commit fb156692 authored by Hugh Chen's avatar Hugh Chen Committed by Automerger Merge Worker
Browse files

Merge "Fix default usb settings will set wrong function when onPause()" into tm-dev am: abad3c4a

parents 60f4209a abad3c4a
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.hardware.usb.UsbManager;
import android.hardware.usb.UsbPortStatus;
import android.util.Log;

import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
@@ -31,6 +32,9 @@ import com.android.settingslib.core.lifecycle.events.OnResume;
 */
public class UsbConnectionBroadcastReceiver extends BroadcastReceiver implements LifecycleObserver,
        OnResume, OnPause {
    private static final String TAG = "UsbBroadcastReceiver";
    private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);

    private Context mContext;
    private UsbConnectionListener mUsbConnectionListener;
    private boolean mListeningToUsbEvents;
@@ -54,6 +58,9 @@ public class UsbConnectionBroadcastReceiver extends BroadcastReceiver implements

    @Override
    public void onReceive(Context context, Intent intent) {
        if (DEBUG) {
            Log.d(TAG, "onReceive() action : " + intent.getAction());
        }
        if (UsbManager.ACTION_USB_STATE.equals(intent.getAction())) {
            mConnected = intent.getExtras().getBoolean(UsbManager.USB_CONNECTED)
                    || intent.getExtras().getBoolean(UsbManager.USB_HOST_CONNECTED);
+2 −0
Original line number Diff line number Diff line
@@ -189,6 +189,8 @@ public class UsbDefaultFragment extends RadioButtonPickerFragment {
    @Override
    public void onPause() {
        super.onPause();
        mCurrentFunctions = mUsbBackend.getCurrentFunctions();
        Log.d(TAG, "onPause() : current functions : " + mCurrentFunctions);
        mUsbBackend.setDefaultUsbFunctions(mCurrentFunctions);
    }

+5 −0
Original line number Diff line number Diff line
@@ -205,6 +205,7 @@ public class UsbDefaultFragmentTest {
        mFragment.mIsStartTethering = true;
        mFragment.mUsbConnectionListener.onUsbConnectionChanged(true /* connected */,
                UsbManager.FUNCTION_RNDIS, POWER_ROLE_SINK, DATA_ROLE_DEVICE);
        when(mUsbBackend.getCurrentFunctions()).thenReturn(UsbManager.FUNCTION_RNDIS);

        mFragment.onPause();

@@ -229,6 +230,7 @@ public class UsbDefaultFragmentTest {
        mFragment.mIsStartTethering = true;
        mFragment.mUsbConnectionListener.onUsbConnectionChanged(true /* connected */,
                UsbManager.FUNCTION_MTP, POWER_ROLE_SINK, DATA_ROLE_DEVICE);
        when(mUsbBackend.getCurrentFunctions()).thenReturn(UsbManager.FUNCTION_MTP);

        mFragment.onPause();

@@ -241,6 +243,7 @@ public class UsbDefaultFragmentTest {
        mFragment.mIsStartTethering = true;
        mFragment.mUsbConnectionListener.onUsbConnectionChanged(true /* connected */,
                UsbManager.FUNCTION_PTP, POWER_ROLE_SINK, DATA_ROLE_DEVICE);
        when(mUsbBackend.getCurrentFunctions()).thenReturn(UsbManager.FUNCTION_PTP);

        mFragment.onPause();

@@ -253,6 +256,7 @@ public class UsbDefaultFragmentTest {
        mFragment.mIsStartTethering = true;
        mFragment.mUsbConnectionListener.onUsbConnectionChanged(true /* connected */,
                UsbManager.FUNCTION_MIDI, POWER_ROLE_SINK, DATA_ROLE_DEVICE);
        when(mUsbBackend.getCurrentFunctions()).thenReturn(UsbManager.FUNCTION_MIDI);

        mFragment.onPause();

@@ -265,6 +269,7 @@ public class UsbDefaultFragmentTest {
        mFragment.mIsStartTethering = true;
        mFragment.mUsbConnectionListener.onUsbConnectionChanged(/* connected */ true,
                UsbManager.FUNCTION_NCM, POWER_ROLE_SINK, DATA_ROLE_DEVICE);
        when(mUsbBackend.getCurrentFunctions()).thenReturn(UsbManager.FUNCTION_NCM);

        mFragment.onPause();