mirror of
https://dev.azure.com/TeilRad/sharee.bike%20App/_git/Code
synced 2025-04-22 12:56:29 +02:00
Version 3.0.360
This commit is contained in:
parent
5c0b2e70c9
commit
faf68061f4
160 changed files with 2114 additions and 1932 deletions
|
@ -15,21 +15,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LockItShared", "..\LockItSh
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LockItBLE", "..\LockItBLE\LockItBLE.csproj", "{BDE9CE26-15CF-47DA-A4F6-B6956D02D0FC}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestLockItShared", "..\TestLockItShared\TestLockItShared.csproj", "{7E25F58E-62E3-48D7-8115-E33DA67C511E}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestShareeLib", "..\TestShareeLib\TestShareeLib.csproj", "{38F340AD-EC12-4BB2-8633-AC5B55C32B77}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestLockItBLE", "..\TestLockItBLE\TestLockItBLE.csproj", "{2581E9AD-4F56-431A-AB87-1B6D80D546AA}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestFramework", "..\TestFramework\TestFramework.csproj", "{9EA4ED8C-C4C3-48DC-8CBE-9281E0A7CA8D}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestSharee", "..\TestSharee\TestSharee.csproj", "{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SharedMSBuildProjectFiles) = preSolution
|
||||
TINK\TINK.projitems*{5297504f-603f-4e1a-98aa-57c4a0d9d833}*SharedItemsImports = 13
|
||||
TINK\TINK.projitems*{f2d8208f-a8bf-4403-b0ae-2a1d270e4dc9}*SharedItemsImports = 4
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Ad-Hoc|Any CPU = Ad-Hoc|Any CPU
|
||||
Ad-Hoc|ARM = Ad-Hoc|ARM
|
||||
|
@ -282,150 +270,6 @@ Global
|
|||
{BDE9CE26-15CF-47DA-A4F6-B6956D02D0FC}.Release|x64.Build.0 = Release|Any CPU
|
||||
{BDE9CE26-15CF-47DA-A4F6-B6956D02D0FC}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{BDE9CE26-15CF-47DA-A4F6-B6956D02D0FC}.Release|x86.Build.0 = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Ad-Hoc|ARM.Build.0 = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Ad-Hoc|x64.Build.0 = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Ad-Hoc|x86.Build.0 = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.AppStore|Any CPU.Build.0 = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.AppStore|ARM.ActiveCfg = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.AppStore|ARM.Build.0 = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.AppStore|iPhone.ActiveCfg = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.AppStore|iPhone.Build.0 = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.AppStore|x64.ActiveCfg = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.AppStore|x64.Build.0 = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.AppStore|x86.ActiveCfg = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.AppStore|x86.Build.0 = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Release|x64.Build.0 = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{7E25F58E-62E3-48D7-8115-E33DA67C511E}.Release|x86.Build.0 = Release|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Ad-Hoc|x64.Build.0 = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Ad-Hoc|x86.Build.0 = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.AppStore|Any CPU.Build.0 = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.AppStore|ARM.ActiveCfg = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.AppStore|ARM.Build.0 = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.AppStore|iPhone.Build.0 = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.AppStore|x64.ActiveCfg = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.AppStore|x64.Build.0 = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.AppStore|x86.ActiveCfg = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.AppStore|x86.Build.0 = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Release|x64.Build.0 = Release|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{38F340AD-EC12-4BB2-8633-AC5B55C32B77}.Release|x86.Build.0 = Release|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Ad-Hoc|x64.Build.0 = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Ad-Hoc|x86.Build.0 = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.AppStore|Any CPU.Build.0 = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.AppStore|ARM.ActiveCfg = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.AppStore|ARM.Build.0 = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.AppStore|iPhone.Build.0 = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.AppStore|x64.ActiveCfg = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.AppStore|x64.Build.0 = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.AppStore|x86.ActiveCfg = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.AppStore|x86.Build.0 = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Release|x64.Build.0 = Release|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{2581E9AD-4F56-431A-AB87-1B6D80D546AA}.Release|x86.Build.0 = Release|Any CPU
|
||||
{9EA4ED8C-C4C3-48DC-8CBE-9281E0A7CA8D}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9EA4ED8C-C4C3-48DC-8CBE-9281E0A7CA8D}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9EA4ED8C-C4C3-48DC-8CBE-9281E0A7CA8D}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU
|
||||
|
@ -474,54 +318,6 @@ Global
|
|||
{9EA4ED8C-C4C3-48DC-8CBE-9281E0A7CA8D}.Release|x64.Build.0 = Release|Any CPU
|
||||
{9EA4ED8C-C4C3-48DC-8CBE-9281E0A7CA8D}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{9EA4ED8C-C4C3-48DC-8CBE-9281E0A7CA8D}.Release|x86.Build.0 = Release|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Ad-Hoc|x64.Build.0 = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Ad-Hoc|x86.Build.0 = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.AppStore|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.AppStore|ARM.ActiveCfg = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.AppStore|ARM.Build.0 = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.AppStore|iPhone.Build.0 = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.AppStore|x64.ActiveCfg = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.AppStore|x64.Build.0 = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.AppStore|x86.ActiveCfg = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.AppStore|x86.Build.0 = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Release|x64.Build.0 = Release|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{9C80A989-4BBB-4F00-AB5D-45B1F99D5A08}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@ -529,6 +325,11 @@ Global
|
|||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {C6529CD7-C3F7-4E80-89B5-002E2B8E3EB5}
|
||||
EndGlobalSection
|
||||
GlobalSection(SharedMSBuildProjectFiles) = preSolution
|
||||
TINK\TINK.projitems*{5297504f-603f-4e1a-98aa-57c4a0d9d833}*SharedItemsImports = 13
|
||||
..\ShareeSharedGuiLib\ShareeSharedGuiLib.projitems*{f2d8208f-a8bf-4403-b0ae-2a1d270e4dc9}*SharedItemsImports = 4
|
||||
TINK\TINK.projitems*{f2d8208f-a8bf-4403-b0ae-2a1d270e4dc9}*SharedItemsImports = 4
|
||||
EndGlobalSection
|
||||
GlobalSection(MonoDevelopProperties) = preSolution
|
||||
Policies = $0
|
||||
$0.DotNetNamingPolicy = $1
|
||||
|
|
|
@ -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.357" android:versionCode="357">
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="internalOnly" package="com.hauffware.sharee" android:versionName="3.0.360" android:versionCode="360">
|
||||
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="31" />
|
||||
<!-- Google Maps related permissions -->
|
||||
<!-- Permission to receive remote notifications from Google Play Services -->
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<AndroidUseSharedRuntime>False</AndroidUseSharedRuntime>
|
||||
<AndroidLinkMode>SdkOnly</AndroidLinkMode>
|
||||
<AndroidLinkMode>None</AndroidLinkMode>
|
||||
<AotAssemblies>false</AotAssemblies>
|
||||
<EnableLLVM>false</EnableLLVM>
|
||||
<AndroidEnableProfiledAot>false</AndroidEnableProfiledAot>
|
||||
|
@ -176,16 +176,16 @@
|
|||
<PackageReference Include="Xamarin.Android.Support.v7.RecyclerView" Version="28.0.0.3" />
|
||||
<PackageReference Include="Xamarin.Android.Support.Vector.Drawable" Version="28.0.0.3" />
|
||||
<PackageReference Include="Xamarin.AndroidX.Core">
|
||||
<Version>1.9.0.1</Version>
|
||||
<Version>1.9.0.2</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Xamarin.AndroidX.MediaRouter">
|
||||
<Version>1.3.1.1</Version>
|
||||
<Version>1.3.1.2</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Xamarin.AndroidX.Palette">
|
||||
<Version>1.0.0.15</Version>
|
||||
<Version>1.0.0.16</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Xamarin.AndroidX.RecyclerView">
|
||||
<Version>1.2.1.8</Version>
|
||||
<Version>1.2.1.9</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Xamarin.Auth" Version="1.7.0" />
|
||||
<PackageReference Include="Xamarin.Build.Download" Version="0.11.4" />
|
||||
|
@ -193,7 +193,7 @@
|
|||
<Version>2.0.5</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Xamarin.Essentials">
|
||||
<Version>1.7.4</Version>
|
||||
<Version>1.7.5</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Xamarin.Forms" Version="5.0.0.2545" />
|
||||
<PackageReference Include="Xamarin.Forms.AppLinks">
|
||||
|
@ -203,10 +203,10 @@
|
|||
<Version>5.0.0</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Xamarin.Forms.GoogleMaps.Bindings" Version="3.0.0" />
|
||||
<PackageReference Include="Xamarin.GooglePlayServices.Base" Version="118.1.0" />
|
||||
<PackageReference Include="Xamarin.GooglePlayServices.Basement" Version="118.1.0" />
|
||||
<PackageReference Include="Xamarin.GooglePlayServices.Maps" Version="118.1.0" />
|
||||
<PackageReference Include="Xamarin.GooglePlayServices.Tasks" Version="118.0.2" />
|
||||
<PackageReference Include="Xamarin.GooglePlayServices.Base" Version="118.1.0.1" />
|
||||
<PackageReference Include="Xamarin.GooglePlayServices.Basement" Version="118.1.0.2" />
|
||||
<PackageReference Include="Xamarin.GooglePlayServices.Maps" Version="118.1.0.1" />
|
||||
<PackageReference Include="Xamarin.GooglePlayServices.Tasks" Version="118.0.2.1" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Mono.Android" />
|
||||
|
|
|
@ -56,8 +56,8 @@
|
|||
<key>CFBundleDisplayName</key>
|
||||
<string>sharee.bike</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>357</string>
|
||||
<string>360</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>3.0.357</string>
|
||||
<string>3.0.360</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
<WarningLevel>4</WarningLevel>
|
||||
<ConsolePause>false</ConsolePause>
|
||||
<MtouchArch>x86_64</MtouchArch>
|
||||
<MtouchLink>None</MtouchLink>
|
||||
<MtouchLink>SdkOnly</MtouchLink>
|
||||
<MtouchDebug>true</MtouchDebug>
|
||||
<CodesignProvision>VS: com.TeilRad.sharee.bike Development</CodesignProvision>
|
||||
<CodesignKey>Apple Development: Oliver Hauff (8SZ7J9P24J)</CodesignKey>
|
||||
|
@ -94,7 +94,7 @@
|
|||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
|
||||
<MtouchNoSymbolStrip>
|
||||
</MtouchNoSymbolStrip>
|
||||
<MtouchLink>SdkOnly</MtouchLink>
|
||||
<MtouchLink>None</MtouchLink>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'AppStore|iPhone' ">
|
||||
<DebugType>none</DebugType>
|
||||
|
@ -107,7 +107,7 @@
|
|||
<CodesignProvision>VS: com.TeilRad.sharee.bike Development</CodesignProvision>
|
||||
<CodesignKey>Apple Development: Oliver Hauff (8SZ7J9P24J)</CodesignKey>
|
||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
|
||||
<MtouchLink>SdkOnly</MtouchLink>
|
||||
<MtouchLink>None</MtouchLink>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(RunConfiguration)' == 'Default' ">
|
||||
<AppExtensionDebugBundleId />
|
||||
|
@ -201,7 +201,7 @@
|
|||
<Version>2.0.5</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Xamarin.Essentials">
|
||||
<Version>1.7.4</Version>
|
||||
<Version>1.7.5</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Xamarin.Forms.GoogleMaps">
|
||||
<Version>5.0.0</Version>
|
||||
|
|
|
@ -21,14 +21,17 @@
|
|||
<x:String x:Key="IconContact"></x:String>
|
||||
<x:String x:Key="IconInfo"></x:String>
|
||||
<!--<x:String x:Key="IconClose"></x:String>-->
|
||||
<x:String x:Key="IconClose"></x:String>
|
||||
<x:String x:Key="IconClose"></x:String>
|
||||
|
||||
<!--TogglePasswortEntry-->
|
||||
<x:String x:Key="EyeOpen"></x:String>
|
||||
<x:String x:Key="EyeClose"></x:String>
|
||||
|
||||
<!--Triangle exclamation-->
|
||||
<x:String x:Key="Attention"></x:String>
|
||||
<!--Arrow down from line-->
|
||||
<x:String x:Key="ArrowDown"></x:String>
|
||||
|
||||
<!--Info in Circle-->
|
||||
<x:String x:Key="InfoCircle"></x:String>
|
||||
|
||||
<!-- Add more resources here -->
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
|
@ -125,6 +125,8 @@ namespace TINK
|
|||
Log.Debug("Get auth cookie.");
|
||||
IStore store = null;
|
||||
|
||||
// Version of last version used or null for initial installation.
|
||||
// Used for updating purposes.
|
||||
var lastVersion = JsonSettingsDictionary.GetAppVersion(settingsJSON);
|
||||
if (new Version(3, 0, 290) <= lastVersion)
|
||||
{
|
||||
|
@ -138,9 +140,11 @@ namespace TINK
|
|||
|
||||
Barrel.ApplicationId = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
|
||||
|
||||
// Get main thread synchronization context to be able to update gui elements from worker threads.
|
||||
var context = SynchronizationContext.Current;
|
||||
|
||||
var appInfoService = DependencyService.Get<IAppInfo>();
|
||||
var smartDevice = DependencyService.Get<ISmartDevice>();
|
||||
|
||||
const string MERCHANTID = "0000000000";
|
||||
|
||||
|
@ -157,13 +161,14 @@ namespace TINK
|
|||
CultureInfo.CurrentUICulture.TwoLetterISOLanguageName,
|
||||
sessionCookie,
|
||||
mail,
|
||||
smartDevice,
|
||||
expiresAfter),
|
||||
merchantId: MERCHANTID,
|
||||
bluetoothService: BluetoothService, /* locksService */
|
||||
locationPermissionsService: PermissionsService,
|
||||
locationServicesContainer: LocationServicesContainer,
|
||||
locksService: null,
|
||||
device: DependencyService.Get<ISmartDevice>(),
|
||||
device: smartDevice,
|
||||
specialFolder: specialFolders,
|
||||
cipher: new Cipher(),
|
||||
new TINK.Services.ThemeNS.Theme(Application.Current.Resources.MergedDictionaries),
|
||||
|
|
|
@ -9,231 +9,275 @@
|
|||
mc:Ignorable="d"
|
||||
x:Class="TINK.View.Bike.ILockItBike">
|
||||
<ContentView>
|
||||
<ContentView.Resources>
|
||||
<conv:StringNotNullOrEmptyToVisibleConverter x:Key="Label_Converter"/>
|
||||
</ContentView.Resources>
|
||||
<StackLayout
|
||||
Padding="10">
|
||||
<Grid Padding="0,0,5,10">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<!-- Icon of the bike -->
|
||||
<Image
|
||||
Source="{Binding DisplayedBikeImageSourceString}"
|
||||
HeightRequest="60"
|
||||
Aspect="AspectFit"
|
||||
HorizontalOptions="Start"
|
||||
VerticalOptions="End"
|
||||
Grid.Column="0"/>
|
||||
<!-- Battery level -->
|
||||
<sharedGui:BarLevelView
|
||||
Current="{Binding CurrentChargeBars}"
|
||||
Maximum="{Binding MaxChargeBars}"
|
||||
Grid.Column="1"
|
||||
VerticalOptions="End"
|
||||
IsVisible="{Binding IsBatteryChargeVisible}"/>
|
||||
<!-- Name of the bike -->
|
||||
<StackLayout Grid.Column="1" Grid.ColumnSpan="2">
|
||||
<Label
|
||||
FontAttributes="Bold"
|
||||
FontSize="Large"
|
||||
HorizontalTextAlignment="Right"
|
||||
Text="{Binding Name}"/>
|
||||
<!-- Id of the bike -->
|
||||
<Label
|
||||
FontAttributes="Bold"
|
||||
HorizontalTextAlignment="Right"
|
||||
IsVisible="{Binding DisplayId, Converter={StaticResource Label_Converter}}"
|
||||
Text="{Binding DisplayId}"/>
|
||||
</StackLayout>
|
||||
</Grid>
|
||||
<!-- Rental state -->
|
||||
<Label
|
||||
Text="{Binding StateText}"
|
||||
TextColor="{Binding StateColor}"/>
|
||||
<Label
|
||||
Text="{Binding ErrorText}"
|
||||
IsVisible="{Binding ErrorText, Converter={StaticResource Label_Converter}}"
|
||||
TextColor="Red"/>
|
||||
<Button
|
||||
Text="{Binding ButtonText}"
|
||||
IsVisible="{Binding IsButtonVisible}"
|
||||
Command="{Binding OnButtonClicked}"/>
|
||||
<Button
|
||||
Style="{StaticResource SecondaryButton}"
|
||||
Text="{Binding LockitButtonText}"
|
||||
IsVisible="{Binding IsLockitButtonVisible}"
|
||||
Command="{Binding OnLockitButtonClicked}"/>
|
||||
<!--Hint for Cache Daten.-->
|
||||
<StackLayout
|
||||
Orientation="Horizontal"
|
||||
HorizontalOptions="CenterAndExpand"
|
||||
IsVisible="{Binding IsDataFromCache}">
|
||||
<Image>
|
||||
<Image.Source>
|
||||
<FontImageSource
|
||||
Glyph="{StaticResource Attention}"
|
||||
Color="Red"
|
||||
FontFamily="FA-S"
|
||||
Size="Small"/>
|
||||
</Image.Source>
|
||||
</Image>
|
||||
<Label
|
||||
TextColor="Red"
|
||||
FontSize="Small"
|
||||
Text="{x:Static resources:AppResources.MarkingDataIsFromCache}"/>
|
||||
</StackLayout>
|
||||
|
||||
<ContentView.Resources>
|
||||
<conv:StringNotNullOrEmptyToVisibleConverter x:Key="Label_Converter"/>
|
||||
</ContentView.Resources>
|
||||
|
||||
<Frame
|
||||
Padding="10"
|
||||
Margin="0,5,0,5"
|
||||
HorizontalOptions="FillAndExpand"
|
||||
VerticalOptions="FillAndExpand"
|
||||
BackgroundColor="White">
|
||||
|
||||
<StackLayout
|
||||
Orientation="Vertical"
|
||||
Padding="10">
|
||||
|
||||
<!-- Icons, Name, ID -->
|
||||
<Grid Padding="0,0,5,10"
|
||||
ColumnDefinitions="Auto,Auto,*"
|
||||
RowDefinitions="Auto,Auto">
|
||||
|
||||
<!-- Icon of the bike -->
|
||||
<Image
|
||||
Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
Grid.RowSpan="2"
|
||||
Source="{Binding DisplayedBikeImageSourceString}"
|
||||
HeightRequest="60"
|
||||
Aspect="AspectFit"
|
||||
HorizontalOptions="Start"
|
||||
VerticalOptions="End"/>
|
||||
|
||||
<!-- Battery level -->
|
||||
<sharedGui:BarLevelView
|
||||
Grid.Column="1"
|
||||
Grid.Row="1"
|
||||
Current="{Binding CurrentChargeBars}"
|
||||
Maximum="{Binding MaxChargeBars}"
|
||||
VerticalOptions="End"
|
||||
IsVisible="{Binding IsBatteryChargeVisible}"/>
|
||||
|
||||
<!-- Name of the bike -->
|
||||
<Label
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"
|
||||
Grid.Row="0"
|
||||
FontAttributes="Bold"
|
||||
FontSize="Large"
|
||||
HorizontalTextAlignment="Right"
|
||||
Text="{Binding Name}"/>
|
||||
|
||||
<!-- Id of the bike -->
|
||||
<Label
|
||||
Grid.Column="2"
|
||||
Grid.Row="1"
|
||||
FontAttributes="Bold"
|
||||
HorizontalTextAlignment="Right"
|
||||
IsVisible="{Binding DisplayId, Converter={StaticResource Label_Converter}}"
|
||||
Text="{Binding DisplayId}"/>
|
||||
|
||||
</Grid>
|
||||
|
||||
<!-- Rental state -->
|
||||
<Label
|
||||
Text="{Binding StateText}"
|
||||
TextColor="{Binding StateColor}"/>
|
||||
<Label
|
||||
Text="{Binding ErrorText}"
|
||||
IsVisible="{Binding ErrorText, Converter={StaticResource Label_Converter}}"
|
||||
TextColor="Red"/>
|
||||
|
||||
<!-- Buttons -->
|
||||
<Button
|
||||
Text="{Binding ButtonText}"
|
||||
IsVisible="{Binding IsButtonVisible}"
|
||||
Command="{Binding OnButtonClicked}"/>
|
||||
<Button
|
||||
Style="{StaticResource SecondaryButton}"
|
||||
Text="{Binding LockitButtonText}"
|
||||
IsVisible="{Binding IsLockitButtonVisible}"
|
||||
Command="{Binding OnLockitButtonClicked}"/>
|
||||
|
||||
<!-- Rental description (tarif name, options and rental info -->
|
||||
<Grid
|
||||
RowSpacing="0"
|
||||
IsVisible="{Binding TariffDescription.Header, Converter={StaticResource Label_Converter}}">
|
||||
<Grid.RowDefinitions>
|
||||
<!-- start tarif- entries -->
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<!-- start rental info -->
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<!-- start tarif- entries (should be a CollectionView) -->
|
||||
<Label
|
||||
<Grid.RowDefinitions>
|
||||
<!-- start tarif- entries -->
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<!-- start rental info -->
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<!-- start tarif- entries (should be a CollectionView) -->
|
||||
<Label
|
||||
Text= "{x:Static resources:AppResources.MessageBikesManagementTariffDescriptionTariffHeader}"
|
||||
IsVisible="{Binding TariffDescription.Header, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="0"
|
||||
FontAttributes="Bold"/>
|
||||
<Label
|
||||
<Label
|
||||
Text="{Binding TariffDescription.Header}"
|
||||
IsVisible="{Binding TariffDescription.Header, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
FontAttributes="Bold"/>
|
||||
<Label
|
||||
|
||||
<!--Tracking-->
|
||||
<Grid
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"
|
||||
ColumnDefinitions="*,Auto"
|
||||
IsVisible="{Binding TariffDescription.TrackingInfoText, Converter={StaticResource Label_Converter}}">
|
||||
<Label
|
||||
Text= "Tracking"
|
||||
FontAttributes="Bold"
|
||||
Grid.Column="0"
|
||||
HorizontalOptions="End"/>
|
||||
<Button
|
||||
Command="{Binding ShowTrackingInfoCommand}"
|
||||
WidthRequest="24"
|
||||
HeightRequest="24"
|
||||
BackgroundColor="Transparent"
|
||||
BorderWidth="0"
|
||||
Grid.Column="1"
|
||||
Padding="0"
|
||||
Margin="0">
|
||||
<Button.ImageSource>
|
||||
<FontImageSource
|
||||
Glyph="{StaticResource InfoCircle}"
|
||||
Color="DimGray"
|
||||
FontFamily="FA-S"
|
||||
Size="20"/>
|
||||
</Button.ImageSource>
|
||||
</Button>
|
||||
</Grid>
|
||||
|
||||
<Label
|
||||
Text= "{Binding TariffDescription.TarifEntry1.Description}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry1.Description, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="1"/>
|
||||
<Label
|
||||
<Label
|
||||
Text="{Binding TariffDescription.TarifEntry1.Value}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry1.Value, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"/>
|
||||
<Label
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"/>
|
||||
<Label
|
||||
Text= "{Binding TariffDescription.TarifEntry2.Description}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry2.Description, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="2"/>
|
||||
<Label
|
||||
<Label
|
||||
Text="{Binding TariffDescription.TarifEntry2.Value}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry2.Value, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"/>
|
||||
<Label
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"/>
|
||||
<Label
|
||||
Text= "{Binding TariffDescription.TarifEntry3.Description}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry3.Description, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="3"/>
|
||||
<Label
|
||||
<Label
|
||||
Text="{Binding TariffDescription.TarifEntry3.Value}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry3.Value, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="3"
|
||||
Grid.Column="1"/>
|
||||
<Label
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"/>
|
||||
<Label
|
||||
Text= "{Binding TariffDescription.TarifEntry4.Description}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry4.Description, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="4"/>
|
||||
<Label
|
||||
<Label
|
||||
Text="{Binding TariffDescription.TarifEntry4.Value}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry4.Value, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="4"
|
||||
Grid.Column="1"/>
|
||||
<Label
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"/>
|
||||
<Label
|
||||
Text= "{Binding TariffDescription.TarifEntry5.Description}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry5.Description, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="5"/>
|
||||
<Label
|
||||
<Label
|
||||
Text="{Binding TariffDescription.TarifEntry5.Value}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry5.Value, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="5"
|
||||
Grid.Column="1"/>
|
||||
<Label
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"/>
|
||||
<Label
|
||||
Text= "{Binding TariffDescription.TarifEntry6.Description}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry6.Description, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="6"/>
|
||||
<Label
|
||||
<Label
|
||||
Text="{Binding TariffDescription.TarifEntry6.Value}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry6.Value, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="6"
|
||||
Grid.Column="1"/>
|
||||
<Label
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"/>
|
||||
<Label
|
||||
Text= "{Binding TariffDescription.TarifEntry7.Description}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry7.Description, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="7"/>
|
||||
<Label
|
||||
<Label
|
||||
Text="{Binding TariffDescription.TarifEntry7.Value}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry7.Value, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="7"
|
||||
Grid.Column="1"/>
|
||||
<Label
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"/>
|
||||
<Label
|
||||
Text= "{Binding TariffDescription.TarifEntry8.Description}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry8.Description, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="8"/>
|
||||
<Label
|
||||
<Label
|
||||
Text="{Binding TariffDescription.TarifEntry8.Value}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry8.Value, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="8"
|
||||
Grid.Column="1"/>
|
||||
<Label
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"/>
|
||||
<Label
|
||||
Text= "{Binding TariffDescription.TarifEntry9.Description}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry9.Description, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="9"/>
|
||||
<Label
|
||||
<Label
|
||||
Text="{Binding TariffDescription.TarifEntry9.Value}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry9.Value, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="9"
|
||||
Grid.Column="1"/>
|
||||
<!-- start tarif- entries (should be a CollectionView) -->
|
||||
<Label
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"/>
|
||||
<!-- start tarif- entries (should be a CollectionView) -->
|
||||
<Label
|
||||
Text= "{Binding TariffDescription.InfoEntry1}"
|
||||
IsVisible="{Binding TariffDescription.InfoEntry1, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="10"
|
||||
Grid.ColumnSpan="2"/>
|
||||
<Label
|
||||
Grid.ColumnSpan="3"/>
|
||||
<Label
|
||||
Text= "{Binding TariffDescription.InfoEntry2}"
|
||||
IsVisible="{Binding TariffDescription.InfoEntry2, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="11"
|
||||
Grid.ColumnSpan="2"/>
|
||||
<Label
|
||||
Grid.ColumnSpan="3"/>
|
||||
<Label
|
||||
Text= "{Binding TariffDescription.InfoEntry3}"
|
||||
IsVisible="{Binding TariffDescription.InfoEntry3, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="12"
|
||||
Grid.ColumnSpan="2"/>
|
||||
<Label
|
||||
Grid.ColumnSpan="3"/>
|
||||
<Label
|
||||
Text= "{Binding TariffDescription.InfoEntry4}"
|
||||
IsVisible="{Binding TariffDescription.InfoEntry4, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="13"
|
||||
Grid.ColumnSpan="2"/>
|
||||
<Label
|
||||
Text= "{Binding TariffDescription.InfoEntry5}"
|
||||
IsVisible="{Binding TariffDescription.InfoEntry5, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="14"
|
||||
Grid.ColumnSpan="2"/>
|
||||
</Grid>
|
||||
</StackLayout>
|
||||
</ContentView>
|
||||
Grid.ColumnSpan="3"/>
|
||||
</Grid>
|
||||
</StackLayout>
|
||||
</Frame>
|
||||
</ContentView>
|
||||
</ViewCell>
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
xmlns:resources="clr-namespace:TINK.MultilingualResources;assembly=TINKLib"
|
||||
xmlns:sharedGui="clr-namespace:ShareeSharedGuiLib.View"
|
||||
Shell.FlyoutBehavior="Disabled"
|
||||
BackgroundColor="#f6f6f6"
|
||||
Shell.NavBarIsVisible="{Binding IsIdle}">
|
||||
|
||||
<Shell.TitleView>
|
||||
|
@ -26,94 +27,118 @@
|
|||
|
||||
<!--Grid for Bike(s) view and Running process in same row-->
|
||||
<Grid>
|
||||
<!-- Grid for Content -->
|
||||
<Grid Grid.Row="0"
|
||||
RowDefinitions="Auto,1*,Auto">
|
||||
|
||||
<Frame
|
||||
Grid.Row="0">
|
||||
|
||||
<!-- Grid for Content -->
|
||||
<Grid
|
||||
RowDefinitions="Auto,1*,Auto,Auto">
|
||||
<StackLayout
|
||||
Grid.Row="0"
|
||||
Spacing="0"
|
||||
Orientation="Vertical">
|
||||
|
||||
<!--Station-->
|
||||
<StackLayout
|
||||
Grid.Row="0"
|
||||
Orientation="Vertical">
|
||||
|
||||
<!--Title-->
|
||||
<Label
|
||||
HorizontalOptions="Center"
|
||||
FontAttributes="Bold"
|
||||
TextColor="{DynamicResource primary-back-title-color}"
|
||||
Text="{Binding StationDetailText}"/>
|
||||
BackgroundColor="{DynamicResource primary-back-title-color}">
|
||||
|
||||
<!--Line-->
|
||||
<BoxView
|
||||
HeightRequest="1"
|
||||
Color="{DynamicResource primary-back-title-color}"/>
|
||||
HeightRequest="1"
|
||||
WidthRequest="260"
|
||||
HorizontalOptions="Center"
|
||||
Color="White"/>
|
||||
|
||||
<!--Title-->
|
||||
<Label
|
||||
HorizontalOptions="Center"
|
||||
FontAttributes="Bold"
|
||||
Padding="10,0,10,10"
|
||||
TextColor="White"
|
||||
Text="{Binding StationDetailText}"/>
|
||||
|
||||
</StackLayout>
|
||||
|
||||
<!--No Network Connection-->
|
||||
<sharedGui:NotConnectedToNetView/>
|
||||
|
||||
<!--Bike(s)-->
|
||||
<ListView Grid.Row="1"
|
||||
<StackLayout
|
||||
IsVisible="{Binding IsBikesListVisible}"
|
||||
Spacing="0">
|
||||
|
||||
<!--Hint for Outdated Data.-->
|
||||
<sharedGui:HintForRefreshingPageView/>
|
||||
|
||||
<ListView Grid.Row="1"
|
||||
x:Name="BikesAtStationListView"
|
||||
SelectionMode="None"
|
||||
SelectedItem="{Binding SelectedBike}"
|
||||
IsEnabled="{Binding IsIdle}"
|
||||
IsVisible="{Binding IsBikesListVisible}"
|
||||
HasUnevenRows="True"
|
||||
SeparatorVisibility="None"
|
||||
ItemTemplate="{StaticResource bikeTemplateSelector}"
|
||||
IsPullToRefreshEnabled="True"
|
||||
RefreshCommand="{Binding RefreshCommand}"
|
||||
IsRefreshing="{Binding IsRefreshing}"/>
|
||||
|
||||
<!--No Bikes-->
|
||||
<Label Grid.Row="1"
|
||||
</StackLayout>
|
||||
|
||||
</StackLayout>
|
||||
|
||||
<!--No Bikes-->
|
||||
<Label Grid.Row="1" Padding="10"
|
||||
IsVisible="{Binding IsNoBikesAtStationVisible}"
|
||||
Text="{Binding NoBikesAtStationText}"/>
|
||||
|
||||
<StackLayout
|
||||
Grid.Row="2"
|
||||
Orientation="Vertical"
|
||||
BackgroundColor="{DynamicResource primary-back-title-color}"
|
||||
Padding="0,0,0,10">
|
||||
|
||||
<!--Info text-->
|
||||
<Label
|
||||
Grid.Row="2"
|
||||
Text="{Binding StatusInfoText}"
|
||||
IsVisible="{Binding Path=IsProcessWithRunningProcessView, Converter={StaticResource InvertedBoolConverter}}"
|
||||
FontSize="Small"
|
||||
Padding="10,5,10,0"
|
||||
TextColor="White"
|
||||
HorizontalOptions="CenterAndExpand"
|
||||
VerticalOptions="CenterAndExpand"/>
|
||||
|
||||
<!-- Contact and Login at end of page-->
|
||||
<StackLayout
|
||||
Grid.Row="3"
|
||||
Orientation="Vertical">
|
||||
|
||||
<!--Line-->
|
||||
<BoxView
|
||||
<!--Line-->
|
||||
<BoxView
|
||||
HeightRequest="1"
|
||||
Color="{DynamicResource primary-back-title-color}"/>
|
||||
WidthRequest="260"
|
||||
HorizontalOptions="Center"
|
||||
Color="White"/>
|
||||
|
||||
<!--Contact to operator-->
|
||||
<Label
|
||||
<!--Contact to operator-->
|
||||
<Label
|
||||
TextType="Html"
|
||||
Padding="10,5,10,0"
|
||||
TextColor="White"
|
||||
Text="{Binding ContactSupportHintText}">
|
||||
<Label.GestureRecognizers>
|
||||
<TapGestureRecognizer Command="{Binding ContactSupportClickedCommand}"/>
|
||||
</Label.GestureRecognizers>
|
||||
</Label>
|
||||
<Label.GestureRecognizers>
|
||||
<TapGestureRecognizer Command="{Binding ContactSupportClickedCommand}"/>
|
||||
</Label.GestureRecognizers>
|
||||
</Label>
|
||||
|
||||
<!--Login required-->
|
||||
<Label
|
||||
<!--Login required-->
|
||||
<Label
|
||||
IsVisible="{Binding IsLoginRequiredHintVisible}"
|
||||
TextType="Html"
|
||||
Padding="10,5,10,0"
|
||||
TextColor="White"
|
||||
Text="{Binding LoginRequiredHintText}">
|
||||
<Label.GestureRecognizers>
|
||||
<TapGestureRecognizer Command="{Binding LoginRequiredHintClickedCommand}"/>
|
||||
</Label.GestureRecognizers>
|
||||
</Label>
|
||||
<Label.GestureRecognizers>
|
||||
<TapGestureRecognizer Command="{Binding LoginRequiredHintClickedCommand}"/>
|
||||
</Label.GestureRecognizers>
|
||||
</Label>
|
||||
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
|
||||
</Grid>
|
||||
|
||||
</Frame>
|
||||
</Grid>
|
||||
|
||||
<!--While process is running-->
|
||||
<sharedGui:RunningProcessView
|
||||
|
|
|
@ -80,7 +80,7 @@ namespace TINK.View.BikesAtStation
|
|||
|
||||
// No need to create view model, set binding context an items source if already done.
|
||||
// If done twice tap events are fired multiple times (when hiding page using home button).
|
||||
await m_oViewModel.OnAppearing();
|
||||
await m_oViewModel.OnAppearingOrRefresh();
|
||||
isInitializationStarted = false;
|
||||
return;
|
||||
}
|
||||
|
@ -89,9 +89,6 @@ namespace TINK.View.BikesAtStation
|
|||
{
|
||||
var model = App.ModelRoot;
|
||||
|
||||
// Backup synchronization context when called from GUI-thread.
|
||||
var synchronizationContext = SynchronizationContext.Current;
|
||||
|
||||
m_oViewModel = new BikesAtStationPageViewModel(
|
||||
model.ActiveUser,
|
||||
App.PermissionsService,
|
||||
|
@ -104,7 +101,7 @@ namespace TINK.View.BikesAtStation
|
|||
model.LocksServices.Active,
|
||||
model.Polling,
|
||||
(url) => DependencyService.Get<IExternalBrowserService>().OpenUrl(url),
|
||||
(d, obj) => synchronizationContext.Post(d, obj),
|
||||
model.PostAction,
|
||||
model.SmartDevice,
|
||||
this)
|
||||
{
|
||||
|
@ -129,7 +126,7 @@ namespace TINK.View.BikesAtStation
|
|||
BindingContext = m_oViewModel;
|
||||
BikesAtStationListView.ItemsSource = m_oViewModel;
|
||||
|
||||
await m_oViewModel.OnAppearing();
|
||||
await m_oViewModel.OnAppearingOrRefresh();
|
||||
isInitializationStarted = false;
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,8 @@
|
|||
x:Class="TINK.View.FindBike.FindBikePage"
|
||||
xmlns:resources="clr-namespace:TINK.MultilingualResources;assembly=TINKLib"
|
||||
xmlns:local_bike="clr-namespace:TINK.View.Bike"
|
||||
xmlns:sharedGui="clr-namespace:ShareeSharedGuiLib.View">
|
||||
xmlns:sharedGui="clr-namespace:ShareeSharedGuiLib.View"
|
||||
BackgroundColor="#f6f6f6">
|
||||
|
||||
<Shell.TitleView>
|
||||
<Grid ColumnDefinitions="Auto, 1*">
|
||||
|
@ -23,19 +24,28 @@
|
|||
<ContentPage.Content>
|
||||
|
||||
<!--Grid for Bike(s) view and Running process in same row-->
|
||||
<Grid>
|
||||
<Grid>
|
||||
|
||||
<Frame
|
||||
Grid.Row="0">
|
||||
<Grid
|
||||
RowDefinitions="1*,Auto"
|
||||
Grid.Row="0">
|
||||
|
||||
<Grid
|
||||
RowDefinitions="1*,32">
|
||||
<StackLayout
|
||||
Grid.Row="0"
|
||||
Spacing="0"
|
||||
Orientation="Vertical">
|
||||
|
||||
<!--No Network Connection-->
|
||||
<sharedGui:NotConnectedToNetView/>
|
||||
|
||||
<!--Search bike-->
|
||||
<StackLayout Grid.Row="0">
|
||||
<StackLayout
|
||||
BackgroundColor="White"
|
||||
IsVisible="{Binding IsSelectBikeVisible}"
|
||||
Padding="10">
|
||||
|
||||
<Entry
|
||||
Placeholder="{x:Static resources:AppResources.PlaceholderFindBike}"
|
||||
IsVisible="{Binding IsSelectBikeVisible}"
|
||||
MaxLength="10"
|
||||
CursorPosition="0"
|
||||
Text="{Binding BikeIdUserInput}"/>
|
||||
|
@ -43,35 +53,51 @@
|
|||
<Button
|
||||
Text="{x:Static resources:AppResources.MarkingFindBike}"
|
||||
IsEnabled="{Binding IsSelectBikeEnabled}"
|
||||
IsVisible="{Binding IsSelectBikeVisible}"
|
||||
Command="{Binding OnSelectBikeRequest}"/>
|
||||
|
||||
<ListView
|
||||
x:Name="FindBikeListView"
|
||||
SelectionMode="None"
|
||||
SelectedItem="{Binding SelectedBike}"
|
||||
IsEnabled="{Binding IsIdle}"
|
||||
IsVisible="{Binding IsBikesListVisible}"
|
||||
HasUnevenRows="True"
|
||||
ItemTemplate="{StaticResource bikeTemplateSelector}"
|
||||
IsPullToRefreshEnabled="True"
|
||||
RefreshCommand="{Binding RefreshCommand}"
|
||||
IsRefreshing="{Binding IsRefreshing}"/>
|
||||
|
||||
</StackLayout>
|
||||
|
||||
<!--Info text-->
|
||||
<!-- Bike -->
|
||||
<StackLayout
|
||||
Spacing="0"
|
||||
IsVisible="{Binding IsBikesListVisible}"
|
||||
Orientation="Vertical">
|
||||
|
||||
<!--Hint for Outdated Data.-->
|
||||
<sharedGui:HintForRefreshingPageView/>
|
||||
|
||||
<ListView
|
||||
x:Name="FindBikeListView"
|
||||
SelectionMode="None"
|
||||
SelectedItem="{Binding SelectedBike}"
|
||||
IsEnabled="{Binding IsIdle}"
|
||||
HasUnevenRows="True"
|
||||
SeparatorVisibility="None"
|
||||
ItemTemplate="{StaticResource bikeTemplateSelector}"
|
||||
IsPullToRefreshEnabled="True"
|
||||
RefreshCommand="{Binding RefreshCommand}"
|
||||
IsRefreshing="{Binding IsRefreshing}"/>
|
||||
|
||||
</StackLayout>
|
||||
|
||||
</StackLayout>
|
||||
|
||||
<!--Info text-->
|
||||
<StackLayout
|
||||
BackgroundColor="#f6f6f6"
|
||||
Padding="10,5,10,10"
|
||||
Grid.Row="1">
|
||||
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Text="{Binding StatusInfoText}"
|
||||
IsVisible="{Binding Path=IsProcessWithRunningProcessView, Converter={StaticResource InvertedBoolConverter}}"
|
||||
FontSize="Small"
|
||||
HorizontalOptions="CenterAndExpand"
|
||||
VerticalOptions="CenterAndExpand"/>
|
||||
|
||||
</Grid>
|
||||
</StackLayout>
|
||||
|
||||
</Frame>
|
||||
</Grid>
|
||||
|
||||
<!--While process is running-->
|
||||
<sharedGui:RunningProcessView
|
||||
|
|
|
@ -34,7 +34,7 @@ namespace TINK.View.FindBike
|
|||
{
|
||||
// No need to create view model, set binding context an items source if already done.
|
||||
// If done twice tap events are fired multiple times (when hiding page using home button).
|
||||
await m_oViewModel.OnAppearing();
|
||||
await m_oViewModel.OnAppearingOrRefresh();
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -42,9 +42,6 @@ namespace TINK.View.FindBike
|
|||
{
|
||||
var model = App.ModelRoot;
|
||||
|
||||
// Backup synchronization context when called from GUI-thread.
|
||||
var synchronizationContext = SynchronizationContext.Current;
|
||||
|
||||
m_oViewModel = new FindBikePageViewModel(
|
||||
model.ActiveUser,
|
||||
App.PermissionsService,
|
||||
|
@ -56,7 +53,7 @@ namespace TINK.View.FindBike
|
|||
model.LocksServices.Active,
|
||||
model.Stations,
|
||||
model.Polling,
|
||||
(d, obj) => synchronizationContext.Post(d, obj),
|
||||
model.PostAction,
|
||||
model.SmartDevice,
|
||||
this,
|
||||
(url) => DependencyService.Get<IExternalBrowserService>().OpenUrl(url))
|
||||
|
@ -79,7 +76,7 @@ namespace TINK.View.FindBike
|
|||
BindingContext = m_oViewModel;
|
||||
FindBikeListView.ItemsSource = m_oViewModel;
|
||||
|
||||
await m_oViewModel.OnAppearing();
|
||||
await m_oViewModel.OnAppearingOrRefresh();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -19,14 +19,22 @@
|
|||
<ContentPage.Content>
|
||||
|
||||
<!--Grid for Map with Buttons and Running process-->
|
||||
<Grid
|
||||
<Grid>
|
||||
|
||||
<StackLayout
|
||||
Spacing="0"
|
||||
Grid.Row="0">
|
||||
|
||||
<sharedGui:NotConnectedToNetView/>
|
||||
|
||||
<Grid
|
||||
RowDefinitions="3,46,1*,32"
|
||||
ColumnDefinitions="1*,Auto,1*"
|
||||
IsEnabled="{Binding IsMapPageEnabled}"
|
||||
VerticalOptions="FillAndExpand">
|
||||
|
||||
<!--Map-->
|
||||
<maps:Map
|
||||
<!--Map-->
|
||||
<maps:Map
|
||||
Grid.RowSpan="3"
|
||||
Grid.ColumnSpan="3"
|
||||
WidthRequest="320"
|
||||
|
@ -34,14 +42,14 @@
|
|||
x:Name="MyMap"
|
||||
MyLocationEnabled="True"
|
||||
MapType="Street">
|
||||
<maps:Map.Behaviors>
|
||||
<bindings:BindingPinsBehavior Value="{Binding Pins}"/>
|
||||
<bindings:PinClickedToCommandBehavior Command="{Binding PinClickedCommand}"/>
|
||||
</maps:Map.Behaviors>
|
||||
</maps:Map>
|
||||
<maps:Map.Behaviors>
|
||||
<bindings:BindingPinsBehavior Value="{Binding Pins}"/>
|
||||
<bindings:PinClickedToCommandBehavior Command="{Binding PinClickedCommand}"/>
|
||||
</maps:Map.Behaviors>
|
||||
</maps:Map>
|
||||
|
||||
<!--Buttons for choosing bike type-->
|
||||
<Frame
|
||||
<!--Buttons for choosing bike type-->
|
||||
<Frame
|
||||
CornerRadius="13"
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
|
@ -49,11 +57,11 @@
|
|||
Padding="0"
|
||||
IsVisible="{Binding IsNavBarVisible}"
|
||||
BackgroundColor="{DynamicResource secondary-back-title-color}">
|
||||
<StackLayout
|
||||
<StackLayout
|
||||
Orientation="Horizontal"
|
||||
Margin="0"
|
||||
Padding="0">
|
||||
<Button
|
||||
<Button
|
||||
x:Name="KonradButton"
|
||||
AutomationId ="FilterKonrad_button"
|
||||
Text="{x:Static resources:AppResources.MarkingCityBike}"
|
||||
|
@ -71,8 +79,8 @@
|
|||
FontSize="Small"
|
||||
FontAttributes="Bold"
|
||||
TextColor="{Binding NoKonradColor}">
|
||||
</Button>
|
||||
<Button
|
||||
</Button>
|
||||
<Button
|
||||
x:Name="TINKButton"
|
||||
AutomationId ="FilterTINK_button"
|
||||
Text="{x:Static resources:AppResources.MarkingCargoBike}"
|
||||
|
@ -90,12 +98,12 @@
|
|||
FontSize="Small"
|
||||
FontAttributes="Bold"
|
||||
TextColor="{Binding NoTinkColor}">
|
||||
</Button>
|
||||
</StackLayout>
|
||||
</Frame>
|
||||
</Button>
|
||||
</StackLayout>
|
||||
</Frame>
|
||||
|
||||
<!--Info text-->
|
||||
<Label
|
||||
<!--Info text-->
|
||||
<Label
|
||||
Grid.Row="3"
|
||||
Grid.ColumnSpan="3"
|
||||
Text="{Binding StatusInfoText}"
|
||||
|
@ -105,12 +113,14 @@
|
|||
HorizontalOptions="CenterAndExpand"
|
||||
VerticalOptions="CenterAndExpand"/>
|
||||
|
||||
</Grid>
|
||||
|
||||
</StackLayout>
|
||||
|
||||
<!--While process is running-->
|
||||
<sharedGui:RunningProcessView
|
||||
IsVisible="{Binding IsProcessWithRunningProcessView}"
|
||||
Grid.RowSpan="4"
|
||||
Grid.ColumnSpan="3"/>
|
||||
|
||||
Grid.Row="0"/>
|
||||
</Grid>
|
||||
|
||||
</ContentPage.Content>
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
xmlns:resources="clr-namespace:TINK.MultilingualResources;assembly=TINKLib"
|
||||
xmlns:sharedGui="clr-namespace:ShareeSharedGuiLib.View"
|
||||
xmlns:local_bike="clr-namespace:TINK.View.Bike"
|
||||
BackgroundColor="#f6f6f6"
|
||||
Shell.FlyoutBehavior="{Binding FlyoutBehavior}">
|
||||
|
||||
<Shell.TitleView>
|
||||
|
@ -26,45 +27,66 @@
|
|||
<!--Grid for Bike(s) view and Running process in same row-->
|
||||
<Grid>
|
||||
|
||||
<Frame
|
||||
Grid.Row="0">
|
||||
<!--Bike(s) view-->
|
||||
<Grid
|
||||
RowDefinitions="1*,Auto"
|
||||
Grid.Row="0">
|
||||
|
||||
<!--Bike(s) view-->
|
||||
<Grid
|
||||
RowDefinitions="1*,32">
|
||||
<StackLayout
|
||||
Grid.Row="0"
|
||||
Spacing="0"
|
||||
Orientation="Vertical">
|
||||
|
||||
<!--No Network Connection-->
|
||||
<sharedGui:NotConnectedToNetView/>
|
||||
|
||||
<!--Bike(s)-->
|
||||
<ListView
|
||||
Grid.Row="0"
|
||||
<StackLayout
|
||||
Spacing="0"
|
||||
IsVisible="{Binding IsBikesListVisible}"
|
||||
Orientation="Vertical">
|
||||
|
||||
<!--Hint for Outdated Data.-->
|
||||
<sharedGui:HintForRefreshingPageView/>
|
||||
|
||||
<ListView
|
||||
x:Name="MyBikesListView"
|
||||
SelectionMode="None"
|
||||
SelectedItem="{Binding SelectedBike}"
|
||||
IsEnabled="{Binding IsIdle}"
|
||||
IsVisible="{Binding IsBikesListVisible}"
|
||||
HasUnevenRows="True"
|
||||
SeparatorVisibility="None"
|
||||
ItemTemplate="{StaticResource bikeTemplateSelector}"
|
||||
IsPullToRefreshEnabled="True"
|
||||
RefreshCommand="{Binding RefreshCommand}"
|
||||
IsRefreshing="{Binding IsRefreshing}"/>
|
||||
|
||||
</StackLayout>
|
||||
|
||||
<!--No Bikes-->
|
||||
<Label
|
||||
Grid.Row="0"
|
||||
Padding="10"
|
||||
IsVisible="{Binding IsNoBikesOccupiedVisible}"
|
||||
Text="{Binding NoBikesOccupiedText}"/>
|
||||
|
||||
</StackLayout>
|
||||
|
||||
<!--Info text-->
|
||||
<StackLayout
|
||||
BackgroundColor="#f6f6f6"
|
||||
Padding="10,5,10,10"
|
||||
Grid.Row="1">
|
||||
|
||||
<!--Info text-->
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Text="{Binding StatusInfoText}"
|
||||
IsVisible="{Binding Path=IsProcessWithRunningProcessView, Converter={StaticResource InvertedBoolConverter}}"
|
||||
FontSize="Small"
|
||||
HorizontalOptions="CenterAndExpand"
|
||||
VerticalOptions="CenterAndExpand"/>
|
||||
|
||||
</Grid>
|
||||
</StackLayout>
|
||||
|
||||
</Frame>
|
||||
</Grid>
|
||||
|
||||
<!--While process is running-->
|
||||
<sharedGui:RunningProcessView
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
using Plugin.Connectivity;
|
||||
using Plugin.Connectivity;
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
@ -47,7 +47,7 @@ namespace TINK.View.MyBikes
|
|||
{
|
||||
// No need to create view model, set binding context an items source if already done.
|
||||
// If done twice tap events are fired multiple times (when hiding page using home button).
|
||||
await m_oViewModel.OnAppearing();
|
||||
await m_oViewModel.OnAppearingOrRefresh();
|
||||
isInitializationStarted = false;
|
||||
return;
|
||||
}
|
||||
|
@ -56,9 +56,6 @@ namespace TINK.View.MyBikes
|
|||
{
|
||||
var model = App.ModelRoot;
|
||||
|
||||
// Backup synchronization context when called from GUI-thread.
|
||||
var synchronizationContext = SynchronizationContext.Current;
|
||||
|
||||
m_oViewModel = new MyBikesPageViewModel(
|
||||
model.ActiveUser,
|
||||
App.PermissionsService,
|
||||
|
@ -70,7 +67,7 @@ namespace TINK.View.MyBikes
|
|||
model.LocksServices.Active,
|
||||
model.Stations,
|
||||
model.Polling,
|
||||
(d, obj) => synchronizationContext.Post(d, obj),
|
||||
model.PostAction,
|
||||
model.SmartDevice,
|
||||
this,
|
||||
(url) => DependencyService.Get<IExternalBrowserService>().OpenUrl(url))
|
||||
|
@ -91,7 +88,7 @@ namespace TINK.View.MyBikes
|
|||
BindingContext = m_oViewModel;
|
||||
MyBikesListView.ItemsSource = m_oViewModel;
|
||||
|
||||
await m_oViewModel.OnAppearing();
|
||||
await m_oViewModel.OnAppearingOrRefresh();
|
||||
isInitializationStarted = false;
|
||||
}
|
||||
|
||||
|
@ -183,4 +180,4 @@ namespace TINK.View.MyBikes
|
|||
public async Task<IUserFeedback> DisplayUserFeedbackPopup(IBattery battery = null, string co2Saving = null) => await Navigation.ShowPopupAsync<FeedbackPopup.Result>(new FeedbackPopup(battery, co2Saving));
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue