3.0.257 merged

This commit is contained in:
Oliver Hauff 2022-01-04 18:48:58 +01:00
parent de8d5f8414
commit b6fb6394db
155 changed files with 805 additions and 5751 deletions

View file

@ -10,7 +10,7 @@
<OutputType>Library</OutputType> <OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>TINK.Droid</RootNamespace> <RootNamespace>TINK.Droid</RootNamespace>
<AssemblyName>LastenradBayern.Android</AssemblyName> <AssemblyName>TINK.Android</AssemblyName>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<AndroidApplication>true</AndroidApplication> <AndroidApplication>true</AndroidApplication>
<AndroidResgenFile>Resources\Resource.Designer.cs</AndroidResgenFile> <AndroidResgenFile>Resources\Resource.Designer.cs</AndroidResgenFile>
@ -60,13 +60,11 @@
<BundleAssemblies>false</BundleAssemblies> <BundleAssemblies>false</BundleAssemblies>
<AndroidSupportedAbis>armeabi-v7a;x86;x86_64;arm64-v8a</AndroidSupportedAbis> <AndroidSupportedAbis>armeabi-v7a;x86;x86_64;arm64-v8a</AndroidSupportedAbis>
<MandroidI18n /> <MandroidI18n />
<AndroidPackageFormat>aab</AndroidPackageFormat> <AndroidPackageFormat>apk</AndroidPackageFormat>
<AndroidUseAapt2>true</AndroidUseAapt2>
<AndroidCreatePackagePerAbi>false</AndroidCreatePackagePerAbi>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" /> <PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
<PackageReference Include="Microsoft.NETCore.Platforms" Version="5.0.4" /> <PackageReference Include="Microsoft.NETCore.Platforms" Version="5.0.3" />
<PackageReference Include="Microsoft.Win32.Primitives" Version="4.3.0" /> <PackageReference Include="Microsoft.Win32.Primitives" Version="4.3.0" />
<PackageReference Include="MonkeyCache"> <PackageReference Include="MonkeyCache">
<Version>1.5.2</Version> <Version>1.5.2</Version>
@ -165,37 +163,34 @@
<PackageReference Include="Xamarin.Android.Support.v7.RecyclerView" Version="28.0.0.3" /> <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.Android.Support.Vector.Drawable" Version="28.0.0.3" />
<PackageReference Include="Xamarin.AndroidX.Core"> <PackageReference Include="Xamarin.AndroidX.Core">
<Version>1.6.0.3</Version> <Version>1.6.0.1</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Xamarin.AndroidX.MediaRouter"> <PackageReference Include="Xamarin.AndroidX.MediaRouter">
<Version>1.2.5.2</Version> <Version>1.2.5</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Xamarin.AndroidX.Palette"> <PackageReference Include="Xamarin.AndroidX.Palette">
<Version>1.0.0.10</Version> <Version>1.0.0.8</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Xamarin.AndroidX.RecyclerView"> <PackageReference Include="Xamarin.AndroidX.RecyclerView">
<Version>1.2.1.3</Version> <Version>1.2.1.1</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Xamarin.Auth" Version="1.7.0" /> <PackageReference Include="Xamarin.Auth" Version="1.7.0" />
<PackageReference Include="Xamarin.Build.Download" Version="0.10.0" /> <PackageReference Include="Xamarin.Build.Download" Version="0.10.0" />
<PackageReference Include="Xamarin.CommunityToolkit"> <PackageReference Include="Xamarin.CommunityToolkit">
<Version>1.3.0</Version> <Version>1.2.0</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Xamarin.Essentials"> <PackageReference Include="Xamarin.Essentials">
<Version>1.7.0</Version> <Version>1.7.0</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Xamarin.Forms" Version="5.0.0.2196" /> <PackageReference Include="Xamarin.Forms" Version="5.0.0.2125" />
<PackageReference Include="Xamarin.Forms.AppLinks">
<Version>5.0.0.2244</Version>
</PackageReference>
<PackageReference Include="Xamarin.Forms.GoogleMaps"> <PackageReference Include="Xamarin.Forms.GoogleMaps">
<Version>3.3.0</Version> <Version>3.3.0</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Xamarin.Forms.GoogleMaps.Bindings" Version="3.0.0" /> <PackageReference Include="Xamarin.Forms.GoogleMaps.Bindings" Version="3.0.0" />
<PackageReference Include="Xamarin.GooglePlayServices.Base" Version="117.6.0.1" /> <PackageReference Include="Xamarin.GooglePlayServices.Base" Version="117.6.0" />
<PackageReference Include="Xamarin.GooglePlayServices.Basement" Version="117.6.0.2" /> <PackageReference Include="Xamarin.GooglePlayServices.Basement" Version="117.6.0.1" />
<PackageReference Include="Xamarin.GooglePlayServices.Maps" Version="117.0.1.1" /> <PackageReference Include="Xamarin.GooglePlayServices.Maps" Version="117.0.1" />
<PackageReference Include="Xamarin.GooglePlayServices.Tasks" Version="117.2.1.1" /> <PackageReference Include="Xamarin.GooglePlayServices.Tasks" Version="117.2.1" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Reference Include="Mono.Android" /> <Reference Include="Mono.Android" />
@ -223,7 +218,6 @@
<None Include="app.config"> <None Include="app.config">
<SubType>Designer</SubType> <SubType>Designer</SubType>
</None> </None>
<GoogleServicesJson Include="google-services.json" />
<None Include="Resources\AboutResources.txt" /> <None Include="Resources\AboutResources.txt" />
<None Include="Assets\AboutAssets.txt" /> <None Include="Assets\AboutAssets.txt" />
<EmbeddedResource Include="Resources\Font Awesome 5 Free-Solid-900.otf" /> <EmbeddedResource Include="Resources\Font Awesome 5 Free-Solid-900.otf" />
@ -652,6 +646,24 @@
<Generator>MSBuild:UpdateGeneratedFiles</Generator> <Generator>MSBuild:UpdateGeneratedFiles</Generator>
</AndroidResource> </AndroidResource>
</ItemGroup> </ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable\sharee_no_background.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-hdpi\sharee_no_background.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-mdpi\sharee_no_background.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-xhdpi\sharee_no_background.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-xxhdpi\sharee_no_background.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-xxxhdpi\sharee_no_background.png" />
</ItemGroup>
<Import Project="..\TINK\LastenradBayern.projitems" Label="Shared" Condition="Exists('..\TINK\LastenradBayern.projitems')" /> <Import Project="..\TINK\LastenradBayern.projitems" Label="Shared" Condition="Exists('..\TINK\LastenradBayern.projitems')" />
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" /> <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
<ProjectExtensions> <ProjectExtensions>

View file

@ -5,28 +5,11 @@ using Android.OS;
using Android.Content; using Android.Content;
using Java.Interop; using Java.Interop;
using Plugin.Permissions; using Plugin.Permissions;
using Xamarin.Forms.Platform.Android.AppLinks;
using Firebase;
namespace TINK.Droid namespace TINK.Droid
{ {
[Activity (Label = "LastenradBayern", Icon = "@drawable/sharee", Theme="@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] [Activity (Label = "Sharee", Icon = "@drawable/sharee", Theme="@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
[IntentFilter(new[] { Intent.ActionView },
Categories = new[] { Intent.ActionView, Intent.CategoryBrowsable, Intent.CategoryDefault },
DataScheme = "https",
DataHost = "sharee.bike",
DataPathPrefix = "/lastenrad",
AutoVerify = true)]
[IntentFilter(new[] { Intent.ActionView },
Categories = new[] { Intent.ActionView, Intent.CategoryBrowsable, Intent.CategoryDefault },
DataScheme = "http",
DataHost = "sharee.bike",
DataPathPrefix = "/lastenrad",
AutoVerify = true)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{ {
protected override void OnCreate (Bundle bundle) protected override void OnCreate (Bundle bundle)
{ {
@ -37,9 +20,6 @@ namespace TINK.Droid
global::Xamarin.Forms.Forms.Init (this, bundle); global::Xamarin.Forms.Forms.Init (this, bundle);
FirebaseApp.InitializeApp(this);
AndroidAppLinks.Init(this);
// Initialize xamarin.essentials, see https://docs.microsoft.com/en-us/xamarin/essentials/get-started?tabs=macos%2Candroid. // Initialize xamarin.essentials, see https://docs.microsoft.com/en-us/xamarin/essentials/get-started?tabs=macos%2Candroid.
Xamarin.Essentials.Platform.Init(this, bundle); Xamarin.Essentials.Platform.Init(this, bundle);
@ -71,7 +51,7 @@ namespace TINK.Droid
if (App.PermissionsService.GetType() == typeof(TINK.Services.Permissions.Essentials.Permissions)) if (App.PermissionsService.GetType() == typeof(TINK.Services.Permissions.Essentials.Permissions))
{ {
Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults); Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);
} }
else if (App.PermissionsService.GetType() == typeof(TINK.Services.Permissions.Plugin.Permissions)) else if (App.PermissionsService.GetType() == typeof(TINK.Services.Permissions.Plugin.Permissions))
{ {
// Bug in 3.0.244 and earlier versions of sharee.bike app: Call of PermissionsImplementation.Current.OnRequestedPermission result was missing. // Bug in 3.0.244 and earlier versions of sharee.bike app: Call of PermissionsImplementation.Current.OnRequestedPermission result was missing.

View file

@ -1,10 +1,8 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="internalOnly" package="com.TeilRad.LastenradBayern" android:versionName="3.0.265" android:versionCode="265"> <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="internalOnly" package="com.TeilRad.LastenradBayern" android:versionName="3.0.257" android:versionCode="257">
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="30" /> <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="30" />
<!-- Google Maps related permissions --> <!-- Google Maps related permissions -->
<!-- Permission to receive remote notifications from Google Play Services --> <permission android:name="com.ecs.google.maps.v2.actionbarsherlock.permission.MAPS_RECEIVE" android:protectionLevel="signature" />
<!-- Notice here that we have the package name of our application as a prefix on the permissions. -->
<permission android:name="com.TeilRad.LastenradBayern.permission.MAPS_RECEIVE" android:protectionLevel="signature" />
<!-- Network connectivity permissions --> <!-- Network connectivity permissions -->
<!-- Access Google based webservices --> <!-- Access Google based webservices -->
<!-- External storage for caching. --> <!-- External storage for caching. -->
@ -18,5 +16,5 @@
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-feature android:name="android.hardware.bluetooth_le" android:required="true" /> <uses-feature android:name="android.hardware.bluetooth_le" android:required="true" />
<application android:icon="@drawable/sharee" android:label="LastenradBayern" android:allowBackup="false"></application> <application android:icon="@drawable/sharee" android:label="LastenradBayern" android:allowBackup="false"></application>
<meta-data android:name="com.google.android.geo.API_KEY" android:value="000000000000000000000000000000000000000" /> <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="000000000000000000000000000000000000000" />
</manifest> </manifest>

View file

@ -1,4 +1,4 @@
using System.Reflection; using System.Reflection;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using Android.App; using Android.App;
@ -7,11 +7,11 @@ using Xamarin.Forms;
// General Information about an assembly is controlled through the following // General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information // set of attributes. Change these attribute values to modify the information
// associated with an assembly. // associated with an assembly.
[assembly: AssemblyTitle("LastenradBayern.Android")] [assembly: AssemblyTitle("TINK.Android")]
[assembly: AssemblyDescription("")] [assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")] [assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("LastenradBayern.Android")] [assembly: AssemblyProduct("TINK.Android")]
[assembly: AssemblyCopyright("Copyright © 2014")] [assembly: AssemblyCopyright("Copyright © 2014")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
@ -40,6 +40,6 @@ using Xamarin.Forms;
[assembly: Application(Debuggable = false)] [assembly: Application(Debuggable = false)]
#endif #endif
[assembly: MetaData("com.google.android.geo.API_KEY", Value = "000000000000000000000000000000000000000")] [assembly: MetaData("com.google.android.maps.v2.API_KEY", Value = "000000000000000000000000000000000000000")]
[assembly: ExportFont("Font Awesome 5 Free-Solid-900.otf", Alias = "FA-S")] [assembly: ExportFont("Font Awesome 5 Free-Solid-900.otf", Alias = "FA-S")]

File diff suppressed because it is too large Load diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View file

@ -1,4 +1,8 @@
using Foundation; using System;
using System.Collections.Generic;
using System.Linq;
using Foundation;
using UIKit; using UIKit;
using Xamarin.Forms; using Xamarin.Forms;

View file

@ -6,9 +6,5 @@
<array> <array>
<string>$(AppIdentifierPrefix)com.TeilRad.sharee.bike</string> <string>$(AppIdentifierPrefix)com.TeilRad.sharee.bike</string>
</array> </array>
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:sharee.bike</string>
</array>
</dict> </dict>
</plist> </plist>

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
@ -30,8 +30,6 @@
<string>Media.xcassets/LaunchImages.launchimage</string> <string>Media.xcassets/LaunchImages.launchimage</string>
<key>CFBundleName</key> <key>CFBundleName</key>
<string>LastenradBayern</string> <string>LastenradBayern</string>
<key>XSAppIconAssets</key>
<string>Media.xcassets/AppIcons.appiconset</string>
<key>NSBluetoothAlwaysUsageDescription</key> <key>NSBluetoothAlwaysUsageDescription</key>
<string>Is required to communicate with Bluetooth lock.</string> <string>Is required to communicate with Bluetooth lock.</string>
<key>NSBluetoothPeripheralUsageDescription</key> <key>NSBluetoothPeripheralUsageDescription</key>
@ -49,8 +47,10 @@
<key>CFBundleDisplayName</key> <key>CFBundleDisplayName</key>
<string>LastenradBayern</string> <string>LastenradBayern</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>265</string> <string>257</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>3.0.265</string> <string>3.0.257</string>
<key>XSAppIconAssets</key>
<string>Media.xcassets/AppIcons.appiconset</string>
</dict> </dict>
</plist> </plist>

View file

@ -9,7 +9,7 @@
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<RootNamespace>TINK.iOS</RootNamespace> <RootNamespace>TINK.iOS</RootNamespace>
<IPhoneResourcePrefix>Resources</IPhoneResourcePrefix> <IPhoneResourcePrefix>Resources</IPhoneResourcePrefix>
<AssemblyName>LastenradBayern.iOS</AssemblyName> <AssemblyName>TINK.iOS</AssemblyName>
<NuGetPackageImportStamp> <NuGetPackageImportStamp>
</NuGetPackageImportStamp> </NuGetPackageImportStamp>
<ReleaseVersion>3.0</ReleaseVersion> <ReleaseVersion>3.0</ReleaseVersion>
@ -53,11 +53,12 @@
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<ConsolePause>false</ConsolePause> <ConsolePause>false</ConsolePause>
<MtouchArch>ARMv7, ARM64</MtouchArch> <MtouchArch>ARMv7, ARM64</MtouchArch>
<CodesignKey>iPhone Developer</CodesignKey> <CodesignKey>Apple Development: Oliver Hauff (8SZ7J9P24J)</CodesignKey>
<MtouchDebug>true</MtouchDebug> <MtouchDebug>true</MtouchDebug>
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements> <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
<MtouchLink>None</MtouchLink> <CodesignProvision>VS: WildCard Development</CodesignProvision>
<MtouchInterpreter>-all</MtouchInterpreter> <MtouchLink>SdkOnly</MtouchLink>
<AssemblyName>LastenradBayern.iOS</AssemblyName>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
<DebugType>none</DebugType> <DebugType>none</DebugType>
@ -68,14 +69,15 @@
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<MtouchArch>ARMv7, ARM64</MtouchArch> <MtouchArch>ARMv7, ARM64</MtouchArch>
<ConsolePause>false</ConsolePause> <ConsolePause>false</ConsolePause>
<CodesignKey>Apple Distribution: TeilRad GmbH (LXJD6URCHR)</CodesignKey> <CodesignKey>Apple Development: Oliver Hauff (8SZ7J9P24J)</CodesignKey>
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements> <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
<CodesignProvision>LastenradBayern to App Store 3</CodesignProvision> <CodesignProvision>VS: WildCard Development</CodesignProvision>
<IpaIncludeArtwork> <IpaIncludeArtwork>
</IpaIncludeArtwork> </IpaIncludeArtwork>
<CrashReportingApiKey> <CrashReportingApiKey>
</CrashReportingApiKey> </CrashReportingApiKey>
<MtouchLink>SdkOnly</MtouchLink> <MtouchLink>SdkOnly</MtouchLink>
<AssemblyName>LastenradBayern.iOS</AssemblyName>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Ad-Hoc|iPhone' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Ad-Hoc|iPhone' ">
<DebugType>none</DebugType> <DebugType>none</DebugType>
@ -93,6 +95,7 @@
<MtouchNoSymbolStrip> <MtouchNoSymbolStrip>
</MtouchNoSymbolStrip> </MtouchNoSymbolStrip>
<MtouchLink>SdkOnly</MtouchLink> <MtouchLink>SdkOnly</MtouchLink>
<AssemblyName>LastenradBayern.iOS</AssemblyName>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'AppStore|iPhone' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'AppStore|iPhone' ">
<DebugType>none</DebugType> <DebugType>none</DebugType>
@ -107,6 +110,7 @@
<CodesignKey>Apple Development: Oliver Hauff (8SZ7J9P24J)</CodesignKey> <CodesignKey>Apple Development: Oliver Hauff (8SZ7J9P24J)</CodesignKey>
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements> <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
<MtouchLink>SdkOnly</MtouchLink> <MtouchLink>SdkOnly</MtouchLink>
<AssemblyName>LastenradBayern.iOS</AssemblyName>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(RunConfiguration)' == 'Default' "> <PropertyGroup Condition=" '$(RunConfiguration)' == 'Default' ">
<AppExtensionDebugBundleId /> <AppExtensionDebugBundleId />
@ -114,7 +118,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.Bcl.Build" Version="1.0.21" /> <PackageReference Include="Microsoft.Bcl.Build" Version="1.0.21" />
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" /> <PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
<PackageReference Include="Microsoft.NETCore.Platforms" Version="5.0.4" /> <PackageReference Include="Microsoft.NETCore.Platforms" Version="5.0.3" />
<PackageReference Include="Microsoft.Win32.Primitives" Version="4.3.0" /> <PackageReference Include="Microsoft.Win32.Primitives" Version="4.3.0" />
<PackageReference Include="MonkeyCache"> <PackageReference Include="MonkeyCache">
<Version>1.5.2</Version> <Version>1.5.2</Version>
@ -191,7 +195,7 @@
<PackageReference Include="Xamarin.Auth" Version="1.7.0" /> <PackageReference Include="Xamarin.Auth" Version="1.7.0" />
<PackageReference Include="Xamarin.Build.Download" Version="0.10.0" /> <PackageReference Include="Xamarin.Build.Download" Version="0.10.0" />
<PackageReference Include="Xamarin.CommunityToolkit"> <PackageReference Include="Xamarin.CommunityToolkit">
<Version>1.3.0</Version> <Version>1.2.0</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Xamarin.Essentials"> <PackageReference Include="Xamarin.Essentials">
<Version>1.7.0</Version> <Version>1.7.0</Version>
@ -214,7 +218,7 @@
<Version>0.7.104</Version> <Version>0.7.104</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Xamarin.Forms"> <PackageReference Include="Xamarin.Forms">
<Version>5.0.0.2196</Version> <Version>5.0.0.2125</Version>
</PackageReference> </PackageReference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
@ -1421,60 +1425,30 @@
<ImageAsset Include="Media.xcassets\Open_Red.imageset\StationMarkerOpenRed.pdf"> <ImageAsset Include="Media.xcassets\Open_Red.imageset\StationMarkerOpenRed.pdf">
<Visible>false</Visible> <Visible>false</Visible>
</ImageAsset> </ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-40.png"> <ImageAsset Include="Media.xcassets\AppIcons.appiconset\40.png" />
<Visible>false</Visible> <ImageAsset Include="Media.xcassets\AppIcons.appiconset\60.png" />
</ImageAsset> <ImageAsset Include="Media.xcassets\AppIcons.appiconset\58.png" />
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-60.png"> <ImageAsset Include="Media.xcassets\AppIcons.appiconset\87.png" />
<Visible>false</Visible> <ImageAsset Include="Media.xcassets\AppIcons.appiconset\80.png" />
</ImageAsset> <ImageAsset Include="Media.xcassets\AppIcons.appiconset\120.png" />
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-58.png"> <ImageAsset Include="Media.xcassets\AppIcons.appiconset\120-1.png" />
<Visible>false</Visible> <ImageAsset Include="Media.xcassets\AppIcons.appiconset\180.png" />
</ImageAsset> <ImageAsset Include="Media.xcassets\AppIcons.appiconset\20.png" />
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-87.png"> <ImageAsset Include="Media.xcassets\AppIcons.appiconset\40-1.png" />
<Visible>false</Visible> <ImageAsset Include="Media.xcassets\AppIcons.appiconset\29.png" />
</ImageAsset> <ImageAsset Include="Media.xcassets\AppIcons.appiconset\58-1.png" />
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-80.png"> <ImageAsset Include="Media.xcassets\AppIcons.appiconset\40-2.png" />
<Visible>false</Visible> <ImageAsset Include="Media.xcassets\AppIcons.appiconset\80-1.png" />
</ImageAsset> <ImageAsset Include="Media.xcassets\AppIcons.appiconset\76.png" />
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-120.png"> <ImageAsset Include="Media.xcassets\AppIcons.appiconset\152.png" />
<Visible>false</Visible> <ImageAsset Include="Media.xcassets\AppIcons.appiconset\167.png" />
</ImageAsset> <ImageAsset Include="Media.xcassets\AppIcons.appiconset\1024.png" />
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-120-1.png"> <ImageAsset Include="Media.xcassets\LaunchImage.launchimage\Contents.json" />
<Visible>false</Visible> <ImageAsset Include="Media.xcassets\LaunchImage.launchimage\Default.png" />
</ImageAsset> <ImageAsset Include="Media.xcassets\LaunchImage.launchimage\Default%402x.png" />
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-180.png"> <ImageAsset Include="Media.xcassets\LaunchImage.launchimage\Default-568h%402x.png" />
<Visible>false</Visible> <ImageAsset Include="Media.xcassets\LaunchImage.launchimage\Default-Portrait.png" />
</ImageAsset> <ImageAsset Include="Media.xcassets\LaunchImage.launchimage\Default-Portrait%402x.png" />
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-20.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-40-1.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-29.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-58-1.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-40-2.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-80-1.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-76.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-152.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-167.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\iTunesArtwork%402x.png">
<Visible>false</Visible>
</ImageAsset>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Folder Include="Media.xcassets\01_Blue.imageset\" /> <Folder Include="Media.xcassets\01_Blue.imageset\" />
@ -1597,11 +1571,11 @@
<Folder Include="Media.xcassets\30_Green.imageset\" /> <Folder Include="Media.xcassets\30_Green.imageset\" />
<Folder Include="Media.xcassets\30_LightBlue.imageset\" /> <Folder Include="Media.xcassets\30_LightBlue.imageset\" />
<Folder Include="Media.xcassets\30_Red.imageset\" /> <Folder Include="Media.xcassets\30_Red.imageset\" />
<Folder Include="Media.xcassets\AppIcon-LastenradBayern.appiconset\" />
<Folder Include="Media.xcassets\Open_Blue.imageset\" /> <Folder Include="Media.xcassets\Open_Blue.imageset\" />
<Folder Include="Media.xcassets\Open_Green.imageset\" /> <Folder Include="Media.xcassets\Open_Green.imageset\" />
<Folder Include="Media.xcassets\Open_LightBlue.imageset\" /> <Folder Include="Media.xcassets\Open_LightBlue.imageset\" />
<Folder Include="Media.xcassets\Open_Red.imageset\" /> <Folder Include="Media.xcassets\Open_Red.imageset\" />
<Folder Include="Media.xcassets\AppIcon-LastenradBayern.appiconset\" />
</ItemGroup> </ItemGroup>
<Import Project="..\TINK\LastenradBayern.projitems" Label="Shared" Condition="Exists('..\TINK\LastenradBayern.projitems')" /> <Import Project="..\TINK\LastenradBayern.projitems" Label="Shared" Condition="Exists('..\TINK\LastenradBayern.projitems')" />
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" /> <Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 622 B

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 884 B

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -1,109 +1,109 @@
{ {
"images": [ "images": [
{ {
"filename": "Icon-40.png", "filename": "40.png",
"size": "20x20", "size": "20x20",
"scale": "2x", "scale": "2x",
"idiom": "iphone" "idiom": "iphone"
}, },
{ {
"filename": "Icon-60.png", "filename": "60.png",
"size": "20x20", "size": "20x20",
"scale": "3x", "scale": "3x",
"idiom": "iphone" "idiom": "iphone"
}, },
{ {
"filename": "Icon-58.png", "filename": "58.png",
"size": "29x29", "size": "29x29",
"scale": "2x", "scale": "2x",
"idiom": "iphone" "idiom": "iphone"
}, },
{ {
"filename": "Icon-87.png", "filename": "87.png",
"size": "29x29", "size": "29x29",
"scale": "3x", "scale": "3x",
"idiom": "iphone" "idiom": "iphone"
}, },
{ {
"filename": "Icon-80.png", "filename": "80.png",
"size": "40x40", "size": "40x40",
"scale": "2x", "scale": "2x",
"idiom": "iphone" "idiom": "iphone"
}, },
{ {
"filename": "Icon-120.png", "filename": "120.png",
"size": "40x40", "size": "40x40",
"scale": "3x", "scale": "3x",
"idiom": "iphone" "idiom": "iphone"
}, },
{ {
"filename": "Icon-120-1.png", "filename": "120-1.png",
"size": "60x60", "size": "60x60",
"scale": "2x", "scale": "2x",
"idiom": "iphone" "idiom": "iphone"
}, },
{ {
"filename": "Icon-180.png", "filename": "180.png",
"size": "60x60", "size": "60x60",
"scale": "3x", "scale": "3x",
"idiom": "iphone" "idiom": "iphone"
}, },
{ {
"filename": "Icon-20.png", "filename": "20.png",
"size": "20x20", "size": "20x20",
"scale": "1x", "scale": "1x",
"idiom": "ipad" "idiom": "ipad"
}, },
{ {
"filename": "Icon-40-1.png", "filename": "40-1.png",
"size": "20x20", "size": "20x20",
"scale": "2x", "scale": "2x",
"idiom": "ipad" "idiom": "ipad"
}, },
{ {
"filename": "Icon-29.png", "filename": "29.png",
"size": "29x29", "size": "29x29",
"scale": "1x", "scale": "1x",
"idiom": "ipad" "idiom": "ipad"
}, },
{ {
"filename": "Icon-58-1.png", "filename": "58-1.png",
"size": "29x29", "size": "29x29",
"scale": "2x", "scale": "2x",
"idiom": "ipad" "idiom": "ipad"
}, },
{ {
"filename": "Icon-40-2.png", "filename": "40-2.png",
"size": "40x40", "size": "40x40",
"scale": "1x", "scale": "1x",
"idiom": "ipad" "idiom": "ipad"
}, },
{ {
"filename": "Icon-80-1.png", "filename": "80-1.png",
"size": "40x40", "size": "40x40",
"scale": "2x", "scale": "2x",
"idiom": "ipad" "idiom": "ipad"
}, },
{ {
"filename": "Icon-167.png", "filename": "167.png",
"size": "83.5x83.5", "size": "83.5x83.5",
"scale": "2x", "scale": "2x",
"idiom": "ipad" "idiom": "ipad"
}, },
{ {
"filename": "Icon-76.png", "filename": "76.png",
"size": "76x76", "size": "76x76",
"scale": "1x", "scale": "1x",
"idiom": "ipad" "idiom": "ipad"
}, },
{ {
"filename": "Icon-152.png", "filename": "152.png",
"size": "76x76", "size": "76x76",
"scale": "2x", "scale": "2x",
"idiom": "ipad" "idiom": "ipad"
}, },
{ {
"filename": "iTunesArtwork@2x.png", "filename": "1024.png",
"size": "1024x1024", "size": "1024x1024",
"scale": "1x", "scale": "1x",
"idiom": "ios-marketing" "idiom": "ios-marketing"

View file

@ -0,0 +1,49 @@
{
"images": [
{
"orientation": "portrait",
"idiom": "iphone",
"extent": "full-screen",
"filename": "Default.png",
"size": "320x480",
"scale": "1x"
},
{
"orientation": "portrait",
"idiom": "iphone",
"extent": "full-screen",
"filename": "Default@2x.png",
"size": "320x480",
"scale": "2x"
},
{
"orientation": "portrait",
"idiom": "iphone",
"extent": "full-screen",
"filename": "Default-568h@2x.png",
"size": "320x568",
"subtype": "retina4",
"scale": "2x"
},
{
"orientation": "portrait",
"idiom": "ipad",
"extent": "full-screen",
"filename": "Default-Portrait.png",
"size": "669x1004",
"scale": "1x"
},
{
"orientation": "portrait",
"idiom": "ipad",
"extent": "full-screen",
"filename": "Default-Portrait@2x.png",
"size": "768x1004",
"scale": "2x"
}
],
"info": {
"version": 1,
"author": "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View file

@ -5,11 +5,11 @@ using Xamarin.Forms;
// General Information about an assembly is controlled through the following // General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information // set of attributes. Change these attribute values to modify the information
// associated with an assembly. // associated with an assembly.
[assembly: AssemblyTitle("LastenradBayern.iOS")] [assembly: AssemblyTitle("TINK.iOS")]
[assembly: AssemblyDescription("")] [assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")] [assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("LastenradBayern.iOS")] [assembly: AssemblyProduct("TINK.iOS")]
[assembly: AssemblyCopyright("Copyright © 2020")] [assembly: AssemblyCopyright("Copyright © 2020")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View file

@ -21,8 +21,7 @@
<rect key="contentStretch" x="0.0" y="0.0" width="0.0" height="0.0"/> <rect key="contentStretch" x="0.0" y="0.0" width="0.0" height="0.0"/>
</imageView> </imageView>
</subviews> </subviews>
<!--Color # --> <color key="backgroundColor" red="0.20392156862745098" green="0.4983606557377049180327868852459" blue="0.5016393442622950819672131147541" alpha="1" colorSpace="calibratedRGB"/>
<color key="backgroundColor" red="0.0" green="0.596078431372549" blue="0,6" alpha="1" colorSpace="calibratedRGB"/>
<constraints> <constraints>
<constraint firstItem="23" firstAttribute="centerY" secondItem="yd7-JS-zBw" secondAttribute="centerY" priority="1" id="39"/> <constraint firstItem="23" firstAttribute="centerY" secondItem="yd7-JS-zBw" secondAttribute="centerY" priority="1" id="39"/>
<constraint firstItem="23" firstAttribute="centerX" secondItem="yd7-JS-zBw" secondAttribute="centerX" priority="1" id="41"/> <constraint firstItem="23" firstAttribute="centerX" secondItem="yd7-JS-zBw" secondAttribute="centerX" priority="1" id="41"/>

View file

@ -83,8 +83,8 @@ namespace TINK
try try
{ {
settings = new Model.Settings.Settings( settings = new Model.Settings.Settings(
null, // Turn off filtering for LastenradBayern- context JsonSettingsDictionary.GetGroupFilterMapPage(settingsJSON),
null, // Turn off filtering for LastenradBayern- context JsonSettingsDictionary.GetGoupFilterSettings(settingsJSON),
JsonSettingsDictionary.GetCopriHostUri(settingsJSON), JsonSettingsDictionary.GetCopriHostUri(settingsJSON),
JsonSettingsDictionary.GetPollingParameters(settingsJSON), JsonSettingsDictionary.GetPollingParameters(settingsJSON),
JsonSettingsDictionary.GetMinimumLoggingLevel(settingsJSON), JsonSettingsDictionary.GetMinimumLoggingLevel(settingsJSON),
@ -94,7 +94,6 @@ namespace TINK
JsonSettingsDictionary.GetConnectTimeout(settingsJSON), JsonSettingsDictionary.GetConnectTimeout(settingsJSON),
JsonSettingsDictionary.GetActiveGeolocationService(settingsJSON), JsonSettingsDictionary.GetActiveGeolocationService(settingsJSON),
JsonSettingsDictionary.GetCenterMapToCurrentLocation(settingsJSON), JsonSettingsDictionary.GetCenterMapToCurrentLocation(settingsJSON),
Xamarin.Forms.GoogleMaps.MapSpan.FromCenterAndRadius(new Xamarin.Forms.GoogleMaps.Position(49.30881083492271, 11.358449625922889), Xamarin.Forms.GoogleMaps.Distance.FromKilometers(2.9)),
JsonSettingsDictionary.GetLogToExternalFolder(settingsJSON), JsonSettingsDictionary.GetLogToExternalFolder(settingsJSON),
JsonSettingsDictionary.GetIsSiteCachingOn(settingsJSON), JsonSettingsDictionary.GetIsSiteCachingOn(settingsJSON),
JsonSettingsDictionary.GetActiveTheme(settingsJSON) ?? typeof(Themes.LastenradBayern).FullName); JsonSettingsDictionary.GetActiveTheme(settingsJSON) ?? typeof(Themes.LastenradBayern).FullName);
@ -146,7 +145,7 @@ namespace TINK
m_oModelRoot = new TinkApp( m_oModelRoot = new TinkApp(
settings, settings,
store, // Manages user account store, // Manages user account
(isConnected, activeUri, sessionCookie, mail, expiresAfter) => ConnectorFactory.Create(isConnected, activeUri, $"LastenradBayern/{appInfoService.Version}", sessionCookie, mail, expiresAfter), (isConnected, activeUri, sessionCookie, mail, expiresAfter) => ConnectorFactory.Create(isConnected, activeUri, $"sharee.bike/{appInfoService.Version}", sessionCookie, mail, expiresAfter),
GeolocationServicesContainer, GeolocationServicesContainer,
null, /* locksService */ null, /* locksService */
DependencyService.Get<ISmartDevice>(), DependencyService.Get<ISmartDevice>(),
@ -256,30 +255,6 @@ namespace TINK
.CreateLogger(); .CreateLogger();
} }
/// <param name="uri">The URI for the request.</param>
/// <summary>Overriden to respond when the user initiates an app link request.</summary>
protected override void OnAppLinkRequestReceived(Uri uri)
{
base.OnAppLinkRequestReceived(uri);
if (uri.Host.ToLower() == "sharee.bike")
{
// Input e.g. sharee.bike/sharee?lat=49.921&long=32.51
Array segments = Array.ConvertAll(uri.Segments, segment => segment.Replace("/", "")).Skip(1).ToArray();
if (uri.Query.Length > 0)
{
Dictionary<string, string> queryDict = uri.Query
.Substring(1)
.Split("&")
.Select(query => query.Split('='))
.ToDictionary(query => query.FirstOrDefault(), query => query.Skip(1).FirstOrDefault());
}
// segments == ["sharee"]
// queryDict == [{["lat", "49.921"]}], {["long", "32.51"]}]
// => Navigate and pass params depending on linkinput
// If no custom navigation is configured, the app just opens as if the user opened it
}
}
/// <summary> Gets the current logging level.</summary> /// <summary> Gets the current logging level.</summary>
/// <returns></returns> /// <returns></returns>
private static LogEventLevel GetCurrentLogEventLevel() private static LogEventLevel GetCurrentLogEventLevel()

View file

@ -23,7 +23,7 @@
<br />Version ACTIVE_APPNAME: <b>CURRENT_VERSION_TINKAPP</b>. <br />Version ACTIVE_APPNAME: <b>CURRENT_VERSION_TINKAPP</b>.
<div class="content_title2">Entwickler</div> <div class="content_title2">Entwickler</div>
<div style=""></div> <div style=""></div>
<br />Programmierung ACTIVE_APPNAME: O. Hauff, app@sharee.bike<br /> <br />Programmierung ACTIVE_APPNAME: O. Hauff, o.hauff@sharee.bike.<br />
<div class="content_title2">Verwendete Bibliotheken</div> <div class="content_title2">Verwendete Bibliotheken</div>
<div style=""></div> <div style=""></div>
<br /><table> <br /><table>

View file

@ -149,7 +149,7 @@ namespace TINK.View.Account
#if USCSHARP9 #if USCSHARP9
public Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException(); public Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException();
#else #else
public Task<IUserFeedback> DisplayUserFeedbackPopup(string co2Saving = null) => throw new NotSupportedException(); public Task<IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException();
#endif #endif
} }
} }

View file

@ -37,7 +37,6 @@
<RowDefinition Height="Auto" /> <RowDefinition Height="Auto" />
<RowDefinition Height="Auto" /> <RowDefinition Height="Auto" />
<RowDefinition Height="Auto" /> <RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" />
@ -85,12 +84,6 @@
IsVisible="{Binding TariffDescription.AboEuroPerMonth, Converter={StaticResource Label_Converter}}" IsVisible="{Binding TariffDescription.AboEuroPerMonth, Converter={StaticResource Label_Converter}}"
Grid.Row="4" Grid.Row="4"
Grid.Column="1"/> Grid.Column="1"/>
<Label
TextType="Html"
Text="{Binding TariffDescription.OperatorAgb}"
IsVisible="{Binding TariffDescription.OperatorAgb, Converter={StaticResource Label_Converter}}"
Grid.Row="5"
Grid.ColumnSpan="3"/>
</Grid> </Grid>
</StackLayout> </StackLayout>
</ContentView> </ContentView>

View file

@ -49,7 +49,6 @@
<RowDefinition Height="Auto" /> <RowDefinition Height="Auto" />
<RowDefinition Height="Auto" /> <RowDefinition Height="Auto" />
<RowDefinition Height="Auto" /> <RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" />
@ -97,12 +96,6 @@
IsVisible="{Binding TariffDescription.AboEuroPerMonth, Converter={StaticResource Label_Converter}}" IsVisible="{Binding TariffDescription.AboEuroPerMonth, Converter={StaticResource Label_Converter}}"
Grid.Row="4" Grid.Row="4"
Grid.Column="1"/> Grid.Column="1"/>
<Label
TextType="Html"
Text="{Binding TariffDescription.OperatorAgb}"
IsVisible="{Binding TariffDescription.OperatorAgb, Converter={StaticResource Label_Converter}}"
Grid.Row="5"
Grid.ColumnSpan="3"/>
</Grid> </Grid>
</StackLayout> </StackLayout>
</ContentView> </ContentView>

View file

@ -14,69 +14,58 @@
<Frame> <Frame>
<StackLayout <StackLayout
Orientation="Vertical"> Orientation="Vertical">
<!-- Title bar stack layout--> <Label
<StackLayout HorizontalOptions="Center"
Orientation="Vertical"> FontAttributes="Bold"
<Label Text="{Binding StationDetailText}"/>
HorizontalOptions="Center" <ListView
FontAttributes="Bold" x:Name="BikesAtStationListView"
Text="{Binding StationDetailText}"/> SelectionMode="None"
</StackLayout> SelectedItem="{Binding SelectedBike}"
<!-- Center stack layout --> IsEnabled="{Binding IsIdle}"
<StackLayout IsVisible="{Binding IsBikesListVisible}"
Orientation="Vertical" HasUnevenRows="True"
VerticalOptions="CenterAndExpand"> ItemTemplate="{StaticResource bikeTemplateSelector}"/>
<ListView <Label
x:Name="BikesAtStationListView"
SelectionMode="None"
SelectedItem="{Binding SelectedBike}"
IsEnabled="{Binding IsIdle}"
IsVisible="{Binding IsBikesListVisible}"
HasUnevenRows="True"
ItemTemplate="{StaticResource bikeTemplateSelector}"/>
<Label
IsVisible="{Binding IsNoBikesAtStationVisible}" IsVisible="{Binding IsNoBikesAtStationVisible}"
VerticalOptions="EndAndExpand"
Text="{Binding NoBikesAtStationText}"/> Text="{Binding NoBikesAtStationText}"/>
</StackLayout> <Label
<!-- Status bar stack layout--> TextType="Html"
<StackLayout Text="{Binding ContactSupportHintText}">
Orientation="Vertical"> <Label.GestureRecognizers>
<Label <TapGestureRecognizer Command="{Binding ContactSupportClickedCommand}"/>
TextType="Html" </Label.GestureRecognizers>
Text="{Binding ContactSupportHintText}"> </Label>
<Label.GestureRecognizers> <Label
<TapGestureRecognizer Command="{Binding ContactSupportClickedCommand}"/>
</Label.GestureRecognizers>
</Label>
<Label
IsVisible="{Binding IsLoginRequiredHintVisible}" IsVisible="{Binding IsLoginRequiredHintVisible}"
TextType="Html" TextType="Html"
Text="{Binding LoginRequiredHintText}"> Text="{Binding LoginRequiredHintText}">
<Label.GestureRecognizers> <Label.GestureRecognizers>
<TapGestureRecognizer Command="{Binding LoginRequiredHintClickedCommand}"/> <TapGestureRecognizer Command="{Binding LoginRequiredHintClickedCommand}"/>
</Label.GestureRecognizers> </Label.GestureRecognizers>
</Label> </Label>
<StackLayout <StackLayout
Orientation="Horizontal"> VerticalOptions="EndAndExpand"
<Label Orientation="Horizontal">
HeightRequest="20" <Label
Text="{Binding StatusInfoText}" HeightRequest="20"
VerticalOptions="Center" Text="{Binding StatusInfoText}"
HorizontalOptions="FillAndExpand"/> VerticalOptions="Center"
<ActivityIndicator IsRunning="{Binding IsRunning}" HorizontalOptions="FillAndExpand"/>
IsVisible="{Binding IsRunning}" <ActivityIndicator IsRunning="{Binding IsRunning}"
HeightRequest="20" IsVisible="{Binding IsRunning}"
VerticalOptions="CenterAndExpand" HeightRequest="20"
HorizontalOptions="End"> VerticalOptions="CenterAndExpand"
<ActivityIndicator.WidthRequest> HorizontalOptions="End">
<OnPlatform x:TypeArguments="x:Double" iOS="40" Android="40" WinPhone="40" /> <ActivityIndicator.WidthRequest>
</ActivityIndicator.WidthRequest> <OnPlatform x:TypeArguments="x:Double" iOS="40" Android="40" WinPhone="40" />
<ActivityIndicator.Color> </ActivityIndicator.WidthRequest>
<OnPlatform x:TypeArguments="Color" <ActivityIndicator.Color>
iOS="#2499CE" WinPhone="#2499CE" /> <OnPlatform x:TypeArguments="Color"
</ActivityIndicator.Color> iOS="#2499CE" WinPhone="#2499CE" />
</ActivityIndicator> </ActivityIndicator.Color>
</StackLayout> </ActivityIndicator>
</StackLayout> </StackLayout>
</StackLayout> </StackLayout>
</Frame> </Frame>

View file

@ -228,10 +228,7 @@ using TINK.View.MasterDetail;
#if USCSHARP9 #if USCSHARP9
public async Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => await Navigation.ShowPopupAsync<FeedbackPopup.Result>(new FeedbackPopup()); public async Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => await Navigation.ShowPopupAsync<FeedbackPopup.Result>(new FeedbackPopup());
#else #else
/// <summary> Displays user feedback popup.</summary> public async Task<IUserFeedback> DisplayUserFeedbackPopup() => await Navigation.ShowPopupAsync<FeedbackPopup.Result>(new FeedbackPopup());
/// <param name="co2Saving"> Co2 saving information.</param>
/// <returns>User feedback.</returns>
public async Task<IUserFeedback> DisplayUserFeedbackPopup(string co2Saving = null) => await Navigation.ShowPopupAsync<FeedbackPopup.Result>(new FeedbackPopup(co2Saving));
#endif #endif
} }
} }

View file

@ -88,7 +88,7 @@ namespace TINK.View.Contact
#if USCSHARP9 #if USCSHARP9
public Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException(); public Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException();
#else #else
public Task<IUserFeedback> DisplayUserFeedbackPopup(string co2Saving = null) => throw new NotSupportedException(); public Task<IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException();
#endif #endif
#if USEFLYOUT #if USEFLYOUT

View file

@ -114,7 +114,7 @@ namespace TINK.View.Contact
#if USCSHARP9 #if USCSHARP9
public Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException(); public Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException();
#else #else
public Task<IUserFeedback> DisplayUserFeedbackPopup(string co2Saving = null) => throw new NotSupportedException(); public Task<IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException();
#endif #endif
#if USEFLYOUT #if USEFLYOUT

View file

@ -12,14 +12,11 @@
<Grid.RowDefinitions> <Grid.RowDefinitions>
<!-- Head and title row --> <!-- Head and title row -->
<RowDefinition Height="auto"/> <RowDefinition Height="auto"/>
<!--- Co2saving-->
<RowDefinition Height="auto"/>
<!--- checkbox and input elements--> <!--- checkbox and input elements-->
<RowDefinition Height="*"/> <RowDefinition Height="*"/>
<!--- ok button--> <!--- ok button-->
<RowDefinition Height="auto"/> <RowDefinition Height="auto"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<!-- Head and title -->
<Grid <Grid
Padding="30" Padding="30"
BackgroundColor="{DynamicResource primary-back-title-color}"> BackgroundColor="{DynamicResource primary-back-title-color}">
@ -37,16 +34,7 @@
</Image.Source> </Image.Source>
</Image> </Image>
</Grid> </Grid>
<!-- Co2saving --> <ScrollView Grid.Row="1">
<Frame
x:Name="Co2SavingFrame"
Grid.Row="1">
<Label
x:Name="Co2SavingLabel"
Text=""/>
</Frame>
<!-- Checkbox and input elements -->
<ScrollView Grid.Row="2">
<Grid> <Grid>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
@ -89,9 +77,8 @@
</StackLayout> </StackLayout>
</Grid> </Grid>
</ScrollView> </ScrollView>
<!-- Buttons -->
<Button <Button
Grid.Row="3" Grid.Row="2"
Clicked="OnOkClicked" Clicked="OnOkClicked"
Text="OK"/> Text="OK"/>
</Grid> </Grid>

View file

@ -7,15 +7,9 @@ namespace TINK.View
[XamlCompilation(XamlCompilationOptions.Compile)] [XamlCompilation(XamlCompilationOptions.Compile)]
public partial class FeedbackPopup : Popup<FeedbackPopup.Result> public partial class FeedbackPopup : Popup<FeedbackPopup.Result>
{ {
/// <summary> Constructs user feedback popup.</summary> public FeedbackPopup()
/// <param name="co2Saving"> Co2 saving information.</param>
public FeedbackPopup(string co2Saving = null)
{ {
InitializeComponent(); InitializeComponent();
if (string.IsNullOrEmpty(co2Saving))
Co2SavingFrame.IsVisible = false;
else
Co2SavingLabel.Text = co2Saving;
} }
protected override FeedbackPopup.Result GetLightDismissResult() protected override FeedbackPopup.Result GetLightDismissResult()

View file

@ -138,10 +138,7 @@ namespace TINK.View.FindBike
#if USCSHARP9 #if USCSHARP9
public async Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => await Navigation.ShowPopupAsync<FeedbackPopup.Result>(new FeedbackPopup()); public async Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => await Navigation.ShowPopupAsync<FeedbackPopup.Result>(new FeedbackPopup());
#else #else
/// <summary> Displays user feedback popup.</summary> public async Task<IUserFeedback> DisplayUserFeedbackPopup() => await Navigation.ShowPopupAsync<FeedbackPopup.Result>(new FeedbackPopup());
/// <param name="co2Saving"> Co2 saving information.</param>
/// <returns>User feedback.</returns>
public async Task<IUserFeedback> DisplayUserFeedbackPopup(string co2Saving = null) => await Navigation.ShowPopupAsync<FeedbackPopup.Result>(new FeedbackPopup(co2Saving));
#endif #endif
} }
} }

View file

@ -122,7 +122,7 @@ namespace TINK.View.Info.BikeInfo
#if USCSHARP9 #if USCSHARP9
public Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException(); public Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException();
#else #else
public Task<IUserFeedback> DisplayUserFeedbackPopup(string co2Saving = null) => throw new NotSupportedException(); public Task<IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException();
#endif #endif
} }
} }

View file

@ -116,7 +116,7 @@ namespace TINK.View.Login
#if USCSHARP9 #if USCSHARP9
public Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException(); public Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException();
#else #else
public Task<IUserFeedback> DisplayUserFeedbackPopup(string co2Saving = null) => throw new NotSupportedException(); public Task<IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException();
#endif #endif
} }
} }

View file

@ -22,7 +22,7 @@
<Button <Button
x:Name="TINKButton" x:Name="TINKButton"
AutomationId ="FilterTINK_button" AutomationId ="FilterTINK_button"
Text="{x:Static resources:AppResources.MarkingCargoBike}" Text="TINK"
Command="{Binding OnToggleKonradToTink}" Command="{Binding OnToggleKonradToTink}"
IsVisible="{Binding IsToggleVisible}" IsVisible="{Binding IsToggleVisible}"
TextColor ="{Binding TinkColor}" TextColor ="{Binding TinkColor}"
@ -33,7 +33,7 @@
<Button <Button
x:Name="KonradButton" x:Name="KonradButton"
AutomationId ="FilterKonrad_button" AutomationId ="FilterKonrad_button"
Text="{x:Static resources:AppResources.MarkingCityBike}" Text="Konrad"
Command="{Binding OnToggleTinkToKonrad}" Command="{Binding OnToggleTinkToKonrad}"
IsVisible="{Binding IsToggleVisible}" IsVisible="{Binding IsToggleVisible}"
TextColor="{Binding KonradColor}" TextColor="{Binding KonradColor}"

View file

@ -117,7 +117,7 @@ namespace TINK.View.Map
#if USCSHARP9 #if USCSHARP9
public Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException(); public Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException();
#else #else
public Task<IUserFeedback> DisplayUserFeedbackPopup(string co2Saving = null) => throw new NotSupportedException(); public Task<IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException();
#endif #endif
#if USEFLYOUT #if USEFLYOUT
@ -139,11 +139,18 @@ namespace TINK.View.Map
#if TRYNOTBACKSTYLE #if TRYNOTBACKSTYLE
MapPageViewModel = new MapPageViewModel(); MapPageViewModel = new MapPageViewModel();
#else #else
MapPageViewModel = CreateMapPageViewModel(); MapPageViewModel = new MapPageViewModel(
App.ModelRoot,
App.PermissionsService,
App.BluetoothService,
App.GeolocationServicesContainer.Active,
(mapspan) => MyMap.MoveToRegion(mapspan),
this,
Navigation);
#endif #endif
} } catch (Exception exception)
catch (Exception exception)
{ {
Log.ForContext<MapPage>().Error("Constructing map page view model failed. {Exception}", exception); Log.ForContext<MapPage>().Error("Constructing map page view model failed. {Exception}", exception);
return; return;
} }
@ -164,7 +171,15 @@ namespace TINK.View.Map
try try
{ {
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);
}
} }
catch (Exception exception) catch (Exception exception)
{ {
@ -186,9 +201,13 @@ namespace TINK.View.Map
try try
{ {
// Pre move and scanle maps to avoid initial display of map in Rome. // Pre move and scanle maps to avoid initial display of map in Rome.
PremoveAndScaleMap(); Log.ForContext<MapPage>().Verbose("Moving and scaling map.");
MapPageViewModel.MoveAndScale(
(mapSpan) => MyMap.MoveToRegion(mapSpan),
App.ModelRoot.Uris.ActiveUri,
App.ModelRoot.GroupFilterMapPage);
} }
catch (Exception exception) catch(Exception exception)
{ {
// Continue because a map not beeing moved/ scaled is no reason for aborting startup. // Continue because a map not beeing moved/ scaled is no reason for aborting startup.
Log.ForContext<MapPage>().Error("Moving and scaling map failed. {Exception}", exception); Log.ForContext<MapPage>().Error("Moving and scaling map failed. {Exception}", exception);
@ -206,49 +225,6 @@ namespace TINK.View.Map
} }
} }
/// <summary>
/// Premoves the Map to a certain location.
/// </summary>
private void PremoveAndScaleMap()
{
Log.ForContext<MapPage>().Verbose("Moving and scaling map.");
MapPageViewModel.MoveAndScale(
(mapSpan) => MyMap.MoveToRegion(mapSpan),
App.ModelRoot.ActiveMapSpan);
}
/// <summary>
/// Creates the Map Page's view model.
/// </summary>
private MapPageViewModel CreateMapPageViewModel()
{
Log.ForContext<MapPage>().Verbose("Constructing map page view model.");
return new MapPageViewModel(
App.ModelRoot,
App.PermissionsService,
App.BluetoothService,
App.GeolocationServicesContainer.Active,
(mapspan) => MyMap.MoveToRegion(mapspan),
this,
Navigation);
}
/// <summary>
/// Applies iOS specific styling to branded Buttons.
/// </summary>
private void ApplyCustomiOSStyling()
{
if (Device.RuntimePlatform == Device.iOS)
{
TINKButton.BackgroundColor = Color.LightGray;
TINKButton.BorderColor = Color.Black;
TINKButton.Margin = new Thickness(10, 10, 10, 10);
KonradButton.BackgroundColor = Color.LightGray;
KonradButton.BorderColor = Color.Black;
KonradButton.Margin = new Thickness(10, 10, 10, 10);
}
}
/// <summary> /// <summary>
/// Invoked when pages is closed/ hidden. /// Invoked when pages is closed/ hidden.
/// Stops update process. /// Stops update process.

View file

@ -89,10 +89,7 @@ namespace TINK.View.MiniSurvey
#if USCSHARP9 #if USCSHARP9
public async Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => await Navigation.ShowPopupAsync<FeedbackPopup.Result>(new FeedbackPopup()); public async Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => await Navigation.ShowPopupAsync<FeedbackPopup.Result>(new FeedbackPopup());
#else #else
/// <summary> Displays user feedback popup.</summary> public async Task<IUserFeedback> DisplayUserFeedbackPopup() => await Navigation.ShowPopupAsync<FeedbackPopup.Result>(new FeedbackPopup());
/// <param name="co2Saving"> Co2 saving information.</param>
/// <returns>User feedback.</returns>
public async Task<IUserFeedback> DisplayUserFeedbackPopup(string co2Saving = null) => await Navigation.ShowPopupAsync<FeedbackPopup.Result>(new FeedbackPopup(co2Saving));
#endif #endif
} }
} }

View file

@ -12,43 +12,38 @@
</ContentPage.Resources> </ContentPage.Resources>
<ContentPage.Content> <ContentPage.Content>
<Frame> <Frame>
<StackLayout <StackLayout>
Orientation="Vertical"> <ListView
<!-- Center stack layout --> x:Name="MyBikesListView"
<StackLayout SelectionMode="None"
VerticalOptions="CenterAndExpand" SelectedItem="{Binding SelectedBike}"
Orientation="Vertical"> IsEnabled="{Binding IsIdle}"
<ListView IsVisible="{Binding IsBikesListVisible}"
x:Name="MyBikesListView" HasUnevenRows="True"
SelectionMode="None" ItemTemplate="{StaticResource bikeTemplateSelector}"/>
SelectedItem="{Binding SelectedBike}" <StackLayout
IsEnabled="{Binding IsIdle}" VerticalOptions="EndAndExpand"
IsVisible="{Binding IsBikesListVisible}" Orientation="Horizontal">
HasUnevenRows="True"
ItemTemplate="{StaticResource bikeTemplateSelector}"/>
<Label <Label
IsVisible="{Binding IsNoBikesOccupiedVisible}" IsVisible="{Binding IsNoBikesOccupiedVisible}"
VerticalOptions="StartAndExpand"
Text="{Binding NoBikesOccupiedText}"/> Text="{Binding NoBikesOccupiedText}"/>
</StackLayout>
<!-- Status bar stack layout-->
<StackLayout
Orientation="Horizontal">
<Label <Label
HeightRequest="20" HeightRequest="20"
Text="{Binding StatusInfoText}" Text="{Binding StatusInfoText}"
VerticalOptions="Center" VerticalOptions="Center"
HorizontalOptions="FillAndExpand"/> HorizontalOptions="FillAndExpand"/>
<ActivityIndicator IsRunning="{Binding IsRunning}" <ActivityIndicator IsRunning="{Binding IsRunning}"
IsVisible="{Binding IsRunning}" IsVisible="{Binding IsRunning}"
HeightRequest="20" HeightRequest="20"
VerticalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand"
HorizontalOptions="End"> HorizontalOptions="End">
<ActivityIndicator.WidthRequest> <ActivityIndicator.WidthRequest>
<OnPlatform x:TypeArguments="x:Double" iOS="40" Android="40" WinPhone="40" /> <OnPlatform x:TypeArguments="x:Double" iOS="40" Android="40" WinPhone="40" />
</ActivityIndicator.WidthRequest> </ActivityIndicator.WidthRequest>
<ActivityIndicator.Color> <ActivityIndicator.Color>
<OnPlatform x:TypeArguments="Color" <OnPlatform x:TypeArguments="Color"
iOS="#2499CE" WinPhone="#2499CE" /> iOS="#2499CE" WinPhone="#2499CE" />
</ActivityIndicator.Color> </ActivityIndicator.Color>
</ActivityIndicator> </ActivityIndicator>
</StackLayout> </StackLayout>

View file

@ -163,7 +163,7 @@ namespace TINK.View.MyBikes
#if USCSHARP9 #if USCSHARP9
public async Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => await Navigation.ShowPopupAsync<FeedbackPopup.Result>(new FeedbackPopup()); public async Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => await Navigation.ShowPopupAsync<FeedbackPopup.Result>(new FeedbackPopup());
#else #else
public async Task<IUserFeedback> DisplayUserFeedbackPopup(string co2Saving = null) => await Navigation.ShowPopupAsync<FeedbackPopup.Result>(new FeedbackPopup(co2Saving)); public async Task<IUserFeedback> DisplayUserFeedbackPopup() => await Navigation.ShowPopupAsync<FeedbackPopup.Result>(new FeedbackPopup());
#endif #endif
} }
} }

View file

@ -146,10 +146,7 @@ namespace TINK.View.Settings
#if USCSHARP9 #if USCSHARP9
public async Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => await Navigation.ShowPopupAsync<FeedbackPopup.Result>(new FeedbackPopup()); public async Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => await Navigation.ShowPopupAsync<FeedbackPopup.Result>(new FeedbackPopup());
#else #else
/// <summary> Displays user feedback popup.</summary> public async Task<IUserFeedback> DisplayUserFeedbackPopup() => await Navigation.ShowPopupAsync<FeedbackPopup.Result>(new FeedbackPopup());
/// <param name="co2Saving"> Co2 saving information.</param>
/// <returns>User feedback.</returns>
public async Task<IUserFeedback> DisplayUserFeedbackPopup(string co2Saving = null) => await Navigation.ShowPopupAsync<FeedbackPopup.Result>(new FeedbackPopup(co2Saving));
#endif #endif
#if USERFEEDBACKDLG_TRYOUT #if USERFEEDBACKDLG_TRYOUT

View file

@ -75,7 +75,7 @@ namespace TINK.View.WhatsNew.Agb
#if USCSHARP9 #if USCSHARP9
public Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException(); public Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException();
#else #else
public Task<IUserFeedback> DisplayUserFeedbackPopup(string co2Saving = null) => throw new NotSupportedException(); public Task<IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException();
#endif #endif
} }
} }

View file

@ -79,7 +79,7 @@ namespace TINK.View.WhatsNew
#if USCSHARP9 #if USCSHARP9
public Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException(); public Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException();
#else #else
public Task<IUserFeedback> DisplayUserFeedbackPopup(string co2Saving = null) => throw new NotSupportedException(); public Task<IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException();
#endif #endif
/// <summary> /// <summary>

View file

@ -55,8 +55,8 @@ namespace TINK.ViewModel.MasterDetail
} }
else if (type == typeof(TabbedPageInfo)) else if (type == typeof(TabbedPageInfo))
{ {
return AppResources.MarkingAbout; return string.Format(AppResources.MarkingAbout, ContactPageViewModel.GetAppName(App.ModelRoot.Uris.ActiveUri));
} }
else else
{ {
return type.Name; return type.Name;

View file

@ -66,7 +66,7 @@ namespace TINK.ViewModel.RootShell
public bool IsSettingsPageVisible => App.ModelRoot.Uris.ActiveUri.Host.GetIsCopri() public bool IsSettingsPageVisible => App.ModelRoot.Uris.ActiveUri.Host.GetIsCopri()
|| App.ModelRoot.ActiveUser.IsLoggedIn; || App.ModelRoot.ActiveUser.IsLoggedIn;
public string TabbedPageIngoTitle => AppResources.MarkingAbout; public string TabbedPageIngoTitle => string.Format(AppResources.MarkingAbout, ContactPageViewModel.GetAppName(App.ModelRoot.Uris.ActiveUri));
} }
} }

View file

@ -5,28 +5,11 @@ using Android.OS;
using Android.Content; using Android.Content;
using Java.Interop; using Java.Interop;
using Plugin.Permissions; using Plugin.Permissions;
using Xamarin.Forms.Platform.Android.AppLinks;
using Firebase;
namespace TINK.Droid namespace TINK.Droid
{ {
[Activity (Label = "Mein konrad", Icon = "@drawable/sharee", Theme="@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] [Activity (Label = "Sharee", Icon = "@drawable/sharee", Theme="@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
[IntentFilter(new[] { Intent.ActionView },
Categories = new[] { Intent.ActionView, Intent.CategoryBrowsable, Intent.CategoryDefault },
DataScheme = "https",
DataHost = "sharee.bike",
DataPathPrefix = "/meinkonrad",
AutoVerify = true)]
[IntentFilter(new[] { Intent.ActionView },
Categories = new[] { Intent.ActionView, Intent.CategoryBrowsable, Intent.CategoryDefault },
DataScheme = "http",
DataHost = "sharee.bike",
DataPathPrefix = "/meinkonrad",
AutoVerify = true)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{ {
protected override void OnCreate (Bundle bundle) protected override void OnCreate (Bundle bundle)
{ {
@ -37,9 +20,6 @@ namespace TINK.Droid
global::Xamarin.Forms.Forms.Init (this, bundle); global::Xamarin.Forms.Forms.Init (this, bundle);
FirebaseApp.InitializeApp(this);
AndroidAppLinks.Init(this);
// Initialize xamarin.essentials, see https://docs.microsoft.com/en-us/xamarin/essentials/get-started?tabs=macos%2Candroid. // Initialize xamarin.essentials, see https://docs.microsoft.com/en-us/xamarin/essentials/get-started?tabs=macos%2Candroid.
Xamarin.Essentials.Platform.Init(this, bundle); Xamarin.Essentials.Platform.Init(this, bundle);
@ -71,7 +51,7 @@ namespace TINK.Droid
if (App.PermissionsService.GetType() == typeof(TINK.Services.Permissions.Essentials.Permissions)) if (App.PermissionsService.GetType() == typeof(TINK.Services.Permissions.Essentials.Permissions))
{ {
Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults); Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);
} }
else if (App.PermissionsService.GetType() == typeof(TINK.Services.Permissions.Plugin.Permissions)) else if (App.PermissionsService.GetType() == typeof(TINK.Services.Permissions.Plugin.Permissions))
{ {
// Bug in 3.0.244 and earlier versions of sharee.bike app: Call of PermissionsImplementation.Current.OnRequestedPermission result was missing. // Bug in 3.0.244 and earlier versions of sharee.bike app: Call of PermissionsImplementation.Current.OnRequestedPermission result was missing.

View file

@ -10,13 +10,13 @@
<OutputType>Library</OutputType> <OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>TINK.Droid</RootNamespace> <RootNamespace>TINK.Droid</RootNamespace>
<AssemblyName>Meinkonrad.Android</AssemblyName> <AssemblyName>TINK.Android</AssemblyName>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<AndroidApplication>true</AndroidApplication> <AndroidApplication>true</AndroidApplication>
<AndroidResgenFile>Resources\Resource.Designer.cs</AndroidResgenFile> <AndroidResgenFile>Resources\Resource.Designer.cs</AndroidResgenFile>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies> <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
<AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest> <AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest>
<TargetFrameworkVersion>v11.0</TargetFrameworkVersion> <TargetFrameworkVersion>v10.0</TargetFrameworkVersion>
<AndroidStoreUncompressedFileExtensions /> <AndroidStoreUncompressedFileExtensions />
<MandroidI18n /> <MandroidI18n />
<JavaMaximumHeapSize>2G</JavaMaximumHeapSize> <JavaMaximumHeapSize>2G</JavaMaximumHeapSize>
@ -60,13 +60,10 @@
<BundleAssemblies>false</BundleAssemblies> <BundleAssemblies>false</BundleAssemblies>
<AndroidSupportedAbis>armeabi-v7a;x86;x86_64;arm64-v8a</AndroidSupportedAbis> <AndroidSupportedAbis>armeabi-v7a;x86;x86_64;arm64-v8a</AndroidSupportedAbis>
<MandroidI18n /> <MandroidI18n />
<AndroidPackageFormat>aab</AndroidPackageFormat>
<AndroidUseAapt2>true</AndroidUseAapt2>
<AndroidCreatePackagePerAbi>false</AndroidCreatePackagePerAbi>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" /> <PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
<PackageReference Include="Microsoft.NETCore.Platforms" Version="5.0.4" /> <PackageReference Include="Microsoft.NETCore.Platforms" Version="5.0.3" />
<PackageReference Include="Microsoft.Win32.Primitives" Version="4.3.0" /> <PackageReference Include="Microsoft.Win32.Primitives" Version="4.3.0" />
<PackageReference Include="MonkeyCache"> <PackageReference Include="MonkeyCache">
<Version>1.5.2</Version> <Version>1.5.2</Version>
@ -165,37 +162,34 @@
<PackageReference Include="Xamarin.Android.Support.v7.RecyclerView" Version="28.0.0.3" /> <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.Android.Support.Vector.Drawable" Version="28.0.0.3" />
<PackageReference Include="Xamarin.AndroidX.Core"> <PackageReference Include="Xamarin.AndroidX.Core">
<Version>1.6.0.3</Version> <Version>1.6.0.1</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Xamarin.AndroidX.MediaRouter"> <PackageReference Include="Xamarin.AndroidX.MediaRouter">
<Version>1.2.5.2</Version> <Version>1.2.5</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Xamarin.AndroidX.Palette"> <PackageReference Include="Xamarin.AndroidX.Palette">
<Version>1.0.0.10</Version> <Version>1.0.0.8</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Xamarin.AndroidX.RecyclerView"> <PackageReference Include="Xamarin.AndroidX.RecyclerView">
<Version>1.2.1.3</Version> <Version>1.2.1.1</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Xamarin.Auth" Version="1.7.0" /> <PackageReference Include="Xamarin.Auth" Version="1.7.0" />
<PackageReference Include="Xamarin.Build.Download" Version="0.10.0" /> <PackageReference Include="Xamarin.Build.Download" Version="0.10.0" />
<PackageReference Include="Xamarin.CommunityToolkit"> <PackageReference Include="Xamarin.CommunityToolkit">
<Version>1.3.0</Version> <Version>1.2.0</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Xamarin.Essentials"> <PackageReference Include="Xamarin.Essentials">
<Version>1.7.0</Version> <Version>1.7.0</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Xamarin.Forms" Version="5.0.0.2196" /> <PackageReference Include="Xamarin.Forms" Version="5.0.0.2125" />
<PackageReference Include="Xamarin.Forms.AppLinks">
<Version>5.0.0.2244</Version>
</PackageReference>
<PackageReference Include="Xamarin.Forms.GoogleMaps"> <PackageReference Include="Xamarin.Forms.GoogleMaps">
<Version>3.3.0</Version> <Version>3.3.0</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Xamarin.Forms.GoogleMaps.Bindings" Version="3.0.0" /> <PackageReference Include="Xamarin.Forms.GoogleMaps.Bindings" Version="3.0.0" />
<PackageReference Include="Xamarin.GooglePlayServices.Base" Version="117.6.0.1" /> <PackageReference Include="Xamarin.GooglePlayServices.Base" Version="117.6.0" />
<PackageReference Include="Xamarin.GooglePlayServices.Basement" Version="117.6.0.2" /> <PackageReference Include="Xamarin.GooglePlayServices.Basement" Version="117.6.0.1" />
<PackageReference Include="Xamarin.GooglePlayServices.Maps" Version="117.0.1.1" /> <PackageReference Include="Xamarin.GooglePlayServices.Maps" Version="117.0.1" />
<PackageReference Include="Xamarin.GooglePlayServices.Tasks" Version="117.2.1.1" /> <PackageReference Include="Xamarin.GooglePlayServices.Tasks" Version="117.2.1" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Reference Include="Mono.Android" /> <Reference Include="Mono.Android" />
@ -223,7 +217,6 @@
<None Include="app.config"> <None Include="app.config">
<SubType>Designer</SubType> <SubType>Designer</SubType>
</None> </None>
<GoogleServicesJson Include="google-services.json" />
<None Include="Resources\AboutResources.txt" /> <None Include="Resources\AboutResources.txt" />
<None Include="Assets\AboutAssets.txt" /> <None Include="Assets\AboutAssets.txt" />
<EmbeddedResource Include="Resources\Font Awesome 5 Free-Solid-900.otf" /> <EmbeddedResource Include="Resources\Font Awesome 5 Free-Solid-900.otf" />
@ -652,6 +645,24 @@
<Generator>MSBuild:UpdateGeneratedFiles</Generator> <Generator>MSBuild:UpdateGeneratedFiles</Generator>
</AndroidResource> </AndroidResource>
</ItemGroup> </ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable\sharee_no_background.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-hdpi\sharee_no_background.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-mdpi\sharee_no_background.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-xhdpi\sharee_no_background.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-xxhdpi\sharee_no_background.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-xxxhdpi\sharee_no_background.png" />
</ItemGroup>
<Import Project="..\TINK\Meinkonrad.projitems" Label="Shared" Condition="Exists('..\TINK\Meinkonrad.projitems')" /> <Import Project="..\TINK\Meinkonrad.projitems" Label="Shared" Condition="Exists('..\TINK\Meinkonrad.projitems')" />
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" /> <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
<ProjectExtensions> <ProjectExtensions>

View file

@ -1,10 +1,8 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="internalOnly" package="com.TeilRad.Meinkonrad" android:versionName="3.0.265" android:versionCode="265"> <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="preferExternal" package="com.TeilRad.Meinkonstanz" android:versionName="3.0.257" android:versionCode="257">
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="30" /> <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="29" />
<!-- Google Maps related permissions --> <!-- Google Maps related permissions -->
<!-- Permission to receive remote notifications from Google Play Services --> <permission android:name="com.ecs.google.maps.v2.actionbarsherlock.permission.MAPS_RECEIVE" android:protectionLevel="signature" />
<!-- Notice here that we have the package name of our application as a prefix on the permissions. -->
<permission android:name="com.TeilRad.Meinkonrad.permission.MAPS_RECEIVE" android:protectionLevel="signature" />
<!-- Network connectivity permissions --> <!-- Network connectivity permissions -->
<!-- Access Google based webservices --> <!-- Access Google based webservices -->
<!-- External storage for caching. --> <!-- External storage for caching. -->
@ -17,6 +15,6 @@
<uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-feature android:name="android.hardware.bluetooth_le" android:required="true" /> <uses-feature android:name="android.hardware.bluetooth_le" android:required="true" />
<application android:icon="@drawable/sharee" android:label="Meinkonrad" android:allowBackup="false"></application> <application android:icon="@drawable/sharee" android:label="Mein konrad" android:allowBackup="false"></application>
<meta-data android:name="com.google.android.geo.API_KEY" android:value="000000000000000000000000000000000000000" /> <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="000000000000000000000000000000000000000" />
</manifest> </manifest>

View file

@ -1,4 +1,4 @@
using System.Reflection; using System.Reflection;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using Android.App; using Android.App;
@ -7,11 +7,11 @@ using Xamarin.Forms;
// General Information about an assembly is controlled through the following // General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information // set of attributes. Change these attribute values to modify the information
// associated with an assembly. // associated with an assembly.
[assembly: AssemblyTitle("Meinkonrad.Android")] [assembly: AssemblyTitle("TINK.Android")]
[assembly: AssemblyDescription("")] [assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")] [assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Meinkonrad.Android")] [assembly: AssemblyProduct("TINK.Android")]
[assembly: AssemblyCopyright("Copyright © 2014")] [assembly: AssemblyCopyright("Copyright © 2014")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
@ -40,6 +40,6 @@ using Xamarin.Forms;
[assembly: Application(Debuggable = false)] [assembly: Application(Debuggable = false)]
#endif #endif
[assembly: MetaData("com.google.android.geo.API_KEY", Value = "000000000000000000000000000000000000000")] [assembly: MetaData("com.google.android.maps.v2.API_KEY", Value = "000000000000000000000000000000000000000")]
[assembly: ExportFont("Font Awesome 5 Free-Solid-900.otf", Alias = "FA-S")] [assembly: ExportFont("Font Awesome 5 Free-Solid-900.otf", Alias = "FA-S")]

File diff suppressed because it is too large Load diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

View file

@ -1,4 +1,8 @@
using Foundation; using System;
using System.Collections.Generic;
using System.Linq;
using Foundation;
using UIKit; using UIKit;
using Xamarin.Forms; using Xamarin.Forms;

View file

@ -6,9 +6,5 @@
<array> <array>
<string>$(AppIdentifierPrefix)com.TeilRad.sharee.bike</string> <string>$(AppIdentifierPrefix)com.TeilRad.sharee.bike</string>
</array> </array>
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:sharee.bike</string>
</array>
</dict> </dict>
</plist> </plist>

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
@ -27,9 +27,9 @@
<key>UILaunchStoryboardName</key> <key>UILaunchStoryboardName</key>
<string>LaunchScreen</string> <string>LaunchScreen</string>
<key>XSLaunchImageAssets</key> <key>XSLaunchImageAssets</key>
<string>Media.xcassets/LaunchImages.launchimage</string> <string>Resources/Media.xcassets/LaunchImages.launchimage</string>
<key>CFBundleName</key> <key>CFBundleName</key>
<string>Meinkonrad</string> <string>TINK</string>
<key>XSAppIconAssets</key> <key>XSAppIconAssets</key>
<string>Media.xcassets/AppIcons.appiconset</string> <string>Media.xcassets/AppIcons.appiconset</string>
<key>NSBluetoothAlwaysUsageDescription</key> <key>NSBluetoothAlwaysUsageDescription</key>
@ -49,8 +49,8 @@
<key>CFBundleDisplayName</key> <key>CFBundleDisplayName</key>
<string>Mein konrad</string> <string>Mein konrad</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>265</string> <string>254</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>3.0.265</string> <string>3.0.254</string>
</dict> </dict>
</plist> </plist>

View file

@ -1,275 +1,131 @@
{ {
"images": [ "images": [
{ {
"filename": "Icon-40.png", "scale": "2x",
"size": "20x20", "size": "20x20",
"scale": "2x", "idiom": "iphone",
"idiom": "iphone" "filename": "40.png"
}, },
{ {
"filename": "Icon-60.png", "scale": "3x",
"size": "20x20", "size": "20x20",
"scale": "3x", "idiom": "iphone",
"idiom": "iphone" "filename": "60.png"
}, },
{ {
"filename": "Icon-58.png",
"size": "29x29",
"scale": "2x", "scale": "2x",
"idiom": "iphone"
},
{
"filename": "Icon-87.png",
"size": "29x29", "size": "29x29",
"scale": "3x", "idiom": "iphone",
"idiom": "iphone" "filename": "58.png"
},
{
"scale": "3x",
"size": "29x29",
"idiom": "iphone",
"filename": "87.png"
}, },
{ {
"filename": "Icon-80.png",
"size": "40x40",
"scale": "2x", "scale": "2x",
"idiom": "iphone"
},
{
"filename": "Icon-120.png",
"size": "40x40", "size": "40x40",
"scale": "3x", "idiom": "iphone",
"idiom": "iphone" "filename": "801.png"
}, },
{ {
"filename": "Icon-120-1.png", "scale": "3x",
"size": "40x40",
"idiom": "iphone",
"filename": "120.png"
},
{
"scale": "2x",
"size": "60x60", "size": "60x60",
"scale": "2x", "idiom": "iphone",
"idiom": "iphone" "filename": "1201.png"
}, },
{ {
"filename": "Icon-180.png",
"size": "60x60",
"scale": "3x", "scale": "3x",
"idiom": "iphone" "size": "60x60",
"idiom": "iphone",
"filename": "180.png"
}, },
{ {
"filename": "Icon-20.png", "scale": "1x",
"size": "20x20", "size": "20x20",
"scale": "1x", "idiom": "ipad",
"idiom": "ipad" "filename": "20.png"
}, },
{ {
"filename": "Icon-40-1.png", "scale": "2x",
"size": "20x20", "size": "20x20",
"scale": "2x", "idiom": "ipad",
"idiom": "ipad" "filename": "401.png"
}, },
{ {
"filename": "Icon-29.png",
"size": "29x29",
"scale": "1x", "scale": "1x",
"idiom": "ipad"
},
{
"filename": "Icon-58-1.png",
"size": "29x29", "size": "29x29",
"scale": "2x", "idiom": "ipad",
"idiom": "ipad" "filename": "29.png"
},
{
"scale": "2x",
"size": "29x29",
"idiom": "ipad",
"filename": "581.png"
}, },
{ {
"filename": "Icon-40-2.png",
"size": "40x40",
"scale": "1x", "scale": "1x",
"idiom": "ipad"
},
{
"filename": "Icon-80-1.png",
"size": "40x40", "size": "40x40",
"scale": "2x", "idiom": "ipad",
"idiom": "ipad" "filename": "402.png"
}, },
{ {
"filename": "Icon-167.png", "scale": "2x",
"size": "40x40",
"idiom": "ipad",
"filename": "80.png"
},
{
"scale": "2x",
"size": "83.5x83.5", "size": "83.5x83.5",
"scale": "2x", "idiom": "ipad",
"idiom": "ipad" "filename": "167.png"
}, },
{ {
"filename": "Icon-76.png",
"size": "76x76",
"scale": "1x", "scale": "1x",
"idiom": "ipad"
},
{
"filename": "Icon-152.png",
"size": "76x76", "size": "76x76",
"scale": "2x", "idiom": "ipad",
"idiom": "ipad" "filename": "76.png"
}, },
{ {
"filename": "Icon-1024.png", "scale": "2x",
"size": "76x76",
"idiom": "ipad",
"filename": "152.png"
},
{
"scale": "1x",
"size": "1024x1024", "size": "1024x1024",
"scale": "1x", "idiom": "ios-marketing",
"idiom": "ios-marketing" "filename": "1024-1.png"
}, },
{ {
"size": "60x60",
"scale": "2x", "scale": "2x",
"size": "60x60",
"idiom": "car" "idiom": "car"
}, },
{ {
"size": "60x60",
"scale": "3x", "scale": "3x",
"size": "60x60",
"idiom": "car" "idiom": "car"
}, },
{ {
"role": "notificationCenter", "scale": "1x",
"size": "24x24",
"subtype": "38mm",
"scale": "2x",
"idiom": "watch"
},
{
"role": "notificationCenter",
"size": "27.5x27.5",
"subtype": "42mm",
"scale": "2x",
"idiom": "watch"
},
{
"role": "notificationCenter",
"size": "33x33",
"subtype": "45mm",
"scale": "2x",
"idiom": "watch"
},
{
"role": "companionSettings",
"size": "29x29",
"scale": "2x",
"idiom": "watch"
},
{
"role": "companionSettings",
"size": "29x29",
"scale": "3x",
"idiom": "watch"
},
{
"role": "appLauncher",
"size": "40x40",
"subtype": "38mm",
"scale": "2x",
"idiom": "watch"
},
{
"role": "appLauncher",
"size": "44x44",
"subtype": "40mm",
"scale": "2x",
"idiom": "watch"
},
{
"role": "appLauncher",
"size": "46x46",
"subtype": "41mm",
"scale": "2x",
"idiom": "watch"
},
{
"role": "appLauncher",
"size": "50x50",
"subtype": "44mm",
"scale": "2x",
"idiom": "watch"
},
{
"role": "appLauncher",
"size": "51x51",
"subtype": "45mm",
"scale": "2x",
"idiom": "watch"
},
{
"role": "quickLook",
"size": "86x86",
"subtype": "38mm",
"scale": "2x",
"idiom": "watch"
},
{
"role": "quickLook",
"size": "98x98",
"subtype": "42mm",
"scale": "2x",
"idiom": "watch"
},
{
"role": "quickLook",
"size": "108x108",
"subtype": "44mm",
"scale": "2x",
"idiom": "watch"
},
{
"role": "quickLook",
"size": "117x117",
"subtype": "45mm",
"scale": "2x",
"idiom": "watch"
},
{
"size": "1024x1024", "size": "1024x1024",
"scale": "1x", "idiom": "watch-marketing",
"idiom": "watch-marketing" "filename": "10241.png"
},
{
"size": "16x16",
"scale": "1x",
"idiom": "mac"
},
{
"size": "16x16",
"scale": "2x",
"idiom": "mac"
},
{
"size": "32x32",
"scale": "1x",
"idiom": "mac"
},
{
"size": "32x32",
"scale": "2x",
"idiom": "mac"
},
{
"size": "128x128",
"scale": "1x",
"idiom": "mac"
},
{
"size": "128x128",
"scale": "2x",
"idiom": "mac"
},
{
"size": "256x256",
"scale": "1x",
"idiom": "mac"
},
{
"size": "256x256",
"scale": "2x",
"idiom": "mac"
},
{
"size": "512x512",
"scale": "1x",
"idiom": "mac"
},
{
"size": "512x512",
"scale": "2x",
"idiom": "mac"
} }
], ],
"properties": {},
"info": { "info": {
"version": 1, "version": 1,
"author": "xcode" "author": "xcode"

View file

@ -9,7 +9,7 @@
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<RootNamespace>TINK.iOS</RootNamespace> <RootNamespace>TINK.iOS</RootNamespace>
<IPhoneResourcePrefix>Resources</IPhoneResourcePrefix> <IPhoneResourcePrefix>Resources</IPhoneResourcePrefix>
<AssemblyName>Meinkonrad.iOS</AssemblyName> <AssemblyName>TINK.iOS</AssemblyName>
<NuGetPackageImportStamp> <NuGetPackageImportStamp>
</NuGetPackageImportStamp> </NuGetPackageImportStamp>
<ReleaseVersion>3.0</ReleaseVersion> <ReleaseVersion>3.0</ReleaseVersion>
@ -57,8 +57,8 @@
<MtouchDebug>true</MtouchDebug> <MtouchDebug>true</MtouchDebug>
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements> <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
<CodesignProvision>VS: WildCard Development</CodesignProvision> <CodesignProvision>VS: WildCard Development</CodesignProvision>
<MtouchLink>None</MtouchLink> <MtouchLink>SdkOnly</MtouchLink>
<MtouchInterpreter>-all</MtouchInterpreter> <AssemblyName>Meinkonrad.iOS</AssemblyName>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
<DebugType>none</DebugType> <DebugType>none</DebugType>
@ -77,6 +77,7 @@
</CrashReportingApiKey> </CrashReportingApiKey>
<MtouchLink>SdkOnly</MtouchLink> <MtouchLink>SdkOnly</MtouchLink>
<CodesignProvision>Meinkonrad to App Store 2</CodesignProvision> <CodesignProvision>Meinkonrad to App Store 2</CodesignProvision>
<AssemblyName>Meinkonrad.iOS</AssemblyName>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Ad-Hoc|iPhone' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Ad-Hoc|iPhone' ">
<DebugType>none</DebugType> <DebugType>none</DebugType>
@ -94,6 +95,7 @@
<MtouchNoSymbolStrip> <MtouchNoSymbolStrip>
</MtouchNoSymbolStrip> </MtouchNoSymbolStrip>
<MtouchLink>SdkOnly</MtouchLink> <MtouchLink>SdkOnly</MtouchLink>
<AssemblyName>Meinkonrad.iOS</AssemblyName>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'AppStore|iPhone' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'AppStore|iPhone' ">
<DebugType>none</DebugType> <DebugType>none</DebugType>
@ -108,6 +110,7 @@
<CodesignKey>iPhone Developer: Rainer Guempelein (9K8PNC2YM8)</CodesignKey> <CodesignKey>iPhone Developer: Rainer Guempelein (9K8PNC2YM8)</CodesignKey>
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements> <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
<MtouchLink>SdkOnly</MtouchLink> <MtouchLink>SdkOnly</MtouchLink>
<AssemblyName>Meinkonrad.iOS</AssemblyName>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(RunConfiguration)' == 'Default' "> <PropertyGroup Condition=" '$(RunConfiguration)' == 'Default' ">
<AppExtensionDebugBundleId /> <AppExtensionDebugBundleId />
@ -115,7 +118,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.Bcl.Build" Version="1.0.21" /> <PackageReference Include="Microsoft.Bcl.Build" Version="1.0.21" />
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" /> <PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
<PackageReference Include="Microsoft.NETCore.Platforms" Version="5.0.4" /> <PackageReference Include="Microsoft.NETCore.Platforms" Version="5.0.3" />
<PackageReference Include="Microsoft.Win32.Primitives" Version="4.3.0" /> <PackageReference Include="Microsoft.Win32.Primitives" Version="4.3.0" />
<PackageReference Include="MonkeyCache"> <PackageReference Include="MonkeyCache">
<Version>1.5.2</Version> <Version>1.5.2</Version>
@ -192,7 +195,7 @@
<PackageReference Include="Xamarin.Auth" Version="1.7.0" /> <PackageReference Include="Xamarin.Auth" Version="1.7.0" />
<PackageReference Include="Xamarin.Build.Download" Version="0.10.0" /> <PackageReference Include="Xamarin.Build.Download" Version="0.10.0" />
<PackageReference Include="Xamarin.CommunityToolkit"> <PackageReference Include="Xamarin.CommunityToolkit">
<Version>1.3.0</Version> <Version>1.2.0</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Xamarin.Essentials"> <PackageReference Include="Xamarin.Essentials">
<Version>1.7.0</Version> <Version>1.7.0</Version>
@ -215,7 +218,7 @@
<Version>0.7.104</Version> <Version>0.7.104</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Xamarin.Forms"> <PackageReference Include="Xamarin.Forms">
<Version>5.0.0.2196</Version> <Version>5.0.0.2125</Version>
</PackageReference> </PackageReference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
@ -232,11 +235,18 @@
<SubType>Designer</SubType> <SubType>Designer</SubType>
</None> </None>
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<ITunesArtwork Include="iTunesArtwork" />
<ITunesArtwork Include="iTunesArtwork@2x" />
<Compile Include="Device\AppInfo.cs" /> <Compile Include="Device\AppInfo.cs" />
<Compile Include="Device\ExternalBrowseService.cs" /> <Compile Include="Device\ExternalBrowseService.cs" />
<EmbeddedResource Include="Resources\Font Awesome 5 Free-Solid-900.otf" /> <EmbeddedResource Include="Resources\Font Awesome 5 Free-Solid-900.otf" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<BundleResource Include="Resources\Default-568h%402x.png" />
<BundleResource Include="Resources\Default-Portrait.png" />
<BundleResource Include="Resources\Default-Portrait%402x.png" />
<BundleResource Include="Resources\Default.png" />
<BundleResource Include="Resources\Default%402x.png" />
<BundleResource Include="Resources\Icon-60%403x.png" /> <BundleResource Include="Resources\Icon-60%403x.png" />
<BundleResource Include="Resources\Icon-Small%402x.png" /> <BundleResource Include="Resources\Icon-Small%402x.png" />
<BundleResource Include="Resources\Icon-Small%403x.png" /> <BundleResource Include="Resources\Icon-Small%403x.png" />
@ -280,6 +290,60 @@
</ProjectReference> </ProjectReference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\10241.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\120.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\1201.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\152.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\167.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\180.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\20.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\29.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\40.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\401.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\402.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\58.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\581.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\60.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\76.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\80.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\801.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\87.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Contents.json"> <ImageAsset Include="Media.xcassets\AppIcons.appiconset\Contents.json">
<Visible>false</Visible> <Visible>false</Visible>
</ImageAsset> </ImageAsset>
@ -1420,58 +1484,7 @@
<ImageAsset Include="Media.xcassets\Open_Red.imageset\StationMarkerOpenRed.pdf"> <ImageAsset Include="Media.xcassets\Open_Red.imageset\StationMarkerOpenRed.pdf">
<Visible>false</Visible> <Visible>false</Visible>
</ImageAsset> </ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-40.png"> <ImageAsset Include="Media.xcassets\AppIcons.appiconset\1024-1.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-60.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-58.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-87.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-80.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-120.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-120-1.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-180.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-20.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-40-1.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-29.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-58-1.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-40-2.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-80-1.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-76.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-152.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-167.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Icon-1024.png">
<Visible>false</Visible> <Visible>false</Visible>
</ImageAsset> </ImageAsset>
</ItemGroup> </ItemGroup>
@ -1601,10 +1614,6 @@
<Folder Include="Media.xcassets\Open_LightBlue.imageset\" /> <Folder Include="Media.xcassets\Open_LightBlue.imageset\" />
<Folder Include="Media.xcassets\Open_Red.imageset\" /> <Folder Include="Media.xcassets\Open_Red.imageset\" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<ITunesArtwork Include="iTunesArtwork%402x" />
<ITunesArtwork Include="iTunesArtwork" />
</ItemGroup>
<Import Project="..\TINK\Meinkonrad.projitems" Label="Shared" Condition="Exists('..\TINK\Meinkonrad.projitems')" /> <Import Project="..\TINK\Meinkonrad.projitems" Label="Shared" Condition="Exists('..\TINK\Meinkonrad.projitems')" />
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" /> <Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />
</Project> </Project>

View file

@ -5,11 +5,11 @@ using Xamarin.Forms;
// General Information about an assembly is controlled through the following // General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information // set of attributes. Change these attribute values to modify the information
// associated with an assembly. // associated with an assembly.
[assembly: AssemblyTitle("Meinkonrad.iOS")] [assembly: AssemblyTitle("TINK.iOS")]
[assembly: AssemblyDescription("")] [assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")] [assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Meinkonrad.iOS")] [assembly: AssemblyProduct("TINK.iOS")]
[assembly: AssemblyCopyright("Copyright © 2020")] [assembly: AssemblyCopyright("Copyright © 2020")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View file

@ -21,8 +21,7 @@
<rect key="contentStretch" x="0.0" y="0.0" width="0.0" height="0.0"/> <rect key="contentStretch" x="0.0" y="0.0" width="0.0" height="0.0"/>
</imageView> </imageView>
</subviews> </subviews>
<!--Color # --> <color key="backgroundColor" red="0.20392156862745098" green="0.4983606557377049180327868852459" blue="0.5016393442622950819672131147541" alpha="1" colorSpace="calibratedRGB"/>
<color key="backgroundColor" red="1.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<constraints> <constraints>
<constraint firstItem="23" firstAttribute="centerY" secondItem="yd7-JS-zBw" secondAttribute="centerY" priority="1" id="39"/> <constraint firstItem="23" firstAttribute="centerY" secondItem="yd7-JS-zBw" secondAttribute="centerY" priority="1" id="39"/>
<constraint firstItem="23" firstAttribute="centerX" secondItem="yd7-JS-zBw" secondAttribute="centerX" priority="1" id="41"/> <constraint firstItem="23" firstAttribute="centerX" secondItem="yd7-JS-zBw" secondAttribute="centerX" priority="1" id="41"/>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 225 KiB

After

Width:  |  Height:  |  Size: 49 KiB

View file

@ -15,6 +15,7 @@ using MonkeyCache.FileStore;
using Plugin.Connectivity; using Plugin.Connectivity;
using System.Threading; using System.Threading;
using TINK.Model.Settings; using TINK.Model.Settings;
using Plugin.Permissions;
using TINK.Services.BluetoothLock.Crypto; using TINK.Services.BluetoothLock.Crypto;
using TINK.Model.Services.Geolocation; using TINK.Model.Services.Geolocation;
using TINK.Services; using TINK.Services;
@ -82,8 +83,8 @@ namespace TINK
try try
{ {
settings = new Model.Settings.Settings( settings = new Model.Settings.Settings(
JsonSettingsDictionary.GetGroupFilterMapPage(settingsJSON) ?? GroupFilterHelper.GetMapPageFilterDefaults, // Activate map filtering for meinkonrad JsonSettingsDictionary.GetGroupFilterMapPage(settingsJSON),
JsonSettingsDictionary.GetGoupFilterSettings(settingsJSON) ?? GroupFilterHelper.GetSettingsFilterDefaults,// Activate map filtering for meinkonrad JsonSettingsDictionary.GetGoupFilterSettings(settingsJSON),
JsonSettingsDictionary.GetCopriHostUri(settingsJSON), JsonSettingsDictionary.GetCopriHostUri(settingsJSON),
JsonSettingsDictionary.GetPollingParameters(settingsJSON), JsonSettingsDictionary.GetPollingParameters(settingsJSON),
JsonSettingsDictionary.GetMinimumLoggingLevel(settingsJSON), JsonSettingsDictionary.GetMinimumLoggingLevel(settingsJSON),
@ -93,7 +94,6 @@ namespace TINK
JsonSettingsDictionary.GetConnectTimeout(settingsJSON), JsonSettingsDictionary.GetConnectTimeout(settingsJSON),
JsonSettingsDictionary.GetActiveGeolocationService(settingsJSON), JsonSettingsDictionary.GetActiveGeolocationService(settingsJSON),
JsonSettingsDictionary.GetCenterMapToCurrentLocation(settingsJSON), JsonSettingsDictionary.GetCenterMapToCurrentLocation(settingsJSON),
Xamarin.Forms.GoogleMaps.MapSpan.FromCenterAndRadius(new Xamarin.Forms.GoogleMaps.Position(47.680, 9.180), Xamarin.Forms.GoogleMaps.Distance.FromKilometers(2.9)),
JsonSettingsDictionary.GetLogToExternalFolder(settingsJSON), JsonSettingsDictionary.GetLogToExternalFolder(settingsJSON),
JsonSettingsDictionary.GetIsSiteCachingOn(settingsJSON), JsonSettingsDictionary.GetIsSiteCachingOn(settingsJSON),
JsonSettingsDictionary.GetActiveTheme(settingsJSON) ?? typeof(Themes.Konrad).FullName); JsonSettingsDictionary.GetActiveTheme(settingsJSON) ?? typeof(Themes.Konrad).FullName);
@ -145,7 +145,7 @@ namespace TINK
m_oModelRoot = new TinkApp( m_oModelRoot = new TinkApp(
settings, settings,
store, // Manages user account store, // Manages user account
(isConnected, activeUri, sessionCookie, mail, expiresAfter) => ConnectorFactory.Create(isConnected, activeUri, $"Meinkonrad/{appInfoService.Version}", sessionCookie, mail, expiresAfter), (isConnected, activeUri, sessionCookie, mail, expiresAfter) => ConnectorFactory.Create(isConnected, activeUri, $"sharee.bike/{appInfoService.Version}", sessionCookie, mail, expiresAfter),
GeolocationServicesContainer, GeolocationServicesContainer,
null, /* locksService */ null, /* locksService */
DependencyService.Get<ISmartDevice>(), DependencyService.Get<ISmartDevice>(),
@ -255,30 +255,6 @@ namespace TINK
.CreateLogger(); .CreateLogger();
} }
/// <param name="uri">The URI for the request.</param>
/// <summary>Overriden to respond when the user initiates an app link request.</summary>
protected override void OnAppLinkRequestReceived(Uri uri)
{
base.OnAppLinkRequestReceived(uri);
if (uri.Host.ToLower() == "sharee.bike")
{
// Input e.g. sharee.bike/sharee/?lat=49.921&long=32.51
Array segments = Array.ConvertAll(uri.Segments, segment => segment.Replace("/", "")).Skip(1).ToArray();
if (uri.Query.Length > 0)
{
Dictionary<string, string> queryDict = uri.Query
.Substring(1)
.Split("&")
.Select(query => query.Split('='))
.ToDictionary(query => query.FirstOrDefault(), query => query.Skip(1).FirstOrDefault());
}
// segments == ["sharee"]
// queryDict == [{["lat", "49.921"]}], {["long", "32.51"]}]
// => Navigate and pass params depending on linkinput
// If no custom navigation is configured, the app just opens as if the user opened it
}
}
/// <summary> Gets the current logging level.</summary> /// <summary> Gets the current logging level.</summary>
/// <returns></returns> /// <returns></returns>
private static LogEventLevel GetCurrentLogEventLevel() private static LogEventLevel GetCurrentLogEventLevel()

View file

@ -23,7 +23,7 @@
<br />Version ACTIVE_APPNAME: <b>CURRENT_VERSION_TINKAPP</b>. <br />Version ACTIVE_APPNAME: <b>CURRENT_VERSION_TINKAPP</b>.
<div class="content_title2">Entwickler</div> <div class="content_title2">Entwickler</div>
<div style=""></div> <div style=""></div>
<br />Programmierung ACTIVE_APPNAME: O. Hauff, app@sharee.bike<br /> <br />Programmierung ACTIVE_APPNAME: O. Hauff, o.hauff@sharee.bike.<br />
<div class="content_title2">Verwendete Bibliotheken</div> <div class="content_title2">Verwendete Bibliotheken</div>
<div style=""></div> <div style=""></div>
<br /><table> <br /><table>

View file

@ -149,7 +149,7 @@ namespace TINK.View.Account
#if USCSHARP9 #if USCSHARP9
public Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException(); public Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException();
#else #else
public Task<IUserFeedback> DisplayUserFeedbackPopup(string co2Saving = null) => throw new NotSupportedException(); public Task<IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException();
#endif #endif
} }
} }

View file

@ -37,7 +37,6 @@
<RowDefinition Height="Auto" /> <RowDefinition Height="Auto" />
<RowDefinition Height="Auto" /> <RowDefinition Height="Auto" />
<RowDefinition Height="Auto" /> <RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" />
@ -85,12 +84,6 @@
IsVisible="{Binding TariffDescription.AboEuroPerMonth, Converter={StaticResource Label_Converter}}" IsVisible="{Binding TariffDescription.AboEuroPerMonth, Converter={StaticResource Label_Converter}}"
Grid.Row="4" Grid.Row="4"
Grid.Column="1"/> Grid.Column="1"/>
<Label
TextType="Html"
Text="{Binding TariffDescription.OperatorAgb}"
IsVisible="{Binding TariffDescription.OperatorAgb, Converter={StaticResource Label_Converter}}"
Grid.Row="5"
Grid.ColumnSpan="3"/>
</Grid> </Grid>
</StackLayout> </StackLayout>
</ContentView> </ContentView>

View file

@ -49,7 +49,6 @@
<RowDefinition Height="Auto" /> <RowDefinition Height="Auto" />
<RowDefinition Height="Auto" /> <RowDefinition Height="Auto" />
<RowDefinition Height="Auto" /> <RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" />
@ -97,12 +96,6 @@
IsVisible="{Binding TariffDescription.AboEuroPerMonth, Converter={StaticResource Label_Converter}}" IsVisible="{Binding TariffDescription.AboEuroPerMonth, Converter={StaticResource Label_Converter}}"
Grid.Row="4" Grid.Row="4"
Grid.Column="1"/> Grid.Column="1"/>
<Label
TextType="Html"
Text="{Binding TariffDescription.OperatorAgb}"
IsVisible="{Binding TariffDescription.OperatorAgb, Converter={StaticResource Label_Converter}}"
Grid.Row="5"
Grid.ColumnSpan="3"/>
</Grid> </Grid>
</StackLayout> </StackLayout>
</ContentView> </ContentView>

View file

@ -14,69 +14,58 @@
<Frame> <Frame>
<StackLayout <StackLayout
Orientation="Vertical"> Orientation="Vertical">
<!-- Title bar stack layout--> <Label
<StackLayout HorizontalOptions="Center"
Orientation="Vertical"> FontAttributes="Bold"
<Label Text="{Binding StationDetailText}"/>
HorizontalOptions="Center" <ListView
FontAttributes="Bold" x:Name="BikesAtStationListView"
Text="{Binding StationDetailText}"/> SelectionMode="None"
</StackLayout> SelectedItem="{Binding SelectedBike}"
<!-- Center stack layout --> IsEnabled="{Binding IsIdle}"
<StackLayout IsVisible="{Binding IsBikesListVisible}"
Orientation="Vertical" HasUnevenRows="True"
VerticalOptions="CenterAndExpand"> ItemTemplate="{StaticResource bikeTemplateSelector}"/>
<ListView <Label
x:Name="BikesAtStationListView"
SelectionMode="None"
SelectedItem="{Binding SelectedBike}"
IsEnabled="{Binding IsIdle}"
IsVisible="{Binding IsBikesListVisible}"
HasUnevenRows="True"
ItemTemplate="{StaticResource bikeTemplateSelector}"/>
<Label
IsVisible="{Binding IsNoBikesAtStationVisible}" IsVisible="{Binding IsNoBikesAtStationVisible}"
VerticalOptions="EndAndExpand"
Text="{Binding NoBikesAtStationText}"/> Text="{Binding NoBikesAtStationText}"/>
</StackLayout> <Label
<!-- Status bar stack layout--> TextType="Html"
<StackLayout Text="{Binding ContactSupportHintText}">
Orientation="Vertical"> <Label.GestureRecognizers>
<Label <TapGestureRecognizer Command="{Binding ContactSupportClickedCommand}"/>
TextType="Html" </Label.GestureRecognizers>
Text="{Binding ContactSupportHintText}"> </Label>
<Label.GestureRecognizers> <Label
<TapGestureRecognizer Command="{Binding ContactSupportClickedCommand}"/>
</Label.GestureRecognizers>
</Label>
<Label
IsVisible="{Binding IsLoginRequiredHintVisible}" IsVisible="{Binding IsLoginRequiredHintVisible}"
TextType="Html" TextType="Html"
Text="{Binding LoginRequiredHintText}"> Text="{Binding LoginRequiredHintText}">
<Label.GestureRecognizers> <Label.GestureRecognizers>
<TapGestureRecognizer Command="{Binding LoginRequiredHintClickedCommand}"/> <TapGestureRecognizer Command="{Binding LoginRequiredHintClickedCommand}"/>
</Label.GestureRecognizers> </Label.GestureRecognizers>
</Label> </Label>
<StackLayout <StackLayout
Orientation="Horizontal"> VerticalOptions="EndAndExpand"
<Label Orientation="Horizontal">
HeightRequest="20" <Label
Text="{Binding StatusInfoText}" HeightRequest="20"
VerticalOptions="Center" Text="{Binding StatusInfoText}"
HorizontalOptions="FillAndExpand"/> VerticalOptions="Center"
<ActivityIndicator IsRunning="{Binding IsRunning}" HorizontalOptions="FillAndExpand"/>
IsVisible="{Binding IsRunning}" <ActivityIndicator IsRunning="{Binding IsRunning}"
HeightRequest="20" IsVisible="{Binding IsRunning}"
VerticalOptions="CenterAndExpand" HeightRequest="20"
HorizontalOptions="End"> VerticalOptions="CenterAndExpand"
<ActivityIndicator.WidthRequest> HorizontalOptions="End">
<OnPlatform x:TypeArguments="x:Double" iOS="40" Android="40" WinPhone="40" /> <ActivityIndicator.WidthRequest>
</ActivityIndicator.WidthRequest> <OnPlatform x:TypeArguments="x:Double" iOS="40" Android="40" WinPhone="40" />
<ActivityIndicator.Color> </ActivityIndicator.WidthRequest>
<OnPlatform x:TypeArguments="Color" <ActivityIndicator.Color>
iOS="#2499CE" WinPhone="#2499CE" /> <OnPlatform x:TypeArguments="Color"
</ActivityIndicator.Color> iOS="#2499CE" WinPhone="#2499CE" />
</ActivityIndicator> </ActivityIndicator.Color>
</StackLayout> </ActivityIndicator>
</StackLayout> </StackLayout>
</StackLayout> </StackLayout>
</Frame> </Frame>

View file

@ -228,10 +228,7 @@ using TINK.View.MasterDetail;
#if USCSHARP9 #if USCSHARP9
public async Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => await Navigation.ShowPopupAsync<FeedbackPopup.Result>(new FeedbackPopup()); public async Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => await Navigation.ShowPopupAsync<FeedbackPopup.Result>(new FeedbackPopup());
#else #else
/// <summary> Displays user feedback popup.</summary> public async Task<IUserFeedback> DisplayUserFeedbackPopup() => await Navigation.ShowPopupAsync<FeedbackPopup.Result>(new FeedbackPopup());
/// <param name="co2Saving"> Co2 saving information.</param>
/// <returns>User feedback.</returns>
public async Task<IUserFeedback> DisplayUserFeedbackPopup(string co2Saving = null) => await Navigation.ShowPopupAsync<FeedbackPopup.Result>(new FeedbackPopup(co2Saving));
#endif #endif
} }
} }

View file

@ -88,7 +88,7 @@ namespace TINK.View.Contact
#if USCSHARP9 #if USCSHARP9
public Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException(); public Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException();
#else #else
public Task<IUserFeedback> DisplayUserFeedbackPopup(string co2Saving = null) => throw new NotSupportedException(); public Task<IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException();
#endif #endif
#if USEFLYOUT #if USEFLYOUT

View file

@ -114,7 +114,7 @@ namespace TINK.View.Contact
#if USCSHARP9 #if USCSHARP9
public Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException(); public Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException();
#else #else
public Task<IUserFeedback> DisplayUserFeedbackPopup(string co2Saving = null) => throw new NotSupportedException(); public Task<IUserFeedback> DisplayUserFeedbackPopup() => throw new NotSupportedException();
#endif #endif
#if USEFLYOUT #if USEFLYOUT

View file

@ -12,14 +12,11 @@
<Grid.RowDefinitions> <Grid.RowDefinitions>
<!-- Head and title row --> <!-- Head and title row -->
<RowDefinition Height="auto"/> <RowDefinition Height="auto"/>
<!--- Co2saving-->
<RowDefinition Height="auto"/>
<!--- checkbox and input elements--> <!--- checkbox and input elements-->
<RowDefinition Height="*"/> <RowDefinition Height="*"/>
<!--- ok button--> <!--- ok button-->
<RowDefinition Height="auto"/> <RowDefinition Height="auto"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<!-- Head and title -->
<Grid <Grid
Padding="30" Padding="30"
BackgroundColor="{DynamicResource primary-back-title-color}"> BackgroundColor="{DynamicResource primary-back-title-color}">
@ -37,16 +34,7 @@
</Image.Source> </Image.Source>
</Image> </Image>
</Grid> </Grid>
<!-- Co2saving --> <ScrollView Grid.Row="1">
<Frame
x:Name="Co2SavingFrame"
Grid.Row="1">
<Label
x:Name="Co2SavingLabel"
Text=""/>
</Frame>
<!-- Checkbox and input elements -->
<ScrollView Grid.Row="2">
<Grid> <Grid>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
@ -89,9 +77,8 @@
</StackLayout> </StackLayout>
</Grid> </Grid>
</ScrollView> </ScrollView>
<!-- Buttons -->
<Button <Button
Grid.Row="3" Grid.Row="2"
Clicked="OnOkClicked" Clicked="OnOkClicked"
Text="OK"/> Text="OK"/>
</Grid> </Grid>

View file

@ -7,15 +7,9 @@ namespace TINK.View
[XamlCompilation(XamlCompilationOptions.Compile)] [XamlCompilation(XamlCompilationOptions.Compile)]
public partial class FeedbackPopup : Popup<FeedbackPopup.Result> public partial class FeedbackPopup : Popup<FeedbackPopup.Result>
{ {
/// <summary> Constructs user feedback popup.</summary> public FeedbackPopup()
/// <param name="co2Saving"> Co2 saving information.</param>
public FeedbackPopup(string co2Saving = null)
{ {
InitializeComponent(); InitializeComponent();
if (string.IsNullOrEmpty(co2Saving))
Co2SavingFrame.IsVisible = false;
else
Co2SavingLabel.Text = co2Saving;
} }
protected override FeedbackPopup.Result GetLightDismissResult() protected override FeedbackPopup.Result GetLightDismissResult()

View file

@ -138,7 +138,7 @@ namespace TINK.View.FindBike
#if USCSHARP9 #if USCSHARP9
public async Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => await Navigation.ShowPopupAsync<FeedbackPopup.Result>(new FeedbackPopup()); public async Task<IViewService.IUserFeedback> DisplayUserFeedbackPopup() => await Navigation.ShowPopupAsync<FeedbackPopup.Result>(new FeedbackPopup());
#else #else
public async Task<IUserFeedback> DisplayUserFeedbackPopup(string co2Saving = null) => await Navigation.ShowPopupAsync<FeedbackPopup.Result>(new FeedbackPopup(co2Saving)); public async Task<IUserFeedback> DisplayUserFeedbackPopup() => await Navigation.ShowPopupAsync<FeedbackPopup.Result>(new FeedbackPopup());
#endif #endif
} }
} }

Some files were not shown because too many files have changed in this diff Show more