question: public static ResponseData parse ( String responseData ) { int index = responseData . indexOf ( ':' ) ; String mainData , extraData ; if ( - 1 == index ) { mainData = responseData ; extraData = "" ; } else { mainData = responseData . substring ( 0 , index ) ; extraData = index >= responseData . length ( ) ? "" : responseData . substring ( index + 1 ) ; } String [ ] fields = TextUtils . split ( mainData , Pattern . quote ( "|" ) ) ; if ( fields . length < 6 ) { throw new IllegalArgumentException ( "Wrong number of fields." ) ; } ResponseData data = new ResponseData ( ) ; data . extra = extraData ; data . responseCode = Integer . parseInt ( fields [ 0 ] ) ; data . nonce = Integer . parseInt ( fields [ 1 ] ) ; data . packageName = fields [ 2 ] ; data . versionCode = fields [ 3 ] ; data . userId = fields [ 4 ] ; data . timestamp = Long . parseLong ( fields [ 5 ] ) ; return data ; }
target:  Parses response string into ResponseData.