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
This commit is contained in:
@@ -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<T> implements ServiceFetcher<T> {
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user