package Ġo sp . le ob ert . android . lint . sc ener ay Ċ Ċ import Ġcom . android . tools . lint . detector . api .* Ċ import Ġcom . android . tools . lint . detector . api . Category . Companion . CORRECT NESS Ċ import Ġcom . android . tools . lint . detector . api . Scope . Companion . JAVA _ FILE _ SCOPE Ċ import Ġcom . intellij . psi . Java Element Visitor Ċ import Ġcom . intellij . psi . Psi Method Ċ import Ġcom . intellij . psi . Psi MethodCall Expression Ċ Ċ /** Ċ Ġ* Ġ< p >< b > Package :</ b > Ġo sp . le ob ert . android . lint . sc ener ay Ġ</ p > Ċ Ġ* Ġ< p >< b > Project :</ b > ĠCustom Lint Rules Ġ</ p > Ċ Ġ* Ġ< p >< b > Class name :</ b > ĠFile Log Usage Detector Ġ</ p > Ċ Ġ* Ġ< p >< b > Description :</ b > ĠTODO Ġ</ p > Ċ Ġ* ĠCreated Ġby Ġle ob ert Ġon Ġ 2 0 2 1 / 6 / 3 0 . Ċ Ġ*/ Ċ class ĠFile Log Usage Detector Ġ: ĠDetector (), ĠDetector . U ast Scanner Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġissue File Log Usage : ĠIssue Ġ= ĠIssue . create ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ" File Log Usage ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbrief Description Ġ= Ġ" find ĠFile Log Ġusage ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexplanation Ġ= Ġ" find ĠFile Log Ġusage , Ġcheck Ġit Ġis Ġappropriate ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcategory Ġ= ĠCOR RECT NESS , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpriority Ġ= Ġ 1 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġseverity Ġ= ĠSeverity . WARNING , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation Ġ= ĠImplementation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFile Log Usage Detector :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJAVA _ FILE _ SCOPE ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġmethods Ġ= Ġarray ListOf (" e ", Ġ" w ", Ġ" d ", Ġ" i ") ĊĊĠĠĠĠĠĠĠ Ġval Ġct Name Ġ= Ġ" com . sc ener ay medical . sc ener ay . utils . File Log " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Applicable Method Names (): ĠList < String >? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmethods ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġvisit Method ( ĊĠĠĠĠĠĠĠ Ġcontext : ĠJava Context , Ġvisitor : ĠJava Element Visitor ?, ĊĠĠĠĠĠĠĠ Ġcall : ĠPsi MethodCall Expression , Ġmethod : ĠPsi Method , ĊĠĠĠ Ġ) Ġ{ ĊĊĊĠĠĠĠĠĠĠ Ġval Ġif File Log Call Ġ= Ġcontext . evaluator . is Member In Class ( method , Ġct Name ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( if File Log Call Ġ&& Ġmethods . contains ( method . name )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . report ( issue Ġ= Ġissue File Log Usage , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscope Ġ= Ġcall , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocation Ġ= Ġcontext . getLocation ( call ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" find ĠFile Log Ġusage , Ġcheck Ġit Ġis Ġappropriate ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }