Merge branch 'master' into US-166/location-permission

# Conflicts:
#	TINK/TINK/View/Map/MapPage.xaml.cs
#	TINKLib/ViewModel/Map/MapPageViewModel.cs
#	TestFramework/Services/Permissions/PermissionsMock.cs
#	TestTINKLib/TestTINKLib.csproj
This commit is contained in:
Tobias Reski 2021-11-15 10:06:55 +01:00
commit 30c4e4879b
80 changed files with 2737 additions and 481 deletions

View file

@ -1,5 +1,4 @@
using System.Collections.Generic;
using System.Linq;
namespace TINK.Model.Connector.Filter
{

View file

@ -14,6 +14,6 @@
/// Was "TINK" up to version 3.0.258.
/// Specified first: "KN300029" (RG).
/// </remarks>
public const string FILTERTINKGENERAL = "300102";
public const string FILTERTINKGENERAL = "300103";
}
}

View file

@ -60,6 +60,9 @@ namespace TINK.Model
/// <summary> Value indicating whether map is centerted to current position or not. </summary>
bool CenterMapToCurrentLocation { get; set; }
/// <summary> Holds the map area to display. </summary>
Xamarin.Forms.GoogleMaps.MapSpan MapSpan { get; set; }
bool LogToExternalFolder { get; set; }
bool IsSiteCachingOn { get; set; }

View file

@ -22,7 +22,7 @@ namespace TINK.ViewModel.Settings
private IGroupFilter Filter { get; }
/// <summary> Performs filtering on response-group. </summary>
/// <summary> Performs filtering on response -group. </summary>
public IEnumerable<string> DoFilter(IEnumerable<string> filter = null) => Filter.DoFilter(filter);
public FilterState this[string key] { get => FilterDictionary[key]; set => FilterDictionary[key] = value; }

View file

@ -495,11 +495,15 @@ namespace TINK.Model.Settings
// Process legacy entries.
var updatedFilterCollection = legacyFilterCollection.Where(x => x.Key.ToUpper() != "TINK.SMS" && x.Key.ToUpper() != "TINK.COPRI").ToDictionary(x => x.Key, x => x.Value);
if (legacyFilterCollection.Count() <= updatedFilterCollection.Count())
{
// No legacy entries "INK.SMS" or "TINK.COPRI" found.
return legacyFilterCollection;
}
var list = updatedFilterCollection.ToList();
updatedFilterCollection.Add(
FilterHelper.FILTERTINKGENERAL,
"TINK",
legacyFilterCollection.Any(x => x.Key.ToUpper() == "TINK.COPRI") ? legacyFilterCollection.FirstOrDefault(x => x.Key.ToUpper() == "TINK.COPRI").Value : FilterState.Off);
return new GroupFilterSettings(updatedFilterCollection);

View file

@ -46,6 +46,7 @@ namespace TINK.Model.Settings
TimeSpan? connectTimeout = null,
string activeGeolocationService = null,
bool? centerMapToCurrentLocation = null,
Xamarin.Forms.GoogleMaps.MapSpan mapSpan = null,
bool? logToExternalFolder = null,
bool? isSiteCachingOn = null,
string activeTheme = null)
@ -61,6 +62,7 @@ namespace TINK.Model.Settings
ConnectTimeout = connectTimeout ?? new TimeSpan(0, 0, TimeOutProvider.DEFAULT_BLUETOOTHCONNECT_TIMEOUTSECONDS); // Try one sec. to connect.
ActiveGeolocationService = activeGeolocationService ?? DefaultLocationService.Name;
CenterMapToCurrentLocation = centerMapToCurrentLocation ?? GetCenterMapToCurrentLocation(activeUri);
MapSpan = mapSpan;
LogToExternalFolder = logToExternalFolder ?? false;
IsSiteCachingOn = isSiteCachingOn ?? true;
ActiveTheme = activeTheme ?? typeof(Themes.ShareeBike).FullName;
@ -93,8 +95,12 @@ namespace TINK.Model.Settings
/// <summary> Gets the geolocation service to use.</summary>
public string ActiveGeolocationService { get; }
/// <summary> True if map is centered to current positon, false if not to center map.</summary>
public bool CenterMapToCurrentLocation { get; }
/// <summary> Holds the map area to display. </summary>
public Xamarin.Forms.GoogleMaps.MapSpan MapSpan { get; }
public bool LogToExternalFolder { get; }
public bool IsSiteCachingOn { get; }

View file

@ -64,6 +64,9 @@ namespace TINK.Model
/// <summary> Value indicating whether map is centerted to current position or not. </summary>
public bool CenterMapToCurrentLocation { get; set; }
/// <summary> Holds the map area to display. </summary>
public Xamarin.Forms.GoogleMaps.MapSpan MapSpan { get; set; }
/// <summary> Gets the minimum logging level. </summary>
public LogEventLevel MinimumLogEventLevel { get; set; }
@ -206,6 +209,8 @@ namespace TINK.Model
CenterMapToCurrentLocation = settings.CenterMapToCurrentLocation;
MapSpan = settings.MapSpan;
SmartDevice = device
?? throw new ArgumentException("Can not instantiate TinkApp- object. No device information provider available.");