package Ġio . android al atan . lifecycle . handler . lint Ċ Ċ import Ġcom . android . tools . lint . client . api . U Element Handler Ċ import Ġcom . android . tools . lint . detector . api . Detector Ċ import Ġcom . android . tools . lint . detector . api . Java Context Ċ import Ġcom . intellij . psi . Psi Modifier Ċ import Ġorg . jetbrains . u ast . U Element Ċ import Ġorg . jetbrains . u ast . U Method Ċ Ċ @ Suppress (" Un stable Api Usage ") Ċ internal Ġclass ĠLifecycle Method Visibility Detector Ġ: ĠDetector (), ĠDetector . U ast Scanner Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Applicable U ast Types (): ĠList < Class < out ĠU Element >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠlistOf ( U Method :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate U ast Handler ( context : ĠJava Context ): ĠU Element Handler Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠLifecycle Method Visibility Handler ( context ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Suppress (" Un stable Api Usage ") Ċ internal Ġclass ĠLifecycle Method Visibility Handler ( private Ġval Ġcontext : ĠJava Context ) Ġ: ĠU Element Handler () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġvisit Method ( node : ĠU Method ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnode . u Annotations . first OrNull Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . qualified Name ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit Ġin ĠLifecycle Lint Consts . AN NOT ATIONS ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ? . let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! node . has Modifier Property ( Psi Modifier . PUBLIC )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . report ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġissue Ġ= ĠLifecycle Lint Issue Registry . ISSUE _ VIS IBILITY , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocation Ġ= Ġcontext . getLocation ( node ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" We Ġrecommend ĠAsync ĠLifecycle Ġmethod Ġis Ġpublic Ġor Ġinternal " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }