package Ġcom . flutter . vision . flutter _ mobile _ vision _ face _ api Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . core . app . Activity Compat . startActivity For Result Ċ Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġcom . flutter . vision . flutter _ mobile _ vision _ face _ api . face . Abstract Activity Ċ import Ġcom . flutter . vision . flutter _ mobile _ vision _ face _ api . face . Camera Activity Ċ import Ġcom . google . android . gms . common . api . Common StatusCode s Ċ import Ġio . flutter . plugin . common . MethodCall Ċ import Ġio . flutter . plugin . common . Method Channel Ċ import Ġio . flutter . plugin . common . Method Channel . MethodCall Handler Ċ import Ġio . flutter . plugin . common . Method Channel . Result Ċ import Ġio . flutter . plugin . common . Plugin Registry Ċ import Ġio . flutter . plugin . common . Plugin Registry . Registrar Ċ import Ġjava . lang . Exception Ċ import Ġjava . util .* Ċ import Ġkotlin . collections . HashMap Ċ Ċ class ĠFlutter Mobile Vision Face Api Plugin : ĠMethod Call Handler , ĠPlugin Registry . Activity Result Listener Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġfolder Name : ĠString ? Ġ= Ġ"" ĊĠĠĠ Ġprivate Ġvar Ġregist rar : ĠRegist rar ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġfinal Result : ĠResult ? Ġ= Ġnull ĊĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġregister With ( regist rar : ĠRegist rar ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġchannel Ġ= ĠMethod Channel ( regist rar . messenger (), Ġ" flutter _ mobile _ vision _ face _ api ") ĊĊĠĠĠĠĠĠĠ Ġval Ġflutter Mobile Vision Face Api Plugin Ġ= ĠFlutter Mobile Vision Face Api Plugin () ĊĠĠĠĠĠĠĠ Ġflutter Mobile Vision Face Api Plugin . set Register ( regist rar ) ĊĠĠĠĠĠ Ġchannel . set MethodCall Handler ( flutter Mobile Vision Face Api Plugin ) ĊĠĠĠĠĠĠĠ Ġregist rar . add Activity Result Listener ( flutter Mobile Vision Face Api Plugin ) ĊĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval ĠF OLDER _ NAME : ĠString Ġ= Ġ" FOLDER _ NAME "; ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠFL UT TER _ MOB ILE _ V ISION Ġ= Ġ 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Register ( regist rar : ĠRegist rar ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . regist rar Ġ= Ġregist rar ĊĠĠĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon MethodCall ( call : ĠMethod Call , Ġresult : ĠResult ) Ġ{ ĊĠĠĠ Ġif Ġ( call . method Ġ== Ġ" get Platform Version ") Ġ{ ĊĠĠĠĠĠ Ġresult . success (" Android Ġ${ android . os . Build . VERSION . RELEASE }") ĊĠĠĠ Ġ} Ġelse Ġif Ġ( call . method Ġ== Ġ" face ") Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġarguments Ġ: HashMap < String , ĠObjects > Ġ= ĠHashMap () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( call . arguments Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= Ġcall . arguments Ġas ĠHashMap < String , ĠObjects > ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( arguments . get ( FOLDER _ NAME ) Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfolder Name Ġ= Ġarguments . get ( FOLDER _ NAME ) Ġas ĠString ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( regist rar Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactivity : ĠActivity Ġ= Ġregist rar ?. activity () !! ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent : ĠIntent Ġ= ĠIntent ( activity , ĠCamera Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( FOLDER _ NAME , Ġfolder Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( activity , Ġintent , ĠFL UT TER _ MOB ILE _ V ISION , Ġnull ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// result . error (" Registrar Ġis Ġnull ", Ġ"", Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success (" Registrar Ġis Ġnull ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠ Ġresult . not Implemented () ĊĠĠĠ Ġ} ĊĠĠĠĠĠ Ġfinal Result Ġ= Ġresult ĊĊĊĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ): ĠBoolean Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġval Ġactivity : ĠActivity Ġ= Ġregist rar ?. activity () !! Ċ // ĠĠĠĠĠĠĠ ĠToast . makeText ( activity , Ġ" In ĠFL UT TER _ MOB ILE _ V ISION ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠ Ġ// ĠCheck Ġwhich Ġrequest Ġwe 're Ġrespon ding Ġto ĊĠĠĠĠĠĠĠ Ġif Ġ( request Code Ġ== ĠComp anion . FL UT TER _ MOB ILE _ V ISION ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠMake Ġsure Ġthe Ġrequest Ġwas Ġsuccessful ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Code Ġ== ĠCommon StatusCode s . SUCCESS ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠThe Ġuser Ġpicked Ġa Ġcontact . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠThe ĠIntent 's Ġdata ĠUri Ġidentifies Ġwhich Ġcontact Ġwas Ġselected . ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠDo Ġsomething Ġwith Ġthe Ġcontact Ġhere Ġ( big ger Ġexample Ġbelow ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( data Ġ!= Ġnull Ġ&& Ġdata . extras Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpicture Path : ĠString Ġ= Ġdata . extras . getString ( Abstract Activity . OBJECT ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinal Result ?. success ( picture Path ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinal Result ?. error (" Picture ĠPath Ġis Ġmissing !! ", Ġ" Missing !! ", Ġ" Picture ĠPath Ġis Ġmissing !! ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ Ġif Ġ( result Code Ġ== ĠCommon StatusCode s . ERROR ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġe : ĠString Ġ= Ġdata . getString Extra ( Abstract Activity . ERROR ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinal Result ?. error ( e , Ġ" Cancelled ", Ġ" Cancelled ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinal Result ?. error (" Cancelled ", Ġ" Cancelled ", Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinal Result ?. error (" Intent Ġis Ġ( null )", Ġ"", Ġ"") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} Ċ Ċ } Ċ