Fix usb tethering switch back to none after off/on the screen am: ddafb202bd

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

Change-Id: I08dedbbf5a26cdb69b926350c11e4b3469140d59
This commit is contained in:
Hugh Chen
2021-04-28 09:29:57 +00:00
committed by Automerger Merge Worker
3 changed files with 31 additions and 10 deletions

View File

@@ -63,7 +63,7 @@ public class UsbDefaultFragment extends RadioButtonPickerFragment {
boolean mIsStartTethering = false;
private UsbConnectionBroadcastReceiver mUsbReceiver;
private Handler mHandler = new Handler();
private Handler mHandler;
private boolean mIsConnected = false;
@VisibleForTesting
@@ -71,14 +71,17 @@ public class UsbDefaultFragment extends RadioButtonPickerFragment {
(connected, functions, powerRole, dataRole) -> {
final long defaultFunctions = mUsbBackend.getDefaultUsbFunctions();
Log.d(TAG, "UsbConnectionListener() connected : " + connected + ", functions : "
+ functions + ", defaultFunctions : " + defaultFunctions);
if (connected && !mIsConnected && defaultFunctions == UsbManager.FUNCTION_RNDIS) {
+ functions + ", defaultFunctions : " + defaultFunctions
+ ", mIsStartTethering : " + mIsStartTethering);
if (connected && !mIsConnected && defaultFunctions == UsbManager.FUNCTION_RNDIS
&& !mIsStartTethering) {
startTethering();
}
if (mIsStartTethering) {
if (mIsStartTethering && connected) {
mCurrentFunctions = functions;
refresh(functions);
mUsbBackend.setDefaultUsbFunctions(functions);
mIsStartTethering = false;
}
mIsConnected = connected;
@@ -91,6 +94,7 @@ public class UsbDefaultFragment extends RadioButtonPickerFragment {
mTetheringManager = context.getSystemService(TetheringManager.class);
mUsbReceiver = new UsbConnectionBroadcastReceiver(context, mUsbConnectionListener,
mUsbBackend);
mHandler = new Handler(context.getMainLooper());
getSettingsLifecycle().addObserver(mUsbReceiver);
mCurrentFunctions = mUsbBackend.getDefaultUsbFunctions();
}

View File

@@ -57,7 +57,7 @@ public class UsbDetailsFunctionsController extends UsbDetailsController
private PreferenceCategory mProfilesContainer;
private TetheringManager mTetheringManager;
private Handler mHandler = new Handler();
private Handler mHandler;
@VisibleForTesting
OnStartTetheringCallback mOnStartTetheringCallback;
@VisibleForTesting
@@ -69,6 +69,7 @@ public class UsbDetailsFunctionsController extends UsbDetailsController
mTetheringManager = context.getSystemService(TetheringManager.class);
mOnStartTetheringCallback = new OnStartTetheringCallback();
mPreviousFunction = mUsbBackend.getCurrentFunctions();
mHandler = new Handler(context.getMainLooper());
}
@Override