Guy Carmeli 6 years ago
parent
commit
6fcac02897
26 changed files with 77 additions and 51 deletions
  1. 1
    1
      lib/android/app/src/main/java/com/reactnativenavigation/anim/TopBarAnimator.java
  2. 1
    1
      lib/android/app/src/main/java/com/reactnativenavigation/anim/TopBarCollapseBehavior.java
  3. 3
    3
      lib/android/app/src/main/java/com/reactnativenavigation/parse/LayoutFactory.java
  4. 1
    1
      lib/android/app/src/main/java/com/reactnativenavigation/presentation/OptionsPresenter.java
  5. 1
    1
      lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/StackController.java
  6. 5
    5
      lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/TopBarButtonController.java
  7. 2
    2
      lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/toptabs/TopTabsController.java
  8. 1
    0
      lib/android/app/src/main/java/com/reactnativenavigation/views/Component.java
  9. 1
    0
      lib/android/app/src/main/java/com/reactnativenavigation/views/ComponentLayout.java
  10. 1
    0
      lib/android/app/src/main/java/com/reactnativenavigation/views/ExternalComponentLayout.java
  11. 1
    0
      lib/android/app/src/main/java/com/reactnativenavigation/views/StackLayout.java
  12. 0
    20
      lib/android/app/src/main/java/com/reactnativenavigation/views/TopBarButtonCreator.java
  13. 20
    0
      lib/android/app/src/main/java/com/reactnativenavigation/views/titlebar/TitleBarButtonCreator.java
  14. 3
    3
      lib/android/app/src/main/java/com/reactnativenavigation/views/titlebar/TitleBarReactButtonView.java
  15. 3
    3
      lib/android/app/src/main/java/com/reactnativenavigation/views/topbar/TopBar.java
  16. 2
    1
      lib/android/app/src/main/java/com/reactnativenavigation/views/toptabs/TopTabs.java
  17. 1
    1
      lib/android/app/src/main/java/com/reactnativenavigation/views/toptabs/TopTabsLayoutCreator.java
  18. 2
    1
      lib/android/app/src/main/java/com/reactnativenavigation/views/toptabs/TopTabsStyleHelper.java
  19. 3
    1
      lib/android/app/src/main/java/com/reactnativenavigation/views/toptabs/TopTabsViewPager.java
  20. 1
    1
      lib/android/app/src/test/java/com/reactnativenavigation/mocks/SimpleViewController.java
  21. 3
    3
      lib/android/app/src/test/java/com/reactnativenavigation/mocks/TopBarButtonCreatorMock.java
  22. 1
    1
      lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/OptionsMergingTest.java
  23. 2
    2
      lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/TopTabsViewControllerTest.java
  24. 1
    0
      lib/android/app/src/test/java/com/reactnativenavigation/views/TopBarBackgroundComponentTest.java
  25. 1
    0
      lib/android/app/src/test/java/com/reactnativenavigation/views/TopBarTest.java
  26. 16
    0
      playground/src/screens/CustomTopBar.js

+ 1
- 1
lib/android/app/src/main/java/com/reactnativenavigation/anim/TopBarAnimator.java View File

@@ -11,7 +11,7 @@ import android.view.animation.AccelerateInterpolator;
11 11
 import android.view.animation.DecelerateInterpolator;
12 12
 
13 13
 import com.reactnativenavigation.parse.AnimationOptions;
14
-import com.reactnativenavigation.views.TopBar;
14
+import com.reactnativenavigation.views.topbar.TopBar;
15 15
 
16 16
 public class TopBarAnimator {
17 17
 

+ 1
- 1
lib/android/app/src/main/java/com/reactnativenavigation/anim/TopBarCollapseBehavior.java View File

@@ -4,7 +4,7 @@ package com.reactnativenavigation.anim;
4 4
 import android.view.View;
5 5
 
6 6
 import com.reactnativenavigation.interfaces.ScrollEventListener;
7
-import com.reactnativenavigation.views.TopBar;
7
+import com.reactnativenavigation.views.topbar.TopBar;
8 8
 
9 9
 public class TopBarCollapseBehavior implements ScrollEventListener.OnScrollListener, ScrollEventListener.OnDragListener {
10 10
     private TopBar topBar;

+ 3
- 3
lib/android/app/src/main/java/com/reactnativenavigation/parse/LayoutFactory.java View File

@@ -16,8 +16,8 @@ import com.reactnativenavigation.viewcontrollers.externalcomponent.ExternalCompo
16 16
 import com.reactnativenavigation.viewcontrollers.toptabs.TopTabsController;
17 17
 import com.reactnativenavigation.views.ComponentViewCreator;
18 18
 import com.reactnativenavigation.views.titlebar.TitleBarReactViewCreator;
19
-import com.reactnativenavigation.views.TopBarButtonCreator;
20
-import com.reactnativenavigation.views.TopTabsLayoutCreator;
19
+import com.reactnativenavigation.views.titlebar.TitleBarButtonCreator;
20
+import com.reactnativenavigation.views.toptabs.TopTabsLayoutCreator;
21 21
 import com.reactnativenavigation.views.topbar.TopBarBackgroundViewCreator;
22 22
 
23 23
 import java.util.ArrayList;
@@ -121,7 +121,7 @@ public class LayoutFactory {
121 121
 
122 122
 	private ViewController createStack(LayoutNode node) {
123 123
         StackController stackController = new StackController(activity,
124
-                new TopBarButtonCreator(reactInstanceManager),
124
+                new TitleBarButtonCreator(reactInstanceManager),
125 125
                 new TitleBarReactViewCreator(reactInstanceManager),
126 126
                 new TopBarBackgroundViewCreator(reactInstanceManager),
127 127
                 node.id,

+ 1
- 1
lib/android/app/src/main/java/com/reactnativenavigation/presentation/OptionsPresenter.java View File

@@ -13,7 +13,7 @@ import com.reactnativenavigation.parse.TopTabsOptions;
13 13
 import com.reactnativenavigation.parse.params.Button;
14 14
 import com.reactnativenavigation.viewcontrollers.IReactView;
15 15
 import com.reactnativenavigation.views.Component;
16
-import com.reactnativenavigation.views.TopBar;
16
+import com.reactnativenavigation.views.topbar.TopBar;
17 17
 
18 18
 import java.util.ArrayList;
19 19
 

+ 1
- 1
lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/StackController.java View File

@@ -13,7 +13,7 @@ import com.reactnativenavigation.utils.NoOpPromise;
13 13
 import com.reactnativenavigation.views.Component;
14 14
 import com.reactnativenavigation.views.ReactComponent;
15 15
 import com.reactnativenavigation.views.StackLayout;
16
-import com.reactnativenavigation.views.TopBar;
16
+import com.reactnativenavigation.views.topbar.TopBar;
17 17
 import com.reactnativenavigation.views.titlebar.TitleBarReactViewCreator;
18 18
 import com.reactnativenavigation.views.topbar.TopBarBackgroundViewCreator;
19 19
 

+ 5
- 5
lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/TopBarButtonController.java View File

@@ -18,7 +18,7 @@ import android.widget.TextView;
18 18
 import com.reactnativenavigation.parse.Options;
19 19
 import com.reactnativenavigation.parse.params.Button;
20 20
 import com.reactnativenavigation.parse.params.Text;
21
-import com.reactnativenavigation.views.TopBarReactButtonView;
21
+import com.reactnativenavigation.views.titlebar.TitleBarReactButtonView;
22 22
 import com.reactnativenavigation.utils.ArrayUtils;
23 23
 import com.reactnativenavigation.utils.ImageLoader;
24 24
 import com.reactnativenavigation.utils.ImageLoadingListenerAdapter;
@@ -28,7 +28,7 @@ import com.reactnativenavigation.utils.ViewUtils;
28 28
 import java.util.ArrayList;
29 29
 import java.util.List;
30 30
 
31
-public class TopBarButtonController extends ViewController<TopBarReactButtonView> implements MenuItem.OnMenuItemClickListener {
31
+public class TopBarButtonController extends ViewController<TitleBarReactButtonView> implements MenuItem.OnMenuItemClickListener {
32 32
     public interface OnClickListener {
33 33
         void onPress(String buttonId);
34 34
     }
@@ -62,9 +62,9 @@ public class TopBarButtonController extends ViewController<TopBarReactButtonView
62 62
 
63 63
     @NonNull
64 64
     @Override
65
-    protected TopBarReactButtonView createView() {
66
-        view = (TopBarReactButtonView) viewCreator.create(getActivity(), getId(), button.component.get());
67
-        return (TopBarReactButtonView) view.asView();
65
+    protected TitleBarReactButtonView createView() {
66
+        view = (TitleBarReactButtonView) viewCreator.create(getActivity(), getId(), button.component.get());
67
+        return (TitleBarReactButtonView) view.asView();
68 68
     }
69 69
 
70 70
     @Override

+ 2
- 2
lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/toptabs/TopTabsController.java View File

@@ -11,8 +11,8 @@ import com.reactnativenavigation.viewcontrollers.ParentController;
11 11
 import com.reactnativenavigation.viewcontrollers.ViewController;
12 12
 import com.reactnativenavigation.viewcontrollers.ViewVisibilityListenerAdapter;
13 13
 import com.reactnativenavigation.views.Component;
14
-import com.reactnativenavigation.views.TopTabsLayoutCreator;
15
-import com.reactnativenavigation.views.TopTabsViewPager;
14
+import com.reactnativenavigation.views.toptabs.TopTabsLayoutCreator;
15
+import com.reactnativenavigation.views.toptabs.TopTabsViewPager;
16 16
 
17 17
 import java.util.Collection;
18 18
 import java.util.List;

+ 1
- 0
lib/android/app/src/main/java/com/reactnativenavigation/views/Component.java View File

@@ -1,6 +1,7 @@
1 1
 package com.reactnativenavigation.views;
2 2
 
3 3
 import com.reactnativenavigation.parse.Options;
4
+import com.reactnativenavigation.views.topbar.TopBar;
4 5
 
5 6
 public interface Component {
6 7
     void applyOptions(Options options);

+ 1
- 0
lib/android/app/src/main/java/com/reactnativenavigation/views/ComponentLayout.java View File

@@ -12,6 +12,7 @@ import com.reactnativenavigation.parse.Options;
12 12
 import com.reactnativenavigation.presentation.ComponentOptionsPresenter;
13 13
 import com.reactnativenavigation.viewcontrollers.IReactView;
14 14
 import com.reactnativenavigation.viewcontrollers.TopBarButtonController;
15
+import com.reactnativenavigation.views.topbar.TopBar;
15 16
 import com.reactnativenavigation.views.touch.OverlayTouchDelegate;
16 17
 
17 18
 import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;

+ 1
- 0
lib/android/app/src/main/java/com/reactnativenavigation/views/ExternalComponentLayout.java View File

@@ -7,6 +7,7 @@ import android.widget.RelativeLayout;
7 7
 
8 8
 import com.reactnativenavigation.parse.Options;
9 9
 import com.reactnativenavigation.presentation.ComponentOptionsPresenter;
10
+import com.reactnativenavigation.views.topbar.TopBar;
10 11
 
11 12
 import static android.widget.RelativeLayout.BELOW;
12 13
 

+ 1
- 0
lib/android/app/src/main/java/com/reactnativenavigation/views/StackLayout.java View File

@@ -13,6 +13,7 @@ import com.reactnativenavigation.utils.CompatUtils;
13 13
 import com.reactnativenavigation.viewcontrollers.ReactViewCreator;
14 14
 import com.reactnativenavigation.viewcontrollers.TopBarButtonController;
15 15
 import com.reactnativenavigation.views.titlebar.TitleBarReactViewCreator;
16
+import com.reactnativenavigation.views.topbar.TopBar;
16 17
 import com.reactnativenavigation.views.topbar.TopBarBackgroundViewCreator;
17 18
 
18 19
 import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;

+ 0
- 20
lib/android/app/src/main/java/com/reactnativenavigation/views/TopBarButtonCreator.java View File

@@ -1,20 +0,0 @@
1
-package com.reactnativenavigation.views;
2
-
3
-import android.app.Activity;
4
-
5
-import com.facebook.react.ReactInstanceManager;
6
-import com.reactnativenavigation.viewcontrollers.ReactViewCreator;
7
-
8
-public class TopBarButtonCreator implements ReactViewCreator {
9
-
10
-    private ReactInstanceManager instanceManager;
11
-
12
-    public TopBarButtonCreator(ReactInstanceManager instanceManager) {
13
-        this.instanceManager = instanceManager;
14
-	}
15
-
16
-	@Override
17
-	public TopBarReactButtonView create(Activity activity, String componentId, String componentName) {
18
-        return new TopBarReactButtonView(activity, instanceManager, componentId, componentName);
19
-    }
20
-}

+ 20
- 0
lib/android/app/src/main/java/com/reactnativenavigation/views/titlebar/TitleBarButtonCreator.java View File

@@ -0,0 +1,20 @@
1
+package com.reactnativenavigation.views.titlebar;
2
+
3
+import android.app.Activity;
4
+
5
+import com.facebook.react.ReactInstanceManager;
6
+import com.reactnativenavigation.viewcontrollers.ReactViewCreator;
7
+
8
+public class TitleBarButtonCreator implements ReactViewCreator {
9
+
10
+    private ReactInstanceManager instanceManager;
11
+
12
+    public TitleBarButtonCreator(ReactInstanceManager instanceManager) {
13
+        this.instanceManager = instanceManager;
14
+	}
15
+
16
+	@Override
17
+	public TitleBarReactButtonView create(Activity activity, String componentId, String componentName) {
18
+        return new TitleBarReactButtonView(activity, instanceManager, componentId, componentName);
19
+    }
20
+}

lib/android/app/src/main/java/com/reactnativenavigation/views/TopBarReactButtonView.java → lib/android/app/src/main/java/com/reactnativenavigation/views/titlebar/TitleBarReactButtonView.java View File

@@ -1,4 +1,4 @@
1
-package com.reactnativenavigation.views;
1
+package com.reactnativenavigation.views.titlebar;
2 2
 
3 3
 import android.annotation.SuppressLint;
4 4
 import android.content.Context;
@@ -7,9 +7,9 @@ import com.facebook.react.ReactInstanceManager;
7 7
 import com.reactnativenavigation.react.ReactView;
8 8
 
9 9
 @SuppressLint("ViewConstructor")
10
-public class TopBarReactButtonView extends ReactView {
10
+public class TitleBarReactButtonView extends ReactView {
11 11
 
12
-    public TopBarReactButtonView(Context context, ReactInstanceManager reactInstanceManager, String componentId, String componentName) {
12
+    public TitleBarReactButtonView(Context context, ReactInstanceManager reactInstanceManager, String componentId, String componentName) {
13 13
         super(context, reactInstanceManager, componentId, componentName);
14 14
     }
15 15
 

lib/android/app/src/main/java/com/reactnativenavigation/views/TopBar.java → lib/android/app/src/main/java/com/reactnativenavigation/views/topbar/TopBar.java View File

@@ -1,4 +1,4 @@
1
-package com.reactnativenavigation.views;
1
+package com.reactnativenavigation.views.topbar;
2 2
 
3 3
 import android.annotation.SuppressLint;
4 4
 import android.app.Activity;
@@ -27,10 +27,10 @@ import com.reactnativenavigation.parse.params.Text;
27 27
 import com.reactnativenavigation.utils.CompatUtils;
28 28
 import com.reactnativenavigation.viewcontrollers.ReactViewCreator;
29 29
 import com.reactnativenavigation.viewcontrollers.TopBarButtonController;
30
+import com.reactnativenavigation.views.StackLayout;
31
+import com.reactnativenavigation.views.toptabs.TopTabs;
30 32
 import com.reactnativenavigation.views.titlebar.TitleBar;
31 33
 import com.reactnativenavigation.views.titlebar.TitleBarReactViewCreator;
32
-import com.reactnativenavigation.views.topbar.TopBarBackgroundView;
33
-import com.reactnativenavigation.views.topbar.TopBarBackgroundViewCreator;
34 34
 
35 35
 import java.util.List;
36 36
 

lib/android/app/src/main/java/com/reactnativenavigation/views/TopTabs.java → lib/android/app/src/main/java/com/reactnativenavigation/views/toptabs/TopTabs.java View File

@@ -1,4 +1,4 @@
1
-package com.reactnativenavigation.views;
1
+package com.reactnativenavigation.views.toptabs;
2 2
 
3 3
 import android.content.Context;
4 4
 import android.graphics.Typeface;
@@ -8,6 +8,7 @@ import android.view.ViewManager;
8 8
 
9 9
 import com.reactnativenavigation.parse.params.Color;
10 10
 import com.reactnativenavigation.parse.params.Number;
11
+import com.reactnativenavigation.views.topbar.TopBar;
11 12
 
12 13
 public class TopTabs extends TabLayout {
13 14
     private final TopTabsStyleHelper styleHelper;

lib/android/app/src/main/java/com/reactnativenavigation/views/TopTabsLayoutCreator.java → lib/android/app/src/main/java/com/reactnativenavigation/views/toptabs/TopTabsLayoutCreator.java View File

@@ -1,4 +1,4 @@
1
-package com.reactnativenavigation.views;
1
+package com.reactnativenavigation.views.toptabs;
2 2
 
3 3
 import android.content.Context;
4 4
 

lib/android/app/src/main/java/com/reactnativenavigation/views/TopTabsStyleHelper.java → lib/android/app/src/main/java/com/reactnativenavigation/views/toptabs/TopTabsStyleHelper.java View File

@@ -1,4 +1,4 @@
1
-package com.reactnativenavigation.views;
1
+package com.reactnativenavigation.views.toptabs;
2 2
 
3 3
 import android.content.res.ColorStateList;
4 4
 import android.graphics.Typeface;
@@ -9,6 +9,7 @@ import com.reactnativenavigation.parse.params.Color;
9 9
 import com.reactnativenavigation.parse.params.Number;
10 10
 import com.reactnativenavigation.utils.Task;
11 11
 import com.reactnativenavigation.utils.ViewUtils;
12
+import com.reactnativenavigation.views.toptabs.TopTabs;
12 13
 
13 14
 class TopTabsStyleHelper {
14 15
     private TopTabs topTabs;

lib/android/app/src/main/java/com/reactnativenavigation/views/TopTabsViewPager.java → lib/android/app/src/main/java/com/reactnativenavigation/views/toptabs/TopTabsViewPager.java View File

@@ -1,4 +1,4 @@
1
-package com.reactnativenavigation.views;
1
+package com.reactnativenavigation.views.toptabs;
2 2
 
3 3
 import android.annotation.SuppressLint;
4 4
 import android.content.Context;
@@ -12,6 +12,8 @@ import com.reactnativenavigation.viewcontrollers.IReactView;
12 12
 import com.reactnativenavigation.viewcontrollers.TopBarButtonController;
13 13
 import com.reactnativenavigation.viewcontrollers.ViewController;
14 14
 import com.reactnativenavigation.viewcontrollers.toptabs.TopTabsAdapter;
15
+import com.reactnativenavigation.views.Component;
16
+import com.reactnativenavigation.views.topbar.TopBar;
15 17
 
16 18
 import java.util.List;
17 19
 

+ 1
- 1
lib/android/app/src/test/java/com/reactnativenavigation/mocks/SimpleViewController.java View File

@@ -11,7 +11,7 @@ import com.reactnativenavigation.interfaces.ScrollEventListener;
11 11
 import com.reactnativenavigation.parse.Options;
12 12
 import com.reactnativenavigation.viewcontrollers.ViewController;
13 13
 import com.reactnativenavigation.views.ReactComponent;
14
-import com.reactnativenavigation.views.TopBar;
14
+import com.reactnativenavigation.views.topbar.TopBar;
15 15
 
16 16
 public class SimpleViewController extends ViewController<FrameLayout> {
17 17
 

+ 3
- 3
lib/android/app/src/test/java/com/reactnativenavigation/mocks/TopBarButtonCreatorMock.java View File

@@ -3,7 +3,7 @@ package com.reactnativenavigation.mocks;
3 3
 import android.app.Activity;
4 4
 
5 5
 import com.facebook.react.ReactInstanceManager;
6
-import com.reactnativenavigation.views.TopBarReactButtonView;
6
+import com.reactnativenavigation.views.titlebar.TitleBarReactButtonView;
7 7
 import com.reactnativenavigation.viewcontrollers.ReactViewCreator;
8 8
 
9 9
 import static org.mockito.Mockito.mock;
@@ -11,9 +11,9 @@ import static org.mockito.Mockito.mock;
11 11
 public class TopBarButtonCreatorMock implements ReactViewCreator {
12 12
 
13 13
     @Override
14
-    public TopBarReactButtonView create(Activity activity, String componentId, String componentName) {
14
+    public TitleBarReactButtonView create(Activity activity, String componentId, String componentName) {
15 15
         final ReactInstanceManager reactInstanceManager = mock(ReactInstanceManager.class);
16
-        return new TopBarReactButtonView(activity, reactInstanceManager, componentId, componentName) {
16
+        return new TitleBarReactButtonView(activity, reactInstanceManager, componentId, componentName) {
17 17
             @Override
18 18
             public void sendComponentStart() {
19 19
 

+ 1
- 1
lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/OptionsMergingTest.java View File

@@ -15,7 +15,7 @@ import com.reactnativenavigation.parse.params.Fraction;
15 15
 import com.reactnativenavigation.parse.params.Number;
16 16
 import com.reactnativenavigation.parse.params.Text;
17 17
 import com.reactnativenavigation.presentation.OptionsPresenter;
18
-import com.reactnativenavigation.views.TopBar;
18
+import com.reactnativenavigation.views.topbar.TopBar;
19 19
 
20 20
 import org.json.JSONObject;
21 21
 import org.junit.Test;

+ 2
- 2
lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/TopTabsViewControllerTest.java View File

@@ -17,8 +17,8 @@ import com.reactnativenavigation.utils.ViewHelper;
17 17
 import com.reactnativenavigation.viewcontrollers.toptabs.TopTabsAdapter;
18 18
 import com.reactnativenavigation.viewcontrollers.toptabs.TopTabsController;
19 19
 import com.reactnativenavigation.views.ReactComponent;
20
-import com.reactnativenavigation.views.TopTabsLayoutCreator;
21
-import com.reactnativenavigation.views.TopTabsViewPager;
20
+import com.reactnativenavigation.views.toptabs.TopTabsLayoutCreator;
21
+import com.reactnativenavigation.views.toptabs.TopTabsViewPager;
22 22
 
23 23
 import org.junit.Test;
24 24
 import org.mockito.ArgumentCaptor;

+ 1
- 0
lib/android/app/src/test/java/com/reactnativenavigation/views/TopBarBackgroundComponentTest.java View File

@@ -12,6 +12,7 @@ import com.reactnativenavigation.mocks.TopBarButtonCreatorMock;
12 12
 import com.reactnativenavigation.parse.params.Text;
13 13
 import com.reactnativenavigation.utils.ViewUtils;
14 14
 import com.reactnativenavigation.viewcontrollers.TopBarButtonController;
15
+import com.reactnativenavigation.views.topbar.TopBar;
15 16
 import com.reactnativenavigation.views.topbar.TopBarBackgroundView;
16 17
 
17 18
 import org.junit.Test;

+ 1
- 0
lib/android/app/src/test/java/com/reactnativenavigation/views/TopBarTest.java View File

@@ -13,6 +13,7 @@ import com.reactnativenavigation.parse.params.Button;
13 13
 import com.reactnativenavigation.parse.params.Text;
14 14
 import com.reactnativenavigation.utils.TitleBarHelper;
15 15
 import com.reactnativenavigation.viewcontrollers.TopBarButtonController;
16
+import com.reactnativenavigation.views.topbar.TopBar;
16 17
 
17 18
 import org.junit.Test;
18 19
 

+ 16
- 0
playground/src/screens/CustomTopBar.js View File

@@ -16,6 +16,22 @@ class CustomTopBar extends Component {
16 16
     this.state = {};
17 17
   }
18 18
 
19
+  componentDidAppear() {
20
+    console.log('guyca', 'componentDidAppear');
21
+  }
22
+
23
+  componentDidDisappear() {
24
+    console.log('guyca', `componentDidDisappear`);
25
+  }
26
+
27
+  componentDidMount() {
28
+    console.log('guyca', `componentDidMount`);
29
+  }
30
+
31
+  componentWillUnmount() {
32
+    console.log('guyca', `componentWillUnmount`);
33
+  }
34
+
19 35
   render() {
20 36
     return (
21 37
       <View style={styles.container}>