Show / Hide Table of Contents

    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

    • Android (99)
    • iOS (34)

    Packages (388)

    Nuget feed AzureDevOps

    Build status

    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");
            }
    

    Code at https://github.com/asseco-see/digital-edge-mobile/blob/master/Solutions/DEM_SR_HALK/AssecoSEE.DEM.SR.HALK.iOS/Services/MTokenWrapper.cs

    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;
        } 
    

    Code at https://github.com/asseco-see/digital-edge-mobile/blob/master/AssecoSEE.DEM.Foundation/Usecases/PinChangeManagement/PinChangeManagementViewModel.cs

    And if you have an override of PinChangeManagementViewModel and PinChangeManagementPage you will need to make this changes on your side:

    In PinChangeManagementPage

    1. 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

    1. Add property
             public bool ChangePinEnable { get => GetValue<bool>(); set => SetValue(value); }
    
    1. Set this property ChangePinEnable in constructor on true
            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

    Back to top Copyright 2020 Asseco SEE