Kanzi 3.9.2 migration guide¶
Use this migration guide to update Kanzi applications from Kanzi 3.9.1 to Kanzi 3.9.2.
Java 8¶
Kanzi Android framework (droidfw) and Kanzi Java API now require Java 8 (1.8) or higher.
In the Gradle files of your application ensure that the Java language version is set to a compatible version. For example, in app/build.gradle set:
android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
Changes in Kanzi Java API¶
Removed the
Metaclassconstructor overload that required you to pass the associated class as an argument. Kanzi automatically infers the class based on the location of the initialization of theMetaclassinstance.Change your
Metaclassinitializations fromclass MyClassName { public static final Metaclass metaclass = new Metaclass("Example.MyClassName", MyClassName.class);
to
class MyClassName { public static final Metaclass metaclass = new Metaclass("Example.MyClassName");
The
Optional*family of classes are no longer used and have been removed.Matrix4x4.getRotationAngle()now returns a nullableVector3instead of anOptionalVector3.Matrix4x4.createLookAtMatrix()now returns a nullableMatrix4x4instead of anOptionalMatrix4x4.
Changes in focus handling¶
Kanzi 3.9.2 introduces these changes in the focus handling API:
Kanzi 3.9.1 |
Kanzi 3.9.2 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FocusManager::ScopeBroughtToFrontMessageArguments |
FocusManager::OverlayBroughtToFrontMessageArguments |
|
|
|
|
|
removed |
|
removed |
|
removed |
|
removed |
|
removed |
|
removed |
|
removed |
|
removed |
|
removed |
|
|
|
|
|
|
To migrate to Kanzi 3.9.2 a Kanzi Studio project that you created with an earlier version of Kanzi and that contains popup-type focus scopes:
The Bring Scope To Front and Send Scope To Back actions no longer exist. Replace the invalid actions with Set Property actions that set the visibility of the focus scope.
To close an overlay with touch output outside that overlay, use the Input Outside Overlay trigger with a Set Property action that hides the overlay.
See Creating an overlay.
To migrate to Kanzi 3.9.2 a Kanzi Studio project that you created with Kanzi 3.9.1 and that uses the Contains Focus property, use the Focus State property instead. See Showing when a user interface element has focus.
Changes in class metadata¶
Renamed these properties in class
InputManipulator::InputMessageArguments:Kanzi 3.9.1
Kanzi 3.9.2
InputMessageArguments.Manipulator.PointInputManipulator.InputMessageArguments.ManipulatorPointInputMessageArguments.Manipulator.RayOriginInputManipulator.InputMessageArguments.ManipulatorRayOriginInputMessageArguments.Manipulator.RayDirectionInputManipulator.InputMessageArguments.ManipulatorRayDirectionInputMessageArguments.HitTest.PointInputManipulator.InputMessageArguments.HitTestPointInputMessageArguments.HitTest.RayOriginInputManipulator.InputMessageArguments.HitTestRayOriginInputMessageArguments.HitTest.RayDirectionInputManipulator.InputMessageArguments.HitTestRayDirectionInputMessageArguments.HitTest.ObjectInputManipulator.InputMessageArguments.HitTestObjectRenamed these MessageArgument metaclasses in
StateManager:Kanzi 3.9.1
Kanzi 3.9.2
Message.StateManager.MessageArgumentsMessage.StateManagerMessageArgumentsMessage.StateManagerStateChange.MessageArgumentsMessage.StateManagerStateChangeMessageArgumentsMessage.StateManagerGoToState.MessageArgumentsMessage.StateManagerGoToStateMessageArgumentsMessage.StateManagerGoToDefinedState.MessageArgumentsMessage.StateManagerGoToDefinedStateMessageArgumentsMessage.StateManagerGoToNextDefinedState.MessageArgumentsMessage.StateManagerGoToNextDefinedStateMessageArgumentsMessage.StateManagerGoToPreviousDefinedState.MessageArgumentsMessage.StateManagerGoToPreviousDefinedStateMessageArgumentsMessage.StateManagerEnteredState.MessageArgumentsMessage.StateManagerEnteredStateMessageArgumentsMessage.StateManagerLeftState.MessageArgumentsMessage.StateManagerLeftStateMessageArgumentsMessage.StateManagerTransition.MessageArgumentsMessage.StateManagerTransitionMessageArgumentsMessage.StateManagerTransitionStarted.MessageArgumentsMessage.StateManagerTransitionStartedMessageArgumentsMessage.StateManagerTransitionFinished.MessageArgumentsMessage.StateManagerTransitionFinishedMessageArguments