Change Log¶
All notable changes to this project will be documented in this file. Adheres to Semantic Versioning.
11.X Releases¶
10.X Releases¶
10.4.x
Releases - 10.4.0 | 10.4.1 | 10.4.210.3.x
Releases - 10.3.010.2.x
Releases - 10.2.010.1.x
Releases - 10.1.010.0.x
Releases - 10.0.0
9.X Releases¶
8.X Releases¶
7.X Releases¶
7.5.x
Releases - 7.5.0 | 7.5.17.4.x
Releases - 7.4.07.3.x
Releases - 7.3.0 | 7.3.17.2.x
Releases - 7.2.07.1.x
Releases - 7.1.07.0.x
Releases - 7.0.0
6.X Releases¶
6.5.x
Releases - 6.5.0 | 6.5.16.4.x
Releases - 6.4.06.3.x
Releases - 6.3.06.2.x
Releases - 6.2.06.1.x
Releases - 6.1.06.0.x
Releases - 6.0.0
5.X Releases¶
5.0.x
Releases - 5.0.0
4.X Releases¶
4.5.x
Releases - 4.5.0 | 4.5.1 | 4.5.2 | 4.5.34.4.x
Releases - 4.4.04.3.x
Releases - 4.3.04.2.x
Releases - 4.2.04.1.x
Releases - 4.1.04.0.x
Releases - 4.0.0 | 4.0.1 | 4.0.2
3.X Releases¶
3.6.x
Releases - 3.6.03.5.x
Releases - 3.5.03.4.x
Releases - 3.4.03.3.x
Releases - 3.3.0 | 3.3.1 | 3.3.23.2.x
Releases - 3.2.03.1.x
Releases - 3.1.03.0.x
Releases - 3.0.0
2.X Releases¶
2.2.x
Releases - 2.1.02.1.0
Releases - 2.1.02.0.0
Releases - 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
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 includeBluetoothMetadata
to 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_3
to use low latency audio for bothAmbientMonitor
and Hearing Test. - Simplified the Hearing Test submission APIs in
io.mimi.sdk.core.controller.TestsController
by 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.Host
to includevolumeStepCount
- the number of volume steps detected on the current device. - In
io.mimi.sdk.core.model.tests.HearingTest
, removed defaultmetaData
value fromfromRuns()
.- Also renamed the parameter to
metadata
for consistency with the type naming.
- Also renamed the parameter to
MimiTestResultIssue
replacesMimiTestResultError
.MimiTestResultIssueReason
replacesMTResultError
andPTTResultError
.
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.TestsController
connectedHeadphoneProvider
functions, which had been superseded by theconnectedMimiHeadphone
mechanism.- Removed the associated deprecated
MimiConnectedHeadphoneProvider
class.
- 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
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
propertyconnectedMimiHeadphone
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 ofconnectedMimiHeadphone
. - The
io.mimi.sdk.core.model.headphones.MimiConnectedHeadphoneProvider
class has been deprecated in favor ofio.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 aProcessingParameterResult.Failure
cause for an operation requiring aMimiProcessingParameterDataSource
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
propertypresetDataSource
is now nullable.io.mimi.sdk.core.controller.processing.ProcessingParameterApplicatorFailedException
now uses themessage
String?
property to describe the failure, instead of thecause
Exception?
.- The
addApplicator
apply
function parameter inio.mimi.sdk.core.controller.processing.ProcessingParameter
now requires the explicit return of aio.mimi.sdk.core.controller.processing.MimiApplicatorResult
. - Moved
id
argument from the constructor ofio.mimi.sdk.core.model.personalization.Personalization.PersonalizationPreset
. This value is now a property ofPersonalizationPreset
class body and its values is automatically defined. MimiFetchedParameterDataSource
renamed toMimiProcessingParameterDataSource
andfetch()
renamed toload()
.- The subclass
MimiPresetParameterDataSource
signature is affected accordingly.
- The subclass
- The
MimiFetchedProcessingParameter
interface has been deleted, as it has been merged inMimiProcessingParameter
interface. - The
ProcessingParameter
interface has been merged into theMimiProcessingParameter
interface. - The
preset
parameter is now an instance ofMimiProcessingParameter
instead of the removedMimiFetchedProcessingParameter
. MimiProcessingParameter
now has anobserve()
function which takes a single(ProcessingParameterState) -> Unit
callback argument.io.mimi.sdk.core.launchHandled
'sblock
now hasCoroutineScope
as a receiver, this was done to match the standard Kotlinlaunch
signature.- On
MimiProcessingParameter
the functionsynchronize()
was renamed tosynchronizeApplicators()
io.mimi.sdk.core.MimiProfilePersonalizationConfiguration
now has auiControlDebounceBehavior
property, of typeio.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
toMimiProfilePersonalizationConfiguration
.- The corresponding property:
mimiPersonalizationConfiguration
onMimiConfiguration
has been renamed tomimiProfilePersonalizationConfiguration
.
- The corresponding property:
- Renamed
MimiOnboardingConfiguration
toMimiProfileOnboardingConfiguration
.- The corresponding property:
mimiOnboardingConfiguration
onMimiConfiguration
has been renamed tomimiProfileOnboardingConfiguration
.
- The corresponding property:
Removed¶
- Removed
canApply
function parameter fromaddApplicator
inio.mimi.sdk.core.controller.processing.ProcessingParameter
. - Removed
io.mimi.sdk.core.controller.processing.ProcessingParameterApplicatorRefusedException
as it is no longer used ascanApply
has been removed. - Removed the overloaded
addApplicator
fromio.mimi.sdk.core.controller.processing.ProcessingParameter
which allowed a value to be passed in. - Removed
md5
andisValid
properties fromio.mimi.sdk.core.model.personalization.Personalization.PersonalizationPreset
. - Removed
ParameterDeliveryMode
and the associateddeliveryMode
property fromio.mimi.sdk.core.controller.processing.ProcessingParameter
. - Removed
ProcessingParameterSupersededException
has been removed as it is no longer used sinceParameterDeliveryMode
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()
fromUserController
. - Removed deprecated
accountPortalUrl
fromio.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 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
setBoldTextWithColor
method intoStyledTextView
fromio.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
tomimiTertiaryTintColorHighlighted
. - 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
tomimiPrimaryTextColorHighlighted
. - Background color changed from
mimiPrimaryBackgroundColor
tomimiElevatedBackgroundColor
. - Positive/Confirmation/Non-destructive actions changed from
mimiPrimaryTintColorNormal
tomimiForegroundColorHighlighted
. - Neutral/Cancel actions changed from
mimiPrimaryTintColorNormal
tomimiForegroundColorHighlighted
. - Destructive actions set to
mimiErrorColor
.
- Title color changed from
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 toio.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 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.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 newMimiConnectedHeadphoneProvider
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
tomimiSuccessColor
.
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)
fromio.mimi.sdk.core.controller.ProcessingController
.- Replace usage with
activateSession(presetDataSource: MimiPresetParameterDataSource)
.
- Replace usage with
- Removed
MimiTestResultData.issues()
fromlibtestflow
- Removed the
MimiCore.configurationController
and associatedConfigurationController
andMimiRemoteConfiguration
classes.- This functionality has been replaced by the new
TestsController
,loadTestTypeConfiguration
andMimiTestTypeConfiguration
classes.
- This functionality has been replaced by the new
- 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 fromio.mimi.sdk.testflow.activity.TestFlowActivity.intent()
- The hearing test type is now automatically determined by the MSDK.
- Removed the
yearOfBirth
property from theTestFlowActivity
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 frommimiElevatedBackgroundColor
tomimiSecondaryBackgroundColor
.android:textColorSecondary
property changed frommimiSecondaryTintColorNormal
tomimiPrimaryTintColorNormal
.android:actionMenuTextColor
property changed frommimiSecondaryTintColorNormal
tomimiPrimaryTintColorNormal
.- The navigation icons from the toolbar had the
android:fillColor
property changed frommimiSecondaryTintColorNormal
tomimiPrimaryTintColorNormal
. - 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
inio.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 tomimiPrimaryTintColorNormal
. - Added
mimiHearingTestButtonTextColorHighlighted
to set a custom color for Hearing Test Button text when pressed, defaults tomimiForegroundColorNormal
. - Added
mimiHearingTestButtonBackgroundColor
to set a custom color for Hearing Test Button, defaults tomimiPrimaryTintColorNormal
. - 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 toio.mimi.sdk.core.controller.ProcessingController
to allow activation using aMimiPresetParameterDataSource
instance rather than aFitting
.- Note: This function currently only supports
MimiPresetParameterDataSource
instances created viacreatePresetDataSource
.
- Note: This function currently only supports
- Added
MimiPresetParameterDataSourceConfiguration
to enumerate and define the currently supportedMimiPresetParameterDataSource
implementations.- There are currently two supported implementations:
Default
andUpDown
.
- There are currently two supported implementations:
- Added
createPresetDataSource(MimiPresetParameterDataSourceType)
function toio.mimi.sdk.core.controller.PersonalizationController
to support factory creation of supportedMimiPresetParameterDataSource
implementations. - Added
presetDataSource
property toio.mimi.sdk.core.controller.processing.ProcessingSession
indicate which implementation is currently used as thepreset
Parameter data source. - Added
upDownPresets
property toio.mimi.sdk.core.controller.PersonalizationController
to share the currently state of theUpDownPreset
bundle.
Changed¶
- The default
mimiCompactBorderlessActionButtonStyle
changes: android:textColor
property changed frommimiSecondaryTintColorNormal
tomimiPrimaryTintColorNormal
.- Removed background ripple effect.
- Testflow interruption dialog icons color changed from
mimiSecondaryTintColorNormal
tomimiPrimaryTintColorNormal
. - Disclaimer button
android:textColor
property changed frommimiTertiaryTintColorNormal
tomimiSecondaryTextColorNormal
. - The
loadUpDownPreset(Fitting)
function inio.mimi.sdk.core.controller.PersonalizationController
now also updates the newupDownPresets
property.
Deprecated¶
activateSession(Fitting)
function inio.mimi.sdk.core.controller.ProcessingController
is now deprecated in favor ofactivateSession(MimiPresetParameterDataSource)
.fitting
property inio.mimi.sdk.core.controller.processing.ProcessingSession
is now deprecated as it has been conceptually replaced byMimiPresetParameterDataSource
.- This property had been used to configure the
preset
Parameterfetch
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
tofalse
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 typeMimiPersonalizationConfiguration
added 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()
showSampleSoundPlayerInProfile
property 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.StyledTextView
now correctly inherits fromandroidx.appcompat.widget
rather than the platformTextView
.
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 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¶
anonymousId
property onio.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 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.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 thelibtestflow
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 function
revokeHearingAssessmentConsent
toio.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 simplifyView
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 functionloadUpDownPreset()
to fetch theUpDownPreset
personalization preset bundle. - New helper functions to
io.mimi.sdk.ux.util.extension
to simplifyView
visibility operations: View.show()
andView.hide()
respectively.
Changed¶
- Nothing this time.
Fixed¶
- Nothing this time.
Deprecated¶
- The
export
functionality provided by theTestsController
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 avisualization
property, 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
TestsController
submitTestForResult
function now also returns same personalization visualization data in response to a test submission in theMimiSubmitHearingTestResponse
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 andFragment.viewBinding
extension which are intended to be used internally and should not be considered part of the public API.
Changed¶
- The
GroupController
throws aMemberNotInGroupException
when deleting a user who does not exist in a givenMimiGroup
. - Allow setting all test volume values, by fixing the
VolumeAdjustmentSeekBar
keyProgressIncrement
to1
.
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
inio.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 inMimiMtTestResultResultsResponse
andMimiPttTestResultResultsResponse
. This is an MSDK Internal API: no migration steps will be provided.
Added¶
GroupController
for creating, deleting, activating and deactivatingMimiGroup
s as well as adding, removing, activating and deactivatingMimiGroupMember
s 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.showDisclaimershowHearingHealthTips
parameter in MimiConfiguration
DisableOnTouchNestedScrollView
has been removed.io.mimi.sdk.core.DEFAULT_PARAMETER_DELIVERY_INPUT_SETTLE_MS
has been removed as the debounce time forParameterDeliveryMode.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. UseopenDefaultEmailApp
instead.io.mimi.sdk.ux.util.openEmailInbox
has been removed. UseopenDefaultEmailApp
instead.io.mimi.sdk.ux.util.UiUtils
extension functionsView.setGone()
andView.setInvisible()
have been removed. UseView.isGone
andView.isInvisible
fromandroidx.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 tomimiPrimaryTintColorNormal
- Added
mimiNoGradeColor
to set a custom color for results without a known grade.
Updated¶
io.mimi.sdk.ux.widget.TintedToggleButton
has been renamed toio.mimi.sdk.ux.widget.MimiTintedToggleButton
.io.mimi.sdk.ux.widget.SeekBarArc
has 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.Mimi
theming items have changed:- Removed
Theme.Mimi.AHT
theme
- Renamed
earLeftColor
tomimiEarLeftColor
earRightColor
tomimiEarRightColor
excellentGradeColor
tomimiExcellentGradeColor
goodGradeColor
tomimiGoodGradeColor
averageGradeColor
tomimiAverageGradeColor
limitedGradeColor
tomimiLimitedGradeColor
impairedGradeColor
tomimiImpairedGradeColor
- Removed
Promoted¶
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
andio.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
andio.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 thelibCore
module.io.mimi.sdk.core.securestore.DataStore
constructor has been made internal to thelibCore
module.io.mimi.sdk.authflow.util.Utils
helper functions have been made internal to thelibAuthFlow
module.io.mimi.sdk.testflow.steps.volumeadjustment.SystemTimeProvider
as been made internal to thelibTestFlow
module.io.mimi.sdk.testflow.shared.BottomDialogManager
has been made internal to thelibTestFlow
module.io.mimi.sdk.ux.flow.view.StepFragment
has been made internal to thelibUx
module.
Deprecated¶
5.0.0¶
Released on 2021-08-23.
Removed¶
AuthController
class and its instance in theMimiCore
object has been removed. All the legacy functionality has been moved to theUserController
instead.TestsControllerListener
insideTestController
class has been removed.ProcessingController.resetParams()
method is now declared as a private method and hence no longer publicly available to integrators.PermissionController
andExplanationData
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 aDataStore
parameter internal to thelibCore
module.Environment
enum is now internal to thelibCore
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 callingMimiCore.start()
. Only the production environment is available. - Abstract classes
io.mimi.sdk.core.controller.BaseController
andBaseControllerWithListeners
have been removed. MimiCore.failedToRefreshTokenForUser
callback has been removed. Please note that now, theloadingState
of theUserController.mimiUser
instance, will be of typeLoadingState.Failure
with itscause
field set toMimiCoreException.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 fromlibprofile
. It has been replaced bycom.chauthai.swipereveallayout.SwipeRevealLayout
in thelibux
module.io.mimi.sdk.core.model.personalization.Personalizaton.Mode
is now internal tolibCore
.io.mimi.sdk.core.controller.processing.ParamCache
is now internal to thelibCore
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 asDeprecated
has been moved and marked asMsdkInternalApi
.Signed
interface removed fromMimiPTTTestResultData
andMimiMTTestResultData
.- Default values for
earSymmetry
andhearingGrade
removed fromMimiPTTTestResult
andMimiMTTestResult
. resultsError
removed fromMimiMTTestResult
.MimiTestResultData.earType(): EarType
extension helper function.HearingTest.Embedded.results
previously marked asDeprecated
has been removed.io.mimi.sdk.testflow.shared.HearingGrade
has been removed in favor ofio.mimi.sdk.core.model.tests.HearingGrade
.- Marked
HearingGrade.colorImage
as internal API. - Removed
DebugOptions
and associatedTestFlowActivity.intent
fromio.mimi.sdk.testflow.activity
.
Added¶
MimiPersonalizationRoute
sealed class has been added. It is used to load a validPersonalization
withinPersonalizationController
class.MimiAuthRoute
sealed class has been added. It is used to provide a valid authentication type to theauthenticate()
method inside theUserController
class.- Created
MimiObservable
andMimiObserver
classes, 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 specificMimiObservable
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 theloadingState
of a visualvalue
of the MSDK. - Added
MimiObservable<T>.asLiveData(coroutineScope:)
andMimiObservable<AsyncState<T>>.valueAsLiveData(coroutineScope: )
as convenience extension methods to mapMimiObservable
toLiveData
objects. MimiCoreServices
has been added as interface to define the services available inMimiCore
.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 toMimiCore
to enable or disable usage data collection.- Added
Context.getApplicationLabel()
to read the applications label. - Added MSDK internal analytics with
allowsUsageDataCollection
flag toMimiCore
to enable or disable usage data collection. - Added
results: List<MimiTestResultData>
value toMimiTestResult
interface. - Added
openDefaultEmailApp
util 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 parameterctx
has been renamed tocontext
for clarity.manageAccountUrl()
method insideUserController
class has been renamed touserAccountPortalUrl()
.latestTestResults()
method insideTestsController
class has been renamed toloadLatestTestResults()
.authenticate(username: String, password: String): MimiUser
method inside the legacyAuthController
class has been moved to theUserController
class and renamed toauthenticate(route: MimiAuthRoute): MimiUser
.MimiTestResultData.earType
type has been changed fromString
toEarType
.MimiTestResultData.warnings
has been made nonnull
. An empty list will be set when no warnings exist.HearingGrade
had been added and is used onMimiTestResult.hearingGrade
instead of numeric scores.gmailIntent
util function inio.mimi.sdk.ux.util.ActivityUtils
may throwNullPointerException
when no Gmail application can be found.openEmailInbox
util function inio.mimi.sdk.ux.util.ActivityUtils
may throwActivityNotFoundException
orNullPointerException
if no appropriate email application can be found.
Deprecated¶
gmailIntent
util function inio.mimi.sdk.ux.util.ActivityUtils
.openEmailInbox
util function inio.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 theMimiProfileFragment
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
andMimiTestResultEarSymmetryResponse
representing which is the better ear that is taken into account for the overall test result grade.MimiTestResult.earSymmetry
property to storeMimiTestResultEarSymmetry
with a backwards compatible default toUNKNOWN
.
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 withMimiTestResult
on a breaking changes release.EmbeddedTestResults
is deprecated as it will be replaced by test result v2 format.showTipsForHearing
util function inio.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
providingMain
,Default
andIO
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 toReadableProcessingParameter
.ProcessingParameter. Writable
has been renamed toWritable ProcessingParameter
.- Moved
HearingGradesDialogFragment
to TestFlow and renamed toMimiMTResultDetailsDialogFragment
. - Moved
HearingInSilenceDialogFragment
to TestFlow and renamed toMimiPTTResultDetailsDialogFragment
. - 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()
toio.mimi.sdk.ux.util
. - Moved
BaseProfileContainerFragment
toio.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 byTestController.submitTestsResults(hearingTest, provideResult, callback)
.- Deprecated
UserControllerListener.didChange(mimiUser)
has been replaced withUserControllerListener.didChange(oldUser, currentUser)
. - Deprecated
MimiHearingTestFragment.showHearingTipsButton
,ConfigurationController.showHearingHealthTips
,ConfigurationController.alwaysShowHearingResults
andConfigurationController.allowRemoteDeviceAuthorization
flags have been removed. - Unused
plotPoints
field underMimiMTTestResultData
. - Removed
MimiHearingTestFragment
andMimiHearingTestLauncher
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 andremoteConfiguration
variable keeping the latest valid value of theMimiRemoteConfiguration
insideConfigurationController
.TestParadigm
enum class.- Method
loadHeadphones(connectionType: Headphone.ConnectionType)
to load the list of available precalibratedHeadphone
objects insideTestsController
class. Headphone
object insideMimiCore
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 forPTT
tests.ViewGroup.forEachChild(action:)
,View.setEnabledRecursively(enabled:)
andImageView.loadImage(url: @DrawableRes placeholder:)
UI utils methods.SnapOnScrollListener
andSnappingCardLayoutManager
classes.
Updated¶
- Deprecated a number of initial configuration flags and methods inside
ConfigurationController
class and moved toMimiConfiguration
insideMimiCore
. noiseReport
value field insideHearingTest
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
andMimiHearingTestFragment
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()
toAuthFlow
to authenticate remote devices.- Ability to request device authorization via
requestDeviceAuthorization()
toAuthController
. - Ability to authenticate using a
DeviceAuthorizationRequest
toAuthController
. DeviceAuthorizationRequest
model object to for supporting device authentication toMimiCore
.MimiConfiguration
object to configure Mimi features, replacing theConfigurationController
.start(ctx: environment: clientId: clientSecret: initialConfiguration:)
toMimiCore
to support injecting aMimiConfiguration
.
Updated¶
- Deprecated
configurationController
inMimiCore
.
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
. MimiTestResults
model object that contains an MT and PTT test result encapsulated in theMimiMTTestResult
andMimiPTTTestResult
classes objects.MimiTestResultError
object to handle errors or warnings that occurred when generatingMimiTestResults
containing enumMTResultError
with all the known MT related server errors.MimiSDKExpiredException
object to encapsulateMimiCoreExceptions
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 inTestFlowActivity
.
Updated¶
- Deprecated
insights()
method insideTestsController
to load legacy MT test results. Replaced bylatestTestResults()
. - Removed
XmlFragment
class 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
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
toLottie
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
orParameterDeliveryModes.DISCRETE
mode, 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.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.