/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 9 ĠHe ide lp ay ĠGmbH Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* ĠĊ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* ĠĊ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . he ide lp ay . android . ui ĊĊ Ċ import Ġandroid . content . Context Ċ import Ġandroid . text . InputType Ċ import Ġandroid . text . method . Digits Key Listener Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġcom . he ide lp ay . android . R Ċ import Ġcom . he ide lp ay . android . ui . model . B IC Input Ċ Ċ /** Ċ Ġ* ĠCustom Ġ{@ link Ġandroid . widget . EditText } Ġthat Ġautomatically Ġtakes Ġcare Ġof ĠB IC Ġinput . Ċ Ġ* ĠThe Ġentered ĠB IC Ġinformation Ġcan Ġbe Ġfound Ġin Ġthe Ġproperty Ġuser Input . Ċ Ġ*/ Ċ class ĠB ic EditText Ġ: ĠFormat ting EditText < B IC Input > Ġ{ ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ?) Ġ: Ġsuper ( context , Ġattrs ) ĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ?, Ġdef Style Attr : ĠInt ) Ġ: Ġsuper ( context , Ġattrs , Ġdef Style Attr ) ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġkey Listener Ġ= ĠDig its Key Listener . getInstance (" abcdefgh ijkl mnopqrst uvw xyz 1 2 3 4 5 6 7 8 9 0 ") ĊĠĠĠĠĠĠĠ Ġset Keyboard Type () ĊĠĠĠĠĠĠĠ Ġhint Ġ= Ġ" ST ZZ AT WW XXX " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSets ĠEditText 's Ġinput Type Ġdepending Ġon Ġthe Ġgiven ĠB IC ĊĠĠĠĠ Ġ* Ġ@ param Ġb ic Ġan ĠB IC ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġset Keyboard Type () Ġ{ ĊĠĠĠĠĠĠĠ Ġinput Type Ġ= ĠInput Type . TYPE _ TEXT _ FLAG _ CAP _ CHAR ACT ERS Ġor ĠInput Type . TYPE _ TEXT _ FLAG _ NO _ SU G GEST IONS Ġor ĠInput Type . TYPE _ CLASS _ TEXT ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCreates Ġan Ġinstance Ġof Ġtype ĠB IC Input ĊĠĠĠĠ Ġ* Ġ@ param ĠĠ Ġstring Ġ Ġthe Ġentered Ġstring ĊĠĠĠĠ Ġ* Ġ@ return ĠĠĠĠĠĠĠĠĠ Ġthe Ġcreated ĠB IC Input Ġinstance ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġcreate Input ( string : ĠString ): ĠB IC Input Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġb ic Ġ= Ġstring ĊĊĠĠĠĠĠĠĠ Ġval Ġimg Ġ= ĠContext Compat . get Drawable ( context , ĠR . drawable . card _ debit ) ĊĠĠĠĠĠĠĠ Ġif Ġ( img Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimg . setBounds ( 0 , Ġ 0 , Ġ 6 8 , Ġ 4 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcompound Drawable Padding Ġ= Ġ 2 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Compound Draw ables ( img , Ġnull , Ġnull , Ġnull ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠB IC Input ( bic ) ĊĠĠĠ Ġ} Ċ } Ċ