* Added textField, valueField and selectedValue properties
textField and valueField - should be used with arrays of JSON objects
textField - tells the listview which property should be used to display each item
valueField - tells the listview, which property should be used to update the selectedValue
selectedValue - is the property that will contain the selectedValue, if valueField is specified, then it will contain the value from that field, otherwise it will contain the whole selected item
* Example showing textField, valueField and selectedValue in action
* Update import paths
* fix(action-bar): #5743 navController may be null
From my own Crashlytics:
`stderr: file:///app/vendor.js:1:860568: JS ERROR TypeError: null is not an object (evaluating 'a.viewControllers')`
```
file:///app/vendor.js:1:860489
var l,p=a.viewControllers.indexOfObject(n);if(p>0&&p<a.viewControllers.count&&(t=a.viewControllers[p-1]),t)
```
which corresponds to:
2fc1d8a8d4/tns-core-modules/ui/action-bar/action-bar.ios.ts (L132)
further up `navController` is checked for truthiness:
2fc1d8a8d4/tns-core-modules/ui/action-bar/action-bar.ios.ts (L119)
So applying same logic.
* Adjusted per request
Adding android typings for API levels from 17 to 27
BREAKING CHANGES:
There is no longer added `I` prefix in the names of the interfaces. For example `android.view.IMenuItem` is now `android.view.MenuItem`. This matches the original name of the interface in the android framework.
* feat: Pass NS app native controller to the native app instead of presenting it over the rootViewController
When NativeScript embedded app is created from the native one we check for whether the topmost UIViewController has NativeScriptEmbedder protocol (implemented in the iOS Runtime) method 'presentNativeScriptApp:'. If yes, we call it with the NS app viewcontroller as a parameter so the embedder has control over the NS app (where and how to present it etc.) For backwards compatibility we present the NS app on top of the topmost UIViewController as a fallback.
* style: Fix lint errors
* feat: Check for protocol instead of selector in embedding
I
* Check for rootController instead of topViewController to prevent crash if !rootController
* feat: Introduce NativeScriptEmbedder singleton
NativeScriptEmbedder is responsive for communication between the NS and the native iOS app. His delegate will implement methods which we can call from javascript such as "presentNativeScriptApp:".
* Fix typings for nativeValueChange
* Update properties.d.ts
Changed parameter name of nativeValueChange from “target” to “owner”
Fixed white space to match coding style
* Update properties.d.ts
Fixed white space
* 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