package Ġcom . example . hot pl en avigation . util Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroidx . annotation . Px Ċ import Ġcom . example . hot pl en avigation . Hot P le Navigation Application Ċ import Ġjavax . inject . Inject Ċ import Ġkotlin . math . round ToInt Ċ Ċ // Ġ 2 0 1 6 5 3 0 4 Ġê ¹ Ģ ìĦ± ê³ ¤ Ċ // Ġíķ´ëĭ¹ Ġê¸° ê¸° ìĿĺ ĠíĶ ½ ìħ Ģ ìĿĦ Ġê°Ģ ìł¸ ìĻĢ ĠAlert ĠDialog ë¥¼ Ġë Ŀ Ħ ìļ ¸ ĠëķĮ ĠìĤ¬ìļ© íķĺëĬĶ ĠíĻķ ìŀ¥ ĠíĮĮìĿ¼ Ċ class ĠPixel Ratio Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġapplication : ĠApplication Ċ ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġdisplay Metrics ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġapplication . resources . display Metrics ĊĊĠĠĠ Ġval Ġscreen Width ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġdisplay Metrics . width Pixels ĊĊĠĠĠ Ġval Ġscreen Height ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġdisplay Metrics . height Pixels ĊĊĠĠĠ Ġval Ġscreen Short ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġscreen Width . coerce At Most ( screen Height ) ĊĊĠĠĠ Ġval Ġscreen Long ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġscreen Width . coerce At Least ( screen Height ) ĊĊĠĠĠ Ġ@ Px ĊĠĠĠ Ġfun Ġto Pixel ( dp : ĠInt ) Ġ= Ġ( dp Ġ* Ġdisplay Metrics . density ). round ToInt () ĊĊĠĠĠ Ġfun Ġto DP (@ Px Ġpixel : ĠInt ) Ġ= Ġ( pixel Ġ/ Ġdisplay Metrics . density ). round ToInt () Ċ } Ċ Ċ val ĠNumber . pixel : ĠInt ĊĠĠĠ Ġ@ Px Ġget () Ġ= ĠHot P le Navigation Application . pixel Ratio . to DP ( this . toInt ()) Ċ Ċ val ĠNumber . dp : ĠInt ĊĠĠĠ Ġget () Ġ= ĠHot P le Navigation Application . pixel Ratio . to Pixel ( this . toInt ()) Ċ Ċ val ĠNumber . pixel Float : ĠFloat ĊĠĠĠ Ġ@ Px Ġget () Ġ= ĠHot P le Navigation Application . pixel Ratio . to DP ( this . toInt ()). toFloat () Ċ Ċ val ĠNumber . dp Float : ĠFloat ĊĠĠĠ Ġget () Ġ= ĠHot P le Navigation Application . pixel Ratio . to Pixel ( this . toInt ()). toFloat () Ċ