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