mirror of
https://dev.azure.com/TeilRad/sharee.bike%20App/_git/Code
synced 2025-01-10 23:24:29 +01:00
Version 3.0.352
This commit is contained in:
parent
40b96f0350
commit
5ea2e3b0ca
48 changed files with 601 additions and 255 deletions
LastenradBayern
TINK.Android
TINK.iOS
TINK/View/Map
Meinkonrad
ShareeSharedGuiLib/View
TINK
TINKLib
Model
MultilingualResources
ViewModel/Map
TestShareeLib
TestShareeLib.csproj
ViewModel/Bikes/Bike
Binary file not shown.
Before (image error) Size: 1.8 KiB After (image error) Size: 150 B |
|
@ -240,6 +240,10 @@
|
|||
<EmbeddedResource Include="Resources\Font Awesome 5 Free-Solid-900.otf" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\Location_Button.png">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:UpdateGeneratedFiles</Generator>
|
||||
</AndroidResource>
|
||||
<AndroidResource Include="Resources\layout\Tabbar.axml" />
|
||||
<AndroidResource Include="Resources\layout\Toolbar.axml" />
|
||||
<AndroidResource Include="Resources\values\styles.xml">
|
||||
|
@ -345,11 +349,6 @@
|
|||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable-xxxhdpi\sharee_no_background.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\Location_Button.png">
|
||||
<Generator>MSBuild:UpdateGeneratedFiles</Generator>
|
||||
</AndroidResource>
|
||||
</ItemGroup>
|
||||
<Import Project="..\TINK\LastenradBayern.projitems" Label="Shared" Condition="Exists('..\TINK\LastenradBayern.projitems')" />
|
||||
<Import Project="..\..\ShareeSharedGuiLib\ShareeSharedGuiLib.projitems" Label="Shared" />
|
||||
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?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.350" android:versionCode="350">
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="internalOnly" package="com.TeilRad.LastenradBayern" android:versionName="3.0.352" android:versionCode="352">
|
||||
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="31" />
|
||||
<!-- Google Maps related permissions -->
|
||||
<!-- Permission to receive remote notifications from Google Play Services -->
|
||||
|
|
Binary file not shown.
Before (image error) Size: 1.8 KiB After (image error) Size: 1.8 KiB |
|
@ -55,8 +55,8 @@
|
|||
<key>CFBundleDisplayName</key>
|
||||
<string>LastenradBayern</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>350</string>
|
||||
<string>352</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>3.0.350</string>
|
||||
<string>3.0.352</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
|
@ -328,7 +328,7 @@
|
|||
<ImageAsset Include="Media.xcassets\Location_Button.imageset\Contents.json">
|
||||
<Visible>false</Visible>
|
||||
</ImageAsset>
|
||||
<ImageAsset Include="Media.xcassets\Location_Button.imageset\Location_Button.svg">
|
||||
<ImageAsset Include="Media.xcassets\Location_Button.imageset\Location_Button.pdf">
|
||||
<Visible>false</Visible>
|
||||
</ImageAsset>
|
||||
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-40.png">
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "Location_Button.svg",
|
||||
"filename" : "Location_Button.pdf",
|
||||
"idiom" : "universal"
|
||||
},
|
||||
{
|
||||
|
|
69
LastenradBayern/TINK.iOS/Media.xcassets/Location_Button.imageset/Location_Button.pdf
vendored
Normal file
69
LastenradBayern/TINK.iOS/Media.xcassets/Location_Button.imageset/Location_Button.pdf
vendored
Normal file
|
@ -0,0 +1,69 @@
|
|||
%PDF-1.5
|
||||
%µí®û
|
||||
4 0 obj
|
||||
<< /Length 5 0 R
|
||||
/Filter /FlateDecode
|
||||
>>
|
||||
stream
|
||||
xœmPËN1¼û+æ0‰“<E280B0>Í !q( ©‡–¿<>³qئ<C398>Uì<55>±Ç<C2B1>x8ý®¼š(ìôHF=БGŒûp‹ë‡ý —v<¾ÉãNï'==kŽÃ+EÜã¿VìVaÉâÙIÀg–°7'ªð‘/† …ó¦4ÐÕ ÌM)T“<54>bÖjj´ýø3ý#vÓÃœö<C593>Ä)¥5Å-š2pàX¤¹ÊJj´%µXGºàÂ)$ø›så@½n¸It”®lÜVÖÕÑu„Ó¹rž·-y¹Á;ù <09>³dý=½ý’î‚íÄk\0ö?rG?nðxæ
|
||||
endstream
|
||||
endobj
|
||||
5 0 obj
|
||||
243
|
||||
endobj
|
||||
3 0 obj
|
||||
<<
|
||||
/ExtGState <<
|
||||
/a0 << /CA 1 /ca 1 >>
|
||||
>>
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
<< /Type /Page % 1
|
||||
/Parent 1 0 R
|
||||
/MediaBox [ 0 0 42.000168 42.000027 ]
|
||||
/Contents 4 0 R
|
||||
/Group <<
|
||||
/Type /Group
|
||||
/S /Transparency
|
||||
/I true
|
||||
/CS /DeviceRGB
|
||||
>>
|
||||
/Resources 3 0 R
|
||||
>>
|
||||
endobj
|
||||
1 0 obj
|
||||
<< /Type /Pages
|
||||
/Kids [ 2 0 R ]
|
||||
/Count 1
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<< /Producer (cairo 1.17.4 (https://cairographics.org))
|
||||
/Creator <FEFF0049006E006B0073006300610070006500200031002E0031002E00320020002800680074007400700073003A002F002F0069006E006B00730063006100700065002E006F007200670029>
|
||||
/CreationDate (D:20221124081702+01'00)
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<< /Type /Catalog
|
||||
/Pages 1 0 R
|
||||
>>
|
||||
endobj
|
||||
xref
|
||||
0 8
|
||||
0000000000 65535 f
|
||||
0000000659 00000 n
|
||||
0000000429 00000 n
|
||||
0000000357 00000 n
|
||||
0000000015 00000 n
|
||||
0000000335 00000 n
|
||||
0000000724 00000 n
|
||||
0000001007 00000 n
|
||||
trailer
|
||||
<< /Size 8
|
||||
/Root 7 0 R
|
||||
/Info 6 0 R
|
||||
>>
|
||||
startxref
|
||||
1059
|
||||
%%EOF
|
Binary file not shown.
|
@ -90,7 +90,7 @@
|
|||
</Frame>
|
||||
|
||||
<!--Center to currentLocation Button-->
|
||||
<ImageButton
|
||||
<!--<ImageButton
|
||||
Grid.Row="2"
|
||||
Grid.ColumnSpan="3"
|
||||
x:Name="CurrentLocation"
|
||||
|
@ -98,14 +98,16 @@
|
|||
Command="{Binding OnCurrentLocationButtonClicked}"
|
||||
IsVisible="True"
|
||||
BackgroundColor="Transparent"
|
||||
BorderWidth="1"
|
||||
BorderColor="LightGray"
|
||||
VerticalOptions="End"
|
||||
HorizontalOptions="End"
|
||||
Margin="0,0,11,100"
|
||||
HorizontalOptions="Center"
|
||||
Margin="0,0,0,12"
|
||||
Source="Location_Button.png"
|
||||
WidthRequest="40"
|
||||
HeightRequest="40"
|
||||
CornerRadius="20">
|
||||
</ImageButton>
|
||||
</ImageButton>-->
|
||||
|
||||
<!--While process is running-->
|
||||
<!--Spinner-->
|
||||
|
|
|
@ -240,6 +240,10 @@
|
|||
<EmbeddedResource Include="Resources\Font Awesome 5 Free-Solid-900.otf" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\Location_Button.png">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:UpdateGeneratedFiles</Generator>
|
||||
</AndroidResource>
|
||||
<AndroidResource Include="Resources\layout\Tabbar.axml" />
|
||||
<AndroidResource Include="Resources\layout\Toolbar.axml" />
|
||||
<AndroidResource Include="Resources\values\styles.xml">
|
||||
|
@ -461,11 +465,6 @@
|
|||
<Generator>MSBuild:UpdateGeneratedFiles</Generator>
|
||||
</AndroidResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\Location_Button.png">
|
||||
<Generator>MSBuild:UpdateGeneratedFiles</Generator>
|
||||
</AndroidResource>
|
||||
</ItemGroup>
|
||||
<Import Project="..\TINK\Meinkonrad.projitems" Label="Shared" Condition="Exists('..\TINK\Meinkonrad.projitems')" />
|
||||
<Import Project="..\..\ShareeSharedGuiLib\ShareeSharedGuiLib.projitems" Label="Shared" />
|
||||
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?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.350" android:versionCode="350">
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="internalOnly" package="com.TeilRad.Meinkonrad" android:versionName="3.0.352" android:versionCode="352">
|
||||
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="31" />
|
||||
<!-- Google Maps related permissions -->
|
||||
<!-- Permission to receive remote notifications from Google Play Services -->
|
||||
|
|
Binary file not shown.
Before (image error) Size: 1.8 KiB After (image error) Size: 1.8 KiB |
|
@ -55,8 +55,8 @@
|
|||
<key>CFBundleDisplayName</key>
|
||||
<string>Mein konrad</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>350</string>
|
||||
<string>352</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>3.0.350</string>
|
||||
<string>3.0.352</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "Location_Button.svg",
|
||||
"filename" : "Location_Button.pdf",
|
||||
"idiom" : "universal"
|
||||
},
|
||||
{
|
||||
|
|
69
Meinkonrad/TINK.iOS/Media.xcassets/Location_Button.imageset/Location_Button.pdf
vendored
Normal file
69
Meinkonrad/TINK.iOS/Media.xcassets/Location_Button.imageset/Location_Button.pdf
vendored
Normal file
|
@ -0,0 +1,69 @@
|
|||
%PDF-1.5
|
||||
%µí®û
|
||||
4 0 obj
|
||||
<< /Length 5 0 R
|
||||
/Filter /FlateDecode
|
||||
>>
|
||||
stream
|
||||
xœmPËN1¼û+æ0‰“<E280B0>Í !q( ©‡–¿<>³qئ<C398>Uì<55>±Ç<C2B1>x8ý®¼š(ìôHF=БGŒûp‹ë‡ý —v<¾ÉãNï'==kŽÃ+EÜã¿VìVaÉâÙIÀg–°7'ªð‘/† …ó¦4ÐÕ ÌM)T“<54>bÖjj´ýø3ý#vÓÃœö<C593>Ä)¥5Å-š2pàX¤¹ÊJj´%µXGºàÂ)$ø›så@½n¸It”®lÜVÖÕÑu„Ó¹rž·-y¹Á;ù <09>³dý=½ý’î‚íÄk\0ö?rG?nðxæ
|
||||
endstream
|
||||
endobj
|
||||
5 0 obj
|
||||
243
|
||||
endobj
|
||||
3 0 obj
|
||||
<<
|
||||
/ExtGState <<
|
||||
/a0 << /CA 1 /ca 1 >>
|
||||
>>
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
<< /Type /Page % 1
|
||||
/Parent 1 0 R
|
||||
/MediaBox [ 0 0 42.000168 42.000027 ]
|
||||
/Contents 4 0 R
|
||||
/Group <<
|
||||
/Type /Group
|
||||
/S /Transparency
|
||||
/I true
|
||||
/CS /DeviceRGB
|
||||
>>
|
||||
/Resources 3 0 R
|
||||
>>
|
||||
endobj
|
||||
1 0 obj
|
||||
<< /Type /Pages
|
||||
/Kids [ 2 0 R ]
|
||||
/Count 1
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<< /Producer (cairo 1.17.4 (https://cairographics.org))
|
||||
/Creator <FEFF0049006E006B0073006300610070006500200031002E0031002E00320020002800680074007400700073003A002F002F0069006E006B00730063006100700065002E006F007200670029>
|
||||
/CreationDate (D:20221124081702+01'00)
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<< /Type /Catalog
|
||||
/Pages 1 0 R
|
||||
>>
|
||||
endobj
|
||||
xref
|
||||
0 8
|
||||
0000000000 65535 f
|
||||
0000000659 00000 n
|
||||
0000000429 00000 n
|
||||
0000000357 00000 n
|
||||
0000000015 00000 n
|
||||
0000000335 00000 n
|
||||
0000000724 00000 n
|
||||
0000001007 00000 n
|
||||
trailer
|
||||
<< /Size 8
|
||||
/Root 7 0 R
|
||||
/Info 6 0 R
|
||||
>>
|
||||
startxref
|
||||
1059
|
||||
%%EOF
|
|
@ -5,12 +5,11 @@
|
|||
/Filter /FlateDecode
|
||||
>>
|
||||
stream
|
||||
xœÕ<EFBFBD>A
|
||||
1E÷9Å¿€1iÆNç‚àbt).dÄÁÅèÂë›jg@=<3D>
ýä“ßGª¯™ºTÊ!˜iDw¥<77>¹6KÌ‚þN‘%Ÿü^h·‡°àHÖ /Ö[a)ó„£®(Þ„õ#R\N©.ž0½ƒ<>·%3F'F–tá}Ñ&ÆùgÃ-ZòåÙbŠ¡ö¦ºˆ
n=þï3'jé Õ[ƒ
|
||||
xœÕOIÂ0¼ûóLœfi_€„Ä¡pDPEH=|—¤UáÈŠ3£Ob<4F>ÑZ‰6‰lL¬cƒÔÓ@‚±ö¬ÏÝ“,»è<C2BB>ª/•¶zît<Á°Á…v Ÿ¬Ü5B<Ljš½qè‘™XöækáÈ8Á±kìäf[Õ4»GVÜ©°ì.3=ãô5J%uù”vûùí-é\…:ب Zñ¡Á£Ã?¯u¥–Þ<Q`3
|
||||
endstream
|
||||
endobj
|
||||
5 0 obj
|
||||
165
|
||||
171
|
||||
endobj
|
||||
3 0 obj
|
||||
<<
|
||||
|
@ -22,7 +21,7 @@ endobj
|
|||
2 0 obj
|
||||
<< /Type /Page % 1
|
||||
/Parent 1 0 R
|
||||
/MediaBox [ 0 0 41.223316 41.223316 ]
|
||||
/MediaBox [ 0 0 17.007875 17.007879 ]
|
||||
/Contents 4 0 R
|
||||
/Group <<
|
||||
/Type /Group
|
||||
|
@ -42,7 +41,7 @@ endobj
|
|||
6 0 obj
|
||||
<< /Producer (cairo 1.17.4 (https://cairographics.org))
|
||||
/Creator <FEFF0049006E006B0073006300610070006500200031002E0031002E00320020002800680074007400700073003A002F002F0069006E006B00730063006100700065002E006F007200670029>
|
||||
/CreationDate (D:20221116092441+01'00)
|
||||
/CreationDate (D:20221118084115+01'00)
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
|
@ -53,18 +52,18 @@ endobj
|
|||
xref
|
||||
0 8
|
||||
0000000000 65535 f
|
||||
0000000581 00000 n
|
||||
0000000351 00000 n
|
||||
0000000279 00000 n
|
||||
0000000587 00000 n
|
||||
0000000357 00000 n
|
||||
0000000285 00000 n
|
||||
0000000015 00000 n
|
||||
0000000257 00000 n
|
||||
0000000646 00000 n
|
||||
0000000929 00000 n
|
||||
0000000263 00000 n
|
||||
0000000652 00000 n
|
||||
0000000935 00000 n
|
||||
trailer
|
||||
<< /Size 8
|
||||
/Root 7 0 R
|
||||
/Info 6 0 R
|
||||
>>
|
||||
startxref
|
||||
981
|
||||
987
|
||||
%%EOF
|
||||
|
|
|
@ -327,7 +327,7 @@
|
|||
<ImageAsset Include="Media.xcassets\Location_Button.imageset\Contents.json">
|
||||
<Visible>false</Visible>
|
||||
</ImageAsset>
|
||||
<ImageAsset Include="Media.xcassets\Location_Button.imageset\Location_Button.svg">
|
||||
<ImageAsset Include="Media.xcassets\Location_Button.imageset\Location_Button.pdf">
|
||||
<Visible>false</Visible>
|
||||
</ImageAsset>
|
||||
<ImageAsset Include="Media.xcassets\swk_theme.imageset\swk_theme.pdf">
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<xct:Popup xmlns="http://xamarin.com/schemas/2014/forms"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||
xmlns:xct="http://xamarin.com/schemas/2020/toolkit"
|
||||
|
@ -40,12 +40,12 @@
|
|||
<ScrollView>
|
||||
<StackLayout>
|
||||
<!-- Battery level -->
|
||||
<sharedGui:BarLevelInputView
|
||||
<sharedGui:BarLevelInputView
|
||||
x:Name="BarLevelInputView"
|
||||
HorizontalOptions="Center"/>
|
||||
<!-- Checkbox Is Broken -->
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<CheckBox x:Name="brockenCheckBox" IsChecked="True" HeightRequest="20"/>
|
||||
<!-- Checkbox Is Broken -->
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<CheckBox x:Name="brockenCheckBox" IsChecked="True" HeightRequest="20"/>
|
||||
<Label
|
||||
FontSize="Medium"
|
||||
Text= "{x:Static resources:AppResources.MarkingReturnBikeBikeStateIsOK}"/>
|
||||
|
@ -80,4 +80,4 @@
|
|||
Text="OK"
|
||||
Margin="0,0,0,3"/>
|
||||
</StackLayout>
|
||||
</xct:Popup>
|
||||
</xct:Popup>
|
||||
|
|
|
@ -99,9 +99,11 @@
|
|||
Command="{Binding OnCurrentLocationButtonClicked}"
|
||||
IsVisible="True"
|
||||
BackgroundColor="Transparent"
|
||||
BorderWidth="1"
|
||||
BorderColor="LightGray"
|
||||
VerticalOptions="End"
|
||||
HorizontalOptions="End"
|
||||
Margin="0,0,11,100"
|
||||
HorizontalOptions="Center"
|
||||
Margin="0,0,0,12"
|
||||
Source="Location_Button.png"
|
||||
WidthRequest="40"
|
||||
HeightRequest="40"
|
||||
|
|
|
@ -35,9 +35,11 @@
|
|||
<!--Info text-->
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
TextType="Html"
|
||||
Text="{Binding StatusInfoText}"
|
||||
FontSize="Small"
|
||||
HorizontalOptions="Center"
|
||||
HorizontalTextAlignment="Center"
|
||||
Padding="0,0,0,10"/>
|
||||
|
||||
</Grid>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="internalOnly" package="com.hauffware.sharee" android:versionName="3.0.350" android:versionCode="350">
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="internalOnly" package="com.hauffware.sharee" android:versionName="3.0.352" android:versionCode="352">
|
||||
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="31" />
|
||||
<!-- Google Maps related permissions -->
|
||||
<!-- Permission to receive remote notifications from Google Play Services -->
|
||||
|
|
139
TINK/TINK.Android/Resources/Resource.Designer.cs
generated
139
TINK/TINK.Android/Resources/Resource.Designer.cs
generated
|
@ -23987,208 +23987,211 @@ namespace TINK.Droid
|
|||
public const int ic_vol_unmute = 2131165504;
|
||||
|
||||
// aapt resource value: 0x7F070141
|
||||
public const int material_cursor_drawable = 2131165505;
|
||||
public const int Location_Button = 2131165505;
|
||||
|
||||
// aapt resource value: 0x7F070142
|
||||
public const int material_ic_calendar_black_24dp = 2131165506;
|
||||
public const int material_cursor_drawable = 2131165506;
|
||||
|
||||
// aapt resource value: 0x7F070143
|
||||
public const int material_ic_clear_black_24dp = 2131165507;
|
||||
public const int material_ic_calendar_black_24dp = 2131165507;
|
||||
|
||||
// aapt resource value: 0x7F070144
|
||||
public const int material_ic_edit_black_24dp = 2131165508;
|
||||
public const int material_ic_clear_black_24dp = 2131165508;
|
||||
|
||||
// aapt resource value: 0x7F070145
|
||||
public const int material_ic_keyboard_arrow_left_black_24dp = 2131165509;
|
||||
public const int material_ic_edit_black_24dp = 2131165509;
|
||||
|
||||
// aapt resource value: 0x7F070146
|
||||
public const int material_ic_keyboard_arrow_next_black_24dp = 2131165510;
|
||||
public const int material_ic_keyboard_arrow_left_black_24dp = 2131165510;
|
||||
|
||||
// aapt resource value: 0x7F070147
|
||||
public const int material_ic_keyboard_arrow_previous_black_24dp = 2131165511;
|
||||
public const int material_ic_keyboard_arrow_next_black_24dp = 2131165511;
|
||||
|
||||
// aapt resource value: 0x7F070148
|
||||
public const int material_ic_keyboard_arrow_right_black_24dp = 2131165512;
|
||||
public const int material_ic_keyboard_arrow_previous_black_24dp = 2131165512;
|
||||
|
||||
// aapt resource value: 0x7F070149
|
||||
public const int material_ic_menu_arrow_down_black_24dp = 2131165513;
|
||||
public const int material_ic_keyboard_arrow_right_black_24dp = 2131165513;
|
||||
|
||||
// aapt resource value: 0x7F07014A
|
||||
public const int material_ic_menu_arrow_up_black_24dp = 2131165514;
|
||||
public const int material_ic_menu_arrow_down_black_24dp = 2131165514;
|
||||
|
||||
// aapt resource value: 0x7F07014B
|
||||
public const int mr_button_connected_dark = 2131165515;
|
||||
public const int material_ic_menu_arrow_up_black_24dp = 2131165515;
|
||||
|
||||
// aapt resource value: 0x7F07014C
|
||||
public const int mr_button_connected_light = 2131165516;
|
||||
public const int mr_button_connected_dark = 2131165516;
|
||||
|
||||
// aapt resource value: 0x7F07014D
|
||||
public const int mr_button_connecting_dark = 2131165517;
|
||||
public const int mr_button_connected_light = 2131165517;
|
||||
|
||||
// aapt resource value: 0x7F07014E
|
||||
public const int mr_button_connecting_light = 2131165518;
|
||||
public const int mr_button_connecting_dark = 2131165518;
|
||||
|
||||
// aapt resource value: 0x7F07014F
|
||||
public const int mr_button_dark = 2131165519;
|
||||
public const int mr_button_connecting_light = 2131165519;
|
||||
|
||||
// aapt resource value: 0x7F070150
|
||||
public const int mr_button_dark_static = 2131165520;
|
||||
public const int mr_button_dark = 2131165520;
|
||||
|
||||
// aapt resource value: 0x7F070151
|
||||
public const int mr_button_light = 2131165521;
|
||||
public const int mr_button_dark_static = 2131165521;
|
||||
|
||||
// aapt resource value: 0x7F070152
|
||||
public const int mr_button_light_static = 2131165522;
|
||||
public const int mr_button_light = 2131165522;
|
||||
|
||||
// aapt resource value: 0x7F070153
|
||||
public const int mr_cast_checkbox = 2131165523;
|
||||
public const int mr_button_light_static = 2131165523;
|
||||
|
||||
// aapt resource value: 0x7F070154
|
||||
public const int mr_cast_group_seekbar_track = 2131165524;
|
||||
public const int mr_cast_checkbox = 2131165524;
|
||||
|
||||
// aapt resource value: 0x7F070155
|
||||
public const int mr_cast_mute_button = 2131165525;
|
||||
public const int mr_cast_group_seekbar_track = 2131165525;
|
||||
|
||||
// aapt resource value: 0x7F070156
|
||||
public const int mr_cast_route_seekbar_track = 2131165526;
|
||||
public const int mr_cast_mute_button = 2131165526;
|
||||
|
||||
// aapt resource value: 0x7F070157
|
||||
public const int mr_cast_stop = 2131165527;
|
||||
public const int mr_cast_route_seekbar_track = 2131165527;
|
||||
|
||||
// aapt resource value: 0x7F070158
|
||||
public const int mr_cast_thumb = 2131165528;
|
||||
public const int mr_cast_stop = 2131165528;
|
||||
|
||||
// aapt resource value: 0x7F070159
|
||||
public const int mr_dialog_close_dark = 2131165529;
|
||||
public const int mr_cast_thumb = 2131165529;
|
||||
|
||||
// aapt resource value: 0x7F07015A
|
||||
public const int mr_dialog_close_light = 2131165530;
|
||||
public const int mr_dialog_close_dark = 2131165530;
|
||||
|
||||
// aapt resource value: 0x7F07015B
|
||||
public const int mr_dialog_material_background_dark = 2131165531;
|
||||
public const int mr_dialog_close_light = 2131165531;
|
||||
|
||||
// aapt resource value: 0x7F07015C
|
||||
public const int mr_dialog_material_background_light = 2131165532;
|
||||
public const int mr_dialog_material_background_dark = 2131165532;
|
||||
|
||||
// aapt resource value: 0x7F07015D
|
||||
public const int mr_group_collapse = 2131165533;
|
||||
public const int mr_dialog_material_background_light = 2131165533;
|
||||
|
||||
// aapt resource value: 0x7F07015E
|
||||
public const int mr_group_expand = 2131165534;
|
||||
public const int mr_group_collapse = 2131165534;
|
||||
|
||||
// aapt resource value: 0x7F07015F
|
||||
public const int mr_media_pause_dark = 2131165535;
|
||||
public const int mr_group_expand = 2131165535;
|
||||
|
||||
// aapt resource value: 0x7F070160
|
||||
public const int mr_media_pause_light = 2131165536;
|
||||
public const int mr_media_pause_dark = 2131165536;
|
||||
|
||||
// aapt resource value: 0x7F070161
|
||||
public const int mr_media_play_dark = 2131165537;
|
||||
public const int mr_media_pause_light = 2131165537;
|
||||
|
||||
// aapt resource value: 0x7F070162
|
||||
public const int mr_media_play_light = 2131165538;
|
||||
public const int mr_media_play_dark = 2131165538;
|
||||
|
||||
// aapt resource value: 0x7F070163
|
||||
public const int mr_media_stop_dark = 2131165539;
|
||||
public const int mr_media_play_light = 2131165539;
|
||||
|
||||
// aapt resource value: 0x7F070164
|
||||
public const int mr_media_stop_light = 2131165540;
|
||||
public const int mr_media_stop_dark = 2131165540;
|
||||
|
||||
// aapt resource value: 0x7F070165
|
||||
public const int mr_vol_type_audiotrack_dark = 2131165541;
|
||||
public const int mr_media_stop_light = 2131165541;
|
||||
|
||||
// aapt resource value: 0x7F070166
|
||||
public const int mr_vol_type_audiotrack_light = 2131165542;
|
||||
public const int mr_vol_type_audiotrack_dark = 2131165542;
|
||||
|
||||
// aapt resource value: 0x7F070167
|
||||
public const int mtrl_dialog_background = 2131165543;
|
||||
public const int mr_vol_type_audiotrack_light = 2131165543;
|
||||
|
||||
// aapt resource value: 0x7F070168
|
||||
public const int mtrl_dropdown_arrow = 2131165544;
|
||||
public const int mtrl_dialog_background = 2131165544;
|
||||
|
||||
// aapt resource value: 0x7F070169
|
||||
public const int mtrl_ic_arrow_drop_down = 2131165545;
|
||||
public const int mtrl_dropdown_arrow = 2131165545;
|
||||
|
||||
// aapt resource value: 0x7F07016A
|
||||
public const int mtrl_ic_arrow_drop_up = 2131165546;
|
||||
public const int mtrl_ic_arrow_drop_down = 2131165546;
|
||||
|
||||
// aapt resource value: 0x7F07016B
|
||||
public const int mtrl_ic_cancel = 2131165547;
|
||||
public const int mtrl_ic_arrow_drop_up = 2131165547;
|
||||
|
||||
// aapt resource value: 0x7F07016C
|
||||
public const int mtrl_ic_error = 2131165548;
|
||||
public const int mtrl_ic_cancel = 2131165548;
|
||||
|
||||
// aapt resource value: 0x7F07016D
|
||||
public const int mtrl_navigation_bar_item_background = 2131165549;
|
||||
public const int mtrl_ic_error = 2131165549;
|
||||
|
||||
// aapt resource value: 0x7F07016E
|
||||
public const int mtrl_popupmenu_background = 2131165550;
|
||||
public const int mtrl_navigation_bar_item_background = 2131165550;
|
||||
|
||||
// aapt resource value: 0x7F07016F
|
||||
public const int mtrl_popupmenu_background_dark = 2131165551;
|
||||
public const int mtrl_popupmenu_background = 2131165551;
|
||||
|
||||
// aapt resource value: 0x7F070170
|
||||
public const int mtrl_tabs_default_indicator = 2131165552;
|
||||
public const int mtrl_popupmenu_background_dark = 2131165552;
|
||||
|
||||
// aapt resource value: 0x7F070171
|
||||
public const int navigation_empty_icon = 2131165553;
|
||||
public const int mtrl_tabs_default_indicator = 2131165553;
|
||||
|
||||
// aapt resource value: 0x7F070172
|
||||
public const int notification_action_background = 2131165554;
|
||||
public const int navigation_empty_icon = 2131165554;
|
||||
|
||||
// aapt resource value: 0x7F070173
|
||||
public const int notification_bg = 2131165555;
|
||||
public const int notification_action_background = 2131165555;
|
||||
|
||||
// aapt resource value: 0x7F070174
|
||||
public const int notification_bg_low = 2131165556;
|
||||
public const int notification_bg = 2131165556;
|
||||
|
||||
// aapt resource value: 0x7F070175
|
||||
public const int notification_bg_low_normal = 2131165557;
|
||||
public const int notification_bg_low = 2131165557;
|
||||
|
||||
// aapt resource value: 0x7F070176
|
||||
public const int notification_bg_low_pressed = 2131165558;
|
||||
public const int notification_bg_low_normal = 2131165558;
|
||||
|
||||
// aapt resource value: 0x7F070177
|
||||
public const int notification_bg_normal = 2131165559;
|
||||
public const int notification_bg_low_pressed = 2131165559;
|
||||
|
||||
// aapt resource value: 0x7F070178
|
||||
public const int notification_bg_normal_pressed = 2131165560;
|
||||
public const int notification_bg_normal = 2131165560;
|
||||
|
||||
// aapt resource value: 0x7F070179
|
||||
public const int notification_icon_background = 2131165561;
|
||||
public const int notification_bg_normal_pressed = 2131165561;
|
||||
|
||||
// aapt resource value: 0x7F07017A
|
||||
public const int notification_template_icon_bg = 2131165562;
|
||||
public const int notification_icon_background = 2131165562;
|
||||
|
||||
// aapt resource value: 0x7F07017B
|
||||
public const int notification_template_icon_low_bg = 2131165563;
|
||||
public const int notification_template_icon_bg = 2131165563;
|
||||
|
||||
// aapt resource value: 0x7F07017C
|
||||
public const int notification_tile_bg = 2131165564;
|
||||
public const int notification_template_icon_low_bg = 2131165564;
|
||||
|
||||
// aapt resource value: 0x7F07017D
|
||||
public const int notify_panel_notification_icon_bg = 2131165565;
|
||||
public const int notification_tile_bg = 2131165565;
|
||||
|
||||
// aapt resource value: 0x7F07017E
|
||||
public const int preference_list_divider_material = 2131165566;
|
||||
public const int notify_panel_notification_icon_bg = 2131165566;
|
||||
|
||||
// aapt resource value: 0x7F07017F
|
||||
public const int sharee = 2131165567;
|
||||
public const int preference_list_divider_material = 2131165567;
|
||||
|
||||
// aapt resource value: 0x7F070180
|
||||
public const int sharee_no_background = 2131165568;
|
||||
public const int sharee = 2131165568;
|
||||
|
||||
// aapt resource value: 0x7F070181
|
||||
public const int test_custom_background = 2131165569;
|
||||
public const int sharee_no_background = 2131165569;
|
||||
|
||||
// aapt resource value: 0x7F070182
|
||||
public const int test_level_drawable = 2131165570;
|
||||
public const int test_custom_background = 2131165570;
|
||||
|
||||
// aapt resource value: 0x7F070183
|
||||
public const int tooltip_frame_dark = 2131165571;
|
||||
public const int test_level_drawable = 2131165571;
|
||||
|
||||
// aapt resource value: 0x7F070184
|
||||
public const int tooltip_frame_light = 2131165572;
|
||||
public const int tooltip_frame_dark = 2131165572;
|
||||
|
||||
// aapt resource value: 0x7F070185
|
||||
public const int tooltip_frame_light = 2131165573;
|
||||
|
||||
static Drawable()
|
||||
{
|
||||
|
|
Binary file not shown.
Before (image error) Size: 1.8 KiB After (image error) Size: 1.8 KiB |
|
@ -55,8 +55,8 @@
|
|||
<key>CFBundleDisplayName</key>
|
||||
<string>sharee.bike</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>350</string>
|
||||
<string>352</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>3.0.350</string>
|
||||
<string>3.0.352</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "Location_Button.svg",
|
||||
"filename" : "Location_Button.pdf",
|
||||
"idiom" : "universal"
|
||||
},
|
||||
{
|
||||
|
|
69
TINK/TINK.iOS/Media.xcassets/Location_Button.imageset/Location_Button.pdf
vendored
Normal file
69
TINK/TINK.iOS/Media.xcassets/Location_Button.imageset/Location_Button.pdf
vendored
Normal file
|
@ -0,0 +1,69 @@
|
|||
%PDF-1.5
|
||||
%µí®û
|
||||
4 0 obj
|
||||
<< /Length 5 0 R
|
||||
/Filter /FlateDecode
|
||||
>>
|
||||
stream
|
||||
xœmPËN1¼û+æ0‰“<E280B0>Í !q( ©‡–¿<>³qئ<C398>Uì<55>±Ç<C2B1>x8ý®¼š(ìôHF=БGŒûp‹ë‡ý —v<¾ÉãNï'==kŽÃ+EÜã¿VìVaÉâÙIÀg–°7'ªð‘/† …ó¦4ÐÕ ÌM)T“<54>bÖjj´ýø3ý#vÓÃœö<C593>Ä)¥5Å-š2pàX¤¹ÊJj´%µXGºàÂ)$ø›så@½n¸It”®lÜVÖÕÑu„Ó¹rž·-y¹Á;ù <09>³dý=½ý’î‚íÄk\0ö?rG?nðxæ
|
||||
endstream
|
||||
endobj
|
||||
5 0 obj
|
||||
243
|
||||
endobj
|
||||
3 0 obj
|
||||
<<
|
||||
/ExtGState <<
|
||||
/a0 << /CA 1 /ca 1 >>
|
||||
>>
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
<< /Type /Page % 1
|
||||
/Parent 1 0 R
|
||||
/MediaBox [ 0 0 42.000168 42.000027 ]
|
||||
/Contents 4 0 R
|
||||
/Group <<
|
||||
/Type /Group
|
||||
/S /Transparency
|
||||
/I true
|
||||
/CS /DeviceRGB
|
||||
>>
|
||||
/Resources 3 0 R
|
||||
>>
|
||||
endobj
|
||||
1 0 obj
|
||||
<< /Type /Pages
|
||||
/Kids [ 2 0 R ]
|
||||
/Count 1
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<< /Producer (cairo 1.17.4 (https://cairographics.org))
|
||||
/Creator <FEFF0049006E006B0073006300610070006500200031002E0031002E00320020002800680074007400700073003A002F002F0069006E006B00730063006100700065002E006F007200670029>
|
||||
/CreationDate (D:20221124081702+01'00)
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<< /Type /Catalog
|
||||
/Pages 1 0 R
|
||||
>>
|
||||
endobj
|
||||
xref
|
||||
0 8
|
||||
0000000000 65535 f
|
||||
0000000659 00000 n
|
||||
0000000429 00000 n
|
||||
0000000357 00000 n
|
||||
0000000015 00000 n
|
||||
0000000335 00000 n
|
||||
0000000724 00000 n
|
||||
0000001007 00000 n
|
||||
trailer
|
||||
<< /Size 8
|
||||
/Root 7 0 R
|
||||
/Info 6 0 R
|
||||
>>
|
||||
startxref
|
||||
1059
|
||||
%%EOF
|
|
@ -5,12 +5,11 @@
|
|||
/Filter /FlateDecode
|
||||
>>
|
||||
stream
|
||||
xœÕ<EFBFBD>A
|
||||
1E÷9Å¿€1iÆNç‚àbt).dÄÁÅèÂë›jg@=<3D>
ýä“ßGª¯™ºTÊ!˜iDw¥<77>¹6KÌ‚þN‘%Ÿü^h·‡°àHÖ /Ö[a)ó„£®(Þ„õ#R\N©.ž0½ƒ<>·%3F'F–tá}Ñ&ÆùgÃ-ZòåÙbŠ¡ö¦ºˆ
n=þï3'jé Õ[ƒ
|
||||
xœÕOIÂ0¼ûóLœfi_€„Ä¡pDPEH=|—¤UáÈŠ3£Ob<4F>ÑZ‰6‰lL¬cƒÔÓ@‚±ö¬ÏÝ“,»è<C2BB>ª/•¶zît<Á°Á…v Ÿ¬Ü5B<Ljš½qè‘™XöækáÈ8Á±kìäf[Õ4»GVÜ©°ì.3=ãô5J%uù”vûùí-é\…:ب Zñ¡Á£Ã?¯u¥–Þ<Q`3
|
||||
endstream
|
||||
endobj
|
||||
5 0 obj
|
||||
165
|
||||
171
|
||||
endobj
|
||||
3 0 obj
|
||||
<<
|
||||
|
@ -22,7 +21,7 @@ endobj
|
|||
2 0 obj
|
||||
<< /Type /Page % 1
|
||||
/Parent 1 0 R
|
||||
/MediaBox [ 0 0 41.223316 41.223316 ]
|
||||
/MediaBox [ 0 0 17.007875 17.007879 ]
|
||||
/Contents 4 0 R
|
||||
/Group <<
|
||||
/Type /Group
|
||||
|
@ -42,7 +41,7 @@ endobj
|
|||
6 0 obj
|
||||
<< /Producer (cairo 1.17.4 (https://cairographics.org))
|
||||
/Creator <FEFF0049006E006B0073006300610070006500200031002E0031002E00320020002800680074007400700073003A002F002F0069006E006B00730063006100700065002E006F007200670029>
|
||||
/CreationDate (D:20221116092441+01'00)
|
||||
/CreationDate (D:20221118084115+01'00)
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
|
@ -53,18 +52,18 @@ endobj
|
|||
xref
|
||||
0 8
|
||||
0000000000 65535 f
|
||||
0000000581 00000 n
|
||||
0000000351 00000 n
|
||||
0000000279 00000 n
|
||||
0000000587 00000 n
|
||||
0000000357 00000 n
|
||||
0000000285 00000 n
|
||||
0000000015 00000 n
|
||||
0000000257 00000 n
|
||||
0000000646 00000 n
|
||||
0000000929 00000 n
|
||||
0000000263 00000 n
|
||||
0000000652 00000 n
|
||||
0000000935 00000 n
|
||||
trailer
|
||||
<< /Size 8
|
||||
/Root 7 0 R
|
||||
/Info 6 0 R
|
||||
>>
|
||||
startxref
|
||||
981
|
||||
987
|
||||
%%EOF
|
||||
|
|
|
@ -383,7 +383,7 @@
|
|||
<ImageAsset Include="Media.xcassets\Location_Button.imageset\Contents.json">
|
||||
<Visible>false</Visible>
|
||||
</ImageAsset>
|
||||
<ImageAsset Include="Media.xcassets\Location_Button.imageset\Location_Button.svg">
|
||||
<ImageAsset Include="Media.xcassets\Location_Button.imageset\Location_Button.pdf">
|
||||
<Visible>false</Visible>
|
||||
</ImageAsset>
|
||||
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\1024-1.png">
|
||||
|
|
|
@ -98,9 +98,11 @@
|
|||
Command="{Binding OnCurrentLocationButtonClicked}"
|
||||
IsVisible="True"
|
||||
BackgroundColor="Transparent"
|
||||
BorderWidth="1"
|
||||
BorderColor="LightGray"
|
||||
VerticalOptions="End"
|
||||
HorizontalOptions="End"
|
||||
Margin="0,0,11,100"
|
||||
HorizontalOptions="Center"
|
||||
Margin="0,0,0,12"
|
||||
Source="Location_Button.png"
|
||||
WidthRequest="40"
|
||||
HeightRequest="40"
|
||||
|
|
|
@ -642,6 +642,16 @@ namespace TINK.Model
|
|||
AppResources.ChangeLog_3_0_350_SB_MK,
|
||||
new List<AppFlavor> { AppFlavor.MeinKonrad, AppFlavor.ShareeBike }
|
||||
},
|
||||
{
|
||||
new Version(3, 0, 351),
|
||||
AppResources.ChangeLog_MinorBugFixes,
|
||||
new List<AppFlavor> { AppFlavor.MeinKonrad, AppFlavor.ShareeBike }
|
||||
},
|
||||
{
|
||||
new Version(3, 0, 352),
|
||||
AppResources.ChangeLog_MinorDesignImprovements,
|
||||
new List<AppFlavor> { AppFlavor.MeinKonrad, AppFlavor.ShareeBike }
|
||||
},
|
||||
};
|
||||
|
||||
/// <summary> Manges the whats new information.</summary>
|
||||
|
|
|
@ -259,7 +259,7 @@ namespace TINK.MultilingualResources {
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Closing lock....
|
||||
/// Looks up a localized string similar to <h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>.
|
||||
/// </summary>
|
||||
public static string ActivityTextClosingLock {
|
||||
get {
|
||||
|
@ -484,7 +484,7 @@ namespace TINK.MultilingualResources {
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Opening lock....
|
||||
/// Looks up a localized string similar to <h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>.
|
||||
/// </summary>
|
||||
public static string ActivityTextOpeningLock {
|
||||
get {
|
||||
|
|
|
@ -334,7 +334,7 @@ Freigabedialog öffen?</value>
|
|||
<value>Einen Moment bitte...</value>
|
||||
</data>
|
||||
<data name="ActivityTextOpeningLock" xml:space="preserve">
|
||||
<value>Öffne Schloss...</value>
|
||||
<value><h4><b>Schloss öffnet.<br/>Bitte warten Sie, bis es komplett geöffnet ist.</b></h4></value>
|
||||
</data>
|
||||
<data name="ActivityTextStartingUpdater" xml:space="preserve">
|
||||
<value>Starte Aktualisierung...</value>
|
||||
|
@ -355,7 +355,7 @@ Freigabedialog öffen?</value>
|
|||
<value>Kein Netz beim Aktualisieren des Schlossstatusses.</value>
|
||||
</data>
|
||||
<data name="ActivityTextClosingLock" xml:space="preserve">
|
||||
<value>Schließe Schloss...</value>
|
||||
<value><h4><b>Schloss schließt.<br/>Bitte überprüfen Sie visuell, ob es komplett geschlossen ist.</b></h4></value>
|
||||
</data>
|
||||
<data name="ChangeLog3_0_203" xml:space="preserve">
|
||||
<value>Aktualisierrt auf aktuelle Schloss-Firmware.</value>
|
||||
|
|
|
@ -439,7 +439,7 @@ Open sharing dialog?</value>
|
|||
<value>One moment please...</value>
|
||||
</data>
|
||||
<data name="ActivityTextOpeningLock" xml:space="preserve">
|
||||
<value>Opening lock...</value>
|
||||
<value><h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4></value>
|
||||
</data>
|
||||
<data name="ActivityTextStartingUpdater" xml:space="preserve">
|
||||
<value>Updating...</value>
|
||||
|
@ -460,7 +460,7 @@ Open sharing dialog?</value>
|
|||
<value>No web error on updating locking status.</value>
|
||||
</data>
|
||||
<data name="ActivityTextClosingLock" xml:space="preserve">
|
||||
<value>Closing lock...</value>
|
||||
<value><h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4></value>
|
||||
</data>
|
||||
<data name="ChangeLog3_0_203" xml:space="preserve">
|
||||
<value>Updated to latest lock firmware.</value>
|
||||
|
@ -1188,4 +1188,4 @@ When logging in, you can now view the password you entered. <br/>
|
|||
<br/>
|
||||
Try it out!</value>
|
||||
</data>
|
||||
</root>
|
||||
</root>
|
||||
|
|
|
@ -441,8 +441,8 @@ Freigabedialog öffen?</target>
|
|||
<target state="translated">Einen Moment bitte...</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="ActivityTextOpeningLock" translate="yes" xml:space="preserve">
|
||||
<source>Opening lock...</source>
|
||||
<target state="translated">Öffne Schloss...</target>
|
||||
<source><bpt id="1"><h4></bpt><bpt id="2"><b></bpt>Lock is opening.<br/>Please wait until it is completely open.<ept id="2"></b></ept><ept id="1"></h4></ept></source>
|
||||
<target state="translated"><bpt id="1"><h4></bpt><bpt id="2"><b></bpt>Schloss öffnet.<br/>Bitte warten Sie, bis es komplett geöffnet ist.<ept id="2"></b></ept><ept id="1"></h4></ept></target>
|
||||
</trans-unit>
|
||||
<trans-unit id="ActivityTextStartingUpdater" translate="yes" xml:space="preserve">
|
||||
<source>Updating...</source>
|
||||
|
@ -469,8 +469,8 @@ Freigabedialog öffen?</target>
|
|||
<target state="translated">Kein Netz beim Aktualisieren des Schlossstatusses.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="ActivityTextClosingLock" translate="yes" xml:space="preserve">
|
||||
<source>Closing lock...</source>
|
||||
<target state="translated">Schließe Schloss...</target>
|
||||
<source><bpt id="1"><h4></bpt><bpt id="2"><b></bpt>Lock is closing.<br/>Please visually check if it is completely closed.<ept id="2"></b></ept><ept id="1"></h4></ept></source>
|
||||
<target state="translated"><bpt id="1"><h4></bpt><bpt id="2"><b></bpt>Schloss schließt.<br/>Bitte überprüfen Sie visuell, ob es komplett geschlossen ist.<ept id="2"></b></ept><ept id="1"></h4></ept></target>
|
||||
</trans-unit>
|
||||
<trans-unit id="ChangeLog3_0_203" translate="yes" xml:space="preserve">
|
||||
<source>Updated to latest lock firmware.</source>
|
||||
|
|
|
@ -478,16 +478,16 @@ namespace TINK.ViewModel.Map
|
|||
{
|
||||
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();
|
||||
// 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.
|
||||
|
@ -598,7 +598,7 @@ namespace TINK.ViewModel.Map
|
|||
{
|
||||
// Start task which periodically updates pins.
|
||||
return new PollingUpdateTaskManager(
|
||||
() =>
|
||||
async () =>
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -893,26 +893,148 @@ namespace TINK.ViewModel.Map
|
|||
/// <summary> User request to center to currentLocation. </summary>
|
||||
public async Task CenterToCurrentLocation()
|
||||
{
|
||||
Location currentLocation = null;
|
||||
try
|
||||
{
|
||||
currentLocation = await GeolocationService.GetAsync();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.ForContext<MapPageViewModel>().Error("Getting location failed. {Exception}", ex);
|
||||
}
|
||||
IsMapPageEnabled = false;
|
||||
|
||||
if (currentLocation != null)
|
||||
{
|
||||
TinkApp.UserMapSpan = MapSpan.FromCenterAndRadius(
|
||||
new Xamarin.Forms.GoogleMaps.Position(currentLocation.Latitude, currentLocation.Longitude),
|
||||
TinkApp.ActiveMapSpan.Radius);
|
||||
Log.ForContext<MapPageViewModel>().Information($"Request to center to current position.");
|
||||
|
||||
// Stop polling.
|
||||
//ActionText = AppResources.ActivityTextOneMomentPlease;
|
||||
await m_oViewUpdateManager.StopUpdatePeridically();
|
||||
|
||||
// Clear error info.
|
||||
Exception = null;
|
||||
|
||||
ActiveFilterMap = tinkKonradToggleViewModel.FilterDictionary;
|
||||
TinkApp.GroupFilterMapPage = ActiveFilterMap;
|
||||
TinkApp.Save();
|
||||
}
|
||||
|
||||
MoveAndScale(m_oMoveToRegionDelegate, TinkApp.ActiveMapSpan);
|
||||
TinkApp.UpdateConnector();
|
||||
|
||||
// Check location permission
|
||||
//ActionText = AppResources.ActivityTextRequestingLocationPermissions;
|
||||
|
||||
var status = await PermissionsService.CheckStatusAsync();
|
||||
if (!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;
|
||||
}
|
||||
}
|
||||
|
||||
// Do not use property .State to get bluetooth state due
|
||||
// to issue https://hausource.visualstudio.com/TINK/_workitems/edit/116 /
|
||||
// see https://github.com/xabre/xamarin-bluetooth-le/issues/112#issuecomment-380994887
|
||||
if (await BluetoothService.GetBluetoothState() != Plugin.BLE.Abstractions.Contracts.BluetoothState.On)
|
||||
{
|
||||
await ViewService.DisplayAlert(
|
||||
AppResources.MessageTitleHint,
|
||||
AppResources.MessageBikesManagementBluetoothActivation,
|
||||
AppResources.MessageAnswerOk);
|
||||
ActionText = "";
|
||||
IsRunning = false;
|
||||
IsMapPageEnabled = true;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Move and scale before getting stations and bikes which takes some time.
|
||||
Location currentLocation = null;
|
||||
try
|
||||
{
|
||||
currentLocation = await GeolocationService.GetAsync();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.ForContext<MapPageViewModel>().Error("Getting location failed. {Exception}", ex);
|
||||
}
|
||||
|
||||
if (currentLocation != null)
|
||||
{
|
||||
IsRunning = true;
|
||||
ActionText = AppResources.ActivityTextCenterMap;
|
||||
|
||||
TinkApp.UserMapSpan = MapSpan.FromCenterAndRadius(
|
||||
new Xamarin.Forms.GoogleMaps.Position(currentLocation.Latitude, currentLocation.Longitude),
|
||||
TinkApp.ActiveMapSpan.Radius);
|
||||
|
||||
TinkApp.Save();
|
||||
|
||||
MoveAndScale(m_oMoveToRegionDelegate, TinkApp.ActiveMapSpan);
|
||||
|
||||
//Pins.Clear();
|
||||
|
||||
//// Update stations
|
||||
//ActionText = AppResources.ActivityTextMapLoadingStationsAndBikes;
|
||||
//IsConnected = TinkApp.GetIsConnected();
|
||||
//var resultStationsAndBikes = await TinkApp.GetConnector(IsConnected).Query.GetBikesAndStationsAsync();
|
||||
|
||||
//// Set pins to their positions on map.
|
||||
//InitializePins(resultStationsAndBikes.Response.StationsAll);
|
||||
//Log.ForContext<MapPageViewModel>().Verbose("Update of pins done...");
|
||||
|
||||
//// Update pin colors.
|
||||
//Log.ForContext<MapPageViewModel>().Verbose("Starting update pins color...");
|
||||
//var l_oColors = GetStationColors(
|
||||
// Pins.Select(x => x.Tag.ToString()).ToList(),
|
||||
// resultStationsAndBikes.Response.Bikes);
|
||||
|
||||
//// Update pins color form count of bikes located at station.
|
||||
//UpdatePinsColor(l_oColors);
|
||||
|
||||
//Log.ForContext<MapPageViewModel>().Verbose("Update pins color done.");
|
||||
|
||||
try
|
||||
{
|
||||
// Update bikes at station or my bikes depending on context.
|
||||
await m_oViewUpdateManager.StartUpdateAyncPeridically(Polling);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
// Excpetions are handled insde update task;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ActionText = AppResources.ActivityTextErrorQueryLocationWhenAny;
|
||||
}
|
||||
|
||||
IsRunning = false;
|
||||
IsMapPageEnabled = true;
|
||||
Log.ForContext<MapPageViewModel>().Information($"Center to current Position done.");
|
||||
ActionText = "";
|
||||
}
|
||||
catch (Exception l_oException)
|
||||
{
|
||||
Log.ForContext<MapPageViewModel>().Error("An error occurred while centering to current position.");
|
||||
ActionText = "";
|
||||
IsRunning = false;
|
||||
|
||||
await ViewService.DisplayAlert(
|
||||
"Fehler",
|
||||
AppResources.MessageMapPageErrorSwitch,
|
||||
String.Format(AppResources.MessageMapPageErrorSwitch, l_oException.Message),
|
||||
AppResources.MessageAnswerOk);
|
||||
|
||||
IsMapPageEnabled = true;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary> Command object to bind login button to view model.</summary>
|
||||
|
@ -980,7 +1102,7 @@ namespace TINK.ViewModel.Map
|
|||
Pins.Clear();
|
||||
|
||||
// Check location permission
|
||||
ActionText = AppResources.ActivityTextRequestingLocationPermissions;
|
||||
//ActionText = AppResources.ActivityTextRequestingLocationPermissions;
|
||||
|
||||
var status = await PermissionsService.CheckStatusAsync();
|
||||
if (TinkApp.CenterMapToCurrentLocation
|
||||
|
@ -1024,10 +1146,10 @@ namespace TINK.ViewModel.Map
|
|||
}
|
||||
|
||||
// Move and scale before getting stations and bikes which takes some time.
|
||||
ActionText = AppResources.ActivityTextCenterMap;
|
||||
|
||||
if (TinkApp.CenterMapToCurrentLocation)
|
||||
{
|
||||
//ActionText = AppResources.ActivityTextCenterMap;
|
||||
|
||||
Location currentLocation = null;
|
||||
try
|
||||
{
|
||||
|
@ -1045,12 +1167,12 @@ namespace TINK.ViewModel.Map
|
|||
TinkApp.ActiveMapSpan.Radius);
|
||||
|
||||
TinkApp.Save();
|
||||
|
||||
//MoveAndScale(m_oMoveToRegionDelegate, TinkApp.ActiveMapSpan);
|
||||
}
|
||||
}
|
||||
|
||||
// Update stations
|
||||
MoveAndScale(m_oMoveToRegionDelegate, TinkApp.ActiveMapSpan);
|
||||
|
||||
ActionText = AppResources.ActivityTextMapLoadingStationsAndBikes;
|
||||
IsConnected = TinkApp.GetIsConnected();
|
||||
var resultStationsAndBikes = await TinkApp.GetConnector(IsConnected).Query.GetBikesAndStationsAsync();
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
<TargetFramework>net5.0</TargetFramework>
|
||||
|
||||
<IsPackable>false</IsPackable>
|
||||
|
||||
|
|
|
@ -693,7 +693,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Reading charging level...";
|
||||
locks[0].GetBatteryPercentageAsync();
|
||||
|
@ -755,7 +755,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAlert("Error while opening lock!", "Lock cannot be opened until bike is near.", "OK");
|
||||
|
@ -815,7 +815,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAlert("Error while opening lock!", "Lock is blocked. Please ensure that no obstacle prevents lock from opening and try again.", "OK");
|
||||
|
@ -876,7 +876,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAlert("Error while opening lock!", "After try to open lock state closed is reported.", "OK");
|
||||
|
@ -936,7 +936,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAlert("Lock can not be opened!", "Lock was blocked and might still be. Please ensure that no obstacle prevents lock from opening and try again.", "OK");
|
||||
|
@ -996,7 +996,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAlert("Error while opening lock!", "Exception message.", "OK");
|
||||
|
@ -1057,7 +1057,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Reading charging level...";
|
||||
locks[0].GetBatteryPercentageAsync();
|
||||
|
@ -1121,7 +1121,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Reading charging level...";
|
||||
locks[0].GetBatteryPercentageAsync();
|
||||
|
@ -1186,7 +1186,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Reading charging level...";
|
||||
locks[0].GetBatteryPercentageAsync();
|
||||
|
@ -1251,7 +1251,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Reading charging level...";
|
||||
locks[0].GetBatteryPercentageAsync();
|
||||
|
@ -1317,7 +1317,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Reading charging level...";
|
||||
locks[0].GetBatteryPercentageAsync();
|
||||
|
|
|
@ -154,7 +154,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Starting bike return...";
|
||||
connector.Command.StartReturningBike(bike); // Notify about start
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks.Received()[0].CloseAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Query location...";
|
||||
bikesViewModel.ActionText = "Returning bike...";
|
||||
|
@ -226,7 +226,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Starting bike return...";
|
||||
connector.Command.StartReturningBike(bike); // Notify about start
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks.Received()[0].CloseAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "";
|
||||
bike.LockInfo.State = LockingState.UnknownDisconnected;
|
||||
|
@ -431,7 +431,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Starting bike return...";
|
||||
connector.Command.StartReturningBike(bike); // Notify about start
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks.Received()[0].CloseAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "";
|
||||
bike.LockInfo.State = LockingState.UnknownDisconnected;
|
||||
|
@ -503,7 +503,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Starting bike return...";
|
||||
connector.Command.StartReturningBike(bike); // Notify about start
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks.Received()[0].CloseAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "";
|
||||
bike.LockInfo.State = LockingState.Open;
|
||||
|
@ -577,7 +577,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Starting bike return...";
|
||||
connector.Command.StartReturningBike(bike); // Notify about start
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks.Received()[0].CloseAsync(); // Lock must be closed
|
||||
bike.LockInfo.State = LockingState.Open;
|
||||
bikesViewModel.ActionText = "";
|
||||
|
@ -648,7 +648,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Starting bike return...";
|
||||
connector.Command.StartReturningBike(bike); // Notify about start
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks.Received()[0].CloseAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Query location...";
|
||||
bikesViewModel.ActionText = "";
|
||||
|
@ -720,7 +720,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Starting bike return...";
|
||||
connector.Command.StartReturningBike(bike); // Notify about start
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks.Received()[0].CloseAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Query location...";
|
||||
bikesViewModel.ActionText = "Returning bike...";
|
||||
|
@ -797,7 +797,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Starting bike return...";
|
||||
connector.Command.StartReturningBike(bike); // Notify about start
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks.Received()[0].CloseAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Query location...";
|
||||
bikesViewModel.ActionText = "Returning bike...";
|
||||
|
@ -873,7 +873,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Starting bike return...";
|
||||
connector.Command.StartReturningBike(bike); // Notify about start
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks.Received()[0].CloseAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Query location...";
|
||||
bikesViewModel.ActionText = "Returning bike...";
|
||||
|
@ -949,7 +949,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Starting bike return...";
|
||||
connector.Command.StartReturningBike(bike); // Notify about start
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks.Received()[0].CloseAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Query location...";
|
||||
bikesViewModel.ActionText = "Returning bike...";
|
||||
|
@ -1023,7 +1023,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Starting bike return...";
|
||||
connector.Command.StartReturningBike(bike); // Notify about start
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks.Received()[0].CloseAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Query location...";
|
||||
bikesViewModel.ActionText = "Returning bike...";
|
||||
|
@ -1084,7 +1084,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks.Received()[0].CloseAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Updating lock state...";
|
||||
connector.Command.UpdateLockingStateAsync(bike, Arg.Any<LocationDto>());
|
||||
|
@ -1144,7 +1144,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks.Received()[0].CloseAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAlert("Lock can not be closed!", "Lock cannot be closed until bike is near.", "OK");
|
||||
|
@ -1204,7 +1204,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks.Received()[0].CloseAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAlert("Lock can not be closed!", "Exception message.", "OK");
|
||||
|
@ -1265,7 +1265,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks.Received()[0].CloseAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Updating lock state...";
|
||||
connector.Command.UpdateLockingStateAsync(bike, Arg.Any<LocationDto>());
|
||||
|
@ -1327,7 +1327,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks.Received()[0].CloseAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Updating lock state...";
|
||||
connector.Command.UpdateLockingStateAsync(bike, Arg.Any<LocationDto>());
|
||||
|
@ -1390,7 +1390,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks.Received()[0].CloseAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Updating lock state...";
|
||||
connector.Command.UpdateLockingStateAsync(bike, Arg.Any<LocationDto>());
|
||||
|
|
|
@ -93,7 +93,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Reading charging level...";
|
||||
locks[0].GetBatteryPercentageAsync();
|
||||
|
@ -155,7 +155,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAlert("Error while opening lock!", "Lock cannot be opened until bike is near.", "OK");
|
||||
|
@ -215,7 +215,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAlert("Error while opening lock!", "Lock is blocked. Please ensure that no obstacle prevents lock from opening and try again.", "OK");
|
||||
|
@ -275,7 +275,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAlert("Error while opening lock!", "After try to open lock state closed is reported.", "OK");
|
||||
|
@ -335,7 +335,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAlert("Lock can not be opened!", "Lock was blocked and might still be. Please ensure that no obstacle prevents lock from opening and try again.", "OK");
|
||||
|
@ -395,7 +395,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAlert("Error while opening lock!", "Exception message.", "OK");
|
||||
|
@ -456,7 +456,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Reading charging level...";
|
||||
locks[0].GetBatteryPercentageAsync();
|
||||
|
@ -521,7 +521,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Reading charging level...";
|
||||
locks[0].GetBatteryPercentageAsync();
|
||||
|
@ -586,7 +586,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Reading charging level...";
|
||||
locks[0].GetBatteryPercentageAsync();
|
||||
|
@ -651,7 +651,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Reading charging level...";
|
||||
locks[0].GetBatteryPercentageAsync();
|
||||
|
@ -717,7 +717,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Reading charging level...";
|
||||
locks[0].GetBatteryPercentageAsync();
|
||||
|
@ -779,7 +779,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks.Received()[0].CloseAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Updating lock state...";
|
||||
connector.Command.UpdateLockingStateAsync(bike, Arg.Any<LocationDto>());
|
||||
|
@ -839,7 +839,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks.Received()[0].CloseAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAlert("Lock can not be closed!", "Lock cannot be closed until bike is near.", "OK");
|
||||
|
@ -899,7 +899,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks.Received()[0].CloseAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAlert("Lock can not be closed!", "Exception message.", "OK");
|
||||
|
@ -960,7 +960,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks.Received()[0].CloseAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Updating lock state...";
|
||||
connector.Command.UpdateLockingStateAsync(bike, Arg.Any<LocationDto>());
|
||||
|
@ -1022,7 +1022,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks.Received()[0].CloseAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Updating lock state...";
|
||||
connector.Command.UpdateLockingStateAsync(bike, Arg.Any<LocationDto>());
|
||||
|
@ -1085,7 +1085,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks.Received()[0].CloseAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Updating lock state...";
|
||||
connector.Command.UpdateLockingStateAsync(bike, Arg.Any<LocationDto>());
|
||||
|
|
|
@ -158,7 +158,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
bikesViewModel.ActionText = "";
|
||||
bikesViewModel.ActionText = "Renting bike...";
|
||||
connector.Command.DoBook(bike); // Booking must be performed
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be opened
|
||||
bikesViewModel.ActionText = "Reading charging level...";
|
||||
locks[0].GetBatteryPercentageAsync();
|
||||
|
|
|
@ -91,7 +91,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks[0].CloseAsync();
|
||||
bikesViewModel.ActionText = "Disconnecting lock...";
|
||||
locks.DisconnectAsync(Arg.Any<int>(), Arg.Any<Guid>());
|
||||
|
@ -154,7 +154,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks[0].CloseAsync();
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAlert("Lock can not be closed!", "Lock cannot be closed until bike is near.", "OK");
|
||||
|
@ -217,7 +217,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks[0].CloseAsync();
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAlert("Lock can not be closed!", "Exception message.", "OK");
|
||||
|
|
|
@ -473,7 +473,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Renting bike...";
|
||||
connector.Command.DoBook(bike); // Booking must be performed
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be opened
|
||||
bikesViewModel.ActionText = "Reading charging level...";
|
||||
locks[0].GetBatteryPercentageAsync();
|
||||
|
@ -680,7 +680,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Renting bike...";
|
||||
connector.Command.DoBook(bike); // Booking must be performed
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be opened
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAlert("Error while opening lock!", "Lock cannot be opened until bike is near.", "OK");
|
||||
|
@ -747,7 +747,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Renting bike...";
|
||||
connector.Command.DoBook(bike); // Booking must be performed
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be opened
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAlert("Error while opening lock!", "Exception message.", "OK");
|
||||
|
@ -813,7 +813,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Renting bike...";
|
||||
connector.Command.DoBook(bike); // Booking must be performed
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be opened
|
||||
bikesViewModel.ActionText = "Updating...";
|
||||
pollingManager.StartUpdateAyncPeridically(); // polling must be restarted again
|
||||
|
@ -879,7 +879,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Renting bike...";
|
||||
connector.Command.DoBook(bike); // Booking must be performed
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be opened
|
||||
bikesViewModel.ActionText = "Reading charging level...";
|
||||
locks[0].GetBatteryPercentageAsync();
|
||||
|
@ -950,7 +950,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Renting bike...";
|
||||
connector.Command.DoBook(bike); // Booking must be performed
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be opened
|
||||
bikesViewModel.ActionText = "Reading charging level...";
|
||||
locks[0].GetBatteryPercentageAsync();
|
||||
|
@ -1021,7 +1021,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Renting bike...";
|
||||
connector.Command.DoBook(bike); // Booking must be performed
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be opened
|
||||
bikesViewModel.ActionText = "Reading charging level...";
|
||||
locks[0].GetBatteryPercentageAsync();
|
||||
|
@ -1092,7 +1092,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Renting bike...";
|
||||
connector.Command.DoBook(bike); // Booking must be performed
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be opened
|
||||
bikesViewModel.ActionText = "Reading charging level...";
|
||||
locks[0].GetBatteryPercentageAsync();
|
||||
|
@ -1164,7 +1164,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Renting bike...";
|
||||
connector.Command.DoBook(bike); // Booking must be performed
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be opened
|
||||
bikesViewModel.ActionText = "Reading charging level...";
|
||||
locks[0].GetBatteryPercentageAsync();
|
||||
|
|
|
@ -423,7 +423,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
bikesViewModel.ActionText = "";
|
||||
bikesViewModel.ActionText = "Renting bike...";
|
||||
connector.Command.DoBook(bike); // Booking must be performed
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be opened
|
||||
bikesViewModel.ActionText = "Reading charging level...";
|
||||
locks[0].GetBatteryPercentageAsync();
|
||||
|
|
|
@ -288,7 +288,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks[0].CloseAsync();
|
||||
bikesViewModel.ActionText = "Canceling reservation...";
|
||||
connector.Command.DoCancelReservation(bike);
|
||||
|
@ -360,7 +360,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks[0].CloseAsync();
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAlert(
|
||||
|
@ -434,7 +434,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks[0].CloseAsync();
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAlert(
|
||||
|
@ -512,7 +512,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks[0].CloseAsync();
|
||||
bikesViewModel.ActionText = "Canceling reservation...";
|
||||
connector.Command.DoCancelReservation(bike);
|
||||
|
@ -583,7 +583,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks[0].CloseAsync();
|
||||
bikesViewModel.ActionText = "Canceling reservation...";
|
||||
connector.Command.DoCancelReservation(bike);
|
||||
|
@ -654,7 +654,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel.Bikes.Bike.BluetoothLock.Re
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks[0].CloseAsync();
|
||||
bikesViewModel.ActionText = "Canceling reservation...";
|
||||
connector.Command.DoCancelReservation(bike);
|
||||
|
|
|
@ -95,7 +95,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Reading charging level...";
|
||||
locks[0].GetBatteryPercentageAsync();
|
||||
|
@ -157,7 +157,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAlert("Error while opening lock!", "Lock cannot be opened until bike is near.", "OK");
|
||||
|
@ -217,7 +217,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAlert("Error while opening lock!", "Lock is blocked. Please ensure that no obstacle prevents lock from opening and try again.", "OK");
|
||||
|
@ -277,7 +277,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAlert("Error while opening lock!", "After try to open lock state closed is reported.", "OK");
|
||||
|
@ -337,7 +337,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAlert("Lock can not be opened!", "Lock was blocked and might still be. Please ensure that no obstacle prevents lock from opening and try again.", "OK");
|
||||
|
@ -397,7 +397,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAlert("Error while opening lock!", "Exception message.", "OK");
|
||||
|
@ -459,7 +459,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Reading charging level...";
|
||||
locks[0].GetBatteryPercentageAsync();
|
||||
|
@ -524,7 +524,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Reading charging level...";
|
||||
locks[0].GetBatteryPercentageAsync();
|
||||
|
@ -590,7 +590,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
locks.Received()[0].OpenAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Reading charging level...";
|
||||
locks[0].GetBatteryPercentageAsync();
|
||||
|
@ -652,7 +652,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks.Received()[0].CloseAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Updating lock state...";
|
||||
connector.Command.UpdateLockingStateAsync(bike, Arg.Any<LocationDto>());
|
||||
|
@ -708,7 +708,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks.Received()[0].CloseAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAlert("Lock can not be closed!", "Lock cannot be closed until bike is near.", "OK");
|
||||
|
@ -768,7 +768,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks.Received()[0].CloseAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAlert("Lock can not be closed!", "Exception message.", "OK");
|
||||
|
@ -830,7 +830,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks.Received()[0].CloseAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Updating lock state...";
|
||||
connector.Command.UpdateLockingStateAsync(bike, Arg.Any<LocationDto>());
|
||||
|
@ -892,7 +892,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks.Received()[0].CloseAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Updating lock state...";
|
||||
connector.Command.UpdateLockingStateAsync(bike, Arg.Any<LocationDto>());
|
||||
|
@ -955,7 +955,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.BluetoothLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Closing lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is closing.<br/>Please visually check if it is completely closed.</b></h4>";
|
||||
locks.Received()[0].CloseAsync(); // Lock must be closed
|
||||
bikesViewModel.ActionText = "Updating lock state...";
|
||||
connector.Command.UpdateLockingStateAsync(bike, Arg.Any<LocationDto>());
|
||||
|
|
|
@ -57,7 +57,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.CopriLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
connector.Command.OpenLockAsync(bike); // Booking must be performed
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAdvancedAlert(
|
||||
|
@ -127,7 +127,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.CopriLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
connector.Command.OpenLockAsync(bike); // Booking must be performed
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAlert(
|
||||
|
@ -194,7 +194,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.CopriLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
connector.Command.OpenLockAsync(bike); // Booking must be performed
|
||||
bikesViewModel.ActionText = "Updating...";
|
||||
pollingManager.StartUpdateAyncPeridically(); // polling must be restarted again
|
||||
|
|
|
@ -57,7 +57,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.CopriLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
connector.Command.OpenLockAsync(bike); // Booking must be performed
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAdvancedAlert(
|
||||
|
@ -127,7 +127,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.CopriLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
connector.Command.OpenLockAsync(bike); // Booking must be performed
|
||||
bikesViewModel.ActionText = "";
|
||||
viewService.DisplayAlert(
|
||||
|
@ -194,7 +194,7 @@ namespace TestShareeLib.ViewModel.Bikes.Bike.CopriLock.RequestHandler
|
|||
bikesViewModel.Received(1).IsIdle = false; // GUI must be locked
|
||||
bikesViewModel.ActionText = "One moment please...";
|
||||
pollingManager.StopUpdatePeridically(); // Polling must be stopped before any COPR and lock service action
|
||||
bikesViewModel.ActionText = "Opening lock...";
|
||||
bikesViewModel.ActionText = "<h4><b>Lock is opening.<br/>Please wait until it is completely open.</b></h4>";
|
||||
connector.Command.OpenLockAsync(bike); // Booking must be performed
|
||||
bikesViewModel.ActionText = "Updating...";
|
||||
pollingManager.StartUpdateAyncPeridically(); // polling must be restarted again
|
||||
|
|
Loading…
Reference in a new issue