Change Log¶
All notable changes to this project will be documented in this file. Adheres to Semantic Versioning.
12.X Releases¶
12.0.xReleases - 12.0.0
11.X Releases¶
11.5.xReleases - 11.5.011.4.xReleases - 11.4.011.3.xReleases - 11.3.011.2.xReleases - 11.2.011.1.xReleases - 11.1.011.0.xReleases - 11.0.0 | 11.0.1
10.X Releases¶
10.4.xReleases - 10.4.0 | 10.4.1 | 10.4.210.3.xReleases - 10.3.010.2.xReleases - 10.2.010.1.xReleases - 10.1.010.0.xReleases - 10.0.0
9.X Releases¶
8.X Releases¶
7.X Releases¶
7.5.xReleases - 7.5.0 | 7.5.17.4.xReleases - 7.4.07.3.xReleases - 7.3.0 | 7.3.17.2.xReleases - 7.2.07.1.xReleases - 7.1.07.0.xReleases - 7.0.0
6.X Releases¶
6.5.xReleases - 6.5.0 | 6.5.16.4.xReleases - 6.4.06.3.xReleases - 6.3.06.2.xReleases - 6.2.06.1.xReleases - 6.1.06.0.xReleases - 6.0.0
5.X Releases¶
5.0.xReleases - 5.0.0
4.X Releases¶
4.5.xReleases - 4.5.0 | 4.5.1 | 4.5.2 | 4.5.34.4.xReleases - 4.4.04.3.xReleases - 4.3.04.2.xReleases - 4.2.04.1.xReleases - 4.1.04.0.xReleases - 4.0.0 | 4.0.1 | 4.0.2
3.X Releases¶
3.6.xReleases - 3.6.03.5.xReleases - 3.5.03.4.xReleases - 3.4.03.3.xReleases - 3.3.0 | 3.3.1 | 3.3.23.2.xReleases - 3.2.03.1.xReleases - 3.1.03.0.xReleases - 3.0.0
2.X Releases¶
2.2.xReleases - 2.1.02.1.0Releases - 2.1.02.0.0Releases - 2.0.0.Alpha.1 | 2.0.0.Alpha.3 | 2.0.0-beta.1 | 2.0.0-beta.3, 2.0.0-beta.3.1 , 2.0.0-beta.4, 2.0.0-beta.5, 2.0.0
12.0.0¶
Released on 2025-10-10.
This release focuses on expanding and improving the MSDK Processing APIs.
Refer to the migration guide for the required migrations.
Added¶
- New Processing APIs, refer to the updated Processing section.
- Two new automatically included modules:
libcommonandlibprocessing.
Changed¶
- Moved logging class
io.mimi.sdk.core.util.Logtoio.mimi.sdk.common.logging.MimiLog.- Renamed to
MimiLogto avoid namespace collisions with other logging services.
- Renamed to
- Updated Chinese string translations.
Int.dpandInt.pxmade@MsdkInternalApito reduce their visibility in apps and avoid confusion.
Deprecated¶
PersistentFieldas the mechanism lacks the flexibility to use dynamic persistent keys, we no longer recommend its use.
Removed¶
- Removed
MimiTintedToggleButtonand associatedMimiTintedToggleButtonstyle as unused. - Removed
animateTextErrorTransitionfunction as unused in the MSDK.
Fixed¶
- Fixed a crash when estimating hearing age (ISP-560).
- Fixed an issue causing multiple "Log in with Hearing ID" dialogs (ISP-570).
11.5.0¶
Released on 2025-07-23.
Changed¶
- Upgrade the HTE library to version 3.7.5_1.
- This delivers MSDK support for 16 KB page sizes on 64-bit devices.
11.4.0¶
Released on 2025-06-12.
Added¶
- Added pt-rBR localization.
Changed¶
- Updated the Hearing Test Engine (HTE) to version
3.7.5_0.- This update removes the contra-lateral masker when testing both ears.
- Updated
PersonalizationApiClientto be able to send the fitting info for UpDown presets. - Updated localization strings for multiple locales.
11.3.0¶
Released on 2025-03-21.
Changed¶
- Changes to improve the reliability of the dynamic API region selection mechanism.
- Fixed Japanese translation issue in TestFlow.
11.2.0¶
Released on 2025-03-12.
Changed¶
- TestFlow now automatically detects LE Audio Bluetooth connections when using
MimiConnectedHeadphoneand assumes Bluetooth Absolute Volume behavior and ignores any configured volume adjustment Applicators.- As a result, apps which connect to headphones implementing the Hearing Test Volume Adjustment sequence no longer need to manually remove the Applicators depending on the connection type.
- Reduced overall analytics event volume by disabling automatic event tracking.
- Improved DE and NL translations.
11.1.0¶
Released on 2025-02-03.
Added¶
- Added MSDK support for Android Edge-to-Edge, including in TestFlow and
MimiProfileFragment.- The dialog
EdgeToEdgeBottomSheetDialoghas been added to support this, but is for MSDK internal use only.
- The dialog
Changed¶
- Changed
targetSdkto 35.
Fixed¶
- Fixed title on "Phone Support" dialog in TestFlow.
Deprecated¶
- Deprecated
MimiTintedToggleButtonclass as it is unused. - Deprecated, but not disabled the following theme attributes:
mimiCompactActionButtonStylemimiCompactBorderlessActionButtonStylemimiTextAppearanceBodyHighlightedmimiTextAppearanceCompactBodyNormalmimiTextAppearanceCompactActionmimiTextAppearanceCompactBodyHighlighted
- Deprecated the following styles:
TextAppearance.Mimi.Body.HighlightedTextAppearance.Mimi.Body.CompactTextAppearance.Mimi.Body.Compact.HighlightedTextAppearance.Mimi.Action.CompactWidget.Mimi.CompactActionButtonWidget.Mimi.CompactActionButton.BorderlessWidget.Mimi.CompactActionButton.OutlineWidget.Mimi.CompactActionButton.TweakedWidget.Mimi.CompactActionButton.Tweaked.PrimaryTintWidget.Mimi.CompactActionButton.Tweaked.GreyMimiTintedToggleButton
11.0.1¶
Released on 2024-12-20.
Fixed¶
- Fixed missing volume change interruption during hearing tests in some configurations.
11.0.0¶
Released on 2024-12-17.
This release focuses on improvements for the PTT Hearing Test. This includes new setup steps to the TestFlow based upon the user's device Bluetooth Absolute Volume support.
Added¶
- Added
io.mimi.sdk.core.model.host.MimiAbsoluteVolumeSupportenum class to represent the support status of Bluetooth Absolute Volume for the current device. - Added
io.mimi.sdk.core.model.tests.MimiTestResultIssue.BluetoothAbsoluteVolumeUnknownHostwarning code to represent the case where the host device's Bluetooth Absolute Volume support is unknown.
Changed¶
- Modified
io.mimi.sdk.core.model.tests.MimiPttMetadatato includeBluetoothMetadatato represent the Bluetooth Absolute Volume support for the PTT test.- This new metadata can be obtained through the
loadTestTypeConfiguration()function inio.mimi.sdk.core.controller.TestsController.
- This new metadata can be obtained through the
- Updated HTE to
3.7.2_3to use low latency audio for bothAmbientMonitorand Hearing Test. - Simplified the Hearing Test submission APIs in
io.mimi.sdk.core.controller.TestsControllerby combining the existingsubmitTest()function with no return type andsubmitTestForResult()into a single functionsubmitTest()which returns aMimiSubmitHearingTestResponse. - Modified hearing test submission metadata
io.mimi.sdk.core.model.tests.HearingTest.Metadata.Hostto includevolumeStepCount- the number of volume steps detected on the current device. - In
io.mimi.sdk.core.model.tests.HearingTest, removed defaultmetaDatavalue fromfromRuns().- Also renamed the parameter to
metadatafor consistency with the type naming.
- Also renamed the parameter to
MimiTestResultIssuereplacesMimiTestResultError.MimiTestResultIssueReasonreplacesMTResultErrorandPTTResultError.
Fixed¶
- Fixed no-tone issue on Sony Xperia 1V device during PTT test.
Removed¶
- Removed the deprecated
io.mimi.sdk.profile.MimiProfileLauncher.- Remove the deprecated theming attribute
mimiLauncherCardCornerRadius.
- Remove the deprecated theming attribute
- Removed the deprecated
io.mimi.sdk.core.controller.TestsControllerconnectedHeadphoneProviderfunctions, which had been superseded by theconnectedMimiHeadphonemechanism.- Removed the associated deprecated
MimiConnectedHeadphoneProviderclass.
- Removed the associated deprecated
- Removed the deprecated
io.mimi.sdk.testflow.steps.hearingtest.HteStepState.
10.4.2¶
Released on 2024-11-21.
Changed¶
- Updated HTE to use the same audio API for
AmbientMonitoras the one used for the Hearing Test. - Handled
io.mimi.sdk.profile.personalized.MimiPlayerViewstop on the uses cases that a dialog is open.
Fixed¶
- Fixed
io.mimi.sdk.profile.personalized.MimiPlayerViewdoesn't stop audio playback when opening the test results dialog.
10.4.1¶
Released on 2024-11-12.
Changed¶
- Updated and improved copy for TestFlow guidance.
- Use rounded corners for headphone icons on PTT headphone selection list.
Fixed¶
- Fixed scroll fling effect on PTT headphone selection list.
- Fixed TestFlow Practice Round header text and alignment.
10.4.0¶
Released on 2024-10-14.
Added¶
- New screens for PTT TestFlow to instruct the user on the need to disable audio effects and other device features which may impact their hearing test result.
- Support for Bluetooth LE Audio connectivity in TestFlow.
Changed¶
- Extended the PTT Test Result plot to better display the results for negative threshold values.
- Multiple updates and improvements to the UI text and translations.
10.3.0¶
Released on 2024-06-06.
Added¶
- Additional analytics events for PTT volume adjustment sequence.
Deprecated¶
- The
io.mimi.sdk.profile.MimiProfileLaunchercard has been deprecated.- This has been deprecated as we believe that having your own custom launcher mechanism offers a more flexible and seamless transition into the Mimi Profile.
- Additionally, the
mimiLauncherCardCornerRadiustheming attribute has also been deprecated as a result.
Fixed¶
- An issue where Processing Parameter Applicators could be invoked in an unsupported order for some Processing Systems.
- An issue with the German locale translation in the onboarding flow (use translations version 2.1.2).
- An issue which prevented the PTT test results from being shown at the completion of the test.
10.2.0¶
Released on 2024-05-08.
MSDK 10.2.0 introduces a new API to facilitate the interaction with the connected headphones during a hearing test. The API allows the MSDK to detect whether or not the connected headphones support Bluetooth Absolute Volume. It will enable it to automatically adjust the volume during a hearing test to ensure a consistent peak volume.
Added¶
- Added
io.mimi.sdk.core.controller.TestsControllerpropertyconnectedMimiHeadphoneto represent the current connected headphone. - Added
io.mimi.sdk.core.controller.tests.HeadphoneApplicatorConfigurationclass to represent the configuration for adjusting the volume during a PTT test. - Added
io.mimi.sdk.core.controller.tests.IsAbsoluteVolumeSupportedResponseclass to represent the response to a request to check if the connected headphones support Bluetooth Absolute Volume. - Added
io.mimi.sdk.core.controller.tests.SendHearingTestStartCommandResponseclass to represent a response to a request to send a command to start a hearing test volume adjustment sequence. - Added
io.mimi.sdk.core.controller.tests.SendHearingTestEndCommandResponseclass to represent a response to a request to send a command to end a hearing test volume adjustment sequence. - Added
io.mimi.sdk.core.controller.tests.HeadphoneApplicatorclass to facilitate the interaction with the connected headphone. - Added
io.mimi.sdk.core.controller.tests.HeadphoneNotificationReceiverclass to receive notifications from the connected headphone. - Added
io.mimi.sdk.testflow.flowfactory.TestFlowResponsedata class to hold the response of the test flow. - Added
io.mimi.sdk.testflow.steps.hearingtest.HteStepState.HTE_FAILUREto represent a failure state in the HTE start step.
Changed¶
- Updated the existing locales.
Deprecated¶
- The
io.mimi.sdk.core.controller.TestsControllerconnectedHeadphoneProviderproperty has been deprecated in favor ofconnectedMimiHeadphone. - The
io.mimi.sdk.core.model.headphones.MimiConnectedHeadphoneProviderclass has been deprecated in favor ofio.mimi.sdk.core.controller.tests.MimiConnectedHeadphone. - The
io.mimi.sdk.testflow.steps.hearingtest.HteStepStateenum has been deprecated and will be removed from the public API.
10.1.0¶
Released on 2024-04-11.
Added¶
- Added
TestsController.submitAudiogram()for Audiogram submission. - Added the following classes in support of this:
io.mimi.sdk.core.model.tests.MimiTestAudiogramio.mimi.sdk.core.model.tests.MimiTestAudiogram.DataPointio.mimi.sdk.core.model.tests.TestAudiogramMetadataio.mimi.sdk.core.model.tests.MimiTestAudiogramResponse
10.0.0¶
Released on 2024-02-16.
Added¶
- Added
io.mimi.sdk.core.controller.processing.MimiApplicatorResultto allow Applicators to return a result. - Added
io.mimi.sdk.core.controller.processing.ProcessingParameterDataSourceUndefinedExceptionto indicate aProcessingParameterResult.Failurecause for an operation requiring aMimiProcessingParameterDataSourcewhen none is set. - Added
io.mimi.sdk.core.internal.processing.ProcessingParameterState. - Added
io.mimi.sdk.core.internal.processing.ProcessingParameterUpdateState. - Added support for the Ukrainian locale (
string_translations_version-2.0.1). - Added
@MsdkExperimentalApito indicate an experimental API. Such APIs may be subject to unannounced changes.
Changed¶
ProcessingSessionpropertypresetDataSourceis now nullable.io.mimi.sdk.core.controller.processing.ProcessingParameterApplicatorFailedExceptionnow uses themessageString?property to describe the failure, instead of thecauseException?.- The
addApplicatorapplyfunction parameter inio.mimi.sdk.core.controller.processing.ProcessingParameternow requires the explicit return of aio.mimi.sdk.core.controller.processing.MimiApplicatorResult. - Moved
idargument from the constructor ofio.mimi.sdk.core.model.personalization.Personalization.PersonalizationPreset. This value is now a property ofPersonalizationPresetclass body and its values is automatically defined. MimiFetchedParameterDataSourcerenamed toMimiProcessingParameterDataSourceandfetch()renamed toload().- The subclass
MimiPresetParameterDataSourcesignature is affected accordingly.
- The subclass
- The
MimiFetchedProcessingParameterinterface has been deleted, as it has been merged inMimiProcessingParameterinterface. - The
ProcessingParameterinterface has been merged into theMimiProcessingParameterinterface. - The
presetparameter is now an instance ofMimiProcessingParameterinstead of the removedMimiFetchedProcessingParameter. MimiProcessingParameternow has anobserve()function which takes a single(ProcessingParameterState) -> Unitcallback argument.io.mimi.sdk.core.launchHandled'sblocknow hasCoroutineScopeas a receiver, this was done to match the standard Kotlinlaunchsignature.- On
MimiProcessingParameterthe functionsynchronize()was renamed tosynchronizeApplicators() io.mimi.sdk.core.MimiProfilePersonalizationConfigurationnow has auiControlDebounceBehaviorproperty, of typeio.mimi.sdk.core.UiControlDebounceBehaviorto control the debounce interval for Sound Personalization UI controls. By default the behavior is no debouncing (UiControlDebounceBehavior.None).- Renamed
MimiPersonalizationConfigurationtoMimiProfilePersonalizationConfiguration.- The corresponding property:
mimiPersonalizationConfigurationonMimiConfigurationhas been renamed tomimiProfilePersonalizationConfiguration.
- The corresponding property:
- Renamed
MimiOnboardingConfigurationtoMimiProfileOnboardingConfiguration.- The corresponding property:
mimiOnboardingConfigurationonMimiConfigurationhas been renamed tomimiProfileOnboardingConfiguration.
- The corresponding property:
Removed¶
- Removed
canApplyfunction parameter fromaddApplicatorinio.mimi.sdk.core.controller.processing.ProcessingParameter. - Removed
io.mimi.sdk.core.controller.processing.ProcessingParameterApplicatorRefusedExceptionas it is no longer used ascanApplyhas been removed. - Removed the overloaded
addApplicatorfromio.mimi.sdk.core.controller.processing.ProcessingParameterwhich allowed a value to be passed in. - Removed
md5andisValidproperties fromio.mimi.sdk.core.model.personalization.Personalization.PersonalizationPreset. - Removed
ParameterDeliveryModeand the associateddeliveryModeproperty fromio.mimi.sdk.core.controller.processing.ProcessingParameter. - Removed
ProcessingParameterSupersededExceptionhas been removed as it is no longer used sinceParameterDeliveryModehas been removed. - Removed the deprecated
io.mimi.sdk.ux.widget.MimiSeekBarArcclass. - Removed the
MimiSeekBarArccustom style attributes. - Removed the
MimiSeekArcThemecustom style attributes. - Removed deprecated
userAccountPortalUrl()fromUserController. - Removed deprecated
accountPortalUrlfromio.mimi.sdk.core.Environment. - Removed deprecated
io.mimi.sdk.core.MimiConfiguration.default().
9.2.0¶
Released on 2023-12-08.
This release contains an update for our Pure Tone test (PTT), reducing the duration of the test by around 30 seconds per ear.
Changed¶
- PTT test type to PTT 6oct.
- Added missing Proguard rule to
libcoreproguard-consumer-rules.profile.
9.1.0¶
Released on 2023-11-14.
Added¶
- Added a new method
UserController.loadUserAccountPortalUrl()to provide a region-based Mimi Account Portal URL. - The MSDK now ships with the appropriate
consumerProguardFilesto ensure correct minification.- You no longer need to include MSDK specific rules to your app's Proguard/R8 configuration.
- They ensure the correct minification for the MSDK when using R8 Full Mode.
Changed¶
- The MSDK is now built with Android Gradle Plugin version 8.1.2.
Deprecated¶
UserController.userAccountPortalUrl()has been deprecated in favor ofUserController.loadUserAccountPortalUrl().
9.0.1¶
Released on 2023-11-09.
Fixed¶
- Fixed a Chinese language translation issue in libtestflow.
9.0.0¶
Released on 2023-10-16.
Added¶
MSDK 9.0.0 introduces automatic support for region-based storage of user Mimi data.
- By default, there is no change for users or where their data is stored.
- No data migration is automatically performed when using or upgrading to MSDK 9.0.0.
- Only after individual agreement and in coordination with a partner, will their users' Mimi data be stored in the appropriate regulatory region for each user.
- At the time of writing, this includes:
- Rest of World (RoW)
- China
- Note that the Mimi Account Portal, available to users signed up with Mimi, does not currently support region-based data storage.
8.2.0¶
Released on 2023-09-21.
This release includes major copy improvements, adds more MSDK UI theming options, and some bug fixes.
Added¶
- Added support for Dutch, British English, Italian, Polish locales.
- Added the
setBoldTextWithColormethod intoStyledTextViewfromio.mimi.sdk.ux.widgetto allow color changes in highlighted texts.
Changed¶
- Updated the existing locales.
- Removed 30 character max limit enforcement for user sign up (see
io.mimi.sdk.ux.util.UiUtils.UPPER_CASE_AND_DIGIT). - MT results grid lines color changed from
mimiElevatedBackgroundColortomimiTertiaryTintColorHighlighted. - Removed 30 character max limit enforcement for user sign up (see
io.mimi.sdk.ux.util.UiUtils.UPPER_CASE_AND_DIGIT). - The Testflow Volume adjustment slider now uses
mimiSecondaryTintColorNormalcolor for the volume indicator progress and 30% opacity when disabled. - Removed the Bluetooth Troubleshooting dialog from the Testflow.
- Both Bluetooth and wired headphones are now shown the same disconnection interruption dialog.
- Changed color theming applied to Hearing Test interruption dialogs.
AlertDialogtheming has changed:- Title color changed from
mimiPrimaryTextColorNormaltomimiPrimaryTextColorHighlighted. - Background color changed from
mimiPrimaryBackgroundColortomimiElevatedBackgroundColor. - Positive/Confirmation/Non-destructive actions changed from
mimiPrimaryTintColorNormaltomimiForegroundColorHighlighted. - Neutral/Cancel actions changed from
mimiPrimaryTintColorNormaltomimiForegroundColorHighlighted. - Destructive actions set to
mimiErrorColor.
- Title color changed from
Deprecated¶
io.mimi.sdk.ux.widget.StyledTextView.CharSequence.styleTextmethod has been deprecated.Widget.Mimi.Button.Outlineis unused and has been deprecated.Widget.Mimi.CompactActionButton.Outlineis unused and has been deprecated.Widget.Mimi.HearButton.Outlineis unused and has been deprecated.Widget.Mimi.CompactActionButton.Tweaked.Greyis unused and has been deprecated.io.mimi.sdk.ux.util.UiUtils.animateTextErrorTransitionis unused and has been deprecated.
Removed¶
- Removed
DisableAudioEffectsStepas it was incorporated into another step.
8.1.1¶
Released on 2023-08-16.
Fixed¶
- Fixed capitalization issue with strings in the TestFlow.
8.1.0¶
Released on 2023-08-16.
Added¶
- Added support for Slovenian, Bosnian, Croatian, Serbian (Cyrillic and Latin) locales.
8.0.0¶
Released on 2023-08-04.
This major release focuses on improving the SDK's hearing test paradigms and delivers support for closely integrating consumer technology headphone devices with the hearing test flow.
Added¶
- Added
connectedHeadphoneProviderproperty toio.mimi.sdk.core.controller.TestsControllerto give apps the ability to notify the MSDK of the currently connected headphones model which influences the supported hearing tests.- Added the following public classes in support of this:
io.mimi.sdk.core.model.headphones.MimiHeadphoneIdentifierio.mimi.sdk.core.model.headphones.MimiConnectedHeadphoneProvider
- Added the following public classes in support of this:
- Added
loadTestTypeConfiguration()toio.mimi.sdk.core.controller.TestsController.- This function fetches the supported hearing test types and configuration from the Mimi backend.
- Added the following classes in support of this:
io.mimi.sdk.core.model.tests.MimiTestTypeConfigurationio.mimi.sdk.core.model.tests.MimiSupportedTestConfigurationsio.mimi.sdk.core.model.tests.MimiTestConfigurationio.mimi.sdk.core.model.tests.MimiTestConfiguration.Pttio.mimi.sdk.core.model.tests.MimiTestConfiguration.Mtio.mimi.sdk.core.model.tests.MimiTestTypeio.mimi.sdk.core.model.tests.MimiPttMetadataio.mimi.sdk.core.model.tests.MimiMtMetadataio.mimi.sdk.core.model.io.mimi.sdk.core.model.headphones.MimiHeadphoneMetadata
- Added
io.mimi.sdk.core.util.Log.isEnabledas a public property to enable/disable logging. - Added the
mimiSuccessColorcolor attribute with default value of#10D08B.
Changed¶
- Updated
TestsControllerto add support for the newMimiConnectedHeadphoneProviderAPI. io.mimi.sdk.testflow.util.AudioUtilsnow is internal to the MSDK. Partners should use their own implementation for audio focus and microphone availability.- In
libprofile, the hearing test result issues now only displays the issues associated with the latest test result- If the user selects to retake the test, the test type is determined automatically the MSDK.
- The following
Theme.Mimiattributes which control the color of ear-side contextualized data have been undeprecated:mimiEarLeftColor(default value#725DF8)mimiEarRightColor(default value#333333)
io.mimi.sdk.core.MimiCore.analyticsproperty has been marked@MsdkInternalApi.- The default color for the Quiet section of volume indicator in the test flow has been changed from
mimiPrimaryTintColorNormaltomimiSuccessColor.
Fixed¶
- Fixed a bug in the PTT test where the loudness meter warning would not update during a running test.
- Fixed a crash when the user cancels a test flow without having results.
Deprecated¶
MimiSeekBarArcclass has been deprecated in favor of the Material Design components.
Removed¶
- Removed deprecated theming attributes. Please remove the following attributes from your custom theme:
mimiEarPrintLineColormimiIllustrationColorHairmimiIllustrationColorSkinmimiIllustrationColorGraymimiIllustrationColorDarkGraymimiExcellentGradeColormimiGoodGradeColormimiAverageGradeColormimiLimitedGradeColormimiImpairedGradeColormimiNoGradeColor
activateSession(fitting: Fitting)fromio.mimi.sdk.core.controller.ProcessingController.- Replace usage with
activateSession(presetDataSource: MimiPresetParameterDataSource).
- Replace usage with
- Removed
MimiTestResultData.issues()fromlibtestflow - Removed the
MimiCore.configurationControllerand associatedConfigurationControllerandMimiRemoteConfigurationclasses.- This functionality has been replaced by the new
TestsController,loadTestTypeConfigurationandMimiTestTypeConfigurationclasses.
- This functionality has been replaced by the new
- Removed deprecated class
io.mimi.sdk.profile.BaseProfileContainerFragmentas it is no longer used by the MSDK and has no usecase as public API. - Removed the
TestTypeparameter fromio.mimi.sdk.testflow.activity.TestFlowActivity.intent()- The hearing test type is now automatically determined by the MSDK.
- Removed the
yearOfBirthproperty from theTestFlowActivityJSON response- This property is no longer set in the TestFlow, so it can be replaced by obtaining the value from the current user.
7.5.1¶
Released on 2023-05-16.
Added¶
- Updated translations strings.
Changed¶
- Nothing this time.
Fixed¶
- Nothing this time.
Deprecated¶
- Nothing this time.
Removed¶
- Nothing this time.
7.5.0¶
Released on 2023-05-16.
Added¶
- Nothing this time.
Changed¶
- The default theme
Theme.Mimi.Flow.Toolbarchanges: android:backgroundproperty changed frommimiElevatedBackgroundColortomimiSecondaryBackgroundColor.android:textColorSecondaryproperty changed frommimiSecondaryTintColorNormaltomimiPrimaryTintColorNormal.android:actionMenuTextColorproperty changed frommimiSecondaryTintColorNormaltomimiPrimaryTintColorNormal.- The navigation icons from the toolbar had the
android:fillColorproperty changed frommimiSecondaryTintColorNormaltomimiPrimaryTintColorNormal. - The MT Hearing Test Results step (Your Personalization) has been removed from the MSDK Test Flow.
- This is because the results visualize the user's sound personalization experience which may not be relevant within the context of a hearing test.
- Instead, the MT Hearing Test Results dialog is now automatically opened when a hearing test which was launched from the MSDK Profile successfully completes.
Fixed¶
- Fixed a
StackOverflowErrorinio.mimi.sdk.ux.util.ActivityIndicator. - Upgraded our Mixpanel SDK dependency to 7.3.1 which fixes transient Firebase dependency related crashes.
- Fixed the progress bar indicator width to match the parent view on the Hearing Test Practice screen.
- Fixed an occasional TestFlow initialization HTE crash.
Deprecated¶
- Nothing this time.
Removed¶
- The following drawables have been removed as they are unused:
mimi_ic_pause_menu_skipmimi_ic_pause_menu_restartmimi_ic_pause_menu_practice_againmimi_ic_pause_menu_exit
7.4.0¶
Released on 2023-02-16.
Added¶
- Added the new and improved "Sound Personalization" card UI for
libProfile, replacing the previous expanding header implementation. - Additional theme attributes:
- Added
mimiHearingTestButtonTextColorNormalto set a custom color for Hearing Test Button text, defaults tomimiPrimaryTintColorNormal. - Added
mimiHearingTestButtonTextColorHighlightedto set a custom color for Hearing Test Button text when pressed, defaults tomimiForegroundColorNormal. - Added
mimiHearingTestButtonBackgroundColorto set a custom color for Hearing Test Button, defaults tomimiPrimaryTintColorNormal. - Processing API improvements
- Added
io.mimi.sdk.core.controller.processing.MimiFetchedParameterDataSourceinterface. - Added
io.mimi.sdk.core.controller.processing.MimiPresetParameterDataSourceinterface. - Added
activateSession(MimiPresetParameterDataSource)function toio.mimi.sdk.core.controller.ProcessingControllerto allow activation using aMimiPresetParameterDataSourceinstance rather than aFitting.- Note: This function currently only supports
MimiPresetParameterDataSourceinstances created viacreatePresetDataSource.
- Note: This function currently only supports
- Added
MimiPresetParameterDataSourceConfigurationto enumerate and define the currently supportedMimiPresetParameterDataSourceimplementations.- There are currently two supported implementations:
DefaultandUpDown.
- There are currently two supported implementations:
- Added
createPresetDataSource(MimiPresetParameterDataSourceType)function toio.mimi.sdk.core.controller.PersonalizationControllerto support factory creation of supportedMimiPresetParameterDataSourceimplementations. - Added
presetDataSourceproperty toio.mimi.sdk.core.controller.processing.ProcessingSessionindicate which implementation is currently used as thepresetParameter data source. - Added
upDownPresetsproperty toio.mimi.sdk.core.controller.PersonalizationControllerto share the currently state of theUpDownPresetbundle.
Changed¶
- The default
mimiCompactBorderlessActionButtonStylechanges: android:textColorproperty changed frommimiSecondaryTintColorNormaltomimiPrimaryTintColorNormal.- Removed background ripple effect.
- Testflow interruption dialog icons color changed from
mimiSecondaryTintColorNormaltomimiPrimaryTintColorNormal. - Disclaimer button
android:textColorproperty changed frommimiTertiaryTintColorNormaltomimiSecondaryTextColorNormal. - The
loadUpDownPreset(Fitting)function inio.mimi.sdk.core.controller.PersonalizationControllernow also updates the newupDownPresetsproperty.
Deprecated¶
activateSession(Fitting)function inio.mimi.sdk.core.controller.ProcessingControlleris now deprecated in favor ofactivateSession(MimiPresetParameterDataSource).fittingproperty inio.mimi.sdk.core.controller.processing.ProcessingSessionis now deprecated as it has been conceptually replaced byMimiPresetParameterDataSource.- This property had been used to configure the
presetParameterfetchcalls to retrieve new presets. - Now with the new
MimiPresetParameterDataSourcesuch configuration can be incorporated as required into individual data source implementations.
7.3.1¶
Released on 2023-01-06.
Fixed¶
- Addressed theming issues for Your Personalization screen.
- Fixed back navigation bug leading to user getting directed to Introduction/Onboarding screen from Profile screen.
- Fixed visibility of Log in with Mimi button during Onboarding when only anonymous user is allowed.
Deprecated¶
io.mimi.sdk.profile.BaseProfileContainerFragmenthas been deprecated.- This base class was only public for technical reasons and internal changes to the mSDK have made it no longer necessary.
7.3.0¶
Released on 2022-12-23.
Added¶
- Added the ability to skip the Mimi onboarding introduction screen, which by default is shown when opening the Mimi Profile before a user is onboarded.
- The
MimiConfigurationclass now has a property:mimiOnboardingConfiguration, this has its own property:showProfileOnboardingIntroduction. - Setting the
showProfileOnboardingIntroductiontofalsewill skip the Mimi onboarding introduction screen.
// Example configuration for skipping the Mimi onboarding introduction screen.
// FIXME Important: include your appropriate configuration for other properties.
val mimiConfig = MimiConfiguration(
mimiOnboardingConfiguration = MimiOnboardingConfiguration(
showProfileOnboardingIntroduction = false
)
)
// Use the MimiConfiguration instance when initializing MimiCore.
MimiCore.start(context, "YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET", mimiConfig)
Changed¶
- Nothing this time.
Fixed¶
- Nothing this time.
Deprecated¶
- Nothing this time.
Removed¶
- Nothing this time.
7.2.0¶
Released on 2022-12-07.
Added¶
BLUETOOTH_CONNECTpermission for API 31 was added to the manifest to support bluetooth for Android 12 and up.- Note: To take a hearing test using Bluetooth headphones when the host app is targeting Android 12 and up, the host app is now required to have granted
BLUETOOTH_CONNECTpermissions using its own grant permission flow.
Changed¶
- Nothing this time.
Fixed¶
- Nothing this time.
Deprecated¶
- Nothing this time.
Removed¶
- Nothing this time.
7.1.0¶
Released on 2022-11-08.
Added¶
mimiPersonalizationConfigurationproperty of typeMimiPersonalizationConfigurationadded toio.mimi.sdk.core.MimiConfiguration.- Object which can be used to configure and customize various Mimi Profile features and functionality.
- By default it is
MimiPersonalizationConfiguration() showSampleSoundPlayerInProfileproperty added toio.mimi.sdk.core.MimiPersonalizationConfiguration.- This determines to show media player view inside Mimi Profile. Disabling this will disable UI view for media player in the Mimi Profile.
- By default it is
true - Added a new theme attribute
mimiSoundPersonalizationIconColor. - This controls the color of the new Sound Personalization icon shown on the Mimi Profile onboarding header.
Changed¶
io.mimi.sdk.ux.widget.StyledTextViewnow correctly inherits fromandroidx.appcompat.widgetrather than the platformTextView.
Fixed¶
- Nothing this time.
Deprecated¶
- The following
Theme.Mimiattributes have been deprecated as they are unused: mimiEarPrintLineColormimiEarLeftColormimiEarRightColormimiIllustrationColorHairmimiIllustrationColorSkinmimiIllustrationColorGraymimiIllustrationColorDarkGraymimiExcellentGradeColormimiGoodGradeColormimiAverageGradeColormimiLimitedGradeColormimiImpairedGradeColormimiNoGradeColormimiTertiaryTextColorNormalmimiTertiaryTextColorHighlightedmimiSecondaryBackgroundStartmimiSecondaryBackgroundEnd
Removed¶
- Nothing this time.
7.0.0¶
Released on 2022-10-20.
Added¶
allowAnonymousUserOnlyproperty added toio.mimi.sdk.core.MimiConfiguration.- This determines whether to only allow the creation of anonymous users. Enabling this setting will also disable UI to support login/signup in the Mimi Profile.
- By default it is
false
Changed¶
anonymousIdproperty onio.mimi.sdk.core.model.MimiUserclass has been made public.io.mimi.sdk.core.adapter.MimiTestResultResponseAdapterFactoryis an internal API. It has been explicitly marked asinternal.
Fixed¶
- Fixed a bug which was setting incorrect text color in some screens.
Deprecated¶
io.mimi.sdk.core.MimiConfiguration.default()will be removed in future release.- Use default constructor of
io.mimi.sdk.core.MimiConfigurationinstead.
Removed¶
- The
io.mimi.sdk.core.controller.TestsControllerexportfunctionality has been removed. io.mimi.sdk.core.model.tests.Signedinterface has been removed.io.mimi.sdk.testflow.results.PersonalizationResultsBottomDialogFragmentclass has been removed.io.mimi.sdk.testflow.results.utils.firstAvailableTesthas been marked@MsdkInternalApi.io.mimi.sdk.testflow.util.SeekBarProgressListenerhas been made internal to thelibtestflowmodule.
6.5.1¶
Released on 2022-10-07.
Fixed¶
- Addressed a number of theming issues for darker themes.
- Fixed French translation issues.
6.5.0¶
Released on 2022-09-09.
Added¶
- Additional test submission failure information shown to user.
Changed¶
- User registration UI now requires explicit user consent.
- Updated the HTE Wrapper to version 3.7.2_0.
- Improved internal analytics properties for test submission failures.
Fixed¶
- Addressed a number of issues affecting hearing test submission.
Deprecated¶
- Nothing this time.
Removed¶
- Nothing this time.
6.4.0¶
Released on 2022-08-01.
Added¶
- New function
revokeHearingAssessmentConsenttoio.mimi.sdk.core.controller.UserControllerto allow the revoking of consent for hearing assessments. - New helper function to
io.mimi.sdk.ux.util.extensionto simplifyViewenabled state alpha:View.setAlphaForEnabledState()
- Additional internal tracking for the Fine Tuning feature.
Changed¶
- Nothing this time.
Fixed¶
- Fixed a UI bug which caused the "Estimate your hearing" card to be incorrectly enabled.
- Fixed a bug which was preventing the restart of hearing tests.
Deprecated¶
- Nothing this time.
Removed¶
- Nothing this time.
6.3.0¶
Released on 2022-06-06.
Added¶
- Libprofile now provides the user with a selection of different personalization presets for the user to fine tune their audio personalization experience.
- The
PersonalizationControllernow has a functionloadUpDownPreset()to fetch theUpDownPresetpersonalization preset bundle. - New helper functions to
io.mimi.sdk.ux.util.extensionto simplifyViewvisibility operations: View.show()andView.hide()respectively.
Changed¶
- Nothing this time.
Fixed¶
- Nothing this time.
Deprecated¶
- The
exportfunctionality provided by theTestsControlleris not appropriate for non-certified products and will be removed.
Removed¶
- Nothing this time.
6.2.0¶
Released on 2022-05-13.
Added¶
- The MSDK now provides an API to provide sounds personalization visualization data for the current user.
PersonalizationControllernow has avisualizationproperty, represented asPersonalizationVisualization.- It holds the personalization visualization data for the current user and is automatically updated to the latest value.
- The data is only indicative of the possible adjustments to sound personalization made by Mimi.
- Additionally, the
TestsControllersubmitTestForResultfunction now also returns same personalization visualization data in response to a test submission in theMimiSubmitHearingTestResponsepersonalizationVisualizationproperty. - The personalization visualization can be accessed via the new "Your Personalization" card from the user profile, and at the successful completion of an MT hearing test.
FragmentViewBindingDelegateclass andFragment.viewBindingextension which are intended to be used internally and should not be considered part of the public API.
Changed¶
- The
GroupControllerthrows aMemberNotInGroupExceptionwhen deleting a user who does not exist in a givenMimiGroup. - Allow setting all test volume values, by fixing the
VolumeAdjustmentSeekBarkeyProgressIncrementto1.
Fixed¶
- Fixed a bug which could cause backend API authorization failures in some circumstances.
- Fixed a bug which could cause unexpected audio volume changes due to UI touch events.
Deprecated¶
- The new "Your Personalization" card replaces the previous card. This results in the deprecation of:
io.mimi.sdk.testflow.results.PersonalizationResultsBottomDialogFragment
Removed¶
- Nothing this time.
6.1.0¶
Released on 2022-03-04.
Deprecated¶
- Interface
Signedinio.mimi.sdk.core.model.tests: Test Result signature verification is no longer supported. io.mimi.sdk.testflow.results.PersonalizationResultsBottomDialogFragmenthas been deprecated.
Updated¶
- Updated Kotlin to version
1.6.10. - The color of the waves in the background of the Sound Personalization card is defined by
mimiPrimaryTintColorNormal. - Updated okhttp to version
4.9.3.
Removed¶
signatureproperty inMimiMtTestResultResultsResponseandMimiPttTestResultResultsResponse. This is an MSDK Internal API: no migration steps will be provided.
Added¶
GroupControllerfor creating, deleting, activating and deactivatingMimiGroups as well as adding, removing, activating and deactivatingMimiGroupMembers of such groups.
6.0.0¶
Released on 2022-01-14.
Removed¶
- The health flavor has been removed. This includes the following:
MimiPTTResultDetailsDialogFragmentMimiMTTResultDetailsDialogFragmentMimiTestResultsDialogFragmentMimiProfileFragment(Health SDK only)MimiProfileLauncher(Health SDK only)showReadMoreLinkparameter in Fragment.showDisclaimershowHearingHealthTipsparameter in MimiConfiguration
DisableOnTouchNestedScrollViewhas been removed.io.mimi.sdk.core.DEFAULT_PARAMETER_DELIVERY_INPUT_SETTLE_MShas been removed as the debounce time forParameterDeliveryMode.Discretehas no default.io.mimi.sdk.core.util.wtffunction has been removed as it was an unused internal function.io.mimi.sdk.ux.util.gmailIntenthas been removed. UseopenDefaultEmailAppinstead.io.mimi.sdk.ux.util.openEmailInboxhas been removed. UseopenDefaultEmailAppinstead.io.mimi.sdk.ux.util.UiUtilsextension functionsView.setGone()andView.setInvisible()have been removed. UseView.isGoneandView.isInvisiblefromandroidx.coreinstead.
Added¶
- Added 'submitNickname' method to
UserControllerfor updating/setting the nickname of a user. - Added
mimiEarPrintLineColorto set a custom color for Ear Print Artwork, defaults tomimiPrimaryTintColorNormal - Added
mimiNoGradeColorto set a custom color for results without a known grade.
Updated¶
io.mimi.sdk.ux.widget.TintedToggleButtonhas been renamed toio.mimi.sdk.ux.widget.MimiTintedToggleButton.io.mimi.sdk.ux.widget.SeekBarArchas been renamed toio.mimi.sdk.ux.widget.MimiSeekBarArc.- Prefixed internal Android resources (layouts, drawables etc) with
mimi_to avoid namespace clashes with host applications. - mimiButtonCornerRadius changed to 26dp
- The following
Theme.Mimitheming items have changed:- Removed
Theme.Mimi.AHTtheme
- Renamed
earLeftColortomimiEarLeftColorearRightColortomimiEarRightColorexcellentGradeColortomimiExcellentGradeColorgoodGradeColortomimiGoodGradeColoraverageGradeColortomimiAverageGradeColorlimitedGradeColortomimiLimitedGradeColorimpairedGradeColortomimiImpairedGradeColor
- Removed
Promoted¶
io.mimi.sdk.core.securestore.DataStoreclass has been made public, but with marked@MsdkInternalApi.
Demoted¶
- Marked as
@MsdkInternalApi:io.mimi.sdk.core.DEVICE_MODEL_ID,io.mimi.sdk.core.ANDROID_OS,io.mimi.sdk.core.ANDROID_VERSIONproperties.io.mimi.sdk.core.adapter.RationalNumberAdaptersandio.mimi.sdk.core.adapter.RationalNumberAdapters.Factoryclasses.io.mimi.sdk.core.util.CryptoUtilsall functions.io.mimi.sdk.core.util.PersistentFieldclass.io.mimi.sdk.testflow.results.TestResultIssuesDialogFragment,io.mimi.sdk.testflow.results.model.TestResultIssueUiDataandio.mimi.sdk.testflow.results.model.TestResultIssueUiDataclasses.io.mimi.sdk.testflow.shared.showDisclaimerFragmentextension function
io.mimi.sdk.core.util.Log.enabledproperty has been made internal to thelibCoremodule.io.mimi.sdk.core.securestore.DataStoreconstructor has been made internal to thelibCoremodule.io.mimi.sdk.authflow.util.Utilshelper functions have been made internal to thelibAuthFlowmodule.io.mimi.sdk.testflow.steps.volumeadjustment.SystemTimeProvideras been made internal to thelibTestFlowmodule.io.mimi.sdk.testflow.shared.BottomDialogManagerhas been made internal to thelibTestFlowmodule.io.mimi.sdk.ux.flow.view.StepFragmenthas been made internal to thelibUxmodule.
Deprecated¶
5.0.0¶
Released on 2021-08-23.
Removed¶
AuthControllerclass and its instance in theMimiCoreobject has been removed. All the legacy functionality has been moved to theUserControllerinstead.TestsControllerListenerinsideTestControllerclass has been removed.ProcessingController.resetParams()method is now declared as a private method and hence no longer publicly available to integrators.PermissionControllerandExplanationDatahave been removed. Please manage Android permissions autonomously.io.mimi.sdk.core.CoroutineScope.executeTaskextension function has been removed. If still required, please implement your own equivalent.io.mimi.sdk.core.securestore.DataStoreis no longer part of the MSDK public API.io.mimi.sdk.core.util.PersistentFieldmade the constructor with aDataStoreparameter internal to thelibCoremodule.Environmentenum is now internal to thelibCoremodule.MimiCore.environmentis now MSDK only internal API and should not be used by partners.- Removed the ability to provide an
Environmentparameter from the public API when callingMimiCore.start(). Only the production environment is available. - Abstract classes
io.mimi.sdk.core.controller.BaseControllerandBaseControllerWithListenershave been removed. MimiCore.failedToRefreshTokenForUsercallback has been removed. Please note that now, theloadingStateof theUserController.mimiUserinstance, will be of typeLoadingState.Failurewith itscausefield set toMimiCoreException.ForciblyLoggedOut.io.mimi.sdk.core.controller.ResultCallbackhas been removed. It was used for the Java compatibility layer, which is no longer supported.io.mimi.sdk.core.model.Resulthas been removed. It was used for the Java compatibility layer, which is no longer supported.com.chauthai.swipereveallayout.SwipeRevealViewhas been removed fromlibprofile. It has been replaced bycom.chauthai.swipereveallayout.SwipeRevealLayoutin thelibuxmodule.io.mimi.sdk.core.model.personalization.Personalizaton.Modeis now internal tolibCore.io.mimi.sdk.core.controller.processing.ParamCacheis now internal to thelibCoremodule.io.mimi.sdk.core.DEFAULT_PARAMETER_DELIVERY_INPUT_SETTLE_MS. There is no longer a default, you should explicitly define an appropriate value.io.mimi.sdk.core.model.tests.*Responsepreviously marked asDeprecatedhas been moved and marked asMsdkInternalApi.Signedinterface removed fromMimiPTTTestResultDataandMimiMTTestResultData.- Default values for
earSymmetryandhearingGraderemoved fromMimiPTTTestResultandMimiMTTestResult. resultsErrorremoved fromMimiMTTestResult.MimiTestResultData.earType(): EarTypeextension helper function.HearingTest.Embedded.resultspreviously marked asDeprecatedhas been removed.io.mimi.sdk.testflow.shared.HearingGradehas been removed in favor ofio.mimi.sdk.core.model.tests.HearingGrade.- Marked
HearingGrade.colorImageas internal API. - Removed
DebugOptionsand associatedTestFlowActivity.intentfromio.mimi.sdk.testflow.activity.
Added¶
MimiPersonalizationRoutesealed class has been added. It is used to load a validPersonalizationwithinPersonalizationControllerclass.MimiAuthRoutesealed class has been added. It is used to provide a valid authentication type to theauthenticate()method inside theUserControllerclass.- Created
MimiObservableandMimiObserverclasses, to help informing about changes happening variables that are wrapped with it. - Added
MimiObservable.observe(observer:)andobserve(tag:, action:)methods to subscribe and listen to changes occurring on a specificMimiObservableobject. - Introduced
@MsdkInternalApiannotation. This annotation will be used to mark any classes or methods that despite being declared as public, their usage is restricted solely for internal purposes. - Added
LoadingStatesealed class to represent the loading state of a value dependent on some I/O operation. - Added
AsyncState<T>(value:, loadingState:)class to give an accurate asynchronous representation of theloadingStateof a visualvalueof the MSDK. - Added
MimiObservable<T>.asLiveData(coroutineScope:)andMimiObservable<AsyncState<T>>.valueAsLiveData(coroutineScope: )as convenience extension methods to mapMimiObservabletoLiveDataobjects. MimiCoreServiceshas been added as interface to define the services available inMimiCore.ProcessingSessionhas been added to encapsulate information about the ongoing processing session.MimiParameterApplicatorhas been added as interface to define an applicator that is used to apply a parameter value to an integrator.allowsUsageDataCollectionflag toMimiCoreto enable or disable usage data collection.- Added
Context.getApplicationLabel()to read the applications label. - Added MSDK internal analytics with
allowsUsageDataCollectionflag toMimiCoreto enable or disable usage data collection. - Added
results: List<MimiTestResultData>value toMimiTestResultinterface. - Added
openDefaultEmailApputil function inio.mimi.sdk.ux.util.ActivityUtils, which is used to open the default set Email application in the phone.
Updated¶
io.mimi.sdk.core.MimiCore.start()- the parameterctxhas been renamed tocontextfor clarity.manageAccountUrl()method insideUserControllerclass has been renamed touserAccountPortalUrl().latestTestResults()method insideTestsControllerclass has been renamed toloadLatestTestResults().authenticate(username: String, password: String): MimiUsermethod inside the legacyAuthControllerclass has been moved to theUserControllerclass and renamed toauthenticate(route: MimiAuthRoute): MimiUser.MimiTestResultData.earTypetype has been changed fromStringtoEarType.MimiTestResultData.warningshas been made nonnull. An empty list will be set when no warnings exist.HearingGradehad been added and is used onMimiTestResult.hearingGradeinstead of numeric scores.gmailIntentutil function inio.mimi.sdk.ux.util.ActivityUtilsmay throwNullPointerExceptionwhen no Gmail application can be found.openEmailInboxutil function inio.mimi.sdk.ux.util.ActivityUtilsmay throwActivityNotFoundExceptionorNullPointerExceptionif no appropriate email application can be found.
Deprecated¶
gmailIntentutil function inio.mimi.sdk.ux.util.ActivityUtils.openEmailInboxutil function inio.mimi.sdk.ux.util.ActivityUtils.
4.5.3¶
Released on 2021-09-27.
Updated¶
- Updated to version
3.5.1_0of the HTE.
4.5.2¶
Released on 2021-07-28.
Fixed¶
- Fixes crash with layout naming conflict.
4.5.1¶
Released on 2021-06-10.
Updated¶
- Updated to version
3.4.3_0of the HTE.
4.5.0¶
Released on 2021-05-21.
Added¶
- Display information and a warning to disable Audio Effects within the test flow.
Updated¶
- Client dependent configuration and order of test paradigms.
Fixed¶
- Connectivity interruption for wired and bluetooth headsets.
4.4.0¶
Released on 2021-05-07.
Added¶
- New
Your Personalizationcard inside theMimiProfileFragmentto inform users about their sound personalization. - After taking a valid MT Hearing Test, now users will be able to see their results right away.
PersonalizationResultsBottomDialogFragmentclass responsible for showing a detailed result description of the most recent hearing test taken by the user.MimiTestResultResponseand children matching the test result v2 format returned from the backend.MimiTestResultEarSymmetryandMimiTestResultEarSymmetryResponserepresenting which is the better ear that is taken into account for the overall test result grade.MimiTestResult.earSymmetryproperty to storeMimiTestResultEarSymmetrywith a backwards compatible default toUNKNOWN.
Updated¶
- Updated Theme.Mimi.AHT theme colors for better accessibility.
- Updated to version
3.4.2_0of the HTE.
Deprecated¶
MimiTestResultResponseand children as they will be merged withMimiTestResulton a breaking changes release.EmbeddedTestResultsis deprecated as it will be replaced by test result v2 format.showTipsForHearingutil function inio.mimi.sdk.testflow.results.utils.
4.3.0¶
Released on 2021-02-24.
Updated¶
- Deprecated
SwipeRevealViewbundled with libprofile.
Added¶
- Ability for users to see a list of previous/historical tests.
- Ability to paginate all of the users test results.
TestController.loadTestResults()that allows to fetch a paginated list of test results in chronological order.MimiPagedItemsinterface to wrap collections of items that are returned paged from the mimi backend.DispatcherProviderprovidingMain,DefaultandIOcoroutine dispatchers.SwipeRevealLayouthelper to reveal a second layout on swiping items. Bundled with libux.
4.2.0¶
Released on 2020-12-11.
Updated¶
- Updated to version
3.4.0_0of the HTE.
Added¶
Fragment.showDisclaimerthat allows to show disclaimer dialog from a Fragment class.
Fixed¶
- Keyboard overlapping input field at password registration on small devices.
- UI issue not displaying correctly the Creating Hearing ID card on small devices.
- UI issue not resizing correctly Hearing Test results issues card details for small devices.
- UI Issue not disabling correctly the Estimate Your Hearing ID card on the initial onboarding screen.
- Issue on test result details fragment with Hearing Loss Grade card not showing as selected initially for
Severegrades. - Issue on signup and login screens where users were able to type empty spaces on the email edit text field.
- Updated terms and conditions screen on the signup flow to be GDPR compliant.
4.1.0¶
Released on 2020-11-13.
Added¶
TestController.export()that allows to export and share PTT test results via the Android ShareSheet.
Fixed¶
- Issue not fetching correctly the latest Mimi Presets when submitting consecutive tests during the same session.
- Issue not transitioning the Profile header to the latest taken Test Paradigm on first load.
- Issue crashing the app on accounts with many taken Hearing Tests when dismissing too quick the
Hearing in SilenceBottom Sheet dialog fragment. - Delayed interruption if volume changed during a test while the App was paused.
- Several issues not theming correctly UI attributes of some onboarding and test flow layouts.
- Issue not showing correctly the error message when trying to sign up a user with an already taken email.
Removed¶
- Deprecated the
MimiConfiguration.alwaysShowHearingResultsflag. Changing its value will no longer have any effect.
4.0.2¶
Released on 2020-10-12.
Updated¶
- Updated to version
3.3.2_0of the HTE. - Updated Kotlin to version
1.4.10. - Deprecated
ProcessingController.resetParams.
Fixed¶
- Fixed compilation issue when updating to AndroidX ConstraintLayout library
2.0.0. - Fixed several UI issues affecting devices with smaller screen sizes.
- Fixed text color of the description on the HealthSDK onboarding screen.
- Issue not being able to submit a Hearing Test when the locale language and region were empty.
- Fixed onboarding header collapsing when clicking on navigation button, after multiples expand and collapse.
- Fixed header not swiping between PTT and MT after login.
- Fixed header not swiping between PTT and MT after click on create your hearing ID card.
- Fixed issues when updating to ConstraintLayout library
2.0.1. - Fixed header shows a loading state while fetching user's data.
- Fixed profile card list scrolling when header is expanded.
- Fixed showing specific header for user that has no hearing test results yet.
4.0.1¶
Released on 2020-08-26.
Fixed¶
- Internal bug fixing.
4.0.0¶
Released on 2020-08-12.
Added¶
- Ability to request embedded test results on submitting Tests with
submitTestResults(hearingTest: HearingTest, provideResults: Boolean). - Ability to handle new issue
Insight could not be computed. - Improvements to card descriptions.
Updated¶
ProcessingParameter.Readablehas been renamed toReadableProcessingParameter.ProcessingParameter. Writablehas been renamed toWritable ProcessingParameter.- Moved
HearingGradesDialogFragmentto TestFlow and renamed toMimiMTResultDetailsDialogFragment. - Moved
HearingInSilenceDialogFragmentto TestFlow and renamed toMimiPTTResultDetailsDialogFragment. - Moved
TestResultIssueUiDatato TestFlow. - Moved
TestResultIssuesDatato TestFlow. - Moved
TestResultIssuesData.uiData()extension to TestFlow. - Moved results
Utilsto TestFlow. - Moved
TestParadigm.testType()extension to TestFlow. - Moved
HearingGradeclass to TestFlow. - Moved
EventBusclass to UX. - Moved
NavigationEventclass to UX. - Moved
TestResultIssuesDialogFragmentclass to Testflow. - Moved
Date.formatDefaultDate()toio.mimi.sdk.ux.util. - Moved
BaseProfileContainerFragmenttoio.mimi.sdk.profile. - Updated to version
3.2.1_0of the HTE.
Fixed¶
- Issue with cards performing unwanted caching of results after logout.
- Issue with Authentication flow unexpectedly closing when back pressed.
Removed¶
- Deprecated
Insights,TestsController.insights(id: String)have been removed. TestController.submitTestsResults(hearingTest, callback)has been replaced byTestController.submitTestsResults(hearingTest, provideResult, callback).- Deprecated
UserControllerListener.didChange(mimiUser)has been replaced withUserControllerListener.didChange(oldUser, currentUser). - Deprecated
MimiHearingTestFragment.showHearingTipsButton,ConfigurationController.showHearingHealthTips,ConfigurationController.alwaysShowHearingResultsandConfigurationController.allowRemoteDeviceAuthorizationflags have been removed. - Unused
plotPointsfield underMimiMTTestResultData. - Removed
MimiHearingTestFragmentandMimiHearingTestLauncherclasses.
3.6.0¶
Released on 2020-06-16.
Added¶
- Ability for a user to take a PTT Test with
TestFlowActivity - Ability for a user to select the type of test to take inside
TestFlowActivity - Ability to display warnings and errors that occurred during a test on the profile and detailed results.
- Ability for anonymous users to use remote device authorization features.
- Ability to choose some precalibrated headphones during the PTT flow.
MimiRemoteConfigurationobject containing the available features for the current client.loadRemoteConfiguration()method andremoteConfigurationvariable keeping the latest valid value of theMimiRemoteConfigurationinsideConfigurationController.TestParadigmenum class.- Method
loadHeadphones(connectionType: Headphone.ConnectionType)to load the list of available precalibratedHeadphoneobjects insideTestsControllerclass. Headphoneobject insideMimiCoremodule.PermissionControllerutils class to manage system permissions.- `observeEventNotHandled(owner: observer:) utils LiveData extension function.
- New styles under
MimiCoremodule. RemoteConfigRetryInterceptorclass to fetch the initial remote configuration and the logic to retry it in case it fails.RECORD_AUDIOsystem required permission on the general manifest to record environment noise forPTTtests.ViewGroup.forEachChild(action:),View.setEnabledRecursively(enabled:)andImageView.loadImage(url: @DrawableRes placeholder:)UI utils methods.SnapOnScrollListenerandSnappingCardLayoutManagerclasses.
Updated¶
- Deprecated a number of initial configuration flags and methods inside
ConfigurationControllerclass and moved toMimiConfigurationinsideMimiCore. noiseReportvalue field insideHearingTestobject.- Moved
Eventclass to Core Utils package. - Improved overall inline documentation.
Fixed¶
- Several issues with interruptions when pause menu is open on the test flow screen.
- Issue with
MimiProfileFragmentandMimiHearingTestFragmentheader not updating correctly upon user login.
3.5.0¶
Released on 2020-03-27.
Added¶
- Ability to authenticate remote devices to
MimiProfileFragment. - Ability to authenticate remote devices to
MimiHearingTestFragment. showConnectDeviceDialog()toAuthFlowto authenticate remote devices.- Ability to request device authorization via
requestDeviceAuthorization()toAuthController. - Ability to authenticate using a
DeviceAuthorizationRequesttoAuthController. DeviceAuthorizationRequestmodel object to for supporting device authentication toMimiCore.MimiConfigurationobject to configure Mimi features, replacing theConfigurationController.start(ctx: environment: clientId: clientSecret: initialConfiguration:)toMimiCoreto support injecting aMimiConfiguration.
Updated¶
- Deprecated
configurationControllerinMimiCore.
Fixed¶
- Issue where Hearing Health Tips would incorrectly display for an unsupported locale.
3.4.0¶
Released on 2020-03-16.
Added¶
- Support for displaying PTT and MT results as well as new header functionality to swipe between them inside
MimiHearingTestFragment. - Support for displaying detailed PTT results and audiograms to
MimiHearingTestFragment. - Noise familiarity step before an MT Hearing Test to allow a user to experience the test audio.
- Ability to troubleshoot bluetooth connection during headphone disconnection interruption in a Hearing Test.
- Ability to exit a hearing test when interrupted due to headphone disconnection.
- Ability to load latest test results via
latestTestResults()toTestsController. MimiTestResultsmodel object that contains an MT and PTT test result encapsulated in theMimiMTTestResultandMimiPTTTestResultclasses objects.MimiTestResultErrorobject to handle errors or warnings that occurred when generatingMimiTestResultscontaining enumMTResultErrorwith all the known MT related server errors.MimiSDKExpiredExceptionobject to encapsulateMimiCoreExceptionsthat occurred due to the use of an outdated SDK version.BaseProfileContainerFragmentclass as a parent fragment for fragments that need to switch between onboarding and personalized state.TintedToggleButtoncustom object used on Beep & Noise setup screen inTestFlowActivity.
Updated¶
- Deprecated
insights()method insideTestsControllerto load legacy MT test results. Replaced bylatestTestResults(). - Removed
XmlFragmentclass used for Mimi launcher cards. Replaced byBaseProfileContainerFragment. - New graphic assets and animations on
MimiHearingTestLauncher
Fixed¶
- Issue where an interruption could fail to present correctly in
TestFlowActivity - Issue where a
StepFragmentcould fail to retain correctly during rotation.
3.3.2¶
Released on 2020-02-28.
Fixed¶
- Issue that could cause authentication to fail or sessions to expire.
3.3.1¶
Released on 2020-02-24.
Fixed¶
- Issue that could potentially cause authentication to fail and forcibly log out a user.
3.3.0¶
Released on 2020-01-28.
Added¶
- New Mimi User's
didChange(oldMimiUser, currentMimiUsermethod.
Updated¶
- Improved Activity state animations showing on the different Test, Login, Signup and Forgotten Password screens by migrating from
KyrietoLottieAnimations framework. - Improved Header EarPrint graphic. Now it is drawn by calculating the interpolated curves between 2 given sets of Bezier curve coordinates.
- Updated to version
2.2.1_0of the HTE
Fixed¶
- Deprecated old Mimi User's
didChange(mimiUser)method. Replacing method is mentioned above and should include both old and current instances of the Mimi User. - Issues with visual graphic glitches on Header transition between expanded and collapsed states.
3.2.0¶
Released on 2019-11-28.
Added¶
MimiHearingTestLaunchercard fragment allowing to easily launch the Hearing Test profile from anywhere.- Hearing Grades card under PersonalizationProfileFragment informing about user's hearing test results.
MimiProfileFragment.showHearingGradesCardvariable to configure whether the Hearing Grades card should be shown or not.MimiHearingTestFragment.showHearingTipsButtonvariable to configure whether the Hearing Grades card should be shown or not.- New color attribute
mimiSecondaryForegroundColorNormalunder UX styles. - New processing parameter delivery system. Now processing parameters can be sent to the processing handler by setting
ParameterDeliveryModes.CONTINUOUSorParameterDeliveryModes.DISCRETEmode, otherwise it will default toCONTINUOUS. The delay between these calls can also be set programmatically by modifyingProcessingController.config.discreteInputSettleTimeMs, otherwise it defaults to 200ms.
Updated¶
- Mimi Dark theme color parameter values.
- Mimi waveform logo colors.
- Text appearance on Mimi dialogs.
- New graphic assets for headphones and quiet setup environment screens on test flow.
- Improved localized strings.
Fixed¶
- Bug not updating progress bar correctly on practice round.
- Improved header graphic line work animation.
3.1.0¶
Released on 2019-11-07.
Added¶
- Forced logged out mechanism upon inconsistent user status with Backend.
- Improved logging message reminding to extend main
Theme.Mimistyle when applying a custom one over an activity or fragment. - Removed onRegistration callback parameter from
showSignupDialog()method.
Updated¶
- Migrated internal distribution system to AppCenter via bash scripts on CircleCI.
- Bumped to Gradle version
5.6.3. - Improved lottie drawables on Hearing Grades card.
- Improved localized strings.
Fixed¶
- Fixed different bugs related with thread concurrency and the user refresh method upon sign up.
- Bug crashing the app upon return from
openEmail()action. - Themed WarningHelper SnackBar appropriately.
3.0.0¶
Released on 2019-10-07.
Added¶
- Created Mimi Hearing Test Fragment variant, along with all needed classes and view models.
- Major refactor operations to reduce visibility of several exposed methods.
- Added Lottie Drawables support.
- Added debug option on sample app to mimic processing invalidation.
- Added debug option to log in with test Mimi accounts.
- Added new AHT theme on Profile sample app.
- Added new specific Theming for AHT app
- Added openEmail util method.
- Added links to ToU and PP on sign up screens.
- Added new broadcast notification events to inform about the current progress of the HT.
Updated¶
- Improved custom documentation and moved it to guide folder.
- Improved inline documentation of methods and classes.
- Improved substantially the Processing module. Refactored the ProcessingParameter class as well as processingHandler listeners.
- Bumped Profile and HTE modules to latest versions.
- Improved localized strings.
- Refactored ProcessingControllerListener to only inform UI observers about handler processing invalidation, parameter updates and failed get/set calls.
- Reshaped ProcessingParameters class to implement Readable and/or Writable interfaces depending on the type of processing parameter.
- Moved Throttler class to UX
- Bumped HTE Wrapper version to 2.0.0.
- Removed LuaScriptManager class.
Fixed¶
- Removed deprecated
getFittingRulemethod.
2.2.0¶
Released on 2019-08-20.
- Added new sign up functionality, delivered via BottomSheetDialogFragments.
- Improved significantly InterruptionsManager on Test Flow module, covering many edge cases like handle incoming calls, smoother transitions between interruptions and vector drawable assets.
- Refurbished and added old and new styling Themes.
- Added legal disclaimer dialog on Profile.
- Fixed UI bugs on header, device back navigation.
- Improved localized strings.
2.1.0¶
Released on 2019-07-25. - Top-aligned onboarding cards. - Improved theming.
2.0.0¶
Released on 2019-07-01. - Fixed HT bug not uploading correctly tests. - Improved look & feel of Profile Header. - Fixed bugs not showing updated User info on Profile cards.
2.0.0-beta.5¶
Released on 2019-06-24. - Introduced new Profile V2 layouts. - Strings and UI improved on TestFlow as well as HTE bug fixing. - Added licenses on each submodule.
2.0.0-beta.4¶
Released on 2019-06-11. - Updated release and versioning processes. - Improved localized strings. - Android X migration. - Added Mimi logo on login screens. - Fixed bug with Android 7 with TLS cipher. - Moved utils method from Testflow to UX module. - General Bug fixing.
2.0.0-beta.3.1¶
Hotfix version Released on 2019-05-29. - Hotfix version release built with version 0.7.1 from both Core and Profile modules. Main changes being: * Fixed bug affecting authentication interception and proper management of token refreshment * Automated clearing and handing of presets upon processing activation/deactivation * Closing correctly http requests on unauthenticated responses * Fixed bug with processing racing conditions
2.0.0-beta.3¶
Released on 2019-05-24. - Added merge anonymous into logged in user mechanism. - Added force update feature. - Improved localized strings. - Improved activity indicator animations. - Fixed error banners on login and password reset screens. - Diverse visual and behavioral bug fixing.
2.0.0-beta.1¶
Released on 2019-04-30. - Hooked up UI components with internal processing logic. - Improved theming and flow navigation. - Moved HTE module to a separated github project. - Added change environment feature for dev purposes. - Refactoring and general bug fixes.
2.0.0.Alpha.3¶
Released on 2019-04-02. - Features & fixes.
2.0.0.Alpha.1¶
Released on 2019-02-1. - Initial release.