commit | 9f6d447a42280448e1667d124b46d426b5eca025 | [log] [tgz] |
---|---|---|
author | Chalard Jean <jchalard@google.com> | Thu Apr 08 17:37:36 2021 +0900 |
committer | Junyu Lai <junyulai@google.com> | Tue Jun 08 00:17:36 2021 +0000 |
tree | 9446a516f2d2357132ff291a730baacd1791f030 | |
parent | 29cb06a3e0ac0af782346958604237b21c3ee449 [diff] |
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 Merged-In: I3c2563d4ae4e3715d0c6270344ba8f7ef067872f Merged-In: I7b9e0df21a3cca59659867a75792289ddee2f1d7 Change-Id: I7b9e0df21a3cca59659867a75792289ddee2f1d7 (cherry-picked from ag/14125149)
diff --git a/service/src/com/android/server/ConnectivityService.java b/service/src/com/android/server/ConnectivityService.java index 798ba0d..667e658 100644 --- a/service/src/com/android/server/ConnectivityService.java +++ b/service/src/com/android/server/ConnectivityService.java
@@ -6698,7 +6698,7 @@ @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/service/src/com/android/server/connectivity/NetworkOffer.java b/service/src/com/android/server/connectivity/NetworkOffer.java index 2bad596..8285e7a 100644 --- a/service/src/com/android/server/connectivity/NetworkOffer.java +++ b/service/src/com/android/server/connectivity/NetworkOffer.java
@@ -133,7 +133,7 @@ * @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"); }