package Ġorg . simple . clin ic . registration . phone Ċ Ċ import Ġandroid . os . Parcelable Ċ import Ġkotlinx . parcel ize . Parcel ize Ċ import Ġorg . simple . clin ic . registration . phone . PhoneNumber Validator . Result . Blank Ċ import Ġorg . simple . clin ic . registration . phone . PhoneNumber Validator . Result . Length Too Short Ċ import Ġorg . simple . clin ic . registration . phone . PhoneNumber Validator . Result . Valid Number Ċ Ċ class ĠPhone Number Validator ( ĊĠĠĠ Ġprivate Ġval Ġminimum Required Length : ĠInt Ċ ) Ġ{ ĊĊĠ Ġsealed Ġclass ĠResult Ġ: ĠParcel able Ġ{ ĊĠĠĠ Ġ@ Parcel ize ĊĠĠĠ Ġobject ĠValid Number Ġ: ĠResult () ĊĊĠĠĠ Ġ@ Parcel ize ĊĠĠĠ Ġdata Ġclass ĠLength Too Short ( val Ġminimum Allowed Number Length : ĠInt ) Ġ: ĠResult () ĊĊĠĠĠ Ġ@ Parcel ize ĊĠĠĠ Ġobject ĠBl ank Ġ: ĠResult () ĊĠ Ġ} ĊĊĠ Ġfun Ġvalidate ( number : ĠString ): ĠResult Ġ{ ĊĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠ Ġnumber . isBlank () Ġ-> ĠBl ank ĊĠĠĠĠĠ Ġnumber . length Ġ< Ġminimum Required Length Ġ-> ĠLength Too Short ( minimum Required Length ) ĊĠĠĠĠĠ Ġelse Ġ-> ĠValid Number ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ