* fix: crash at application launch on Android P
Reference: https://developer.android.com/preview/restrictions-non-sdk-interfaces
Android P introduces new restrictions on the use of non-SDK interfaces, whether directly, via reflection, or via JNI. These restrictions are applied whenever an app references a non-SDK interface or attempts to obtain its handle using reflection or JNI.
In particular, remove reflection via Class.getDeclaredField() and fallback default transition to fade transition.
* refactor: create default transition based on SDK version
Create default transition and setup default animations based on SDK version.
This is to avoid reflection via Class.getDeclaredMethod() for Android P where it throws.
* refactor: extract isAndroidP method
* feat(view): introduce LayoutChanged event
* test(view): add LayoutChanged event tests
* chore(view-android): attach to onLayoutChange only if listener attached
* feat(view-android): override on/off in order to attach and detach from OnLayoutChangeListener
* feat(tabview): add tab text font size property
* chore(tabview): set tab font size default value
* chore(tabview): move font implementation to widget
* chore(tabview): fix font size get return type
* feat(ios): Added support for css gradients.
* feat(android): Added support for css gradients.
* fix: Fixed gradient borders on ios
* fix(gradient): added backgroundGradient to View and Style.
* fix(ios-gradients): fixed ios gradients covering view content.
* test(gradient): Added ui app tests for background gradients.
* test(gradient): Added a test ensuring background gradient property is applied to style.
* style(gradient): Fixed tslint errors.
* fix(gradient): Removed the background-gradient property and added the gradient to background-image.
* style: fixed a consecutive blank line tslint error.
* fix(tests): fixed the bug that was causing tests to fail.
* chore(linear-gradient): fix equality comparer
* test(gradient): add linear gradients test app
* chore(tslint): update with latest tslint rules
* test(e2e): update modal navigation app
Add layout as root.
Add show modal layout.
* chore(frame): move frame stack modifiers in a separate frame-stack module
* feat(frame): handle back navigation when using common layout as root element
Currently webpack fails if app is using wrap layout since it is not registered here. Registering it manually in the app works as a workaround, but still I think it would be nice to have it here by default.
* fix(android/text ios/text): allow -1 to be a valid binding value
Instead of using -1 as special value, use Symbol(-1)
so that it can't be reset accidentally
Closes issue #5559
* renamed the symbol
* feat(list-view): Adds the ability to check whether or not an Item at index is Visible on screen within a listView
* feat(list-view): add the unit-test for checking if list-item is visible.
* clean(list-view): fix invalid reference in list-view-common
* chore(list-view): remove unused logic
* test(list-view) updates the tests for checking if item at index is visible
* chore(ListView Tests): update the test_check_if_item_at_index_is_visible unit test to include 40 children, and test if the last item is visible or not.
* Chore(ListView IOS): Apply requested changes to the for-loop, and replace with Array.some for readability.
* chore(ListView android): Fix TSLint issues.