Avoid null app context in StaticApplicationContextServiceFetcher.

StaticApplicationContextServiceFetcher passes the application
context to the services it creates, but sometimes the application
context can be null. Cases we've seen so far are:

- Apps that (incorrectly) call getSystemService in
  attachBaseContext. In this case the passed-in context is what
  will become the application context soon afterwards.
- ActivityThread$ApplicationThread.setHttpProxy. In this case the
  passed-in context is the system context.

In both of these cases the passed-in context is never freed, so
passing it in to the service will not result in a leak.

Bug: 27532714
Bug: 27502146
Bug: 27337770
Change-Id: I5971c67b0e699d1a77850be8a338a448a96ec7d7
1 file changed