Skip to content

Change Log

All notable changes to this project will be documented in this file. Adheres to Semantic Versioning.

11.X Releases

10.X Releases

9.X Releases

8.X Releases

7.X Releases

6.X Releases

5.X Releases

4.X Releases

3.X Releases

2.X Releases


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.MimiAbsoluteVolumeSupport enum class to represent the support status of Bluetooth Absolute Volume for the current device.
  • Added io.mimi.sdk.core.model.tests.MimiTestResultIssue.BluetoothAbsoluteVolumeUnknownHost warning code to represent the case where the host device's Bluetooth Absolute Volume support is unknown.

Changed

  • Modified io.mimi.sdk.core.model.tests.MimiPttMetadata to include BluetoothMetadata to represent the Bluetooth Absolute Volume support for the PTT test.
    • This new metadata can be obtained through the loadTestTypeConfiguration() function in io.mimi.sdk.core.controller.TestsController.
  • Updated HTE to 3.7.2_3 to use low latency audio for both AmbientMonitor and Hearing Test.
  • Simplified the Hearing Test submission APIs in io.mimi.sdk.core.controller.TestsController by combining the existing submitTest() function with no return type and submitTestForResult() into a single function submitTest() which returns a MimiSubmitHearingTestResponse.
  • Modified hearing test submission metadata io.mimi.sdk.core.model.tests.HearingTest.Metadata.Host to include volumeStepCount - the number of volume steps detected on the current device.
  • In io.mimi.sdk.core.model.tests.HearingTest, removed default metaData value from fromRuns().
    • Also renamed the parameter to metadata for consistency with the type naming.
  • MimiTestResultIssue replaces MimiTestResultError.
    • MimiTestResultIssueReason replaces MTResultError and PTTResultError.

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.
  • Removed the deprecated io.mimi.sdk.core.controller.TestsController connectedHeadphoneProvider functions, which had been superseded by the connectedMimiHeadphone mechanism.
    • Removed the associated deprecated MimiConnectedHeadphoneProvider class.
  • 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 AmbientMonitor as the one used for the Hearing Test.
  • Handled io.mimi.sdk.profile.personalized.MimiPlayerView stop on the uses cases that a dialog is open.

Fixed

  • Fixed io.mimi.sdk.profile.personalized.MimiPlayerView doesn'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.MimiProfileLauncher card 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 mimiLauncherCardCornerRadius theming 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.TestsController property connectedMimiHeadphone to represent the current connected headphone.
  • Added io.mimi.sdk.core.controller.tests.HeadphoneApplicatorConfiguration class to represent the configuration for adjusting the volume during a PTT test.
  • Added io.mimi.sdk.core.controller.tests.IsAbsoluteVolumeSupportedResponse class to represent the response to a request to check if the connected headphones support Bluetooth Absolute Volume.
  • Added io.mimi.sdk.core.controller.tests.SendHearingTestStartCommandResponse class 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.SendHearingTestEndCommandResponse class 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.HeadphoneApplicator class to facilitate the interaction with the connected headphone.
  • Added io.mimi.sdk.core.controller.tests.HeadphoneNotificationReceiver class to receive notifications from the connected headphone.
  • Added io.mimi.sdk.testflow.flowfactory.TestFlowResponse data class to hold the response of the test flow.
  • Added io.mimi.sdk.testflow.steps.hearingtest.HteStepState.HTE_FAILURE to represent a failure state in the HTE start step.

Changed

  • Updated the existing locales.

Deprecated

  • The io.mimi.sdk.core.controller.TestsController connectedHeadphoneProvider property has been deprecated in favor of connectedMimiHeadphone.
  • The io.mimi.sdk.core.model.headphones.MimiConnectedHeadphoneProvider class has been deprecated in favor of io.mimi.sdk.core.controller.tests.MimiConnectedHeadphone.
  • The io.mimi.sdk.testflow.steps.hearingtest.HteStepState enum 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.MimiTestAudiogram
    • io.mimi.sdk.core.model.tests.MimiTestAudiogram.DataPoint
    • io.mimi.sdk.core.model.tests.TestAudiogramMetadata
    • io.mimi.sdk.core.model.tests.MimiTestAudiogramResponse

10.0.0

Released on 2024-02-16.

Added

  • Added io.mimi.sdk.core.controller.processing.MimiApplicatorResult to allow Applicators to return a result.
  • Added io.mimi.sdk.core.controller.processing.ProcessingParameterDataSourceUndefinedException to indicate a ProcessingParameterResult.Failure cause for an operation requiring a MimiProcessingParameterDataSource when 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 @MsdkExperimentalApi to indicate an experimental API. Such APIs may be subject to unannounced changes.

Changed

  • ProcessingSession property presetDataSource is now nullable.
  • io.mimi.sdk.core.controller.processing.ProcessingParameterApplicatorFailedException now uses the message String? property to describe the failure, instead of the cause Exception?.
  • The addApplicator apply function parameter in io.mimi.sdk.core.controller.processing.ProcessingParameter now requires the explicit return of a io.mimi.sdk.core.controller.processing.MimiApplicatorResult.
  • Moved id argument from the constructor of io.mimi.sdk.core.model.personalization.Personalization.PersonalizationPreset. This value is now a property of PersonalizationPreset class body and its values is automatically defined.
  • MimiFetchedParameterDataSource renamed to MimiProcessingParameterDataSource and fetch() renamed to load().
    • The subclass MimiPresetParameterDataSource signature is affected accordingly.
  • The MimiFetchedProcessingParameter interface has been deleted, as it has been merged in MimiProcessingParameter interface.
  • The ProcessingParameter interface has been merged into the MimiProcessingParameter interface.
  • The preset parameter is now an instance of MimiProcessingParameter instead of the removed MimiFetchedProcessingParameter.
  • MimiProcessingParameter now has an observe() function which takes a single (ProcessingParameterState) -> Unit callback argument.
  • io.mimi.sdk.core.launchHandled's block now has CoroutineScope as a receiver, this was done to match the standard Kotlin launch signature.
  • On MimiProcessingParameter the function synchronize() was renamed to synchronizeApplicators()
  • io.mimi.sdk.core.MimiProfilePersonalizationConfiguration now has a uiControlDebounceBehavior property, of type io.mimi.sdk.core.UiControlDebounceBehavior to control the debounce interval for Sound Personalization UI controls. By default the behavior is no debouncing (UiControlDebounceBehavior.None).
  • Renamed MimiPersonalizationConfiguration to MimiProfilePersonalizationConfiguration.
    • The corresponding property: mimiPersonalizationConfiguration on MimiConfiguration has been renamed to mimiProfilePersonalizationConfiguration.
  • Renamed MimiOnboardingConfiguration to MimiProfileOnboardingConfiguration.
    • The corresponding property: mimiOnboardingConfiguration on MimiConfiguration has been renamed to mimiProfileOnboardingConfiguration.

Removed

  • Removed canApply function parameter from addApplicator in io.mimi.sdk.core.controller.processing.ProcessingParameter.
  • Removed io.mimi.sdk.core.controller.processing.ProcessingParameterApplicatorRefusedException as it is no longer used as canApply has been removed.
  • Removed the overloaded addApplicator from io.mimi.sdk.core.controller.processing.ProcessingParameter which allowed a value to be passed in.
  • Removed md5 and isValid properties from io.mimi.sdk.core.model.personalization.Personalization.PersonalizationPreset.
  • Removed ParameterDeliveryMode and the associated deliveryMode property from io.mimi.sdk.core.controller.processing.ProcessingParameter.
  • Removed ProcessingParameterSupersededException has been removed as it is no longer used since ParameterDeliveryMode has been removed.
  • Removed the deprecated io.mimi.sdk.ux.widget.MimiSeekBarArc class.
  • Removed the MimiSeekBarArc custom style attributes.
  • Removed the MimiSeekArcTheme custom style attributes.
  • Removed deprecated userAccountPortalUrl() from UserController.
  • Removed deprecated accountPortalUrl from io.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 libcore proguard-consumer-rules.pro file.

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 consumerProguardFiles to 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 of UserController.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 setBoldTextWithColor method into StyledTextView from io.mimi.sdk.ux.widget to 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 mimiElevatedBackgroundColor to mimiTertiaryTintColorHighlighted.
  • 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 mimiSecondaryTintColorNormal color 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.
  • AlertDialog theming has changed:
    • Title color changed from mimiPrimaryTextColorNormal to mimiPrimaryTextColorHighlighted.
    • Background color changed from mimiPrimaryBackgroundColor to mimiElevatedBackgroundColor.
    • Positive/Confirmation/Non-destructive actions changed from mimiPrimaryTintColorNormal to mimiForegroundColorHighlighted.
    • Neutral/Cancel actions changed from mimiPrimaryTintColorNormal to mimiForegroundColorHighlighted.
    • Destructive actions set to mimiErrorColor.

Deprecated

  • io.mimi.sdk.ux.widget.StyledTextView.CharSequence.styleText method has been deprecated.
  • Widget.Mimi.Button.Outline is unused and has been deprecated.
  • Widget.Mimi.CompactActionButton.Outline is unused and has been deprecated.
  • Widget.Mimi.HearButton.Outline is unused and has been deprecated.
  • Widget.Mimi.CompactActionButton.Tweaked.Grey is unused and has been deprecated.
  • io.mimi.sdk.ux.util.UiUtils.animateTextErrorTransition is unused and has been deprecated.

Removed

  • Removed DisableAudioEffectsStep as 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 connectedHeadphoneProvider property to io.mimi.sdk.core.controller.TestsController to 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.MimiHeadphoneIdentifier
      • io.mimi.sdk.core.model.headphones.MimiConnectedHeadphoneProvider
  • Added loadTestTypeConfiguration() to io.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.MimiTestTypeConfiguration
      • io.mimi.sdk.core.model.tests.MimiSupportedTestConfigurations
      • io.mimi.sdk.core.model.tests.MimiTestConfiguration
      • io.mimi.sdk.core.model.tests.MimiTestConfiguration.Ptt
      • io.mimi.sdk.core.model.tests.MimiTestConfiguration.Mt
      • io.mimi.sdk.core.model.tests.MimiTestType
      • io.mimi.sdk.core.model.tests.MimiPttMetadata
      • io.mimi.sdk.core.model.tests.MimiMtMetadata
      • io.mimi.sdk.core.model.io.mimi.sdk.core.model.headphones.MimiHeadphoneMetadata
  • Added io.mimi.sdk.core.util.Log.isEnabled as a public property to enable/disable logging.
  • Added the mimiSuccessColor color attribute with default value of #10D08B.

Changed

  • Updated TestsController to add support for the new MimiConnectedHeadphoneProvider API.
  • io.mimi.sdk.testflow.util.AudioUtils now 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.Mimi attributes 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.analytics property has been marked @MsdkInternalApi.
  • The default color for the Quiet section of volume indicator in the test flow has been changed from mimiPrimaryTintColorNormal to mimiSuccessColor.

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

  • MimiSeekBarArc class has been deprecated in favor of the Material Design components.

Removed

  • Removed deprecated theming attributes. Please remove the following attributes from your custom theme:
    • mimiEarPrintLineColor
    • mimiIllustrationColorHair
    • mimiIllustrationColorSkin
    • mimiIllustrationColorGray
    • mimiIllustrationColorDarkGray
    • mimiExcellentGradeColor
    • mimiGoodGradeColor
    • mimiAverageGradeColor
    • mimiLimitedGradeColor
    • mimiImpairedGradeColor
    • mimiNoGradeColor
  • activateSession(fitting: Fitting) from io.mimi.sdk.core.controller.ProcessingController.
    • Replace usage with activateSession(presetDataSource: MimiPresetParameterDataSource).
  • Removed MimiTestResultData.issues() from libtestflow
  • Removed the MimiCore.configurationController and associated ConfigurationController and MimiRemoteConfiguration classes.
    • This functionality has been replaced by the new TestsController, loadTestTypeConfiguration and MimiTestTypeConfiguration classes.
  • Removed deprecated class io.mimi.sdk.profile.BaseProfileContainerFragment as it is no longer used by the MSDK and has no usecase as public API.
  • Removed the TestType parameter from io.mimi.sdk.testflow.activity.TestFlowActivity.intent()
    • The hearing test type is now automatically determined by the MSDK.
  • Removed the yearOfBirth property from the TestFlowActivity JSON 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.Toolbar changes:
  • android:background property changed from mimiElevatedBackgroundColor to mimiSecondaryBackgroundColor.
  • android:textColorSecondary property changed from mimiSecondaryTintColorNormal to mimiPrimaryTintColorNormal.
  • android:actionMenuTextColor property changed from mimiSecondaryTintColorNormal to mimiPrimaryTintColorNormal.
  • The navigation icons from the toolbar had the android:fillColor property changed from mimiSecondaryTintColorNormal to mimiPrimaryTintColorNormal.
  • 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 StackOverflowError in io.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_skip
    • mimi_ic_pause_menu_restart
    • mimi_ic_pause_menu_practice_again
    • mimi_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 mimiHearingTestButtonTextColorNormal to set a custom color for Hearing Test Button text, defaults to mimiPrimaryTintColorNormal.
  • Added mimiHearingTestButtonTextColorHighlighted to set a custom color for Hearing Test Button text when pressed, defaults to mimiForegroundColorNormal.
  • Added mimiHearingTestButtonBackgroundColor to set a custom color for Hearing Test Button, defaults to mimiPrimaryTintColorNormal.
  • Processing API improvements
  • Added io.mimi.sdk.core.controller.processing.MimiFetchedParameterDataSource interface.
  • Added io.mimi.sdk.core.controller.processing.MimiPresetParameterDataSource interface.
  • Added activateSession(MimiPresetParameterDataSource) function to io.mimi.sdk.core.controller.ProcessingController to allow activation using a MimiPresetParameterDataSource instance rather than a Fitting.
    • Note: This function currently only supports MimiPresetParameterDataSource instances created via createPresetDataSource.
  • Added MimiPresetParameterDataSourceConfiguration to enumerate and define the currently supported MimiPresetParameterDataSource implementations.
    • There are currently two supported implementations: Default and UpDown.
  • Added createPresetDataSource(MimiPresetParameterDataSourceType) function to io.mimi.sdk.core.controller.PersonalizationController to support factory creation of supported MimiPresetParameterDataSource implementations.
  • Added presetDataSource property to io.mimi.sdk.core.controller.processing.ProcessingSession indicate which implementation is currently used as the preset Parameter data source.
  • Added upDownPresets property to io.mimi.sdk.core.controller.PersonalizationController to share the currently state of the UpDownPreset bundle.

Changed

  • The default mimiCompactBorderlessActionButtonStyle changes:
  • android:textColor property changed from mimiSecondaryTintColorNormal to mimiPrimaryTintColorNormal.
  • Removed background ripple effect.
  • Testflow interruption dialog icons color changed from mimiSecondaryTintColorNormal to mimiPrimaryTintColorNormal.
  • Disclaimer button android:textColor property changed from mimiTertiaryTintColorNormal to mimiSecondaryTextColorNormal.
  • The loadUpDownPreset(Fitting) function in io.mimi.sdk.core.controller.PersonalizationController now also updates the new upDownPresets property.

Deprecated

  • activateSession(Fitting) function in io.mimi.sdk.core.controller.ProcessingController is now deprecated in favor of activateSession(MimiPresetParameterDataSource).
  • fitting property in io.mimi.sdk.core.controller.processing.ProcessingSession is now deprecated as it has been conceptually replaced by MimiPresetParameterDataSource.
  • This property had been used to configure the preset Parameter fetch calls to retrieve new presets.
  • Now with the new MimiPresetParameterDataSource such 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.BaseProfileContainerFragment has 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 MimiConfiguration class now has a property: mimiOnboardingConfiguration, this has its own property: showProfileOnboardingIntroduction.
  • Setting the showProfileOnboardingIntroduction to false will 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_CONNECT permission 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_CONNECT permissions 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

  • mimiPersonalizationConfiguration property of type MimiPersonalizationConfiguration added to io.mimi.sdk.core.MimiConfiguration.
  • Object which can be used to configure and customize various Mimi Profile features and functionality.
  • By default it is MimiPersonalizationConfiguration()
  • showSampleSoundPlayerInProfile property added to io.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.StyledTextView now correctly inherits from androidx.appcompat.widget rather than the platform TextView.

Fixed

  • Nothing this time.

Deprecated

  • The following Theme.Mimi attributes have been deprecated as they are unused:
  • mimiEarPrintLineColor
  • mimiEarLeftColor
  • mimiEarRightColor
  • mimiIllustrationColorHair
  • mimiIllustrationColorSkin
  • mimiIllustrationColorGray
  • mimiIllustrationColorDarkGray
  • mimiExcellentGradeColor
  • mimiGoodGradeColor
  • mimiAverageGradeColor
  • mimiLimitedGradeColor
  • mimiImpairedGradeColor
  • mimiNoGradeColor
  • mimiTertiaryTextColorNormal
  • mimiTertiaryTextColorHighlighted
  • mimiSecondaryBackgroundStart
  • mimiSecondaryBackgroundEnd

Removed

  • Nothing this time.

7.0.0

Released on 2022-10-20.

Added

  • allowAnonymousUserOnly property added to io.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

  • anonymousId property on io.mimi.sdk.core.model.MimiUser class has been made public.
  • io.mimi.sdk.core.adapter.MimiTestResultResponseAdapterFactory is an internal API. It has been explicitly marked as internal.

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.MimiConfiguration instead.

Removed

  • The io.mimi.sdk.core.controller.TestsController export functionality has been removed.
  • io.mimi.sdk.core.model.tests.Signed interface has been removed.
  • io.mimi.sdk.testflow.results.PersonalizationResultsBottomDialogFragment class has been removed.
  • io.mimi.sdk.testflow.results.utils.firstAvailableTest has been marked @MsdkInternalApi.
  • io.mimi.sdk.testflow.util.SeekBarProgressListener has been made internal to the libtestflow module.

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 functionrevokeHearingAssessmentConsent to io.mimi.sdk.core.controller.UserController to allow the revoking of consent for hearing assessments.
  • New helper function to io.mimi.sdk.ux.util.extension to simplify View enabled 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 PersonalizationController now has a function loadUpDownPreset() to fetch the UpDownPreset personalization preset bundle.
  • New helper functions to io.mimi.sdk.ux.util.extension to simplify View visibility operations:
  • View.show() and View.hide() respectively.

Changed

  • Nothing this time.

Fixed

  • Nothing this time.

Deprecated

  • The export functionality provided by the TestsController is 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.
  • PersonalizationController now has a visualization property, represented as PersonalizationVisualization.
  • 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 TestsController submitTestForResult function now also returns same personalization visualization data in response to a test submission in the MimiSubmitHearingTestResponse personalizationVisualization property.
  • 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.
  • FragmentViewBindingDelegate class and Fragment.viewBinding extension which are intended to be used internally and should not be considered part of the public API.

Changed

  • The GroupController throws a MemberNotInGroupException when deleting a user who does not exist in a given MimiGroup.
  • Allow setting all test volume values, by fixing the VolumeAdjustmentSeekBar keyProgressIncrement to 1.

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 Signed in io.mimi.sdk.core.model.tests: Test Result signature verification is no longer supported.
  • io.mimi.sdk.testflow.results.PersonalizationResultsBottomDialogFragment has 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

  • signature property in MimiMtTestResultResultsResponse and MimiPttTestResultResultsResponse. This is an MSDK Internal API: no migration steps will be provided.

Added

  • GroupController for creating, deleting, activating and deactivating MimiGroups as well as adding, removing, activating and deactivating MimiGroupMembers of such groups.

6.0.0

Released on 2022-01-14.

Removed

  • The health flavor has been removed. This includes the following:
    • MimiPTTResultDetailsDialogFragment
    • MimiMTTResultDetailsDialogFragment
    • MimiTestResultsDialogFragment
    • MimiProfileFragment (Health SDK only)
    • MimiProfileLauncher (Health SDK only)
    • showReadMoreLink parameter in Fragment.showDisclaimer
    • showHearingHealthTips parameter in MimiConfiguration
  • DisableOnTouchNestedScrollView has been removed.
  • io.mimi.sdk.core.DEFAULT_PARAMETER_DELIVERY_INPUT_SETTLE_MS has been removed as the debounce time for ParameterDeliveryMode.Discrete has no default.
  • io.mimi.sdk.core.util.wtf function has been removed as it was an unused internal function.
  • io.mimi.sdk.ux.util.gmailIntent has been removed. Use openDefaultEmailApp instead.
  • io.mimi.sdk.ux.util.openEmailInbox has been removed. Use openDefaultEmailApp instead.
  • io.mimi.sdk.ux.util.UiUtils extension functions View.setGone() and View.setInvisible() have been removed. Use View.isGone and View.isInvisible from androidx.core instead.

Added

  • Added 'submitNickname' method to UserController for updating/setting the nickname of a user.
  • Added mimiEarPrintLineColor to set a custom color for Ear Print Artwork, defaults to mimiPrimaryTintColorNormal
  • Added mimiNoGradeColor to set a custom color for results without a known grade.

Updated

  • io.mimi.sdk.ux.widget.TintedToggleButton has been renamed to io.mimi.sdk.ux.widget.MimiTintedToggleButton.
  • io.mimi.sdk.ux.widget.SeekBarArc has been renamed to io.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.Mimi theming items have changed:
    • Removed
      • Theme.Mimi.AHT theme
    • Renamed
      • earLeftColor to mimiEarLeftColor
      • earRightColor to mimiEarRightColor
      • excellentGradeColor to mimiExcellentGradeColor
      • goodGradeColor to mimiGoodGradeColor
      • averageGradeColor to mimiAverageGradeColor
      • limitedGradeColor to mimiLimitedGradeColor
      • impairedGradeColor to mimiImpairedGradeColor
  • io.mimi.sdk.core.securestore.DataStore class 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_VERSION properties.
    • io.mimi.sdk.core.adapter.RationalNumberAdapters and io.mimi.sdk.core.adapter.RationalNumberAdapters.Factory classes.
    • io.mimi.sdk.core.util.CryptoUtils all functions.
    • io.mimi.sdk.core.util.PersistentField class.
    • io.mimi.sdk.testflow.results.TestResultIssuesDialogFragment, io.mimi.sdk.testflow.results.model.TestResultIssueUiData and io.mimi.sdk.testflow.results.model.TestResultIssueUiData classes.
    • io.mimi.sdk.testflow.shared.showDisclaimer Fragment extension function
  • io.mimi.sdk.core.util.Log.enabled property has been made internal to the libCore module.
  • io.mimi.sdk.core.securestore.DataStore constructor has been made internal to the libCore module.
  • io.mimi.sdk.authflow.util.Utils helper functions have been made internal to the libAuthFlow module.
  • io.mimi.sdk.testflow.steps.volumeadjustment.SystemTimeProvider as been made internal to the libTestFlow module.
  • io.mimi.sdk.testflow.shared.BottomDialogManager has been made internal to the libTestFlow module.
  • io.mimi.sdk.ux.flow.view.StepFragment has been made internal to the libUx module.

Deprecated


5.0.0

Released on 2021-08-23.

Removed

  • AuthController class and its instance in the MimiCore object has been removed. All the legacy functionality has been moved to the UserController instead.
  • TestsControllerListener inside TestController class has been removed.
  • ProcessingController.resetParams() method is now declared as a private method and hence no longer publicly available to integrators.
  • PermissionController and ExplanationData have been removed. Please manage Android permissions autonomously.
  • io.mimi.sdk.core.CoroutineScope.executeTask extension function has been removed. If still required, please implement your own equivalent.
  • io.mimi.sdk.core.securestore.DataStore is no longer part of the MSDK public API.
  • io.mimi.sdk.core.util.PersistentField made the constructor with a DataStore parameter internal to the libCore module.
  • Environment enum is now internal to the libCore module.
  • MimiCore.environment is now MSDK only internal API and should not be used by partners.
  • Removed the ability to provide an Environment parameter from the public API when calling MimiCore.start(). Only the production environment is available.
  • Abstract classes io.mimi.sdk.core.controller.BaseController and BaseControllerWithListeners have been removed.
  • MimiCore.failedToRefreshTokenForUser callback has been removed. Please note that now, the loadingState of the UserController.mimiUser instance, will be of type LoadingState.Failure with its cause field set to MimiCoreException.ForciblyLoggedOut.
  • io.mimi.sdk.core.controller.ResultCallback has been removed. It was used for the Java compatibility layer, which is no longer supported.
  • io.mimi.sdk.core.model.Result has been removed. It was used for the Java compatibility layer, which is no longer supported.
  • com.chauthai.swipereveallayout.SwipeRevealView has been removed from libprofile. It has been replaced by com.chauthai.swipereveallayout.SwipeRevealLayout in the libux module.
  • io.mimi.sdk.core.model.personalization.Personalizaton.Mode is now internal to libCore.
  • io.mimi.sdk.core.controller.processing.ParamCache is now internal to the libCore module.
  • 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.*Response previously marked as Deprecated has been moved and marked as MsdkInternalApi.
  • Signed interface removed from MimiPTTTestResultData and MimiMTTestResultData.
  • Default values for earSymmetry and hearingGrade removed from MimiPTTTestResult and MimiMTTestResult.
  • resultsError removed from MimiMTTestResult.
  • MimiTestResultData.earType(): EarType extension helper function.
  • HearingTest.Embedded.results previously marked as Deprecated has been removed.
  • io.mimi.sdk.testflow.shared.HearingGrade has been removed in favor of io.mimi.sdk.core.model.tests.HearingGrade.
  • Marked HearingGrade.colorImage as internal API.
  • Removed DebugOptions and associated TestFlowActivity.intent from io.mimi.sdk.testflow.activity.

Added

  • MimiPersonalizationRoute sealed class has been added. It is used to load a valid Personalization within PersonalizationController class.
  • MimiAuthRoute sealed class has been added. It is used to provide a valid authentication type to the authenticate() method inside the UserController class.
  • Created MimiObservable and MimiObserver classes, to help informing about changes happening variables that are wrapped with it.
  • Added MimiObservable.observe(observer:) and observe(tag:, action:) methods to subscribe and listen to changes occurring on a specific MimiObservable object.
  • Introduced @MsdkInternalApi annotation. 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 LoadingState sealed 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 the loadingState of a visual value of the MSDK.
  • Added MimiObservable<T>.asLiveData(coroutineScope:) and MimiObservable<AsyncState<T>>.valueAsLiveData(coroutineScope: ) as convenience extension methods to map MimiObservable to LiveData objects.
  • MimiCoreServices has been added as interface to define the services available in MimiCore.
  • ProcessingSession has been added to encapsulate information about the ongoing processing session.
  • MimiParameterApplicator has been added as interface to define an applicator that is used to apply a parameter value to an integrator.
  • allowsUsageDataCollection flag to MimiCore to enable or disable usage data collection.
  • Added Context.getApplicationLabel() to read the applications label.
  • Added MSDK internal analytics with allowsUsageDataCollection flag to MimiCore to enable or disable usage data collection.
  • Added results: List<MimiTestResultData> value to MimiTestResult interface.
  • Added openDefaultEmailApp util function in io.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 parameter ctx has been renamed to context for clarity.
  • manageAccountUrl() method inside UserController class has been renamed to userAccountPortalUrl().
  • latestTestResults() method inside TestsController class has been renamed to loadLatestTestResults().
  • authenticate(username: String, password: String): MimiUser method inside the legacy AuthController class has been moved to the UserController class and renamed to authenticate(route: MimiAuthRoute): MimiUser.
  • MimiTestResultData.earType type has been changed from String to EarType.
  • MimiTestResultData.warnings has been made non null. An empty list will be set when no warnings exist.
  • HearingGrade had been added and is used on MimiTestResult.hearingGrade instead of numeric scores.
  • gmailIntent util function in io.mimi.sdk.ux.util.ActivityUtils may throw NullPointerException when no Gmail application can be found.
  • openEmailInbox util function in io.mimi.sdk.ux.util.ActivityUtils may throw ActivityNotFoundException or NullPointerException if no appropriate email application can be found.

Deprecated

  • gmailIntent util function in io.mimi.sdk.ux.util.ActivityUtils.
  • openEmailInbox util function in io.mimi.sdk.ux.util.ActivityUtils.

4.5.3

Released on 2021-09-27.

Updated

  • Updated to version 3.5.1_0 of 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_0 of 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 Personalization card inside the MimiProfileFragment to inform users about their sound personalization.
  • After taking a valid MT Hearing Test, now users will be able to see their results right away.
  • PersonalizationResultsBottomDialogFragment class responsible for showing a detailed result description of the most recent hearing test taken by the user.
  • MimiTestResultResponse and children matching the test result v2 format returned from the backend.
  • MimiTestResultEarSymmetry and MimiTestResultEarSymmetryResponse representing which is the better ear that is taken into account for the overall test result grade.
  • MimiTestResult.earSymmetry property to store MimiTestResultEarSymmetry with a backwards compatible default to UNKNOWN.

Updated

  • Updated Theme.Mimi.AHT theme colors for better accessibility.
  • Updated to version 3.4.2_0 of the HTE.

Deprecated

  • MimiTestResultResponse and children as they will be merged with MimiTestResult on a breaking changes release.
  • EmbeddedTestResults is deprecated as it will be replaced by test result v2 format.
  • showTipsForHearing util function in io.mimi.sdk.testflow.results.utils.

4.3.0

Released on 2021-02-24.

Updated

  • Deprecated SwipeRevealView bundled 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.
  • MimiPagedItems interface to wrap collections of items that are returned paged from the mimi backend.
  • DispatcherProvider providing Main, Default and IO coroutine dispatchers.
  • SwipeRevealLayout helper 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_0 of the HTE.

Added

  • Fragment.showDisclaimer that 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 Severe grades.
  • 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 Silence Bottom 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.alwaysShowHearingResults flag. Changing its value will no longer have any effect.

4.0.2

Released on 2020-10-12.

Updated

  • Updated to version 3.3.2_0 of 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.Readable has been renamed to ReadableProcessingParameter.
  • ProcessingParameter. Writable has been renamed to Writable ProcessingParameter.
  • Moved HearingGradesDialogFragment to TestFlow and renamed to MimiMTResultDetailsDialogFragment.
  • Moved HearingInSilenceDialogFragment to TestFlow and renamed to MimiPTTResultDetailsDialogFragment.
  • Moved TestResultIssueUiData to TestFlow.
  • Moved TestResultIssuesData to TestFlow.
  • Moved TestResultIssuesData.uiData() extension to TestFlow.
  • Moved results Utils to TestFlow.
  • Moved TestParadigm.testType() extension to TestFlow.
  • Moved HearingGrade class to TestFlow.
  • Moved EventBus class to UX.
  • Moved NavigationEvent class to UX.
  • Moved TestResultIssuesDialogFragment class to Testflow.
  • Moved Date.formatDefaultDate() to io.mimi.sdk.ux.util.
  • Moved BaseProfileContainerFragment to io.mimi.sdk.profile.
  • Updated to version 3.2.1_0 of 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 by TestController.submitTestsResults(hearingTest, provideResult, callback).
  • Deprecated UserControllerListener.didChange(mimiUser) has been replaced with UserControllerListener.didChange(oldUser, currentUser).
  • Deprecated MimiHearingTestFragment.showHearingTipsButton, ConfigurationController.showHearingHealthTips, ConfigurationController.alwaysShowHearingResults and ConfigurationController.allowRemoteDeviceAuthorization flags have been removed.
  • Unused plotPoints field under MimiMTTestResultData.
  • Removed MimiHearingTestFragment and MimiHearingTestLauncher classes.

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.
  • MimiRemoteConfiguration object containing the available features for the current client.
  • loadRemoteConfiguration() method and remoteConfiguration variable keeping the latest valid value of the MimiRemoteConfiguration inside ConfigurationController.
  • TestParadigm enum class.
  • Method loadHeadphones(connectionType: Headphone.ConnectionType) to load the list of available precalibrated Headphone objects inside TestsController class.
  • Headphone object inside MimiCore module.
  • PermissionController utils class to manage system permissions.
  • `observeEventNotHandled(owner: observer:) utils LiveData extension function.
  • New styles under MimiCore module.
  • RemoteConfigRetryInterceptor class to fetch the initial remote configuration and the logic to retry it in case it fails.
  • RECORD_AUDIO system required permission on the general manifest to record environment noise for PTT tests.
  • ViewGroup.forEachChild(action:), View.setEnabledRecursively(enabled:) and ImageView.loadImage(url: @DrawableRes placeholder:) UI utils methods.
  • SnapOnScrollListener and SnappingCardLayoutManager classes.

Updated

  • Deprecated a number of initial configuration flags and methods inside ConfigurationController class and moved to MimiConfiguration inside MimiCore.
  • noiseReport value field inside HearingTest object.
  • Moved Event class 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 MimiProfileFragment and MimiHearingTestFragment header 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() to AuthFlow to authenticate remote devices.
  • Ability to request device authorization via requestDeviceAuthorization() to AuthController.
  • Ability to authenticate using a DeviceAuthorizationRequest to AuthController.
  • DeviceAuthorizationRequest model object to for supporting device authentication to MimiCore.
  • MimiConfiguration object to configure Mimi features, replacing the ConfigurationController.
  • start(ctx: environment: clientId: clientSecret: initialConfiguration:) to MimiCore to support injecting a MimiConfiguration.

Updated

  • Deprecated configurationController in MimiCore.

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() to TestsController.
  • MimiTestResults model object that contains an MT and PTT test result encapsulated in the MimiMTTestResult and MimiPTTTestResult classes objects.
  • MimiTestResultError object to handle errors or warnings that occurred when generating MimiTestResults containing enum MTResultError with all the known MT related server errors.
  • MimiSDKExpiredException object to encapsulate MimiCoreExceptions that occurred due to the use of an outdated SDK version.
  • BaseProfileContainerFragment class as a parent fragment for fragments that need to switch between onboarding and personalized state.
  • TintedToggleButton custom object used on Beep & Noise setup screen in TestFlowActivity.

Updated

  • Deprecated insights() method inside TestsController to load legacy MT test results. Replaced by latestTestResults().
  • Removed XmlFragment class used for Mimi launcher cards. Replaced by BaseProfileContainerFragment.
  • New graphic assets and animations on MimiHearingTestLauncher

Fixed

  • Issue where an interruption could fail to present correctly in TestFlowActivity
  • Issue where a StepFragment could 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, currentMimiUser method.

Updated

  • Improved Activity state animations showing on the different Test, Login, Signup and Forgotten Password screens by migrating from Kyrie to Lottie Animations 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_0 of 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

  • MimiHearingTestLauncher card fragment allowing to easily launch the Hearing Test profile from anywhere.
  • Hearing Grades card under PersonalizationProfileFragment informing about user's hearing test results.
  • MimiProfileFragment.showHearingGradesCard variable to configure whether the Hearing Grades card should be shown or not.
  • MimiHearingTestFragment.showHearingTipsButton variable to configure whether the Hearing Grades card should be shown or not.
  • New color attribute mimiSecondaryForegroundColorNormal under UX styles.
  • New processing parameter delivery system. Now processing parameters can be sent to the processing handler by setting ParameterDeliveryModes.CONTINUOUS or ParameterDeliveryModes.DISCRETE mode, otherwise it will default to CONTINUOUS. The delay between these calls can also be set programmatically by modifying ProcessingController.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.Mimi style 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 getFittingRule method.

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.