From ffeab27dbd1b095e257f54da6987d091d45e38b8 Mon Sep 17 00:00:00 2001 From: Chalard Jean Date: Tue, 26 Oct 2021 16:00:52 +0900 Subject: [PATCH] Remove the static application context fetcher On the plus side, this is no longer used and can be removed. On the minus side, the bug it used to solve is back : b/202978965 Still this should be removed. Test: build Change-Id: I32f5b38539864ce2846793863cc20e245823e3c7 --- .../android/app/SystemServiceRegistry.java | 33 ------------------- 1 file changed, 33 deletions(-) diff --git a/core/java/android/app/SystemServiceRegistry.java b/core/java/android/app/SystemServiceRegistry.java index 32ea41b2c75f5..e2fd35940b522 100644 --- a/core/java/android/app/SystemServiceRegistry.java +++ b/core/java/android/app/SystemServiceRegistry.java @@ -1914,39 +1914,6 @@ public final class SystemServiceRegistry { public abstract T createService() throws ServiceNotFoundException; } - /** - * Like StaticServiceFetcher, creates only one instance of the service per application, but when - * creating the service for the first time, passes it the application context of the creating - * application. - * - * TODO: Delete this once its only user (ConnectivityManager) is known to work well in the - * case where multiple application components each have their own ConnectivityManager object. - */ - static abstract class StaticApplicationContextServiceFetcher implements ServiceFetcher { - private T mCachedInstance; - - @Override - public final T getService(ContextImpl ctx) { - synchronized (StaticApplicationContextServiceFetcher.this) { - if (mCachedInstance == null) { - Context appContext = ctx.getApplicationContext(); - // If the application context is null, we're either in the system process or - // it's the application context very early in app initialization. In both these - // cases, the passed-in ContextImpl will not be freed, so it's safe to pass it - // to the service. http://b/27532714 . - try { - mCachedInstance = createService(appContext != null ? appContext : ctx); - } catch (ServiceNotFoundException e) { - onServiceNotFound(e); - } - } - return mCachedInstance; - } - } - - public abstract T createService(Context applicationContext) throws ServiceNotFoundException; - } - /** @hide */ public static void onServiceNotFound(ServiceNotFoundException e) { // We're mostly interested in tracking down long-lived core system