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

Commit 5dcf2d77 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...

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

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17799707



Change-Id: I7dec1d842c22757250943fb9490cccbb06a0b16e
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 0ab01772 fb156692
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();