@@ -178,27 +178,34 @@ public void requestRealisticBindServiceBehavior() {
178178 shadowOf (application ).setUnbindServiceCallsOnServiceDisconnected (false );
179179 }
180180
181- @ Override
182- protected InternalServer newServer (List <ServerStreamTracer .Factory > streamTracerFactories ) {
181+ BinderServer .Builder newServerBuilder () {
183182 AndroidComponentAddress listenAddr =
184183 AndroidComponentAddress .forBindIntent (
185184 new Intent ()
186185 .setClassName (serviceInfo .packageName , serviceInfo .name )
187186 .setAction ("io.grpc.action.BIND." + nextServerAddress ++));
188187
189- BinderServer binderServer =
190- new BinderServer .Builder ()
191- .setListenAddress (listenAddr )
192- .setExecutorPool (serverExecutorPool )
193- .setExecutorServicePool (executorServicePool )
194- .setStreamTracerFactories (streamTracerFactories )
195- .build ();
188+ return new BinderServer .Builder ()
189+ .setListenAddress (listenAddr )
190+ .setExecutorPool (serverExecutorPool )
191+ .setExecutorServicePool (executorServicePool )
192+ .setStreamTracerFactories (List .of ());
193+ }
196194
195+ void registerServerWithRobolectric (BinderServer server ) {
196+ AndroidComponentAddress listenAddr = (AndroidComponentAddress ) server .getListenSocketAddress ();
197197 shadowOf (application .getPackageManager ()).addServiceIfNotPresent (listenAddr .getComponent ());
198198 shadowOf (application )
199199 .setComponentNameAndServiceForBindServiceForIntent (
200- listenAddr .asBindIntent (), listenAddr .getComponent (), binderServer .getHostBinder ());
201- return binderServer ;
200+ listenAddr .asBindIntent (), listenAddr .getComponent (), server .getHostBinder ());
201+ }
202+
203+ @ Override
204+ protected InternalServer newServer (List <ServerStreamTracer .Factory > streamTracerFactories ) {
205+ BinderServer server =
206+ newServerBuilder ().setStreamTracerFactories (streamTracerFactories ).build ();
207+ registerServerWithRobolectric (server );
208+ return server ;
202209 }
203210
204211 @ Override
0 commit comments