Skip to content

Releases: microsoft/surface-duo-sdk

WM-Utils 1.0.0-beta5

27 Sep 13:12
55e3bb4
Compare
Choose a tag to compare

What's new?

  • Added a new method called isFoldingFeatureHorizontal that returns true 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

27 Sep 14:41
059a236
Compare
Choose a tag to compare

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 to Gravity.TOP, Gravity. CENTER or Gravity.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

26 Jul 09:58
c1baaf1
Compare
Choose a tag to compare

What's new?

This update enables saving (exporting) and loading ink data. It provides two functions as API:

  • saveInk returns a List<Brush> with the representation of the drawing in the canvas.
  • loadInk accepts a List<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

05 Jul 14:24
fc88c02
Compare
Choose a tag to compare

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

23 Jun 14:31
5aebd3e
Compare
Choose a tag to compare

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 the orientation 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

28 Apr 10:00
f8522a1
Compare
Choose a tag to compare

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

06 Apr 15:33
fbeffaf
Compare
Choose a tag to compare

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

06 Apr 15:23
fbeffaf
Compare
Choose a tag to compare

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

06 Apr 17:56
fbeffaf
Compare
Choose a tag to compare

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

06 Apr 16:39
fbeffaf
Compare
Choose a tag to compare

This new update contains:

  • Bug fixes
  • Behavioral improvements.

Name of the new artifact: com.microsoft.device.dualscreen:layouts:1.0.0-beta9