package Ġcom . dropbox . k ai ken . processor Ċ Ċ import Ġcom . dropbox . k ai ken . processor . internal . error Ċ import Ġcom . dropbox . k ai ken . processor . internal . implements Injection Holder Ċ import Ġcom . dropbox . k ai ken . processor . internal . is Abstract Ċ import Ġcom . dropbox . k ai ken . processor . internal . is Android Activity Ċ import Ġcom . dropbox . k ai ken . processor . internal . is Public Ċ import Ġjavax . annotation . processing . Mess ager Ċ import Ġjavax . tools . Diagnostic Ċ Ċ internal Ġclass ĠInjectable Activity Validator ( ĊĠĠĠ Ġprivate Ġval Ġmess ager : ĠMess ager Ċ ) Ġ{ ĊĠĠĠ Ġfun ĠisValid ( annotated Activity : ĠInjectable Annotated Activity ): ĠBoolean Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġtype Element Ġ= Ġannotated Activity . annotated Activity Element ĊĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ! type Element . is Public () Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmess ager . error ( type Element , Ġ" The Ġclass Ġ${ type Element . qualified Name } Ġis Ġnot Ġpublic ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype Element . is Abstract () Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmess ager . error ( type Element , Ġ" The Ġclass Ġ${ type Element . qualified Name } Ġis Ġabstract ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ! type Element . is Android Activity () Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmess ager . error ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Element , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" The Ġclass Ġ${ type Element . qualified Name } Ġis Ġnot Ġan ĠAndroid Ġactivity " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmess ager . print Message ( Diagnostic . Kind . NOTE , Ġtype Element . super class . kind . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ! type Element . implements Injection Holder () Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmess ager . error ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Element , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" The Ġclass Ġ${ type Element . qualified Name } Ġdoes Ġnot Ġimplement " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠDependency Provider Resolver " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Element . interfaces . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmess ager . print Message ( Diagnostic . Kind . NOTE , Ġit . kind . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ