From 8220759546cb8a5108b89e0da9933791ff96aeb1 Mon Sep 17 00:00:00 2001 From: Chalard Jean Date: Thu, 8 Apr 2021 17:37:36 +0900 Subject: Fix a bug where updates of offers won't find existing offers .equals() only work on cross-process Binder instances if casted to a Binder instance first. Bug: 184281544 Test: ConnectivityServiceTest. CTS test for this specific issue to come Change-Id: I7b9e0df21a3cca59659867a75792289ddee2f1d7 --- services/core/java/com/android/server/ConnectivityService.java | 2 +- services/core/java/com/android/server/connectivity/NetworkOffer.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 922b21a49795..b4e0d4942da4 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -6601,7 +6601,7 @@ public class ConnectivityService extends IConnectivityManager.Stub @NonNull final INetworkOfferCallback callback) { ensureRunningOnConnectivityServiceThread(); for (final NetworkOfferInfo noi : mNetworkOffers) { - if (noi.offer.callback.equals(callback)) return noi; + if (noi.offer.callback.asBinder().equals(callback.asBinder())) return noi; } return null; } diff --git a/services/core/java/com/android/server/connectivity/NetworkOffer.java b/services/core/java/com/android/server/connectivity/NetworkOffer.java index 5336593b4065..92bb33186b82 100644 --- a/services/core/java/com/android/server/connectivity/NetworkOffer.java +++ b/services/core/java/com/android/server/connectivity/NetworkOffer.java @@ -133,7 +133,7 @@ public class NetworkOffer implements NetworkRanker.Scoreable { * @param previousOffer the previous offer */ public void migrateFrom(@NonNull final NetworkOffer previousOffer) { - if (!callback.equals(previousOffer.callback)) { + if (!callback.asBinder().equals(previousOffer.callback.asBinder())) { throw new IllegalArgumentException("Can only migrate from a previous version of" + " the same offer"); } -- cgit v1.2.3-59-g8ed1b