DEM 2 1.0.388 Release Notes
This release continues to improve existing features while introducing a few significant feature contributions.
What's new
- It is mostly fixing bugs, UX improvements, feature toggles... oh and support for tabbed pages is in preview.
Bug fixed
Halk
Internal
- 682, 683, 686, 687, 688,
- 689, 693, 697, 699, 701,
- 702
Spare
- [Breaking Change] Fix bug on pin change for iPhone 6io
Nova
- We added postal-code in the model on payment address
/// <summary>
/// Postal code
/// </summary>
/// <remarks>
/// Serialized name: postal-code
/// </remarks>
[DataMember(Name = "postal-code", EmitDefaultValue = false)]
public string PostalCode { get; set; }
Erste
- We added TabbedPages flag for preview, and in the next release, we will add application on AppCentar.
Latest application on AppCentar
Halk - SxS MToken - SC 24x7 UAT
Packages (388)
Current experimental flags
Using functionality that's behind an experimental flag requires you to enable the flag, or flags, in your application
Just add FactoryConfig_FeatureSettings
to your environment configuration in Solution with JSON.
{
"FeatureSettings": [
{
"Name": "StandingOrders",
"IsEnabled": true
},
{
"Name": "IPS",
"IsEnabled": true
},
{
"Name": "Cards",
"IsEnabled": true
},
{
"Name": "GetCardImagesFromServer",
"IsEnabled": true
},
{
"Name": "HasTransfersSelection",
"IsEnabled": false
},
{
"Name": "Biometric",
"IsEnabled": false
},
{
"Name": "Corporate",
"IsEnabled": false
},
{
"Name": "OnBording",
"IsEnabled": true
},
{
"Name": "IsUsingLatestVersion",
"IsEnabled": false
},
{
"Name": "TabbedPages",
"IsEnabled": false
},
{
"Name": "PublicBeneficiaries",
"IsEnabled": false
}
]
}
Preview
- [
Features.TabbedPages
] We are now adding support fot tabbed page
Breaking Changes
IMTokenWrapper
the interface is extended with one property IsPinChanged
bool? IsPinChanged { get; }
And this property need to bee set in implementation and these methods ChangePin
, ChangePINFail
and ChangePINSuccess
on MTokenWrapper
service for iOS
public bool ChangePin(string oldPin, string newPin)
{
try
{
IsPinChanged = null;
NSError getTokenFacadeError;
var tokenFacade = TokenFacade.GetTokenWithTokenName(TokenName, out getTokenFacadeError);
if (tokenFacade == null)
{
return false;
}
NSError changePinWithOldPinError;
var output = tokenFacade.ChangePinWithOldPin(
CharArrayExt.ValueOfString(oldPin), CharArrayExt.ValueOfString(newPin), serverInfo,
out changePinWithOldPinError, ChangePINSuccess, ChangePINFail);
return output;
}
catch (Exception ex)
{
IsPinChanged = false;
debug.Log(ADebugLevel.Diagnostic, "ChangePin", ex);
}
return false;
}
private void ChangePINFail(NSError obj)
{
IsPinChanged = false;
System.Diagnostics.Debug.WriteLine("ChangePIN error: " + obj.ToString());
}
private void ChangePINSuccess(TokenFacade facade)
{
IsPinChanged = true;
System.Diagnostics.Debug.WriteLine("Change PIN succesfully");
}
For Android just extended with code below, because we only need this for iOS
public bool? IsPinChanged => throw new NotImplementedException();
And finally made changes in your ChangePinAsync
method in ViewModel.
You need to wait to finish change pin
if (Xamarin.Forms.Device.RuntimePlatform == Xamarin.Forms.Device.iOS)
{
mTokenWrapper?.ChangePin(OldPin, NewPin);
while (mTokenWrapper.IsPinChanged == null)
{
await Task.Delay(5000);
}
var isPIn = mTokenWrapper?.IsPinChanged;
output = isPIn.Value;
}
And if you have an override of PinChangeManagementViewModel
and PinChangeManagementPage
you will need to make this changes on your side:
- Set
IsEnabled="{Binding ChangePinEnable}"
in NavigationButtons component
<components:NavigationButtons LeftCommand="{Binding GoToBackPageCommand}" LeftText="{ext:Translate core_cancel}"
RightCommand="{Binding ChangePinCommand}" RightText="{ext:Translate core_change}" IsEnabled="{Binding ChangePinEnable}"
VerticalOptions="EndAndExpand"/>
In PinChangeManagementViewModel
- Add property
public bool ChangePinEnable { get => GetValue<bool>(); set => SetValue(value); }
- Set this property
ChangePinEnable
in constructor ontrue
public PinChangeManagementViewModel()
{
var userSettingsProvider = App.ResolveService<IUserSettingsProvider>();
mTokenWrapper = App.ResolveService<IMTokenWrapper>();
authenticationService = App.ResolveService<IAuthenticationService>();
deviceService = App.ResolveService<IDeviceService>();
userSettings = userSettingsProvider.Get(App.ApplicationId, App.Session.UserId);
ChangePinEnable = true;
}
Feature Roadmap
For the next release we are planning
- Preview of Biometric on Android
- Cards management actions
- Erste solution on AppCentar with tabbed page navigation
Feedback
Your feedback is important to us. If there are any problems with this release, please report to us or report new issues and suggestions.
Useful Links
- DEM 2.0 Documentation
- Weekly Mobile Newsletter - Issue 12
- Open-source DEM 2.0 AssecoSee GitHub repository
Thank you to our community for helping to make DEM even better! Mobile Team