From e87bf543fb17c786a0191bbc7cc67457e2ad94b8 Mon Sep 17 00:00:00 2001 From: Lorenzo Colitti Date: Tue, 21 Apr 2020 22:22:54 +0900 Subject: [PATCH] Retry the call that fetches the tethering offload HAL. The CL that moved the initialization of the tethering offload config HAL from C++ to Java caused the code not to retry fetching the service if it is not ready when tethering is started. This is because the C++ version of getService() retries, but the Java version only retries if getService(true) is called. Make the new code retry as well. b/152430668#comment4 asserts that the fetch will be retried only if the service is installed on the device, so the retries should be attempted (and thus should not have any startup time impact) on devices that do not support tethering offload. Bug: 152430668 Test: builds, boots, tethering offload works Change-Id: I093f127d90b2aa1b13eb0748378a24726d419472 --- .../networkstack/tethering/OffloadHardwareInterface.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/Tethering/src/com/android/networkstack/tethering/OffloadHardwareInterface.java b/packages/Tethering/src/com/android/networkstack/tethering/OffloadHardwareInterface.java index 85a23fb83fb2b..55344fc75d65e 100644 --- a/packages/Tethering/src/com/android/networkstack/tethering/OffloadHardwareInterface.java +++ b/packages/Tethering/src/com/android/networkstack/tethering/OffloadHardwareInterface.java @@ -142,7 +142,7 @@ public class OffloadHardwareInterface { public boolean initOffloadConfig() { IOffloadConfig offloadConfig; try { - offloadConfig = IOffloadConfig.getService(); + offloadConfig = IOffloadConfig.getService(true /*retry*/); } catch (RemoteException e) { mLog.e("getIOffloadConfig error " + e); return false;