* remove unused code from tabStyle
* improve dummy screen ui
* set list screen translucent navigation bar
* make RCCToolBarView to composite the UIRootView inside
* Add screen visibility listener which can be registered globally
API
new ScreenVisibilityListener({
willAppear: ({screen, timestamp}) => console.log(`Displaying screen ${screen}`),
didAppear: ({screen, timestamp}) => console.log(`Screen ${screen} displayed in ${Date.now() - timestamp} millis`)
}).register();
todo
* Add timestamp to modal, resetTo
* implement unregister
* implement iOS
* Add global screen visibility listener to example app
* Think I better assign a value to emitter
* Send timestamp in resetTo
* Moved listener to library, it can be deleted from the app
* Add push and resetTo buttons to pushed screens
* Send appear/disappear events after animation ends
* Pass pop timestamp from js
* Send timestamp in popToRoot
* Add popToRoot button in push screen
* Add few navigation buttons to modal screen
* Pass timestamp to tabs
relevant only to first/initial tab
* Update timestamp when navigating between BottomTabs
* Send screen visible events after modal dismiss
* log willDisappear and didDisappear
* Report both start and end timestamps
* Implement unregister
* Send NavigationType parameter in visibilityEvent
This indicates the type of the navigation command that triggered the visibility change
* Rename pushInitialScreen to more explicit name
* Fix duplicate initialScreen visibility events
* Update screen visibility log statement
* Show popToRoot in modal screen only if screens were pushed
* implement global screen event for iOS
* fix lint issues
* Move example to origin
* Minor tweeks to Masonry screen
- Adjust animation values
- Add drawUnderNavBar: true since it’s hidden. Should be done by the framework by default
* Add view manager
* Don’t update screen style on ViewPagerScreenChangedEvent
* change version to legacy
* Fix headers after rebase
* version bump
* Add image to each list item
* Basics structure is done (I think)
toElement also animates into place, even though values are completely wrong.
* Stop relying on refs to resolve fromElements
* Hide only corresponding fromElement
* Animate sharedElements back into place on screen pop
* Update example project with Dota heroes
* Initial curved animation implementation
* Stop resolving sharedElement refs
* Move getLocationOnScreen to ViewUtils
* Parse control points passed from Js
* Scale animation works
Not sure about pivot coordinates yet.
* minor update to SharedElementsTransition screen
* Minor changes to example screens
* Draw shared elements on Screen
Ignore Z order and draw shared elements directly on screen
* stuff
* Start animation after views are drawn
* f
* Animate text color
* Less allocations when animating text color
* Switch from RGB to LAB 😎
* Save and restore SpannedString
* Use correct status bar height in Android M
* Pass show and hide duration from Js
* Fix flicker when show animation starts
* Make shared elements not clickable
motivation: might be related to some native crash
* Use linear interpolation as default interpolation
* Code cleanup
* Clear SharedElements refs when screen is destroyed
* Code cleanup
* Add decelerate interpolator
* No more occasional flicker on animation start (Hopefully 🙏)
* Add FastOutSlowIn interpolator
* Animate only visible shared elements
* Clip bounds animator somewhat works
* Hope fully no more flickery images
* Add interpolator to each animator
* some work on shared element screens
* rebase fix
* fix lint
Navigator.push allows us to open a new screen. Currently it starts a new Activity with the screen
as it’s root view, but this is only a temporary behaviour. The intended behaviour is similar to
View Controllers on iOS which allows you to manage view hierarchies or a stack of fragments
managed by FragmentManager on Android.