/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 9 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . android . tools . idea . np w . module Ċ Ċ import Ġcom . android . sdk lib . Sdk VersionInfo . LOW EST _ ACTIVE _ API Ċ import Ġcom . android . tools . idea . flags . Studio Flags Ċ import Ġcom . android . tools . idea . np w . model . Existing Project Model Data Ċ import Ġcom . android . tools . idea . np w . model . New Android Module Model Ċ import Ġcom . android . tools . idea . np w . model . New Android Native Module Model Ċ import Ġcom . android . tools . idea . np w . model . New Project Model . Companion . get Suggest ed Project Package Ċ import Ġcom . android . tools . idea . np w . model . Project Sync Invoker Ċ import Ġcom . android . tools . idea . wizard . model . Sk ipp able Wizard Step Ċ import Ġcom . android . tools . idea . wizard . template . Form Factor Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġicons . Studio Icons Ċ import Ġorg . jetbrains . android . util . Android Bundle . message Ċ import Ġjavax . swing . Icon Ċ Ċ class ĠNew Android Module Description Provider Ġ: ĠModule Description Provider Ġ{ ĊĠ Ġoverride Ġfun Ġget Descriptions ( project : ĠProject ): ĠCollection < Module Gallery Entry > Ġ= ĠlistOf NotNull ( ĊĠĠĠ ĠMobile Module Template Gallery Entry (), ĊĠĠĠ ĠAndroid Library Module Template Gallery Entry (), ĊĠĠĠ Ġif Ġ( Studio Flags . NP W _ NEW _ NATIVE _ MODULE . get ()) ĠAndroid Native Library Module Template Gallery Entry () Ġelse Ġnull , ĊĠĠĠ ĠW ear Module Template Gallery Entry (), ĊĠĠĠ ĠT v Module Template Gallery Entry (), ĊĠĠĠ ĠAutom otive Module Template Gallery Entry () ĊĠ Ġ) ĊĊĠ Ġprivate Ġabstract Ġclass ĠAndroid Module Template Gallery Entry ( ĊĠĠĠ Ġoverride Ġval Ġname : ĠString , ĊĠĠĠ Ġoverride Ġval Ġdescription : ĠString , ĊĠĠĠ Ġoverride Ġval Ġicon : ĠIcon , ĊĠĠĠ Ġval Ġform Factor : ĠForm Factor ĊĠ Ġ) Ġ: ĠModule Gallery Entry Ġ{ ĊĠĠĠ Ġval Ġis Library Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ= Ġname ĊĠĠĠ Ġoverride Ġfun Ġcreate Step ( project : ĠProject , Ġmodule Parent : ĠString , Ġproject Sync Invoker : ĠProject Sync Invoker ): ĠSk ipp able Wizard Step < *> Ġ{ ĊĠĠĠĠĠ Ġval Ġbase Package Ġ= Ġget Suggest ed Project Package () ĊĠĠĠĠĠ Ġval Ġmodel Ġ= ĠNew Android Module Model . from Existing Project ( project , Ġmodule Parent , Ġproject Sync Invoker , Ġform Factor , Ġis Library ) ĊĠĠĠĠĠ Ġreturn ĠConfigure Android Module Step ( model , ĠLOW EST _ ACTIVE _ API , Ġbase Package , Ġname ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġprivate Ġclass ĠMobile Module Template Gallery Entry Ġ: ĠAndroid Module Template Gallery Entry ( ĊĠĠĠ Ġmessage (" android . wizard . module . new . mobile "), ĊĠĠĠ Ġmessage (" android . wizard . module . new . mobile . description "), ĊĠĠĠ ĠStudio Icons . W iz ards . Modules . PHONE _ TABLE T , ĊĠĠĠ ĠForm Factor . Mobile ĊĠ Ġ) ĊĊĠ Ġprivate Ġclass ĠAutom otive Module Template Gallery Entry Ġ: ĠAndroid Module Template Gallery Entry ( ĊĠĠĠ Ġmessage (" android . wizard . module . new . autom otive "), ĊĠĠĠ Ġmessage (" android . wizard . module . new . autom otive . description "), ĊĠĠĠ ĠStudio Icons . W iz ards . Modules . AUT OM OT IVE , ĊĠĠĠ ĠForm Factor . Autom otive ĊĠ Ġ) ĊĊĠ Ġprivate Ġclass ĠT v Module Template Gallery Entry Ġ: ĠAndroid Module Template Gallery Entry ( ĊĠĠĠ Ġmessage (" android . wizard . module . new . tv "), ĊĠĠĠ Ġmessage (" android . wizard . module . new . tv . description "), ĊĠĠĠ ĠStudio Icons . W iz ards . Modules . ANDROID _ TV , ĊĠĠĠ ĠForm Factor . Tv ĊĠ Ġ) ĊĊĠ Ġprivate Ġclass ĠW ear Module Template Gallery Entry Ġ: ĠAndroid Module Template Gallery Entry ( ĊĠĠĠ Ġmessage (" android . wizard . module . new . we ar "), ĊĠĠĠ Ġmessage (" android . wizard . module . new . we ar . description "), ĊĠĠĠ ĠStudio Icons . W iz ards . Modules . WE AR _ OS , ĊĠĠĠ ĠForm Factor . W ear ĊĠ Ġ) ĊĊĠ Ġprivate Ġclass ĠAndroid Library Module Template Gallery Entry Ġ: ĠModule Gallery Entry Ġ{ ĊĠĠĠ Ġoverride Ġval Ġname : ĠString Ġ= Ġmessage (" android . wizard . module . new . library ") ĊĠĠĠ Ġoverride Ġval Ġdescription : ĠString Ġ= Ġmessage (" android . wizard . module . new . library . description ") ĊĠĠĠ Ġoverride Ġval Ġicon : ĠIcon Ġ= ĠStudio Icons . W iz ards . Modules . ANDROID _ LIBRARY ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Step ( project : ĠProject , Ġmodule Parent : ĠString , Ġproject Sync Invoker : ĠProject Sync Invoker ): ĠSk ipp able Wizard Step < *> Ġ{ ĊĠĠĠĠĠ Ġval Ġbase Package Ġ= Ġget Suggest ed Project Package () ĊĠĠĠĠĠ Ġval Ġmodel Ġ= ĠNew Android Module Model . from Existing Project ( project , Ġmodule Parent , Ġproject Sync Invoker , ĠForm Factor . Mobile , Ġtrue ) ĊĠĠĠĠĠ Ġreturn ĠConfigure Android Module Step ( model , ĠLOW EST _ ACTIVE _ API , Ġbase Package , Ġname ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġprivate Ġclass ĠAndroid Native Library Module Template Gallery Entry Ġ: ĠModule Gallery Entry Ġ{ ĊĠĠĠ Ġoverride Ġval Ġname : ĠString Ġ= Ġmessage (" android . wizard . module . new . native . library ") ĊĠĠĠ Ġoverride Ġval Ġdescription : ĠString Ġ= Ġmessage (" android . wizard . module . new . native . library . description ") ĊĠĠĠ Ġoverride Ġval Ġicon : ĠIcon Ġ= ĠStudio Icons . W iz ards . Modules . NATIVE ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Step ( project : ĠProject , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodule Parent : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproject Sync Invoker : ĠProject Sync Invoker ): ĠConfigure Android Native Module Step Ġ{ ĊĠĠĠĠĠ Ġval Ġbase Package Ġ= Ġget Suggest ed Project Package () ĊĠĠĠĠĠ Ġval Ġmodel Ġ= ĠNew Android Native Module Model ( Existing Project Model Data ( project , Ġproject Sync Invoker ), Ġmodule Parent ) ĊĠĠĠĠĠ Ġreturn ĠConfigure Android Native Module Step ( model , ĠLOW EST _ ACTIVE _ API , Ġbase Package , Ġname ) ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ