/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 3 Ġ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 . actions Ċ Ċ import Ġcom . intellij . openapi . action System . An ActionEvent Ċ import Ġcom . intellij . openapi . action System . Lang Data Keys Ċ Ċ import Ġcom . android . tools . idea . gradle . util . Gradle Projects . get Gradle Module Path Ċ import Ġcom . intellij . ide . project View . impl . Module Group . ARRAY _ DATA _ KEY Ċ import Ġcom . intellij . openapi . action System . Action Places . MAIN _ MENU Ċ import Ġcom . intellij . openapi . action System . Lang Data Keys . MODULE _ CONTEXT _ ARRAY Ċ Ċ class ĠAndroid New Module In Group Action Ġ: ĠAndroid New Module Action (" Module ", Ġ" Adds Ġa Ġnew Ġmodule Ġto Ġthe Ġproject ", Ġnull ) Ġ{ ĊĠ Ġoverride Ġfun Ġupdate ( e : ĠAn ActionEvent ) Ġ{ ĊĠĠĠ Ġsuper . update ( e ) ĊĊĠĠĠ Ġif Ġ(! e . presentation . isVisible ) Ġ{ ĊĠĠĠĠĠ Ġreturn Ġ Ġ// ĠNothing Ġto Ġdo , Ġif Ġabove Ġcall Ġto Ġparent Ġupdate () Ġhas Ġdisable Ġthe Ġaction ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġmodule Groups Ġ= Ġe . getData ( ARRAY _ DATA _ KEY ) ĊĠĠĠ Ġval Ġmodules Ġ= Ġe . getData ( MODULE _ CONTEXT _ ARRAY ) ĊĠĠĠ Ġ// ĠNote : ĠHide Ġif Ġshown Ġfrom Ġthe Ġmain Ġmenu , Ġwe Ġalready Ġhave Ġ" New ĠModule ...", Ġotherwise Ġassume Ġright Ġclick Ġon ĠProject ĠView . ĊĠĠĠ Ġe . presentation . isVisible Ġ= Ġe . place Ġ!= ĠMAIN _ MENU Ġ&& Ġ(! module Groups . isNull OrEmpty () Ġ|| Ġ! modules . isNull OrEmpty ()) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġget Module Path ( e : ĠAn ActionEvent ): ĠString ? Ġ{ ĊĠĠĠ Ġval Ġmodule Ġ= ĠLang Data Keys . MODULE . getData ( e . data Context ) Ġ?: Ġreturn Ġnull ĊĊĠĠĠ Ġreturn Ġget Gradle Module Path ( module ) ĊĠ Ġ} Ċ } Ċ