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

Commit 1de18733 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: f3cdbb79

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



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