package Ġcom . stripe . android . model Ċ Ċ import Ġkotlinx . android . parcel . Parcel ize Ċ Ċ /** Ċ Ġ* ĠModel Ġof Ġthe Ġ" data " Ġobject Ġinside Ġa Ġ[ Customer ] Ġ" source " Ġobject . Ċ Ġ*/ Ċ @ Parcel ize Ċ data Ġclass ĠCustomer Source Ġinternal Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġstripe Payment Source : ĠStripe Payment Source Ċ ) Ġ: ĠStripe Model , ĠStripe Payment Source Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġid : ĠString ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġstripe Payment Source . id ĊĊĠĠĠ Ġval Ġtoken ization Method : ĠString ? ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpayment As Source Ġ= Ġas Source () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpayment As Card Ġ= Ġas Card () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( payment As Source Ġ!= Ġnull Ġ&& ĠSource . Source Type . CARD Ġ== Ġpayment As Source . type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcard Data Ġ= Ġpayment As Source . source Type Model Ġas ĠSource Card Data ? ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcard Data ?. token ization Method ?. code ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpayment As Card ?. token ization Method ?. code ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġsource Type : ĠString ĊĠĠĠĠĠĠĠ Ġ@ Source . Source Type ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġwhen Ġ( stripe Payment Source ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠCard Ġ-> ĠSource . Source Type . CARD ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSource Ġ-> Ġstripe Payment Source . type ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠSource . Source Type . UNKNOWN ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġas Source (): ĠSource ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( stripe Payment Source Ġis ĠSource ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstripe Payment Source ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġas Card (): ĠCard ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( stripe Payment Source Ġis ĠCard ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstripe Payment Source ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġnull ĊĠĠĠ Ġ} Ċ } Ċ