Skip to content

What's New in Release 7.1.1

Upgrading to the Latest Version of the SDK

Extract the contents of the SAP BTP SDK for Android software update file to a folder on your computer and run the installation script. The installation script copies the SDK libraries to the local Maven repository and reinstalls the Android Studio plugin.

The installation script does not overwrite older versions of the SDK libraries. These are still present in the local Maven repository after the upgrade. This ensures applications referencing the older SDK will continue to compile.

For existing applications, manually update the SDK version in your Gradle files to the new one.

Tip

You can update the SDK version for your Wizard projects using the sdkVersion property in the gradle.properties file at the root of the generated project.

Offline OData Library 7.1.1 Update

  • Added support to convert a DateTimeOffset value to a date using the DATE method

Fiori UI Library (Jetpack Compose) 7.1.1 Update

  • Added the TagColor.OUTLINE enum for creating tags with an outline style.
  • Added the enabled attribute in TopAppBarAction so that developers can customize the enabled state of menu items in FioriTopAppBar.
  • Updated font styles for numeric KPIs.

Fiori UI Library (View-Based) 7.1.1 Update

  • Bug fix: Removed uses of an API that could cause application crashes on older devices.
  • Bug fix: The object cell height now factors in the height of the secondary action icon in order to avoid truncation.
  • Bug fix: The Fiori toolbar title is now center-aligned vertically.
  • Bug fix: The travel request icon now displays correctly.
  • Enhancement: The object header now supports setting the number of lines for labels.
  • Enhancement: The object header now supports the use of intrinsic bounds for label item drawables.
  • Enhancement: The object header now supports padding adjustments for label item drawables.
  • Enhancement: The object header now supports the use of resource IDs for label item drawables.

What's New in Release 7.1.0

Foundation Library 7.1.0 Update

  • CrashService now requires user consent before uploading the crash report
  • Support for IPCMobile Bluetooth scanner.

Fiori UI Library (Jetpack Compose) 7.1.0 Update

  • Updated FioriRating API to allow configuring maximum lines and layout size.
  • Updated SimpleTextField control to display a character counter beside the helper text.

Added the following new controls:

  • ClipboardProtectionService enhancement to prevent recently copied/cut content of an app from being displayed in the clipboard history list.
  • FioriCalendar provides three different view types: Week view, Month view, and Expandable view.
  • FioriCardCell is used to display a single Fiori Object Cell or a series of Object Cells in a horizontally scrollable list.
  • FioriProgressViewKpi provides a circular progress indicator for a numeric KPI.
  • FioriAttachment allows selecting files or capturing images/video.
  • FioriPDFViewer to display a given PDF file (based on Android’s PdfRenderer interface).
  • FioriStatusInfoLabel to display a group of labels.
  • SignatureFormCell can be used to prompt the end user for a signature.
  • StepperProgress, which provides a way to visually represent sequences of steps and their status.

SDK Wizard 7.1.0 Update

  • Added support for Android Studio Giraffe.
  • Enhanced the view-based generated application to support Lock and Wipe.
  • Upgraded the H2 Database to 2.2.224.

Offline OData Library 7.1.0 Update

  • Added support for the containment navigation property in OData 4.0
  • Added support for the key property reference in OData 4.0

What's New in Release 7.0.8

Fiori UI Library (View-Based) 7.0.8 Update

  • Bug fix: The object cell height now factors in the height of the secondary action icon in order to avoid truncation.
  • Bug fix: The Fiori toolbar title is now center-aligned vertically.

What's New in Release 7.0.7

Flows Library 7.0.7 Update

  • Added new option to hide Forgot passcode button when reaching passcode retry limit.

Fiori UI Library (View-Based) 7.0.7 Update

  • Bug fix: Setting the text color on a Fiori toolbar menu item now behaves as expected.
  • Bug fix: The Fiori toolbar menu items now handle custom layouts correctly.
  • Bug fix: Added the missing SAP icons for role and presentation attachment and updated the icon that indicates a pending state.
  • Bug fix: The simple property form cell will now correctly change alternate input mode when in focus.
  • Bug fix: The contact cell now correctly handles multiple lines in the sub-headline field.
  • Accessibility improvement: The keyboard focus indicator in the list picker activity now meets the accessibility standards for contrast ratio.
  • Accessibility improvement: Non-interactive secondary actions in the object cell will no longer receive keyboard focus.

Fiori UI Library (Jetpack Compose) 7.0.7 Update

  • Enhancement: The object cell no longer allocates space for empty titles.
  • Bug fix: The default launch icon and theme have been removed from the Android manifest in the card component.

What's New in Release 7.0.6

Fiori UI Library (Jetpack Compose) 7.0.6 Update

  • Bug fix: Fixed the issue where the barcode scanner and OCR scanner might crash on devices without camera sensors. Developers need to add <uses-feature android:name="android.hardware.camera" android:required="false"/> explicitly in the AndroidManifest.xml file to prevent the app from being filtered by Google Play on those devices.

  • Bug fix: Fixed the issue where the barcode scanner and OCR scanner might crash on specific devices (Samsung Note10, S20+).

Flows Library 7.0.6 Update

  • Bug fix: Fixed the issue where the user could still input passcodes after reaching the retry limit and doing a forced stop on the app.

Foundation Library 7.0.6 Update

Upgraded OkHttp to 4.12.0 to avoid vulnerability issues. Upgraded Okio to 3.6.0 to avoid vulnerability issues.

Fiori UI Library (View-Based) 7.0.6 Update

  • Bug fix: Addressed an issue related to the object header when its width does not occupy the full width of the screen.
  • Bug fix: Addressed an animation issue that occurred when the bottom sheet on the list picker is initially displayed.
  • Accessibility improvement: Addressed keyboard focus issues related to the filter chip form cell.
  • Accessibility improvement: Added a more useful content description to the list picker form cell collapse button.
  • Accessibility improvement: Removed an unnecessary announcement from the list picker form cell.

What's New in Release 7.0.5

Fiori UI Library (View-Based) 7.0.5 Update

  • Enhancement: New API added to allow setting the number of lines on an object cell description.
  • Enhancement: New checkedStateChangeListener added for filter chip form cell.
  • Bug fix: The typeface and text size for the simple property form cell can now be modified.
  • Bug fix: Fiori toolbar menu items with image spans now display correctly.
  • Bug fix: The unit and metric are now aligned correctly on the KPI view.

Flows Library (Compose-Based) 7.0.5 Update

  • Enhancement: Fixed the problem where the QR code scan confirmation screen might have a flickering problem.

What's New in Release 7.0.4

Flows Library 7.0.4 Update

  • Bug fix: Fixed the Forgot Passcode button cannot be set to invisible issue.

Offline OData Library 7.0.4 Update

  • Bug fix: New runtime no longer crashes occasionally after upgrading com.sap.cloud.android to version 7.0.1

Fiori UI Library (View-Based) 7.0.4 Update

  • Bug fix: Toolbar menu items will now render correctly.
  • Bug fix: Attachment form cell icons now use the correct color.
  • Bug fix: Attachment form cell icons have been updated to use the appropriate SAP Fiori icons.
  • Bug fix: The list picker footer button label will now be retained across configuration changes.
  • Bug fix: The list picker will now invoke onSelect when individual items are selected or deselected.
  • Bug fix: List picker selections will now be saved correctly when a custom layout is used.

What's New in Release 7.0.3

Fiori UI Library (View-Based) 7.0.3 Update

  • Bug fix: Applications will no longer crash when requesting the current location.
  • Bug fix: The checkbox border color in the filter form cell is now correct.
  • Bug fix: Fixed a switch form cell issue that could cause an application crash.
  • Bug fix: Removed unnecessary permissions from the privacy notice Android manifest.
  • Enhancement: The KPI view now supports individual text appearance attributes for metrics and units.

Fiori UI Library (Jetpack Compose) 7.0.3 Update

  • Enhancement: The status bar color is now included in the Fiori Horizon theme.
  • Bug fix: Remove explicit setting on setPermissionRequestTrackingEnabled in barcode scanner so that the preference on permissionRequestTrackingEnabled will not be overridden.
  • Bug fix: Do not pop up unnecessary permission granting request dialog if permission has already been granted.

Flows Library (View-Based) 7.0.3 Update

  • Bug fix: Fixed the problem that the dialog message was not updated when changing locale.
  • Enhancement: Do not show the notification permission request screen when it's not needed.
  • Enhancement: New API added to let the client code update the theme before showing the flow screens.

OData Library 7.0.3 Update

  • Bug fix: Fixed CaptureResponseHeader issue in batch request.

What's New in Release 7.0.2

Fiori UI Library (View-Based) 7.0.2 Update

  • Bug fix: The list picker will now save selections if the Back button is pressed or the user clicks outside the dialog.
  • Bug fix: The cursor will no longer jump to the end of a text field if the first character is deleted.
  • Bug fix: Right-to-left text is now handled correctly in the date time picker, duration picker, generic list picker, switch, and filter form cells.
  • Bug fix: Right-to-left text alignment is now correct in the object cell, filter form cell, and sectioned recycler view adapter.
  • Bug fix: Right-to-left text is now handled correctly when using mixed languages in the object cell.
  • Bug fix: The banner height is now correct when using no icon, one line, and no buttons.
  • Bug fix: The top app bar will no longer crash if a SpannableString is used for the title.
  • Bug fix: The generic list picker will now correctly save and restore the single selection properties on a configuration change.
  • Bug fix: The Fiori icons now include correct icons for filter and print.
  • Bug fix: The data table is now scrollable when used in a recycler view.
  • Enhancement: The list picker now supports a property to set a prompt.
  • Accessibility improvement: The key value cell now correctly handles keyboard navigation, including non-actionable fields.
  • Accessibility improvement: Text in the attachment form cell will no longer be truncated when using large font sizes.
  • Accessibility improvement: Talkback will now correctly announce the number of items displayed by the list picker.

Flows Library (View-Based) 7.0.2 Update

  • Enhancement: EulaScreen supports an HTML content string from the client code.

OData Library 7.0.2 Update

  • Bug fix: Allow OnlineODataProvider to send explicit nulls in POST/PUT for dynamic properties.

  • Bug fix: Fixed downloadMedia/downloadStream API issue in batch request.

What's New in Release 7.0.1

Foundation Library 7.0.1 Update

  • Bug fix: Fixed issues in ClipboardProtectionService that caused the app to crash.

Fiori UI Library (View-Based) 7.0.1 Update

  • Bug fix: Corrected color of current year in date picker when another year is selected.
  • Bug fix: Corrected an invalid resource error in the timeline view.
  • Bug fix: The CellValueChangeListener will now be invoked on date range changes in the date picker.
  • Bug fix: The color of the check icon in the chip form cell has been corrected.

Fiori UI Library (Jetpack Compose) 7.0.1 Update

  • Accessibility improvement: The icon and text on the circular progress indicator are now grouped together when using keyboard navigation.

What's New in Release 7.0.0

Fiori UI Library (View-Based) 7.0.0 Update

  • New ListPicker control that allows a user to pick single or multiple items from a long list of items.
  • New PersistentFooter control provides a persistent bar with action buttons and is designed to be used at the bottom of a parent container.
  • Updated TimelineCell and TimelinePreview controls with changes to the anatomy (icon, time, and text attributes).
  • Updated view-based OCR to use Google's ML Kit Vision APIs.

Fiori UI Library (Jetpack Compose) 7.0.0 Update

  • New ListPicker control that enables the user to pick single or multiple items from a long list of items.
  • New PersistentFooter control provides a persistent bar with action buttons designed to be used at the bottom of a given parent container.
  • New ProfileHeader control to present more information about a person.
  • New CollectionView control that provides an alternative for ObjectCell and ContactCell controls. It emphasizes an image and helps users identify each Object or Contact.
  • New FioriCircularProgressIndicator control to show the progress of an activity and reflect its status using a text message and an icon.
  • New MultiSort form cell control provides the ability to choose multiple sorting options from a list of predefined options or allow reordering of selected options.

Foundation Library 7.0.0 Update

  • Added the ability to restrict cut, copy, and paste between applications based on a signal sent by the server.
  • Add IntegrityService to support integration with the Google Play Integrity API to check application and device integrity.
  • Add DeviceSecurityService to check whether a device is rooted.
  • Add UserSessionService to check that the user ID does not change after the user session expires and authentication is successfully completed again.
  • Add support for onboarding Wearable devices.
  • Provide flow option for stopping switching users during IDP login when the refresh token or WebSession is expired.

SDK Wizard 7.0.0 Update

  • Added support for Android Studio Flamingo.
  • Migrated from Kotlin synthetics to Jetpack view binding and upgraded Kotlin from 1.6.21 to 1.8.10 for the generated app.
  • Support client-only entities for generated offline apps.
  • Expose more Proxy Compiler options.
  • Enhance the generated application to showcase the EULA acceptance flow, catering to both the global and China markets.

OData Library 7.0.0 Update

  • Support media/stream operations in changeSet within a batch.

Offline OData Library 7.0.0 Update

  • Added support for client-only entities and local drafts.
  • Added support for media requests in ChangeSet.
  • Added support for Geography and Geometry types in OData 4.0.
  • Added a new API to set the cache size for local databases.

What's New in Release 6.0.5

OData Library 6.0.5 Update

  • Bug fix: Allow OnlineODataProvider to send explicit nulls in POST/PUT for dynamic properties.

What's New in Release 6.0.4

Offline OData Library 6.0.4 Update

  • Bug fix: Removed sensitive information from the error message when the database failed to open.

Fiori UI Library (View-Based) 6.0.4 Update

  • Bug fix: Fixed an issue that would cause an application to crash when using the filter chip form cell inside a sectioned recycler view adapter.
  • Accessibility improvement: Changed the key value cell to avoid truncation when using larger font sizes.
  • Accessibility improvement: Changed the attachment form cell to allow attachment removal when Talkback is enabled.
  • Accessibility improvement: Talkback now announces the correct list picker item count.
  • Accessibility improvement: Talkback now correctly announces the checkbox inside a generic list picker form cell item.

What's New in Release 6.0.3

Foundation Library 6.0.3 Update

  • Bug fix: Fixed an issue when WebView was not installed on a device, causing the app to crash.
  • Bug fix: Fixed an issue where the validation on the endUserUI property of AppConfig did not work in some cases.

Flows Library 6.0.3 Update

  • Bug fix: Fixed an issue in the restore flow where the client code could not hide the Reset Client button.

Fiori UI Library (View-Based) 6.0.3 Update

  • Bug fix: Fixed an issue that prevented the barcode scanner button on the simple property form cell from being clickable in some cases.
  • Bug fix: Fixed an issue that prevented the sticky header feature from working properly when changed to false after initial layout.
  • Bug fix: Fixed an issue that prevented object cell tags from appearing in dark mode.
  • Accessibility improvement: Changed the key value cell line height to better accommodate larger font sizes.
  • Accessibility improvement: The section headers in the generic list picker are now correctly announced as such by Talkback.
  • Accessibility improvement: The separator between sections in the generic list picker no longer receives focus when using an external keyboard.
  • Accessibility improvement: When an item is checked in the generic list picker, Talkback will now correctly announce it as checked without also indicating that it is selected.
  • Accessibility improvement: Changed the chart card line height to better accommodate larger font sizes.
  • Accessibility improvement: Changed the attachment form cell title height to better accommodate larger font sizes.

Fiori UI Library (Jetpack Compose) 6.0.3 Update

  • Bug fix: If the title on an object card is empty, it no longer takes up the full amount of space.

What's New in Release 6.0.2

Flows Library 6.0.2 Update

  • Bug fix: Fixed the IDP sign-in page not being displayed after the user disabled the Chrome app in the Settings page and was then forced to change the IDP login from the Customized Chrome Tab to WebView issue.

Foundation Library 6.0.2 Update

  • Bug fix: Fixed a possible app crash when a customized theme was downloaded without the APIKey.

Fiori UI Library (View-Based) 6.0.2 Update

  • Added the ability for developers to customize the warning message that appears when an end user does not agree to the EULA.
  • Bug fix: Fixed an issue that caused the KPI view to be displayed incorrectly when the text is resized.
  • Bug fix: Fixed an issue that caused the KPI view to be displayed incorrectly when using a long string for the metric text.
  • Bug fix: Fixed an issue that caused the object header status width to decrease when redrawn.
  • Bug fix: Fixed an issue that caused the object header footnote to be truncated when the headline has three lines.
  • Bug fix: Fixed an issue that caused the object header subheadline to wrap on some devices.
  • Accessibility improvement: Added the ability for developers to provide a custom content description for timeline cells.
  • Accessibility improvement: Fixed an issue that resulted in Talkback incorrectly announcing dates in the timeline component.
  • Accessibility improvement: Fixed an issue that resulted in Talkback announcing the simple property form cell suffix or prefix twice.
  • Accessibility improvement: Fixed an issue that resulted in Talkback not reading the custom content description for a simple property form cell.

What's New in Release 6.0.1

Fiori UI Library (View-Based) 6.0.1 Update

  • Added new API to expose WebView instance of EULA screen to client code.
  • Bug fix: Fixed a possible app crash when scanning QR code.
  • Disabled scrolling for the EULA screen.

Fiori UI Library (Jetpack Compose) 6.0.1 Update

  • Bug fix: Fixed the letter spacing on the button control.

Flows Library 6.0.1 Update

  • Added new API for client code to add its own logic after forgot passcode flow.

Foundation Library 6.0.1 Update

  • Added new API for client code to add its own logic after launching CCT.

SDK Wizard 6.0.1 Update

  • Bug fix: Fixed exception when regenerating proxy class twice.
  • Bug fix: Fixed build error when generating project without UI code.
  • Bug fix: Fixed exception when adding OData destination from API management.

What's New in Release 6.0.0

Breaking Changes: Fiori Library

  • The internal representation of the switch in the SwitchFormCell has changed from SwitchMaterial to MaterialSwitch. This only affects applications that access the control directly (for styling purposes, for instance) using the getSwitch method.
  • The base Theme.Fiori.Horizon theme now has an action bar, correcting an issue with prior releases where it did not. As a result, any application that adds its own action bar should instead use Theme.Fiori.Horizon.NoActionBar to avoid issues.
  • The Theme.Fiori.Horizon theme and all styles for individual controls now use Material 3 as their basis rather than Material 2.
  • The RGB color values (e.g., sap_horizon_blue_5) have changed significantly and many of the colors have been renumbered. Any application that is using these color values directly should review the Fiori for Android colors to see what has changed.
  • Deprecated methods in the chart module have been removed.

Fiori UI Jetpack Compose Library 6.0.0 Update (New Module)

  • A top app bar component has been added to reflect the state of the current activity and provide access to context-specific operations.
  • A navigation rail component has been added to provide navigation options to the user.
  • An object header component has been added to provide summary-level information related to a business object.
  • An object cell component has been added to present lists of information related to business objects.
  • A navigation drawer component has been added to provide navigation options to users of large-screen devices.
  • A barcode scanner component has been added to allow for the scanning of barcodes and QR codes.
  • A simple text field component has been added for editing single lines of text. It also supports setting helper, placeholder, or error texts.
  • A note text field component has been added. It is similar to the simple text field but supports multiline editable text. It also supports setting helper, placeholder, or error texts.
  • A privacy notice component has been added to allow an application to provide an explanation to the user as to why the application requires a specific permission.
  • A slider component has been added that allows the application to present a float value and allow the user to modify it using a seek bar.
  • A switch component has been added that allows the application to present a Boolean value and allow the user to modify it using a toggle control.
  • A button component has been added to allow for the creation of buttons that follow the Fiori Horizon style.
  • The data table card component has been updated to provide a composable function that allows for the customization of text colors and text styles.
  • The list card component has been updated to provide a composable function that allows for the customization of text colors and text styles.
  • A collection of ready-to-use layouts has been added for the display of data cards, allowing for displaying data cards in a horizontal row, vertical column, or grid layout.
  • A list card grid component has been added to allow for the displaying of grids of list cards.
  • A linear progress bar component has been added to represent the progress and success/failure of any event or operation.
  • The fiori-theme component now includes a full set of Fiori icons. To reduce the size of the APK, please follow the Android guidelines for shrinking resources.

Flows Jetpack Compose Library 6.0.0 Update (New Module)

  • An onboarding flows component has been added.
  • A collection of screens has been added to aid in the communication of offline synchronization states, including the current synchronization status, network error states, and transaction error states.

Fiori UI Library (View-Based) 6.0.0 Update

  • The Fiori Horizon theme (and component styles) now use Material Design 3.
  • The data table component has been updated to provide an editable mode, which alters the behavior of each column according to its specified edit type. It makes use of unique characteristics of the cell data to allow relevant edits.

Foundation Library 6.0.0 Update

  • The push component has been updated to provide APIs to subscribe and unsubscribe to push notifications for categories of topics. Push notifications can be targeted to a list of users that are subscribed to a given topic. This is supported for both FCM and Baidu push services.
  • New APIs have been added to integrate the built-in laser scanner (for devices that provide these capabilities).
  • To apply feature flags across a segment of users, based on the OS version activation rule, the ClientPolicyService sends an HTTP header with the device OS version to SAP Mobile Services when requesting the Settings Exchange / Feature Vector Policy. Currently, Android devices and Huawei devices with HarmonyOS are supported.

Offline OData Library 6.0.0 Update

  • Added support for not populating the relationship data for a referential constraint. For a navigation property with a referential constraint, there is no need to download the relationship data, as the relationship can be determined through the referential constraint in the client SDK. This can help to decrease the database size and improve the speed of the initial download.
  • Added upload and download failure events into the EventLog entity set.

SDK Wizard 6.0.0 Update

  • Added support for Android Studio Electric Eel.
  • Added support for Application Themes.
  • Added support for uploading the local metadata XML file for a specific destination without trying to download from the Mobile Services server.

What's New in Release 5.1.5

Foundation Library 5.1.5 Update

  • Enhanced the validation of the endUserUI property of AppConfig.

Flows Library 5.1.5 Update

  • Added support for hiding the Reset Client button for the restore flow.

Fiori Library 5.1.5 Update

  • Bug fix: Fixed an issue that would prevent the barcode scanner button on the simple property form cell from functioning if the user clicked outside the cell.
  • Bug fix: Fixed an issue that caused the object header headline text to use an incorrect text appearance.
  • Bug fix: Fixed an issue that resulted in the last line of the object header description being truncated.
  • Added the ability for developers to customize the warning message that appears when an end user does not agree to the EULA.

What's New in Release 5.1.4

Flows Library 5.1.4 Update

  • Bug fix: Fixed a screen orientation issue that occurred when Chrome was disabled.
  • Bug fix: Fixed a security issue where a business screen might be displayed even though the passcode had not yet been input.
  • Bug fix: Fixed an incorrect passcode expiration notification issue.
  • Bug fix: Fixed an incorrect screen orientation switch issue.

What's New in Release 5.1.3

Fiori Library 5.1.3 Update

  • Bug fix: Fixed an issue that caused the note form cell to behave erratically when editing large amounts of text.
  • Bug fix: Fixed an issue that caused the overflow menu on the object card to remain visible even after a menu item was clicked.
  • Bug fix: Fixed an issue that prevented applications from aligning the subheadline in the object header with the headline rather than the image.
  • Bug fix: Fixed an issue that would cause an extraneous asterisk to appear when setting a field to be required.
  • Bug fix: Fixed an issue that could cause app crashes for apps using the top app bar on devices running Android API 25 or lower.
  • Added the ability to set the KPI text appearance.
  • Added the ability to set the KPI status text appearance.

Foundation Library 5.1.3 Update

  • Added the ability to display pop-ups in the WebView to support SAP universal ID.

Flows Library 5.1.3 Update

  • Bug fix: Fixed an issue that could cause a crash during onboarding.

What's New in Release 5.1.2

Fiori Library 5.1.2 Update

  • Bug fix: Updated the colors used for the prefix and suffix in the simple property form cell control.
  • Bug fix: Updated the colors used for the passcode checker rule in the onboarding component.

Foundation Library 5.1.2 Update

  • Bug fix: Fixed a Zip Path Traversal vulnerability for ThemeDownloadService.

What's New in Release 5.1.1

Foundation Library 5.1.1 Update

  • Refactored the Foundation framework's ThemeDownloadService API to use Context as the parameter when initializing.
  • Added support for ThemeDownloadService to:
    • Provide APIs to get the downloaded theme file and logo images
    • Remove downloaded files from local when resetting or receiving a 404 response from the server
    • Remove logo images from local when updating the theme on the server side that does not have logos

Fiori Library 5.1.1 Update

  • Added 'lineHeightStyle' to the text styles in the generated Fiori theme.
  • Bug fix: Addressed an issue that allowed the barcode scanner to be launched from a simple property form cell even when the cell is non-editable.
  • Bug fix: Addressed an issue that prevented horizontal icons in the object cell from being properly displayed under all conditions.
  • Bug fix: Addressed an issue that displayed the object cell tags in the wrong position.
  • Bug fix: Addressed an issue that prevented custom theme colors from being properly presented in the onboarding UI.
  • Bug fix: Addressed an issue that caused single-line text fields to be improperly truncated when using Jetpack Compose.
  • Updated the version of Jetpack Compose being used by the Fiori UI Library to 1.3.0.
  • Updated the version of the Guava library being used by the Fiori UI Library to 31.0.1.
  • Bug fix: Addressed an issue that would leave the password visibility toggle visible on a simple property form cell even after the password property was cleared.
  • The behavior of the offline component has been improved in cases where there is no internet connection.
  • Bug fix: Addressed an issue that resulted in truncation of the footnote at the bottom of an object header.
  • Enhanced the custom theming component to handle three-digit color codes.
  • Enhanced the custom theming component to support additional colors.
  • Added support for the H7 type style to the Fiori theme.
  • Added support for styling the title, summary and trend labels on charts at runtime.
  • Added an API to allow access to the secondary action view on object cells.
  • Bug fix: Corrected the weight used for the H5B type style.
  • Bug fix: The time picker now follows the device preferences for 24-hour clock.
  • Added an API to allow custom theme color mappings to be cleared from memory.
  • Removed color values from Jetpack Compose text styles.
  • Added an API to allow the object card description to be displayed correctly when used in a collection.
  • Bug fix: Adjusted the padding used for images when displayed in a data table on a tablet device.
  • Turned off obfuscation for the Fiori theme component so it can be used in applications built for release.
  • Bug fix: Corrected the color being used for active items in the navigation bar.
  • Accessibility improvement: Updated the simple property form cell to require fewer swipes in order to hear all pertinent information.

Onboarding Library 5.1.1 Update

  • Added the ability to customize the Reset Client button label on the Sign-In screen.
  • Bug fix: Updated the EULA screen to prevent the screen from briefly displaying an incorrect color in dark mode.
  • Bug fix: The footer color has been corrected.

What's New in Release 5.1.0

Foundation Library 5.1.0 Update

  • Android 13 support: SAP BTP SDK for Android supports API version 30. There were no API-level changes made to support this. However, to target Android 13 APIs, your application must be compatible with Android 13 behavior changes, details of which can be found at Set up the Android 13 SDK.
  • Added the error code property in ServiceResult.FAILURE class to improve error handling.
  • Added support for AppExtensionService to be able to get the cross-context SSO readonly token.
  • Provided custom badge message channel in push service.
  • Exposed Android notification ID in PushRemoteMessage.
  • Added support for downloading application themes from the mobile server.
  • Theming and branding: SAP Mobile Services allows administrators to create and maintain themes (colors and company logo), which can be consumed by the mobile apps using the Fiori UI library. Foundation framework's API ThemeDownloadService.downloadTheme() can check for available themes on the server side for the application and download them. The application can automatically apply theming on the controls used from the Fiori library. This feature requires Android API Level 30 and above as it makes use of the ResourcesProvider feature of the Android OS.
  • SAP Mobile Services allows a provider to integrate with Google's SafetyNet Attestation service. This helps protect applications from potential tampering by preventing unauthorized clients from accessing its back-end resources. When using the Foundation framework's AttestationService.attest() API, the application interacts with mobile services's provider to obtain an attestation of the app or device's authenticity.
  • StrongBox Keymaster support: On Android 9 and above, SecureStore makes use of the StrongBox Keymaster feature if hardware support exists. With hardware-backed StrongBox Keymaster implemented in an environment such as Trusted Execution Environment (TEE), SecureStore can securely store and handle cryptographic keys.
  • Classes to integrate with Baidu push service are organized into a separate AAR file. This enables application developers to include the Baidu-specific AAR file only when they need to support the Baidu push service.
  • The getOAuthAuthenticationOption() API allows use of the 'WebView', 'Chrome Custom Tab' or 'Browser' for the authentication flow. Developers can choose between the following options to configure this: 'OAuth2WebOption.WEB_VIEW', 'OAuth2WebOption.CCT' and 'OAuth2WebOption.BROWSER'.
  • The new activateFromManagedConfig() API has been added in the FlowActionHandler class to indicate that application configuration is managed and retrieved using MDM (rather than using a QR code or by other means).

Flows Library 5.1.0 Update

  • Added a new API, activateFromManagedConfig, in FlowActionHandler, to let the client code activate an application configuration from the managed configurations.

SDK Wizard 5.1.0 Update

  • Upgraded the H2 database version to 2.1.214.
  • Support Android Studio Dolphin and Android Studio Chipmunk.
  • Discontinue option to generate application code in Java. Kotlin is the preferred language for Android app development and SDK Wizard will only generate the application code in Kotlin.

Fiori Library 5.1.0 Update

  • Added support for built-in scanner.
  • Theming and branding: SAP Mobile Services allows administrators to create and maintain themes (colors and company logo), which can be consumed by the mobile apps using the Fiori UI library. Foundation framework's API ThemeDownloadService.downloadTheme() can check for available themes on the server side for the application and download them. The application can automatically apply theming on the controls used from the Fiori library. This feature requires Android API Level 30 and above as it makes use of the ResourcesProvider feature of the Android OS.
  • Navigation Bar is a new control added to simplify user navigation inside the application. It helps the user to navigate to 3-5 popular destinations within the application. Navigation Bar supports labels and icons and displays both selected and inactive states.
  • App Bar is a new control that provides end user application context and key actionable elements visible most of the time. For example, App Bar can be used to make important actions, such as 'search', easy to access. It also supports a collapsing layout to maximize screen real estate during scrolling.
  • Data Table Card is a new UI control that serves as an entry point to preview information and status from the connected Data Table. This card can be used to compare current and historical properties and measuring the points of an entity.

Offline OData Library 5.1.0 Update

  • Support "deep insert to the many end" when the back end can respond with child entities in the same order as the request.
  • Support reporting client-side metrics in the mobile services cockpit, including total synchronization time, network time, server processing time, and success and failure count.
  • Fixed the issue where the sync progress URL was sometimes incorrect.
  • Initial support for OData 4.01.

What's New in Release 5.0.10

Foundation Library 5.0.10 Update

  • Enhanced the validation of the endUserUI property of AppConfig.

Flows Library 5.0.10 Update

  • Added the ability for developers to customize the warning message that appears when an end user does not agree to the EULA.
  • Bug fix: Fixed app crash that occurred when doing a reset due to token expiration.

Fiori Library 5.0.10 Update

  • Added the ability for developers to customize the warning message that appears when an end user does not agree to the EULA.
  • Bug fix: Fixed an issue that prevented the barcode scanner button on the simple property form cell from being clickable in some cases.
  • Bug fix: If the title on an object card is empty, it no longer takes up the full amount of space.
  • Bug fix: Fixed an issue that caused the headline and description in the object header to render incorrectly.
  • Bug fix: Fixed an issue that prevented object cell tags from appearing in dark mode.
  • Bug fix: Fixed an issue that caused the simple property form cell to render incorrectly in right-to-left locales.
  • Accessibility improvement: Changed the chart card line height to better accommodate larger font sizes.

What's New in Release 5.0.9

Flows Library 5.0.9 Update

  • Bug fix: Fixed an incorrect passcode expiration notification issue.

Fiori Library 5.0.9 Update

  • Enhancement: Added the ability to require that at least one chip be selected in the filter chip form cell.

What's New in Release 5.0.8

Fiori Library 5.0.8 Update

  • Bug fix: Fixed an issue that caused the note form cell to behave erratically when editing large amounts of text.
  • Bug fix: Fixed an issue that caused the overflow menu on the object card to remain visible even after a menu item was clicked.
  • Bug fix: Fixed an issue that prevented applications from aligning the subheadline in the object header with the headline rather than the image.
  • Added the ability to set the KPI text appearance.
  • Added the ability to set the KPI status text appearance.

Fiori Library 5.0.7 Update

  • Bug fix: Fixed an issue that would cause object card menu items to remain on the screen even after one was selected.

Flows Library 5.0.7 Update

  • Bug fix: Fixed a possible app crash during the onboarding process.

Offline OData Library 5.0.7 Update

  • Bug fix: Fixed an issue where the deploy file was not found when multiple providers opened the offline store at same time.

What's New in Release 5.0.6

Fiori Library 5.0.6 Update

  • Bug fix: Fixed an issue that could cause truncation of the footnote text at the bottom of an object header.
  • Added the ability to customize the title text style, summary label text style, and trend label text style on charts.
  • Bug fix: Fixed an issue that prevented the time picker from following the device preferences regarding the use of 24-hour format.
  • Bug fix: Fixed an issue that caused the object card description to be displayed in the wrong location.
  • Bug fix: Fixed an issue that caused images to be displayed incorrectly when using the data table.

Flows Library 5.0.6 Update

  • Provide option to show the Reset Client button on the Sign-In screen of the timeout flow.

Foundation Library 5.0.6 Update

  • Bug fix: Fixed an issue when launching URLs with 'HTTP/HTTPS' as the schema.

Onboarding Library 5.0.6 Update

  • Added the ability to customize the Reset Client button label on the Sign-In screen.

What's New in Release 5.0.5

OData Library 5.0.5 Update

  • Bug fix: Proxy generator allows EnumType with Member named True and False
  • Improve handling of bound methods with proxy classes and request batches
  • Support deep update operation for OData 4.0 or 4.01

Fiori Library 5.0.5 Update

  • Bug fix: Fixed an issue that did not allow text colors to be customized and menu items to have icons in Object Card and corrected its layout to meet the SAP Fiori Horizon standard on tablets.

What's New in Release 5.0.4

Fiori Library 5.0.4 Update

  • Bug fix: Fixed an issue that caused applications to crash when the photo picker was used rather than the camera when selecting an image to scan.
  • Bug fix: Fixed an issue that caused the SimplePropertyFormCell to overwrite custom text styles when placeholder text is displayed.
  • Bug fix: Fixed an issue that would truncate the bottom of the text on buttons when the device font size is set to large.
  • Bug fix: Fixed an issue that caused the SimplePropertyFormCell to display passwords as plain text when the activity state is saved and restored.
  • Bug fix: Corrected the text colors on the privacy notice to meet the Fiori Horizon standard.
  • Bug fix: Fixed an issue that caused applications to crash when the onboarding process was interrupted while using QR code scanning.

  • Updated the default helper text color on the SwitchFormCell to be backwards compatible.

What's New in Release 5.0.3

Foundation Library 5.0.3 Update

  • Provide option to disable PKCE feature for OAuth authentication.
  • Bug fix: Fixed an issue in the crash service when getting the build version of an Android app.
  • Bug fix: Reduced calls to get ANDROID_ID from Android OS.

Fiori Library 5.0.3 Update

  • Fixed an issue that resulted in the buttons on the DateTimePickerFormCell being invisible when choosing a date.
  • Fixed an issue that resulted in the SimplePropertyFormCell key overlapping the input area when the device font was set to large.
  • Added the ability to quickly clear all tags on an ObjectHeader.
  • Fixed an issue that resulted in the text input cursor being invisible on devices running versions of Android lower than 10.
  • Fixed an issue that caused the prefix and suffix text on a SimplePropertyFormCell to render incorrectly when using an end icon.
  • Fixed an issue that caused the Google Maps component to crash on devices running versions of Android lower than 10.
  • Fixed an issue that caused an application crash when attempting to use the Fiori search view component inside a dialog.
  • Fixed an issue that resulted in Talkback incorrectly announcing the isRequired state of text input controls.
  • Updated the chip outline border color to be compliant with the Fiori Horizon standard.
  • Fixed an issue that caused the SimplePropertyFormCell to render incorrectly when using custom focus change listener.
  • Fixed an issue that resulted in the suffix not being displayed for empty SimplePropertyFormCell controls.

What's New in Release 5.0.2

Foundation Library 5.0.2 Update

  • Support transparent mode for Baidu push.
  • Fixed an issue where the app might crash when a user changed the system language settings while viewing an internal link inside the EULA file.

Fiori Library 5.0.2 Update

  • Added the ability to use a Drawable when calling setLabelItem on an ObjectHeader.
  • Added the ability to set text colors and backgrounds on individual label items in an ObjectHeader.
  • Fixed accessibility issue where the heading on onboarding screens was not being announced correctly by Talkback.
  • Fixed an issue where change events were being generated on calls to SimplePropertyFormCell.setValue even when the value didn't change.
  • Added the ability to programmatically control the leading or trailing position of the status icon on an ObjectCell or ObjectHeader.
  • Added the ability to use ColorInt values when setting the key text appearance on a SimplePropertyFormCell.
  • Fixed an issue where bitmaps generated by SignatureCaptureFormCell were being affected by theme settings.
  • Fixed an issue where using duplicate dates in a TimelinePreview would result in layout issues.
  • Corrected the headline text color for ProfileHeader when used with dark mode.
  • Added the ability to set a neutral status on object cards.
  • Addressed an issue with the menu item text that occurred when using object cards in dark mode.
  • Added the ability to customize text colors on object cards.
  • Added the ability to use a secondary action button on object cards even when the primary action button was null.

Flows Library 5.0.2 Update

  • Fixed incorrect Talkback behavior that occurred when navigating back from the QR scan screen.

SDK Wizard 5.0.2 Update

  • Support for Android Studio Chipmunk.

What's New in Release 5.0.1

Fiori Library 5.0.1 Update

  • Fixed QR Code Scan screen accessibility issues.
  • Fixed Welcome Screen accessibility issue.
  • Fixed accessibility issue where text in KPI View would be cut off if the device font size was increased.
  • Fixed accessibility issue where text in Data Table would be cut off if the device font size was increased.
  • Fixed accessibility issue where text in Timeline Preview would be cut off if the device font size was increased.
  • Fixed accessibility issue where text in Privacy Notice would be cut off if the device font size was increased.
  • Fixed accessibility issue where Talkback would erroneously announce the state of end icons in Simple Property Form Cell as "not checked".
  • When using Talkback, Simple Property Form Cell now announces an error message and does not require multiple swipes.
  • When using Talkback, Hierarchy View list item can now be clicked.
  • When using Talkback, Attachment Form Cell now announces if an item is clickable.
  • Fixed issue where Voice Search was not functional on devices running Android 11 or later.
  • Fixed incorrect rendering of Buttons that are in "focused" state.
  • Fixed issue of Map Info Sheet overlapping with other controls when it is rendered.
  • Fixed crash occurring in Enter Passcode screen when the wrong passcode was entered.
  • Fixed images rendering incorrectly while scrolling in Collection View.
  • Fixed issue where setting the Date Time Picker mode using enum led to unexpected results.
  • The Timeline View is now compliant with the Fiori Horizon Design.
  • Fixed Simple Property Form Cell backward compatibility issue.

SDK Wizard 5.0.1 Update

  • Bug fix: Disabled JCEF option on Windows platform to avoid JCEF crash.

Foundation Library 5.0.1 Update

  • Fixed random app crash due to Baidu push class not being found.

OData Library 5.0.1 Update

  • Fixed TimeDay property parsing issue.

What's New in Release 5.0.0

Fiori Library 5.0.0 Update

Onboarding 5.0.0 Update

  • The onboarding EULA screen now supports internationalization.
  • Introduced splash screens to be shown during onboarding.
  • Welcome Screen as bottom modal sheet.
  • Progress indicator to show what stage of onboarding the user is in.
  • UI text consistent between iOS and Android SDKs.
  • Consent Forms are now modal sheets.
  • Optimized character requirement information for Passcode Creation screen.
  • Option to delay biometrics.

Fiori Horizon 5.0.0 Update

  • Buttons: Accessibility improvements, including larger font size and adding borders for focused state. New tonal button style.
  • Cards: New component for presenting application data in a new streamlined card-based format. Developed using Android Jetpack Compose.

Object Header 5.0.0 Update

  • Label items that support a leading or trailing icon and a KPIView are now displayed in the status area of the first page.
  • Typography changes, multiline support for subcomponents (excluding statuses).
  • The description is now displayed on the first page.
  • The number of supported tags has increased from 3 to 100 tags.
  • The statuses now support both icons and labels (before statuses were either an icon or label but not both). Statuses now have more flexibility in terms of being able to be placed stack-wise (original layout), inline (below the tags), or crosswise (one status is inline and the other is stack-wise).

Note Form Cell 5.0.0 Update

  • Revamped appearance with the addition of an error icon and outline to text field, which improves highlighting of the cell's state, such as being in an error or focused state.
  • Added support for toggling text visibility, which helps in hiding sensitive data.
  • Added support for adding a prefix or suffix to text.
  • Added support for marking a field as mandatory.
  • Improved accessibility support.

Slider Form Cell 5.0.0 Update

  • Built using the Material Design 1.5.0 specification, the slider form cell now uses the new layout and colors from the specification.
  • Styling for beginning and end labels of the slider change to capture the following states – ‘edit-focused’, ‘edit-unfocused’, ‘static value’, ‘error’, and ‘enable/disable’.

Object Cell 5.0.0 Update

  • Support for adding tags.
  • Support for adding a row of avatars.
  • Support for detail images area having an avatar stack.
  • Increased font and padding.
  • Loading indicator moved to action icon.
  • Maximum number of headline/subheadline/footnote lines is increased.

Text Input 5.0.0 Update

  • Revamped appearance with the addition of an error icon and outline to text field, which improves highlighting of the cell's state, such as being in an error or focused state.
  • Added support for clear text functionality, which helps to clear all entered text with one click.
  • Added support for toggling text visibility, which helps in hiding sensitive data.
  • Added support for adding a prefix or suffix to text.
  • Added support for marking a field as mandatory.
  • Improved accessibility support.

Foundation Library 5.0.0 Update

  • Support for inserting custom screens before and after onboarding. These can include such things as customized EULA and consent screens.
  • Support for providing EULA resources based on device language. During onboarding, the runtime component will detect the device language and load the localized version of the EULA.
  • Allow HTTP requests that return an error code upon failure to not automatically cause the application to launch a login flow. This supports scenarios where the application would like to handle scenarios, such as OAuth token or web session expiration, more gracefully.
  • AppConfig now supports signed strings.
  • PKCE support for OAuth 2.0. This enables Android applications built with the SAP BTP SDK for Android to connect to SAP Mobile Services in a safe and secure manner. The SDK provides the authorization code flow needed for the PKCE code verifier.
  • Support for targetSdkVersion 31. The SDK components were updated to adapt for the new behavior changes needed to support Android 12.
  • Enable digitally signed QR codes for onboarding to SAP Mobile Services. The QR code can optionally be signed using the private key of the organization and verified using the organization's public key inside the mobile application.
  • Support Android Studio Arctic Fox (2020.3.1). The SDK Wizard plugin and generated project templates are updated to support changes made in Android Studio Arctic Fox.
  • Support Bumblebee (2020.1.1).
  • Support for multiple users using an application to cleanly end their OAuth/Web session during user switch. This feature uses the new SAP Mobile Services API to reset the IDP session and return the new user to the login screen instead of using the previous user’s session.

Flows Library 5.0.0 Update

  • Onboarding flow now supports signed QR codes.

SDK Wizard 5.0.0 Update

  • Support JCEF for form-based authentication. JCEF is a Java port of the Chromium Embedded Framework (CEF) for embedding Chromium-based browsers in applications using Swing.
  • Allow developers to use SAML-based authentication when connecting to SAP Mobile Services using the SDK Wizard inside the Android Studio application. This is enabled using Android Studio's JCEF WebView on a Mac machine.
  • Upgraded the H2 database version.
  • Support Android Studio Bumblebee

Offline OData Library 5.0.0 Update

  • Enhanced OfflineODataError and OfflineODataException.
  • Formatted some client error messages. Applications parsing these error messages may need to update their parsing implementation.
  • Support defining refresh order by SDK.
  • Support automatic client registration to mobile back-end tools.
  • Support undo pending changes with custom headers.

What's New in Release 4.0.7

Flows Library 4.0.7 Update

  • Bug fix: Fixed an issue where an app might randomly crash due to a Baidu push class not being found.

Foundation Library 4.0.7 Update

  • Bug fix: Fixed an issue where Chrome custom tabs might be shown when creating a widget.

Fiori Library 4.0.7 Update

  • Bug fix: Fixed an issue that caused Talkback to announce all of the content of the Welcome Screen at once when the screen was first displayed.
  • Bug fix: Fixed several accessibility issues on the QR Code Scan screen where Talkback was providing incorrect or incomplete information related to the buttons and screen instructions.
  • Bug fix: Fixed an issue that resulted in an incorrect color being used for the default status on the ObjectHeader.
  • Bug fix: Fixed an issue that caused past events to be displayed with incorrect styling in the Timeline.
  • Bug fix: Fixed an issue that resulted in an inconsistent ordering of the DateTimePickerMode enum values.

What's New in Release 4.0.6

Flows Library 4.0.6 Update

  • Bug fix: Fixed no sign-in screen shown issue when custom Chrome tabs are launched and the app is put into the background for a second time.

Foundation Library 4.0.6 Update

  • Bug fix: If there is no default browser set, an app could crash when launching custom Chrome tabs.

Fiori Library 4.0.6 Update

  • Bug fix: Fixed an issue that caused the attachment form cell content to be misaligned.
  • Bug fix: Fixed an issue that caused the scatter chart card to be improperly displayed.
  • Bug fix: Fixed an issue that prevented the Voice Search icon from being displayed on newer Android devices.
  • Bug fix: Fixed an issue that caused images in the collection view to be improperly cropped in some cases.

What's New in Release 4.0.5

Flows Library 4.0.5 Update

  • Bug fix: Fixed app crash that occurred when doing a reset due to AppExtensionStore.
  • Bug fix: CCT launched from widget configuration activity may navigate back to the host app.
  • Full-screen can be enabled or disabled for flow activity.

Foundation Library 4.0.5 Update

  • Sensitive data (access_token and refresh_token) will not be exposed in log file.
  • WebView now supports dark mode.

Fiori Library 4.0.5 Update

  • Tenant URL will not be clickable on QR Code Confirmation Screen.
  • Sign In Screen style now conforms to design requirements.

SDK Wizard 4.0.5 Update

  • Bug fix: Project could not be generated when there was no default AndroidStudioProjects folder.

Offline OData Library 4.0.5 Update

  • Clean only the expired local changes related to the current subsets of a partial download.

What's New in Release 4.0.4

Flows Library 4.0.4 Update

  • Bug fix: AppConfig in AppExtensionService was not updated when onboarding using a new QR code.

Foundation Library 4.0.4 Update

  • Enhanced the extension function to notify the client code of the read-only token expiration.

Fiori Library 4.0.4 Update

  • Bug fix: Changes made to the TimelinePreviewView after it has been initially displayed will now be rendered correctly.

What's New in Release 4.0.3

Fiori Library 4.0.3 Update

  • The DateTimePickerFormCell now selects and returns the correct date regardless of the user's timezone.
  • When using Talkback, the Close button on the Consent screen now has a content description.
  • When using Talkback, the Close button on the QR Code Reader screen now has a content description.
  • When using Talkback, the User image on the Sign In screen now has a content description.
  • When using Talkback, the validation rules on the Set Passcode screen will now be announced to the user.
  • When using the Dynamic Column feature in the DataTable component, the dynamic behavior can now be disabled when the screen width is insufficient.
  • The Collection View Header is now compliant with the Fiori Horizon Design.

Flows Library 4.0.3 Update

  • Bug fix: Reset flow did not clear the IDP session.

Foundation Library 4.0.3 Update

  • Bug fix: Widget service did not clear the mobile server session when logging out the user.

What's New in Release 4.0.2

Fiori Library 4.0.2 Update

  • The Timeline will now redraw itself after changes are made.
  • The Timeline Preview title and button can now be turned off.
  • The Timeline Cell View and Timeline Preview Cell View are now compliant with the Fiori Horizon Design.
  • The Collection View is now compliant with the Fiori Horizon Design.
  • The version of the Play Services Vision library used by the SDK has been updated to 20.1.3.
  • The version of the ML Kit Barcode Scanning library used by the SDK has been updated to 17.0.1.
  • The Alert Dialog background color is now compliant with the Fiori Horizon Design.
  • When using Talkback, non-visible elements will no longer be announced when viewing location point details on maps.
  • Changes to Value typeface on the Simple Property Form Cell will now be preserved when the field content is cleared.
  • The Data Table setDynamicColumn functionality will now behave as expected when the screen is wider than the total space occupied by non-dynamic columns.
  • When using Talkback, the location point header will be announced correctly.
  • When using a physical keyboard to access a Choice Form Cell, the extra tab stop has been removed.
  • When using Talkback with Timeline, the UI element type will be announced correctly.

Flows Library 4.0.2 Update

  • Bug fix: Timeout flow did not kick in on top of the launcher activity.
  • Bug fix: Reset flow froze the app.
  • Bug fix: Screenshots could be taken on the passcode verification screen.
  • Enhancement: Made the confirmation dialogs for reset, logout, and registration deletion flows customizable.

Onboarding Library 4.0.2 Update

  • Confirmation screen settings added to support the customization of the confirmation dialogs.

What's New in Release 4.0.1

Foundation Library 4.0.1 Update

  • Enhanced the logout API to remove cookies from Chrome Custom Tabs.
  • Added SDKCustomTabsLauncher.launchCustomTabs API to launch Chrome Custom Tabs so that they work seamlessly with the timeout unlock flow.

Flows Library 4.0.1 Update

  • Integrated the enhanced logout API into the logout, registration deletion, and reset flows.
  • Enhanced the timeout unlock flow to prevent it from being launched twice.
  • Enhanced the timeout unlock flow to work with Chrome Custom Tabs.
  • Fix flow step animation enablement to honor the system animation settings.
  • Bug fix: Fixed a bug where a secure flow step was no longer secure after having navigated back to a non-secure step.
  • Fixed several memory leaks.
  • Added Reset Client button on the Sign In screen for single-user apps.

Fiori Library 4.0.1 Update

  • Enhanced the error message that may occur during a QR code scan.
  • Fixed a potential memory leak that may occur during a QR code scan.
  • Fixed an issue that would cause the user email and passcode fields to overlap when large fonts were used on a device.
  • Fixed the KPI Header background color.
  • Fixed an issue related to the EULA background when a device is set to use dark theme.
  • Fixed an issue that would cause map legend items to continue to be displayed even after the corresponding markers have been removed.
  • Fixed an issue where custom priority icons weren't displayed for clustered map markers.
  • Fixed an issue that could prevent the underline and "X" mark from appearing properly in the Signature Capture Form Cell.
  • Fixed an issue that caused an incorrect color to be displayed for the Banner and Object Cell backgrounds when a device was set to use dark theme.
  • Fixed an issue that prevented the check mark icon from appearing on a selected Object Cell when multiselect mode was disabled.
  • Fixed several accessibility issues.

OData Library 4.0.1 Update

  • Bug fix: Fixed an issue where the client could not get the total count for the deep navigation property.
  • Bug fix: Fixed a proxy class generator issue. The fix improves the handling of generated "List" classes.
  • The HttpHeaders class now supports equality comparison.
  • Support for OData CSDL documents with Version="4.01", and support for the corresponding new JSON payload syntax that uses @xxx instead of @odata.xxx for OData "instance annotations".

Offline OData Library 4.0.1 Update

  • Bug fix: Fixed an issue that could cause the client to fail to initialize multiple offline stores in parallel.
  • Bug fix: Fixed an issue where API OfflineODataProvider.getPreviousUser() didn't work when the encryption key was not provided.

Foundation Library 4.0.0 Update

  • Add AppExtensionService class to support widget development.
  • Add multiUser property to AppConfig.
  • Add user logout and registration deletion APIs.
  • Support for application versioning.
  • Security fix: remove bearer token in the HTTP header after user is authenticated.

Flows Library 4.0.0 Update

  • Add biometric update in Sign In screen.
  • Add MDM_ONLY activation option for handling onboarding via MDM.
  • Add user logout flow.
  • Add registration deletion flow.
  • Support multiple user flag in the QR code.
  • Add custom flow steps during onboarding.
  • Add flow option to use Chrome custom tab or browser for OAuth authentication.
  • Add flow option to specify the onboarding screen orientation.
  • QR code reader screen works in both portrait and landscape modes.
  • Enhance restore flow for a single user app without a passcode policy.

Fiori Library 4.0.0 Update

  • QRCode view now supports customized validation for barcodes so that the client code can provide its own validation logic to assess the validity of a barcode, and can also return captured images to the client code when multiple barcodes are detected and scanned.
  • Add customization capability to Sign In screen.
  • Support for Fiori Horizon Theme.
  • The ObjectCell has been redesigned to be more responsive.
  • A new Privacy Notice component has been added to allow apps to communicate the reasoning behind various permission requests to end-users.
  • A new Scatter Chart type has been added to the Charts component.
  • Kotlin API documentation has been added for Fiori UI components.

SDK Wizard 4.0.0 Update

  • Support generating proxy classes only.
  • Add multiple user (shared devices) support.

Offline OData Library 4.0.0 Update

  • Add getLastDownloadTime() API and getLastUploadTime() API for OfflineODataProvider.
  • Add setDefiningQueryGroups() API to group defining queries from the client side.
  • Default encryption support for the offline store.
  • Provide additional OData version 4 feature support: Collection-valued property.

What's New in Release 3.4.8

Flows Library 3.4.8 Update

  • Added Reset Client button on the Sign In screen for single-user apps.

Foundation Library 3.4.8 Update

  • Bug fix: 'Remember Me' in WebView did not work.

What's New in Release 3.4.7

Foundation Library 3.4.7 Update

  • Bug fix: UsageService would crash when targeting Android 31.

Flows Library 3.4.7 Update

  • Bug fix: Translations were missing for some languages.

Onboarding Library 3.4.7 Update

  • Bug fix: Sign-in screen passcode input field was not responding to the soft keyboard done button.

Offline OData Library 3.4.7 Update

  • Bug fix: Fixed an issue that could cause the client to fail to initialize multiple offline stores in parallel.

Fiori Library 3.4.7 Update

  • Bug fix: Fixed an issue that would cause map legend items to continue to be displayed even after the corresponding markers have been removed.
  • Bug fix: Fixed an issue where custom priority icons weren't displayed for clustered map markers.

What's New in Release 3.4.6

Offline OData Library 3.4.6 Update

  • Bug fix: Fixed an issue that could cause the client to crash in Hungary and Poland locales.

Fiori Library 3.4.6 Update

  • Bug fix: Fixed an issue that prevented an application from setting a status icon to invisible.
  • Bug fix: Fixed an issue that would cause separator lines in a Data Table to overlap with content when an orientation change occurred.

OData Library 3.4.6 Update

  • Bug fix: Fixed an issue where the client could not get the total count number for the deep navigation property.
  • Bug fix: Fixed a proxy class generator issue, resulting in improved handling of generated "List" classes.
  • The HttpHeaders class now supports equality comparison.

What's New in Release 3.4.4

Foundation Library 3.4.4 Update

  • Additional APIs have been made available in UsageService to assist client code in managing usage sessions and events more easily.

Fiori Library 3.4.4 Update

  • Bug fix: Fixed a crash that may occur during barcode scanning when the device does not support a light sensor.

What's New in Release 3.4.3

Fiori Library 3.4.3 Update

  • Bug fix: Fixed an issue that could cause a crash for Malaysian or Vietnamese users.

What's New in Release 3.4.2

SDK Wizard 3.4.2 Update

  • Bug fix: Fixed an issue where rotating a device would cause MainBusinessActivity to restart.
  • Bug fix: Fixed an issue where applications would register the lifecycle twice.

Fiori Library 3.4.2 Update

  • Bug fix: Fixed an issue related to Object Header when using dark mode.
  • Bug fix: Fixed an issue that would cause a crash on devices running Android version 11 or 12 when attempting to create a photo attachment.

What's New in Release 3.4.1

Flows Library 3.4.1 Update

  • Bug fix: Fixed an issue that caused an occasional cross-context SSO with OAuth failure.

Fiori Library 3.4.1 Update

  • Bug fix: Addressed an accessibility issue related to the attachment form cell header.
  • Bug fix: Extraneous language resources were removed that could have prevented publishing applications to the Google Play Store using .AAB files.

What's New in Release 3.4.0

Foundation Library 3.4.0 Update

  • DeviceUser is now serializable.
  • createDeviceUserFromJsonString* has been added to convert a JSON string to the DeviceUser model.
  • toString of the DeviceUser model now returns JSON format.
  • Better support for the API key only-authentication type for client applications on the SAP Mobile Services, Cloud Foundry environment.
  • Provide support for a user, logged in via a desktop, to scan a generated QR code with their device to authenticate and complete the onboarding process.
  • New format for both the Java and Kotlin API reference documentation for better navigation and content searching.
  • OAuthClientPassword has been added to support the new OAuth client with a short-duration password.

Fiori UI Library 3.4.0 Update

  • A new chart type, Donut Chart, has been added.
  • A new Data Table View has been added to display tabular data on mobile devices.
  • Inline Signature Capture has been improved to provide a Cancel button.
  • An "Add Signature" layout is now provided for those applications that want to launch a separate dialog for signature collection.

Flows Library 3.4.0 Update

  • Passcode policy enhancement. If the current passcode used to unlock an app does not meet the updated passcode policy requirements, change passcode steps will be appended to the Sign In screen for the next login.
  • Automatically terminate the current onboarding flow if the offline encryption key cannot be retrieved from the server for a multiple-user mode mobile app.
  • New API added to let client code monitor the flow finish event more easily. onActivityResult is now deprecated.
  • New flow option added, getApplicationTheme, to let client code pass in the client theme to make the onboarding screens the same style as the client app.
  • New flow option added to enable/disable the QR code confirmation screen during onboarding. The previous method to control this via QRCodeReaderSettings is deprecated.
  • New flow option added, isApplyFioriStyleForCustomFlow, to enable/disable full screen mode for custom flows.
  • updateConsentStatus API added to UserSecureStoreDelegate to let client code update the usage and crash report user consent status. Better support for the API key only-authentication type for client applications on the SAP Mobile Services, Cloud Foundry environment.
  • Better dark theme support.
  • New format for both the Java and Kotlin API reference documentation for better navigation and content searching.
  • Flow.start has been enhanced to support apps configured with OAuthClientPassword and support cross-context SSO with OAuth.

Onboarding Library 3.4.0 Update

  • Improved design of the QR code confirmation screen.
  • skipQRConfirmScreen in QRReaderScreenSettings is deprecated.
  • Better theme/style customization support.
  • Logo height and width can now be customized along with the image resource.

SDK Wizard 3.4.0 Update

  • New Crash Report Consent option on the Settings screen, allowing users to revoke this consent after onboarding. If users enable this consent on the Settings screen, a consent screen will then be displayed, requesting the users' agreement.
  • Offline OData sample code has been refactored to improve the architecture and decouple the sync worker from the user interface components.
  • Added dark theme support.

Offline OData Library 3.4.0 Update

  • Support bound and unbound action with simple type parameters.
  • Support bound and unbound action with complex and entity type parameters.

What's New in Release 3.3.5

Foundation Library 3.3.5 Update

  • Bug fix: Web pages now show in new browser windows during onboarding.
  • Bug fix: Remove obsolete language folder values-sh.

Flows Library 3.3.5 Update

  • Bug fix: Style of status bar in onboarding pages is now correct.

Android Wizard 3.3.5 Update

  • Bug fix: Remove obsolete language folder values-sh in the generated project.

Fiori UI Library 3.3.5 Update

  • Bug fix: Months that require six lines to display will now render correctly in the Date Picker on smaller devices.
  • Bug fix: Sensitive information will no longer be displayed when the Extract UI is used.
  • Bug fix: A build error caused by the Kotlin Extensions component has been addressed.
  • Bug fix: Dark mode issues related to the Hierarchy View and Object Header have been addressed.
  • Bug fix: The KPIHeader will now render correctly when it is used in a dialog.
  • Bug fix: Applications can now customize the List Picker Activity title.
  • Bug fix: When using Talkback version 9.1, the keyboard will now be displayed correctly when accessing a SimplePropertyFormCell.
  • Bug fix: The obsolete language folder, values-sh has been removed.
  • Accessibility: The header on the AttachmentFormCell is now correctly labeled as such to facilitate screen reader navigation.

What's New in Release 3.3.4

Flows Library 3.3.4 Update

Bug fix: Clear passcode on the Sign In screen when the app is brought to foreground.

Foundation Library 3.3.4 Update

Offline encryption key retrieval API support on SAP Business Technology Platform, Neo environment..

Offline OData Library 3.3.4 Update

Fixed first user switch issue for UploadOnUserSwitch feature.

What's New in Release 3.3.3

Foundation Library 3.3.3 Update

Upgrade SQLCipher to 4.4.3 to avoid vulnerability issues.

OData Library 3.3.3 Update

Support instance annotations feature.

Flows Library 3.3.3 Update

  • Bug fix: App crashes when changing system language or font scale, or switching between dark and light mode.
  • Bug fix: App crashes after cancelling change/verify passcode flow then accessing the user secure store.
  • Show error message in the passcode input field on the Set Passcode screen instead of displaying with a toast.
  • Dark mode theme support.

What's New in Release 3.3.2

Flows Library Update

  • Additional callback functions have been added to FlowStateListener.
  • New callback function to support client code validation of QR codes.
  • Utilities to add unique interceptors to OkHttpClient.
  • AppConfig information is saved in FlowContextRegistry.flowContext after the onboarding/restore flow.
  • Both current and previous user information are saved in FlowContextRegistry.flowContext, so the client code no longer needs to save the switched user status.
  • Generate offline encryption key for offline mobile apps.
  • API provided to get the runtime multiple user mode, which was saved locally during the very first user onboarding.
  • API provided to get the user detail information in UserSecureStoreDelegate.
  • New options in FlowOptions to support the client code deciding whether to display an end user license agreement screen during onboarding or create a new account flow.
  • New option in FlowOptions to allow the client code to decide whether to have the confirmation dialog for reset flow.
  • New option in FlowOptions to allow the client code to disable the toast messages in a flow.
  • New flow added to support client code checking the passcode only.
  • Mobile app migration support to upgrade the current mobile app to adopt the flows component.

Fiori UI Library Update

  • The Date Picker will now be presented correctly on smaller devices.
  • Object Cells that are configured to display a character rather than an image will now display the character correctly if they are selected and then deselected.
  • Passcode-related input fields on the onboarding screens now do not allow an Android system to collect user input data and do not show suggestions on the soft keyboard.

What's New in Release 3.3.1

  • The WebView used to display the EULA now supports dark mode.
  • KeyValueCell now maintains its expanded/collapsed state during orientation changes, and allows for programmatic expand/collapse.
  • Fixed Wizard hanging issue during code generation for offline type and certificate-based authentication application.
  • Moved offline synchronization-related UI screens from generated client project into Fiori UI component.

What's New in Release 3.3.0

Foundation Library Update

  • When using LogService with onboarding flows2, logging configurations will be set by the log policy on mobile services.
  • ApplicationStates supports automatic checking of the state of the device network.
  • Added a new type of CertificateProvider, named ChooseCertificateProvider, which displays a popup dialog allowing the user to choose a certificate.
  • The application no longer needs to call android.app.Application.registerActivityLifecycleCallbacks with AppLifecycleCallbackHandler. It is now handled by the SDK.

Android Wizard Update

  • The Wizard will display a message prompting the user to upgrade the H2 database.

Fiori UI Update

  • QRCode view now supports multi-scan mode and can also be customized.
  • A new Inline Signature Capture Form Cell has been added to facilitate signature capture without needing to launch a separate dialog.
  • A new Persistent Footer has been added, placed below a Form Cell, which can be used to provide immediate actions to the user.

Flows Update

  • flows2 now supports multiple users.

Improved Offline OData Library Update

  • Support for UploadOnUserSwitch. If enabled, during a user switch (a second user opens the same store used by the previous user), the upload function will be called automatically inside the open function. During the upload, pending changes from the previous user will be executed in the OData back end using the previous user’s context.
  • A new parameter, note, has been added to the offline OData library APIs sendStore and sendEncryptedStore. This allows for a description to be added to the offline store when it is sent to the server.
  • Prior to SAP BTP SDK for Android version 3.3, property values were generated in the back end for a newly created entity during upload, and the client had to issue a download to explicitly update the generated properties for the entity. This is usually not a problem, as the app normally performs a download after upload to update the local store. With the new early_populate_backend_generated_values offline option, the client can get updated values immediately during upload without waiting for next download. This could help in some circumstances where the back end is slow and it's preferable that the app performs fewer downloads, if possible.

What's New in Release 3.2.6

Notable new or changed features for the SAP BTP SDK for Android version 3.2.6.

  • The WebViewActivity now supports a _blank attribute for the link target that opens the default browser and loads the URL.
  • The Kotlin Extension component dependency now has a specific version assigned to it in order to avoid building against an incompatible version.
  • Fixed an issue that caused an offline app failure after uploading a local request.

What's New in Release 3.2.5

Notable new or changed features for the SAP BTP SDK for Android version 3.2.5.

  • The 32-bit versions of the libodataofflinejni.so libraries have been added back to the offline OData component.

What's New in Release 3.2.4

Notable new or changed features for the SAP BTP SDK for Android version 3.2.4.

  • Fixed an issue that caused an app crash when handling a relationship with more than two navigation properties.

  • Fixed an issue that caused offline app failure on Android 6 devices.

  • Fixed an issue that prevented the Calendar Picker from being fully visible on devices with smaller screens.

What's New in Release 3.2.3

Notable new or changed features for the SAP BTP SDK for Android version 3.2.3.

  • Fixed an issue that caused flushing of the buffer to the database to be interrupted in some instances by upgrading the UltraLite database version to 17.0.10.6230.

  • Fixed an issue that caused the AttachmentFormCell label to be invisible in some cases.

What's New in Release 3.2.2

Notable new or changed features for the SAP BTP SDK for Android version 3.2.2.

  • An issue that caused applications using charts with small Y-axis increments (relative to the overall data range) to crash has been addressed.
  • GenericListPickerFormCell is more accessible when using screen readers.

What's New in Release 3.2.1

Notable new or changed features for the SAP BTP SDK for Android version 3.2.1.

  • SQLCipher version upgraded to 4.4.1 to avoid vulnerability issues.
  • The KPI Header is now laid out properly following an orientation change.
  • Using the ObjectCellSwipeControl with an unmatched key will no longer cause a crash.
  • Using a GridTable with a Header will no longer cause a crash.
  • The Map Preview Panel will now display all cells.
  • As of release 3.2.0, offline OData provides support for the OData Version 4 Enum type and Stream type properties. The descriptions for deleteStream, downloadStream, and uploadStream have been updated accordingly.

What's New in Release 3.2.0

Offline OData Library

  • Support to remove a non-stream defining query from the opened offline store when allow_defining_query_removal is enabled on the server.
  • Introduced new API getDefiningQueries from class OfflineODataProvider, which returns all existing defining queries.
  • Support localized progress default messages.

  • Support OData version 4 with two new features:

    • Enum type
    • Stream property
  • Support OData version 4 with the following limitations:

    • OData Atom (xml) is not supported
    • Content-ID referencing in body and Content-ID referencing across change sets are not supported
    • Binds for a collection of value navigation properties in a PATCH request are not supported
    • Modification operations in batches outside of change sets are not supported
    • Bound actions and functions are not supported
    • Unbound actions and functions are not supported
    • Collection properties are not supported
    • Spatial types are not supported
    • Singleton is not supported
    • Derived entities are not supported
    • Containment navigation properties are not supported
    • $filter operations on date (such as add and sub) are not supported
    • System query options $search and $index are not supported
    • Built-in functions or literals: case, $level, $all, $each, $it, and $root are not supported
    • Upserting an entity is not supported

Foundation Library

  • AppConfig and Auth related model classes are moved from Flows to Foundation library.
  • OkHttp library version upgraded to 4.8.0

Fiori UI Library

  • A new chart type, Stacked Column Chart, has been added.
  • The horizontal swipe functionality of the Object Cell has been enhanced to include different right and left actions.
  • The Onboarding component has been enhanced to include new biometrics screens.
  • The new version of the QR Code Scanner no longer depends upon Google Play Services.

Android Wizard

  • Application configuration has been moved to the sap_mobile_services.json file for central management.

  • An enhanced progress bar for offline apps has been implemented using the Offline OData Enhanced Progress API to display the current progress of various operations, such as initial open, upload and download.

  • Support for Android Studio 4.0.x and 4.1.x.

What's New in Release 3.1.4

Notable new or changed features for the SAP BTP SDK for Android version 3.1.4.

  • The signature line in the Signature Capture Form Cell will no longer be too short following an orientation change.

  • Object Header Tags will no longer be misaligned following an orientation change.

  • Following an orientation change, the correct Detail page of the Object Header will be displayed.

  • When running on an Android 11 device, the Object Header KPI caption will no longer be split between two lines.

  • Attachments that are programmatically added to an Attachment Form Cell will now display the correct MIME type icon.

  • The "No Data" text can now be customized on Chart Cards.

  • Duplicate or missing series titles will no longer prevent a data series from being displayed on a Chart Card.

  • The version of UltraLite used by the Offline OData component has been updated to 17.0.10.6175 in order to incorporate SSL version 1.1.1g.

  • Trend Titles on Chart Cards will no longer appear using the negative text style when they are positively trending.

  • The repository URL used by the Assistant has been changed to point to the new central repository.

What's New in Release 3.1.3

Notable new or changed features for the SAP BTP SDK for Android version 3.1.3.

  • The design of the Passport API is now aligned with iOS.

  • An issue where X-axis labels on Horizontal Bar Chart Cards would overlap has been addressed.

  • X-axis labels on Bar Charts will no longer be clipped.

What's New in Release 3.1.2

Notable new or changed features for the SAP BTP SDK for Android version 3.1.2.

  • The SAP BTP SDK Wizard for Android no longer generates a metadata parsing error when creating a new project against some back-end systems.

  • Minor issues with the Fiori theme for Dark Mode (including color and elevation) have been resolved.

  • Orientation changes related to Object Header are now handled correctly.

  • A memory leak in the Offline OData progress observer has been removed.

  • The CollectionViewAdapter can now be extended in Kotlin.

  • The maximum number of data points for a Column Chart Header with two data series is now three.

  • Status text is no longer clipped on the left-hand side for Chart Cards.

  • Charts now correctly handle empty data sets.

  • Chart Header alignment is now correct for right-to-left locales.

  • The default height of Buttons using the FioriButton style has been adjusted.

  • Various legend display issues in Charts have been addressed.

  • The minimum height for Timeline items has been adjusted.

What's New in Release 3.1.1

Notable new or changed features for the SAP BTP SDK for Android version 3.1.1.

  • The SAP BTP SDK Wizard for Android now supports Android Studio 4.0.

  • The OAuth Authentication Webview will now close properly if the redirect URL uses a 307 response code.

  • Czech and Polish translations have been added for Timeline and the Basic Authorization screen.

  • The Horizontal Bar Chart component will now display expanded Y-axis labels.

  • X-axis labels for Chart Content will now display consistently and won't overlap.

What's New in Release 3.1.0

  • Support for passport-based Correlation. This feature currently supports metering and integration/user monitoring via the passport header.

  • A basic authentication dialog popup to allow applications to handle the basic authentication challenge seamlessly and without extra effort.

  • A generated app using the Flows framework to abstract complex details of the underlying Fiori and Foundation frameworks.

  • A Timeline control that displays events and objects in chronological order. The control displays information as interactive cells, focusing on important information about the object or event. The control also allows the timeline view to be filtered or searched.

  • Multiple criteria sorting and filtering to allow sorting of a list view by multiple fields (primary, secondary, and tertiary sort fields). A visual indicator reflects the current sort order.

  • Horizontal Bar Chart component: This chart type displays horizontal bars aligned to the Y-axis. In contrast to the column chart, horizontal charts provide more space for displaying labels for the item type while still providing the measurement of discrete items.

  • A Signature Capture control to easily capture a user's signature. The control provides a view for the user to draw a free hand signature using touch, pencil, or stylus. Once the signature is captured it is saved as an image.

  • A Chart Header control that displays a chart view of data inside an object header. This can be used to provide at-a-glance information about an object to the end user (this chart type can only be used inside an Object Header).

  • A Horizontal Fit Collection control for content to be displayed in a single horizontal line. In contrast with horizontal scroll, this control does not scroll horizontally.

  • Allow a chart card to be read-only and provide support for a ‘listener’ callback when a user taps on the control. The control also allows X-axis and Y-axis labels to be null, while auto-generating Y-axis incremental steps.

  • Redesigned Flows framework (version 2.0), designed to use the best practices and design patterns of Android Architecture Components. Flows version 1.0 is now deprecated and it is highly recommended to adopt the Flows 2.0 interface.

  • Enhanced Cancel Download API: Cancel download processes individually by using a specified cancelToken object. The server will be notified and cancel the ongoing downloading process.

  • Enhanced Progress API: Provide greater details about the progress of various operations, such as initial open, upload, download, and send store.

  • Send Store API: Send a decrypted offline store to the server.

  • Support for Android Studio 3.6.X. This contains code generation changes required to support the new project template in Android Studio 3.6.


Last update: January 18, 2024