package Ġcom . sw ed bank pay . mobile sdk . internal Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . google . gson . Type Adapter Ċ import Ġcom . google . gson . Type Adapter Factory Ċ import Ġcom . google . gson . reflect . Type Token Ċ import Ġcom . google . gson . stream . Json Reader Ċ import Ġcom . google . gson . stream . Json Writer Ċ Ċ internal Ġobject ĠBundle Type Adapter Factory Ġ: ĠType Adapter Factory Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġ< T > Ġcreate ( gson : ĠGson , Ġtype : ĠType Token < T >): ĠType Adapter < T >? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! Bundle :: class . java . isAssignableFrom ( type . raw Type )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠType Adapter < Bundle >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġwrite ( out : ĠJson Writer , Ġbundle : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( bundle ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull Ġ-> Ġout . null Value () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġout . begin Object () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( key Ġin Ġbundle . keySet ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( key Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġout . name ( key ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( val Ġvalue Ġ= Ġbundle [ key ]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull Ġ-> Ġout . null Value () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġgson . toJson ( value , Ġvalue . java Class , Ġout ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġout . end Object () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġread (` in `: ĠJson Reader ?): ĠBundle Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTODO (" Not Ġneeded . ĠIf Ġyou Ġsee Ġthis Ġerror , Ġthis Ġis Ġno Ġlonger Ġtrue , Ġand Ġyou Ġmust Ġimplement Ġthis Ġmethod .") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġas ĠType Adapter < T > ĊĠĠĠ Ġ} Ċ }