package Ġio . horizontal systems . bank wallet . core . utils Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . pm . Application Info Ċ import Ġandroid . provider . Settings Ċ import Ġandroid . view . input method . Input Method Manager Ċ Ċ object ĠUtils Ġ{ ĊĊĠĠĠ Ġfun Ġis Using Custom Keyboard ( context : ĠContext ): ĠBoolean Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġinput Method Manager Ġ= Ġcontext . getSystem Service ( Context . INPUT _ METHOD _ SERVICE ) Ġas ĠInput Method Manager ĊĠĠĠĠĠĠĠ Ġval Ġinput Method Properties Ġ= Ġinput Method Manager . enabled Input Method List ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġinput Method Properties . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġim i Ġ= Ġinput Method Properties [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( imi . id Ġ== ĠSettings . Secure . getString ( context . content Resolver , ĠSettings . Secure . DEFAULT _ INPUT _ METHOD )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(( imi . service Info . application Info . flags Ġand ĠApplication Info . FLAG _ SYSTEM ) Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} Ċ } Ċ Ċ object ĠE th Input Parser Ġ{ ĊĊĠĠĠ Ġfun Ġparse ( input : ĠString ): ĠInput Data ? Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġtransfer Index Ġ= Ġinput . indexOf (" a 9 0 5 9 cbb ") ĊĠĠĠĠĠĠĠ Ġif Ġ( transfer Index Ġ> Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠstartIndex Ġ= Ġtransfer Index Ġ+ Ġ 8 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstart Address Ġ= ĠstartIndex Ġ+ Ġ 2 4 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġend Address Ġ= Ġstart Address Ġ+ Ġ 4 0 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaddress Ġ= Ġinput . substring ( start Address , Ġend Address ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġamount Ġ= Ġinput . substring ( end Address , Ġend Address Ġ+ Ġ 6 4 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠInput Data ( from Ġ= Ġnull , Ġto Ġ= Ġaddress , Ġvalue Ġ= Ġamount ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġtransfer From Index Ġ= Ġinput . indexOf (" 2 3 b 8 7 2 dd ") ĊĠĠĠĠĠĠĠ Ġif Ġ( transfer From Index Ġ> Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠstartIndex Ġ= Ġtransfer From Index Ġ+ Ġ 8 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstart From Address Ġ= ĠstartIndex Ġ+ Ġ 2 4 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġend From Address Ġ= Ġstart From Address Ġ+ Ġ 4 0 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstart To Address Ġ= Ġend From Address Ġ+ Ġ 2 4 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġend To Address Ġ= Ġstart To Address Ġ+ Ġ 4 0 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfrom Ġ= Ġinput . substring ( start From Address , Ġend From Address ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġto Ġ= Ġinput . substring ( start To Address , Ġend To Address ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġamount Ġ= Ġinput . substring ( end To Address , Ġend To Address Ġ+ Ġ 6 4 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠInput Data ( from Ġ= Ġfrom , Ġto Ġ= Ġto , Ġvalue Ġ= Ġamount ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠInput Data ( var Ġfrom : ĠString ?, Ġvar Ġto : ĠString , Ġvar Ġvalue : ĠString ) Ċ Ċ } Ċ