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
Metaclass
constructor 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 theMetaclass
instance.Change your
Metaclass
initializations 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 nullableVector3
instead of anOptionalVector3
.Matrix4x4.createLookAtMatrix()
now returns a nullableMatrix4x4
instead 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.Point
InputManipulator.InputMessageArguments.ManipulatorPoint
InputMessageArguments.Manipulator.RayOrigin
InputManipulator.InputMessageArguments.ManipulatorRayOrigin
InputMessageArguments.Manipulator.RayDirection
InputManipulator.InputMessageArguments.ManipulatorRayDirection
InputMessageArguments.HitTest.Point
InputManipulator.InputMessageArguments.HitTestPoint
InputMessageArguments.HitTest.RayOrigin
InputManipulator.InputMessageArguments.HitTestRayOrigin
InputMessageArguments.HitTest.RayDirection
InputManipulator.InputMessageArguments.HitTestRayDirection
InputMessageArguments.HitTest.Object
InputManipulator.InputMessageArguments.HitTestObject
Renamed these MessageArgument metaclasses in
StateManager
:Kanzi 3.9.1
Kanzi 3.9.2
Message.StateManager.MessageArguments
Message.StateManagerMessageArguments
Message.StateManagerStateChange.MessageArguments
Message.StateManagerStateChangeMessageArguments
Message.StateManagerGoToState.MessageArguments
Message.StateManagerGoToStateMessageArguments
Message.StateManagerGoToDefinedState.MessageArguments
Message.StateManagerGoToDefinedStateMessageArguments
Message.StateManagerGoToNextDefinedState.MessageArguments
Message.StateManagerGoToNextDefinedStateMessageArguments
Message.StateManagerGoToPreviousDefinedState.MessageArguments
Message.StateManagerGoToPreviousDefinedStateMessageArguments
Message.StateManagerEnteredState.MessageArguments
Message.StateManagerEnteredStateMessageArguments
Message.StateManagerLeftState.MessageArguments
Message.StateManagerLeftStateMessageArguments
Message.StateManagerTransition.MessageArguments
Message.StateManagerTransitionMessageArguments
Message.StateManagerTransitionStarted.MessageArguments
Message.StateManagerTransitionStartedMessageArguments
Message.StateManagerTransitionFinished.MessageArguments
Message.StateManagerTransitionFinishedMessageArguments