/* Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 1 7 - 2 0 2 0 ĠWay fair . ĠAll Ġrights Ġreserved . Ċ Ġ*/ Ċ package Ġcom . way fair . brick kit . size Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . res . Configuration Ċ import Ġandroid . util . Log Ċ import Ġcom . way fair . brick kit . Brick DataManager Ċ import Ġcom . way fair . brick kit . Open ForTesting Ċ import Ġcom . way fair . brick kit . R Ċ Ċ /** Ċ Ġ* ĠThis Ġclass Ġdefines Ġan Ġabstract Ġimplementation Ġof Ġbr ick Ġsize . Ċ Ġ* Ċ Ġ* ĠIt Ġis Ġused Ġto Ġdetermine Ġthe Ġamount Ġof Ġthe Ġscreen Ġto Ġuse Ġwhen Ġlay ing Ġout Ġthe Ġbr ick . ĠThe Ġamount Ċ Ġ* Ġof Ġscreen Ġthat Ġis Ġused Ġis Ġrelative Ġto Ġthe Ġmax Ġspan Ġcount Ġgrab bed Ġfrom Ġthe ĠBr ick DataManager . Ċ Ġ* Ċ Ġ* ĠAn Ġexample Ġwould Ġbe Ġa Ġbr ick Ġwhose Ġsize Ġwas Ġ 2 Ġthat Ġwas Ġbeing Ġla id Ġout Ġin Ġa ĠBr ick DataManager Ġwhose Ġmax Ġspan Ġcount Ċ Ġ* Ġis Ġ 5 . ĠThe Ġbr ick Ġwould Ġtake Ġ 4 0 % Ġ( 2 Ġ/ Ġ 5 ) Ġof Ġthe Ġscreen Ġwidth . Ċ Ġ*/ Ċ @ Open ForTesting Ċ abstract Ġclass ĠBr ick Size Ġinternal Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġpor trait Phone : ĠInt , ĊĠĠĠ Ġprivate Ġval Ġlandscape Phone : ĠInt , ĊĠĠĠ Ġprivate Ġval Ġpor trait Tablet : ĠInt , ĊĠĠĠ Ġprivate Ġval Ġlandscape Tablet : ĠInt Ċ ) Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCalculates Ġthe Ġspans Ġfor Ġthis Ġbr ick Ġbased Ġoff Ġthe Ġdevice Ġtype Ġand Ġorientation . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext Ġthe Ġcontext Ġto Ġuse Ġto Ġget Ġresources ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġnumber Ġof Ġspans Ġthis Ġbr ick Ġwill Ġtake Ġup ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Spans ( context : ĠContext ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġis Tablet Ġ= Ġcontext . resources . getBoolean ( R . bool . tablet ) ĊĠĠĠĠĠĠĠ Ġval Ġis Land scape Ġ= Ġcontext . resources . configuration . orientation Ġ== ĠConfiguration . OR IENTATION _ LAND SC APE ĊĊĠĠĠĠĠĠĠ Ġval Ġspans Ġ= Ġif Ġ( is Tablet ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Land scape ) Ġlandscape Tablet Ġelse Ġpor trait Tablet ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Land scape ) Ġlandscape Phone Ġelse Ġpor trait Phone ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( spans Ġ> ĠBr ick DataManager . SPAN _ COUNT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i ( java Class . simple Name , Ġ" Span Ġneeds Ġto Ġbe Ġless Ġthan Ġor Ġequal Ġto : Ġ" Ġ+ ĠBr ick DataManager . SPAN _ COUNT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠBr ick DataManager . SPAN _ COUNT ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġspans ĊĠĠĠ Ġ} Ċ } Ċ