Version 3.0.262

This commit is contained in:
ohauff 2021-11-21 12:34:25 +01:00
parent 3fed2707cd
commit b6bee60e60
42 changed files with 4633 additions and 1030 deletions

View file

@ -4,7 +4,6 @@ using Android.Content.PM;
using Android.OS; using Android.OS;
using Android.Content; using Android.Content;
using Java.Interop; using Java.Interop;
using Plugin.Permissions;
namespace TINK.Droid namespace TINK.Droid
{ {
@ -52,13 +51,7 @@ namespace TINK.Droid
{ {
Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults); Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);
} }
else if (App.PermissionsService.GetType() == typeof(TINK.Services.Permissions.Plugin.Permissions))
{
// Bug in 3.0.244 and earlier versions of sharee.bike app: Call of PermissionsImplementation.Current.OnRequestedPermission result was missing.
// see https://dev.azure.com/TeilRad/sharee.bike%20Buchungsplattform/_workitems/edit/136 for further details.
PermissionsImplementation.Current.OnRequestPermissionsResult(requestCode, permissions, grantResults);
}
base.OnRequestPermissionsResult(requestCode, permissions, grantResults); base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
} }

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="internalOnly" package="com.TeilRad.LastenradBayern" android:versionName="3.0.261" android:versionCode="261"> <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="internalOnly" package="com.TeilRad.LastenradBayern" android:versionName="3.0.262" android:versionCode="262">
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="30" /> <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="30" />
<!-- Google Maps related permissions --> <!-- Google Maps related permissions -->
<!-- Permission to receive remote notifications from Google Play Services --> <!-- Permission to receive remote notifications from Google Play Services -->

View file

@ -29,228 +29,6 @@ namespace TINK.Droid
global::PCLCrypto.Resource.String.Hello = global::TINK.Droid.Resource.String.Hello; global::PCLCrypto.Resource.String.Hello = global::TINK.Droid.Resource.String.Hello;
global::PCLStorage.Resource.String.ApplicationName = global::TINK.Droid.Resource.String.ApplicationName; global::PCLStorage.Resource.String.ApplicationName = global::TINK.Droid.Resource.String.ApplicationName;
global::PCLStorage.Resource.String.Hello = global::TINK.Droid.Resource.String.Hello; global::PCLStorage.Resource.String.Hello = global::TINK.Droid.Resource.String.Hello;
global::Plugin.Permissions.Resource.Attribute.alpha = global::TINK.Droid.Resource.Attribute.alpha;
global::Plugin.Permissions.Resource.Attribute.coordinatorLayoutStyle = global::TINK.Droid.Resource.Attribute.coordinatorLayoutStyle;
global::Plugin.Permissions.Resource.Attribute.font = global::TINK.Droid.Resource.Attribute.font;
global::Plugin.Permissions.Resource.Attribute.fontProviderAuthority = global::TINK.Droid.Resource.Attribute.fontProviderAuthority;
global::Plugin.Permissions.Resource.Attribute.fontProviderCerts = global::TINK.Droid.Resource.Attribute.fontProviderCerts;
global::Plugin.Permissions.Resource.Attribute.fontProviderFetchStrategy = global::TINK.Droid.Resource.Attribute.fontProviderFetchStrategy;
global::Plugin.Permissions.Resource.Attribute.fontProviderFetchTimeout = global::TINK.Droid.Resource.Attribute.fontProviderFetchTimeout;
global::Plugin.Permissions.Resource.Attribute.fontProviderPackage = global::TINK.Droid.Resource.Attribute.fontProviderPackage;
global::Plugin.Permissions.Resource.Attribute.fontProviderQuery = global::TINK.Droid.Resource.Attribute.fontProviderQuery;
global::Plugin.Permissions.Resource.Attribute.fontStyle = global::TINK.Droid.Resource.Attribute.fontStyle;
global::Plugin.Permissions.Resource.Attribute.fontVariationSettings = global::TINK.Droid.Resource.Attribute.fontVariationSettings;
global::Plugin.Permissions.Resource.Attribute.fontWeight = global::TINK.Droid.Resource.Attribute.fontWeight;
global::Plugin.Permissions.Resource.Attribute.keylines = global::TINK.Droid.Resource.Attribute.keylines;
global::Plugin.Permissions.Resource.Attribute.layout_anchor = global::TINK.Droid.Resource.Attribute.layout_anchor;
global::Plugin.Permissions.Resource.Attribute.layout_anchorGravity = global::TINK.Droid.Resource.Attribute.layout_anchorGravity;
global::Plugin.Permissions.Resource.Attribute.layout_behavior = global::TINK.Droid.Resource.Attribute.layout_behavior;
global::Plugin.Permissions.Resource.Attribute.layout_dodgeInsetEdges = global::TINK.Droid.Resource.Attribute.layout_dodgeInsetEdges;
global::Plugin.Permissions.Resource.Attribute.layout_insetEdge = global::TINK.Droid.Resource.Attribute.layout_insetEdge;
global::Plugin.Permissions.Resource.Attribute.layout_keyline = global::TINK.Droid.Resource.Attribute.layout_keyline;
global::Plugin.Permissions.Resource.Attribute.statusBarBackground = global::TINK.Droid.Resource.Attribute.statusBarBackground;
global::Plugin.Permissions.Resource.Attribute.ttcIndex = global::TINK.Droid.Resource.Attribute.ttcIndex;
global::Plugin.Permissions.Resource.Color.browser_actions_bg_grey = global::TINK.Droid.Resource.Color.browser_actions_bg_grey;
global::Plugin.Permissions.Resource.Color.browser_actions_divider_color = global::TINK.Droid.Resource.Color.browser_actions_divider_color;
global::Plugin.Permissions.Resource.Color.browser_actions_text_color = global::TINK.Droid.Resource.Color.browser_actions_text_color;
global::Plugin.Permissions.Resource.Color.browser_actions_title_color = global::TINK.Droid.Resource.Color.browser_actions_title_color;
global::Plugin.Permissions.Resource.Color.notification_action_color_filter = global::TINK.Droid.Resource.Color.notification_action_color_filter;
global::Plugin.Permissions.Resource.Color.notification_icon_bg_color = global::TINK.Droid.Resource.Color.notification_icon_bg_color;
global::Plugin.Permissions.Resource.Color.ripple_material_light = global::TINK.Droid.Resource.Color.ripple_material_light;
global::Plugin.Permissions.Resource.Color.secondary_text_default_material_light = global::TINK.Droid.Resource.Color.secondary_text_default_material_light;
global::Plugin.Permissions.Resource.Dimension.browser_actions_context_menu_max_width = global::TINK.Droid.Resource.Dimension.browser_actions_context_menu_max_width;
global::Plugin.Permissions.Resource.Dimension.browser_actions_context_menu_min_padding = global::TINK.Droid.Resource.Dimension.browser_actions_context_menu_min_padding;
global::Plugin.Permissions.Resource.Dimension.compat_button_inset_horizontal_material = global::TINK.Droid.Resource.Dimension.compat_button_inset_horizontal_material;
global::Plugin.Permissions.Resource.Dimension.compat_button_inset_vertical_material = global::TINK.Droid.Resource.Dimension.compat_button_inset_vertical_material;
global::Plugin.Permissions.Resource.Dimension.compat_button_padding_horizontal_material = global::TINK.Droid.Resource.Dimension.compat_button_padding_horizontal_material;
global::Plugin.Permissions.Resource.Dimension.compat_button_padding_vertical_material = global::TINK.Droid.Resource.Dimension.compat_button_padding_vertical_material;
global::Plugin.Permissions.Resource.Dimension.compat_control_corner_material = global::TINK.Droid.Resource.Dimension.compat_control_corner_material;
global::Plugin.Permissions.Resource.Dimension.compat_notification_large_icon_max_height = global::TINK.Droid.Resource.Dimension.compat_notification_large_icon_max_height;
global::Plugin.Permissions.Resource.Dimension.compat_notification_large_icon_max_width = global::TINK.Droid.Resource.Dimension.compat_notification_large_icon_max_width;
global::Plugin.Permissions.Resource.Dimension.notification_action_icon_size = global::TINK.Droid.Resource.Dimension.notification_action_icon_size;
global::Plugin.Permissions.Resource.Dimension.notification_action_text_size = global::TINK.Droid.Resource.Dimension.notification_action_text_size;
global::Plugin.Permissions.Resource.Dimension.notification_big_circle_margin = global::TINK.Droid.Resource.Dimension.notification_big_circle_margin;
global::Plugin.Permissions.Resource.Dimension.notification_content_margin_start = global::TINK.Droid.Resource.Dimension.notification_content_margin_start;
global::Plugin.Permissions.Resource.Dimension.notification_large_icon_height = global::TINK.Droid.Resource.Dimension.notification_large_icon_height;
global::Plugin.Permissions.Resource.Dimension.notification_large_icon_width = global::TINK.Droid.Resource.Dimension.notification_large_icon_width;
global::Plugin.Permissions.Resource.Dimension.notification_main_column_padding_top = global::TINK.Droid.Resource.Dimension.notification_main_column_padding_top;
global::Plugin.Permissions.Resource.Dimension.notification_media_narrow_margin = global::TINK.Droid.Resource.Dimension.notification_media_narrow_margin;
global::Plugin.Permissions.Resource.Dimension.notification_right_icon_size = global::TINK.Droid.Resource.Dimension.notification_right_icon_size;
global::Plugin.Permissions.Resource.Dimension.notification_right_side_padding_top = global::TINK.Droid.Resource.Dimension.notification_right_side_padding_top;
global::Plugin.Permissions.Resource.Dimension.notification_small_icon_background_padding = global::TINK.Droid.Resource.Dimension.notification_small_icon_background_padding;
global::Plugin.Permissions.Resource.Dimension.notification_small_icon_size_as_large = global::TINK.Droid.Resource.Dimension.notification_small_icon_size_as_large;
global::Plugin.Permissions.Resource.Dimension.notification_subtext_size = global::TINK.Droid.Resource.Dimension.notification_subtext_size;
global::Plugin.Permissions.Resource.Dimension.notification_top_pad = global::TINK.Droid.Resource.Dimension.notification_top_pad;
global::Plugin.Permissions.Resource.Dimension.notification_top_pad_large_text = global::TINK.Droid.Resource.Dimension.notification_top_pad_large_text;
global::Plugin.Permissions.Resource.Drawable.notification_action_background = global::TINK.Droid.Resource.Drawable.notification_action_background;
global::Plugin.Permissions.Resource.Drawable.notification_bg = global::TINK.Droid.Resource.Drawable.notification_bg;
global::Plugin.Permissions.Resource.Drawable.notification_bg_low = global::TINK.Droid.Resource.Drawable.notification_bg_low;
global::Plugin.Permissions.Resource.Drawable.notification_bg_low_normal = global::TINK.Droid.Resource.Drawable.notification_bg_low_normal;
global::Plugin.Permissions.Resource.Drawable.notification_bg_low_pressed = global::TINK.Droid.Resource.Drawable.notification_bg_low_pressed;
global::Plugin.Permissions.Resource.Drawable.notification_bg_normal = global::TINK.Droid.Resource.Drawable.notification_bg_normal;
global::Plugin.Permissions.Resource.Drawable.notification_bg_normal_pressed = global::TINK.Droid.Resource.Drawable.notification_bg_normal_pressed;
global::Plugin.Permissions.Resource.Drawable.notification_icon_background = global::TINK.Droid.Resource.Drawable.notification_icon_background;
global::Plugin.Permissions.Resource.Drawable.notification_template_icon_bg = global::TINK.Droid.Resource.Drawable.notification_template_icon_bg;
global::Plugin.Permissions.Resource.Drawable.notification_template_icon_low_bg = global::TINK.Droid.Resource.Drawable.notification_template_icon_low_bg;
global::Plugin.Permissions.Resource.Drawable.notification_tile_bg = global::TINK.Droid.Resource.Drawable.notification_tile_bg;
global::Plugin.Permissions.Resource.Drawable.notify_panel_notification_icon_bg = global::TINK.Droid.Resource.Drawable.notify_panel_notification_icon_bg;
global::Plugin.Permissions.Resource.Id.accessibility_action_clickable_span = global::TINK.Droid.Resource.Id.accessibility_action_clickable_span;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_0 = global::TINK.Droid.Resource.Id.accessibility_custom_action_0;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_1 = global::TINK.Droid.Resource.Id.accessibility_custom_action_1;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_10 = global::TINK.Droid.Resource.Id.accessibility_custom_action_10;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_11 = global::TINK.Droid.Resource.Id.accessibility_custom_action_11;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_12 = global::TINK.Droid.Resource.Id.accessibility_custom_action_12;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_13 = global::TINK.Droid.Resource.Id.accessibility_custom_action_13;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_14 = global::TINK.Droid.Resource.Id.accessibility_custom_action_14;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_15 = global::TINK.Droid.Resource.Id.accessibility_custom_action_15;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_16 = global::TINK.Droid.Resource.Id.accessibility_custom_action_16;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_17 = global::TINK.Droid.Resource.Id.accessibility_custom_action_17;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_18 = global::TINK.Droid.Resource.Id.accessibility_custom_action_18;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_19 = global::TINK.Droid.Resource.Id.accessibility_custom_action_19;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_2 = global::TINK.Droid.Resource.Id.accessibility_custom_action_2;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_20 = global::TINK.Droid.Resource.Id.accessibility_custom_action_20;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_21 = global::TINK.Droid.Resource.Id.accessibility_custom_action_21;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_22 = global::TINK.Droid.Resource.Id.accessibility_custom_action_22;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_23 = global::TINK.Droid.Resource.Id.accessibility_custom_action_23;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_24 = global::TINK.Droid.Resource.Id.accessibility_custom_action_24;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_25 = global::TINK.Droid.Resource.Id.accessibility_custom_action_25;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_26 = global::TINK.Droid.Resource.Id.accessibility_custom_action_26;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_27 = global::TINK.Droid.Resource.Id.accessibility_custom_action_27;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_28 = global::TINK.Droid.Resource.Id.accessibility_custom_action_28;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_29 = global::TINK.Droid.Resource.Id.accessibility_custom_action_29;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_3 = global::TINK.Droid.Resource.Id.accessibility_custom_action_3;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_30 = global::TINK.Droid.Resource.Id.accessibility_custom_action_30;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_31 = global::TINK.Droid.Resource.Id.accessibility_custom_action_31;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_4 = global::TINK.Droid.Resource.Id.accessibility_custom_action_4;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_5 = global::TINK.Droid.Resource.Id.accessibility_custom_action_5;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_6 = global::TINK.Droid.Resource.Id.accessibility_custom_action_6;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_7 = global::TINK.Droid.Resource.Id.accessibility_custom_action_7;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_8 = global::TINK.Droid.Resource.Id.accessibility_custom_action_8;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_9 = global::TINK.Droid.Resource.Id.accessibility_custom_action_9;
global::Plugin.Permissions.Resource.Id.actions = global::TINK.Droid.Resource.Id.actions;
global::Plugin.Permissions.Resource.Id.action_container = global::TINK.Droid.Resource.Id.action_container;
global::Plugin.Permissions.Resource.Id.action_divider = global::TINK.Droid.Resource.Id.action_divider;
global::Plugin.Permissions.Resource.Id.action_image = global::TINK.Droid.Resource.Id.action_image;
global::Plugin.Permissions.Resource.Id.action_text = global::TINK.Droid.Resource.Id.action_text;
global::Plugin.Permissions.Resource.Id.all = global::TINK.Droid.Resource.Id.all;
global::Plugin.Permissions.Resource.Id.async = global::TINK.Droid.Resource.Id.async;
global::Plugin.Permissions.Resource.Id.blocking = global::TINK.Droid.Resource.Id.blocking;
global::Plugin.Permissions.Resource.Id.bottom = global::TINK.Droid.Resource.Id.bottom;
global::Plugin.Permissions.Resource.Id.browser_actions_header_text = global::TINK.Droid.Resource.Id.browser_actions_header_text;
global::Plugin.Permissions.Resource.Id.browser_actions_menu_items = global::TINK.Droid.Resource.Id.browser_actions_menu_items;
global::Plugin.Permissions.Resource.Id.browser_actions_menu_item_icon = global::TINK.Droid.Resource.Id.browser_actions_menu_item_icon;
global::Plugin.Permissions.Resource.Id.browser_actions_menu_item_text = global::TINK.Droid.Resource.Id.browser_actions_menu_item_text;
global::Plugin.Permissions.Resource.Id.browser_actions_menu_view = global::TINK.Droid.Resource.Id.browser_actions_menu_view;
global::Plugin.Permissions.Resource.Id.center = global::TINK.Droid.Resource.Id.center;
global::Plugin.Permissions.Resource.Id.center_horizontal = global::TINK.Droid.Resource.Id.center_horizontal;
global::Plugin.Permissions.Resource.Id.center_vertical = global::TINK.Droid.Resource.Id.center_vertical;
global::Plugin.Permissions.Resource.Id.chronometer = global::TINK.Droid.Resource.Id.chronometer;
global::Plugin.Permissions.Resource.Id.clip_horizontal = global::TINK.Droid.Resource.Id.clip_horizontal;
global::Plugin.Permissions.Resource.Id.clip_vertical = global::TINK.Droid.Resource.Id.clip_vertical;
global::Plugin.Permissions.Resource.Id.dialog_button = global::TINK.Droid.Resource.Id.dialog_button;
global::Plugin.Permissions.Resource.Id.end = global::TINK.Droid.Resource.Id.end;
global::Plugin.Permissions.Resource.Id.fill = global::TINK.Droid.Resource.Id.fill;
global::Plugin.Permissions.Resource.Id.fill_horizontal = global::TINK.Droid.Resource.Id.fill_horizontal;
global::Plugin.Permissions.Resource.Id.fill_vertical = global::TINK.Droid.Resource.Id.fill_vertical;
global::Plugin.Permissions.Resource.Id.forever = global::TINK.Droid.Resource.Id.forever;
global::Plugin.Permissions.Resource.Id.icon = global::TINK.Droid.Resource.Id.icon;
global::Plugin.Permissions.Resource.Id.icon_group = global::TINK.Droid.Resource.Id.icon_group;
global::Plugin.Permissions.Resource.Id.info = global::TINK.Droid.Resource.Id.info;
global::Plugin.Permissions.Resource.Id.italic = global::TINK.Droid.Resource.Id.italic;
global::Plugin.Permissions.Resource.Id.left = global::TINK.Droid.Resource.Id.left;
global::Plugin.Permissions.Resource.Id.line1 = global::TINK.Droid.Resource.Id.line1;
global::Plugin.Permissions.Resource.Id.line3 = global::TINK.Droid.Resource.Id.line3;
global::Plugin.Permissions.Resource.Id.none = global::TINK.Droid.Resource.Id.none;
global::Plugin.Permissions.Resource.Id.normal = global::TINK.Droid.Resource.Id.normal;
global::Plugin.Permissions.Resource.Id.notification_background = global::TINK.Droid.Resource.Id.notification_background;
global::Plugin.Permissions.Resource.Id.notification_main_column = global::TINK.Droid.Resource.Id.notification_main_column;
global::Plugin.Permissions.Resource.Id.notification_main_column_container = global::TINK.Droid.Resource.Id.notification_main_column_container;
global::Plugin.Permissions.Resource.Id.right = global::TINK.Droid.Resource.Id.right;
global::Plugin.Permissions.Resource.Id.right_icon = global::TINK.Droid.Resource.Id.right_icon;
global::Plugin.Permissions.Resource.Id.right_side = global::TINK.Droid.Resource.Id.right_side;
global::Plugin.Permissions.Resource.Id.start = global::TINK.Droid.Resource.Id.start;
global::Plugin.Permissions.Resource.Id.tag_accessibility_actions = global::TINK.Droid.Resource.Id.tag_accessibility_actions;
global::Plugin.Permissions.Resource.Id.tag_accessibility_clickable_spans = global::TINK.Droid.Resource.Id.tag_accessibility_clickable_spans;
global::Plugin.Permissions.Resource.Id.tag_accessibility_heading = global::TINK.Droid.Resource.Id.tag_accessibility_heading;
global::Plugin.Permissions.Resource.Id.tag_accessibility_pane_title = global::TINK.Droid.Resource.Id.tag_accessibility_pane_title;
global::Plugin.Permissions.Resource.Id.tag_screen_reader_focusable = global::TINK.Droid.Resource.Id.tag_screen_reader_focusable;
global::Plugin.Permissions.Resource.Id.tag_transition_group = global::TINK.Droid.Resource.Id.tag_transition_group;
global::Plugin.Permissions.Resource.Id.tag_unhandled_key_event_manager = global::TINK.Droid.Resource.Id.tag_unhandled_key_event_manager;
global::Plugin.Permissions.Resource.Id.tag_unhandled_key_listeners = global::TINK.Droid.Resource.Id.tag_unhandled_key_listeners;
global::Plugin.Permissions.Resource.Id.text = global::TINK.Droid.Resource.Id.text;
global::Plugin.Permissions.Resource.Id.text2 = global::TINK.Droid.Resource.Id.text2;
global::Plugin.Permissions.Resource.Id.time = global::TINK.Droid.Resource.Id.time;
global::Plugin.Permissions.Resource.Id.title = global::TINK.Droid.Resource.Id.title;
global::Plugin.Permissions.Resource.Id.top = global::TINK.Droid.Resource.Id.top;
global::Plugin.Permissions.Resource.Integer.status_bar_notification_info_maxnum = global::TINK.Droid.Resource.Integer.status_bar_notification_info_maxnum;
global::Plugin.Permissions.Resource.Layout.browser_actions_context_menu_page = global::TINK.Droid.Resource.Layout.browser_actions_context_menu_page;
global::Plugin.Permissions.Resource.Layout.browser_actions_context_menu_row = global::TINK.Droid.Resource.Layout.browser_actions_context_menu_row;
global::Plugin.Permissions.Resource.Layout.custom_dialog = global::TINK.Droid.Resource.Layout.custom_dialog;
global::Plugin.Permissions.Resource.Layout.notification_action = global::TINK.Droid.Resource.Layout.notification_action;
global::Plugin.Permissions.Resource.Layout.notification_action_tombstone = global::TINK.Droid.Resource.Layout.notification_action_tombstone;
global::Plugin.Permissions.Resource.Layout.notification_template_custom_big = global::TINK.Droid.Resource.Layout.notification_template_custom_big;
global::Plugin.Permissions.Resource.Layout.notification_template_icon_group = global::TINK.Droid.Resource.Layout.notification_template_icon_group;
global::Plugin.Permissions.Resource.Layout.notification_template_part_chronometer = global::TINK.Droid.Resource.Layout.notification_template_part_chronometer;
global::Plugin.Permissions.Resource.Layout.notification_template_part_time = global::TINK.Droid.Resource.Layout.notification_template_part_time;
global::Plugin.Permissions.Resource.String.status_bar_notification_info_overflow = global::TINK.Droid.Resource.String.status_bar_notification_info_overflow;
global::Plugin.Permissions.Resource.Style.TextAppearance_Compat_Notification = global::TINK.Droid.Resource.Style.TextAppearance_Compat_Notification;
global::Plugin.Permissions.Resource.Style.TextAppearance_Compat_Notification_Info = global::TINK.Droid.Resource.Style.TextAppearance_Compat_Notification_Info;
global::Plugin.Permissions.Resource.Style.TextAppearance_Compat_Notification_Line2 = global::TINK.Droid.Resource.Style.TextAppearance_Compat_Notification_Line2;
global::Plugin.Permissions.Resource.Style.TextAppearance_Compat_Notification_Time = global::TINK.Droid.Resource.Style.TextAppearance_Compat_Notification_Time;
global::Plugin.Permissions.Resource.Style.TextAppearance_Compat_Notification_Title = global::TINK.Droid.Resource.Style.TextAppearance_Compat_Notification_Title;
global::Plugin.Permissions.Resource.Style.Widget_Compat_NotificationActionContainer = global::TINK.Droid.Resource.Style.Widget_Compat_NotificationActionContainer;
global::Plugin.Permissions.Resource.Style.Widget_Compat_NotificationActionText = global::TINK.Droid.Resource.Style.Widget_Compat_NotificationActionText;
global::Plugin.Permissions.Resource.Style.Widget_Support_CoordinatorLayout = global::TINK.Droid.Resource.Style.Widget_Support_CoordinatorLayout;
global::Plugin.Permissions.Resource.Styleable.ColorStateListItem = global::TINK.Droid.Resource.Styleable.ColorStateListItem;
global::Plugin.Permissions.Resource.Styleable.ColorStateListItem_alpha = global::TINK.Droid.Resource.Styleable.ColorStateListItem_alpha;
global::Plugin.Permissions.Resource.Styleable.ColorStateListItem_android_alpha = global::TINK.Droid.Resource.Styleable.ColorStateListItem_android_alpha;
global::Plugin.Permissions.Resource.Styleable.ColorStateListItem_android_color = global::TINK.Droid.Resource.Styleable.ColorStateListItem_android_color;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout = global::TINK.Droid.Resource.Styleable.CoordinatorLayout;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout_keylines = global::TINK.Droid.Resource.Styleable.CoordinatorLayout_keylines;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout_Layout = global::TINK.Droid.Resource.Styleable.CoordinatorLayout_Layout;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout_Layout_android_layout_gravity = global::TINK.Droid.Resource.Styleable.CoordinatorLayout_Layout_android_layout_gravity;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout_Layout_layout_anchor = global::TINK.Droid.Resource.Styleable.CoordinatorLayout_Layout_layout_anchor;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout_Layout_layout_anchorGravity = global::TINK.Droid.Resource.Styleable.CoordinatorLayout_Layout_layout_anchorGravity;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout_Layout_layout_behavior = global::TINK.Droid.Resource.Styleable.CoordinatorLayout_Layout_layout_behavior;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout_Layout_layout_dodgeInsetEdges = global::TINK.Droid.Resource.Styleable.CoordinatorLayout_Layout_layout_dodgeInsetEdges;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout_Layout_layout_insetEdge = global::TINK.Droid.Resource.Styleable.CoordinatorLayout_Layout_layout_insetEdge;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout_Layout_layout_keyline = global::TINK.Droid.Resource.Styleable.CoordinatorLayout_Layout_layout_keyline;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout_statusBarBackground = global::TINK.Droid.Resource.Styleable.CoordinatorLayout_statusBarBackground;
global::Plugin.Permissions.Resource.Styleable.FontFamily = global::TINK.Droid.Resource.Styleable.FontFamily;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont = global::TINK.Droid.Resource.Styleable.FontFamilyFont;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont_android_font = global::TINK.Droid.Resource.Styleable.FontFamilyFont_android_font;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont_android_fontStyle = global::TINK.Droid.Resource.Styleable.FontFamilyFont_android_fontStyle;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont_android_fontVariationSettings = global::TINK.Droid.Resource.Styleable.FontFamilyFont_android_fontVariationSettings;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont_android_fontWeight = global::TINK.Droid.Resource.Styleable.FontFamilyFont_android_fontWeight;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont_android_ttcIndex = global::TINK.Droid.Resource.Styleable.FontFamilyFont_android_ttcIndex;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont_font = global::TINK.Droid.Resource.Styleable.FontFamilyFont_font;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont_fontStyle = global::TINK.Droid.Resource.Styleable.FontFamilyFont_fontStyle;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont_fontVariationSettings = global::TINK.Droid.Resource.Styleable.FontFamilyFont_fontVariationSettings;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont_fontWeight = global::TINK.Droid.Resource.Styleable.FontFamilyFont_fontWeight;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont_ttcIndex = global::TINK.Droid.Resource.Styleable.FontFamilyFont_ttcIndex;
global::Plugin.Permissions.Resource.Styleable.FontFamily_fontProviderAuthority = global::TINK.Droid.Resource.Styleable.FontFamily_fontProviderAuthority;
global::Plugin.Permissions.Resource.Styleable.FontFamily_fontProviderCerts = global::TINK.Droid.Resource.Styleable.FontFamily_fontProviderCerts;
global::Plugin.Permissions.Resource.Styleable.FontFamily_fontProviderFetchStrategy = global::TINK.Droid.Resource.Styleable.FontFamily_fontProviderFetchStrategy;
global::Plugin.Permissions.Resource.Styleable.FontFamily_fontProviderFetchTimeout = global::TINK.Droid.Resource.Styleable.FontFamily_fontProviderFetchTimeout;
global::Plugin.Permissions.Resource.Styleable.FontFamily_fontProviderPackage = global::TINK.Droid.Resource.Styleable.FontFamily_fontProviderPackage;
global::Plugin.Permissions.Resource.Styleable.FontFamily_fontProviderQuery = global::TINK.Droid.Resource.Styleable.FontFamily_fontProviderQuery;
global::Plugin.Permissions.Resource.Styleable.GradientColor = global::TINK.Droid.Resource.Styleable.GradientColor;
global::Plugin.Permissions.Resource.Styleable.GradientColorItem = global::TINK.Droid.Resource.Styleable.GradientColorItem;
global::Plugin.Permissions.Resource.Styleable.GradientColorItem_android_color = global::TINK.Droid.Resource.Styleable.GradientColorItem_android_color;
global::Plugin.Permissions.Resource.Styleable.GradientColorItem_android_offset = global::TINK.Droid.Resource.Styleable.GradientColorItem_android_offset;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_centerColor = global::TINK.Droid.Resource.Styleable.GradientColor_android_centerColor;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_centerX = global::TINK.Droid.Resource.Styleable.GradientColor_android_centerX;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_centerY = global::TINK.Droid.Resource.Styleable.GradientColor_android_centerY;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_endColor = global::TINK.Droid.Resource.Styleable.GradientColor_android_endColor;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_endX = global::TINK.Droid.Resource.Styleable.GradientColor_android_endX;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_endY = global::TINK.Droid.Resource.Styleable.GradientColor_android_endY;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_gradientRadius = global::TINK.Droid.Resource.Styleable.GradientColor_android_gradientRadius;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_startColor = global::TINK.Droid.Resource.Styleable.GradientColor_android_startColor;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_startX = global::TINK.Droid.Resource.Styleable.GradientColor_android_startX;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_startY = global::TINK.Droid.Resource.Styleable.GradientColor_android_startY;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_tileMode = global::TINK.Droid.Resource.Styleable.GradientColor_android_tileMode;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_type = global::TINK.Droid.Resource.Styleable.GradientColor_android_type;
global::Plugin.Permissions.Resource.Xml.xamarin_essentials_fileprovider_file_paths = global::TINK.Droid.Resource.Xml.xamarin_essentials_fileprovider_file_paths;
global::Xamarin.Auth.Resource.Animation.slide_in_right = global::TINK.Droid.Resource.Animation.slide_in_right; global::Xamarin.Auth.Resource.Animation.slide_in_right = global::TINK.Droid.Resource.Animation.slide_in_right;
global::Xamarin.Auth.Resource.Animation.slide_out_left = global::TINK.Droid.Resource.Animation.slide_out_left; global::Xamarin.Auth.Resource.Animation.slide_out_left = global::TINK.Droid.Resource.Animation.slide_out_left;
global::Xamarin.Auth.Resource.Attribute.alpha = global::TINK.Droid.Resource.Attribute.alpha; global::Xamarin.Auth.Resource.Attribute.alpha = global::TINK.Droid.Resource.Attribute.alpha;

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
@ -49,8 +49,8 @@
<key>CFBundleDisplayName</key> <key>CFBundleDisplayName</key>
<string>LastenradBayern</string> <string>LastenradBayern</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>261</string> <string>262</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>3.0.261</string> <string>3.0.262</string>
</dict> </dict>
</plist> </plist>

View file

@ -15,7 +15,6 @@ using MonkeyCache.FileStore;
using Plugin.Connectivity; using Plugin.Connectivity;
using System.Threading; using System.Threading;
using TINK.Model.Settings; using TINK.Model.Settings;
using Plugin.Permissions;
using TINK.Services.BluetoothLock.Crypto; using TINK.Services.BluetoothLock.Crypto;
using TINK.Model.Services.Geolocation; using TINK.Model.Services.Geolocation;
using TINK.Services; using TINK.Services;
@ -152,7 +151,6 @@ namespace TINK
DependencyService.Get<ISmartDevice>(), DependencyService.Get<ISmartDevice>(),
specialFolders, specialFolders,
new Cipher(), new Cipher(),
null, // Permissions, no more used.
#if ARENDI #if ARENDI
DependencyService.Get<ICentral>(), DependencyService.Get<ICentral>(),
#else #else
@ -284,7 +282,7 @@ namespace TINK
if (_PermissionsService != null) if (_PermissionsService != null)
return _PermissionsService; return _PermissionsService;
_PermissionsService = new Services.Permissions.Plugin.Permissions(); _PermissionsService = new Services.Permissions.Essentials.Permissions();
return _PermissionsService; return _PermissionsService;
} }
} }

View file

@ -33,7 +33,6 @@
<tr><td>PCLStorage von Daniel Plaisted </td><td><a href="#MSPL_Long">Microsoft Public License (Ms-PL)</a> </td></tr> <tr><td>PCLStorage von Daniel Plaisted </td><td><a href="#MSPL_Long">Microsoft Public License (Ms-PL)</a> </td></tr>
<tr><td>Pinvoke von AArnott </td><td><a href="#MITLicenseAArnott">MIT- Lizenz für Pinvoke</a> </td></tr> <tr><td>Pinvoke von AArnott </td><td><a href="#MITLicenseAArnott">MIT- Lizenz für Pinvoke</a> </td></tr>
<tr><td>Plugin.BLE Adrian Seceleanu, Sven-Michael Stübe </td><td><a href="#ApacheLicense2.0_2004">Apache License 2.0</a> </td></tr> <tr><td>Plugin.BLE Adrian Seceleanu, Sven-Michael Stübe </td><td><a href="#ApacheLicense2.0_2004">Apache License 2.0</a> </td></tr>
<tr><td>Plugin.Permissions von James Montemagno </td><td><a href="#MITLicenseMontemagno2016">MIT Lizenz 2016</a> </td></tr>
<tr><td>Polly von Michael Wolfenden, App vNext </td><td><a href="#NewBSDLicense">New BSD License</a> </td></tr> <tr><td>Polly von Michael Wolfenden, App vNext </td><td><a href="#NewBSDLicense">New BSD License</a> </td></tr>
<tr><td>Serilog von Serilog Contributors </td><td><a href="#ApacheLicense2.0_2004">Apache License 2.0</a> </td></tr> <tr><td>Serilog von Serilog Contributors </td><td><a href="#ApacheLicense2.0_2004">Apache License 2.0</a> </td></tr>
<tr><td>Serilog.Sinks.Debug von Serilog Contributors </td><td><a href="#ApacheLicense2.0_2004">Apache License 2.0</a> </td></tr> <tr><td>Serilog.Sinks.Debug von Serilog Contributors </td><td><a href="#ApacheLicense2.0_2004">Apache License 2.0</a> </td></tr>

View file

@ -4,7 +4,6 @@ using Android.Content.PM;
using Android.OS; using Android.OS;
using Android.Content; using Android.Content;
using Java.Interop; using Java.Interop;
using Plugin.Permissions;
namespace TINK.Droid namespace TINK.Droid
{ {
@ -52,12 +51,6 @@ namespace TINK.Droid
{ {
Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults); Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);
} }
else if (App.PermissionsService.GetType() == typeof(TINK.Services.Permissions.Plugin.Permissions))
{
// Bug in 3.0.244 and earlier versions of sharee.bike app: Call of PermissionsImplementation.Current.OnRequestedPermission result was missing.
// see https://dev.azure.com/TeilRad/sharee.bike%20Buchungsplattform/_workitems/edit/136 for further details.
PermissionsImplementation.Current.OnRequestPermissionsResult(requestCode, permissions, grantResults);
}
base.OnRequestPermissionsResult(requestCode, permissions, grantResults); base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
} }

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="internalOnly" package="com.TeilRad.Meinkonrad" android:versionName="3.0.261" android:versionCode="261"> <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="internalOnly" package="com.TeilRad.Meinkonrad" android:versionName="3.0.262" android:versionCode="262">
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="30" /> <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="30" />
<!-- Google Maps related permissions --> <!-- Google Maps related permissions -->
<!-- Permission to receive remote notifications from Google Play Services --> <!-- Permission to receive remote notifications from Google Play Services -->

View file

@ -29,228 +29,6 @@ namespace TINK.Droid
global::PCLCrypto.Resource.String.Hello = global::TINK.Droid.Resource.String.Hello; global::PCLCrypto.Resource.String.Hello = global::TINK.Droid.Resource.String.Hello;
global::PCLStorage.Resource.String.ApplicationName = global::TINK.Droid.Resource.String.ApplicationName; global::PCLStorage.Resource.String.ApplicationName = global::TINK.Droid.Resource.String.ApplicationName;
global::PCLStorage.Resource.String.Hello = global::TINK.Droid.Resource.String.Hello; global::PCLStorage.Resource.String.Hello = global::TINK.Droid.Resource.String.Hello;
global::Plugin.Permissions.Resource.Attribute.alpha = global::TINK.Droid.Resource.Attribute.alpha;
global::Plugin.Permissions.Resource.Attribute.coordinatorLayoutStyle = global::TINK.Droid.Resource.Attribute.coordinatorLayoutStyle;
global::Plugin.Permissions.Resource.Attribute.font = global::TINK.Droid.Resource.Attribute.font;
global::Plugin.Permissions.Resource.Attribute.fontProviderAuthority = global::TINK.Droid.Resource.Attribute.fontProviderAuthority;
global::Plugin.Permissions.Resource.Attribute.fontProviderCerts = global::TINK.Droid.Resource.Attribute.fontProviderCerts;
global::Plugin.Permissions.Resource.Attribute.fontProviderFetchStrategy = global::TINK.Droid.Resource.Attribute.fontProviderFetchStrategy;
global::Plugin.Permissions.Resource.Attribute.fontProviderFetchTimeout = global::TINK.Droid.Resource.Attribute.fontProviderFetchTimeout;
global::Plugin.Permissions.Resource.Attribute.fontProviderPackage = global::TINK.Droid.Resource.Attribute.fontProviderPackage;
global::Plugin.Permissions.Resource.Attribute.fontProviderQuery = global::TINK.Droid.Resource.Attribute.fontProviderQuery;
global::Plugin.Permissions.Resource.Attribute.fontStyle = global::TINK.Droid.Resource.Attribute.fontStyle;
global::Plugin.Permissions.Resource.Attribute.fontVariationSettings = global::TINK.Droid.Resource.Attribute.fontVariationSettings;
global::Plugin.Permissions.Resource.Attribute.fontWeight = global::TINK.Droid.Resource.Attribute.fontWeight;
global::Plugin.Permissions.Resource.Attribute.keylines = global::TINK.Droid.Resource.Attribute.keylines;
global::Plugin.Permissions.Resource.Attribute.layout_anchor = global::TINK.Droid.Resource.Attribute.layout_anchor;
global::Plugin.Permissions.Resource.Attribute.layout_anchorGravity = global::TINK.Droid.Resource.Attribute.layout_anchorGravity;
global::Plugin.Permissions.Resource.Attribute.layout_behavior = global::TINK.Droid.Resource.Attribute.layout_behavior;
global::Plugin.Permissions.Resource.Attribute.layout_dodgeInsetEdges = global::TINK.Droid.Resource.Attribute.layout_dodgeInsetEdges;
global::Plugin.Permissions.Resource.Attribute.layout_insetEdge = global::TINK.Droid.Resource.Attribute.layout_insetEdge;
global::Plugin.Permissions.Resource.Attribute.layout_keyline = global::TINK.Droid.Resource.Attribute.layout_keyline;
global::Plugin.Permissions.Resource.Attribute.statusBarBackground = global::TINK.Droid.Resource.Attribute.statusBarBackground;
global::Plugin.Permissions.Resource.Attribute.ttcIndex = global::TINK.Droid.Resource.Attribute.ttcIndex;
global::Plugin.Permissions.Resource.Color.browser_actions_bg_grey = global::TINK.Droid.Resource.Color.browser_actions_bg_grey;
global::Plugin.Permissions.Resource.Color.browser_actions_divider_color = global::TINK.Droid.Resource.Color.browser_actions_divider_color;
global::Plugin.Permissions.Resource.Color.browser_actions_text_color = global::TINK.Droid.Resource.Color.browser_actions_text_color;
global::Plugin.Permissions.Resource.Color.browser_actions_title_color = global::TINK.Droid.Resource.Color.browser_actions_title_color;
global::Plugin.Permissions.Resource.Color.notification_action_color_filter = global::TINK.Droid.Resource.Color.notification_action_color_filter;
global::Plugin.Permissions.Resource.Color.notification_icon_bg_color = global::TINK.Droid.Resource.Color.notification_icon_bg_color;
global::Plugin.Permissions.Resource.Color.ripple_material_light = global::TINK.Droid.Resource.Color.ripple_material_light;
global::Plugin.Permissions.Resource.Color.secondary_text_default_material_light = global::TINK.Droid.Resource.Color.secondary_text_default_material_light;
global::Plugin.Permissions.Resource.Dimension.browser_actions_context_menu_max_width = global::TINK.Droid.Resource.Dimension.browser_actions_context_menu_max_width;
global::Plugin.Permissions.Resource.Dimension.browser_actions_context_menu_min_padding = global::TINK.Droid.Resource.Dimension.browser_actions_context_menu_min_padding;
global::Plugin.Permissions.Resource.Dimension.compat_button_inset_horizontal_material = global::TINK.Droid.Resource.Dimension.compat_button_inset_horizontal_material;
global::Plugin.Permissions.Resource.Dimension.compat_button_inset_vertical_material = global::TINK.Droid.Resource.Dimension.compat_button_inset_vertical_material;
global::Plugin.Permissions.Resource.Dimension.compat_button_padding_horizontal_material = global::TINK.Droid.Resource.Dimension.compat_button_padding_horizontal_material;
global::Plugin.Permissions.Resource.Dimension.compat_button_padding_vertical_material = global::TINK.Droid.Resource.Dimension.compat_button_padding_vertical_material;
global::Plugin.Permissions.Resource.Dimension.compat_control_corner_material = global::TINK.Droid.Resource.Dimension.compat_control_corner_material;
global::Plugin.Permissions.Resource.Dimension.compat_notification_large_icon_max_height = global::TINK.Droid.Resource.Dimension.compat_notification_large_icon_max_height;
global::Plugin.Permissions.Resource.Dimension.compat_notification_large_icon_max_width = global::TINK.Droid.Resource.Dimension.compat_notification_large_icon_max_width;
global::Plugin.Permissions.Resource.Dimension.notification_action_icon_size = global::TINK.Droid.Resource.Dimension.notification_action_icon_size;
global::Plugin.Permissions.Resource.Dimension.notification_action_text_size = global::TINK.Droid.Resource.Dimension.notification_action_text_size;
global::Plugin.Permissions.Resource.Dimension.notification_big_circle_margin = global::TINK.Droid.Resource.Dimension.notification_big_circle_margin;
global::Plugin.Permissions.Resource.Dimension.notification_content_margin_start = global::TINK.Droid.Resource.Dimension.notification_content_margin_start;
global::Plugin.Permissions.Resource.Dimension.notification_large_icon_height = global::TINK.Droid.Resource.Dimension.notification_large_icon_height;
global::Plugin.Permissions.Resource.Dimension.notification_large_icon_width = global::TINK.Droid.Resource.Dimension.notification_large_icon_width;
global::Plugin.Permissions.Resource.Dimension.notification_main_column_padding_top = global::TINK.Droid.Resource.Dimension.notification_main_column_padding_top;
global::Plugin.Permissions.Resource.Dimension.notification_media_narrow_margin = global::TINK.Droid.Resource.Dimension.notification_media_narrow_margin;
global::Plugin.Permissions.Resource.Dimension.notification_right_icon_size = global::TINK.Droid.Resource.Dimension.notification_right_icon_size;
global::Plugin.Permissions.Resource.Dimension.notification_right_side_padding_top = global::TINK.Droid.Resource.Dimension.notification_right_side_padding_top;
global::Plugin.Permissions.Resource.Dimension.notification_small_icon_background_padding = global::TINK.Droid.Resource.Dimension.notification_small_icon_background_padding;
global::Plugin.Permissions.Resource.Dimension.notification_small_icon_size_as_large = global::TINK.Droid.Resource.Dimension.notification_small_icon_size_as_large;
global::Plugin.Permissions.Resource.Dimension.notification_subtext_size = global::TINK.Droid.Resource.Dimension.notification_subtext_size;
global::Plugin.Permissions.Resource.Dimension.notification_top_pad = global::TINK.Droid.Resource.Dimension.notification_top_pad;
global::Plugin.Permissions.Resource.Dimension.notification_top_pad_large_text = global::TINK.Droid.Resource.Dimension.notification_top_pad_large_text;
global::Plugin.Permissions.Resource.Drawable.notification_action_background = global::TINK.Droid.Resource.Drawable.notification_action_background;
global::Plugin.Permissions.Resource.Drawable.notification_bg = global::TINK.Droid.Resource.Drawable.notification_bg;
global::Plugin.Permissions.Resource.Drawable.notification_bg_low = global::TINK.Droid.Resource.Drawable.notification_bg_low;
global::Plugin.Permissions.Resource.Drawable.notification_bg_low_normal = global::TINK.Droid.Resource.Drawable.notification_bg_low_normal;
global::Plugin.Permissions.Resource.Drawable.notification_bg_low_pressed = global::TINK.Droid.Resource.Drawable.notification_bg_low_pressed;
global::Plugin.Permissions.Resource.Drawable.notification_bg_normal = global::TINK.Droid.Resource.Drawable.notification_bg_normal;
global::Plugin.Permissions.Resource.Drawable.notification_bg_normal_pressed = global::TINK.Droid.Resource.Drawable.notification_bg_normal_pressed;
global::Plugin.Permissions.Resource.Drawable.notification_icon_background = global::TINK.Droid.Resource.Drawable.notification_icon_background;
global::Plugin.Permissions.Resource.Drawable.notification_template_icon_bg = global::TINK.Droid.Resource.Drawable.notification_template_icon_bg;
global::Plugin.Permissions.Resource.Drawable.notification_template_icon_low_bg = global::TINK.Droid.Resource.Drawable.notification_template_icon_low_bg;
global::Plugin.Permissions.Resource.Drawable.notification_tile_bg = global::TINK.Droid.Resource.Drawable.notification_tile_bg;
global::Plugin.Permissions.Resource.Drawable.notify_panel_notification_icon_bg = global::TINK.Droid.Resource.Drawable.notify_panel_notification_icon_bg;
global::Plugin.Permissions.Resource.Id.accessibility_action_clickable_span = global::TINK.Droid.Resource.Id.accessibility_action_clickable_span;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_0 = global::TINK.Droid.Resource.Id.accessibility_custom_action_0;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_1 = global::TINK.Droid.Resource.Id.accessibility_custom_action_1;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_10 = global::TINK.Droid.Resource.Id.accessibility_custom_action_10;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_11 = global::TINK.Droid.Resource.Id.accessibility_custom_action_11;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_12 = global::TINK.Droid.Resource.Id.accessibility_custom_action_12;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_13 = global::TINK.Droid.Resource.Id.accessibility_custom_action_13;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_14 = global::TINK.Droid.Resource.Id.accessibility_custom_action_14;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_15 = global::TINK.Droid.Resource.Id.accessibility_custom_action_15;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_16 = global::TINK.Droid.Resource.Id.accessibility_custom_action_16;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_17 = global::TINK.Droid.Resource.Id.accessibility_custom_action_17;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_18 = global::TINK.Droid.Resource.Id.accessibility_custom_action_18;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_19 = global::TINK.Droid.Resource.Id.accessibility_custom_action_19;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_2 = global::TINK.Droid.Resource.Id.accessibility_custom_action_2;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_20 = global::TINK.Droid.Resource.Id.accessibility_custom_action_20;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_21 = global::TINK.Droid.Resource.Id.accessibility_custom_action_21;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_22 = global::TINK.Droid.Resource.Id.accessibility_custom_action_22;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_23 = global::TINK.Droid.Resource.Id.accessibility_custom_action_23;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_24 = global::TINK.Droid.Resource.Id.accessibility_custom_action_24;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_25 = global::TINK.Droid.Resource.Id.accessibility_custom_action_25;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_26 = global::TINK.Droid.Resource.Id.accessibility_custom_action_26;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_27 = global::TINK.Droid.Resource.Id.accessibility_custom_action_27;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_28 = global::TINK.Droid.Resource.Id.accessibility_custom_action_28;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_29 = global::TINK.Droid.Resource.Id.accessibility_custom_action_29;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_3 = global::TINK.Droid.Resource.Id.accessibility_custom_action_3;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_30 = global::TINK.Droid.Resource.Id.accessibility_custom_action_30;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_31 = global::TINK.Droid.Resource.Id.accessibility_custom_action_31;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_4 = global::TINK.Droid.Resource.Id.accessibility_custom_action_4;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_5 = global::TINK.Droid.Resource.Id.accessibility_custom_action_5;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_6 = global::TINK.Droid.Resource.Id.accessibility_custom_action_6;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_7 = global::TINK.Droid.Resource.Id.accessibility_custom_action_7;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_8 = global::TINK.Droid.Resource.Id.accessibility_custom_action_8;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_9 = global::TINK.Droid.Resource.Id.accessibility_custom_action_9;
global::Plugin.Permissions.Resource.Id.actions = global::TINK.Droid.Resource.Id.actions;
global::Plugin.Permissions.Resource.Id.action_container = global::TINK.Droid.Resource.Id.action_container;
global::Plugin.Permissions.Resource.Id.action_divider = global::TINK.Droid.Resource.Id.action_divider;
global::Plugin.Permissions.Resource.Id.action_image = global::TINK.Droid.Resource.Id.action_image;
global::Plugin.Permissions.Resource.Id.action_text = global::TINK.Droid.Resource.Id.action_text;
global::Plugin.Permissions.Resource.Id.all = global::TINK.Droid.Resource.Id.all;
global::Plugin.Permissions.Resource.Id.async = global::TINK.Droid.Resource.Id.async;
global::Plugin.Permissions.Resource.Id.blocking = global::TINK.Droid.Resource.Id.blocking;
global::Plugin.Permissions.Resource.Id.bottom = global::TINK.Droid.Resource.Id.bottom;
global::Plugin.Permissions.Resource.Id.browser_actions_header_text = global::TINK.Droid.Resource.Id.browser_actions_header_text;
global::Plugin.Permissions.Resource.Id.browser_actions_menu_items = global::TINK.Droid.Resource.Id.browser_actions_menu_items;
global::Plugin.Permissions.Resource.Id.browser_actions_menu_item_icon = global::TINK.Droid.Resource.Id.browser_actions_menu_item_icon;
global::Plugin.Permissions.Resource.Id.browser_actions_menu_item_text = global::TINK.Droid.Resource.Id.browser_actions_menu_item_text;
global::Plugin.Permissions.Resource.Id.browser_actions_menu_view = global::TINK.Droid.Resource.Id.browser_actions_menu_view;
global::Plugin.Permissions.Resource.Id.center = global::TINK.Droid.Resource.Id.center;
global::Plugin.Permissions.Resource.Id.center_horizontal = global::TINK.Droid.Resource.Id.center_horizontal;
global::Plugin.Permissions.Resource.Id.center_vertical = global::TINK.Droid.Resource.Id.center_vertical;
global::Plugin.Permissions.Resource.Id.chronometer = global::TINK.Droid.Resource.Id.chronometer;
global::Plugin.Permissions.Resource.Id.clip_horizontal = global::TINK.Droid.Resource.Id.clip_horizontal;
global::Plugin.Permissions.Resource.Id.clip_vertical = global::TINK.Droid.Resource.Id.clip_vertical;
global::Plugin.Permissions.Resource.Id.dialog_button = global::TINK.Droid.Resource.Id.dialog_button;
global::Plugin.Permissions.Resource.Id.end = global::TINK.Droid.Resource.Id.end;
global::Plugin.Permissions.Resource.Id.fill = global::TINK.Droid.Resource.Id.fill;
global::Plugin.Permissions.Resource.Id.fill_horizontal = global::TINK.Droid.Resource.Id.fill_horizontal;
global::Plugin.Permissions.Resource.Id.fill_vertical = global::TINK.Droid.Resource.Id.fill_vertical;
global::Plugin.Permissions.Resource.Id.forever = global::TINK.Droid.Resource.Id.forever;
global::Plugin.Permissions.Resource.Id.icon = global::TINK.Droid.Resource.Id.icon;
global::Plugin.Permissions.Resource.Id.icon_group = global::TINK.Droid.Resource.Id.icon_group;
global::Plugin.Permissions.Resource.Id.info = global::TINK.Droid.Resource.Id.info;
global::Plugin.Permissions.Resource.Id.italic = global::TINK.Droid.Resource.Id.italic;
global::Plugin.Permissions.Resource.Id.left = global::TINK.Droid.Resource.Id.left;
global::Plugin.Permissions.Resource.Id.line1 = global::TINK.Droid.Resource.Id.line1;
global::Plugin.Permissions.Resource.Id.line3 = global::TINK.Droid.Resource.Id.line3;
global::Plugin.Permissions.Resource.Id.none = global::TINK.Droid.Resource.Id.none;
global::Plugin.Permissions.Resource.Id.normal = global::TINK.Droid.Resource.Id.normal;
global::Plugin.Permissions.Resource.Id.notification_background = global::TINK.Droid.Resource.Id.notification_background;
global::Plugin.Permissions.Resource.Id.notification_main_column = global::TINK.Droid.Resource.Id.notification_main_column;
global::Plugin.Permissions.Resource.Id.notification_main_column_container = global::TINK.Droid.Resource.Id.notification_main_column_container;
global::Plugin.Permissions.Resource.Id.right = global::TINK.Droid.Resource.Id.right;
global::Plugin.Permissions.Resource.Id.right_icon = global::TINK.Droid.Resource.Id.right_icon;
global::Plugin.Permissions.Resource.Id.right_side = global::TINK.Droid.Resource.Id.right_side;
global::Plugin.Permissions.Resource.Id.start = global::TINK.Droid.Resource.Id.start;
global::Plugin.Permissions.Resource.Id.tag_accessibility_actions = global::TINK.Droid.Resource.Id.tag_accessibility_actions;
global::Plugin.Permissions.Resource.Id.tag_accessibility_clickable_spans = global::TINK.Droid.Resource.Id.tag_accessibility_clickable_spans;
global::Plugin.Permissions.Resource.Id.tag_accessibility_heading = global::TINK.Droid.Resource.Id.tag_accessibility_heading;
global::Plugin.Permissions.Resource.Id.tag_accessibility_pane_title = global::TINK.Droid.Resource.Id.tag_accessibility_pane_title;
global::Plugin.Permissions.Resource.Id.tag_screen_reader_focusable = global::TINK.Droid.Resource.Id.tag_screen_reader_focusable;
global::Plugin.Permissions.Resource.Id.tag_transition_group = global::TINK.Droid.Resource.Id.tag_transition_group;
global::Plugin.Permissions.Resource.Id.tag_unhandled_key_event_manager = global::TINK.Droid.Resource.Id.tag_unhandled_key_event_manager;
global::Plugin.Permissions.Resource.Id.tag_unhandled_key_listeners = global::TINK.Droid.Resource.Id.tag_unhandled_key_listeners;
global::Plugin.Permissions.Resource.Id.text = global::TINK.Droid.Resource.Id.text;
global::Plugin.Permissions.Resource.Id.text2 = global::TINK.Droid.Resource.Id.text2;
global::Plugin.Permissions.Resource.Id.time = global::TINK.Droid.Resource.Id.time;
global::Plugin.Permissions.Resource.Id.title = global::TINK.Droid.Resource.Id.title;
global::Plugin.Permissions.Resource.Id.top = global::TINK.Droid.Resource.Id.top;
global::Plugin.Permissions.Resource.Integer.status_bar_notification_info_maxnum = global::TINK.Droid.Resource.Integer.status_bar_notification_info_maxnum;
global::Plugin.Permissions.Resource.Layout.browser_actions_context_menu_page = global::TINK.Droid.Resource.Layout.browser_actions_context_menu_page;
global::Plugin.Permissions.Resource.Layout.browser_actions_context_menu_row = global::TINK.Droid.Resource.Layout.browser_actions_context_menu_row;
global::Plugin.Permissions.Resource.Layout.custom_dialog = global::TINK.Droid.Resource.Layout.custom_dialog;
global::Plugin.Permissions.Resource.Layout.notification_action = global::TINK.Droid.Resource.Layout.notification_action;
global::Plugin.Permissions.Resource.Layout.notification_action_tombstone = global::TINK.Droid.Resource.Layout.notification_action_tombstone;
global::Plugin.Permissions.Resource.Layout.notification_template_custom_big = global::TINK.Droid.Resource.Layout.notification_template_custom_big;
global::Plugin.Permissions.Resource.Layout.notification_template_icon_group = global::TINK.Droid.Resource.Layout.notification_template_icon_group;
global::Plugin.Permissions.Resource.Layout.notification_template_part_chronometer = global::TINK.Droid.Resource.Layout.notification_template_part_chronometer;
global::Plugin.Permissions.Resource.Layout.notification_template_part_time = global::TINK.Droid.Resource.Layout.notification_template_part_time;
global::Plugin.Permissions.Resource.String.status_bar_notification_info_overflow = global::TINK.Droid.Resource.String.status_bar_notification_info_overflow;
global::Plugin.Permissions.Resource.Style.TextAppearance_Compat_Notification = global::TINK.Droid.Resource.Style.TextAppearance_Compat_Notification;
global::Plugin.Permissions.Resource.Style.TextAppearance_Compat_Notification_Info = global::TINK.Droid.Resource.Style.TextAppearance_Compat_Notification_Info;
global::Plugin.Permissions.Resource.Style.TextAppearance_Compat_Notification_Line2 = global::TINK.Droid.Resource.Style.TextAppearance_Compat_Notification_Line2;
global::Plugin.Permissions.Resource.Style.TextAppearance_Compat_Notification_Time = global::TINK.Droid.Resource.Style.TextAppearance_Compat_Notification_Time;
global::Plugin.Permissions.Resource.Style.TextAppearance_Compat_Notification_Title = global::TINK.Droid.Resource.Style.TextAppearance_Compat_Notification_Title;
global::Plugin.Permissions.Resource.Style.Widget_Compat_NotificationActionContainer = global::TINK.Droid.Resource.Style.Widget_Compat_NotificationActionContainer;
global::Plugin.Permissions.Resource.Style.Widget_Compat_NotificationActionText = global::TINK.Droid.Resource.Style.Widget_Compat_NotificationActionText;
global::Plugin.Permissions.Resource.Style.Widget_Support_CoordinatorLayout = global::TINK.Droid.Resource.Style.Widget_Support_CoordinatorLayout;
global::Plugin.Permissions.Resource.Styleable.ColorStateListItem = global::TINK.Droid.Resource.Styleable.ColorStateListItem;
global::Plugin.Permissions.Resource.Styleable.ColorStateListItem_alpha = global::TINK.Droid.Resource.Styleable.ColorStateListItem_alpha;
global::Plugin.Permissions.Resource.Styleable.ColorStateListItem_android_alpha = global::TINK.Droid.Resource.Styleable.ColorStateListItem_android_alpha;
global::Plugin.Permissions.Resource.Styleable.ColorStateListItem_android_color = global::TINK.Droid.Resource.Styleable.ColorStateListItem_android_color;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout = global::TINK.Droid.Resource.Styleable.CoordinatorLayout;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout_keylines = global::TINK.Droid.Resource.Styleable.CoordinatorLayout_keylines;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout_Layout = global::TINK.Droid.Resource.Styleable.CoordinatorLayout_Layout;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout_Layout_android_layout_gravity = global::TINK.Droid.Resource.Styleable.CoordinatorLayout_Layout_android_layout_gravity;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout_Layout_layout_anchor = global::TINK.Droid.Resource.Styleable.CoordinatorLayout_Layout_layout_anchor;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout_Layout_layout_anchorGravity = global::TINK.Droid.Resource.Styleable.CoordinatorLayout_Layout_layout_anchorGravity;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout_Layout_layout_behavior = global::TINK.Droid.Resource.Styleable.CoordinatorLayout_Layout_layout_behavior;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout_Layout_layout_dodgeInsetEdges = global::TINK.Droid.Resource.Styleable.CoordinatorLayout_Layout_layout_dodgeInsetEdges;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout_Layout_layout_insetEdge = global::TINK.Droid.Resource.Styleable.CoordinatorLayout_Layout_layout_insetEdge;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout_Layout_layout_keyline = global::TINK.Droid.Resource.Styleable.CoordinatorLayout_Layout_layout_keyline;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout_statusBarBackground = global::TINK.Droid.Resource.Styleable.CoordinatorLayout_statusBarBackground;
global::Plugin.Permissions.Resource.Styleable.FontFamily = global::TINK.Droid.Resource.Styleable.FontFamily;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont = global::TINK.Droid.Resource.Styleable.FontFamilyFont;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont_android_font = global::TINK.Droid.Resource.Styleable.FontFamilyFont_android_font;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont_android_fontStyle = global::TINK.Droid.Resource.Styleable.FontFamilyFont_android_fontStyle;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont_android_fontVariationSettings = global::TINK.Droid.Resource.Styleable.FontFamilyFont_android_fontVariationSettings;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont_android_fontWeight = global::TINK.Droid.Resource.Styleable.FontFamilyFont_android_fontWeight;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont_android_ttcIndex = global::TINK.Droid.Resource.Styleable.FontFamilyFont_android_ttcIndex;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont_font = global::TINK.Droid.Resource.Styleable.FontFamilyFont_font;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont_fontStyle = global::TINK.Droid.Resource.Styleable.FontFamilyFont_fontStyle;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont_fontVariationSettings = global::TINK.Droid.Resource.Styleable.FontFamilyFont_fontVariationSettings;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont_fontWeight = global::TINK.Droid.Resource.Styleable.FontFamilyFont_fontWeight;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont_ttcIndex = global::TINK.Droid.Resource.Styleable.FontFamilyFont_ttcIndex;
global::Plugin.Permissions.Resource.Styleable.FontFamily_fontProviderAuthority = global::TINK.Droid.Resource.Styleable.FontFamily_fontProviderAuthority;
global::Plugin.Permissions.Resource.Styleable.FontFamily_fontProviderCerts = global::TINK.Droid.Resource.Styleable.FontFamily_fontProviderCerts;
global::Plugin.Permissions.Resource.Styleable.FontFamily_fontProviderFetchStrategy = global::TINK.Droid.Resource.Styleable.FontFamily_fontProviderFetchStrategy;
global::Plugin.Permissions.Resource.Styleable.FontFamily_fontProviderFetchTimeout = global::TINK.Droid.Resource.Styleable.FontFamily_fontProviderFetchTimeout;
global::Plugin.Permissions.Resource.Styleable.FontFamily_fontProviderPackage = global::TINK.Droid.Resource.Styleable.FontFamily_fontProviderPackage;
global::Plugin.Permissions.Resource.Styleable.FontFamily_fontProviderQuery = global::TINK.Droid.Resource.Styleable.FontFamily_fontProviderQuery;
global::Plugin.Permissions.Resource.Styleable.GradientColor = global::TINK.Droid.Resource.Styleable.GradientColor;
global::Plugin.Permissions.Resource.Styleable.GradientColorItem = global::TINK.Droid.Resource.Styleable.GradientColorItem;
global::Plugin.Permissions.Resource.Styleable.GradientColorItem_android_color = global::TINK.Droid.Resource.Styleable.GradientColorItem_android_color;
global::Plugin.Permissions.Resource.Styleable.GradientColorItem_android_offset = global::TINK.Droid.Resource.Styleable.GradientColorItem_android_offset;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_centerColor = global::TINK.Droid.Resource.Styleable.GradientColor_android_centerColor;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_centerX = global::TINK.Droid.Resource.Styleable.GradientColor_android_centerX;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_centerY = global::TINK.Droid.Resource.Styleable.GradientColor_android_centerY;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_endColor = global::TINK.Droid.Resource.Styleable.GradientColor_android_endColor;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_endX = global::TINK.Droid.Resource.Styleable.GradientColor_android_endX;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_endY = global::TINK.Droid.Resource.Styleable.GradientColor_android_endY;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_gradientRadius = global::TINK.Droid.Resource.Styleable.GradientColor_android_gradientRadius;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_startColor = global::TINK.Droid.Resource.Styleable.GradientColor_android_startColor;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_startX = global::TINK.Droid.Resource.Styleable.GradientColor_android_startX;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_startY = global::TINK.Droid.Resource.Styleable.GradientColor_android_startY;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_tileMode = global::TINK.Droid.Resource.Styleable.GradientColor_android_tileMode;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_type = global::TINK.Droid.Resource.Styleable.GradientColor_android_type;
global::Plugin.Permissions.Resource.Xml.xamarin_essentials_fileprovider_file_paths = global::TINK.Droid.Resource.Xml.xamarin_essentials_fileprovider_file_paths;
global::Xamarin.Auth.Resource.Animation.slide_in_right = global::TINK.Droid.Resource.Animation.slide_in_right; global::Xamarin.Auth.Resource.Animation.slide_in_right = global::TINK.Droid.Resource.Animation.slide_in_right;
global::Xamarin.Auth.Resource.Animation.slide_out_left = global::TINK.Droid.Resource.Animation.slide_out_left; global::Xamarin.Auth.Resource.Animation.slide_out_left = global::TINK.Droid.Resource.Animation.slide_out_left;
global::Xamarin.Auth.Resource.Attribute.alpha = global::TINK.Droid.Resource.Attribute.alpha; global::Xamarin.Auth.Resource.Attribute.alpha = global::TINK.Droid.Resource.Attribute.alpha;

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
@ -49,8 +49,8 @@
<key>CFBundleDisplayName</key> <key>CFBundleDisplayName</key>
<string>Mein konrad</string> <string>Mein konrad</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>261</string> <string>262</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>3.0.261</string> <string>3.0.262</string>
</dict> </dict>
</plist> </plist>

View file

@ -151,7 +151,6 @@ namespace TINK
DependencyService.Get<ISmartDevice>(), DependencyService.Get<ISmartDevice>(),
specialFolders, specialFolders,
new Cipher(), new Cipher(),
null, // Permissions, no more used.
#if ARENDI #if ARENDI
DependencyService.Get<ICentral>(), DependencyService.Get<ICentral>(),
#else #else
@ -283,7 +282,7 @@ namespace TINK
if (_PermissionsService != null) if (_PermissionsService != null)
return _PermissionsService; return _PermissionsService;
_PermissionsService = new Services.Permissions.Plugin.Permissions(); _PermissionsService = new Services.Permissions.Essentials.Permissions();
return _PermissionsService; return _PermissionsService;
} }
} }

View file

@ -33,7 +33,6 @@
<tr><td>PCLStorage von Daniel Plaisted </td><td><a href="#MSPL_Long">Microsoft Public License (Ms-PL)</a> </td></tr> <tr><td>PCLStorage von Daniel Plaisted </td><td><a href="#MSPL_Long">Microsoft Public License (Ms-PL)</a> </td></tr>
<tr><td>Pinvoke von AArnott </td><td><a href="#MITLicenseAArnott">MIT- Lizenz für Pinvoke</a> </td></tr> <tr><td>Pinvoke von AArnott </td><td><a href="#MITLicenseAArnott">MIT- Lizenz für Pinvoke</a> </td></tr>
<tr><td>Plugin.BLE Adrian Seceleanu, Sven-Michael Stübe </td><td><a href="#ApacheLicense2.0_2004">Apache License 2.0</a> </td></tr> <tr><td>Plugin.BLE Adrian Seceleanu, Sven-Michael Stübe </td><td><a href="#ApacheLicense2.0_2004">Apache License 2.0</a> </td></tr>
<tr><td>Plugin.Permissions von James Montemagno </td><td><a href="#MITLicenseMontemagno2016">MIT Lizenz 2016</a> </td></tr>
<tr><td>Polly von Michael Wolfenden, App vNext </td><td><a href="#NewBSDLicense">New BSD License</a> </td></tr> <tr><td>Polly von Michael Wolfenden, App vNext </td><td><a href="#NewBSDLicense">New BSD License</a> </td></tr>
<tr><td>Serilog von Serilog Contributors </td><td><a href="#ApacheLicense2.0_2004">Apache License 2.0</a> </td></tr> <tr><td>Serilog von Serilog Contributors </td><td><a href="#ApacheLicense2.0_2004">Apache License 2.0</a> </td></tr>
<tr><td>Serilog.Sinks.Debug von Serilog Contributors </td><td><a href="#ApacheLicense2.0_2004">Apache License 2.0</a> </td></tr> <tr><td>Serilog.Sinks.Debug von Serilog Contributors </td><td><a href="#ApacheLicense2.0_2004">Apache License 2.0</a> </td></tr>

View file

@ -4,7 +4,6 @@ using Android.Content.PM;
using Android.OS; using Android.OS;
using Android.Content; using Android.Content;
using Java.Interop; using Java.Interop;
using Plugin.Permissions;
namespace TINK.Droid namespace TINK.Droid
{ {
@ -52,12 +51,6 @@ namespace TINK.Droid
{ {
Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults); Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);
} }
else if (App.PermissionsService.GetType() == typeof(TINK.Services.Permissions.Plugin.Permissions))
{
// Bug in 3.0.244 and earlier versions of sharee.bike app: Call of PermissionsImplementation.Current.OnRequestedPermission result was missing.
// see https://dev.azure.com/TeilRad/sharee.bike%20Buchungsplattform/_workitems/edit/136 for further details.
PermissionsImplementation.Current.OnRequestPermissionsResult(requestCode, permissions, grantResults);
}
base.OnRequestPermissionsResult(requestCode, permissions, grantResults); base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
} }

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="preferExternal" package="com.hauffware.sharee" android:versionName="3.0.261" android:versionCode="261"> <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="preferExternal" package="com.hauffware.sharee" android:versionName="3.0.262" android:versionCode="262">
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="30" /> <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="30" />
<!-- Google Maps related permissions --> <!-- Google Maps related permissions -->
<!-- Permission to receive remote notifications from Google Play Services --> <!-- Permission to receive remote notifications from Google Play Services -->

View file

@ -29,228 +29,6 @@ namespace TINK.Droid
global::PCLCrypto.Resource.String.Hello = global::TINK.Droid.Resource.String.Hello; global::PCLCrypto.Resource.String.Hello = global::TINK.Droid.Resource.String.Hello;
global::PCLStorage.Resource.String.ApplicationName = global::TINK.Droid.Resource.String.ApplicationName; global::PCLStorage.Resource.String.ApplicationName = global::TINK.Droid.Resource.String.ApplicationName;
global::PCLStorage.Resource.String.Hello = global::TINK.Droid.Resource.String.Hello; global::PCLStorage.Resource.String.Hello = global::TINK.Droid.Resource.String.Hello;
global::Plugin.Permissions.Resource.Attribute.alpha = global::TINK.Droid.Resource.Attribute.alpha;
global::Plugin.Permissions.Resource.Attribute.coordinatorLayoutStyle = global::TINK.Droid.Resource.Attribute.coordinatorLayoutStyle;
global::Plugin.Permissions.Resource.Attribute.font = global::TINK.Droid.Resource.Attribute.font;
global::Plugin.Permissions.Resource.Attribute.fontProviderAuthority = global::TINK.Droid.Resource.Attribute.fontProviderAuthority;
global::Plugin.Permissions.Resource.Attribute.fontProviderCerts = global::TINK.Droid.Resource.Attribute.fontProviderCerts;
global::Plugin.Permissions.Resource.Attribute.fontProviderFetchStrategy = global::TINK.Droid.Resource.Attribute.fontProviderFetchStrategy;
global::Plugin.Permissions.Resource.Attribute.fontProviderFetchTimeout = global::TINK.Droid.Resource.Attribute.fontProviderFetchTimeout;
global::Plugin.Permissions.Resource.Attribute.fontProviderPackage = global::TINK.Droid.Resource.Attribute.fontProviderPackage;
global::Plugin.Permissions.Resource.Attribute.fontProviderQuery = global::TINK.Droid.Resource.Attribute.fontProviderQuery;
global::Plugin.Permissions.Resource.Attribute.fontStyle = global::TINK.Droid.Resource.Attribute.fontStyle;
global::Plugin.Permissions.Resource.Attribute.fontVariationSettings = global::TINK.Droid.Resource.Attribute.fontVariationSettings;
global::Plugin.Permissions.Resource.Attribute.fontWeight = global::TINK.Droid.Resource.Attribute.fontWeight;
global::Plugin.Permissions.Resource.Attribute.keylines = global::TINK.Droid.Resource.Attribute.keylines;
global::Plugin.Permissions.Resource.Attribute.layout_anchor = global::TINK.Droid.Resource.Attribute.layout_anchor;
global::Plugin.Permissions.Resource.Attribute.layout_anchorGravity = global::TINK.Droid.Resource.Attribute.layout_anchorGravity;
global::Plugin.Permissions.Resource.Attribute.layout_behavior = global::TINK.Droid.Resource.Attribute.layout_behavior;
global::Plugin.Permissions.Resource.Attribute.layout_dodgeInsetEdges = global::TINK.Droid.Resource.Attribute.layout_dodgeInsetEdges;
global::Plugin.Permissions.Resource.Attribute.layout_insetEdge = global::TINK.Droid.Resource.Attribute.layout_insetEdge;
global::Plugin.Permissions.Resource.Attribute.layout_keyline = global::TINK.Droid.Resource.Attribute.layout_keyline;
global::Plugin.Permissions.Resource.Attribute.statusBarBackground = global::TINK.Droid.Resource.Attribute.statusBarBackground;
global::Plugin.Permissions.Resource.Attribute.ttcIndex = global::TINK.Droid.Resource.Attribute.ttcIndex;
global::Plugin.Permissions.Resource.Color.browser_actions_bg_grey = global::TINK.Droid.Resource.Color.browser_actions_bg_grey;
global::Plugin.Permissions.Resource.Color.browser_actions_divider_color = global::TINK.Droid.Resource.Color.browser_actions_divider_color;
global::Plugin.Permissions.Resource.Color.browser_actions_text_color = global::TINK.Droid.Resource.Color.browser_actions_text_color;
global::Plugin.Permissions.Resource.Color.browser_actions_title_color = global::TINK.Droid.Resource.Color.browser_actions_title_color;
global::Plugin.Permissions.Resource.Color.notification_action_color_filter = global::TINK.Droid.Resource.Color.notification_action_color_filter;
global::Plugin.Permissions.Resource.Color.notification_icon_bg_color = global::TINK.Droid.Resource.Color.notification_icon_bg_color;
global::Plugin.Permissions.Resource.Color.ripple_material_light = global::TINK.Droid.Resource.Color.ripple_material_light;
global::Plugin.Permissions.Resource.Color.secondary_text_default_material_light = global::TINK.Droid.Resource.Color.secondary_text_default_material_light;
global::Plugin.Permissions.Resource.Dimension.browser_actions_context_menu_max_width = global::TINK.Droid.Resource.Dimension.browser_actions_context_menu_max_width;
global::Plugin.Permissions.Resource.Dimension.browser_actions_context_menu_min_padding = global::TINK.Droid.Resource.Dimension.browser_actions_context_menu_min_padding;
global::Plugin.Permissions.Resource.Dimension.compat_button_inset_horizontal_material = global::TINK.Droid.Resource.Dimension.compat_button_inset_horizontal_material;
global::Plugin.Permissions.Resource.Dimension.compat_button_inset_vertical_material = global::TINK.Droid.Resource.Dimension.compat_button_inset_vertical_material;
global::Plugin.Permissions.Resource.Dimension.compat_button_padding_horizontal_material = global::TINK.Droid.Resource.Dimension.compat_button_padding_horizontal_material;
global::Plugin.Permissions.Resource.Dimension.compat_button_padding_vertical_material = global::TINK.Droid.Resource.Dimension.compat_button_padding_vertical_material;
global::Plugin.Permissions.Resource.Dimension.compat_control_corner_material = global::TINK.Droid.Resource.Dimension.compat_control_corner_material;
global::Plugin.Permissions.Resource.Dimension.compat_notification_large_icon_max_height = global::TINK.Droid.Resource.Dimension.compat_notification_large_icon_max_height;
global::Plugin.Permissions.Resource.Dimension.compat_notification_large_icon_max_width = global::TINK.Droid.Resource.Dimension.compat_notification_large_icon_max_width;
global::Plugin.Permissions.Resource.Dimension.notification_action_icon_size = global::TINK.Droid.Resource.Dimension.notification_action_icon_size;
global::Plugin.Permissions.Resource.Dimension.notification_action_text_size = global::TINK.Droid.Resource.Dimension.notification_action_text_size;
global::Plugin.Permissions.Resource.Dimension.notification_big_circle_margin = global::TINK.Droid.Resource.Dimension.notification_big_circle_margin;
global::Plugin.Permissions.Resource.Dimension.notification_content_margin_start = global::TINK.Droid.Resource.Dimension.notification_content_margin_start;
global::Plugin.Permissions.Resource.Dimension.notification_large_icon_height = global::TINK.Droid.Resource.Dimension.notification_large_icon_height;
global::Plugin.Permissions.Resource.Dimension.notification_large_icon_width = global::TINK.Droid.Resource.Dimension.notification_large_icon_width;
global::Plugin.Permissions.Resource.Dimension.notification_main_column_padding_top = global::TINK.Droid.Resource.Dimension.notification_main_column_padding_top;
global::Plugin.Permissions.Resource.Dimension.notification_media_narrow_margin = global::TINK.Droid.Resource.Dimension.notification_media_narrow_margin;
global::Plugin.Permissions.Resource.Dimension.notification_right_icon_size = global::TINK.Droid.Resource.Dimension.notification_right_icon_size;
global::Plugin.Permissions.Resource.Dimension.notification_right_side_padding_top = global::TINK.Droid.Resource.Dimension.notification_right_side_padding_top;
global::Plugin.Permissions.Resource.Dimension.notification_small_icon_background_padding = global::TINK.Droid.Resource.Dimension.notification_small_icon_background_padding;
global::Plugin.Permissions.Resource.Dimension.notification_small_icon_size_as_large = global::TINK.Droid.Resource.Dimension.notification_small_icon_size_as_large;
global::Plugin.Permissions.Resource.Dimension.notification_subtext_size = global::TINK.Droid.Resource.Dimension.notification_subtext_size;
global::Plugin.Permissions.Resource.Dimension.notification_top_pad = global::TINK.Droid.Resource.Dimension.notification_top_pad;
global::Plugin.Permissions.Resource.Dimension.notification_top_pad_large_text = global::TINK.Droid.Resource.Dimension.notification_top_pad_large_text;
global::Plugin.Permissions.Resource.Drawable.notification_action_background = global::TINK.Droid.Resource.Drawable.notification_action_background;
global::Plugin.Permissions.Resource.Drawable.notification_bg = global::TINK.Droid.Resource.Drawable.notification_bg;
global::Plugin.Permissions.Resource.Drawable.notification_bg_low = global::TINK.Droid.Resource.Drawable.notification_bg_low;
global::Plugin.Permissions.Resource.Drawable.notification_bg_low_normal = global::TINK.Droid.Resource.Drawable.notification_bg_low_normal;
global::Plugin.Permissions.Resource.Drawable.notification_bg_low_pressed = global::TINK.Droid.Resource.Drawable.notification_bg_low_pressed;
global::Plugin.Permissions.Resource.Drawable.notification_bg_normal = global::TINK.Droid.Resource.Drawable.notification_bg_normal;
global::Plugin.Permissions.Resource.Drawable.notification_bg_normal_pressed = global::TINK.Droid.Resource.Drawable.notification_bg_normal_pressed;
global::Plugin.Permissions.Resource.Drawable.notification_icon_background = global::TINK.Droid.Resource.Drawable.notification_icon_background;
global::Plugin.Permissions.Resource.Drawable.notification_template_icon_bg = global::TINK.Droid.Resource.Drawable.notification_template_icon_bg;
global::Plugin.Permissions.Resource.Drawable.notification_template_icon_low_bg = global::TINK.Droid.Resource.Drawable.notification_template_icon_low_bg;
global::Plugin.Permissions.Resource.Drawable.notification_tile_bg = global::TINK.Droid.Resource.Drawable.notification_tile_bg;
global::Plugin.Permissions.Resource.Drawable.notify_panel_notification_icon_bg = global::TINK.Droid.Resource.Drawable.notify_panel_notification_icon_bg;
global::Plugin.Permissions.Resource.Id.accessibility_action_clickable_span = global::TINK.Droid.Resource.Id.accessibility_action_clickable_span;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_0 = global::TINK.Droid.Resource.Id.accessibility_custom_action_0;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_1 = global::TINK.Droid.Resource.Id.accessibility_custom_action_1;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_10 = global::TINK.Droid.Resource.Id.accessibility_custom_action_10;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_11 = global::TINK.Droid.Resource.Id.accessibility_custom_action_11;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_12 = global::TINK.Droid.Resource.Id.accessibility_custom_action_12;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_13 = global::TINK.Droid.Resource.Id.accessibility_custom_action_13;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_14 = global::TINK.Droid.Resource.Id.accessibility_custom_action_14;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_15 = global::TINK.Droid.Resource.Id.accessibility_custom_action_15;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_16 = global::TINK.Droid.Resource.Id.accessibility_custom_action_16;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_17 = global::TINK.Droid.Resource.Id.accessibility_custom_action_17;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_18 = global::TINK.Droid.Resource.Id.accessibility_custom_action_18;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_19 = global::TINK.Droid.Resource.Id.accessibility_custom_action_19;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_2 = global::TINK.Droid.Resource.Id.accessibility_custom_action_2;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_20 = global::TINK.Droid.Resource.Id.accessibility_custom_action_20;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_21 = global::TINK.Droid.Resource.Id.accessibility_custom_action_21;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_22 = global::TINK.Droid.Resource.Id.accessibility_custom_action_22;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_23 = global::TINK.Droid.Resource.Id.accessibility_custom_action_23;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_24 = global::TINK.Droid.Resource.Id.accessibility_custom_action_24;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_25 = global::TINK.Droid.Resource.Id.accessibility_custom_action_25;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_26 = global::TINK.Droid.Resource.Id.accessibility_custom_action_26;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_27 = global::TINK.Droid.Resource.Id.accessibility_custom_action_27;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_28 = global::TINK.Droid.Resource.Id.accessibility_custom_action_28;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_29 = global::TINK.Droid.Resource.Id.accessibility_custom_action_29;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_3 = global::TINK.Droid.Resource.Id.accessibility_custom_action_3;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_30 = global::TINK.Droid.Resource.Id.accessibility_custom_action_30;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_31 = global::TINK.Droid.Resource.Id.accessibility_custom_action_31;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_4 = global::TINK.Droid.Resource.Id.accessibility_custom_action_4;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_5 = global::TINK.Droid.Resource.Id.accessibility_custom_action_5;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_6 = global::TINK.Droid.Resource.Id.accessibility_custom_action_6;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_7 = global::TINK.Droid.Resource.Id.accessibility_custom_action_7;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_8 = global::TINK.Droid.Resource.Id.accessibility_custom_action_8;
global::Plugin.Permissions.Resource.Id.accessibility_custom_action_9 = global::TINK.Droid.Resource.Id.accessibility_custom_action_9;
global::Plugin.Permissions.Resource.Id.actions = global::TINK.Droid.Resource.Id.actions;
global::Plugin.Permissions.Resource.Id.action_container = global::TINK.Droid.Resource.Id.action_container;
global::Plugin.Permissions.Resource.Id.action_divider = global::TINK.Droid.Resource.Id.action_divider;
global::Plugin.Permissions.Resource.Id.action_image = global::TINK.Droid.Resource.Id.action_image;
global::Plugin.Permissions.Resource.Id.action_text = global::TINK.Droid.Resource.Id.action_text;
global::Plugin.Permissions.Resource.Id.all = global::TINK.Droid.Resource.Id.all;
global::Plugin.Permissions.Resource.Id.async = global::TINK.Droid.Resource.Id.async;
global::Plugin.Permissions.Resource.Id.blocking = global::TINK.Droid.Resource.Id.blocking;
global::Plugin.Permissions.Resource.Id.bottom = global::TINK.Droid.Resource.Id.bottom;
global::Plugin.Permissions.Resource.Id.browser_actions_header_text = global::TINK.Droid.Resource.Id.browser_actions_header_text;
global::Plugin.Permissions.Resource.Id.browser_actions_menu_items = global::TINK.Droid.Resource.Id.browser_actions_menu_items;
global::Plugin.Permissions.Resource.Id.browser_actions_menu_item_icon = global::TINK.Droid.Resource.Id.browser_actions_menu_item_icon;
global::Plugin.Permissions.Resource.Id.browser_actions_menu_item_text = global::TINK.Droid.Resource.Id.browser_actions_menu_item_text;
global::Plugin.Permissions.Resource.Id.browser_actions_menu_view = global::TINK.Droid.Resource.Id.browser_actions_menu_view;
global::Plugin.Permissions.Resource.Id.center = global::TINK.Droid.Resource.Id.center;
global::Plugin.Permissions.Resource.Id.center_horizontal = global::TINK.Droid.Resource.Id.center_horizontal;
global::Plugin.Permissions.Resource.Id.center_vertical = global::TINK.Droid.Resource.Id.center_vertical;
global::Plugin.Permissions.Resource.Id.chronometer = global::TINK.Droid.Resource.Id.chronometer;
global::Plugin.Permissions.Resource.Id.clip_horizontal = global::TINK.Droid.Resource.Id.clip_horizontal;
global::Plugin.Permissions.Resource.Id.clip_vertical = global::TINK.Droid.Resource.Id.clip_vertical;
global::Plugin.Permissions.Resource.Id.dialog_button = global::TINK.Droid.Resource.Id.dialog_button;
global::Plugin.Permissions.Resource.Id.end = global::TINK.Droid.Resource.Id.end;
global::Plugin.Permissions.Resource.Id.fill = global::TINK.Droid.Resource.Id.fill;
global::Plugin.Permissions.Resource.Id.fill_horizontal = global::TINK.Droid.Resource.Id.fill_horizontal;
global::Plugin.Permissions.Resource.Id.fill_vertical = global::TINK.Droid.Resource.Id.fill_vertical;
global::Plugin.Permissions.Resource.Id.forever = global::TINK.Droid.Resource.Id.forever;
global::Plugin.Permissions.Resource.Id.icon = global::TINK.Droid.Resource.Id.icon;
global::Plugin.Permissions.Resource.Id.icon_group = global::TINK.Droid.Resource.Id.icon_group;
global::Plugin.Permissions.Resource.Id.info = global::TINK.Droid.Resource.Id.info;
global::Plugin.Permissions.Resource.Id.italic = global::TINK.Droid.Resource.Id.italic;
global::Plugin.Permissions.Resource.Id.left = global::TINK.Droid.Resource.Id.left;
global::Plugin.Permissions.Resource.Id.line1 = global::TINK.Droid.Resource.Id.line1;
global::Plugin.Permissions.Resource.Id.line3 = global::TINK.Droid.Resource.Id.line3;
global::Plugin.Permissions.Resource.Id.none = global::TINK.Droid.Resource.Id.none;
global::Plugin.Permissions.Resource.Id.normal = global::TINK.Droid.Resource.Id.normal;
global::Plugin.Permissions.Resource.Id.notification_background = global::TINK.Droid.Resource.Id.notification_background;
global::Plugin.Permissions.Resource.Id.notification_main_column = global::TINK.Droid.Resource.Id.notification_main_column;
global::Plugin.Permissions.Resource.Id.notification_main_column_container = global::TINK.Droid.Resource.Id.notification_main_column_container;
global::Plugin.Permissions.Resource.Id.right = global::TINK.Droid.Resource.Id.right;
global::Plugin.Permissions.Resource.Id.right_icon = global::TINK.Droid.Resource.Id.right_icon;
global::Plugin.Permissions.Resource.Id.right_side = global::TINK.Droid.Resource.Id.right_side;
global::Plugin.Permissions.Resource.Id.start = global::TINK.Droid.Resource.Id.start;
global::Plugin.Permissions.Resource.Id.tag_accessibility_actions = global::TINK.Droid.Resource.Id.tag_accessibility_actions;
global::Plugin.Permissions.Resource.Id.tag_accessibility_clickable_spans = global::TINK.Droid.Resource.Id.tag_accessibility_clickable_spans;
global::Plugin.Permissions.Resource.Id.tag_accessibility_heading = global::TINK.Droid.Resource.Id.tag_accessibility_heading;
global::Plugin.Permissions.Resource.Id.tag_accessibility_pane_title = global::TINK.Droid.Resource.Id.tag_accessibility_pane_title;
global::Plugin.Permissions.Resource.Id.tag_screen_reader_focusable = global::TINK.Droid.Resource.Id.tag_screen_reader_focusable;
global::Plugin.Permissions.Resource.Id.tag_transition_group = global::TINK.Droid.Resource.Id.tag_transition_group;
global::Plugin.Permissions.Resource.Id.tag_unhandled_key_event_manager = global::TINK.Droid.Resource.Id.tag_unhandled_key_event_manager;
global::Plugin.Permissions.Resource.Id.tag_unhandled_key_listeners = global::TINK.Droid.Resource.Id.tag_unhandled_key_listeners;
global::Plugin.Permissions.Resource.Id.text = global::TINK.Droid.Resource.Id.text;
global::Plugin.Permissions.Resource.Id.text2 = global::TINK.Droid.Resource.Id.text2;
global::Plugin.Permissions.Resource.Id.time = global::TINK.Droid.Resource.Id.time;
global::Plugin.Permissions.Resource.Id.title = global::TINK.Droid.Resource.Id.title;
global::Plugin.Permissions.Resource.Id.top = global::TINK.Droid.Resource.Id.top;
global::Plugin.Permissions.Resource.Integer.status_bar_notification_info_maxnum = global::TINK.Droid.Resource.Integer.status_bar_notification_info_maxnum;
global::Plugin.Permissions.Resource.Layout.browser_actions_context_menu_page = global::TINK.Droid.Resource.Layout.browser_actions_context_menu_page;
global::Plugin.Permissions.Resource.Layout.browser_actions_context_menu_row = global::TINK.Droid.Resource.Layout.browser_actions_context_menu_row;
global::Plugin.Permissions.Resource.Layout.custom_dialog = global::TINK.Droid.Resource.Layout.custom_dialog;
global::Plugin.Permissions.Resource.Layout.notification_action = global::TINK.Droid.Resource.Layout.notification_action;
global::Plugin.Permissions.Resource.Layout.notification_action_tombstone = global::TINK.Droid.Resource.Layout.notification_action_tombstone;
global::Plugin.Permissions.Resource.Layout.notification_template_custom_big = global::TINK.Droid.Resource.Layout.notification_template_custom_big;
global::Plugin.Permissions.Resource.Layout.notification_template_icon_group = global::TINK.Droid.Resource.Layout.notification_template_icon_group;
global::Plugin.Permissions.Resource.Layout.notification_template_part_chronometer = global::TINK.Droid.Resource.Layout.notification_template_part_chronometer;
global::Plugin.Permissions.Resource.Layout.notification_template_part_time = global::TINK.Droid.Resource.Layout.notification_template_part_time;
global::Plugin.Permissions.Resource.String.status_bar_notification_info_overflow = global::TINK.Droid.Resource.String.status_bar_notification_info_overflow;
global::Plugin.Permissions.Resource.Style.TextAppearance_Compat_Notification = global::TINK.Droid.Resource.Style.TextAppearance_Compat_Notification;
global::Plugin.Permissions.Resource.Style.TextAppearance_Compat_Notification_Info = global::TINK.Droid.Resource.Style.TextAppearance_Compat_Notification_Info;
global::Plugin.Permissions.Resource.Style.TextAppearance_Compat_Notification_Line2 = global::TINK.Droid.Resource.Style.TextAppearance_Compat_Notification_Line2;
global::Plugin.Permissions.Resource.Style.TextAppearance_Compat_Notification_Time = global::TINK.Droid.Resource.Style.TextAppearance_Compat_Notification_Time;
global::Plugin.Permissions.Resource.Style.TextAppearance_Compat_Notification_Title = global::TINK.Droid.Resource.Style.TextAppearance_Compat_Notification_Title;
global::Plugin.Permissions.Resource.Style.Widget_Compat_NotificationActionContainer = global::TINK.Droid.Resource.Style.Widget_Compat_NotificationActionContainer;
global::Plugin.Permissions.Resource.Style.Widget_Compat_NotificationActionText = global::TINK.Droid.Resource.Style.Widget_Compat_NotificationActionText;
global::Plugin.Permissions.Resource.Style.Widget_Support_CoordinatorLayout = global::TINK.Droid.Resource.Style.Widget_Support_CoordinatorLayout;
global::Plugin.Permissions.Resource.Styleable.ColorStateListItem = global::TINK.Droid.Resource.Styleable.ColorStateListItem;
global::Plugin.Permissions.Resource.Styleable.ColorStateListItem_alpha = global::TINK.Droid.Resource.Styleable.ColorStateListItem_alpha;
global::Plugin.Permissions.Resource.Styleable.ColorStateListItem_android_alpha = global::TINK.Droid.Resource.Styleable.ColorStateListItem_android_alpha;
global::Plugin.Permissions.Resource.Styleable.ColorStateListItem_android_color = global::TINK.Droid.Resource.Styleable.ColorStateListItem_android_color;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout = global::TINK.Droid.Resource.Styleable.CoordinatorLayout;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout_keylines = global::TINK.Droid.Resource.Styleable.CoordinatorLayout_keylines;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout_Layout = global::TINK.Droid.Resource.Styleable.CoordinatorLayout_Layout;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout_Layout_android_layout_gravity = global::TINK.Droid.Resource.Styleable.CoordinatorLayout_Layout_android_layout_gravity;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout_Layout_layout_anchor = global::TINK.Droid.Resource.Styleable.CoordinatorLayout_Layout_layout_anchor;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout_Layout_layout_anchorGravity = global::TINK.Droid.Resource.Styleable.CoordinatorLayout_Layout_layout_anchorGravity;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout_Layout_layout_behavior = global::TINK.Droid.Resource.Styleable.CoordinatorLayout_Layout_layout_behavior;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout_Layout_layout_dodgeInsetEdges = global::TINK.Droid.Resource.Styleable.CoordinatorLayout_Layout_layout_dodgeInsetEdges;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout_Layout_layout_insetEdge = global::TINK.Droid.Resource.Styleable.CoordinatorLayout_Layout_layout_insetEdge;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout_Layout_layout_keyline = global::TINK.Droid.Resource.Styleable.CoordinatorLayout_Layout_layout_keyline;
global::Plugin.Permissions.Resource.Styleable.CoordinatorLayout_statusBarBackground = global::TINK.Droid.Resource.Styleable.CoordinatorLayout_statusBarBackground;
global::Plugin.Permissions.Resource.Styleable.FontFamily = global::TINK.Droid.Resource.Styleable.FontFamily;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont = global::TINK.Droid.Resource.Styleable.FontFamilyFont;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont_android_font = global::TINK.Droid.Resource.Styleable.FontFamilyFont_android_font;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont_android_fontStyle = global::TINK.Droid.Resource.Styleable.FontFamilyFont_android_fontStyle;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont_android_fontVariationSettings = global::TINK.Droid.Resource.Styleable.FontFamilyFont_android_fontVariationSettings;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont_android_fontWeight = global::TINK.Droid.Resource.Styleable.FontFamilyFont_android_fontWeight;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont_android_ttcIndex = global::TINK.Droid.Resource.Styleable.FontFamilyFont_android_ttcIndex;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont_font = global::TINK.Droid.Resource.Styleable.FontFamilyFont_font;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont_fontStyle = global::TINK.Droid.Resource.Styleable.FontFamilyFont_fontStyle;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont_fontVariationSettings = global::TINK.Droid.Resource.Styleable.FontFamilyFont_fontVariationSettings;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont_fontWeight = global::TINK.Droid.Resource.Styleable.FontFamilyFont_fontWeight;
global::Plugin.Permissions.Resource.Styleable.FontFamilyFont_ttcIndex = global::TINK.Droid.Resource.Styleable.FontFamilyFont_ttcIndex;
global::Plugin.Permissions.Resource.Styleable.FontFamily_fontProviderAuthority = global::TINK.Droid.Resource.Styleable.FontFamily_fontProviderAuthority;
global::Plugin.Permissions.Resource.Styleable.FontFamily_fontProviderCerts = global::TINK.Droid.Resource.Styleable.FontFamily_fontProviderCerts;
global::Plugin.Permissions.Resource.Styleable.FontFamily_fontProviderFetchStrategy = global::TINK.Droid.Resource.Styleable.FontFamily_fontProviderFetchStrategy;
global::Plugin.Permissions.Resource.Styleable.FontFamily_fontProviderFetchTimeout = global::TINK.Droid.Resource.Styleable.FontFamily_fontProviderFetchTimeout;
global::Plugin.Permissions.Resource.Styleable.FontFamily_fontProviderPackage = global::TINK.Droid.Resource.Styleable.FontFamily_fontProviderPackage;
global::Plugin.Permissions.Resource.Styleable.FontFamily_fontProviderQuery = global::TINK.Droid.Resource.Styleable.FontFamily_fontProviderQuery;
global::Plugin.Permissions.Resource.Styleable.GradientColor = global::TINK.Droid.Resource.Styleable.GradientColor;
global::Plugin.Permissions.Resource.Styleable.GradientColorItem = global::TINK.Droid.Resource.Styleable.GradientColorItem;
global::Plugin.Permissions.Resource.Styleable.GradientColorItem_android_color = global::TINK.Droid.Resource.Styleable.GradientColorItem_android_color;
global::Plugin.Permissions.Resource.Styleable.GradientColorItem_android_offset = global::TINK.Droid.Resource.Styleable.GradientColorItem_android_offset;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_centerColor = global::TINK.Droid.Resource.Styleable.GradientColor_android_centerColor;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_centerX = global::TINK.Droid.Resource.Styleable.GradientColor_android_centerX;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_centerY = global::TINK.Droid.Resource.Styleable.GradientColor_android_centerY;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_endColor = global::TINK.Droid.Resource.Styleable.GradientColor_android_endColor;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_endX = global::TINK.Droid.Resource.Styleable.GradientColor_android_endX;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_endY = global::TINK.Droid.Resource.Styleable.GradientColor_android_endY;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_gradientRadius = global::TINK.Droid.Resource.Styleable.GradientColor_android_gradientRadius;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_startColor = global::TINK.Droid.Resource.Styleable.GradientColor_android_startColor;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_startX = global::TINK.Droid.Resource.Styleable.GradientColor_android_startX;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_startY = global::TINK.Droid.Resource.Styleable.GradientColor_android_startY;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_tileMode = global::TINK.Droid.Resource.Styleable.GradientColor_android_tileMode;
global::Plugin.Permissions.Resource.Styleable.GradientColor_android_type = global::TINK.Droid.Resource.Styleable.GradientColor_android_type;
global::Plugin.Permissions.Resource.Xml.xamarin_essentials_fileprovider_file_paths = global::TINK.Droid.Resource.Xml.xamarin_essentials_fileprovider_file_paths;
global::Xamarin.Auth.Resource.Animation.slide_in_right = global::TINK.Droid.Resource.Animation.slide_in_right; global::Xamarin.Auth.Resource.Animation.slide_in_right = global::TINK.Droid.Resource.Animation.slide_in_right;
global::Xamarin.Auth.Resource.Animation.slide_out_left = global::TINK.Droid.Resource.Animation.slide_out_left; global::Xamarin.Auth.Resource.Animation.slide_out_left = global::TINK.Droid.Resource.Animation.slide_out_left;
global::Xamarin.Auth.Resource.Attribute.alpha = global::TINK.Droid.Resource.Attribute.alpha; global::Xamarin.Auth.Resource.Attribute.alpha = global::TINK.Droid.Resource.Attribute.alpha;

View file

@ -16,7 +16,7 @@
<AndroidResgenFile>Resources\Resource.Designer.cs</AndroidResgenFile> <AndroidResgenFile>Resources\Resource.Designer.cs</AndroidResgenFile>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies> <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
<AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest> <AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest>
<TargetFrameworkVersion>v10.0</TargetFrameworkVersion> <TargetFrameworkVersion>v11.0</TargetFrameworkVersion>
<AndroidStoreUncompressedFileExtensions /> <AndroidStoreUncompressedFileExtensions />
<MandroidI18n /> <MandroidI18n />
<JavaMaximumHeapSize>2G</JavaMaximumHeapSize> <JavaMaximumHeapSize>2G</JavaMaximumHeapSize>

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
@ -49,8 +49,8 @@
<key>CFBundleDisplayName</key> <key>CFBundleDisplayName</key>
<string>sharee.bike</string> <string>sharee.bike</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>261</string> <string>262</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>3.0.261</string> <string>3.0.262</string>
</dict> </dict>
</plist> </plist>

File diff suppressed because it is too large Load diff

View file

@ -151,7 +151,6 @@ namespace TINK
DependencyService.Get<ISmartDevice>(), DependencyService.Get<ISmartDevice>(),
specialFolders, specialFolders,
new Cipher(), new Cipher(),
null, // Permissions, no more used.
#if ARENDI #if ARENDI
DependencyService.Get<ICentral>(), DependencyService.Get<ICentral>(),
#else #else
@ -283,7 +282,7 @@ namespace TINK
if (_PermissionsService != null) if (_PermissionsService != null)
return _PermissionsService; return _PermissionsService;
_PermissionsService = new Services.Permissions.Plugin.Permissions(); _PermissionsService = new Services.Permissions.Essentials.Permissions();
return _PermissionsService; return _PermissionsService;
} }
} }

View file

@ -33,7 +33,6 @@
<tr><td>PCLStorage von Daniel Plaisted </td><td><a href="#MSPL_Long">Microsoft Public License (Ms-PL)</a> </td></tr> <tr><td>PCLStorage von Daniel Plaisted </td><td><a href="#MSPL_Long">Microsoft Public License (Ms-PL)</a> </td></tr>
<tr><td>Pinvoke von AArnott </td><td><a href="#MITLicenseAArnott">MIT- Lizenz für Pinvoke</a> </td></tr> <tr><td>Pinvoke von AArnott </td><td><a href="#MITLicenseAArnott">MIT- Lizenz für Pinvoke</a> </td></tr>
<tr><td>Plugin.BLE Adrian Seceleanu, Sven-Michael Stübe </td><td><a href="#ApacheLicense2.0_2004">Apache License 2.0</a> </td></tr> <tr><td>Plugin.BLE Adrian Seceleanu, Sven-Michael Stübe </td><td><a href="#ApacheLicense2.0_2004">Apache License 2.0</a> </td></tr>
<tr><td>Plugin.Permissions von James Montemagno </td><td><a href="#MITLicenseMontemagno2016">MIT Lizenz 2016</a> </td></tr>
<tr><td>Polly von Michael Wolfenden, App vNext </td><td><a href="#NewBSDLicense">New BSD License</a> </td></tr> <tr><td>Polly von Michael Wolfenden, App vNext </td><td><a href="#NewBSDLicense">New BSD License</a> </td></tr>
<tr><td>Serilog von Serilog Contributors </td><td><a href="#ApacheLicense2.0_2004">Apache License 2.0</a> </td></tr> <tr><td>Serilog von Serilog Contributors </td><td><a href="#ApacheLicense2.0_2004">Apache License 2.0</a> </td></tr>
<tr><td>Serilog.Sinks.Debug von Serilog Contributors </td><td><a href="#ApacheLicense2.0_2004">Apache License 2.0</a> </td></tr> <tr><td>Serilog.Sinks.Debug von Serilog Contributors </td><td><a href="#ApacheLicense2.0_2004">Apache License 2.0</a> </td></tr>

View file

@ -21,6 +21,9 @@ namespace TINK.View.Map
/// <summary> View model to notify about whether page appears or hides. </summary> /// <summary> View model to notify about whether page appears or hides. </summary>
private MapPageViewModel MapPageViewModel { get; set; } private MapPageViewModel MapPageViewModel { get; set; }
/// <summary> Initialization status to ensure initialization logic is not called multiple times. </summary>
private bool isInitializationStarted = false;
/// <summary> /// <summary>
/// Constructs map page instance. /// Constructs map page instance.
/// </summary> /// </summary>
@ -125,30 +128,27 @@ namespace TINK.View.Map
public INavigationMasterDetail NavigationMasterDetail { private get; set; } public INavigationMasterDetail NavigationMasterDetail { private get; set; }
#endif #endif
/// <summary> /// <summary>
/// Invoked when page is shown. /// Invoked when page is shown.
/// Starts update process. /// Starts update process.
/// </summary> /// </summary>
protected async override void OnAppearing() protected async override void OnAppearing()
{ {
// Don't repeat the initialization if it has been completed already.
if (isInitializationStarted) return;
isInitializationStarted = true;
// Pass reference to member Navigation to show bikes at station x dialog. // Pass reference to member Navigation to show bikes at station x dialog.
try try
{ {
Log.ForContext<MapPage>().Verbose("Constructing map page view model.");
#if TRYNOTBACKSTYLE #if TRYNOTBACKSTYLE
MapPageViewModel = new MapPageViewModel(); MapPageViewModel = new MapPageViewModel();
#else #else
MapPageViewModel = new MapPageViewModel( MapPageViewModel = CreateMapPageViewModel();
App.ModelRoot,
App.PermissionsService,
App.BluetoothService,
App.GeolocationServicesContainer.Active,
(mapspan) => MyMap.MoveToRegion(mapspan),
this,
Navigation);
#endif #endif
} catch (Exception exception) }
catch (Exception exception)
{ {
Log.ForContext<MapPage>().Error("Constructing map page view model failed. {Exception}", exception); Log.ForContext<MapPage>().Error("Constructing map page view model failed. {Exception}", exception);
@ -171,15 +171,7 @@ namespace TINK.View.Map
try try
{ {
if (Device.RuntimePlatform == Device.iOS) ApplyCustomiOSStyling();
{
TINKButton.BackgroundColor = Color.LightGray;
TINKButton.BorderColor = Color.Black;
TINKButton.Margin = new Thickness(10, 10, 10, 10);
KonradButton.BackgroundColor = Color.LightGray;
KonradButton.BorderColor = Color.Black;
KonradButton.Margin = new Thickness(10, 10, 10, 10);
}
} }
catch (Exception exception) catch (Exception exception)
{ {
@ -201,10 +193,7 @@ namespace TINK.View.Map
try try
{ {
// Pre move and scanle maps to avoid initial display of map in Rome. // Pre move and scanle maps to avoid initial display of map in Rome.
Log.ForContext<MapPage>().Verbose("Moving and scaling map."); PremoveAndScaleMap();
MapPageViewModel.MoveAndScale(
(mapSpan) => MyMap.MoveToRegion(mapSpan),
App.ModelRoot.MapSpan);
} }
catch(Exception exception) catch(Exception exception)
{ {
@ -224,8 +213,54 @@ namespace TINK.View.Map
} }
} }
/// <summary> /// <summary>
/// Invoked when pages is closed/ hidden. /// Premoves the Map to a certain location.
/// </summary>
private void PremoveAndScaleMap()
{
Log.ForContext<MapPage>().Verbose("Moving and scaling map.");
MapPageViewModel.MoveAndScale(
(mapSpan) => MyMap.MoveToRegion(mapSpan),
App.ModelRoot.MapSpan);
}
/// <summary>
/// Creates the Map Page's view model.
/// </summary>
private MapPageViewModel CreateMapPageViewModel()
{
Log.ForContext<MapPage>().Verbose("Constructing map page view model.");
return new MapPageViewModel(
App.ModelRoot,
App.PermissionsService,
App.BluetoothService,
App.GeolocationServicesContainer.Active,
(mapspan) => MyMap.MoveToRegion(mapspan),
this,
Navigation);
}
/// <summary>
/// Applies iOS specific styling to branded Buttons.
/// </summary>
private void ApplyCustomiOSStyling()
{
if (Device.RuntimePlatform == Device.iOS)
{
TINKButton.BackgroundColor = Color.LightGray;
TINKButton.BorderColor = Color.Black;
TINKButton.Margin = new Thickness(10, 10, 10, 10);
KonradButton.BackgroundColor = Color.LightGray;
KonradButton.BorderColor = Color.Black;
KonradButton.Margin = new Thickness(10, 10, 10, 10);
}
}
/// <summary>
/// Invoked when pages is closed/ hidden.
/// Stops update process. /// Stops update process.
/// </summary> /// </summary>
protected override async void OnDisappearing() protected override async void OnDisappearing()
@ -235,8 +270,7 @@ namespace TINK.View.Map
// View model might be null. // View model might be null.
await MapPageViewModel?.OnDisappearing(); await MapPageViewModel?.OnDisappearing();
} }
base.OnDisappearing(); base.OnDisappearing();
} }
} }
} }

View file

@ -15,7 +15,6 @@ using System.Threading;
using TINK.Services.BluetoothLock; using TINK.Services.BluetoothLock;
using TINK.Model.Services.Geolocation; using TINK.Model.Services.Geolocation;
using TINK.Model.Services.CopriApi.ServerUris; using TINK.Model.Services.CopriApi.ServerUris;
using Plugin.Permissions.Abstractions;
using TINK.Services.BluetoothLock.Crypto; using TINK.Services.BluetoothLock.Crypto;
using TINK.ViewModel.Map; using TINK.ViewModel.Map;
using TINK.ViewModel.Settings; using TINK.ViewModel.Settings;
@ -156,7 +155,6 @@ namespace TINK.Model
ISmartDevice device, ISmartDevice device,
ISpecialFolder specialFolder, ISpecialFolder specialFolder,
ICipher cipher, ICipher cipher,
IPermissions permissions = null,
object arendiCentral = null, object arendiCentral = null,
Func<bool> isConnectedFunc = null, Func<bool> isConnectedFunc = null,
Action<SendOrPostCallback, object> postAction = null, Action<SendOrPostCallback, object> postAction = null,

View file

@ -455,9 +455,8 @@ namespace TINK.Model
AppResources.ChangeLog3_0_250 // Third-party components updated. AppResources.ChangeLog3_0_250 // Third-party components updated.
}, },
{ {
new Version(3, 0, 260), new Version(3, 0, 262),
// Same info as for version 3.0.251 and 3.0.252 AppResources.ChangeLog3_0_262
AppResources.ChangeLog3_0_231 // Minor improvements.
} }
}; };

View file

@ -871,6 +871,15 @@ namespace TINK.MultilingualResources {
} }
} }
/// <summary>
/// Looks up a localized string similar to Geolocation permission request refactored..
/// </summary>
public static string ChangeLog3_0_262 {
get {
return ResourceManager.GetString("ChangeLog3_0_262", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to Lock of rented bike can not be found.. /// Looks up a localized string similar to Lock of rented bike can not be found..
/// </summary> /// </summary>

View file

@ -710,4 +710,7 @@ Kleinere Verbesserungen.</value>
Kartenzentrierfehler behoben. Kartenzentrierfehler behoben.
Kleine Verbesserungen.</value> Kleine Verbesserungen.</value>
</data> </data>
<data name="ChangeLog3_0_262" xml:space="preserve">
<value>Anfrage nach Geolocation-Zugriffserlaubnis überarbeitet.</value>
</data>
</root> </root>

View file

@ -805,4 +805,7 @@ Minor fixes.</value>
Center map to current position issue fixed. Center map to current position issue fixed.
Minor improvements.</value> Minor improvements.</value>
</data> </data>
<data name="ChangeLog3_0_262" xml:space="preserve">
<value>Geolocation permission request refactored.</value>
</data>
</root> </root>

View file

@ -952,6 +952,10 @@ Minor improvements.</source>
Kartenzentrierfehler behoben. Kartenzentrierfehler behoben.
Kleine Verbesserungen.</target> Kleine Verbesserungen.</target>
</trans-unit> </trans-unit>
<trans-unit id="ChangeLog3_0_262" translate="yes" xml:space="preserve">
<source>Geolocation permission request refactored.</source>
<target state="translated">Anfrage nach Geolocation-Zugriffserlaubnis überarbeitet.</target>
</trans-unit>
</group> </group>
</body> </body>
</file> </file>

View file

@ -1,59 +0,0 @@
using System.Threading.Tasks;
namespace TINK.Services.Permissions.Plugin
{
using global::Plugin.Permissions;
public class Permissions : ILocationPermission
{
/// <summary> Checks the permission status.</summary>
public async Task<Status> CheckStatusAsync()
{
switch (await CrossPermissions.Current.CheckPermissionStatusAsync<LocationPermission>())
{
case global::Plugin.Permissions.Abstractions.PermissionStatus.Denied:
return Status.Denied;
case global::Plugin.Permissions.Abstractions.PermissionStatus.Granted:
return Status.Granted;
case global::Plugin.Permissions.Abstractions.PermissionStatus.Unknown:
return Status.Unknown;
default:
// Comprises
// - PermissionStatus.Disabled and
// - PermissionStatus.Restricted.
return Status.DeniedRequiresSettingsUI;
}
}
/// <summary> Requests location permission.</summary>
/// <returns>Permission status after request.</returns>
public async Task<Status> RequestAsync()
{
switch (await CrossPermissions.Current.RequestPermissionAsync<LocationPermission>())
{
case global::Plugin.Permissions.Abstractions.PermissionStatus.Denied:
return Status.Denied;
case global::Plugin.Permissions.Abstractions.PermissionStatus.Granted:
return Status.Granted;
case global::Plugin.Permissions.Abstractions.PermissionStatus.Unknown:
return Status.Unknown;
default:
// Comprises
// - PermissionStatus.Disabled and
// - PermissionStatus.Restricted.
return Status.DeniedRequiresSettingsUI;
}
}
/// <summary> Opens app settings dialog.</summary>
public bool OpenAppSettings()
=> CrossPermissions.Current.OpenAppSettings();
}
}

View file

@ -28,7 +28,6 @@
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" /> <PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="Plugin.BLE" Version="2.1.2" /> <PackageReference Include="Plugin.BLE" Version="2.1.2" />
<PackageReference Include="Plugin.BluetoothLE" Version="6.3.0.19" /> <PackageReference Include="Plugin.BluetoothLE" Version="6.3.0.19" />
<PackageReference Include="Plugin.Permissions" Version="6.0.1" />
<PackageReference Include="Serilog" Version="2.10.0" /> <PackageReference Include="Serilog" Version="2.10.0" />
<PackageReference Include="Serilog.Sinks.Debug" Version="2.0.0" /> <PackageReference Include="Serilog.Sinks.Debug" Version="2.0.0" />
<PackageReference Include="Serilog.Sinks.File" Version="5.0.0" /> <PackageReference Include="Serilog.Sinks.File" Version="5.0.0" />
@ -51,7 +50,6 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Folder Include="Services\Permissions\Essentials\" /> <Folder Include="Services\Permissions\Essentials\" />
<Folder Include="Services\Permissions\Plugin\" />
<Folder Include="ViewModel\Info\BikeInfo\" /> <Folder Include="ViewModel\Info\BikeInfo\" />
<Folder Include="ViewModel\FeesAndBikes\" /> <Folder Include="ViewModel\FeesAndBikes\" />
</ItemGroup> </ItemGroup>

View file

@ -207,7 +207,7 @@ namespace TINK.ViewModel.Map
var l_oPin = new Pin var l_oPin = new Pin
{ {
Position = new Xamarin.Forms.GoogleMaps.Position(station.Position.Latitude, station.Position.Longitude), Position = new Xamarin.Forms.GoogleMaps.Position(station.Position.Latitude, station.Position.Longitude),
Label = long.TryParse(station.Id, out long stationId) && stationId > CUSTOM_ICONS_COUNT Label = long.TryParse(station.Id, out long stationId) && stationId > CUSTOM_ICONS_COUNT
? station.GetStationName() ? station.GetStationName()
@ -231,13 +231,13 @@ namespace TINK.ViewModel.Map
for (int pinIndex = 0; pinIndex < stationsColorList.Count; pinIndex++) for (int pinIndex = 0; pinIndex < stationsColorList.Count; pinIndex++)
{ {
var indexPartPrefix = int.TryParse(Pins[pinIndex].Tag.ToString(), out int stationId) var indexPartPrefix = int.TryParse(Pins[pinIndex].Tag.ToString(), out int stationId)
&& stationId <= CUSTOM_ICONS_COUNT && stationId <= CUSTOM_ICONS_COUNT
? $"{stationId}" // there is a station marker with index letter for given station id ? $"{stationId}" // there is a station marker with index letter for given station id
: "Open"; // there is no station marker. Use open marker. : "Open"; // there is no station marker. Use open marker.
var colorPartPrefix = GetRessourceNameColorPart(stationsColorList[pinIndex]); var colorPartPrefix = GetRessourceNameColorPart(stationsColorList[pinIndex]);
var l_iName = $"{indexPartPrefix.ToString().PadLeft(2, '0')}_{colorPartPrefix}{(DeviceInfo.Platform == DevicePlatform.Android ? ".png" : string.Empty)}"; var l_iName = $"{indexPartPrefix.ToString().PadLeft(2, '0')}_{colorPartPrefix}{(DeviceInfo.Platform == DevicePlatform.Android ? ".png" : string.Empty)}";
try try
{ {
@ -292,7 +292,7 @@ namespace TINK.ViewModel.Map
} }
/// <summary> /// <summary>
/// Invoked when page is shown. /// Invoked when page is shown.
/// Starts update process. /// Starts update process.
/// </summary> /// </summary>
/// <param name="p_oFilterDictionaryMapPage">Holds map page filter settings.</param> /// <param name="p_oFilterDictionaryMapPage">Holds map page filter settings.</param>
@ -307,105 +307,25 @@ namespace TINK.ViewModel.Map
Polling = TinkApp.Polling; Polling = TinkApp.Polling;
Log.ForContext<MapPageViewModel>().Information( Log.ForContext<MapPageViewModel>().Information(
$"{(Polling != null && Polling.IsActivated ? $"Map page is appearing. Update periode is {Polling.Periode.TotalSeconds} sec." : "Map page is appearing. Polling is off.")}" + $"{(Polling != null && Polling.IsActivated ? $"Map page is appearing. Update periode is {Polling.Periode.TotalSeconds} sec." : "Map page is appearing. Polling is off.")}" +
$"Current UI language is {Thread.CurrentThread.CurrentUICulture.Name}."); $"Current UI language is {Thread.CurrentThread.CurrentUICulture.Name}.");
// Update map page filter // Update map page filter
ActiveFilterMap = TinkApp.GroupFilterMapPage; ActiveFilterMap = TinkApp.GroupFilterMapPage;
ActionText = AppResources.ActivityTextRequestingLocationPermissions; ActionText = AppResources.ActivityTextRequestingLocationPermissions;
Status status = await RequestLocationPermission();
// Check location permission
var status = await PermissionsService.CheckStatusAsync();
if (TinkApp.CenterMapToCurrentLocation
&& !GeolocationService.IsSimulation
&& status != Status.Granted)
{
var permissionResult = await PermissionsService.RequestAsync();
if (permissionResult != Status.Granted)
{
var dialogResult = await ViewService.DisplayAlert(
AppResources.MessageTitleHint,
AppResources.MessageCenterMapLocationPermissionOpenDialog,
AppResources.MessageAnswerYes,
AppResources.MessageAnswerNo);
if (dialogResult)
{
// User decided to give access to locations permissions.
PermissionsService.OpenAppSettings();
ActionText = "";
IsRunning = false;
IsMapPageEnabled = true;
return;
}
}
}
ActionText = AppResources.ActivityTextMapLoadingStationsAndBikes; ActionText = AppResources.ActivityTextMapLoadingStationsAndBikes;
IsConnected = TinkApp.GetIsConnected(); IsConnected = TinkApp.GetIsConnected();
var resultStationsAndBikes = await TinkApp.GetConnector(IsConnected).Query.GetBikesAndStationsAsync();
Result<StationsAndBikesContainer> resultStationsAndBikes = await TinkApp.GetConnector(IsConnected).Query.GetBikesAndStationsAsync();
TinkApp.Stations = resultStationsAndBikes.Response.StationsAll; TinkApp.Stations = resultStationsAndBikes.Response.StationsAll;
if (Pins.Count > 0 && Pins.Count != resultStationsAndBikes.Response.StationsAll.Count) await SetStationsOnMap(resultStationsAndBikes.Response.StationsAll);
{ await HandleAuthCookieNotDefinedException(resultStationsAndBikes.Exception);
// Either
// - user logged in/ logged out which might lead to more/ less stations beeing available
// - new stations were added/ existing ones remove
Pins.Clear();
}
// Check if there are alreay any pins to the map
// i.e detecte first call of member OnAppearing after construction
if (Pins.Count <= 0)
{
Log.ForContext<MapPageViewModel>().Debug($"{(ActiveFilterMap.GetGroup().Any() ? $"Active map filter is {string.Join(",", ActiveFilterMap.GetGroup())}." : "Map filter is off.")}");
// Map was not yet initialized.
// Get stations from Copri
Log.ForContext<MapPageViewModel>().Verbose("No pins detected on page.");
if (resultStationsAndBikes.Response.StationsAll.CopriVersion < CopriCallsStatic.UnsupportedVersionLower)
{
await ViewService.DisplayAlert(
AppResources.MessageWaring,
string.Format(AppResources.MessageCopriVersionIsOutdated, ContactPageViewModel.GetAppName(TinkApp.Uris.ActiveUri)),
AppResources.MessageAnswerOk);
Log.ForContext<MapPageViewModel>().Error($"Outdated version of app detected. Version expected is {resultStationsAndBikes.Response.StationsAll.CopriVersion}.");
}
if (resultStationsAndBikes.Response.StationsAll.CopriVersion >= CopriCallsStatic.UnsupportedVersionUpper)
{
await ViewService.DisplayAlert(
AppResources.MessageWaring,
string.Format(AppResources.MessageAppVersionIsOutdated, ContactPageViewModel.GetAppName(TinkApp.Uris.ActiveUri)),
AppResources.MessageAnswerOk);
Log.ForContext<MapPageViewModel>().Error($"Outdated version of app detected. Version expected is {resultStationsAndBikes.Response.StationsAll.CopriVersion}.");
}
// Set pins to their positions on map.
InitializePins(resultStationsAndBikes.Response.StationsAll);
Log.ForContext<MapPageViewModel>().Verbose("Update of pins done.");
}
if (resultStationsAndBikes.Exception?.GetType() == typeof(AuthcookieNotDefinedException))
{
Log.ForContext<MapPageViewModel>().Error("Map page is shown (probable for the first time after startup of app) and COPRI auth cookie is not defined. {@l_oException}", resultStationsAndBikes.Exception);
// COPRI reports an auth cookie error.
await ViewService.DisplayAlert(
AppResources.MessageWaring,
AppResources.MessageMapPageErrorAuthcookieUndefined,
AppResources.MessageAnswerOk);
await TinkApp.GetConnector(IsConnected).Command.DoLogout();
TinkApp.ActiveUser.Logout();
}
// Update pin colors. // Update pin colors.
Log.ForContext<MapPageViewModel>().Verbose("Starting update pins color..."); Log.ForContext<MapPageViewModel>().Verbose("Starting update pins color...");
@ -417,33 +337,14 @@ namespace TINK.ViewModel.Map
// Update pins color form count of bikes located at station. // Update pins color form count of bikes located at station.
UpdatePinsColor(colors); UpdatePinsColor(colors);
Log.ForContext<MapPageViewModel>().Verbose("Update pins color done.");
// Move and scale before getting stations and bikes which takes some time. // Move and scale before getting stations and bikes which takes some time.
ActionText = AppResources.ActivityTextCenterMap; ActionText = AppResources.ActivityTextCenterMap;
if (TinkApp.CenterMapToCurrentLocation) await MoveMapToCurrentPositionOfUser(status);
{
Location currentLocation = null;
try
{
currentLocation = await GeolocationService.GetAsync();
}
catch (Exception ex)
{
Log.ForContext<MapPageViewModel>().Error("Getting location failed. {Exception}", ex);
}
TinkApp.MapSpan = MapSpan.FromCenterAndRadius(
new Xamarin.Forms.GoogleMaps.Position(currentLocation.Latitude, currentLocation.Longitude),
TinkApp.MapSpan.Radius);
TinkApp.Save();
}
MoveAndScale(m_oMoveToRegionDelegate, TinkApp.MapSpan);
m_oViewUpdateManager = CreateUpdateTask(); m_oViewUpdateManager = CreateUpdateTask();
Log.ForContext<MapPageViewModel>().Verbose("Update pins color done.");
try try
{ {
// Update bikes at station or my bikes depending on context. // Update bikes at station or my bikes depending on context.
@ -474,6 +375,144 @@ namespace TINK.ViewModel.Map
} }
} }
/// <summary>
/// Invoked when the auth cookie is not defined.
/// </summary>
private async Task HandleAuthCookieNotDefinedException(Exception exception)
{
if (exception?.GetType() == typeof(AuthcookieNotDefinedException))
{
Log.ForContext<MapPageViewModel>().Error("Map page is shown (probable for the first time after startup of app) and COPRI auth cookie is not defined. {@l_oException}", exception);
// COPRI reports an auth cookie error.
await ViewService.DisplayAlert(
AppResources.MessageWaring,
AppResources.MessageMapPageErrorAuthcookieUndefined,
AppResources.MessageAnswerOk);
await TinkApp.GetConnector(IsConnected).Command.DoLogout();
TinkApp.ActiveUser.Logout();
}
}
/// <summary>
/// Sets the available stations on the map.
/// </summary>
private async Task SetStationsOnMap(StationDictionary stations)
{
if (Pins.Count > 0 && Pins.Count != stations.Count)
{
// Either
// - user logged in/ logged out which might lead to more/ less stations beeing available
// - new stations were added/ existing ones remove
Pins.Clear();
}
// Check if there are alreay any pins to the map
// i.e detecte first call of member OnAppearing after construction
if (Pins.Count <= 0)
{
Log.ForContext<MapPageViewModel>().Debug($"{(ActiveFilterMap.GetGroup().Any() ? $"Active map filter is {string.Join(",", ActiveFilterMap.GetGroup())}." : "Map filter is off.")}");
// Map was not yet initialized.
// Get stations from Copri
Log.ForContext<MapPageViewModel>().Verbose("No pins detected on page.");
if (stations.CopriVersion < CopriCallsStatic.UnsupportedVersionLower)
{
await ViewService.DisplayAlert(
AppResources.MessageWaring,
string.Format(AppResources.MessageCopriVersionIsOutdated, ContactPageViewModel.GetAppName(TinkApp.Uris.ActiveUri)),
AppResources.MessageAnswerOk);
Log.ForContext<MapPageViewModel>().Error($"Outdated version of app detected. Version expected is {stations.CopriVersion}.");
}
if (stations.CopriVersion >= CopriCallsStatic.UnsupportedVersionUpper)
{
await ViewService.DisplayAlert(
AppResources.MessageWaring,
string.Format(AppResources.MessageAppVersionIsOutdated, ContactPageViewModel.GetAppName(TinkApp.Uris.ActiveUri)),
AppResources.MessageAnswerOk);
Log.ForContext<MapPageViewModel>().Error($"Outdated version of app detected. Version expected is {stations.CopriVersion}.");
}
// Set pins to their positions on map.
InitializePins(stations);
Log.ForContext<MapPageViewModel>().Verbose("Update of pins done.");
}
}
/// <summary>
/// Moves the map to the current position of the user.
/// If location permission hasn't been granted, the position is not adjusted.
/// </summary>
private async Task MoveMapToCurrentPositionOfUser(Status status)
{
if (status == Status.Granted)
{
ActionText = AppResources.ActivityTextCenterMap;
if (TinkApp.CenterMapToCurrentLocation)
{
Location currentLocation = null;
try
{
currentLocation = await GeolocationService.GetAsync();
}
catch (Exception ex)
{
Log.ForContext<MapPageViewModel>().Error("Getting location failed. {Exception}", ex);
}
TinkApp.MapSpan = MapSpan.FromCenterAndRadius(
new Xamarin.Forms.GoogleMaps.Position(currentLocation.Latitude, currentLocation.Longitude),
TinkApp.MapSpan.Radius);
TinkApp.Save();
}
MoveAndScale(m_oMoveToRegionDelegate, TinkApp.MapSpan);
}
}
/// <summary>
/// Requests the location permission from the user.
/// If the user declines, a dialog prompot is shown, telling the user to toggle the permission in the device settings.
/// </summary>
/// <returns>The permission status.</returns>
private async Task<Status> RequestLocationPermission()
{
// Check location permission
var status = await PermissionsService.CheckStatusAsync();
if (TinkApp.CenterMapToCurrentLocation
&& !GeolocationService.IsSimulation
&& status != Status.Granted)
{
status = await PermissionsService.RequestAsync();
if (status != Status.Granted)
{
var dialogResult = await ViewService.DisplayAlert(
AppResources.MessageTitleHint,
AppResources.MessageCenterMapLocationPermissionOpenDialog,
AppResources.MessageAnswerYes,
AppResources.MessageAnswerNo);
if (dialogResult)
{
// User decided to give access to locations permissions.
PermissionsService.OpenAppSettings();
ActionText = "";
IsRunning = false;
IsMapPageEnabled = true;
}
}
}
return status;
}
/// <summary> Moves map and scales visible region depending on active filter. </summary> /// <summary> Moves map and scales visible region depending on active filter. </summary>
public static void MoveAndScale( public static void MoveAndScale(
Action<MapSpan> moveToRegionDelegate, Action<MapSpan> moveToRegionDelegate,
@ -517,7 +556,7 @@ namespace TINK.ViewModel.Map
Log.ForContext<MapPageViewModel>().Error("Getting bikes and stations in polling context failed with exception {Exception}.", exception); Log.ForContext<MapPageViewModel>().Error("Getting bikes and stations in polling context failed with exception {Exception}.", exception);
} }
// Check if there are alreay any pins to the map. // Check if there are alreay any pins to the map.
// If no initialze pins. // If no initialze pins.
if (Pins.Count <= 0) if (Pins.Count <= 0)
{ {
@ -562,7 +601,7 @@ namespace TINK.ViewModel.Map
} }
/// <summary> /// <summary>
/// Invoked when pages is closed/ hidden. /// Invoked when pages is closed/ hidden.
/// Stops update process. /// Stops update process.
/// </summary> /// </summary>
public async Task OnDisappearing() public async Task OnDisappearing()
@ -583,7 +622,7 @@ namespace TINK.ViewModel.Map
// Lock action to prevent multiple instances of "BikeAtStation" being opened. // Lock action to prevent multiple instances of "BikeAtStation" being opened.
IsMapPageEnabled = false; IsMapPageEnabled = false;
TinkApp.SelectedStation = TinkApp.Stations.FirstOrDefault(x => x.Id == selectedStationId) TinkApp.SelectedStation = TinkApp.Stations.FirstOrDefault(x => x.Id == selectedStationId)
?? new Station(selectedStationId, new List<string>(), null); // Station might not be in list StationDictinaly because this list is not updatd in background task. ?? new Station(selectedStationId, new List<string>(), null); // Station might not be in list StationDictinaly because this list is not updatd in background task.
#if TRYNOTBACKSTYLE #if TRYNOTBACKSTYLE
@ -839,7 +878,7 @@ namespace TINK.ViewModel.Map
if (permissionResult != Status.Granted) if (permissionResult != Status.Granted)
{ {
var dialogResult = await ViewService.DisplayAlert( var dialogResult = await ViewService.DisplayAlert(
AppResources.MessageTitleHint, AppResources.MessageTitleHint,
AppResources.MessageBikesManagementLocationPermission, AppResources.MessageBikesManagementLocationPermission,
"Ja", "Ja",
"Nein"); "Nein");
@ -854,14 +893,14 @@ namespace TINK.ViewModel.Map
} }
} }
// Do not use property .State to get bluetooth state due // Do not use property .State to get bluetooth state due
// to issue https://hausource.visualstudio.com/TINK/_workitems/edit/116 / // to issue https://hausource.visualstudio.com/TINK/_workitems/edit/116 /
// see https://github.com/xabre/xamarin-bluetooth-le/issues/112#issuecomment-380994887 // see https://github.com/xabre/xamarin-bluetooth-le/issues/112#issuecomment-380994887
if (await BluetoothService.GetBluetoothState() != Plugin.BLE.Abstractions.Contracts.BluetoothState.On) if (await BluetoothService.GetBluetoothState() != Plugin.BLE.Abstractions.Contracts.BluetoothState.On)
{ {
await ViewService.DisplayAlert( await ViewService.DisplayAlert(
AppResources.MessageTitleHint, AppResources.MessageTitleHint,
AppResources.MessageBikesManagementBluetoothActivation, AppResources.MessageBikesManagementBluetoothActivation,
AppResources.MessageAnswerOk); AppResources.MessageAnswerOk);
IsMapPageEnabled = true; IsMapPageEnabled = true;
ActionText = ""; ActionText = "";
@ -939,4 +978,4 @@ namespace TINK.ViewModel.Map
public bool IsToggleVisible => tinkKonradToggleViewModel.IsToggleVisible; public bool IsToggleVisible => tinkKonradToggleViewModel.IsToggleVisible;
} }
} }

View file

@ -1,41 +0,0 @@
using Plugin.Permissions;
using Plugin.Permissions.Abstractions;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace TestFramework.Services.Permissions
{
public class PermissionsMock : IPermissions
{
public async Task<PermissionStatus> CheckPermissionStatusAsync<T>() where T : BasePermission, new()
{
return await Task.FromResult(Plugin.Permissions.Abstractions.PermissionStatus.Granted);
}
public Task<PermissionStatus> CheckPermissionStatusAsync(Permission permission)
{
throw new NotImplementedException();
}
public bool OpenAppSettings()
{
throw new NotImplementedException();
}
public Task<PermissionStatus> RequestPermissionAsync<T>() where T : BasePermission, new()
{
throw new NotImplementedException();
}
public Task<Dictionary<Permission, PermissionStatus>> RequestPermissionsAsync(params Permission[] permissions)
{
throw new NotImplementedException();
}
public Task<bool> ShouldShowRequestPermissionRationaleAsync(Permission permission)
{
throw new NotImplementedException();
}
}
}

View file

@ -25,7 +25,6 @@
<Folder Include="Services\BluetoothLock\" /> <Folder Include="Services\BluetoothLock\" />
<Folder Include="Services\CopriApi\" /> <Folder Include="Services\CopriApi\" />
<Folder Include="Services\Geolocation\" /> <Folder Include="Services\Geolocation\" />
<Folder Include="Services\Permissions\" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View file

@ -51,7 +51,6 @@ namespace TestShareeLib.UseCases.Startup
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
new PermissionsMock(),
isConnectedFunc: () => true, isConnectedFunc: () => true,
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
lastVersion: new Version(3, 0, 173)); // Current app version. Must be larger or equal 3.0.173 to lastVersion: new Version(3, 0, 173)); // Current app version. Must be larger or equal 3.0.173 to
@ -104,7 +103,6 @@ namespace TestShareeLib.UseCases.Startup
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
new PermissionsMock(),
isConnectedFunc: () => true, isConnectedFunc: () => true,
currentVersion: new Version(3, 2, 0, 115), currentVersion: new Version(3, 2, 0, 115),
lastVersion: new Version(3, 0, 173)); // Current app version. Must be larger or equal 3.0.173 to lastVersion: new Version(3, 0, 173)); // Current app version. Must be larger or equal 3.0.173 to
@ -165,7 +163,6 @@ namespace TestShareeLib.UseCases.Startup
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
new PermissionsMock(),
isConnectedFunc: () => true, isConnectedFunc: () => true,
currentVersion: new Version(3, 2, 0, 115), currentVersion: new Version(3, 2, 0, 115),
lastVersion: new Version(3, 0, 173)); // Current app version. Must be larger or equal 3.0.173 to lastVersion: new Version(3, 0, 173)); // Current app version. Must be larger or equal 3.0.173 to
@ -220,7 +217,6 @@ namespace TestShareeLib.UseCases.Startup
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
new PermissionsMock(),
isConnectedFunc: () => true, isConnectedFunc: () => true,
currentVersion: new Version(3, 2, 0, 115), currentVersion: new Version(3, 2, 0, 115),
lastVersion: new Version(3, 0, 173)); // Current app version. Must be larger or equal 3.0.173 to lastVersion: new Version(3, 0, 173)); // Current app version. Must be larger or equal 3.0.173 to
@ -276,7 +272,6 @@ namespace TestShareeLib.UseCases.Startup
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
new PermissionsMock(),
#if ARENDI #if ARENDI
Substitute.For<ICentral>(), Substitute.For<ICentral>(),
#endif #endif
@ -319,7 +314,6 @@ namespace TestShareeLib.UseCases.Startup
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
new PermissionsMock(),
#if ARENDI // Requires LockItArendi library. #if ARENDI // Requires LockItArendi library.
Substitute.For<ICentral>(), Substitute.For<ICentral>(),
#endif #endif
@ -364,7 +358,6 @@ namespace TestShareeLib.UseCases.Startup
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
new PermissionsMock(),
#if ARENDI // Requires LockItArendi library. #if ARENDI // Requires LockItArendi library.
Substitute.For<ICentral>(), Substitute.For<ICentral>(),
#endif #endif

View file

@ -9,8 +9,6 @@ using TINK.Model.Services.Geolocation;
using TINK.Services.BluetoothLock; using TINK.Services.BluetoothLock;
using TINK.Model.Device; using TINK.Model.Device;
using TINK.Model.User.Account; using TINK.Model.User.Account;
using Plugin.Permissions.Abstractions;
using TestShareeLib.Repository; using TestShareeLib.Repository;
using TestFramework.Repository; using TestFramework.Repository;
@ -26,7 +24,6 @@ namespace TestTINKLib.Fixtures.UseCases.Logout
var locksService = Substitute.For<ILocksService>(); var locksService = Substitute.For<ILocksService>();
var device = Substitute.For<ISmartDevice>(); var device = Substitute.For<ISmartDevice>();
var specialFolder = Substitute.For<ISpecialFolder>(); var specialFolder = Substitute.For<ISpecialFolder>();
var permissions = Substitute.For<IPermissions>();
var account = Substitute.For<IAccount>(); var account = Substitute.For<IAccount>();
accountStore.Load().Returns(account); accountStore.Load().Returns(account);
@ -42,14 +39,13 @@ namespace TestTINKLib.Fixtures.UseCases.Logout
activeUri: new Uri(CopriServerUriList.TINK_DEVEL)), activeUri: new Uri(CopriServerUriList.TINK_DEVEL)),
accountStore, accountStore,
(isConnected, uri, sessionCookie, mail, expiresAfter) => string.IsNullOrEmpty(sessionCookie) (isConnected, uri, sessionCookie, mail, expiresAfter) => string.IsNullOrEmpty(sessionCookie)
? new ConnectorCache(sessionCookie, mail, new CopriCallsMemory001()) ? new ConnectorCache(sessionCookie, mail, new TestShareeLib.Repository.CopriCallsMemory001())
: new ConnectorCache(sessionCookie, mail, new CopriCallsMemory001(sessionCookie)), : new ConnectorCache(sessionCookie, mail, new TestShareeLib.Repository.CopriCallsMemory001(sessionCookie)),
Substitute.For<IServicesContainer<IGeolocation>>(), Substitute.For<IServicesContainer<IGeolocation>>(),
locksService, locksService,
device, device,
specialFolder, specialFolder,
null, // Cipher null, // Cipher
permissions,
isConnectedFunc: () => true, isConnectedFunc: () => true,
currentVersion: new Version(3, 2, 0, 115), currentVersion: new Version(3, 2, 0, 115),
lastVersion: new Version(3, 0, 173)); // Current app version. Must be larger or equal 3.0.173 to lastVersion: new Version(3, 0, 173)); // Current app version. Must be larger or equal 3.0.173 to
@ -57,7 +53,7 @@ namespace TestTINKLib.Fixtures.UseCases.Logout
Assert.IsTrue(l_oTinkApp.ActiveUser.IsLoggedIn); Assert.IsTrue(l_oTinkApp.ActiveUser.IsLoggedIn);
// There are 6 bikes available and 2, one reserved and one rented by javaminsiter. // There are 6 bikes available and 2, one reserved and one rented by javaminsiter.
Assert.AreEqual( Assert.AreEqual(
10, 8,
l_oTinkApp.GetConnector(true).Query.GetBikesAsync().Result.Response.Count, l_oTinkApp.GetConnector(true).Query.GetBikesAsync().Result.Response.Count,
"Sum of bikes is 6 occupied plus 2 occupied."); "Sum of bikes is 6 occupied plus 2 occupied.");
Assert.AreEqual(2, Assert.AreEqual(2,
@ -71,7 +67,7 @@ namespace TestTINKLib.Fixtures.UseCases.Logout
Assert.IsFalse(l_oTinkApp.ActiveUser.IsLoggedIn); Assert.IsFalse(l_oTinkApp.ActiveUser.IsLoggedIn);
Assert.AreEqual( Assert.AreEqual(
8, 6,
l_oTinkApp.GetConnector(true).Query.GetBikesAsync().Result.Response.Count, l_oTinkApp.GetConnector(true).Query.GetBikesAsync().Result.Response.Count,
"Sum of bikes is 6 occupied, no one occupied because no user is logged in"); "Sum of bikes is 6 occupied, no one occupied because no user is logged in");
Assert.AreEqual( Assert.AreEqual(

View file

@ -9,7 +9,6 @@ using TINK.Model.Services.Geolocation;
using TINK.Services.BluetoothLock; using TINK.Services.BluetoothLock;
using TINK.Model.Device; using TINK.Model.Device;
using TINK.Model.User.Account; using TINK.Model.User.Account;
using Plugin.Permissions.Abstractions;
using System.Threading.Tasks; using System.Threading.Tasks;
using TestFramework.Repository; using TestFramework.Repository;
@ -25,7 +24,6 @@ namespace TestShareeLib.UseCases.Login
var locksService = Substitute.For<ILocksService>(); var locksService = Substitute.For<ILocksService>();
var device = Substitute.For<ISmartDevice>(); var device = Substitute.For<ISmartDevice>();
var specialFolder = Substitute.For<ISpecialFolder>(); var specialFolder = Substitute.For<ISpecialFolder>();
var permissions = Substitute.For<IPermissions>();
// No user logged in is initial state to verify. // No user logged in is initial state to verify.
var l_oTinkApp = new TinkApp( var l_oTinkApp = new TinkApp(
@ -42,7 +40,6 @@ namespace TestShareeLib.UseCases.Login
device, device,
specialFolder, specialFolder,
null, // Cipher null, // Cipher
permissions,
isConnectedFunc: () => true, isConnectedFunc: () => true,
currentVersion: new Version(3, 2, 0, 115), currentVersion: new Version(3, 2, 0, 115),
lastVersion: new Version(3, 0, 173) /* Current app version. Must be larger or equal 3.0.173 to lastVersion*/); lastVersion: new Version(3, 0, 173) /* Current app version. Must be larger or equal 3.0.173 to lastVersion*/);

View file

@ -23,7 +23,6 @@ using TestFramework.Repository;
using TestFramework.Model.User.Account; using TestFramework.Model.User.Account;
using TestFramework.Model.Services.Geolocation; using TestFramework.Model.Services.Geolocation;
using TestFramework.Services.BluetoothLock; using TestFramework.Services.BluetoothLock;
using TestFramework.Services.Permissions;
using TestFramework.Services.CopriApi.Connector; using TestFramework.Services.CopriApi.Connector;
namespace TestTINKLib.Fixtures.ObjectTests.Account namespace TestTINKLib.Fixtures.ObjectTests.Account
@ -49,7 +48,6 @@ namespace TestTINKLib.Fixtures.ObjectTests.Account
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
new PermissionsMock(),
isConnectedFunc: () => true, isConnectedFunc: () => true,
postAction: (d, obj) => d(obj), postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -88,7 +86,6 @@ namespace TestTINKLib.Fixtures.ObjectTests.Account
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
new PermissionsMock(),
isConnectedFunc: () => true, isConnectedFunc: () => true,
postAction: (d, obj) => d(obj), postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -128,7 +125,6 @@ namespace TestTINKLib.Fixtures.ObjectTests.Account
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
new PermissionsMock(),
isConnectedFunc: () => true, isConnectedFunc: () => true,
postAction: (d, obj) => d(obj), postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -167,7 +163,6 @@ namespace TestTINKLib.Fixtures.ObjectTests.Account
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
new PermissionsMock(),
isConnectedFunc: () => false, // Offline isConnectedFunc: () => false, // Offline
postAction: (d, obj) => d(obj), postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -217,7 +212,6 @@ namespace TestTINKLib.Fixtures.ObjectTests.Account
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
new PermissionsMock(),
isConnectedFunc: () => false, // Offline isConnectedFunc: () => false, // Offline
postAction: (d, obj) => d(obj), postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version

View file

@ -19,7 +19,6 @@ using TestFramework.Services.BluetoothLock;
using TestFramework.Model.Services.Geolocation; using TestFramework.Model.Services.Geolocation;
using TestFramework.Model.User.Account; using TestFramework.Model.User.Account;
using TestFramework.Model.Device; using TestFramework.Model.Device;
using TestFramework.Services.Permissions;
using TestFramework.Repository; using TestFramework.Repository;
using TestFramework.Services.CopriApi.Connector; using TestFramework.Services.CopriApi.Connector;
@ -48,7 +47,6 @@ namespace TestShareeLib.UseCases.Startup
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
new PermissionsMock(),
isConnectedFunc: () => true, isConnectedFunc: () => true,
postAction: (d, obj) => d(obj), postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -80,7 +78,7 @@ namespace TestShareeLib.UseCases.Startup
Assert.AreEqual(21, viewModel.Pins.Count); // Were 8 pins when loading from CopriCallsMemory(SampleSets.Set2, 1, sessionCookie) Assert.AreEqual(21, viewModel.Pins.Count); // Were 8 pins when loading from CopriCallsMemory(SampleSets.Set2, 1, sessionCookie)
Assert.That( Assert.That(
viewModel.Pins.FirstOrDefault(pin => pin.Icon.Id.Contains("Open_Green")).Tag, viewModel.Pins.FirstOrDefault(pin => pin.Icon.Id.Contains("Open_Green")).Tag,
Is.EqualTo("FR105"), Is.EqualTo("FR103"),
"Station FR105 must be marked green because there is are bike."); "Station FR105 must be marked green because there is are bike.");
Assert.That( Assert.That(
viewModel.Pins.FirstOrDefault(pin => pin.Icon.Id.Contains("Open_Red")).Tag, viewModel.Pins.FirstOrDefault(pin => pin.Icon.Id.Contains("Open_Red")).Tag,
@ -125,7 +123,6 @@ namespace TestShareeLib.UseCases.Startup
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
new PermissionsMock(),
isConnectedFunc: () => true, isConnectedFunc: () => true,
postAction: (d, obj) => d(obj), postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -199,7 +196,6 @@ namespace TestShareeLib.UseCases.Startup
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
new PermissionsMock(),
isConnectedFunc: () => true, isConnectedFunc: () => true,
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
lastVersion: new Version(3, 0, 173)); // Current app version. Must be larger or equal 3.0.173 to lastVersion: new Version(3, 0, 173)); // Current app version. Must be larger or equal 3.0.173 to
@ -268,7 +264,6 @@ namespace TestShareeLib.UseCases.Startup
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
new PermissionsMock(),
isConnectedFunc: () => true, isConnectedFunc: () => true,
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
lastVersion: new Version(3, 0, 173)); lastVersion: new Version(3, 0, 173));
@ -337,7 +332,6 @@ namespace TestShareeLib.UseCases.Startup
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
new PermissionsMock(),
isConnectedFunc: () => false, isConnectedFunc: () => false,
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
lastVersion: new Version(3, 0, 173)); // Current app version. Must be larger or equal 3.0.173 to lastVersion: new Version(3, 0, 173)); // Current app version. Must be larger or equal 3.0.173 to
@ -420,7 +414,6 @@ namespace TestShareeLib.UseCases.Startup
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
new PermissionsMock(),
isConnectedFunc: () => false, isConnectedFunc: () => false,
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
lastVersion: new Version(3, 0, 173)); // Current app version. Must be larger or equal 3.0.173 to lastVersion: new Version(3, 0, 173)); // Current app version. Must be larger or equal 3.0.173 to
@ -504,7 +497,6 @@ namespace TestShareeLib.UseCases.Startup
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
new PermissionsMock(),
isConnectedFunc: () => false, isConnectedFunc: () => false,
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
lastVersion: new Version(3, 0, 173)); // Current app version. Must be larger or equal 3.0.173 to lastVersion: new Version(3, 0, 173)); // Current app version. Must be larger or equal 3.0.173 to

View file

@ -28,7 +28,6 @@ using TestFramework.Model.Device;
using TestFramework.Repository; using TestFramework.Repository;
using TestFramework.Model.User.Account; using TestFramework.Model.User.Account;
using TestFramework.Model.Services.Geolocation; using TestFramework.Model.Services.Geolocation;
using TestFramework.Services.Permissions;
using TestFramework.Services.CopriApi.Connector; using TestFramework.Services.CopriApi.Connector;
namespace TestTINKLib.Fixtures.ObjectTests.ViewModel namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
@ -62,7 +61,6 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
null, // Permissions
isConnectedFunc: () => true, isConnectedFunc: () => true,
postAction: (d, obj) => d(obj), postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -134,7 +132,6 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
null, // Permissions,
isConnectedFunc: () => true, isConnectedFunc: () => true,
postAction: (d, obj) => d(obj), postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -211,7 +208,6 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
null, // Permissions,
isConnectedFunc: () => true, isConnectedFunc: () => true,
postAction: (d, obj) => d(obj), postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -312,7 +308,6 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
null, // Permissions,
isConnectedFunc: () => true, isConnectedFunc: () => true,
postAction: (d, obj) => d(obj), postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -419,7 +414,6 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
null, // Permissions,
isConnectedFunc: () => true, isConnectedFunc: () => true,
postAction: (d, obj) => d(obj), postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -523,7 +517,6 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
null, // Permissions,
isConnectedFunc: () => true, isConnectedFunc: () => true,
postAction: (d, obj) => d(obj), postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -625,7 +618,6 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
null, // Permissions,
isConnectedFunc: () => true, isConnectedFunc: () => true,
postAction: (d, obj) => d(obj), postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -719,7 +711,6 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
new PermissionsMock(),
isConnectedFunc: () => true, isConnectedFunc: () => true,
postAction: (d, obj) => d(obj), postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -792,7 +783,6 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
new PermissionsMock(),
isConnectedFunc: () => true, isConnectedFunc: () => true,
postAction: (d, obj) => d(obj), postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -864,7 +854,6 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
new PermissionsMock(),
isConnectedFunc: () => true, isConnectedFunc: () => true,
postAction: (d, obj) => d(obj), postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -937,7 +926,6 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
new PermissionsMock(),
isConnectedFunc: () => false, // Not connected. isConnectedFunc: () => false, // Not connected.
postAction: (d, obj) => d(obj), postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -1019,7 +1007,6 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
new PermissionsMock(),
isConnectedFunc: () => false, // Not connected. isConnectedFunc: () => false, // Not connected.
postAction: (d, obj) => d(obj), postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -1105,7 +1092,6 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
new PermissionsMock(),
isConnectedFunc: () => false, // Not connected. isConnectedFunc: () => false, // Not connected.
postAction: (d, obj) => d(obj), postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version

View file

@ -28,7 +28,6 @@ using TestFramework.Model.Device;
using TestFramework.Repository; using TestFramework.Repository;
using TestFramework.Model.User.Account; using TestFramework.Model.User.Account;
using TestFramework.Model.Services.Geolocation; using TestFramework.Model.Services.Geolocation;
using TestFramework.Services.Permissions;
namespace TestTINKLib.Fixtures.ObjectTests.ViewModel namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
{ {
@ -77,7 +76,6 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
null, // Permissions,
isConnectedFunc: () => true, isConnectedFunc: () => true,
postAction: (d, obj) => d(obj), postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -168,7 +166,6 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
null, // Permissions,
isConnectedFunc: () => true, isConnectedFunc: () => true,
postAction: (d, obj) => d(obj), postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -267,7 +264,6 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
null, // Permissions,
isConnectedFunc: () => true, isConnectedFunc: () => true,
postAction: (d, obj) => d(obj), postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -361,7 +357,6 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
null, // Permissions,
isConnectedFunc: () => true, isConnectedFunc: () => true,
postAction: (d, obj) => d(obj), postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -453,7 +448,6 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
null, // Permissions,
isConnectedFunc: () => true, isConnectedFunc: () => true,
postAction: (d, obj) => d(obj), postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -539,7 +533,6 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
new PermissionsMock(),
isConnectedFunc: () => true, isConnectedFunc: () => true,
postAction: (d, obj) => d(obj), postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -600,7 +593,6 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
null, // Permissions
isConnectedFunc: () => false, // Offline isConnectedFunc: () => false, // Offline
postAction: (d, obj) => d(obj), postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -675,7 +667,6 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
new PermissionsMock(),
isConnectedFunc: () => false, // Offline isConnectedFunc: () => false, // Offline
postAction: (d, obj) => d(obj), postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -753,7 +744,6 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
null, // Permissions.
isConnectedFunc: () => false, // Offline isConnectedFunc: () => false, // Offline
postAction: (d, obj) => d(obj), postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version

View file

@ -10,7 +10,6 @@ namespace TestTINKLib.Fixtures.UseCases.ConnectedOffline
using TestFramework.Model.Services.Geolocation; using TestFramework.Model.Services.Geolocation;
using TestFramework.Model.User.Account; using TestFramework.Model.User.Account;
using TestFramework.Services.BluetoothLock; using TestFramework.Services.BluetoothLock;
using TestFramework.Services.Permissions;
using TINK.Model.Connector; using TINK.Model.Connector;
using TINK.Model.Services.Geolocation; using TINK.Model.Services.Geolocation;
using TINK.Services; using TINK.Services;
@ -33,7 +32,6 @@ namespace TestTINKLib.Fixtures.UseCases.ConnectedOffline
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
new PermissionsMock(),
isConnectedFunc: () => true, isConnectedFunc: () => true,
currentVersion: new Version(3, 2, 0, 115), // Current app version currentVersion: new Version(3, 2, 0, 115), // Current app version
lastVersion: new Version(3, 0, 173)); // Current app version. Must be larger or equal 3.0.173 to lastVersion: new Version(3, 0, 173)); // Current app version. Must be larger or equal 3.0.173 to

View file

@ -13,7 +13,6 @@ using TestFramework.Model.Device;
using TestFramework.Model.User.Account; using TestFramework.Model.User.Account;
using TestFramework.Model.Services.Geolocation; using TestFramework.Model.Services.Geolocation;
using TestFramework.Services.BluetoothLock; using TestFramework.Services.BluetoothLock;
using TestFramework.Services.Permissions;
namespace TestTINKLib.Fixtures.UseCases.SelectStation namespace TestTINKLib.Fixtures.UseCases.SelectStation
{ {
@ -45,7 +44,6 @@ namespace TestTINKLib.Fixtures.UseCases.SelectStation
new DeviceMock(), new DeviceMock(),
new SpecialFolderMock(), new SpecialFolderMock(),
null, // Cipher null, // Cipher
new PermissionsMock(),
isConnectedFunc: () => true, isConnectedFunc: () => true,
currentVersion: new Version(3, 2, 0, 115), currentVersion: new Version(3, 2, 0, 115),
lastVersion: new Version(3, 0, 173)); // Current app version. Must be larger or equal 3.0.173 to lastVersion: new Version(3, 0, 173)); // Current app version. Must be larger or equal 3.0.173 to

View file

@ -210,4 +210,4 @@
<Folder Include="Fixtures\UseCases\Startup\" /> <Folder Include="Fixtures\UseCases\Startup\" />
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
</Project> </Project>