@@ -245,17 +245,47 @@ private void startConnection(final Class listenerClass, final Object listenerPro
245245 * {@inheritDoc}
246246 */
247247 @ Override
248- public Object invoke (final Object proxy , final Method method , final Object [] args ) throws Throwable {
248+ public Object invoke (final Object proxy , final Method method , Object [] args )
249+ throws Throwable {
250+ if (method == null ) {
251+ logger .error ("InstallReferrer invoke method null" );
252+ return null ;
253+ }
249254 String methodName = method .getName ();
255+ if (methodName == null ) {
256+ logger .error ("InstallReferrer invoke method name null" );
257+ return null ;
258+ }
250259 // Prints the method being invoked
251260 logger .debug ("InstallReferrer invoke method name: %s" , methodName );
261+ if (args == null ) {
262+ logger .warn ("InstallReferrer invoke args null" );
263+ args = new Object [0 ];
264+ }
252265 for (Object arg : args ) {
253266 logger .debug ("InstallReferrer invoke arg: %s" , arg );
254267 }
255268
256269 // if the method name equals some method's name then call your method
257270 if (methodName .equals ("onInstallReferrerSetupFinished" )) {
258- onInstallReferrerSetupFinishedInt ((Integer ) args [0 ]);
271+ if (args .length != 1 ) {
272+ logger .error ("InstallReferrer invoke onInstallReferrerSetupFinished args lenght not 1: %d" , args .length );
273+ return null ;
274+ }
275+
276+ Object arg = args [0 ];
277+ if (!(arg instanceof Integer )) {
278+ logger .error ("InstallReferrer invoke onInstallReferrerSetupFinished arg not int" );
279+ return null ;
280+ }
281+
282+ Integer responseCode = (Integer ) arg ;
283+ if (responseCode == null ) {
284+ logger .error ("InstallReferrer invoke onInstallReferrerSetupFinished responseCode arg is null" );
285+ return null ;
286+ }
287+
288+ onInstallReferrerSetupFinishedInt (responseCode );
259289 } else if (methodName .equals ("onInstallReferrerServiceDisconnected" )) {
260290 logger .debug ("InstallReferrer onInstallReferrerServiceDisconnected" );
261291 }
0 commit comments