Skip to content
This repository was archived by the owner on Apr 7, 2020. It is now read-only.

Commit 07b9960

Browse files
Merge pull request #477 from Integreat/AddHeidenheimAsWohnenExtra
Add Heidenheim Wohnraum Extra
2 parents 188876f + e53d2c7 commit 07b9960

File tree

14 files changed

+54
-18
lines changed

14 files changed

+54
-18
lines changed

Integreat/Integreat.Droid/Integreat.Droid.csproj

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1045,6 +1045,12 @@
10451045
<ItemGroup>
10461046
<GoogleServicesJson Include="google-services.json" />
10471047
</ItemGroup>
1048+
<ItemGroup>
1049+
<AndroidResource Include="Resources\Drawable\heidenheimwohnen_logo.png" />
1050+
</ItemGroup>
1051+
<ItemGroup>
1052+
<AndroidResource Include="Resources\Drawable\testumgebungwohnen_logo.png" />
1053+
</ItemGroup>
10481054
<Import Project="..\Integreat.Shared\Integreat.Shared.projitems" Label="Shared" />
10491055
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
10501056
<Import Project="..\..\packages\Xamarin.Android.Arch.Lifecycle.Common.26.1.0\build\MonoAndroid80\Xamarin.Android.Arch.Lifecycle.Common.targets" Condition="Exists('..\..\packages\Xamarin.Android.Arch.Lifecycle.Common.26.1.0\build\MonoAndroid80\Xamarin.Android.Arch.Lifecycle.Common.targets')" />

Integreat/Integreat.Droid/Properties/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="tuerantuer.app.integreat" android:installLocation="auto" android:versionCode="55618" android:versionName="2.4.4">
2+
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="tuerantuer.app.integreat" android:installLocation="auto" android:versionCode="55619" android:versionName="2.4.5">
33
<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="28" />
44
<uses-permission android:name="android.permission.INTERNET" />
55
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
72.5 KB
Loading
34.8 KB
Loading

Integreat/Integreat.Localization/Integreat.Localization.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,9 @@
9595
<Analyzer Include="..\..\packages\SonarAnalyzer.CSharp.7.11.0.8083\analyzers\SonarAnalyzer.CSharp.dll" />
9696
<Analyzer Include="..\..\packages\SonarAnalyzer.CSharp.7.11.0.8083\analyzers\SonarAnalyzer.dll" />
9797
</ItemGroup>
98+
<ItemGroup>
99+
<Reference Include="System" />
100+
</ItemGroup>
98101
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
99102
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
100103
Other similar extension points exist, see Microsoft.Common.targets.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3-
<package id="SonarAnalyzer.CSharp" version="7.11.0.8083" targetFramework="portable45-net45+win8+wpa81" developmentDependency="true" />
3+
<package id="SonarAnalyzer.CSharp" version="7.14.0.8411" targetFramework="portable45-net45+win8+wpa81" developmentDependency="true" />
44
</packages>

Integreat/Integreat.Shared/ApplicationObjects/IntegreatModule.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using Autofac;
2+
using Autofac.Builder;
23
using Integreat.Shared.Data;
34
using Integreat.Shared.Data.Factories;
45
using Integreat.Shared.Data.Loader;
@@ -83,6 +84,7 @@ private static void RegisterNewsAndExtras(ContainerBuilder builder)
8384
builder.RegisterType<SprungbrettViewModel>();
8485
builder.RegisterType<RaumfreiOffersPage>();
8586
builder.RegisterType<RaumfreiViewModel>();
87+
builder.RegisterGeneratedFactory<RaumfreiViewModelFactory>(new Autofac.Core.TypedService(typeof(RaumfreiViewModel)));
8688
builder.RegisterType<RaumfreiOfferDetailPage>();
8789
builder.RegisterType<RaumfreiDetailViewModel>();
8890
}

Integreat/Integreat.Shared/ViewModels/Extras/RaumfreiDetailViewModel.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ public class RaumfreiDetailViewModel : BaseViewModel
1010
private const string LandlordInformationHeaderText = "Kontaktdaten";
1111
public RaumfreiOffer Offer { get; }
1212

13-
public RaumfreiDetailViewModel(RaumfreiOffer offer)
13+
public RaumfreiDetailViewModel(RaumfreiOffer offer, string headerImage)
1414
{
1515
Offer = offer;
1616
Title = "Mietangebot";
17-
HeaderImage = "raumfrei_logo";
17+
HeaderImage = headerImage;
1818
}
1919

2020
public string HeaderImage { get; set; }

Integreat/Integreat.Shared/ViewModels/Extras/RaumfreiViewModel.cs

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,28 +19,32 @@ namespace Integreat.Shared.ViewModels
1919
/// <summary>
2020
/// ViewModel for sprungbrett extra
2121
/// </summary>
22+
public delegate RaumfreiViewModel RaumfreiViewModelFactory(string apiName, string title, string headerImage);
23+
2224
public class RaumfreiViewModel : BaseContentViewModel
2325
{
2426
#region Fields
2527
private readonly INavigator _navigator;
2628

2729
private ObservableCollection<ListItemViewModel<RaumfreiOffer>> _offers;
2830
private bool _hasNoResults;
29-
private readonly Func<RaumfreiOffer, RaumfreiDetailViewModel> _raumfreiDetailPageFactory; // factory generated by AutoFac to resolve a GeneralWebViewPageViewModel instance
31+
private readonly Func<RaumfreiOffer, string, RaumfreiDetailViewModel> _raumfreiDetailPageFactory; // factory generated by AutoFac to resolve a GeneralWebViewPageViewModel instance
3032
private readonly IParser _parser;
3133
private readonly String _apiName;
3234

3335
#endregion
3436

3537
public RaumfreiViewModel(INavigator navigator,
3638
DataLoaderProvider dataLoaderProvider,
37-
Func<RaumfreiOffer, RaumfreiDetailViewModel> raumfreiDetailPageFactory,
39+
Func<RaumfreiOffer, string, RaumfreiDetailViewModel> raumfreiDetailPageFactory,
3840
IParser parser,
39-
string apiName)
41+
string apiName,
42+
string title,
43+
string headerImage)
4044
: base(dataLoaderProvider)
4145
{
42-
Title = "Raumfrei";
43-
HeaderImage = "raumfrei_logo";
46+
Title = title;
47+
HeaderImage = headerImage;
4448
_navigator = navigator;
4549
_raumfreiDetailPageFactory = raumfreiDetailPageFactory;
4650
_parser = parser;
@@ -136,7 +140,7 @@ private async void OnOfferTapped(object offerObject)
136140
{
137141
// try to cast the object, abort if failed
138142
if (!(offerObject is ListItemViewModel<RaumfreiOffer> raumfreiOffer)) return;
139-
var view = _raumfreiDetailPageFactory(raumfreiOffer.ListItemModel);
143+
var view = _raumfreiDetailPageFactory(raumfreiOffer.ListItemModel, HeaderImage);
140144
await _navigator.PushAsync(view, Navigation);
141145
}
142146

Integreat/Integreat.Shared/ViewModels/ExtrasContentPageViewModel.cs

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,12 @@ public class ExtrasContentPageViewModel : BaseContentViewModel
2626
private ICommand _itemTappedCommand;
2727
private ICommand _changeLanguageCommand;
2828
private readonly Func<string, SprungbrettViewModel> _sprungbrettFactory;
29-
private readonly Func<string, RaumfreiViewModel> _raumfreiFactory;
29+
private readonly RaumfreiViewModelFactory _raumfreiFactory;
3030

3131
public ExtrasContentPageViewModel(INavigator navigator, DataLoaderProvider dataLoaderProvider
3232
, Func<string, SprungbrettViewModel> sprungbrettFactory
3333
, Func<string, GeneralWebViewPageViewModel> generalWebViewFactory
34-
, Func<string, RaumfreiViewModel> raumfreiFactory)
34+
, RaumfreiViewModelFactory raumfreiFactory)
3535
: base(dataLoaderProvider)
3636
{
3737
NoteInternetText = AppResources.NoteInternet;
@@ -88,12 +88,27 @@ private async void OnExtraTapped(object obj)
8888
var extra = (Extra)obj;
8989
BaseViewModel view;
9090

91-
//special favours for sprungbrett and lehrstellenradar
91+
//special favours for sprungbrett and wohnen
9292
if (extra.Alias == "sprungbrett")
9393
view = _sprungbrettFactory(extra.Url);
94-
else if (extra.Alias == "wohnen" && extra.Post.TryGetValue("api-name", out var apiName)
95-
&& new [] { "neuburgschrobenhausenwohnraum","testumgebungwohnraum" }.Contains(apiName))
96-
view = _raumfreiFactory(apiName);
94+
else if (extra.Alias == "wohnen" && extra.Post.TryGetValue("api-name", out var apiName))
95+
{
96+
switch(apiName)
97+
{
98+
case "neuburgschrobenhausenwohnraum":
99+
view = _raumfreiFactory(apiName, extra.Name, "raumfrei_logo");
100+
break;
101+
case "lkheidenheimwohnraum":
102+
view = _raumfreiFactory(apiName, extra.Name, "heidenheimwohnen_logo");
103+
break;
104+
case "testumgebungwohnraum":
105+
view = _raumfreiFactory(apiName, extra.Name, "testumgebungwohnen_logo");
106+
break;
107+
default:
108+
view = _generalWebViewFactory(extra.Url);
109+
break;
110+
}
111+
}
97112
else
98113
view = _generalWebViewFactory(extra.Url);
99114

0 commit comments

Comments
 (0)