11
11
12
12
import java .lang .reflect .InvocationTargetException ;
13
13
import java .lang .reflect .Method ;
14
+ import java .util .HashMap ;
15
+ import java .util .Map ;
14
16
15
17
import android .content .Context ;
16
18
import android .os .Build ;
@@ -104,18 +106,37 @@ public static DisplayMetrics getScreenDisplayMetrics() {
104
106
return sScreenDisplayMetrics ;
105
107
}
106
108
107
- public static WritableNativeMap getDisplayMetricsMap (double fontScale ) {
109
+ public static Map <String , Map <String , Object >> getDisplayMetricsMap (double fontScale ) {
110
+ Assertions .assertNotNull (
111
+ sWindowDisplayMetrics != null || sScreenDisplayMetrics != null ,
112
+ "DisplayMetricsHolder must be initialized with initDisplayMetricsIfNotInitialized or initDisplayMetrics" );
113
+ final Map <String , Map <String , Object >> result = new HashMap <>();
114
+ result .put ("windowPhysicalPixels" , getPhysicalPixelsMap (sWindowDisplayMetrics , fontScale ));
115
+ result .put ("screenPhysicalPixels" , getPhysicalPixelsMap (sScreenDisplayMetrics , fontScale ));
116
+ return result ;
117
+ }
118
+
119
+ public static WritableNativeMap getDisplayMetricsNativeMap (double fontScale ) {
108
120
Assertions .assertNotNull (
109
121
sWindowDisplayMetrics != null || sScreenDisplayMetrics != null ,
110
122
"DisplayMetricsHolder must be initialized with initDisplayMetricsIfNotInitialized or initDisplayMetrics" );
111
123
final WritableNativeMap result = new WritableNativeMap ();
112
- result .putMap ("windowPhysicalPixels" , getPhysicalPixelsMap (sWindowDisplayMetrics , fontScale ));
113
- result .putMap ("screenPhysicalPixels" , getPhysicalPixelsMap (sScreenDisplayMetrics , fontScale ));
124
+ result .putMap ("windowPhysicalPixels" , getPhysicalPixelsNativeMap (sWindowDisplayMetrics , fontScale ));
125
+ result .putMap ("screenPhysicalPixels" , getPhysicalPixelsNativeMap (sScreenDisplayMetrics , fontScale ));
126
+ return result ;
127
+ }
114
128
129
+ private static Map <String , Object > getPhysicalPixelsMap (DisplayMetrics displayMetrics , double fontScale ) {
130
+ final Map <String , Object > result = new HashMap <>();
131
+ result .put ("width" , displayMetrics .widthPixels );
132
+ result .put ("height" , displayMetrics .heightPixels );
133
+ result .put ("scale" , displayMetrics .density );
134
+ result .put ("fontScale" , fontScale );
135
+ result .put ("densityDpi" , displayMetrics .densityDpi );
115
136
return result ;
116
137
}
117
138
118
- private static WritableNativeMap getPhysicalPixelsMap (DisplayMetrics displayMetrics , double fontScale ) {
139
+ private static WritableNativeMap getPhysicalPixelsNativeMap (DisplayMetrics displayMetrics , double fontScale ) {
119
140
final WritableNativeMap result = new WritableNativeMap ();
120
141
result .putInt ("width" , displayMetrics .widthPixels );
121
142
result .putInt ("height" , displayMetrics .heightPixels );
@@ -124,5 +145,4 @@ private static WritableNativeMap getPhysicalPixelsMap(DisplayMetrics displayMetr
124
145
result .putDouble ("densityDpi" , displayMetrics .densityDpi );
125
146
return result ;
126
147
}
127
-
128
148
}
0 commit comments