Releases: microsoft/surface-duo-sdk
WM-Utils 1.0.0-beta5
What's new?
-
Added a new method called
isFoldingFeatureHorizontal
that returnstrue
if the device has a folding feature oriented horizontally. -
Added new class,
OnVerticalSwipeListener
, that can detect if the user executed a vertical bottom swipe gesture on the target component.
Artifact name: com.microsoft.device.dualscreen:wm-utils:1.0.0-beta5
NavigationRail 1.0.0-alpha1
What's new?
Added a new component, the NavigaitonRail that is an extension of the NavigaitonRail from the material design library.
The component can position its children around the foldable feature of the device by either:
-
setting the
menuGravity
property toGravity.TOP
,Gravity. CENTER
orGravity.BOTTOM
. -
using the
arrangeButtons()
method to specify exactly how many destinations will be places above and below the foldable feature.
When changing the position of the destinations the component can use an animation with a built-in interpolator or set a custom one by setting the animationInterpolator
property.
This feature can be turned on and off by setting the useAnimation
property to true
or false
.
The gravity
property can also be set to Gravity.TOP
or Gravity.BOTTOM
by a executing swipe gesture on the component.
Artifact name: com.microsoft.device.dualscreen:navigationrail:1.0.0-alpha1
InkSDK 1.0.0-alpha5
What's new?
This update enables saving (exporting) and loading ink data. It provides two functions as API:
saveInk
returns aList<Brush>
with the representation of the drawing in the canvas.loadInk
accepts aList<Brush>
as parameter and renders that information into the canvas as a drawing.
Note: there is not a persistence layer built in the ink sdk. Developers should use the List<Brush>
that represent the drawing and save that information in their preferred storage.
Artifact name: com.microsoft.device:ink:1.0.0-alpha5
Testing 1.0.0-alpha4
This new release improves the usage of the @MockingFoldingFeature
annotation. From now on windowBounds
will not be required as a parameter anymore. Devs can still pass a specific configuration, but if missed, it will use the current window bounds that the device/emulator has.
Also, this update includes a sample located in utils\sample
that you can use to learn about how to use the testing annotations we introduced during previous release.
Testing 1.0.0-alpha3
This new release brings a ton of value: Introduces testing annotations, so you can annotate your test classes or functions with new annotations that are going to help you to test your code when targeting Surface Duo and other foldable devices:
-
@SingleScreeenTest
and@DualScreenTest
These annotations can be used to mark a test(s) as single screen oriented or dual-screen oriented. Using @DualScreenTest will automatically span the test(s) without the developer having to do anything else. The annotations can also receive theorientation
parameter so you can run also your test on a predefined device orientation. -
@MockingFoldingFeature:
With this annotation we can create dummy folding features on any emulator or device, no matter its form factor, so we can test our enhanced foldable apps on conventional single screen devices/emulators. -
@TargetDevices
With this annotation we can define test(s) to run on specific devices or ignore devices that we don't want our tests to run into. -
@DeviceOrientation
With this annotation we can change the orientation of our device/emulator before the test(s) run, so they can run on a specific configuration.
Apart of annotations, this update also brings:
-
FoldableTestRule
Is a custom TestRule that is needed in order to use the previously mentioned annotations. -
FoldableJUnit4ClassRunner
Is a custom AndroidJUnit4ClassRunner that is also needed to be used together with the mentioned previous annotations to in order to validate the parameters that these annotations can use.
Artifact name: com.microsoft.dualscreen.device.testing:testing-kotlin:1.0.0-alpha3
Snackbar 1.0.0-alpha2
This update contains:
- Fix SnackbarContainer's right/end margin on dual-landscape mode where the navigation bar (located in that orientation to the right/end) was hiding the right/end side of the container.
Artifact name: com.microsoft.device.dualscreen:snackbar:1.0.0-alpha2
Tabs 1.0.0-beta5
This new update contains:
- Bug fixes
Name of the new artifact: com.microsoft.device.dualscreen:tabs:1.0.0-beta5
Snackbar 1.0.0-alpha1
This is the first release of the SnackbarContainer component. This new component will help you to display a snackbar on a specific display on foldable devices, or just show it as usual on single screen devices. Specifically:
- We can move the snackbar to the start display (both when in portrait and landscape mode).
- We can move the snackbar to the end display (both when in portrait and landscape mode).
- We can show the snackbar across the whole display area.
Artifact name: com.microsoft.device.dualscreen:snackbar:1.0.0-alpha1
Navigation 1.0.0-alpha3
This new update contains:
- Bug fixes
- Minor improvements.
Name of the new artifact: com.microsoft.device.dualscreen:navigation-XYZ:1.0.0-alpha3
Layouts 1.0.0 beta9
This new update contains:
- Bug fixes
- Behavioral improvements.
Name of the new artifact: com.microsoft.device.dualscreen:layouts:1.0.0-beta9