@@ -43,20 +43,23 @@ export class DimensionsUtil {
4343 await DimensionsUtil.getStatusBarHeight(displayClass);
4444 let dimensionMap = new Map<string, HippyValue | Map<string, HippyValue>>()
4545
46- let windowRect = await DimensionsUtil.getLastWindowRect(context);
47- let w = 0;
48- let h = 0;
49- if (windowRect.width > 0 && windowRect.height > 0) {
50- w = windowRect.width;
51- h = windowRect.height;
52- } else {
53- w = displayClass.width;
54- h = displayClass.height;
46+ let wwPixels = ww * displayClass.densityPixels;
47+ let whPixels = wh * displayClass.densityPixels;
48+
49+ if (wwPixels < 0 || whPixels < 0) {
50+ let windowRect = await DimensionsUtil.getLastWindowRect(context);
51+ if (windowRect.width > 0 && windowRect.height > 0) {
52+ wwPixels = windowRect.width;
53+ whPixels = windowRect.height;
54+ } else {
55+ wwPixels = displayClass.width;
56+ whPixels = displayClass.height;
57+ }
5558 }
5659
5760 let windowDisplayMetricsMap = new Map<string, HippyValue>()
58- windowDisplayMetricsMap.set("width", ww >= 0 ? ww : w );
59- windowDisplayMetricsMap.set("height", wh >= 0 ? wh : h );
61+ windowDisplayMetricsMap.set("width", wwPixels );
62+ windowDisplayMetricsMap.set("height", whPixels );
6063 windowDisplayMetricsMap.set("scale", displayClass.densityPixels / PixelUtil.getDensityScale());
6164 windowDisplayMetricsMap.set("fontScale", displayClass.scaledDensity / PixelUtil.getDensityScale());
6265 windowDisplayMetricsMap.set("densityDpi", displayClass.densityDPI / PixelUtil.getDensityScale());
@@ -65,8 +68,8 @@ export class DimensionsUtil {
6568 dimensionMap.set("windowPhysicalPixels", windowDisplayMetricsMap);
6669
6770 let screenDisplayMetricsMap = new Map<string, HippyValue>()
68- screenDisplayMetricsMap.set("width", w );
69- screenDisplayMetricsMap.set("height", h );
71+ screenDisplayMetricsMap.set("width", displayClass.width );
72+ screenDisplayMetricsMap.set("height", displayClass.height );
7073 screenDisplayMetricsMap.set("scale", displayClass.densityPixels / PixelUtil.getDensityScale());
7174 screenDisplayMetricsMap.set("fontScale", displayClass.scaledDensity / PixelUtil.getDensityScale());
7275 screenDisplayMetricsMap.set("densityDpi", displayClass.densityDPI / PixelUtil.getDensityScale());
0 commit comments