Merge "Fix default usb settings will set wrong function when onPause()" into tm-dev am: abad3c4a88
am: f3cdbb79eb
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17799707 Change-Id: Id2da67f15bf9de911cb0cb30af410f931bf280ff Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -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);
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
|
@@ -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();
|
||||
|
||||
|
Reference in New Issue
Block a user