Bläddra i källkod

Fix unit tests

Guy Carmeli 6 år sedan
förälder
incheckning
f358e43c4e

+ 6
- 4
lib/android/app/src/main/java/com/reactnativenavigation/presentation/OptionsPresenter.java Visa fil

@@ -22,13 +22,15 @@ import java.util.ArrayList;
22 22
 public class OptionsPresenter {
23 23
     private static final int DEFAULT_TITLE_COLOR = Color.BLACK;
24 24
     private static final int DEFAULT_SUBTITLE_COLOR = Color.GRAY;
25
-    private static final float DEFAULT_TITLE_FONT_SIZE = UiUtils.dpToSp(18);
26
-    private static final float DEFAULT_SUBTITLE_FONT_SIZE = UiUtils.dpToSp(14);
25
+    private final float defaultTitleFontSize;
26
+    private final float defaultSubtitleFontSize;
27 27
 
28 28
     private TopBar topBar;
29 29
 
30 30
     public OptionsPresenter(TopBar topBar) {
31 31
         this.topBar = topBar;
32
+        defaultTitleFontSize = UiUtils.dpToSp(topBar.getContext(), 18);
33
+        defaultSubtitleFontSize = UiUtils.dpToSp(topBar.getContext(), 14);
32 34
     }
33 35
 
34 36
     public void applyChildOptions(Options options, Component child) {
@@ -46,12 +48,12 @@ public class OptionsPresenter {
46 48
     private void applyTopBarOptions(TopBarOptions options, AnimationsOptions animationOptions, Component component) {
47 49
         topBar.setTitle(options.title.text.get(""));
48 50
         if (options.title.component.hasValue()) topBar.setTitleComponent(options.title.component.get(), options.title.alignment);
49
-        topBar.setTitleFontSize(options.title.fontSize.get(DEFAULT_TITLE_FONT_SIZE));
51
+        topBar.setTitleFontSize(options.title.fontSize.get(defaultTitleFontSize));
50 52
         topBar.setTitleTextColor(options.title.color.get(DEFAULT_TITLE_COLOR));
51 53
         topBar.setTitleTypeface(options.title.fontFamily);
52 54
 
53 55
         topBar.setSubtitle(options.subtitle.text.get(""));
54
-        topBar.setSubtitleFontSize(options.subtitle.fontSize.get(DEFAULT_SUBTITLE_FONT_SIZE));
56
+        topBar.setSubtitleFontSize(options.subtitle.fontSize.get(defaultSubtitleFontSize));
55 57
         topBar.setSubtitleColor(options.subtitle.color.get(DEFAULT_SUBTITLE_COLOR));
56 58
         topBar.setSubtitleFontFamily(options.subtitle.fontFamily);
57 59
 

+ 5
- 7
lib/android/app/src/main/java/com/reactnativenavigation/utils/UiUtils.java Visa fil

@@ -13,8 +13,6 @@ import android.view.View;
13 13
 import android.view.ViewTreeObserver;
14 14
 import android.view.WindowManager;
15 15
 
16
-import com.reactnativenavigation.NavigationApplication;
17
-
18 16
 public class UiUtils {
19 17
     public static final int STATUS_BAR_HEIGHT_M = 24;
20 18
     public static final int STATUS_BAR_HEIGHT_L = 25;
@@ -56,16 +54,16 @@ public class UiUtils {
56 54
         final int resourceId = resources.getIdentifier("status_bar_height", "dimen", "android");
57 55
         statusBarHeight = resourceId > 0 ?
58 56
                 resources.getDimensionPixelSize(resourceId) :
59
-                (int) dpToPx(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M ? STATUS_BAR_HEIGHT_M : STATUS_BAR_HEIGHT_L);
57
+                (int) dpToPx(context, Build.VERSION.SDK_INT >= Build.VERSION_CODES.M ? STATUS_BAR_HEIGHT_M : STATUS_BAR_HEIGHT_L);
60 58
         return statusBarHeight;
61 59
     }
62 60
 
63
-    public static float dpToPx(float dp) {
64
-        float scale = NavigationApplication.instance.getResources().getDisplayMetrics().density;
61
+    public static float dpToPx(Context context, float dp) {
62
+        float scale = context.getResources().getDisplayMetrics().density;
65 63
         return dp * scale + 0.5f;
66 64
     }
67 65
 
68
-    public static float dpToSp(float dp) {
69
-        return dpToPx(dp) / NavigationApplication.instance.getResources().getDisplayMetrics().density;
66
+    public static float dpToSp(Context context, float dp) {
67
+        return dpToPx(context, dp) / context.getResources().getDisplayMetrics().density;
70 68
     }
71 69
 }