react-native-navigation 7.24.3 → 7.25.0-snapshot.543

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/lib/android/app/build.gradle +12 -9
  2. package/lib/android/app/src/main/java/com/reactnativenavigation/NavigationActivity.java +7 -9
  3. package/lib/android/app/src/main/java/com/reactnativenavigation/options/BottomTabOptions.java +4 -0
  4. package/lib/android/app/src/main/java/com/reactnativenavigation/options/Options.java +2 -0
  5. package/lib/android/app/src/main/java/com/reactnativenavigation/options/OverlayOptions.java +3 -2
  6. package/lib/android/app/src/main/java/com/reactnativenavigation/options/OverlayOptions.kt +31 -0
  7. package/lib/android/app/src/main/java/com/reactnativenavigation/options/layout/LayoutInsets.kt +44 -0
  8. package/lib/android/app/src/main/java/com/reactnativenavigation/options/layout/LayoutOptions.kt +71 -0
  9. package/lib/android/app/src/main/java/com/reactnativenavigation/options/parsers/JSONParser.java +0 -2
  10. package/lib/android/app/src/main/java/com/reactnativenavigation/utils/PrimitiveExt.kt +9 -0
  11. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabPresenter.java +2 -1
  12. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsController.java +31 -4
  13. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/child/ChildController.java +6 -13
  14. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/component/ComponentViewController.java +32 -10
  15. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/modal/ModalStack.java +4 -0
  16. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/navigator/Navigator.java +25 -6
  17. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/overlay/OverlayManager.kt +104 -33
  18. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/parent/ParentController.java +86 -9
  19. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/sidemenu/SideMenuController.java +12 -0
  20. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/stack/StackController.java +18 -1
  21. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/stack/StackPresenter.java +51 -0
  22. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/stack/topbar/button/ButtonController.kt +7 -1
  23. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/Presenter.java +23 -7
  24. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/RootPresenter.java +0 -1
  25. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/ViewController.java +24 -3
  26. package/lib/android/app/src/main/java/com/reactnativenavigation/views/bottomtabs/BottomTabs.java +29 -1
  27. package/lib/android/app/src/main/java/com/reactnativenavigation/views/bottomtabs/BottomTabsContainer.kt +1 -0
  28. package/lib/android/app/src/main/java/com/reactnativenavigation/views/bottomtabs/BottomTabsLayout.java +10 -1
  29. package/lib/android/app/src/main/java/com/reactnativenavigation/views/component/ComponentLayout.java +10 -2
  30. package/lib/android/app/src/main/java/com/reactnativenavigation/views/overlay/AttachedOverlayContainer.kt +69 -0
  31. package/lib/android/app/src/main/java/com/reactnativenavigation/views/overlay/ViewTooltip.java +921 -0
  32. package/lib/android/app/src/main/java/com/reactnativenavigation/views/sidemenu/SideMenuRoot.java +9 -1
  33. package/lib/android/app/src/main/java/com/reactnativenavigation/views/stack/StackLayout.java +14 -4
  34. package/lib/android/app/src/main/java/com/reactnativenavigation/views/stack/topbar/TopBar.java +0 -1
  35. package/lib/android/app/src/main/java/com/reactnativenavigation/views/toptabs/TopTabsStyleHelper.java +0 -1
  36. package/lib/dist/src/interfaces/Options.d.ts +34 -0
  37. package/lib/ios/RNNBasePresenter.m +17 -0
  38. package/lib/ios/RNNBottomTabsController.m +1 -0
  39. package/lib/ios/RNNComponentViewController.m +5 -0
  40. package/lib/ios/RNNLayoutOptions.h +2 -1
  41. package/lib/ios/RNNLayoutOptions.m +4 -0
  42. package/lib/ios/RNNStackPresenter.m +1 -0
  43. package/lib/src/interfaces/Options.ts +38 -0
  44. package/package.json +3 -1
  45. package/.buildkite/pipeline.yml +0 -59
  46. package/lib/android/app/src/main/java/com/reactnativenavigation/options/LayoutOptions.java +0 -48
  47. package/lib/android/app/src/test/java/com/reactnativenavigation/BaseTest.java +0 -178
  48. package/lib/android/app/src/test/java/com/reactnativenavigation/EnvironmentTest.java +0 -43
  49. package/lib/android/app/src/test/java/com/reactnativenavigation/TestActivity.java +0 -23
  50. package/lib/android/app/src/test/java/com/reactnativenavigation/TestApplication.java +0 -35
  51. package/lib/android/app/src/test/java/com/reactnativenavigation/TestUtils.java +0 -62
  52. package/lib/android/app/src/test/java/com/reactnativenavigation/fakes/IconResolverFake.kt +0 -8
  53. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/BackDrawable.java +0 -30
  54. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/ImageLoaderMock.kt +0 -49
  55. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/Mocks.kt +0 -18
  56. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/SimpleComponentViewController.java +0 -15
  57. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/SimpleOverlay.java +0 -54
  58. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/SimpleViewController.java +0 -113
  59. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TestComponentLayout.java +0 -79
  60. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TestComponentViewCreator.java +0 -18
  61. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TestReactView.java +0 -71
  62. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TitleBarButtonCreatorMock.java +0 -34
  63. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TitleBarReactViewCreatorMock.java +0 -20
  64. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TopBarBackgroundViewCreatorMock.java +0 -20
  65. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TypefaceLoaderMock.kt +0 -21
  66. package/lib/android/app/src/test/java/com/reactnativenavigation/options/LayoutNodeParserTest.java +0 -51
  67. package/lib/android/app/src/test/java/com/reactnativenavigation/options/OptionsTest.java +0 -315
  68. package/lib/android/app/src/test/java/com/reactnativenavigation/options/OrientationOptionsTest.java +0 -81
  69. package/lib/android/app/src/test/java/com/reactnativenavigation/options/TopBarButtonsTest.kt +0 -95
  70. package/lib/android/app/src/test/java/com/reactnativenavigation/options/TransitionAnimationOptionsTest.kt +0 -122
  71. package/lib/android/app/src/test/java/com/reactnativenavigation/options/parsers/BoolParserTest.java +0 -28
  72. package/lib/android/app/src/test/java/com/reactnativenavigation/options/parsers/ColorParseTest.java +0 -50
  73. package/lib/android/app/src/test/java/com/reactnativenavigation/options/parsers/JSONParserTest.java +0 -64
  74. package/lib/android/app/src/test/java/com/reactnativenavigation/presentation/PresenterTest.java +0 -56
  75. package/lib/android/app/src/test/java/com/reactnativenavigation/presentation/RenderCheckerTest.java +0 -59
  76. package/lib/android/app/src/test/java/com/reactnativenavigation/presentation/SideMenuPresenterTest.java +0 -35
  77. package/lib/android/app/src/test/java/com/reactnativenavigation/react/NavigationModuleTest.java +0 -102
  78. package/lib/android/app/src/test/java/com/reactnativenavigation/react/ReloadListenerTest.java +0 -24
  79. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/AnimationHelper.kt +0 -33
  80. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/ButtonPresenterTest.java +0 -241
  81. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/ButtonSpanTest.java +0 -57
  82. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/CompatUtilsTest.java +0 -17
  83. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/LayoutFactoryTest.java +0 -78
  84. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/MotionEventTest.kt +0 -47
  85. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/NativeCommandListenerTest.java +0 -60
  86. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/OptionHelper.java +0 -16
  87. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/ReflectionUtilsTest.java +0 -26
  88. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/StringUtilsTest.java +0 -19
  89. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/SystemUiUtilsTest.kt +0 -27
  90. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/TitleAndButtonsMeasurerTest.kt +0 -357
  91. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/TitleBarHelper.java +0 -54
  92. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/UiThreadTest.java +0 -29
  93. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/UiUtilsTest.java +0 -22
  94. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/ViewHelper.java +0 -9
  95. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/OptionsApplyingTest.java +0 -149
  96. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabPresenterTest.java +0 -206
  97. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsAttacherTest.java +0 -62
  98. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsControllerTest.kt +0 -589
  99. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsPresenterTest.kt +0 -173
  100. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/attacher/modes/AfterInitialTabTest.java +0 -38
  101. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/attacher/modes/AttachModeTest.java +0 -86
  102. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/attacher/modes/OnSwitchToTabTest.java +0 -31
  103. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/attacher/modes/TogetherTest.java +0 -20
  104. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/button/NavigationIconResolverTest.java +0 -78
  105. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/child/ChildControllerTest.java +0 -80
  106. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/child/ChildControllersRegistryTest.java +0 -56
  107. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/component/ComponentViewControllerTest.java +0 -216
  108. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/externalcomponent/ExternalComponentViewControllerTest.java +0 -97
  109. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/externalcomponent/FragmentCreatorMock.java +0 -34
  110. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/externalcomponent/SomeFragment.java +0 -8
  111. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/fakes/FakeParentController.kt +0 -33
  112. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/modal/ModalAnimatorMock.java +0 -40
  113. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/modal/ModalAnimatorTest.kt +0 -213
  114. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/modal/ModalPresenterTest.java +0 -319
  115. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/modal/ModalStackTest.java +0 -367
  116. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/navigator/NavigatorTest.java +0 -898
  117. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/navigator/RootPresenterTest.kt +0 -254
  118. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/overlay/OverlayManagerTest.java +0 -108
  119. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/parent/ParentControllerTest.java +0 -299
  120. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/sidemenu/SideMenuControllerTest.java +0 -446
  121. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/BackButtonHelperTest.java +0 -77
  122. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/FloatingActionButtonTest.java +0 -154
  123. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/IdStackTest.java +0 -114
  124. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/StackAnimatorTest.kt +0 -241
  125. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/StackControllerTest.kt +0 -1165
  126. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/StackPresenterTest.kt +0 -1081
  127. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TitleBarButtonControllerTest.java +0 -61
  128. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TitleBarReactViewControllerTest.java +0 -43
  129. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TopBarButtonControllerTest.java +0 -120
  130. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TopBarControllerTest.kt +0 -432
  131. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/toptabs/TopTabsViewControllerTest.java +0 -249
  132. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/viewcontroller/ViewControllerTest.java +0 -337
  133. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/viewcontroller/YellowBoxDelegateTest.java +0 -68
  134. package/lib/android/app/src/test/java/com/reactnativenavigation/views/OverlayTouchDelegateTest.java +0 -60
  135. package/lib/android/app/src/test/java/com/reactnativenavigation/views/TitleAndButtonsContainerTest.kt +0 -477
  136. package/lib/android/app/src/test/java/com/reactnativenavigation/views/TopBarTest.java +0 -82
  137. package/lib/android/app/src/test/java/com/reactnativenavigation/views/animations/BaseViewAnimatorTest.kt +0 -109
  138. package/lib/android/app/src/test/java/com/reactnativenavigation/views/animations/DefaultViewAnimatorCreatorFake.kt +0 -36
  139. package/lib/android/app/src/test/java/com/reactnativenavigation/views/bottomtabs/BottomTabsContainerTest.kt +0 -101
  140. package/lib/android/app/src/test/java/com/reactnativenavigation/views/bottomtabs/BottomTabsTest.kt +0 -40
  141. package/lib/android/app/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker +0 -1
@@ -1,35 +0,0 @@
1
- package com.reactnativenavigation;
2
-
3
- import android.app.*;
4
-
5
- import com.facebook.react.ReactApplication;
6
- import com.facebook.react.ReactNativeHost;
7
- import com.facebook.react.ReactPackage;
8
-
9
- import java.util.Collections;
10
- import java.util.List;
11
-
12
- public class TestApplication extends Application implements ReactApplication {
13
- private final ReactNativeHost host = new ReactNativeHost(this) {
14
- @Override
15
- public boolean getUseDeveloperSupport() {
16
- return true;
17
- }
18
-
19
- @Override
20
- protected List<ReactPackage> getPackages() {
21
- return Collections.emptyList();
22
- }
23
- };
24
-
25
- @Override
26
- public void onCreate() {
27
- super.onCreate();
28
- setTheme(R.style.Theme_AppCompat);
29
- }
30
-
31
- @Override
32
- public ReactNativeHost getReactNativeHost() {
33
- return host;
34
- }
35
- }
@@ -1,62 +0,0 @@
1
- package com.reactnativenavigation;
2
-
3
- import android.app.Activity;
4
- import android.content.Context;
5
- import android.view.View;
6
- import android.view.ViewGroup;
7
-
8
- import androidx.annotation.NonNull;
9
-
10
- import com.reactnativenavigation.mocks.TitleBarReactViewCreatorMock;
11
- import com.reactnativenavigation.mocks.TopBarBackgroundViewCreatorMock;
12
- import com.reactnativenavigation.mocks.TitleBarButtonCreatorMock;
13
- import com.reactnativenavigation.mocks.TypefaceLoaderMock;
14
- import com.reactnativenavigation.options.Options;
15
- import com.reactnativenavigation.options.params.Bool;
16
- import com.reactnativenavigation.utils.RenderChecker;
17
- import com.reactnativenavigation.viewcontrollers.stack.StackPresenter;
18
- import com.reactnativenavigation.react.events.EventEmitter;
19
- import com.reactnativenavigation.utils.CompatUtils;
20
- import com.reactnativenavigation.utils.ImageLoader;
21
- import com.reactnativenavigation.utils.UiUtils;
22
- import com.reactnativenavigation.viewcontrollers.child.ChildControllersRegistry;
23
- import com.reactnativenavigation.viewcontrollers.viewcontroller.ViewController;
24
- import com.reactnativenavigation.viewcontrollers.stack.topbar.button.IconResolver;
25
- import com.reactnativenavigation.viewcontrollers.stack.StackControllerBuilder;
26
- import com.reactnativenavigation.viewcontrollers.stack.topbar.TopBarController;
27
- import com.reactnativenavigation.views.stack.StackLayout;
28
- import com.reactnativenavigation.views.stack.topbar.TopBar;
29
-
30
- import org.mockito.Mockito;
31
-
32
- public class TestUtils {
33
- public static StackControllerBuilder newStackController(Activity activity) {
34
- TopBarController topBarController = new TopBarController() {
35
- @Override
36
- protected TopBar createTopBar(@NonNull Context context, @NonNull StackLayout stackLayout) {
37
- TopBar topBar = super.createTopBar(context, stackLayout);
38
- topBar.layout(0, 0, 1000, UiUtils.getTopBarHeight(context));
39
- return topBar;
40
- }
41
- };
42
- return new StackControllerBuilder(activity, Mockito.mock(EventEmitter.class))
43
- .setId("stack" + CompatUtils.generateViewId())
44
- .setChildRegistry(new ChildControllersRegistry())
45
- .setTopBarController(topBarController)
46
- .setStackPresenter(new StackPresenter(activity, new TitleBarReactViewCreatorMock(), new TopBarBackgroundViewCreatorMock(), new TitleBarButtonCreatorMock(), new IconResolver(activity, new ImageLoader()), new TypefaceLoaderMock(), new RenderChecker(), new Options()))
47
- .setInitialOptions(new Options());
48
- }
49
-
50
- public static void hideBackButton(ViewController<?> viewController) {
51
- viewController.options.topBar.buttons.back.visible = new Bool(false);
52
- }
53
-
54
- public static <T extends View> T spyOn(T child) {
55
- ViewGroup parent = (ViewGroup) child.getParent();
56
- int indexOf = parent.indexOfChild(child);
57
- parent.removeView(child);
58
- T spy = Mockito.spy(child);
59
- parent.addView(spy, indexOf);
60
- return spy;
61
- }
62
- }
@@ -1,8 +0,0 @@
1
- package com.reactnativenavigation.fakes
2
-
3
- import android.app.Activity
4
- import com.reactnativenavigation.mocks.ImageLoaderMock
5
- import com.reactnativenavigation.utils.ImageLoader
6
- import com.reactnativenavigation.viewcontrollers.stack.topbar.button.IconResolver
7
-
8
- class IconResolverFake(activity: Activity, imageLoader: ImageLoader = ImageLoaderMock.mock()) : IconResolver(activity, imageLoader)
@@ -1,30 +0,0 @@
1
- package com.reactnativenavigation.mocks;
2
-
3
- import android.graphics.Canvas;
4
- import android.graphics.ColorFilter;
5
- import android.graphics.drawable.Drawable;
6
-
7
- import androidx.annotation.NonNull;
8
- import androidx.annotation.Nullable;
9
-
10
- public class BackDrawable extends Drawable {
11
- @Override
12
- public void draw(@NonNull Canvas canvas) {
13
-
14
- }
15
-
16
- @Override
17
- public void setAlpha(int alpha) {
18
-
19
- }
20
-
21
- @Override
22
- public void setColorFilter(@Nullable ColorFilter colorFilter) {
23
-
24
- }
25
-
26
- @Override
27
- public int getOpacity() {
28
- return 0;
29
- }
30
- }
@@ -1,49 +0,0 @@
1
- package com.reactnativenavigation.mocks
2
-
3
- import android.graphics.Canvas
4
- import android.graphics.ColorFilter
5
- import android.graphics.drawable.Drawable
6
-
7
- import com.reactnativenavigation.utils.ImageLoader
8
- import com.reactnativenavigation.utils.ImageLoader.ImagesLoadingListener
9
- import org.mockito.Mockito.doAnswer
10
- import org.mockito.kotlin.any
11
- import org.mockito.kotlin.mock
12
- import org.mockito.kotlin.whenever
13
- import java.util.*
14
-
15
- object ImageLoaderMock {
16
- val mockDrawable: Drawable = object : Drawable() {
17
- override fun draw(canvas: Canvas) {}
18
- override fun setAlpha(alpha: Int) {}
19
- override fun setColorFilter(colorFilter: ColorFilter?) {}
20
- override fun getOpacity(): Int {
21
- return 0
22
- }
23
- }
24
- private val backIcon: Drawable = BackDrawable()
25
-
26
- @JvmStatic
27
- fun mock(): ImageLoader {
28
- return this.mock(mockDrawable)
29
- }
30
-
31
- @JvmStatic
32
- fun mock(returnDrawable: Drawable = mockDrawable): ImageLoader {
33
- val imageLoader = mock<ImageLoader>()
34
- doAnswer { invocation ->
35
- val urlCount = (invocation.arguments[1] as Collection<*>).size
36
- val drawables = Collections.nCopies(urlCount, returnDrawable)
37
- (invocation.arguments[2] as ImagesLoadingListener).onComplete(drawables)
38
- null
39
- }.`when`(imageLoader).loadIcons(any(), any(), any())
40
-
41
- doAnswer { invocation ->
42
- (invocation.arguments[2] as ImagesLoadingListener).onComplete(returnDrawable)
43
- null
44
- }.`when`(imageLoader).loadIcon(any(), any(), any())
45
-
46
- whenever(imageLoader.getBackButtonIcon(any())).thenReturn(backIcon)
47
- return imageLoader
48
- }
49
- }
@@ -1,18 +0,0 @@
1
- package com.reactnativenavigation.mocks
2
-
3
- import android.view.ViewGroup
4
-
5
- import com.reactnativenavigation.options.Options
6
- import com.reactnativenavigation.viewcontrollers.viewcontroller.ViewController
7
- import org.mockito.kotlin.mock
8
- import org.mockito.kotlin.whenever
9
-
10
- object Mocks {
11
- fun viewController(): ViewController<*> {
12
- val mock = mock<ViewController<*>>()
13
- whenever(mock.resolveCurrentOptions()).thenReturn(Options.EMPTY)
14
- val view = mock<ViewGroup>()
15
- whenever(mock.view).thenReturn(view)
16
- return mock
17
- }
18
- }
@@ -1,15 +0,0 @@
1
- package com.reactnativenavigation.mocks;
2
-
3
- import android.app.*;
4
-
5
- import com.reactnativenavigation.options.*;
6
- import com.reactnativenavigation.viewcontrollers.component.ComponentPresenter;
7
- import com.reactnativenavigation.viewcontrollers.viewcontroller.Presenter;
8
- import com.reactnativenavigation.viewcontrollers.child.ChildControllersRegistry;
9
- import com.reactnativenavigation.viewcontrollers.component.ComponentViewController;
10
-
11
- public class SimpleComponentViewController extends ComponentViewController {
12
- public SimpleComponentViewController(Activity activity, ChildControllersRegistry childRegistry, String id, Options initialOptions) {
13
- super(activity, childRegistry,id, "theComponentName", new TestComponentViewCreator(), initialOptions, new Presenter(activity, new Options()), new ComponentPresenter(Options.EMPTY));
14
- }
15
- }
@@ -1,54 +0,0 @@
1
- package com.reactnativenavigation.mocks;
2
-
3
- import android.content.Context;
4
- import android.view.MotionEvent;
5
- import android.view.ViewGroup;
6
- import android.widget.FrameLayout;
7
- import android.widget.RelativeLayout;
8
-
9
- import com.reactnativenavigation.viewcontrollers.viewcontroller.ScrollEventListener;
10
- import com.reactnativenavigation.viewcontrollers.viewcontroller.IReactView;
11
-
12
- public class SimpleOverlay extends RelativeLayout implements IReactView {
13
- public SimpleOverlay(Context context) {
14
- super(context);
15
- }
16
-
17
- @Override
18
- public boolean isReady() {
19
- return true;
20
- }
21
-
22
- @Override
23
- public ViewGroup asView() {
24
- FrameLayout root = new FrameLayout(getContext());
25
- FrameLayout overlay = new FrameLayout(getContext());
26
- root.addView(overlay);
27
- return root;
28
- }
29
-
30
- @Override
31
- public void destroy() {
32
-
33
- }
34
-
35
- @Override
36
- public void sendOnNavigationButtonPressed(String buttonId) {
37
-
38
- }
39
-
40
- @Override
41
- public ScrollEventListener getScrollEventListener() {
42
- return null;
43
- }
44
-
45
- @Override
46
- public void dispatchTouchEventToJs(MotionEvent event) {
47
-
48
- }
49
-
50
- @Override
51
- public boolean isRendered() {
52
- return getChildCount() >= 1;
53
- }
54
- }
@@ -1,113 +0,0 @@
1
- package com.reactnativenavigation.mocks;
2
-
3
- import android.app.Activity;
4
- import android.content.Context;
5
- import android.view.MotionEvent;
6
-
7
- import androidx.annotation.NonNull;
8
-
9
- import com.facebook.react.ReactInstanceManager;
10
- import com.reactnativenavigation.options.Options;
11
- import com.reactnativenavigation.react.ReactView;
12
- import com.reactnativenavigation.viewcontrollers.child.ChildController;
13
- import com.reactnativenavigation.viewcontrollers.child.ChildControllersRegistry;
14
- import com.reactnativenavigation.viewcontrollers.component.ComponentPresenterBase;
15
- import com.reactnativenavigation.viewcontrollers.viewcontroller.Presenter;
16
- import com.reactnativenavigation.viewcontrollers.viewcontroller.ScrollEventListener;
17
- import com.reactnativenavigation.views.component.ReactComponent;
18
-
19
- import org.mockito.Mockito;
20
-
21
- import static com.reactnativenavigation.utils.ObjectUtils.perform;
22
-
23
- public class SimpleViewController extends ChildController<SimpleViewController.SimpleView> {
24
- private final ComponentPresenterBase presenter = new ComponentPresenterBase();
25
-
26
- public SimpleViewController(Activity activity, ChildControllersRegistry childRegistry, String id, Options options) {
27
- this(activity, childRegistry, id, new Presenter(activity, new Options()), options);
28
- }
29
-
30
- public SimpleViewController(Activity activity, ChildControllersRegistry childRegistry, String id, Presenter presenter, Options options) {
31
- super(activity, childRegistry, id, presenter, options);
32
- }
33
-
34
- @Override
35
- public SimpleView createView() {
36
- return new SimpleView(getActivity());
37
- }
38
-
39
- @Override
40
- public void sendOnNavigationButtonPressed(String buttonId) {
41
- getView().sendOnNavigationButtonPressed(buttonId);
42
- }
43
-
44
- @Override
45
- public void destroy() {
46
- if (!isDestroyed()) performOnParentController(parent -> parent.onChildDestroyed(this));
47
- super.destroy();
48
- }
49
-
50
- @NonNull
51
- @Override
52
- public String toString() {
53
- return "SimpleViewController " + getId();
54
- }
55
-
56
- @Override
57
- public int getTopInset() {
58
- int statusBarInset = resolveCurrentOptions().statusBar.isHiddenOrDrawBehind() ? 0 : 63;
59
- return statusBarInset + perform(getParentController(), 0, p -> p.getTopInset(this));
60
- }
61
-
62
- @Override
63
- public void applyBottomInset() {
64
- if (view != null) presenter.applyBottomInset(view, getBottomInset());
65
- }
66
-
67
- @Override
68
- public String getCurrentComponentName() {
69
- return null;
70
- }
71
-
72
- public static class SimpleView extends ReactView implements ReactComponent {
73
-
74
- public SimpleView(@NonNull Context context) {
75
- super(context, Mockito.mock(ReactInstanceManager.class), "compId", "compName");
76
- }
77
-
78
- @Override
79
- public boolean isRendered() {
80
- return getChildCount() >= 1;
81
- }
82
-
83
- @Override
84
- public boolean isReady() {
85
- return false;
86
- }
87
-
88
- @Override
89
- public ReactView asView() {
90
- return this;
91
- }
92
-
93
- @Override
94
- public void destroy() {
95
-
96
- }
97
-
98
- @Override
99
- public void sendOnNavigationButtonPressed(String buttonId) {
100
-
101
- }
102
-
103
- @Override
104
- public ScrollEventListener getScrollEventListener() {
105
- return null;
106
- }
107
-
108
- @Override
109
- public void dispatchTouchEventToJs(MotionEvent event) {
110
-
111
- }
112
- }
113
- }
@@ -1,79 +0,0 @@
1
- package com.reactnativenavigation.mocks;
2
-
3
- import android.content.Context;
4
- import android.view.MotionEvent;
5
- import android.view.ViewGroup;
6
-
7
- import androidx.annotation.NonNull;
8
-
9
- import com.reactnativenavigation.options.ButtonOptions;
10
- import com.reactnativenavigation.viewcontrollers.viewcontroller.ScrollEventListener;
11
- import com.reactnativenavigation.options.Options;
12
- import com.reactnativenavigation.react.ReactView;
13
- import com.reactnativenavigation.react.events.ComponentType;
14
- import com.reactnativenavigation.viewcontrollers.stack.topbar.button.ButtonController;
15
- import com.reactnativenavigation.views.component.ComponentLayout;
16
-
17
- public class TestComponentLayout extends ComponentLayout implements ButtonController.OnClickListener {
18
-
19
- private ReactView reactView;
20
-
21
- public TestComponentLayout(final Context context, ReactView reactView) {
22
- super(context, reactView);
23
- this.reactView = reactView;
24
- }
25
-
26
- @Override
27
- public boolean isReady() {
28
- return false;
29
- }
30
-
31
- @Override
32
- public ViewGroup asView() {
33
- return this;
34
- }
35
-
36
- @Override
37
- public void destroy() {
38
- }
39
-
40
- @Override
41
- public void sendComponentWillStart() {
42
- reactView.sendComponentStart(ComponentType.Component);
43
- }
44
-
45
- @Override
46
- public void sendComponentStart() {
47
- reactView.sendComponentStart(ComponentType.Component);
48
- }
49
-
50
- @Override
51
- public void sendComponentStop() {
52
- reactView.sendComponentStop(ComponentType.Component);
53
- }
54
-
55
- @Override
56
- public void applyOptions(Options options) {
57
-
58
- }
59
-
60
- @Override
61
- public void sendOnNavigationButtonPressed(String id) {
62
-
63
- }
64
-
65
- @Override
66
- public ScrollEventListener getScrollEventListener() {
67
- return null;
68
- }
69
-
70
- @Override
71
- public void dispatchTouchEventToJs(MotionEvent event) {
72
-
73
- }
74
-
75
- @Override
76
- public void onPress(@NonNull ButtonOptions button) {
77
-
78
- }
79
- }
@@ -1,18 +0,0 @@
1
- package com.reactnativenavigation.mocks;
2
-
3
- import android.app.Activity;
4
-
5
- import com.reactnativenavigation.react.ReactView;
6
- import com.reactnativenavigation.viewcontrollers.viewcontroller.ReactViewCreator;
7
- import com.reactnativenavigation.views.component.ComponentLayout;
8
- import com.reactnativenavigation.views.component.ReactComponent;
9
-
10
- import static org.mockito.Mockito.spy;
11
-
12
- public class TestComponentViewCreator implements ReactViewCreator {
13
- @Override
14
- public ReactComponent create(final Activity activity, final String componentId, final String componentName) {
15
- ReactView reactView = spy(new TestReactView(activity));
16
- return new ComponentLayout(activity, reactView);
17
- }
18
- }
@@ -1,71 +0,0 @@
1
- package com.reactnativenavigation.mocks;
2
-
3
- import android.content.Context;
4
- import android.os.Bundle;
5
- import android.view.MotionEvent;
6
-
7
- import com.facebook.react.ReactInstanceManager;
8
- import com.reactnativenavigation.viewcontrollers.viewcontroller.ScrollEventListener;
9
- import com.reactnativenavigation.react.ReactView;
10
- import com.reactnativenavigation.react.events.ComponentType;
11
- import com.reactnativenavigation.viewcontrollers.viewcontroller.IReactView;
12
-
13
- import androidx.annotation.NonNull;
14
- import androidx.annotation.Nullable;
15
-
16
- public class TestReactView extends ReactView implements IReactView {
17
-
18
- public TestReactView(@NonNull Context context) {
19
- super(context, null, "", "");
20
- }
21
-
22
- @Override
23
- public void startReactApplication(ReactInstanceManager reactInstanceManager, String moduleName, @Nullable Bundle initialProperties, @Nullable String initialUITemplate) {
24
-
25
- }
26
-
27
- @Override
28
- public void sendComponentWillStart(ComponentType type) {
29
-
30
- }
31
-
32
- @Override
33
- public void sendComponentStart(ComponentType type) {
34
-
35
- }
36
-
37
- @Override
38
- public void sendComponentStop(ComponentType type) {
39
-
40
- }
41
-
42
- @Override
43
- public boolean isReady() {
44
- return false;
45
- }
46
-
47
- @Override
48
- public void destroy() {
49
-
50
- }
51
-
52
- @Override
53
- public void sendOnNavigationButtonPressed(String buttonId) {
54
-
55
- }
56
-
57
- @Override
58
- public ScrollEventListener getScrollEventListener() {
59
- return null;
60
- }
61
-
62
- @Override
63
- public void dispatchTouchEventToJs(MotionEvent event) {
64
-
65
- }
66
-
67
- @Override
68
- public boolean isRendered() {
69
- return getChildCount() >= 1;
70
- }
71
- }
@@ -1,34 +0,0 @@
1
- package com.reactnativenavigation.mocks;
2
-
3
- import android.app.Activity;
4
-
5
- import com.facebook.react.ReactInstanceManager;
6
- import com.reactnativenavigation.options.ComponentOptions;
7
- import com.reactnativenavigation.react.events.ComponentType;
8
- import com.reactnativenavigation.views.stack.topbar.titlebar.TitleBarButtonCreator;
9
- import com.reactnativenavigation.views.stack.topbar.titlebar.TitleBarReactButtonView;
10
-
11
- import static org.mockito.Mockito.mock;
12
-
13
- public class TitleBarButtonCreatorMock extends TitleBarButtonCreator {
14
-
15
- public TitleBarButtonCreatorMock() {
16
- super(null);
17
- }
18
-
19
- @Override
20
- public TitleBarReactButtonView create(Activity activity, ComponentOptions component) {
21
- final ReactInstanceManager reactInstanceManager = mock(ReactInstanceManager.class);
22
- return new TitleBarReactButtonView(activity, reactInstanceManager, component) {
23
- @Override
24
- public void sendComponentStart(ComponentType type) {
25
-
26
- }
27
-
28
- @Override
29
- public void sendComponentStop(ComponentType type) {
30
-
31
- }
32
- };
33
- }
34
- }
@@ -1,20 +0,0 @@
1
- package com.reactnativenavigation.mocks;
2
-
3
- import android.app.Activity;
4
-
5
- import com.facebook.react.ReactInstanceManager;
6
- import com.reactnativenavigation.views.stack.topbar.titlebar.TitleBarReactView;
7
- import com.reactnativenavigation.views.stack.topbar.titlebar.TitleBarReactViewCreator;
8
-
9
- import static org.mockito.Mockito.mock;
10
-
11
- public class TitleBarReactViewCreatorMock extends TitleBarReactViewCreator {
12
- public TitleBarReactViewCreatorMock() {
13
- super(mock(ReactInstanceManager.class));
14
- }
15
-
16
- @Override
17
- public TitleBarReactView create(Activity activity, String componentId, String componentName) {
18
- return new TitleBarReactView(activity, instanceManager, componentId, componentName);
19
- }
20
- }
@@ -1,20 +0,0 @@
1
- package com.reactnativenavigation.mocks;
2
-
3
- import android.app.Activity;
4
-
5
- import com.facebook.react.ReactInstanceManager;
6
- import com.reactnativenavigation.views.stack.topbar.TopBarBackgroundView;
7
- import com.reactnativenavigation.views.stack.topbar.TopBarBackgroundViewCreator;
8
-
9
- import static org.mockito.Mockito.mock;
10
-
11
- public class TopBarBackgroundViewCreatorMock extends TopBarBackgroundViewCreator {
12
- public TopBarBackgroundViewCreatorMock() {
13
- super(mock(ReactInstanceManager.class));
14
- }
15
-
16
- @Override
17
- public TopBarBackgroundView create(Activity activity, String componentId, String componentName) {
18
- return new TopBarBackgroundView(activity, instanceManager, componentId, componentName);
19
- }
20
- }
@@ -1,21 +0,0 @@
1
- package com.reactnativenavigation.mocks
2
-
3
- import android.graphics.Typeface
4
- import com.reactnativenavigation.options.parsers.TypefaceLoader
5
- import org.mockito.kotlin.mock
6
-
7
- class TypefaceLoaderMock() : TypefaceLoader(mock()) {
8
- private var mockTypefaces: Map<String, Typeface>? = null
9
-
10
- constructor(mockTypefaces: Map<String, Typeface>?) : this() {
11
- this.mockTypefaces = mockTypefaces
12
-
13
- }
14
-
15
- override val defaultTypeFace: Typeface
16
- get() = Typeface.DEFAULT
17
-
18
- override fun getTypeFace(fontFamilyName: String?, fontStyle: String?, fontWeight: String?, defaultTypeFace: Typeface?): Typeface? {
19
- return mockTypefaces?.getOrDefault(fontFamilyName, defaultTypeFace) ?: defaultTypeFace
20
- }
21
- }