@@ -174,27 +174,34 @@ public void requestRealisticBindServiceBehavior() {
174174 shadowOf (application ).setUnbindServiceCallsOnServiceDisconnected (false );
175175 }
176176
177- @ Override
178- protected InternalServer newServer (List <ServerStreamTracer .Factory > streamTracerFactories ) {
177+ BinderServer .Builder newServerBuilder () {
179178 AndroidComponentAddress listenAddr =
180179 AndroidComponentAddress .forBindIntent (
181180 new Intent ()
182181 .setClassName (serviceInfo .packageName , serviceInfo .name )
183182 .setAction ("io.grpc.action.BIND." + nextServerAddress ++));
184183
185- BinderServer binderServer =
186- new BinderServer .Builder ()
187- .setListenAddress (listenAddr )
188- .setExecutorPool (serverExecutorPool )
189- .setExecutorServicePool (executorServicePool )
190- .setStreamTracerFactories (streamTracerFactories )
191- .build ();
184+ return new BinderServer .Builder ()
185+ .setListenAddress (listenAddr )
186+ .setExecutorPool (serverExecutorPool )
187+ .setExecutorServicePool (executorServicePool )
188+ .setStreamTracerFactories (List .of ());
189+ }
192190
191+ void registerServerWithRobolectric (BinderServer server ) {
192+ AndroidComponentAddress listenAddr = (AndroidComponentAddress ) server .getListenSocketAddress ();
193193 shadowOf (application .getPackageManager ()).addServiceIfNotPresent (listenAddr .getComponent ());
194194 shadowOf (application )
195195 .setComponentNameAndServiceForBindServiceForIntent (
196- listenAddr .asBindIntent (), listenAddr .getComponent (), binderServer .getHostBinder ());
197- return binderServer ;
196+ listenAddr .asBindIntent (), listenAddr .getComponent (), server .getHostBinder ());
197+ }
198+
199+ @ Override
200+ protected InternalServer newServer (List <ServerStreamTracer .Factory > streamTracerFactories ) {
201+ BinderServer server =
202+ newServerBuilder ().setStreamTracerFactories (streamTracerFactories ).build ();
203+ registerServerWithRobolectric (server );
204+ return server ;
198205 }
199206
200207 @ Override
0 commit comments