What's New in Release 3.4.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.
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.
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
What's New in Release 3.4.0¶
Foundation Library 3.4.0 Update¶
DeviceUseris now serializable.
createDeviceUserFromJsonString*has been added to convert a JSON string to the
DeviceUsermodel 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.
OAuthClientPasswordhas 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.
onActivityResultis 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
- New flow option added, isApplyFioriStyleForCustomFlow, to enable/disable full screen mode for custom flows.
updateConsentStatusAPI added to
UserSecureStoreDelegateto 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.starthas been enhanced to support apps configured with
OAuthClientPasswordand support cross-context SSO with OAuth.
Onboarding Library 3.4.0 Update¶
- Improved design of the QR code confirmation screen.
- 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
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-shin 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
KPIHeaderwill 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
Talkbackversion 9.1, the keyboard will now be displayed correctly when accessing a
- Bug fix: The obsolete language folder,
values-shhas been removed.
- Accessibility: The header on the
AttachmentFormCellis 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
What's New in Release 3.3.3¶
Foundation Library 3.3.3 Update¶
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
- New callback function to support client code validation of QR codes.
- Utilities to add unique interceptors to
AppConfiginformation is saved in
FlowContextRegistry.flowContextafter 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
- New options in
FlowOptionsto 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
FlowOptionsto allow the client code to decide whether to have the confirmation dialog for reset flow.
- New option in
FlowOptionsto 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
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¶
WebViewused to display the EULA now supports dark mode.
KeyValueCellnow 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
flows2, logging configurations will be set by the log policy on mobile services.
ApplicationStatessupports automatic checking of the state of the device network.
- Added a new type of
ChooseCertificateProvider, which displays a popup dialog allowing the user to choose a certificate.
- The application no longer needs to call
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¶
QRCodeview 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.
flows2now 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
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_valuesoffline 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.
WebViewActivitynow supports a
_blankattribute 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.solibraries 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 220.127.116.1130.
Fixed an issue that caused the
AttachmentFormCelllabel 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.
GenericListPickerFormCellis 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.
SQLCipherversion upgraded to 4.4.1 to avoid vulnerability issues.
- The KPI Header is now laid out properly following an orientation change.
- Using the
ObjectCellSwipeControlwith an unmatched key will no longer cause a crash.
- Using a
GridTablewith 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
uploadStreamhave 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_removalis enabled on the server.
- Introduced new API
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
$filteroperations on date (such as add and sub) are not supported
- System query options
$indexare not supported
- Built-in functions or literals:
$rootare not supported
Upsertingan entity is not supported
- OData Atom (
Authrelated model classes are moved from Flows to Foundation library.
OkHttplibrary 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.
Application configuration has been moved to the
sap_mobile_services.jsonfile 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
UltraLiteused by the Offline OData component has been updated to 18.104.22.16875 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.
CollectionViewAdaptercan 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
FioriButtonstyle 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
Webviewwill 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
cancelTokenobject. 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.