Version 3.0.361

This commit is contained in:
Anja 2023-03-08 13:18:54 +01:00
parent faf68061f4
commit cba4da9357
88 changed files with 1119 additions and 1502 deletions

View file

@ -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.360" android:versionCode="360">
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="internalOnly" package="com.hauffware.sharee" android:versionName="3.0.361" android:versionCode="361">
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="31" />
<!-- Google Maps related permissions -->
<!-- Permission to receive remote notifications from Google Play Services -->

View file

@ -14,7 +14,7 @@ namespace TINK.Droid
{
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "13.0.0.73")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "13.2.0.93")]
public partial class Resource
{

View file

@ -56,8 +56,8 @@
<key>CFBundleDisplayName</key>
<string>sharee.bike</string>
<key>CFBundleVersion</key>
<string>360</string>
<string>361</string>
<key>CFBundleShortVersionString</key>
<string>3.0.360</string>
<string>3.0.361</string>
</dict>
</plist>

View file

@ -7,7 +7,7 @@
xmlns:resources="clr-namespace:TINK.MultilingualResources;assembly=TINKLib"
xmlns:sharedGui="clr-namespace:ShareeSharedGuiLib.View"
Shell.FlyoutBehavior="Disabled"
BackgroundColor="#f6f6f6"
BackgroundColor="{DynamicResource background-color}"
Shell.NavBarIsVisible="{Binding IsIdle}">
<Shell.TitleView>
@ -28,9 +28,11 @@
<!--Grid for Bike(s) view and Running process in same row-->
<Grid>
<!-- Grid for Content -->
<Grid Grid.Row="0"
RowDefinitions="Auto,1*,Auto">
<Grid
Grid.Row="0"
RowSpacing="0"
RowDefinitions="Auto,1*,Auto">
<StackLayout
Grid.Row="0"
Spacing="0"
@ -38,22 +40,46 @@
<!--Station-->
<StackLayout
BackgroundColor="{DynamicResource primary-back-title-color}">
BackgroundColor="{DynamicResource primary-back-title-color}"
IsVisible="{Binding IsIdle}"
Padding="20,0,20,0">
<!--Line-->
<BoxView
HeightRequest="1"
WidthRequest="260"
HorizontalOptions="Center"
Color="White"/>
HeightRequest="1"
WidthRequest="400"
HorizontalOptions="Center"
Color="White"/>
<!--Title-->
<Label
HorizontalOptions="Center"
FontAttributes="Bold"
Padding="10,0,10,10"
TextColor="White"
Text="{Binding StationDetailText}"/>
<Grid
ColumnDefinitions="Auto,1*"
RowDefinitions="Auto"
Padding="0,0,0,5">
<!--Station id-->
<Label
Grid.Column="0"
Grid.Row="0"
FontSize="Small"
HorizontalOptions="Start"
TextColor="White"
Text="{Binding StationDetailText}"/>
<!--Contact to operator-->
<Label
Grid.Column="1"
Grid.Row="0"
TextType="Html"
FontSize="Small"
HorizontalOptions="End"
TextColor="White"
Text="{Binding ContactSupportHintText}">
<Label.GestureRecognizers>
<TapGestureRecognizer Command="{Binding ContactSupportClickedCommand}"/>
</Label.GestureRecognizers>
</Label>
</Grid>
</StackLayout>
@ -68,73 +94,89 @@
<!--Hint for Outdated Data.-->
<sharedGui:HintForRefreshingPageView/>
<ListView Grid.Row="1"
x:Name="BikesAtStationListView"
SelectionMode="None"
SelectedItem="{Binding SelectedBike}"
IsEnabled="{Binding IsIdle}"
HasUnevenRows="True"
SeparatorVisibility="None"
ItemTemplate="{StaticResource bikeTemplateSelector}"
IsPullToRefreshEnabled="True"
RefreshCommand="{Binding RefreshCommand}"
IsRefreshing="{Binding IsRefreshing}"/>
<ListView
Grid.Row="1"
x:Name="BikesAtStationListView"
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>
<!--No Bikes-->
<Label Grid.Row="1" Padding="10"
IsVisible="{Binding IsNoBikesAtStationVisible}"
Text="{Binding NoBikesAtStationText}"/>
<Label
Grid.Row="1"
Margin="20"
IsVisible="{Binding IsNoBikesAtStationVisible}"
Text="{Binding NoBikesAtStationText}"/>
<!--Info at End of Page-->
<StackLayout
Grid.Row="2"
Orientation="Vertical"
BackgroundColor="{DynamicResource primary-back-title-color}"
Padding="0,0,0,10">
Spacing="0"
Padding="20,0,20,0">
<!--Info text-->
<Label
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-->
<!--Line-->
<BoxView
HeightRequest="1"
WidthRequest="260"
HorizontalOptions="Center"
Color="White"/>
<!--Contact to operator-->
<Label
TextType="Html"
Padding="10,5,10,0"
TextColor="White"
Text="{Binding ContactSupportHintText}">
<Label.GestureRecognizers>
<TapGestureRecognizer Command="{Binding ContactSupportClickedCommand}"/>
</Label.GestureRecognizers>
TextColor="DimGray"
Padding="5"
HorizontalOptions="CenterAndExpand">
<Label.Triggers>
<DataTrigger
TargetType="Label"
Binding="{Binding Path=StatusInfoText.Length}" Value="0">
<Setter Property="HeightRequest" Value="0" />
</DataTrigger>
<DataTrigger
TargetType="Label"
Binding="{Binding Path=StatusInfoText}" Value="Offline.">
<Setter Property="HeightRequest" Value="0" />
</DataTrigger>
</Label.Triggers>
</Label>
<!--Login required-->
<Label
<!--Login-->
<StackLayout Spacing="0">
<StackLayout.Triggers>
<DataTrigger TargetType="StackLayout"
Binding="{Binding IsLoginRequiredHintVisible}"
Value="false">
<Setter Property="HeightRequest" Value="0" />
</DataTrigger>
</StackLayout.Triggers>
<!--Line-->
<BoxView
HeightRequest="1"
WidthRequest="400"
HorizontalOptions="Center"
IsVisible="{Binding IsLoginRequiredHintVisible}"
Color="DimGray" />
<!--Login required-->
<Label
IsVisible="{Binding IsLoginRequiredHintVisible}"
TextType="Html"
Padding="10,5,10,0"
TextColor="White"
TextColor="DimGray"
Text="{Binding LoginRequiredHintText}">
<Label.GestureRecognizers>
<TapGestureRecognizer Command="{Binding LoginRequiredHintClickedCommand}"/>
</Label.GestureRecognizers>
</Label>
<Label.GestureRecognizers>
<TapGestureRecognizer Command="{Binding LoginRequiredHintClickedCommand}"/>
</Label.GestureRecognizers>
</Label>
</StackLayout>
</StackLayout>

View file

@ -19,8 +19,9 @@
<!--Grid for Map with Buttons and Running process-->
<Grid
RowDefinitions="3,46,1*,32"
RowDefinitions="3,46,1*,Auto"
ColumnDefinitions="1*,Auto,1*"
RowSpacing="0"
IsEnabled="{Binding IsMapPageEnabled}"
VerticalOptions="FillAndExpand">
@ -114,14 +115,22 @@
<!--Info text-->
<Label
Grid.Row="3"
Grid.ColumnSpan="3"
Text="{Binding StatusInfoText}"
IsVisible="{Binding Path=IsProcessWithRunningProcessView, Converter={StaticResource InvertedBoolConverter}}"
TextColor="White"
FontSize="Small"
HorizontalOptions="CenterAndExpand"
VerticalOptions="CenterAndExpand"/>
Grid.Row="3"
Grid.ColumnSpan="3"
Text="{Binding StatusInfoText}"
IsVisible="{Binding Path=IsProcessWithRunningProcessView, Converter={StaticResource InvertedBoolConverter}}"
FontSize="Small"
Padding="5"
TextColor="DimGray"
HorizontalOptions="CenterAndExpand">
<Label.Triggers>
<DataTrigger
TargetType="Label"
Binding="{Binding Path=StatusInfoText.Length}" Value="0">
<Setter Property="HeightRequest" Value="0" />
</DataTrigger>
</Label.Triggers>
</Label>
<!--While process is running-->
<sharedGui:RunningProcessView

View file

@ -6,7 +6,7 @@
xmlns:resources="clr-namespace:TINK.MultilingualResources;assembly=TINKLib"
xmlns:local_bike="clr-namespace:TINK.View.Bike"
xmlns:sharedGui="clr-namespace:ShareeSharedGuiLib.View"
BackgroundColor="#f6f6f6">
BackgroundColor="{DynamicResource background-color}">
<Shell.TitleView>
<Grid ColumnDefinitions="Auto, 1*">
@ -28,6 +28,7 @@
<Grid
RowDefinitions="1*,Auto"
RowSpacing="0"
Grid.Row="0">
<StackLayout
@ -42,7 +43,7 @@
<StackLayout
BackgroundColor="White"
IsVisible="{Binding IsSelectBikeVisible}"
Padding="10">
Padding="20">
<Entry
Placeholder="{x:Static resources:AppResources.PlaceholderFindBike}"
@ -83,19 +84,27 @@
</StackLayout>
<!--Info text-->
<StackLayout
BackgroundColor="#f6f6f6"
Padding="10,5,10,10"
Grid.Row="1">
<Label
<Label
Grid.Row="1"
Text="{Binding StatusInfoText}"
IsVisible="{Binding Path=IsProcessWithRunningProcessView, Converter={StaticResource InvertedBoolConverter}}"
FontSize="Small"
HorizontalOptions="CenterAndExpand"
VerticalOptions="CenterAndExpand"/>
</StackLayout>
Padding="5"
TextColor="DimGray"
HorizontalOptions="CenterAndExpand">
<Label.Triggers>
<DataTrigger
TargetType="Label"
Binding="{Binding Path=StatusInfoText.Length}" Value="0">
<Setter Property="HeightRequest" Value="0" />
</DataTrigger>
<DataTrigger
TargetType="Label"
Binding="{Binding Path=StatusInfoText}" Value="Offline.">
<Setter Property="HeightRequest" Value="0" />
</DataTrigger>
</Label.Triggers>
</Label>
</Grid>

View file

@ -7,7 +7,7 @@
x:Class="TINK.View.Map.MapPage"
xmlns:sharedGui="clr-namespace:ShareeSharedGuiLib.View"
Shell.NavBarIsVisible="{Binding IsNavBarVisible}"
BackgroundColor="{DynamicResource Key=primary-back-title-color}">
BackgroundColor="{DynamicResource Key=background-color}">
<Shell.TitleView >
<Grid ColumnDefinitions="Auto, 1*">
@ -28,8 +28,9 @@
<sharedGui:NotConnectedToNetView/>
<Grid
RowDefinitions="3,46,1*,32"
RowDefinitions="20,46,1*,Auto"
ColumnDefinitions="1*,Auto,1*"
RowSpacing="0"
IsEnabled="{Binding IsMapPageEnabled}"
VerticalOptions="FillAndExpand">
@ -49,7 +50,7 @@
</maps:Map>
<!--Buttons for choosing bike type-->
<Frame
<Frame
CornerRadius="13"
Grid.Row="1"
Grid.Column="1"
@ -57,11 +58,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}"
@ -74,13 +75,13 @@
HorizontalOptions="Center"
WidthRequest="94"
HeightRequest="40"
BorderRadius="10"
CornerRadius="10"
Margin="3,0,0,0"
FontSize="Small"
FontAttributes="Bold"
TextColor="{Binding NoKonradColor}">
</Button>
<Button
</Button>
<Button
x:Name="TINKButton"
AutomationId ="FilterTINK_button"
Text="{x:Static resources:AppResources.MarkingCargoBike}"
@ -93,27 +94,118 @@
HorizontalOptions="Center"
WidthRequest="94"
HeightRequest="40"
BorderRadius="10"
CornerRadius="10"
Margin="0,0,3,0"
FontSize="Small"
FontAttributes="Bold"
TextColor="{Binding NoTinkColor}">
</Button>
</StackLayout>
</Frame>
</Button>
</StackLayout>
</Frame>
<!--Info text-->
<Label
Grid.Row="3"
Grid.ColumnSpan="3"
Text="{Binding StatusInfoText}"
IsVisible="{Binding Path=IsProcessWithRunningProcessView, Converter={StaticResource InvertedBoolConverter}}"
TextColor="White"
FontSize="Small"
HorizontalOptions="CenterAndExpand"
VerticalOptions="CenterAndExpand"/>
<!--MyBikes-->
<Frame
Grid.Row="2"
Grid.Column="0"
Grid.ColumnSpan="3"
Margin="0,0,0,20"
Padding="0"
BackgroundColor="White"
HasShadow="True"
VerticalOptions="End"
HorizontalOptions="CenterAndExpand"
BorderColor="{DynamicResource primary-back-title-color}"
CornerRadius="10">
<Frame.Triggers>
<DataTrigger
TargetType="Frame"
Binding="{Binding Path=MyBikesCountText.Length}" Value="0">
<Setter Property="IsVisible" Value="false" />
</DataTrigger>
</Frame.Triggers>
<Frame.GestureRecognizers>
<TapGestureRecognizer Command="{Binding OnMyBikesButtonClicked}" />
</Frame.GestureRecognizers>
<Grid
RowDefinitions="18,Auto,1*"
ColumnDefinitions="Auto"
RowSpacing="0">
<Image
Grid.Row="1"
Margin="-5">
<Image.Source>
<FontImageSource
Glyph="{StaticResource IconMyBikes}"
Color="DimGray" FontFamily="FA-S"/>
</Image.Source>
</Image>
<BoxView
Grid.Row="0"
Grid.RowSpan="2"
BackgroundColor="{DynamicResource primary-back-title-color}"
WidthRequest="20"
HeightRequest="20"
CornerRadius="10"
HorizontalOptions="End"
VerticalOptions="Start"
Margin="5"/>
<Frame
Grid.Row="0"
Grid.RowSpan="2"
BackgroundColor="{DynamicResource primary-back-title-color}"
WidthRequest="20"
HeightRequest="20"
CornerRadius="50"
HasShadow="False"
HorizontalOptions="End"
VerticalOptions="Start"
Padding="0"
Margin="5">
<Label
Text="{Binding MyBikesCountText}"
FontSize="Medium"
FontAttributes="Bold"
VerticalOptions="Center"
HorizontalOptions="Center"
TextColor="White"
Padding="0"
Margin="-10"/>
</Frame>
<Label
Grid.Row="2"
Text="{x:Static resources:AppResources.MarkingMyBikes}"
FontSize="Micro"
TextColor="DimGray"
VerticalOptions="Center"
Margin="10,0,10,5"
Padding="0"/>
</Grid>
</Frame>
</Grid>
<!--Info text-->
<Label
Grid.Row="3"
Grid.ColumnSpan="3"
Text="{Binding StatusInfoText}"
IsVisible="{Binding Path=IsProcessWithRunningProcessView, Converter={StaticResource InvertedBoolConverter}}"
FontSize="Small"
TextColor="DimGray"
HorizontalOptions="CenterAndExpand">
<Label.Triggers>
<DataTrigger
TargetType="Label"
Binding="{Binding Path=StatusInfoText.Length}" Value="0">
<Setter Property="HeightRequest" Value="0" />
</DataTrigger>
<DataTrigger
TargetType="Label"
Binding="{Binding Path=StatusInfoText}" Value="Offline.">
<Setter Property="HeightRequest" Value="0" />
</DataTrigger>
</Label.Triggers>
</Label>
</Grid>
</StackLayout>

View file

@ -175,16 +175,6 @@ namespace TINK.View.Map
return;
}
try
{
ApplyCustomiOSStyling();
}
catch (Exception exception)
{
// Continue because styling is not essential.
Log.ForContext<MapPage>().Error("IOS specific styling of map page failed. {Exception}", exception);
}
try
{
base.OnAppearing();
@ -250,22 +240,6 @@ namespace TINK.View.Map
Navigation);
}
/// <summary>
/// Applies iOS specific styling to branded Buttons.
/// </summary>
private void ApplyCustomiOSStyling()
{
if (Device.RuntimePlatform == Device.iOS)
{
TINKButton.BackgroundColor = Color.LightGray;
TINKButton.BorderColor = Color.Black;
TINKButton.Margin = new Thickness(10, 10, 10, 10);
KonradButton.BackgroundColor = Color.LightGray;
KonradButton.BorderColor = Color.Black;
KonradButton.Margin = new Thickness(10, 10, 10, 10);
}
}
/// <summary>
/// Invoked when pages is closed/ hidden.
/// Stops update process.

View file

@ -6,7 +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"
BackgroundColor="{DynamicResource background-color}"
Shell.FlyoutBehavior="{Binding FlyoutBehavior}">
<Shell.TitleView>
@ -30,6 +30,7 @@
<!--Bike(s) view-->
<Grid
RowDefinitions="1*,Auto"
RowSpacing="0"
Grid.Row="0">
<StackLayout
@ -65,26 +66,34 @@
<!--No Bikes-->
<Label
Padding="10"
Margin="20"
IsVisible="{Binding IsNoBikesOccupiedVisible}"
Text="{Binding NoBikesOccupiedText}"/>
</StackLayout>
<!--Info text-->
<StackLayout
BackgroundColor="#f6f6f6"
Padding="10,5,10,10"
Grid.Row="1">
<Label
<Label
Grid.Row="1"
Text="{Binding StatusInfoText}"
IsVisible="{Binding Path=IsProcessWithRunningProcessView, Converter={StaticResource InvertedBoolConverter}}"
FontSize="Small"
HorizontalOptions="CenterAndExpand"
VerticalOptions="CenterAndExpand"/>
</StackLayout>
TextColor="DimGray"
Padding="5"
HorizontalOptions="CenterAndExpand">
<Label.Triggers>
<DataTrigger
TargetType="Label"
Binding="{Binding Path=StatusInfoText.Length}" Value="0">
<Setter Property="HeightRequest" Value="0" />
</DataTrigger>
<DataTrigger
TargetType="Label"
Binding="{Binding Path=StatusInfoText}" Value="Offline.">
<Setter Property="HeightRequest" Value="0" />
</DataTrigger>
</Label.Triggers>
</Label>
</Grid>