@@ -257,32 +257,31 @@ public void trackAction(String accountName, String accountNumber, ReadableMap pa
257257 }
258258 }
259259 if (payload .hasKey ("offers" ) && payload .getType ("offers" ) == ReadableType .Array ) {
260-
261- // TODO null check values
262-
263- if ( payload .getArray ("offers" ).size () == 1 ) {
264- // TODO null check strings
265- MUtil . MapDef offer1 = new MUtil . MapDef ( );
266- offer1 . put ( "offerId" , payload . getArray ( "offers" ). getMap ( 0 ). getString ( "offerId" ));
267- offer1 . put ( "offerName" , payload .getArray ("offers" ).getMap ( 0 ). getString ( "offerName" ));
268- mActionEvent . addOffer ( offer1 );
269-
270- } else if ( payload .getArray ("offers" ).size () > 1 ) {
271- List < MUtil . MapDef > list = new ArrayList <>();
272-
273- for ( int i = 0 ; i < payload .getArray ("offers" ).size (); i ++) {
274- MUtil . MapDef offer = new MUtil . MapDef ( );
275- offer . put ( "offerId" , payload . getArray ( "offers" ). getMap ( i ). getString ( "offerId" ) );
276- offer . put ( "offerName" , payload . getArray ( "offers" ). getMap ( i ). getString ( "offerName" ));
277- list . add ( offer );
278- }
279- mActionEvent .offers (list );
280-
281- } else {
282- System .out .println ("No data" );
283- }
260+ if ( payload . getArray ( "offers" ). size () == 1 ) {
261+ if ( payload . getArray ( "offers" ). getMap ( 0 ). getString ( "offerId" ) != null && payload . getArray ( "offers" ). getMap ( 0 ). getString ( "offerName" ) != null ) {
262+ MUtil . MapDef offer1 = new MUtil . MapDef ();
263+ offer1 . put ( "offerId" , payload .getArray ("offers" ).getMap ( 0 ). getString ( "offerId" ));
264+ offer1 . put ( "offerName" , payload . getArray ( "offers" ). getMap ( 0 ). getString ( "offerName" ));
265+ mActionEvent . addOffer ( offer1 );
266+ }
267+ } else if ( payload .getArray ("offers" ).size () > 1 ) {
268+ List < MUtil . MapDef > list = new ArrayList <>( );
269+
270+ for ( int i = 0 ; i < payload .getArray ("offers" ).size (); i ++ ) {
271+ if ( payload . getArray ( "offers" ). getMap ( i ). getString ( "offerId" ) != null && payload . getArray ( "offers" ). getMap ( i ). getString ( "offerName" ) != null ) {
272+ MUtil . MapDef offer = new MUtil . MapDef ();
273+ offer . put ( "offerId" , payload .getArray ("offers" ).getMap ( i ). getString ( "offerId" ));
274+ offer . put ( "offerName" , payload . getArray ( "offers" ). getMap ( i ). getString ( "offerName" ) );
275+ list . add ( offer );
276+ }
277+ }
278+ if ( list . size () >= 1 ) {
279+ mActionEvent .offers (list );
280+ }
281+ } else {
282+ System .out .println ("No data" );
283+ }
284284 }
285-
286285 mListener .track (mActionEvent .build ());
287286 }
288287 }
0 commit comments