mirror of
https://dev.azure.com/TeilRad/sharee.bike%20App/_git/Code
synced 2024-12-21 22:46:25 +01:00
Version 3.0.382
This commit is contained in:
parent
3a363acf3a
commit
a7117bc0f1
31 changed files with 252 additions and 251 deletions
|
@ -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.381" android:versionCode="381">
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="internalOnly" package="com.TeilRad.LastenradBayern" android:versionName="3.0.382" android:versionCode="382">
|
||||
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="34" />
|
||||
<!-- Google Maps related permissions -->
|
||||
<!-- Permission to receive remote notifications from Google Play Services -->
|
||||
|
|
|
@ -12,7 +12,7 @@ using Xamarin.Forms;
|
|||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("LastenradBayern.Android")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2020")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2020")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
[assembly: ComVisible(false)]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
using Foundation;
|
||||
using Foundation;
|
||||
using UIKit;
|
||||
using Xamarin.Forms;
|
||||
using Xamarin.Forms.Platform.iOS;
|
||||
|
|
|
@ -56,9 +56,9 @@
|
|||
<key>CFBundleDisplayName</key>
|
||||
<string>LastenradBayern</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>381</string>
|
||||
<string>382</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>3.0.381</string>
|
||||
<string>3.0.382</string>
|
||||
<key>ITSAppUsesNonExemptEncryption</key>
|
||||
<false/>
|
||||
</dict>
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
</NuGetPackageImportStamp>
|
||||
<ReleaseVersion>3.0</ReleaseVersion>
|
||||
<ProvisioningType>manual</ProvisioningType>
|
||||
<MtouchSdkVersion>16.4</MtouchSdkVersion>
|
||||
<MtouchSdkVersion>17.4</MtouchSdkVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhoneSimulator' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
|
@ -28,7 +28,7 @@
|
|||
<MtouchArch>x86_64</MtouchArch>
|
||||
<MtouchLink>None</MtouchLink>
|
||||
<MtouchDebug>true</MtouchDebug>
|
||||
<CodesignProvision></CodesignProvision>
|
||||
<CodesignProvision>Provisioning_Profile_LastenradBayern_Development</CodesignProvision>
|
||||
<CodesignKey>Apple Development: Oliver Hauff (8SZ7J9P24J)</CodesignKey>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' ">
|
||||
|
@ -59,7 +59,7 @@
|
|||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
|
||||
<MtouchLink>None</MtouchLink>
|
||||
<MtouchInterpreter>-all</MtouchInterpreter>
|
||||
<CodesignProvision>Provisioning_Profile_LastenradBayern_Development</CodesignProvision>
|
||||
<CodesignProvision></CodesignProvision>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
|
||||
<DebugType>none</DebugType>
|
||||
|
@ -256,6 +256,7 @@
|
|||
<BundleResource Include="Resources\menu%403x.png" />
|
||||
<BundleResource Include="Resources\de.lproj\InfoPlist.strings" />
|
||||
<BundleResource Include="Resources\en.lproj\InfoPlist.strings" />
|
||||
<BundleResource Include="PrivacyInfo.xcprivacy" LogicalName="PrivacyInfo.xcprivacy" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
|
|
41
LastenradBayern/ShareeBike.iOS/PrivacyInfo.xcprivacy
Normal file
41
LastenradBayern/ShareeBike.iOS/PrivacyInfo.xcprivacy
Normal file
|
@ -0,0 +1,41 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>NSPrivacyAccessedAPITypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>NSPrivacyAccessedAPIType</key>
|
||||
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
|
||||
<key>NSPrivacyAccessedAPITypeReasons</key>
|
||||
<array>
|
||||
<string>C617.1</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>NSPrivacyAccessedAPIType</key>
|
||||
<string>NSPrivacyAccessedAPICategorySystemBootTime</string>
|
||||
<key>NSPrivacyAccessedAPITypeReasons</key>
|
||||
<array>
|
||||
<string>35F9.1</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>NSPrivacyAccessedAPIType</key>
|
||||
<string>NSPrivacyAccessedAPICategoryDiskSpace</string>
|
||||
<key>NSPrivacyAccessedAPITypeReasons</key>
|
||||
<array>
|
||||
<string>E174.1</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>NSPrivacyAccessedAPIType</key>
|
||||
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
|
||||
<key>NSPrivacyAccessedAPITypeReasons</key>
|
||||
<array>
|
||||
<string>CA92.1</string>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
|
@ -1,4 +1,4 @@
|
|||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
|
|
|
@ -95,21 +95,14 @@
|
|||
|
||||
</StackLayout>
|
||||
|
||||
<!--If Not Connected To Internet-->
|
||||
<sharedGui:NotConnectedToNetView/>
|
||||
|
||||
<!--Bike data-->
|
||||
<Grid
|
||||
RowDefinitions="Auto,1*"
|
||||
RowDefinitions="1*"
|
||||
RowSpacing="0">
|
||||
|
||||
<!--Hint for Outdated Data.-->
|
||||
<sharedGui:HintForRefreshingPageView
|
||||
Grid.Row="0"/>
|
||||
|
||||
<!--Bike(s)-->
|
||||
<ListView
|
||||
Grid.Row="1"
|
||||
Grid.Row="0"
|
||||
x:Name="BikesAtStationListView"
|
||||
BackgroundColor="{DynamicResource background-color}"
|
||||
SelectionMode="None"
|
||||
|
@ -124,7 +117,7 @@
|
|||
|
||||
<!--No Bikes-->
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Grid.Row="0"
|
||||
Margin="20"
|
||||
IsVisible="{Binding IsNoBikesAtStationVisible}"
|
||||
Text="{Binding NoBikesAtStationText}"/>
|
||||
|
|
|
@ -25,23 +25,21 @@
|
|||
Spacing="0"
|
||||
Grid.Row="0">
|
||||
|
||||
<sharedGui:NotConnectedToNetView/>
|
||||
|
||||
<Grid
|
||||
RowDefinitions="20,46,1*,Auto"
|
||||
ColumnDefinitions="1*,Auto,1*"
|
||||
RowDefinitions="20,46,1*,Auto"
|
||||
ColumnDefinitions="1*,Auto,1*"
|
||||
RowSpacing="0"
|
||||
IsEnabled="{Binding IsMapPageEnabled}"
|
||||
VerticalOptions="FillAndExpand">
|
||||
IsEnabled="{Binding IsMapPageEnabled}"
|
||||
VerticalOptions="FillAndExpand">
|
||||
|
||||
<!--Map-->
|
||||
<maps:Map
|
||||
Grid.RowSpan="3"
|
||||
Grid.ColumnSpan="3"
|
||||
WidthRequest="320"
|
||||
HeightRequest="800"
|
||||
x:Name="MyMap"
|
||||
MapType="Street">
|
||||
Grid.RowSpan="3"
|
||||
Grid.ColumnSpan="3"
|
||||
WidthRequest="320"
|
||||
HeightRequest="800"
|
||||
x:Name="MyMap"
|
||||
MapType="Street">
|
||||
<maps:Map.Behaviors>
|
||||
<bindings:BindingPinsBehavior Value="{Binding Pins}"/>
|
||||
<bindings:PinClickedToCommandBehavior Command="{Binding PinClickedCommand}"/>
|
||||
|
@ -50,55 +48,55 @@
|
|||
|
||||
<!--Buttons for choosing bike type-->
|
||||
<Frame
|
||||
CornerRadius="13"
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Margin="0"
|
||||
Padding="0"
|
||||
IsVisible="{Binding IsNavBarVisible}"
|
||||
BackgroundColor="{DynamicResource secondary-back-title-color}">
|
||||
CornerRadius="13"
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Margin="0"
|
||||
Padding="0"
|
||||
IsVisible="{Binding IsNavBarVisible}"
|
||||
BackgroundColor="{DynamicResource secondary-back-title-color}">
|
||||
<StackLayout
|
||||
Orientation="Horizontal"
|
||||
Margin="0"
|
||||
Padding="0">
|
||||
<Button
|
||||
x:Name="CitybikeButton"
|
||||
AutomationId ="FilterCitybike_button"
|
||||
Text="{x:Static resources:AppResources.MarkingCityBike}"
|
||||
Command="{Binding OnToggleCargoToCitybike}"
|
||||
IsVisible="{Binding IsToggleVisible}"
|
||||
BackgroundColor="{Binding CitybikeColor}"
|
||||
BorderColor="{Binding CitybikeColor}"
|
||||
BorderWidth="0"
|
||||
VerticalOptions="Center"
|
||||
HorizontalOptions="Center"
|
||||
WidthRequest="94"
|
||||
HeightRequest="40"
|
||||
CornerRadius="10"
|
||||
Margin="3,0,0,0"
|
||||
FontSize="Small"
|
||||
FontAttributes="Bold"
|
||||
TextColor="{Binding NoCitybikeColor}">
|
||||
</Button>
|
||||
<Button
|
||||
x:Name="CargoButton"
|
||||
AutomationId ="FilterCargo_button"
|
||||
Text="{x:Static resources:AppResources.MarkingCargoBike}"
|
||||
Command="{Binding OnToggleCitybikeToCargo}"
|
||||
IsVisible="{Binding IsToggleVisible}"
|
||||
BackgroundColor="{Binding CargoColor}"
|
||||
BorderColor="{Binding CargoColor}"
|
||||
BorderWidth="0"
|
||||
VerticalOptions="Center"
|
||||
HorizontalOptions="Center"
|
||||
WidthRequest="94"
|
||||
HeightRequest="40"
|
||||
CornerRadius="10"
|
||||
Margin="0,0,3,0"
|
||||
FontSize="Small"
|
||||
FontAttributes="Bold"
|
||||
TextColor="{Binding NoCargoColor}">
|
||||
</Button>
|
||||
Orientation="Horizontal"
|
||||
Margin="0"
|
||||
Padding="0">
|
||||
<Button
|
||||
x:Name="CitybikeButton"
|
||||
AutomationId ="FilterCitybike_button"
|
||||
Text="{x:Static resources:AppResources.MarkingCityBike}"
|
||||
Command="{Binding OnToggleCargoToCitybike}"
|
||||
IsVisible="{Binding IsToggleVisible}"
|
||||
BackgroundColor="{Binding CitybikeColor}"
|
||||
BorderColor="{Binding CitybikeColor}"
|
||||
BorderWidth="0"
|
||||
VerticalOptions="Center"
|
||||
HorizontalOptions="Center"
|
||||
WidthRequest="94"
|
||||
HeightRequest="40"
|
||||
CornerRadius="10"
|
||||
Margin="3,0,0,0"
|
||||
FontSize="Small"
|
||||
FontAttributes="Bold"
|
||||
TextColor="{Binding NoCitybikeColor}">
|
||||
</Button>
|
||||
<Button
|
||||
x:Name="CargoButton"
|
||||
AutomationId ="FilterCargo_button"
|
||||
Text="{x:Static resources:AppResources.MarkingCargoBike}"
|
||||
Command="{Binding OnToggleCitybikeToCargo}"
|
||||
IsVisible="{Binding IsToggleVisible}"
|
||||
BackgroundColor="{Binding CargoColor}"
|
||||
BorderColor="{Binding CargoColor}"
|
||||
BorderWidth="0"
|
||||
VerticalOptions="Center"
|
||||
HorizontalOptions="Center"
|
||||
WidthRequest="94"
|
||||
HeightRequest="40"
|
||||
CornerRadius="10"
|
||||
Margin="0,0,3,0"
|
||||
FontSize="Small"
|
||||
FontAttributes="Bold"
|
||||
TextColor="{Binding NoCargoColor}">
|
||||
</Button>
|
||||
</StackLayout>
|
||||
</Frame>
|
||||
|
||||
|
|
|
@ -52,21 +52,14 @@
|
|||
Spacing="0"
|
||||
Orientation="Vertical">
|
||||
|
||||
<!--No Network Connection-->
|
||||
<sharedGui:NotConnectedToNetView/>
|
||||
|
||||
<!--Bike data-->
|
||||
<Grid
|
||||
RowDefinitions="Auto,1*"
|
||||
RowDefinitions="1*"
|
||||
RowSpacing="0">
|
||||
|
||||
<!--Hint for Outdated Data.-->
|
||||
<sharedGui:HintForRefreshingPageView
|
||||
Grid.Row="0"/>
|
||||
|
||||
<!--Bike(s)-->
|
||||
<ListView
|
||||
Grid.Row="1"
|
||||
Grid.Row="0"
|
||||
x:Name="MyBikesListView"
|
||||
BackgroundColor="{DynamicResource background-color}"
|
||||
SelectionMode="None"
|
||||
|
@ -81,7 +74,7 @@
|
|||
|
||||
<!--No Bikes-->
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Grid.Row="0"
|
||||
Margin="20"
|
||||
IsVisible="{Binding IsNoBikesOccupiedVisible}"
|
||||
Text="{Binding NoBikesOccupiedText}"/>
|
||||
|
|
|
@ -104,21 +104,13 @@
|
|||
|
||||
</StackLayout>
|
||||
|
||||
<!--No Network Connection-->
|
||||
<sharedGui:NotConnectedToNetView/>
|
||||
|
||||
<!--Bike data-->
|
||||
<Grid
|
||||
RowDefinitions="Auto,Auto"
|
||||
RowDefinitions="1*"
|
||||
RowSpacing="0">
|
||||
|
||||
<!--Hint for Outdated Data.-->
|
||||
<sharedGui:HintForRefreshingPageView
|
||||
Grid.Row="0"/>
|
||||
|
||||
<!--Bike-->
|
||||
<ListView
|
||||
Grid.Row="1"
|
||||
x:Name="SelectBikeListView"
|
||||
BackgroundColor="{DynamicResource background-color}"
|
||||
SelectionMode="None"
|
||||
|
|
|
@ -72,7 +72,7 @@ namespace SharedBusinessLogic.Tests.ViewModel.Bikes.Bike.CopriLock.RequestHandle
|
|||
Is.True);
|
||||
Assert.That(
|
||||
subsequent.LockitButtonText,
|
||||
Is.EqualTo("Reserve bike"));
|
||||
Is.EqualTo("Reserve / Rent"));
|
||||
Assert.That(
|
||||
subsequent.IsLockitButtonVisible,
|
||||
Is.True);
|
||||
|
@ -147,7 +147,7 @@ namespace SharedBusinessLogic.Tests.ViewModel.Bikes.Bike.CopriLock.RequestHandle
|
|||
Is.True);
|
||||
Assert.That(
|
||||
subsequent.LockitButtonText,
|
||||
Is.EqualTo("Reserve bike"));
|
||||
Is.EqualTo("Reserve / Rent"));
|
||||
Assert.That(
|
||||
subsequent.IsLockitButtonVisible,
|
||||
Is.True);
|
||||
|
@ -222,7 +222,7 @@ namespace SharedBusinessLogic.Tests.ViewModel.Bikes.Bike.CopriLock.RequestHandle
|
|||
Is.True);
|
||||
Assert.That(
|
||||
subsequent.LockitButtonText,
|
||||
Is.EqualTo("Reserve bike"));
|
||||
Is.EqualTo("Reserve / Rent"));
|
||||
Assert.That(
|
||||
subsequent.IsLockitButtonVisible,
|
||||
Is.True);
|
||||
|
@ -354,7 +354,7 @@ namespace SharedBusinessLogic.Tests.ViewModel.Bikes.Bike.CopriLock.RequestHandle
|
|||
Is.True);
|
||||
Assert.That(
|
||||
subsequent.LockitButtonText,
|
||||
Is.EqualTo("Reserve bike"));
|
||||
Is.EqualTo("Reserve / Rent"));
|
||||
Assert.That(
|
||||
subsequent.IsLockitButtonVisible,
|
||||
Is.True);
|
||||
|
@ -431,7 +431,7 @@ namespace SharedBusinessLogic.Tests.ViewModel.Bikes.Bike.CopriLock.RequestHandle
|
|||
Is.True);
|
||||
Assert.That(
|
||||
subsequent.LockitButtonText,
|
||||
Is.EqualTo("Reserve bike"));
|
||||
Is.EqualTo("Reserve / Rent"));
|
||||
Assert.That(
|
||||
subsequent.IsLockitButtonVisible,
|
||||
Is.True);
|
||||
|
@ -508,7 +508,7 @@ namespace SharedBusinessLogic.Tests.ViewModel.Bikes.Bike.CopriLock.RequestHandle
|
|||
Is.True);
|
||||
Assert.That(
|
||||
subsequent.LockitButtonText,
|
||||
Is.EqualTo("Reserve bike"));
|
||||
Is.EqualTo("Reserve / Rent"));
|
||||
Assert.That(
|
||||
subsequent.IsLockitButtonVisible,
|
||||
Is.True);
|
||||
|
@ -585,7 +585,7 @@ namespace SharedBusinessLogic.Tests.ViewModel.Bikes.Bike.CopriLock.RequestHandle
|
|||
Is.True);
|
||||
Assert.That(
|
||||
subsequent.LockitButtonText,
|
||||
Is.EqualTo("Reserve bike"));
|
||||
Is.EqualTo("Reserve / Rent"));
|
||||
Assert.That(
|
||||
subsequent.IsLockitButtonVisible,
|
||||
Is.True);
|
||||
|
|
|
@ -353,7 +353,7 @@ namespace SharedBusinessLogic.Tests.ViewModel.Bikes.Bike.CopriLock.RequestHandle
|
|||
Is.True);
|
||||
Assert.That(
|
||||
subsequent.LockitButtonText,
|
||||
Is.EqualTo("Reserve bike"));
|
||||
Is.EqualTo("Reserve / Rent"));
|
||||
Assert.That(
|
||||
subsequent.IsLockitButtonVisible,
|
||||
Is.True);
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
//------------------------------------------------------------------------------
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
|
@ -14,12 +13,10 @@ namespace ShareeBike.MultilingualResources {
|
|||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// This class was generated by MSBuild using the GenerateResource task.
|
||||
/// To add or remove a member, edit your .resx file then rerun MSBuild.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Build.Tasks.StronglyTypedResourceBuilder", "15.1.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
public class AppResources {
|
||||
|
@ -177,15 +174,6 @@ namespace ShareeBike.MultilingualResources {
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Reserve bike.
|
||||
/// </summary>
|
||||
public static string ActionReserveBike {
|
||||
get {
|
||||
return ResourceManager.GetString("ActionReserveBike", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Connect lock.
|
||||
/// </summary>
|
||||
|
|
|
@ -24,9 +24,6 @@
|
|||
<data name="ActionOpenLockAndRentBike" xml:space="preserve">
|
||||
<value>Miete starten & Schloss öffnen</value>
|
||||
</data>
|
||||
<data name="ActionReserveBike" xml:space="preserve">
|
||||
<value>Rad reservieren</value>
|
||||
</data>
|
||||
<data name="ActionEndRental" xml:space="preserve">
|
||||
<value>Miete beenden</value>
|
||||
</data>
|
||||
|
|
|
@ -1412,9 +1412,6 @@ You can find your rented bikes under "My bikes".</value>
|
|||
<data name="QuestionRentalProcessRentBikeTitle" xml:space="preserve">
|
||||
<value>Rent bike?</value>
|
||||
</data>
|
||||
<data name="ActionReserveBike" xml:space="preserve">
|
||||
<value>Reserve bike</value>
|
||||
</data>
|
||||
<data name="QuestionRentalProcessReserveBikeText" xml:space="preserve">
|
||||
<value>Would you like to reserve the bike for {1} minutes free of charge?</value>
|
||||
</data>
|
||||
|
|
|
@ -22,10 +22,6 @@
|
|||
<source>Start rental & Open lock</source>
|
||||
<target state="translated">Miete starten & Schloss öffnen</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="ActionReserveBike" translate="yes" xml:space="preserve">
|
||||
<source>Reserve bike</source>
|
||||
<target state="final">Rad reservieren</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="ActionEndRental" translate="yes" xml:space="preserve">
|
||||
<source>End rental</source>
|
||||
<target state="translated">Miete beenden</target>
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using ShareeBike.Model.State;
|
||||
using ShareeBike.Model.State;
|
||||
using ShareeBike.MultilingualResources;
|
||||
|
||||
namespace ShareeBike.ViewModel.Bikes.Bike.BC
|
||||
{
|
||||
|
@ -10,13 +11,13 @@ namespace ShareeBike.ViewModel.Bikes.Bike.BC
|
|||
switch (state)
|
||||
{
|
||||
case InUseStateEnum.Disposable:
|
||||
return "Rad reservieren";
|
||||
return AppResources.ActionRequestBike;
|
||||
|
||||
case InUseStateEnum.Reserved:
|
||||
return "Reservierung aufheben";
|
||||
return AppResources.ActionCancelReservation;
|
||||
|
||||
case InUseStateEnum.Booked:
|
||||
return "Miete beenden";
|
||||
return AppResources.ActionEndRental;
|
||||
|
||||
default:
|
||||
return $"{state}";
|
||||
|
|
|
@ -29,7 +29,7 @@ namespace ShareeBike.ViewModel.Bikes.Bike.CopriLock.RequestHandler
|
|||
IBikesViewModel bikesViewModel,
|
||||
IUser activeUser) : base(
|
||||
selectedBike,
|
||||
AppResources.ActionOpenLockAndRentBike, // Button text: "Schloss öffnen & Rad mieten"
|
||||
AppResources.ActionOpenLockAndRentBike, // Button text: "Miete starten & Schloss öffnen"
|
||||
true, // Show copri button to enable booking and opening
|
||||
isConnectedDelegate,
|
||||
connectorFactory,
|
||||
|
@ -39,7 +39,7 @@ namespace ShareeBike.ViewModel.Bikes.Bike.CopriLock.RequestHandler
|
|||
bikesViewModel,
|
||||
activeUser)
|
||||
{
|
||||
LockitButtonText = AppResources.ActionReserveBike; // Copri text: "Rad reservieren"
|
||||
LockitButtonText = AppResources.ActionRequestBike; // Copri text: "Reservieren / Mieten"
|
||||
IsLockitButtonVisible = true;
|
||||
}
|
||||
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Bar.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\BarLevelInputViewModel.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\BarLevelViewModel.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\NotConnectedToNetViewModel.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)View\BarLevelInputView.xaml.cs">
|
||||
<DependentUpon>BarLevelInputView.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
|
@ -61,9 +60,6 @@
|
|||
<DependentUpon>RentalProcessStepBarFinished.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="$(MSBuildThisFileDirectory)View\HintForRefreshingPageView.xaml.cs">
|
||||
<DependentUpon>HintForRefreshingPageView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="$(MSBuildThisFileDirectory)View\Bike\RentalProcess\RentalProcessBookedClosedEndRental.xaml.cs">
|
||||
<DependentUpon>RentalProcessBookedClosedEndRental.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
|
@ -71,9 +67,6 @@
|
|||
<Compile Include="$(MSBuildThisFileDirectory)View\Bike\RentalProcess\RentalProcessBookedOpenCloseLock.xaml.cs">
|
||||
<DependentUpon>RentalProcessBookedOpenCloseLock.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="$(MSBuildThisFileDirectory)View\NotConnectedToNetView.xaml.cs">
|
||||
<DependentUpon>NotConnectedToNetView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="$(MSBuildThisFileDirectory)View\RunningProcessView.xaml.cs">
|
||||
<DependentUpon>RunningProcessView.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
|
@ -103,18 +96,6 @@
|
|||
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="$(MSBuildThisFileDirectory)View\NotConnectedToNetView.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="$(MSBuildThisFileDirectory)View\HintForRefreshingPageView.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="$(MSBuildThisFileDirectory)View\Bike\RentalProcess\RentalProcessBookedClosedEndRental.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
|
|
|
@ -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.381" android:versionCode="381">
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="internalOnly" package="com.hauffware.sharee" android:versionName="3.0.382" android:versionCode="382">
|
||||
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="34" />
|
||||
|
||||
<!-- Google Maps related permissions -->
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
using System.Reflection;
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using Android.App;
|
||||
|
@ -12,7 +12,7 @@ using Xamarin.Forms;
|
|||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("ShareeBike.Android")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2020")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2020")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
[assembly: ComVisible(false)]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
using Foundation;
|
||||
using Foundation;
|
||||
using UIKit;
|
||||
using Xamarin.Forms;
|
||||
using Xamarin.Forms.Platform.iOS;
|
||||
|
|
|
@ -56,9 +56,9 @@
|
|||
<key>CFBundleDisplayName</key>
|
||||
<string>sharee.bike</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>381</string>
|
||||
<string>382</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>3.0.381</string>
|
||||
<string>3.0.382</string>
|
||||
<key>ITSAppUsesNonExemptEncryption</key>
|
||||
<false/>
|
||||
</dict>
|
||||
|
|
41
ShareeBike/ShareeBike.iOS/PrivacyInfo.xcprivacy
Normal file
41
ShareeBike/ShareeBike.iOS/PrivacyInfo.xcprivacy
Normal file
|
@ -0,0 +1,41 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>NSPrivacyAccessedAPITypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>NSPrivacyAccessedAPIType</key>
|
||||
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
|
||||
<key>NSPrivacyAccessedAPITypeReasons</key>
|
||||
<array>
|
||||
<string>C617.1</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>NSPrivacyAccessedAPIType</key>
|
||||
<string>NSPrivacyAccessedAPICategorySystemBootTime</string>
|
||||
<key>NSPrivacyAccessedAPITypeReasons</key>
|
||||
<array>
|
||||
<string>35F9.1</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>NSPrivacyAccessedAPIType</key>
|
||||
<string>NSPrivacyAccessedAPICategoryDiskSpace</string>
|
||||
<key>NSPrivacyAccessedAPITypeReasons</key>
|
||||
<array>
|
||||
<string>E174.1</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>NSPrivacyAccessedAPIType</key>
|
||||
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
|
||||
<key>NSPrivacyAccessedAPITypeReasons</key>
|
||||
<array>
|
||||
<string>CA92.1</string>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
|
@ -28,8 +28,9 @@
|
|||
<MtouchArch>x86_64</MtouchArch>
|
||||
<MtouchLink>None</MtouchLink>
|
||||
<MtouchDebug>true</MtouchDebug>
|
||||
<CodesignProvision></CodesignProvision>
|
||||
<CodesignProvision>Provisioning_Profile_shareebike_Development</CodesignProvision>
|
||||
<CodesignKey>Apple Development: Oliver Hauff (8SZ7J9P24J)</CodesignKey>
|
||||
<MtouchSdkVersion>17.4</MtouchSdkVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' ">
|
||||
<DebugType>none</DebugType>
|
||||
|
@ -41,8 +42,9 @@
|
|||
<MtouchLink>SdkOnly</MtouchLink>
|
||||
<MtouchArch>x86_64</MtouchArch>
|
||||
<ConsolePause>false</ConsolePause>
|
||||
<CodesignProvision>sharee.bike to App Store 3</CodesignProvision>
|
||||
<CodesignProvision>Automatisch</CodesignProvision>
|
||||
<CodesignKey>Apple Distribution: TeilRad GmbH (LXJD6URCHR)</CodesignKey>
|
||||
<MtouchSdkVersion>17.4</MtouchSdkVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhone' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
|
@ -78,6 +80,7 @@
|
|||
<CrashReportingApiKey>
|
||||
</CrashReportingApiKey>
|
||||
<MtouchLink>SdkOnly</MtouchLink>
|
||||
<MtouchSdkVersion>17.4</MtouchSdkVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Ad-Hoc|iPhone' ">
|
||||
<DebugType>none</DebugType>
|
||||
|
@ -95,6 +98,7 @@
|
|||
</MtouchNoSymbolStrip>
|
||||
<MtouchLink>SdkOnly</MtouchLink>
|
||||
<OnDemandResourcesPrefetchOrder></OnDemandResourcesPrefetchOrder>
|
||||
<MtouchSdkVersion>17.4</MtouchSdkVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'AppStore|iPhone' ">
|
||||
<DebugType>none</DebugType>
|
||||
|
@ -108,6 +112,7 @@
|
|||
<CodesignKey>Apple Distribution: TeilRad GmbH (LXJD6URCHR)</CodesignKey>
|
||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
|
||||
<MtouchLink>SdkOnly</MtouchLink>
|
||||
<MtouchSdkVersion>17.4</MtouchSdkVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(RunConfiguration)' == 'Default' ">
|
||||
<AppExtensionDebugBundleId />
|
||||
|
@ -253,6 +258,7 @@
|
|||
<BundleResource Include="Resources\menu%403x.png" />
|
||||
<BundleResource Include="Resources\de.lproj\InfoPlist.strings" />
|
||||
<BundleResource Include="Resources\en.lproj\InfoPlist.strings" />
|
||||
<BundleResource Include="PrivacyInfo.xcprivacy" LogicalName="PrivacyInfo.xcprivacy" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
|
|
|
@ -95,21 +95,14 @@
|
|||
|
||||
</StackLayout>
|
||||
|
||||
<!--If Not Connected To Internet-->
|
||||
<sharedGui:NotConnectedToNetView/>
|
||||
|
||||
<!--Bike data-->
|
||||
<Grid
|
||||
RowDefinitions="Auto,1*"
|
||||
RowDefinitions="1*"
|
||||
RowSpacing="0">
|
||||
|
||||
<!--Hint for Outdated Data.-->
|
||||
<sharedGui:HintForRefreshingPageView
|
||||
Grid.Row="0"/>
|
||||
|
||||
<!--Bike(s)-->
|
||||
<ListView
|
||||
Grid.Row="1"
|
||||
Grid.Row="0"
|
||||
x:Name="BikesAtStationListView"
|
||||
BackgroundColor="{DynamicResource background-color}"
|
||||
SelectionMode="None"
|
||||
|
@ -124,7 +117,7 @@
|
|||
|
||||
<!--No Bikes-->
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Grid.Row="0"
|
||||
Margin="20"
|
||||
IsVisible="{Binding IsNoBikesAtStationVisible}"
|
||||
Text="{Binding NoBikesAtStationText}"/>
|
||||
|
|
|
@ -25,23 +25,21 @@
|
|||
Spacing="0"
|
||||
Grid.Row="0">
|
||||
|
||||
<sharedGui:NotConnectedToNetView/>
|
||||
|
||||
<Grid
|
||||
RowDefinitions="20,46,1*,Auto"
|
||||
ColumnDefinitions="1*,Auto,1*"
|
||||
RowDefinitions="20,46,1*,Auto"
|
||||
ColumnDefinitions="1*,Auto,1*"
|
||||
RowSpacing="0"
|
||||
IsEnabled="{Binding IsMapPageEnabled}"
|
||||
VerticalOptions="FillAndExpand">
|
||||
IsEnabled="{Binding IsMapPageEnabled}"
|
||||
VerticalOptions="FillAndExpand">
|
||||
|
||||
<!--Map-->
|
||||
<maps:Map
|
||||
Grid.RowSpan="3"
|
||||
Grid.ColumnSpan="3"
|
||||
WidthRequest="320"
|
||||
HeightRequest="800"
|
||||
x:Name="MyMap"
|
||||
MapType="Street">
|
||||
Grid.RowSpan="3"
|
||||
Grid.ColumnSpan="3"
|
||||
WidthRequest="320"
|
||||
HeightRequest="800"
|
||||
x:Name="MyMap"
|
||||
MapType="Street">
|
||||
<maps:Map.Behaviors>
|
||||
<bindings:BindingPinsBehavior Value="{Binding Pins}"/>
|
||||
<bindings:PinClickedToCommandBehavior Command="{Binding PinClickedCommand}"/>
|
||||
|
@ -50,54 +48,54 @@
|
|||
|
||||
<!--Buttons for choosing bike type-->
|
||||
<Frame
|
||||
CornerRadius="13"
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Margin="0"
|
||||
Padding="0"
|
||||
IsVisible="{Binding IsNavBarVisible}"
|
||||
BackgroundColor="{DynamicResource secondary-back-title-color}">
|
||||
CornerRadius="13"
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Margin="0"
|
||||
Padding="0"
|
||||
IsVisible="{Binding IsNavBarVisible}"
|
||||
BackgroundColor="{DynamicResource secondary-back-title-color}">
|
||||
<StackLayout
|
||||
Orientation="Horizontal"
|
||||
Margin="0"
|
||||
Padding="0">
|
||||
Orientation="Horizontal"
|
||||
Margin="0"
|
||||
Padding="0">
|
||||
<Button
|
||||
x:Name="CitybikeButton"
|
||||
AutomationId ="FilterCitybike_button"
|
||||
Text="{x:Static resources:AppResources.MarkingCityBike}"
|
||||
Command="{Binding OnToggleCargoToCitybike}"
|
||||
IsVisible="{Binding IsToggleVisible}"
|
||||
BackgroundColor="{Binding CitybikeColor}"
|
||||
BorderColor="{Binding CitybikeColor}"
|
||||
BorderWidth="0"
|
||||
VerticalOptions="Center"
|
||||
HorizontalOptions="Center"
|
||||
WidthRequest="94"
|
||||
HeightRequest="40"
|
||||
CornerRadius="10"
|
||||
Margin="3,0,0,0"
|
||||
FontSize="Small"
|
||||
FontAttributes="Bold"
|
||||
TextColor="{Binding NoCitybikeColor}">
|
||||
x:Name="CitybikeButton"
|
||||
AutomationId ="FilterCitybike_button"
|
||||
Text="{x:Static resources:AppResources.MarkingCityBike}"
|
||||
Command="{Binding OnToggleCargoToCitybike}"
|
||||
IsVisible="{Binding IsToggleVisible}"
|
||||
BackgroundColor="{Binding CitybikeColor}"
|
||||
BorderColor="{Binding CitybikeColor}"
|
||||
BorderWidth="0"
|
||||
VerticalOptions="Center"
|
||||
HorizontalOptions="Center"
|
||||
WidthRequest="94"
|
||||
HeightRequest="40"
|
||||
CornerRadius="10"
|
||||
Margin="3,0,0,0"
|
||||
FontSize="Small"
|
||||
FontAttributes="Bold"
|
||||
TextColor="{Binding NoCitybikeColor}">
|
||||
</Button>
|
||||
<Button
|
||||
x:Name="CargoButton"
|
||||
AutomationId ="FilterCargo_button"
|
||||
Text="{x:Static resources:AppResources.MarkingCargoBike}"
|
||||
Command="{Binding OnToggleCitybikeToCargo}"
|
||||
IsVisible="{Binding IsToggleVisible}"
|
||||
BackgroundColor="{Binding CargoColor}"
|
||||
BorderColor="{Binding CargoColor}"
|
||||
BorderWidth="0"
|
||||
VerticalOptions="Center"
|
||||
HorizontalOptions="Center"
|
||||
WidthRequest="94"
|
||||
HeightRequest="40"
|
||||
CornerRadius="10"
|
||||
Margin="0,0,3,0"
|
||||
FontSize="Small"
|
||||
FontAttributes="Bold"
|
||||
TextColor="{Binding NoCargoColor}">
|
||||
x:Name="CargoButton"
|
||||
AutomationId ="FilterCargo_button"
|
||||
Text="{x:Static resources:AppResources.MarkingCargoBike}"
|
||||
Command="{Binding OnToggleCitybikeToCargo}"
|
||||
IsVisible="{Binding IsToggleVisible}"
|
||||
BackgroundColor="{Binding CargoColor}"
|
||||
BorderColor="{Binding CargoColor}"
|
||||
BorderWidth="0"
|
||||
VerticalOptions="Center"
|
||||
HorizontalOptions="Center"
|
||||
WidthRequest="94"
|
||||
HeightRequest="40"
|
||||
CornerRadius="10"
|
||||
Margin="0,0,3,0"
|
||||
FontSize="Small"
|
||||
FontAttributes="Bold"
|
||||
TextColor="{Binding NoCargoColor}">
|
||||
</Button>
|
||||
</StackLayout>
|
||||
</Frame>
|
||||
|
|
|
@ -52,21 +52,14 @@
|
|||
Spacing="0"
|
||||
Orientation="Vertical">
|
||||
|
||||
<!--No Network Connection-->
|
||||
<sharedGui:NotConnectedToNetView/>
|
||||
|
||||
<!--Bike data-->
|
||||
<Grid
|
||||
RowDefinitions="Auto,1*"
|
||||
RowDefinitions="1*"
|
||||
RowSpacing="0">
|
||||
|
||||
<!--Hint for Outdated Data.-->
|
||||
<sharedGui:HintForRefreshingPageView
|
||||
Grid.Row="0"/>
|
||||
|
||||
<!--Bike(s)-->
|
||||
<ListView
|
||||
Grid.Row="1"
|
||||
Grid.Row="0"
|
||||
x:Name="MyBikesListView"
|
||||
BackgroundColor="{DynamicResource background-color}"
|
||||
SelectionMode="None"
|
||||
|
@ -81,7 +74,7 @@
|
|||
|
||||
<!--No Bikes-->
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Grid.Row="0"
|
||||
Margin="20"
|
||||
IsVisible="{Binding IsNoBikesOccupiedVisible}"
|
||||
Text="{Binding NoBikesOccupiedText}"/>
|
||||
|
|
|
@ -104,21 +104,13 @@
|
|||
|
||||
</StackLayout>
|
||||
|
||||
<!--No Network Connection-->
|
||||
<sharedGui:NotConnectedToNetView/>
|
||||
|
||||
<!--Bike data-->
|
||||
<Grid
|
||||
RowDefinitions="Auto,Auto"
|
||||
RowDefinitions="1*"
|
||||
RowSpacing="0">
|
||||
|
||||
<!--Hint for Outdated Data.-->
|
||||
<sharedGui:HintForRefreshingPageView
|
||||
Grid.Row="0"/>
|
||||
|
||||
<!--Bike-->
|
||||
<ListView
|
||||
Grid.Row="1"
|
||||
x:Name="SelectBikeListView"
|
||||
BackgroundColor="{DynamicResource background-color}"
|
||||
SelectionMode="None"
|
||||
|
|
Loading…
Reference in a new issue