package Ġcom . av ito . impact . util Ċ Ċ import Ġcom . av ito . android . is Android Ċ import Ġorg . gradle . api . Project Ċ import Ġjava . io . File Ċ Ċ /** Ċ Ġ* ĠSimpl ified Ġandroid Ġproject Ġmodel Ċ Ġ*/ Ċ class ĠAndroid Project ( project : ĠProject ) Ġ: ĠProject Ġby Ġproject Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġrequire ( project . is Android ()) Ġ{ Ġ" Trying Ġto Ġcreate ĠAndroid Project Ġfrom Ġnon - android Ġ${ project . path }" Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġmanifest Ġ= ĠAndroid Manifest . from ( project ) ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" Android Project ( name =$ displayName , Ġpkg =${ manifest . get Package () })" ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠAndroid Manifest ( ĊĠĠĠ Ġprivate Ġval Ġproject Dir : ĠFile , ĊĠĠĠ Ġprivate Ġval Ġsource Set : ĠString Ġ= Ġ" main " Ċ ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġpackage Parser Ġ= ĠAndroid Manifest Package Parser ĊĊĠĠĠ Ġfun Ġget Package (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmanifest Ġ= ĠFile ("$ project Dir / src /$ source Set / Android Manifest . xml ") ĊĊĠĠĠĠĠĠĠ Ġreturn Ġpackage Parser . parse ( manifest ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġerror (" Project Ġ$ project Dir Ġdoesn 't Ġhave ĠAndroid Manifest Ġor Ġpackage Ġin Ġit ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġfrom ( project : ĠProject ): ĠAndroid Manifest Ġ= ĠAndroid Manifest ( project . project Dir ) ĊĠĠĠ Ġ} Ċ } Ċ