/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠZ en Key , ĠLLC . Ċ Ġ* Ċ Ġ* Ġ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 . x ci . zen key . sdk . internal . contract Ċ Ċ import Ġcom . x ci . zen key . sdk . internal . model . Open Id Configuration Ċ import Ġcom . x ci . zen key . sdk . internal . model . exception . Provider NotFoundException Ċ Ċ /** Ċ Ġ* ĠA Ġcontract Ġfor Ġthe ĠDiscovery ĠService . Ċ Ġ*/ Ċ internal Ġinterface ĠI Discovery Service Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDis cover Ġthe Ġ[ Open Id Configuration ] Ġfor Ġthe Ġprovided ĠM CC / M NC Ġtuple . ĊĠĠĠĠ Ġ* ĠIf Ġthe Ġdiscovery Ġoperation Ġcontain Ġbeen Ġpreviously Ġdone Ġless Ġthan Ġ 1 5 Ġmin Ġago Ġfor Ġthis ĠM CC / M NC Ġtuple , ĊĠĠĠĠ Ġ* Ġthis Ġmethod Ġreturn Ġa Ġcached Ġ[ Open Id Configuration ]. ĊĠĠĠĠ Ġ* ĠOtherwise Ġit Ġperform Ġa ĠNetwork Ġcall Ġto Ġget Ġthe Ġ[ Open Id Configuration ] Ġfor Ġthe Ġprovided ĠM CC / M NC Ġtuple . ĊĠĠĠĠ Ġ* ĠIf Ġthe Ġnetwork Ġcall Ġfail , Ġit Ġfallback Ġon Ġa Ġlocal Ġdiscovery . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġm cc M nc Ġ Ġa Ġtuple Ġcontaining Ġthe ĠM CC Ġand ĠM NC Ġof Ġthe ĠSIM ĠCard . ĊĠĠĠĠ Ġ* Ġ@ param Ġprompt ĠĠ Ġthe Ġprompt Ġparameter . ĊĠĠĠĠ Ġ* Ġ@ param Ġlistener Ġthe Ġlistener Ġreceiving Ġthe Ġresult Ġof Ġthe Ġ[ Open Id Configuration ] Ġdiscovery . ĊĠĠĠĠ Ġ* ĠThis Ġlistener Ġmight Ġreceive Ġthe Ġfollowing Ġerrors : ĊĠĠĠĠ Ġ* Ġ[ Provider NotFoundException ] Ġif Ġthe Ġremote Ġor Ġlocal Ġdiscovery ĊĠĠĠĠ Ġ* Ġwasn 't Ġable Ġto Ġmatch Ġan Ġ[ Open Id Configuration ] Ġfor Ġthe Ġprovided ĠM CC / M NC Ġtuple . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdiscover Configuration ( m cc M nc : ĠString ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprompt : ĠBoolean , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonSuccess : Ġ( Open Id Configuration ) Ġ-> ĠUnit , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonError : Ġ( Throwable ) Ġ-> ĠUnit ) Ċ Ċ } Ċ