package Ġorg . ny pl . simpl ified . ui . accounts Ċ Ċ import Ġandroid . view . View Ċ import Ġandroid . view . View . GONE Ċ import Ġandroid . view . View . VISIBLE Ċ import Ġandroid . view . ViewGroup Ċ import Ġorg . ny pl . simpl ified . accounts . api . Account Password Ċ import Ġorg . ny pl . simpl ified . accounts . api . Account Provider Authentication Description Ċ import Ġorg . ny pl . simpl ified . accounts . api . Account Provider Authentication Description . Anonymous Ċ import Ġorg . ny pl . simpl ified . accounts . api . Account Provider Authentication Description . Basic Ċ import Ġorg . ny pl . simpl ified . accounts . api . Account Provider Authentication Description . CO PP AA ge Gate Ċ import Ġorg . ny pl . simpl ified . accounts . api . Account Provider Authentication Description . OAuth With Inter medi ary Ċ import Ġorg . ny pl . simpl ified . accounts . api . Account Provider Authentication Description . SAML 2 _ 0 Ċ import Ġorg . ny pl . simpl ified . accounts . api . Account Username Ċ import Ġorg . ny pl . simpl ified . ui . accounts . Account Authentication View Bindings . Views For Anonymous Ċ import Ġorg . ny pl . simpl ified . ui . accounts . Account Authentication View Bindings . Views For Basic Ċ import Ġorg . ny pl . simpl ified . ui . accounts . Account Authentication View Bindings . Views For CO PP AA ge Gate Ċ import Ġorg . ny pl . simpl ified . ui . accounts . Account Authentication View Bindings . Views For OAuth With Inter medi ary Ċ import Ġorg . ny pl . simpl ified . ui . accounts . Account Authentication View Bindings . Views For SAML 2 _ 0 Ċ Ċ /** Ċ Ġ* ĠA Ġclass Ġthat Ġhandles Ġthe Ġvisibility Ġfor Ġa Ġset Ġof Ġoverlapping Ġviews . Ċ Ġ*/ Ċ Ċ class ĠAccount Authentication Views ( ĊĠ Ġprivate Ġval Ġview Group : ĠViewGroup , ĊĠ Ġon Username Password ChangeListener : Ġ( Account Username , ĠAccount Password ) Ġ-> ĠUnit Ċ ) Ġ{ ĊĊĠ Ġprivate Ġval Ġbasic : ĠViews For Basic Ġ= ĊĠĠĠ ĠViews For Basic . bind ( ĊĠĠĠĠĠ Ġview Group Ġ= Ġthis . view Group . findViewById ( R . id . auth Basic ), ĊĠĠĠĠĠ Ġon Username Password ChangeListener Ġ= Ġon Username Password ChangeListener ĊĠĠĠ Ġ) ĊĊĠ Ġprivate Ġval Ġanonymous : ĠViews For Anonymous Ġ= ĊĠĠĠ ĠViews For Anonymous . bind ( ĊĠĠĠĠĠ Ġthis . view Group . findViewById ( R . id . auth An on ) ĊĠĠĠ Ġ) ĊĠ Ġprivate Ġval Ġo Auth With Inter medi ary : ĠViews For OAuth With Inter medi ary Ġ= ĊĠĠĠ ĠViews For OAuth With Inter medi ary . bind ( ĊĠĠĠĠĠ Ġthis . view Group . findViewById ( R . id . auth OAuth Inter medi ary ) ĊĠĠĠ Ġ) ĊĠ Ġprivate Ġval Ġs aml 2 0 : ĠViews For SAML 2 _ 0 Ġ= ĊĠĠĠ ĠViews For SAML 2 _ 0 . bind ( ĊĠĠĠĠĠ Ġthis . view Group . findViewById ( R . id . auth SAML ) ĊĠĠĠ Ġ) ĊĠ Ġprivate Ġval Ġcop pa : ĠViews For CO PP AA ge Gate Ġ= ĊĠĠĠ ĠViews For CO PP AA ge Gate . bind ( ĊĠĠĠĠĠ Ġthis . view Group . findViewById ( R . id . auth CO PP A ) ĊĠĠĠ Ġ) ĊĊĠ Ġprivate Ġval Ġview Groups Ġ= ĊĠĠĠ ĠlistOf < Account Authentication View Bindings >( ĊĠĠĠĠĠ Ġthis . basic , ĊĠĠĠĠĠ Ġthis . anonymous , ĊĠĠĠĠĠ Ġthis . o Auth With Inter medi ary , ĊĠĠĠĠĠ Ġthis . saml 2 0 , ĊĠĠĠĠĠ Ġthis . co pp a ĊĠĠĠ Ġ) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠLock Ġall Ġof Ġthe Ġviews Ġin Ġthe Ġcollection . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ see Ġ[ Account Authentication View Bindings . lock ] ĊĠĠ Ġ*/ ĊĊĠ Ġfun Ġlock () Ġ{ ĊĠĠĠ Ġthis . view Groups . forEach ( Account Authentication View Bindings :: lock ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠUn lock Ġall Ġof Ġthe Ġviews Ġin Ġthe Ġcollection . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ see Ġ[ Account Authentication View Bindings . unlock ] ĊĠĠ Ġ*/ ĊĊĠ Ġfun Ġunlock () Ġ{ ĊĠĠĠ Ġthis . view Groups . forEach ( Account Authentication View Bindings :: unlock ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠClear Ġall Ġof Ġthe Ġviews Ġin Ġthe Ġcollection . ĠMust Ġonly Ġbe Ġcalled Ġonce . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ see Ġ[ Account Authentication View Bindings . clear ] ĊĠĠ Ġ*/ ĊĊĠ Ġfun Ġclear () Ġ{ ĊĠĠĠ Ġthis . view Groups . forEach ( Account Authentication View Bindings :: clear ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠSet Ġthe Ġstatus Ġof Ġall Ġof Ġthe Ġlogin Ġbuttons Ġin Ġthe Ġcollection . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ see Ġ[ Account Authentication View Bindings . set Login Button Status ] ĊĠĠ Ġ*/ ĊĊĠ Ġfun Ġset Login Button Status ( status : ĠAccount Login Button Status ) Ġ{ ĊĠĠĠ Ġthis . view Groups . forEach Ġ{ ĊĠĠĠĠĠ Ġit . set Login Button Status ( status ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠSet Ġthe Ġvisibility Ġof Ġthe Ġviews Ġsuch Ġthat Ġthe Ġdisplayed Ġview Ġis Ġthe Ġone Ġthat 's Ġsuitable ĊĠĠ Ġ* Ġfor Ġthe Ġgiven Ġauthentication Ġdescription . ĊĠĠ Ġ*/ ĊĊĠ Ġfun Ġshow For ( description : ĠAccount Provider Authentication Description ) Ġ{ ĊĠĠĠ Ġthis . view Groups . forEach Ġ{ Ġit . view Group . visibility Ġ= ĠG ONE Ġ} ĊĊĠĠĠ Ġreturn Ġwhen Ġ( description ) Ġ{ ĊĠĠĠĠĠ Ġis ĠCOP P AA ge Gate Ġ-> ĊĠĠĠĠĠĠĠ Ġthis . co pp a . view Group . visibility Ġ= ĠVIS IBLE ĊĠĠĠĠĠ Ġis ĠBasic Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . basic . view Group . visibility Ġ= ĠVIS IBLE ĊĠĠĠĠĠĠĠ Ġthis . basic . configure For ( description ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġis ĠOAuth With Inter medi ary Ġ-> ĊĠĠĠĠĠĠĠ Ġthis . o Auth With Inter medi ary . view Group . visibility Ġ= ĠVIS IBLE ĊĠĠĠĠĠ ĠAn onymous Ġ-> ĊĠĠĠĠĠĠĠ Ġthis . anonymous . view Group . visibility Ġ= ĠVIS IBLE ĊĠĠĠĠĠ Ġis ĠSAML 2 _ 0 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . saml 2 0 . view Group . visibility Ġ= ĠVIS IBLE ĊĠĠĠĠĠĠĠ Ġthis . saml 2 0 . configure For ( description ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġset Basic User And Pass ( ĊĠĠĠ Ġuser : ĠString , ĊĠĠĠ Ġpassword : ĠString ĊĠ Ġ) Ġ{ ĊĠĠĠ Ġthis . basic . setUser And Pass ( ĊĠĠĠĠĠ Ġuser Ġ= Ġuser , ĊĠĠĠĠĠ Ġpassword Ġ= Ġpassword ĊĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* Ġ@ return Ġ` true ` Ġif Ġthe Ġviews Ġhave Ġall Ġof Ġthe Ġinformation Ġrequired Ġto Ġattempt Ġa Ġlogin Ġfor Ġthe ĊĠĠ Ġ* Ġgiven Ġauthentication Ġdescription . ĊĠĠ Ġ*/ ĊĊĠ Ġfun Ġis Satisf ied For ( description : ĠAccount Provider Authentication Description ): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġwhen Ġ( description ) Ġ{ ĊĠĠĠĠĠ Ġis ĠCOP P AA ge Gate Ġ-> ĊĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠ Ġis ĠBasic Ġ-> ĊĠĠĠĠĠĠĠ Ġthis . basic . is Satisf ied ( description ) ĊĠĠĠĠĠ Ġis ĠOAuth With Inter medi ary Ġ-> ĊĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠ ĠAn onymous Ġ-> ĊĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠ Ġis ĠSAML 2 _ 0 Ġ-> ĊĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠSet Ġthe Ġstate Ġof Ġany ĠCOP PA Ġgate Ġrelated Ġfields . ĊĠĠ Ġ*/ ĊĊĠ Ġfun Ġset CO PP A State ( ĊĠĠĠ Ġis Over 1 3 : ĠBoolean , ĊĠĠĠ Ġon Age Checkbox Clicked : Ġ( View ) Ġ-> ĠUnit ĊĠ Ġ) Ġ{ ĊĠĠĠ Ġthis . co pp a . setState ( ĊĠĠĠĠĠ Ġis Over 1 3 Ġ= Ġis Over 1 3 , ĊĠĠĠĠĠ Ġon Age Checkbox Clicked Ġ= Ġon Age Checkbox Clicked ĊĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* Ġ@ return ĠThe Ġcurrent ĠBasic Ġauthentication Ġpassword ĊĠĠ Ġ*/ ĊĊĠ Ġfun Ġget Basic Password (): ĠAccount Password Ġ{ ĊĠĠĠ Ġreturn Ġthis . basic . getPassword () ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* Ġ@ return ĠThe Ġcurrent ĠBasic Ġauthentication Ġusername ĊĠĠ Ġ*/ ĊĊĠ Ġfun Ġget Basic User (): ĠAccount Username Ġ{ ĊĠĠĠ Ġreturn Ġthis . basic . getUser () ĊĠ Ġ} Ċ } Ċ