package Ġio . payment high way . sdk . ui Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Rect Ċ import Ġandroid . text . Input Filter Ċ import Ġandroid . util . Attribute Set Ċ import Ġio . payment high way . sdk . Card Brand Ċ import Ġio . payment high way . sdk . R Ċ import Ġio . payment high way . sdk . model . Card Data Ċ Ċ /** Ċ Ġ* ĠSpecial ized Ġtext Ġfield Ġfor Ġcollecting Ġcredit Ġnumber . Ċ Ġ*/ Ċ class ĠCard Number EditText Ġ: ĠEditText Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠText Input EditText Ġconstructor ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġconstructor ( context : ĠContext ?) Ġ: Ġsuper ( context ) Ġ{} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠText Input EditText Ġconstructor ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġconstructor ( context : ĠContext ?, Ġattrs : ĠAttributeSet ?) Ġ: Ġsuper ( context , Ġattrs ) Ġ{} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠText Input EditText Ġconstructor ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġconstructor ( context : ĠContext ?, Ġattrs : ĠAttributeSet ?, Ġdef Style Attr : ĠInt ) Ġ: Ġsuper ( context , Ġattrs , Ġdef Style Attr ) Ġ{} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠInitialize Ġthe ĠEditText Ġwith Ġspecific Ġformatter , Ġvalidator Ġand Ġhint Ġand Ġerror Ġtexts ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ see ĠCard Data . format Card Number ĊĠĠĠĠ Ġ* Ġ@ see ĠCard Data . is Card Number Valid ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġhint Text Ġ= Ġresources . getString ( R . string . card _ number _ hint ) ĊĠĠĠĠĠĠĠ Ġerror Text Ġ= Ġresources . getString ( R . string . error _ card _ number ) ĊĠĠĠĠĠĠĠ Ġformat Ġ= Ġ{ ĠCard Data . format Card Number ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġvalidate Ġ= Ġ{ ĠCard Data . is Card Number Valid ( it ) Ġ} ĊĠĠĠ Ġ} Ċ Ċ }