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

Commit 9f7a0b2b authored by Wink Saville's avatar Wink Saville
Browse files

Comment out the isAvailable optimization.

As the comment says this causes problems if the connection
is handling errors. This removes the optimization for now.

Bug: 3386481
Change-Id: I6cb00abe8b1949e9b79b4906a6bdab5872b5054d
parent 373d357a
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -1152,7 +1152,17 @@ public class ConnectivityService extends IConnectivityManager.Stub {
                if (checkType == prevNetType) continue;
                if (mNetAttributes[checkType] == null) continue;
                if (!mNetAttributes[checkType].isDefault()) continue;
                if (!mNetTrackers[checkType].isAvailable()) continue;

// Enabling the isAvailable() optimization caused mobile to not get
// selected if it was in the middle of error handling. Specifically
// a moble connection that took 30 seconds to complete the DEACTIVATE_DATA_CALL
// would not be available and we wouldn't get connected to anything.
// So removing the isAvailable() optimization below for now. TODO: This
// optimization should work and we need to investigate why it doesn't work.
// This could be related to how DEACTIVATE_DATA_CALL is reporting its
// complete before it is really complete.
//                if (!mNetTrackers[checkType].isAvailable()) continue;

//                if (currentPriority >= mNetAttributes[checkType].mPriority) continue;

                NetworkStateTracker checkTracker = mNetTrackers[checkType];