/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 2 1 Ġ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 . facet Ċ Ċ import Ġcom . intellij . facet . Facet Ċ import Ġcom . intellij . facet . Facet Configuration Ċ import Ġcom . intellij . facet . Facet Type Ċ import Ġcom . intellij . facet . Facet TypeId Ċ import Ġcom . intellij . facet . Facet Type Registry Ċ import Ġcom . intellij . facet . ui . Facet Editor Context Ċ import Ġcom . intellij . facet . ui . Facet Editor Tab Ċ import Ġcom . intellij . facet . ui . Facet Validators Manager Ċ import Ġcom . intellij . openapi . module . Java Module Type Ċ import Ġcom . intellij . openapi . module . Module Ċ import Ġcom . intellij . openapi . module . Module Type Ċ import Ġcom . intellij . openapi . util . Key Ċ import Ġorg . jetbrains . android . facet . Android Facet Ċ Ċ class ĠAndroid Artifact Facet Configuration Ġ: ĠFac et Configuration Ġ{ ĊĠ Ġoverride Ġfun Ġcreate Editor Tabs ( editor Context : ĠFac et Editor Context ?, Ġvalidators Manager : ĠFac et Validators Manager ?): ĠArray < Facet Editor Tab > ĊĠĠĠ Ġ= Ġempty Array () ĊĊĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ= Ġ" Empty ĠConfiguration " Ċ } Ċ Ċ class ĠAndroid Artifact Facet Type Ġ: ĠFac et Type < Android Artifact Facet , ĠAndroid Artifact Facet Configuration >( ĊĠ ĠAndroid Artifact Facet . ID , ĊĠ Ġ" android - artifact ", ĊĠ ĠAndroid Artifact Facet . NAME Ċ ) Ġ{ ĊĠ Ġoverride Ġfun Ġcreate Default Configuration (): ĠAndroid Artifact Facet Configuration Ġ= ĠAndroid Artifact Facet Configuration () ĊĊĠ Ġoverride Ġfun Ġcreate Facet ( ĊĠĠĠ Ġmodule : ĠModule , ĊĠĠĠ Ġname : ĠString , ĊĠĠĠ Ġconfiguration : ĠAndroid Artifact Facet Configuration , ĊĠĠĠ Ġunderlying Facet : ĠFac et < *> ? ĊĠ Ġ): ĠAndroid Artifact Facet Ġ= ĠAndroid Artifact Facet ( module , Ġname , Ġconfiguration ) ĊĊĠ Ġoverride Ġfun Ġis Suit able Module Type ( module Type : ĠModule Type < *> ?): ĠBoolean Ġ= Ġmodule Type Ġis ĠJava Module Type Ċ } Ċ Ċ // ĠThis Ġkey Ġwill Ġbe Ġpresent Ġon Ġall ĠAndroid Artifact Fac ets Ġit Ġwill Ġlink Ġto Ġthe ĠAndroid Facet Ġof Ġthe Ġparent Ġmodule Ċ private Ġval ĠAND ROID _ FAC ET _ KEY Ġ: ĠKey < Android Facet > Ġ= ĠKey . create ( Android Facet :: class . java . name ) Ċ Ċ class ĠAndroid Artifact Facet ( ĊĠ Ġmodule : ĠModule , ĊĠ Ġname : ĠString , ĊĠ Ġconfig : ĠAndroid Artifact Facet Configuration Ċ ) Ġ: ĠFac et < Android Artifact Facet Configuration >( get Facet Type (), Ġmodule , Ġname , Ġconfig , Ġnull ) Ġ{ ĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġval ĠID Ġ= ĠFac et TypeId < Android Artifact Facet >(" android - artifact ") ĊĠĠĠ Ġconst Ġval ĠNAME Ġ= Ġ" Android ĠArtifact " ĊĠĠĠ Ġfun Ġget Facet Type () Ġ= ĠFac et Type Registry . getInstance (). find Facet Type ( ID ) Ġas ĠAndroid Artifact Facet Type ĊĠ Ġ} ĊĊĠ Ġfun Ġlink To Android Facet ( android Facet : ĠAndroid Facet ) Ġ{ ĊĠĠĠ Ġput UserData ( ANDROID _ FAC ET _ KEY , Ġandroid Facet ) ĊĠ Ġ} ĊĊĠ Ġfun Ġget Linked Android Facet () Ġ: ĠAndroid Facet ? Ġ= Ġget UserData ( ANDROID _ FAC ET _ KEY ) Ċ }