-
Notifications
You must be signed in to change notification settings - Fork 40
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
Commits on Jun 1, 2019
-
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
Configuration menu - View commit details
-
Copy full SHA for 46b69d0 - Browse repository at this point
Copy the full SHA 46b69d0View commit details -
Configuration menu - View commit details
-
Copy full SHA for d085ec7 - Browse repository at this point
Copy the full SHA d085ec7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3f914c9 - Browse repository at this point
Copy the full SHA 3f914c9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 79fd47f - Browse repository at this point
Copy the full SHA 79fd47fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9651e0c - Browse repository at this point
Copy the full SHA 9651e0cView commit details -
Revert "Added native Scene and NavigationStack files"
This reverts commit 9651e0c.
Configuration menu - View commit details
-
Copy full SHA for 013f433 - Browse repository at this point
Copy the full SHA 013f433View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0a7eddb - Browse repository at this point
Copy the full SHA 0a7eddbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 018fbfd - Browse repository at this point
Copy the full SHA 018fbfdView commit details -
Reverted AppDelegate to init'ed version
This is for react native 57.8 to match with package.json
Configuration menu - View commit details
-
Copy full SHA for 0680eb0 - Browse repository at this point
Copy the full SHA 0680eb0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4545719 - Browse repository at this point
Copy the full SHA 4545719View commit details -
Configuration menu - View commit details
-
Copy full SHA for ed58ae4 - Browse repository at this point
Copy the full SHA ed58ae4View commit details -
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)
Configuration menu - View commit details
-
Copy full SHA for 127ab2e - Browse repository at this point
Copy the full SHA 127ab2eView commit details -
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
Configuration menu - View commit details
-
Copy full SHA for 35da2e1 - Browse repository at this point
Copy the full SHA 35da2e1View commit details -
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
Configuration menu - View commit details
-
Copy full SHA for 8caffc7 - Browse repository at this point
Copy the full SHA 8caffc7View commit details -
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)
Configuration menu - View commit details
-
Copy full SHA for d105964 - Browse repository at this point
Copy the full SHA d105964View commit details -
Configuration menu - View commit details
-
Copy full SHA for 25be75c - Browse repository at this point
Copy the full SHA 25be75cView commit details -
Sized the navigationController frame
Copied from @jacobp100 NavigatorTest again
Configuration menu - View commit details
-
Copy full SHA for 6aa9bae - Browse repository at this point
Copy the full SHA 6aa9baeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1a36c37 - Browse repository at this point
Copy the full SHA 1a36c37View commit details -
Revert "Set view directly (thought it didn't work)"
This reverts commit 1a36c37.
Configuration menu - View commit details
-
Copy full SHA for acd58b9 - Browse repository at this point
Copy the full SHA acd58b9View commit details -
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
Configuration menu - View commit details
-
Copy full SHA for 9106078 - Browse repository at this point
Copy the full SHA 9106078View commit details -
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
Configuration menu - View commit details
-
Copy full SHA for edb9cca - Browse repository at this point
Copy the full SHA edb9ccaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6d90f83 - Browse repository at this point
Copy the full SHA 6d90f83View commit details -
Configuration menu - View commit details
-
Copy full SHA for fad512a - Browse repository at this point
Copy the full SHA fad512aView commit details
Commits on Jun 2, 2019
-
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
Configuration menu - View commit details
-
Copy full SHA for 56d2b00 - Browse repository at this point
Copy the full SHA 56d2b00View commit details -
Changed the name to willAppear to match the ios naming convention. It's a Scene prop now instead of a native event - much better
Configuration menu - View commit details
-
Copy full SHA for 3010a8d - Browse repository at this point
Copy the full SHA 3010a8dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1149790 - Browse repository at this point
Copy the full SHA 1149790View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5370f75 - Browse repository at this point
Copy the full SHA 5370f75View commit details -
It's all done through props and components now!
Configuration menu - View commit details
-
Copy full SHA for e3a7604 - Browse repository at this point
Copy the full SHA e3a7604View commit details -
Configuration menu - View commit details
-
Copy full SHA for 957f80b - Browse repository at this point
Copy the full SHA 957f80bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 07dc7aa - Browse repository at this point
Copy the full SHA 07dc7aaView commit details -
Configuration menu - View commit details
-
Copy full SHA for bd63b5b - Browse repository at this point
Copy the full SHA bd63b5bView commit details -
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
Configuration menu - View commit details
-
Copy full SHA for 7ded5f0 - Browse repository at this point
Copy the full SHA 7ded5f0View commit details -
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)} />
Configuration menu - View commit details
-
Copy full SHA for b21bbff - Browse repository at this point
Copy the full SHA b21bbffView commit details -
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
Configuration menu - View commit details
-
Copy full SHA for 50edb3a - Browse repository at this point
Copy the full SHA 50edb3aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1bf1d4b - Browse repository at this point
Copy the full SHA 1bf1d4bView commit details
Commits on Jun 3, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 857c116 - Browse repository at this point
Copy the full SHA 857c116View commit details -
Configuration menu - View commit details
-
Copy full SHA for 818a4fe - Browse repository at this point
Copy the full SHA 818a4feView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0e1d0c5 - Browse repository at this point
Copy the full SHA 0e1d0c5View commit details -
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!
Configuration menu - View commit details
-
Copy full SHA for 617084b - Browse repository at this point
Copy the full SHA 617084bView commit details -
Added touch handling to launched activity
Copied this from ReactModalHostView
Configuration menu - View commit details
-
Copy full SHA for 4139cdf - Browse repository at this point
Copy the full SHA 4139cdfView commit details -
Removed unnecessary dummy view
The SceneManager prevents removal with fake count and removeAll
Configuration menu - View commit details
-
Copy full SHA for 8d34e94 - Browse repository at this point
Copy the full SHA 8d34e94View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6548480 - Browse repository at this point
Copy the full SHA 6548480View commit details -
Configuration menu - View commit details
-
Copy full SHA for 271188b - Browse repository at this point
Copy the full SHA 271188bView commit details -
Configuration menu - View commit details
-
Copy full SHA for a83987a - Browse repository at this point
Copy the full SHA a83987aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8000ea9 - Browse repository at this point
Copy the full SHA 8000ea9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 79ca66d - Browse repository at this point
Copy the full SHA 79ca66dView commit details -
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
Configuration menu - View commit details
-
Copy full SHA for 3679be6 - Browse repository at this point
Copy the full SHA 3679be6View commit details -
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!!
Configuration menu - View commit details
-
Copy full SHA for bf6ea52 - Browse repository at this point
Copy the full SHA bf6ea52View commit details -
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
Configuration menu - View commit details
-
Copy full SHA for 6af225c - Browse repository at this point
Copy the full SHA 6af225cView commit details -
Configuration menu - View commit details
-
Copy full SHA for d75183d - Browse repository at this point
Copy the full SHA d75183dView commit details -
Can get in funny scenarios when reload from dev tools after the error screen. So, clear down activities and start scenes over
Configuration menu - View commit details
-
Copy full SHA for 6626b3c - Browse repository at this point
Copy the full SHA 6626b3cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 349c19e - Browse repository at this point
Copy the full SHA 349c19eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 680d3b9 - Browse repository at this point
Copy the full SHA 680d3b9View commit details
Commits on Jun 4, 2019
-
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
Configuration menu - View commit details
-
Copy full SHA for 4fdfbfc - Browse repository at this point
Copy the full SHA 4fdfbfcView commit details -
Configuration menu - View commit details
-
Copy full SHA for cc03667 - Browse repository at this point
Copy the full SHA cc03667View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7659b74 - Browse repository at this point
Copy the full SHA 7659b74View commit details -
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
Configuration menu - View commit details
-
Copy full SHA for 09aa374 - Browse repository at this point
Copy the full SHA 09aa374View commit details -
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
Configuration menu - View commit details
-
Copy full SHA for 0ae3ba2 - Browse repository at this point
Copy the full SHA 0ae3ba2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4819e53 - Browse repository at this point
Copy the full SHA 4819e53View commit details -
Configuration menu - View commit details
-
Copy full SHA for c03e0ac - Browse repository at this point
Copy the full SHA c03e0acView commit details -
Configuration menu - View commit details
-
Copy full SHA for c52c31b - Browse repository at this point
Copy the full SHA c52c31bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6acf2c5 - Browse repository at this point
Copy the full SHA 6acf2c5View commit details
Commits on Jun 5, 2019
-
On reload, navigate back to the start activity and clear down the scenes
Configuration menu - View commit details
-
Copy full SHA for 1b0b447 - Browse repository at this point
Copy the full SHA 1b0b447View commit details -
Navigated to main if not already there
Otherwise it throws error on reload
Configuration menu - View commit details
-
Copy full SHA for 46316c0 - Browse repository at this point
Copy the full SHA 46316c0View commit details -
Configuration menu - View commit details
-
Copy full SHA for fc2e5fe - Browse repository at this point
Copy the full SHA fc2e5feView commit details -
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?!
Configuration menu - View commit details
-
Copy full SHA for ab85663 - Browse repository at this point
Copy the full SHA ab85663View commit details -
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
Configuration menu - View commit details
-
Copy full SHA for 0b51bdb - Browse repository at this point
Copy the full SHA 0b51bdbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 27e2514 - Browse repository at this point
Copy the full SHA 27e2514View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0dbbf4b - Browse repository at this point
Copy the full SHA 0dbbf4bView commit details -
Configuration menu - View commit details
-
Copy full SHA for efb8ab0 - Browse repository at this point
Copy the full SHA efb8ab0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7b1a1b3 - Browse repository at this point
Copy the full SHA 7b1a1b3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7c250ba - Browse repository at this point
Copy the full SHA 7c250baView commit details -
Configuration menu - View commit details
-
Copy full SHA for b8e2d61 - Browse repository at this point
Copy the full SHA b8e2d61View commit details -
Configuration menu - View commit details
-
Copy full SHA for 16433f5 - Browse repository at this point
Copy the full SHA 16433f5View commit details -
Configuration menu - View commit details
-
Copy full SHA for f8ca40b - Browse repository at this point
Copy the full SHA f8ca40bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 54a102d - Browse repository at this point
Copy the full SHA 54a102dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 520f0a5 - Browse repository at this point
Copy the full SHA 520f0a5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8456404 - Browse repository at this point
Copy the full SHA 8456404View commit details -
Configuration menu - View commit details
-
Copy full SHA for b86052b - Browse repository at this point
Copy the full SHA b86052bView commit details -
Configuration menu - View commit details
-
Copy full SHA for dd0f21c - Browse repository at this point
Copy the full SHA dd0f21cView commit details -
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
Configuration menu - View commit details
-
Copy full SHA for 2e153fe - Browse repository at this point
Copy the full SHA 2e153feView commit details -
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?!
Configuration menu - View commit details
-
Copy full SHA for ac8186e - Browse repository at this point
Copy the full SHA ac8186eView commit details -
Configuration menu - View commit details
-
Copy full SHA for b75279e - Browse repository at this point
Copy the full SHA b75279eView commit details -
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
Configuration menu - View commit details
-
Copy full SHA for 9e9790a - Browse repository at this point
Copy the full SHA 9e9790aView commit details -
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
Configuration menu - View commit details
-
Copy full SHA for 72ed16f - Browse repository at this point
Copy the full SHA 72ed16fView commit details -
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?!
Configuration menu - View commit details
-
Copy full SHA for 0686b83 - Browse repository at this point
Copy the full SHA 0686b83View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3d8ae2b - Browse repository at this point
Copy the full SHA 3d8ae2bView commit details -
The bounds change handles the resize
Configuration menu - View commit details
-
Copy full SHA for 2e1c900 - Browse repository at this point
Copy the full SHA 2e1c900View commit details -
Don't need the dummy view insert here because that's only needed to keep the scene children there while animating - prevents early cleanup
Configuration menu - View commit details
-
Copy full SHA for ebd82b0 - Browse repository at this point
Copy the full SHA ebd82b0View commit details
Commits on Jun 6, 2019
-
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
Configuration menu - View commit details
-
Copy full SHA for 68d068b - Browse repository at this point
Copy the full SHA 68d068bView commit details -
Wrapped NavigationStack in TabBarItem
Matches the TabBar definition when it was part of React Native core
Configuration menu - View commit details
-
Copy full SHA for 4c0ce92 - Browse repository at this point
Copy the full SHA 4c0ce92View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6af1e40 - Browse repository at this point
Copy the full SHA 6af1e40View commit details -
Configuration menu - View commit details
-
Copy full SHA for a6b7db4 - Browse repository at this point
Copy the full SHA a6b7db4View commit details -
Configuration menu - View commit details
-
Copy full SHA for d5ee6c9 - Browse repository at this point
Copy the full SHA d5ee6c9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9c31e1f - Browse repository at this point
Copy the full SHA 9c31e1fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 62a4da1 - Browse repository at this point
Copy the full SHA 62a4da1View commit details -
Configuration menu - View commit details
-
Copy full SHA for a50083a - Browse repository at this point
Copy the full SHA a50083aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 23a4240 - Browse repository at this point
Copy the full SHA 23a4240View commit details -
Configuration menu - View commit details
-
Copy full SHA for f472d5b - Browse repository at this point
Copy the full SHA f472d5bView commit details -
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
Configuration menu - View commit details
-
Copy full SHA for 5129adf - Browse repository at this point
Copy the full SHA 5129adfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 21347f1 - Browse repository at this point
Copy the full SHA 21347f1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6ffc37d - Browse repository at this point
Copy the full SHA 6ffc37dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 76e72bf - Browse repository at this point
Copy the full SHA 76e72bfView commit details
Commits on Jun 7, 2019
-
Configuration menu - View commit details
-
Copy full SHA for b138d66 - Browse repository at this point
Copy the full SHA b138d66View commit details -
Configuration menu - View commit details
-
Copy full SHA for 390556f - Browse repository at this point
Copy the full SHA 390556fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 01fb5ba - Browse repository at this point
Copy the full SHA 01fb5baView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3c8b793 - Browse repository at this point
Copy the full SHA 3c8b793View commit details -
Configuration menu - View commit details
-
Copy full SHA for 43a7f7f - Browse repository at this point
Copy the full SHA 43a7f7fView commit details -
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
Configuration menu - View commit details
-
Copy full SHA for 4820ea1 - Browse repository at this point
Copy the full SHA 4820ea1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1a51f35 - Browse repository at this point
Copy the full SHA 1a51f35View commit details
Commits on Jun 8, 2019
-
Cleared controller delegates on dealloc
Switching from single stack to tabs or back again will call dealloc of the controllers no longer used
Configuration menu - View commit details
-
Copy full SHA for 81ff1ec - Browse repository at this point
Copy the full SHA 81ff1ecView commit details -
Configuration menu - View commit details
-
Copy full SHA for e19acd2 - Browse repository at this point
Copy the full SHA e19acd2View commit details -
Pevented error when empty state context
For example, don't want to navigate to invisible tab on ios. Wait until it's pressed
Configuration menu - View commit details
-
Copy full SHA for 655f5d1 - Browse repository at this point
Copy the full SHA 655f5d1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 19d1ef6 - Browse repository at this point
Copy the full SHA 19d1ef6View commit details -
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
Configuration menu - View commit details
-
Copy full SHA for 163321a - Browse repository at this point
Copy the full SHA 163321aView commit details -
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)
Configuration menu - View commit details
-
Copy full SHA for d050f3e - Browse repository at this point
Copy the full SHA d050f3eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6ffc04d - Browse repository at this point
Copy the full SHA 6ffc04dView commit details -
Configuration menu - View commit details
-
Copy full SHA for f84e9cc - Browse repository at this point
Copy the full SHA f84e9ccView commit details -
Configuration menu - View commit details
-
Copy full SHA for 043072a - Browse repository at this point
Copy the full SHA 043072aView commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for 22fe29e - Browse repository at this point
Copy the full SHA 22fe29eView commit details -
Revert "Skipped shared elements if fluently navigated"
This reverts commit 22fe29e.
Configuration menu - View commit details
-
Copy full SHA for b1bcfd5 - Browse repository at this point
Copy the full SHA b1bcfd5View commit details -
Revert "Revert "Skipped shared elements if fluently navigated""
This reverts commit b1bcfd5.
Configuration menu - View commit details
-
Copy full SHA for 1bc5f6d - Browse repository at this point
Copy the full SHA 1bc5f6dView commit details -
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
Configuration menu - View commit details
-
Copy full SHA for 92a149b - Browse repository at this point
Copy the full SHA 92a149bView commit details -
Got rid of detach insteand of previous fix
Means can remove the attach listener. The removeViewAt handles the clean up anyway
Configuration menu - View commit details
-
Copy full SHA for 696df81 - Browse repository at this point
Copy the full SHA 696df81View commit details
Commits on Jun 9, 2019
-
Configuration menu - View commit details
-
Copy full SHA for ec297b3 - Browse repository at this point
Copy the full SHA ec297b3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7d0d26d - Browse repository at this point
Copy the full SHA 7d0d26dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1fc7f4c - Browse repository at this point
Copy the full SHA 1fc7f4cView commit details -
Configuration menu - View commit details
-
Copy full SHA for bc55541 - Browse repository at this point
Copy the full SHA bc55541View commit details -
Configuration menu - View commit details
-
Copy full SHA for 555eb42 - Browse repository at this point
Copy the full SHA 555eb42View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5afd17e - Browse repository at this point
Copy the full SHA 5afd17eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0387350 - Browse repository at this point
Copy the full SHA 0387350View commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for 3961630 - Browse repository at this point
Copy the full SHA 3961630View commit details -
Configuration menu - View commit details
-
Copy full SHA for d5cd11c - Browse repository at this point
Copy the full SHA d5cd11cView commit details -
Removed shared check now separate activity types
Now activities are always tied to their crumbs no need for this check
Configuration menu - View commit details
-
Copy full SHA for 61a311f - Browse repository at this point
Copy the full SHA 61a311fView commit details