Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Moved to a Single React Root #245

Merged
merged 134 commits into from
Jun 10, 2019
Merged

Moved to a Single React Root #245

merged 134 commits into from
Jun 10, 2019

Commits on Jun 1, 2019

  1. Created NavigationStack component

    Renders all the Scenes in the stack, one for each crumb plus the current state. Copied the getScenes from NavigationMotion in mobile because that's its counterpart. Will need the rest of the scene data when it comes to animating on android anyway - can add props to get the animation instead of adding to the state
    grahammendick committed Jun 1, 2019
    Configuration menu
    Copy the full SHA
    46b69d0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d085ec7 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3f914c9 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    79fd47f View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    9651e0c View commit details
    Browse the repository at this point in the history
  6. Revert "Added native Scene and NavigationStack files"

    This reverts commit 9651e0c.
    grahammendick committed Jun 1, 2019
    Configuration menu
    Copy the full SHA
    013f433 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    0a7eddb View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    018fbfd View commit details
    Browse the repository at this point in the history
  9. Reverted AppDelegate to init'ed version

    This is for react native 57.8 to match with package.json
    grahammendick committed Jun 1, 2019
    Configuration menu
    Copy the full SHA
    0680eb0 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    4545719 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    ed58ae4 View commit details
    Browse the repository at this point in the history
  12. Pushed subview onto navigationController

    Can't call suerp insert because then the react native grumbles that the parent react view controller aren't right. It's expecting the parent to be the host view controller but it's actually the navigation controller. Still need to track the subviews because gonna need them when swipe back and navigate I think because need client and server subviews to match (can't call setState when going back)
    grahammendick committed Jun 1, 2019
    Configuration menu
    Copy the full SHA
    127ab2e View commit details
    Browse the repository at this point in the history
  13. Removed subview cache, doesn't work

    Need to think about how to handle back on ios. Need to rerender otherwise if go back and then navigate, React won't think adding a scene, just updating an existing one
    grahammendick committed Jun 1, 2019
    Configuration menu
    Copy the full SHA
    35da2e1 View commit details
    Browse the repository at this point in the history
  14. Listened for ios back and navigated back

    Unfortunately it doesn't call removeReactSubview so done something wrong because it means that navigating back from react won't work. Probably do need to insertReactSubview to get the remove called
    grahammendick committed Jun 1, 2019
    Configuration menu
    Copy the full SHA
    8caffc7 View commit details
    Browse the repository at this point in the history
  15. Added the super all to insertReactSubview

    Otherwise the removeReactSubview isn't called. Without the remove then can't pop viewControllers when navigating back in React. Copied the styling from @jacobp100's NavigatorTest (it's a massive help)
    grahammendick committed Jun 1, 2019
    Configuration menu
    Copy the full SHA
    d105964 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    25be75c View commit details
    Browse the repository at this point in the history
  17. Sized the navigationController frame

    Copied from @jacobp100 NavigatorTest again
    grahammendick committed Jun 1, 2019
    Configuration menu
    Copy the full SHA
    6aa9bae View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    1a36c37 View commit details
    Browse the repository at this point in the history
  19. Revert "Set view directly (thought it didn't work)"

    This reverts commit 1a36c37.
    grahammendick committed Jun 1, 2019
    Configuration menu
    Copy the full SHA
    acd58b9 View commit details
    Browse the repository at this point in the history
  20. Kepts subview visible during pop

    If the real subview is added then when it's removed during a javascript back navigation the screen goes white when it's popped. Think it's because it's removed from the superview. Adding a placeholder ensures the real superview is retained in teh pop
    grahammendick committed Jun 1, 2019
    Configuration menu
    Copy the full SHA
    9106078 View commit details
    Browse the repository at this point in the history
  21. Set view on controller directly

    This works now that inserting a dummy view. It was because the real view was removed from superview that made the screen go blank
    grahammendick committed Jun 1, 2019
    Configuration menu
    Copy the full SHA
    edb9cca View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    6d90f83 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    fad512a View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2019

  1. Pushed and popped scenes after all updated

    When fluently navigated two scenes pushed two scenes but in between the didShow of the first push fired. It looked like a back navigation because the viewControllers < crumbs so it navigated back! Then the second push happened then the setState from the navigateBack which meant it popped the second push!
    Applied pushes and pops together after all subview updates which prevents the first push firing the didShow
    grahammendick committed Jun 2, 2019
    Configuration menu
    Copy the full SHA
    56d2b00 View commit details
    Browse the repository at this point in the history
  2. Hooked up the peekNavigate

    Changed the name to willAppear to match the ios naming convention. It's a Scene prop now instead of a native event - much better
    grahammendick committed Jun 2, 2019
    Configuration menu
    Copy the full SHA
    3010a8d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1149790 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5370f75 View commit details
    Browse the repository at this point in the history
  5. Deleted addNavigateHandlers

    It's all done through props and components now!
    grahammendick committed Jun 2, 2019
    Configuration menu
    Copy the full SHA
    e3a7604 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    957f80b View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    07dc7aa View commit details
    Browse the repository at this point in the history
  8. Styled with StyleSheet

    grahammendick committed Jun 2, 2019
    Configuration menu
    Copy the full SHA
    bd63b5b View commit details
    Browse the repository at this point in the history
  9. Set title even if no navigationEvent in state

    If fluently navigate 2 scenes then still need the title set on the previous scene for the back button text on ios. Have to take this from the navigationEven prop instead of the state
    grahammendick committed Jun 2, 2019
    Configuration menu
    Copy the full SHA
    7ded5f0 View commit details
    Browse the repository at this point in the history
  10. Added title prop to NavigationStack

    Avoids adding functions to State. The function that was in addNavigateHandler moves to userland
    <NavigationStack title={(state, data) => state.getTitle && state.getTitle(data)} />
    grahammendick committed Jun 2, 2019
    Configuration menu
    Copy the full SHA
    b21bbff View commit details
    Browse the repository at this point in the history
  11. Added locking mechanism for ios back

    To simulate slow down a render but putting in a 2 sec sleep.
    Then push A,  push B, push C - before C displays press ios back button. Without the locking this would first go back to A (correct) and then display C (wrong) and then go back to A again! That's because the push to C comes back after the ios back. The ios back pop is on the client so happens instantly and then when the C push returns it displays C and then the setState for the pop returns and goes back to A. The locking mechanism is same as in place on TextInput to prevent the typed text and setState(text) getting out of synch
    grahammendick committed Jun 2, 2019
    Configuration menu
    Copy the full SHA
    50edb3a View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    1bf1d4b View commit details
    Browse the repository at this point in the history

Commits on Jun 3, 2019

  1. Configuration menu
    Copy the full SHA
    857c116 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    818a4fe View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0e1d0c5 View commit details
    Browse the repository at this point in the history
  4. Finished Activity when SceneView removed

    Problem is that removing the SceneView removes all it's children and this makes the Activity go blank as it animates away!!! Overrode removeAllViews of SceneManager so children are kept. Faked the ChildCount of SceneManager to 0 so that React doesn't loop through it's children removing all descendants! This needs revisiting because it prevents the NativeViewHierarchyManager from clearing the Tag arrays. Don't know how to get around this!
    grahammendick committed Jun 3, 2019
    Configuration menu
    Copy the full SHA
    617084b View commit details
    Browse the repository at this point in the history
  5. Added touch handling to launched activity

    Copied this from ReactModalHostView
    grahammendick committed Jun 3, 2019
    Configuration menu
    Copy the full SHA
    4139cdf View commit details
    Browse the repository at this point in the history
  6. Removed unnecessary dummy view

    The SceneManager prevents removal  with fake count and removeAll
    grahammendick committed Jun 3, 2019
    Configuration menu
    Copy the full SHA
    8d34e94 View commit details
    Browse the repository at this point in the history
  7. Tweaked format

    grahammendick committed Jun 3, 2019
    Configuration menu
    Copy the full SHA
    6548480 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    271188b View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    a83987a View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    8000ea9 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    79ca66d View commit details
    Browse the repository at this point in the history
  12. Cached intent and navigated back to it

    Calling finish on current activity no good because the current activity doesn't change between remove calls. So if go back twice it will call finish on the same activity
    grahammendick committed Jun 3, 2019
    Configuration menu
    Copy the full SHA
    3679be6 View commit details
    Browse the repository at this point in the history
  13. Received new intent on back navigation

    Tested in current navigation router and it's an existing bug. If you go from A --> B --> C --> D --> E and then navigate back 3 you end up back at D and not B!!! That's because B and D are both SceneActivity with singleTop and so, although it goes back to B it uses the intent from D. I think anyway. It's confusing. I think it reuses the Activity of D at position B!? I guess it makes a bit of sense if navigating forward but navigating back!? Put onNewIntent to read B's crumb and load in B's view after removing D's view!!
    grahammendick committed Jun 3, 2019
    Configuration menu
    Copy the full SHA
    bf6ea52 View commit details
    Browse the repository at this point in the history
  14. Changed fluent navigation then back check

    if navigate from A --> B --> C --> D --> E and fluently from C to E, then navigate back 3 to B then it will come in the create activity of D because it wasn't created. At that time it will have the crumb for D but there won't be a scene view for it. Still created the host view because onNewIntent is about to run and needs a container
    grahammendick committed Jun 3, 2019
    Configuration menu
    Copy the full SHA
    6af225c View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    d75183d View commit details
    Browse the repository at this point in the history
  16. Reset activities on load

    Can get in funny scenarios when reload from dev tools after the error screen. So, clear down activities and start scenes over
    grahammendick committed Jun 3, 2019
    Configuration menu
    Copy the full SHA
    6626b3c View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    349c19e View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    680d3b9 View commit details
    Browse the repository at this point in the history

Commits on Jun 4, 2019

  1. Added exit and enter Anim props

    It's different than NavigaitonMotion. If going from A--> B  need to work out the enter for B and exit for A but set them both as props on B because B is the only component added. In the addView of stack can read them both
    grahammendick committed Jun 4, 2019
    Configuration menu
    Copy the full SHA
    4fdfbfc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    cc03667 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7659b74 View commit details
    Browse the repository at this point in the history
  4. Calculated enter/exit anim when scene removed

    Couldn't read the enter and exit in removeView because it's called before they're set on the current scene!! So moved the start and finish activities into onAfterUpdateTransaction. This is called after views added/removed and props set. But onAfterUpdateTransaction is only called if the props of the NavigationStackView have changed. So forced it to change every navigation by setting url and oldUrl props
    grahammendick committed Jun 4, 2019
    Configuration menu
    Copy the full SHA
    09aa374 View commit details
    Browse the repository at this point in the history
  5. Moved animation props up to NavigationStack

    Don't make sense on Scene because they relate to two different scenes: the entering one and exiting one
    grahammendick committed Jun 4, 2019
    Configuration menu
    Copy the full SHA
    0ae3ba2 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4819e53 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    c03e0ac View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    c52c31b View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    6acf2c5 View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2019

  1. Restarted on dev tools reload

    On reload, navigate back to the start activity and clear down the scenes
    grahammendick committed Jun 5, 2019
    Configuration menu
    Copy the full SHA
    1b0b447 View commit details
    Browse the repository at this point in the history
  2. Navigated to main if not already there

    Otherwise it throws error on reload
    grahammendick committed Jun 5, 2019
    Configuration menu
    Copy the full SHA
    46316c0 View commit details
    Browse the repository at this point in the history
  3. Tweaked format

    grahammendick committed Jun 5, 2019
    Configuration menu
    Copy the full SHA
    fc2e5fe View commit details
    Browse the repository at this point in the history
  4. Inherited from ReactActivity

    Means that double tap R reloads and all the notifications to ReactInstanceManager happen automatically. Not sure why couldn't do this before - maybe because had to destroy react root?!
    grahammendick committed Jun 5, 2019
    Configuration menu
    Copy the full SHA
    ab85663 View commit details
    Browse the repository at this point in the history
  5. Ensured React Native clears tags cache

    When a scene's removed trick React Native in thinking it has no children so that it they don't disappear when the scene animates away. The problem with this is that the dropView of NativeViewHierarchyManager doesn't clear it's tag cache for these children. The caches just grow in size when navigating around. So created a SceneBin that says it's children are the discarded scenes  children. That way when the SceneBin is removed from the NavigationStack then these children are dropped and the tag caches cleared! For the SceneBin to be added and removed by updating it's React key whenever 2 seconds have passed between renders
    grahammendick committed Jun 5, 2019
    Configuration menu
    Copy the full SHA
    0b51bdb View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    27e2514 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    0dbbf4b View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    efb8ab0 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    7b1a1b3 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    7c250ba View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    b8e2d61 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    16433f5 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    f8ca40b View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    54a102d View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    520f0a5 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    8456404 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    b86052b View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    dd0f21c View commit details
    Browse the repository at this point in the history
  19. Stopped the nav stacks sharing the real estate

    Each navigation stack only had half of the view height. Add another stack and they'd only get a third each! Added stack children to shadow view - trick copied from RCTModalHostViewManager - so they're sized based on whole screen size
    grahammendick committed Jun 5, 2019
    Configuration menu
    Copy the full SHA
    2e153fe View commit details
    Browse the repository at this point in the history
  20. Resized Scene when orientation changes

    Another trick copied from RCTModalHostView. I don't know why it's done with a boundsChange call back to view to resize but safest to copy as is. I guess it's because it doesn't want to pass the bridge around?!
    grahammendick committed Jun 5, 2019
    Configuration menu
    Copy the full SHA
    ac8186e View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    b75279e View commit details
    Browse the repository at this point in the history
  22. Shared stack across tabs

    Dropped TabBarItem for now because wasn't doing anything and probably gonna wrap it around stack. TabBar takes tab titles from first screen title anyway
    grahammendick committed Jun 5, 2019
    Configuration menu
    Copy the full SHA
    9e9790a View commit details
    Browse the repository at this point in the history
  23. Removed TabBarItem as child from NavStack

    Navigation Stack makes more sense as a child of TabBarItem.  That's how React Native had it when it was part of core https://www.decoide.org/docs/react-native/tabbarios.html
    grahammendick committed Jun 5, 2019
    Configuration menu
    Copy the full SHA
    72ed16f View commit details
    Browse the repository at this point in the history
  24. Corrected crumb

    Think it worked before because it ios doesn't use the old scenes. It uses the count and only needs sceneItem for the newly added ones?!
    grahammendick committed Jun 5, 2019
    Configuration menu
    Copy the full SHA
    0686b83 View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    3d8ae2b View commit details
    Browse the repository at this point in the history
  26. Removed redundant shadow view

    The bounds change handles the resize
    grahammendick committed Jun 5, 2019
    Configuration menu
    Copy the full SHA
    2e1c900 View commit details
    Browse the repository at this point in the history
  27. Inserted actual subview

    Don't need the dummy view insert here because that's only needed to keep the scene children there while animating - prevents early cleanup
    grahammendick committed Jun 5, 2019
    Configuration menu
    Copy the full SHA
    ebd82b0 View commit details
    Browse the repository at this point in the history

Commits on Jun 6, 2019

  1. Prevented error when double tap back

    The locking mechanism should handle this scenario but the didShowViewController fires late (unlike textChange on TextInput). So it's possible to double tap so fast that didShowViewController doesn't fire for the first tap - which means the nativeEventCoutn doesn't increment and locking mechanism doesn't work. A --> B --> C --> D and tap back 3 times fast. The first back fires didShowViewController and starts a setState. Before it returns the second two taps come in so fast that they don't fire didShowViewController. Then the first setState returns, the counts match and so it wants to do a forward navigation to C - this throws error because C already has a parent view so can't have another
    grahammendick committed Jun 6, 2019
    Configuration menu
    Copy the full SHA
    68d068b View commit details
    Browse the repository at this point in the history
  2. Wrapped NavigationStack in TabBarItem

    Matches the TabBar definition when it was part of React Native core
    grahammendick committed Jun 6, 2019
    Configuration menu
    Copy the full SHA
    4c0ce92 View commit details
    Browse the repository at this point in the history
  3. Added TabBarItem props

    grahammendick committed Jun 6, 2019
    Configuration menu
    Copy the full SHA
    6af1e40 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a6b7db4 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    d5ee6c9 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    9c31e1f View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    62a4da1 View commit details
    Browse the repository at this point in the history
  8. Fixed unmount styles

    grahammendick committed Jun 6, 2019
    Configuration menu
    Copy the full SHA
    a50083a View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    23a4240 View commit details
    Browse the repository at this point in the history
  10. Tweaked format

    grahammendick committed Jun 6, 2019
    Configuration menu
    Copy the full SHA
    f472d5b View commit details
    Browse the repository at this point in the history
  11. Prevented crash on orientation change

    When orientation changes it recreates the activity?! But the SceneView can't be added to rootView because it already has a parent. Cleared parent then added to new rootView.
    Copied the rest of the DialogRootViewGroup from ReactModalHostView so that the scene resizes when the orientation changes
    grahammendick committed Jun 6, 2019
    Configuration menu
    Copy the full SHA
    5129adf View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    21347f1 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    6ffc37d View commit details
    Browse the repository at this point in the history
  14. Tweaked format

    grahammendick committed Jun 6, 2019
    Configuration menu
    Copy the full SHA
    76e72bf View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2019

  1. Tweaked format

    grahammendick committed Jun 7, 2019
    Configuration menu
    Copy the full SHA
    b138d66 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    390556f View commit details
    Browse the repository at this point in the history
  3. Removed unused var

    grahammendick committed Jun 7, 2019
    Configuration menu
    Copy the full SHA
    01fb5ba View commit details
    Browse the repository at this point in the history
  4. Added state param

    grahammendick committed Jun 7, 2019
    Configuration menu
    Copy the full SHA
    3c8b793 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    43a7f7f View commit details
    Browse the repository at this point in the history
  6. Got redux sample working with navigaiton stack

    Removed blinkers because the peek event isn't fired (replaced with the onWillAppear in Scene). Besides Blinkers is redux specific - can use other state libraries now it's a single react root
    grahammendick committed Jun 7, 2019
    Configuration menu
    Copy the full SHA
    4820ea1 View commit details
    Browse the repository at this point in the history
  7. Added renderScene prop

    grahammendick committed Jun 7, 2019
    Configuration menu
    Copy the full SHA
    1a51f35 View commit details
    Browse the repository at this point in the history

Commits on Jun 8, 2019

  1. Cleared controller delegates on dealloc

    Switching from single stack to tabs or back again will call dealloc of the controllers no longer used
    grahammendick committed Jun 8, 2019
    Configuration menu
    Copy the full SHA
    81ff1ec View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e19acd2 View commit details
    Browse the repository at this point in the history
  3. Pevented error when empty state context

    For example, don't want to navigate to invisible tab on ios. Wait until it's pressed
    grahammendick committed Jun 8, 2019
    Configuration menu
    Copy the full SHA
    655f5d1 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    19d1ef6 View commit details
    Browse the repository at this point in the history
  5. Prevented error navigating back over fluent scene

    Navigate fluently from A --> B --> C then navigate back 2 to A. The NativeViewHierarchyManager throws layout error because the child Scene is null. Only clean up removed scenes if they were visited, had a child view
    grahammendick committed Jun 8, 2019
    Configuration menu
    Copy the full SHA
    163321a View commit details
    Browse the repository at this point in the history
  6. Removed launchMode overrides

    Instead of launchMode singleTop, used the default (standard) and set FLAG_ACTIVITY_CLEAR_TOP on up intent. Also means don't need alternate actiivity because default launch mode adds activities on stack.
    This is significant because it can be used in expo because there's no setup step for android or ios (provided expo include it)
    grahammendick committed Jun 8, 2019
    Configuration menu
    Copy the full SHA
    d050f3e View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    6ffc04d View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    f84e9cc View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    043072a View commit details
    Browse the repository at this point in the history
  10. Skipped shared elements if fluently navigated

    Fluently navigate from A --> B --> C and navigate back one to B. If sharedElements return non-empty array then it went down the finishAfterTransition path. But postponeEnterTransition hadn't been called on B, because B was fluently navigated over, so it threw and error.
    grahammendick committed Jun 8, 2019
    Configuration menu
    Copy the full SHA
    22fe29e View commit details
    Browse the repository at this point in the history
  11. Revert "Skipped shared elements if fluently navigated"

    This reverts commit 22fe29e.
    grahammendick committed Jun 8, 2019
    Configuration menu
    Copy the full SHA
    b1bcfd5 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    1bc5f6d View commit details
    Browse the repository at this point in the history
  13. Attached shared element after new intent

    Navigate A --> B --> C with shared element going from A to B. Then press back twice and the shared element didn't show because the onNewItent fired when going back to B which detached SharedElementManger from window. Left the attach listener so it's restored when the view is immediately added back to hierarchy in new intent
    grahammendick committed Jun 8, 2019
    Configuration menu
    Copy the full SHA
    92a149b View commit details
    Browse the repository at this point in the history
  14. Got rid of detach insteand of previous fix

    Means can remove the attach listener. The removeViewAt handles the clean up anyway
    grahammendick committed Jun 8, 2019
    Configuration menu
    Copy the full SHA
    696df81 View commit details
    Browse the repository at this point in the history

Commits on Jun 9, 2019

  1. Configuration menu
    Copy the full SHA
    ec297b3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7d0d26d View commit details
    Browse the repository at this point in the history
  3. Tweaked format

    grahammendick committed Jun 9, 2019
    Configuration menu
    Copy the full SHA
    1fc7f4c View commit details
    Browse the repository at this point in the history
  4. Tweaked format

    grahammendick committed Jun 9, 2019
    Configuration menu
    Copy the full SHA
    bc55541 View commit details
    Browse the repository at this point in the history
  5. Tweaked format

    grahammendick committed Jun 9, 2019
    Configuration menu
    Copy the full SHA
    555eb42 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    5afd17e View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    0387350 View commit details
    Browse the repository at this point in the history
  8. Fixed shared els when navigating back

    The Android intent to actiivity look up is a nightmare. When navigateUpTo and pass intent it won't find the activity that was created for that intent!!! It finds any activity with a matching type!? A --> B --> C --> D and navigate back 2 will use the activity for C because both have SceneActivtiy type and C is latest. This isn't a problem normally because onNewIntent finds the right SceneView and adds it as a child. The problem happens with shared elements transitions. If there was a shared el transition when going from A to B, then want it to run when going back from B to A. But the actual activity is C (not B) because it's been reused. So if call finishAfterTransition current activity it will go back to B not A!?! craziness.
    The only way I could find around it is to ensure all activities have a different type. This guarantees that navigateUpTo always finds the right activity which means shared element navigation works. The catch is that can't there's a finite number of activity types (created 20). So disabled shared elements for back navigation from crumb 21 and beyond.
    grahammendick committed Jun 9, 2019
    Configuration menu
    Copy the full SHA
    3961630 View commit details
    Browse the repository at this point in the history
  9. Tweaked format

    grahammendick committed Jun 9, 2019
    Configuration menu
    Copy the full SHA
    d5cd11c View commit details
    Browse the repository at this point in the history
  10. Removed shared check now separate activity types

    Now activities are always tied to their crumbs no need for this check
    grahammendick committed Jun 9, 2019
    Configuration menu
    Copy the full SHA
    61a311f View commit details
    Browse the repository at this point in the history