/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 2 0 Ġ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 . adt ui . device Ċ Ċ import Ġcom . android . sdk lib . Android Version . Version Codes Ċ import Ġcom . android . sdk lib . Android Version . Version Codes . KIT K AT _ WATCH Ċ import Ġcom . android . sdk lib . Android Version . Version Codes . LO L LI POP Ċ import Ġcom . android . sdk lib . Sdk VersionInfo . HIG HE ST _ KNOWN _ API Ċ import Ġcom . android . sdk lib . Sdk VersionInfo . HIG HE ST _ KNOWN _ API _ TV Ċ import Ġcom . android . sdk lib . Sdk VersionInfo . HIG HE ST _ KNOWN _ API _ WE AR Ċ import Ġcom . android . sdk lib . Sdk VersionInfo . HIG HE ST _ KNOWN _ ST ABLE _ API Ċ import Ġcom . android . sdk lib . Sdk VersionInfo . LOW EST _ ACTIVE _ API Ċ import Ġcom . android . sdk lib . Sdk VersionInfo . LOW EST _ ACTIVE _ API _ TV Ċ import Ġcom . android . sdk lib . Sdk VersionInfo . LOW EST _ ACTIVE _ API _ WE AR Ċ import Ġcom . android . sdk lib . Sdk VersionInfo . RE COMM ENDED _ MIN _ SDK _ VERSION Ċ import Ġcom . android . sdk lib . repository . Id Display Ċ import Ġcom . android . sdk lib . repository . targets . System Image . AUT OM OT IVE _ TAG Ċ import Ġcom . android . sdk lib . repository . targets . System Image . DEFAULT _ TAG Ċ import Ġcom . android . sdk lib . repository . targets . System Image . GOOGLE _ API S _ TAG Ċ import Ġcom . android . sdk lib . repository . targets . System Image . GOOGLE _ API S _ X 8 6 _ TAG Ċ import Ġcom . android . sdk lib . repository . targets . System Image . ANDROID _ TV _ TAG Ċ import Ġcom . android . sdk lib . repository . targets . System Image . GOOGLE _ TV _ TAG Ċ import Ġcom . android . sdk lib . repository . targets . System Image . WE AR _ TAG Ċ import Ġicons . Studio Ill ustr ations . Form Factors Ċ import Ġjavax . swing . Icon Ċ import Ġkotlin . math . min Ċ Ċ /** Ċ Ġ* ĠRepresent ations Ġof Ġall ĠAndroid Ġhardware Ġdevices Ġwe Ġcan Ġtarget Ġwhen Ġbuilding Ġan Ġapp . Ċ Ġ*/ Ċ enum Ġclass ĠForm Factor ( ĊĠ Ġval Ġid : ĠString , ĊĠ Ġval ĠdisplayName : ĠString , ĊĠ Ġval Ġdefault Api : ĠInt , ĊĠ Ġval Ġmin Offline Api Level : ĠInt , ĊĠ Ġmax Offline Api Level : ĠInt , ĊĠ Ġval Ġicon : ĠIcon , ĊĠ Ġval Ġlarge Icon : ĠIcon , ĊĠ Ġprivate Ġval Ġapi Tags : ĠList < Id Display > Ġ= ĠlistOf () Ċ ) Ġ{ ĊĠ ĠM OB ILE (" Mobile ", Ġ" Phone Ġand ĠTable t ", ĠRE COMM ENDED _ MIN _ SDK _ VERSION , ĠLOW EST _ ACTIVE _ API , ĠH IG HE ST _ KNOWN _ API , ĠForm Factors . MOB ILE , ĊĠĠĠĠĠĠĠĠ ĠForm Factors . MOB ILE _ LARGE , ĠlistOf ( DEFAULT _ TAG , ĠGOOGLE _ API S _ TAG , ĠGOOGLE _ API S _ X 8 6 _ TAG )), ĊĠ ĠW EAR (" W ear ", Ġ" W ear ĠOS ", ĠL OL LI POP , ĠLOW EST _ ACTIVE _ API _ WE AR , ĠH IG HE ST _ KNOWN _ API _ WE AR , ĠForm Factors . WE AR , ĊĠĠĠĠĠĠ ĠForm Factors . WE AR _ LARGE , ĠlistOf ( WE AR _ TAG )), ĊĠ ĠTV (" TV ", Ġ" Android ĠTV ", ĠL OL LI POP , ĠLOW EST _ ACTIVE _ API _ TV , ĠH IG HE ST _ KNOWN _ API _ TV , ĠForm Factors . TV , ĊĠĠĠĠ ĠForm Factors . TV _ LARGE , ĠlistOf ( ANDROID _ TV _ TAG , ĠGOOGLE _ TV _ TAG )), ĊĠ ĠA UT OM OT IVE (" Autom otive ", Ġ" Autom otive ", ĠVersion Codes . P , ĠVersion Codes . P , ĠH IG HE ST _ KNOWN _ API , ĠForm Factors . CAR , ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĠForm Factors . CAR _ LARGE , ĠlistOf ( AUT OM OT IVE _ TAG )); ĊĊĠ Ġval Ġmax Offline Api Level : ĠInt Ġ= Ġmin ( max Offline Api Level , ĠH IG HE ST _ KNOWN _ ST ABLE _ API ) ĊĊĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ= ĠdisplayName ĊĊĠ Ġfun Ġis Supported ( tag : ĠId Display ?, Ġtarget Sdk Level : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠ Ġif Ġ( this Ġ== ĠM OB ILE Ġ&& Ġtarget Sdk Level Ġ== ĠK IT K AT _ WATCH ) Ġ{ ĊĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġapi Tags . isEmpty () Ġ|| Ġtag Ġin Ġapi Tags ĊĠ Ġ} ĊĊĠ Ġ// ĠCurrently Ġall Ġform Ġfactors Ġhave Ġem ulators , Ġbut Ġwe Ġkeep Ġthis Ġmethod Ġto Ġease Ġintroduction Ġof Ġnew Ġform Ġfactors ĊĠ Ġfun Ġhas Em ulator (): ĠBoolean Ġ= Ġtrue Ċ } Ċ