diff --git a/CollectionViewChallenge.sln b/CollectionViewChallenge.sln index 1b8dd9b..43f16a8 100644 --- a/CollectionViewChallenge.sln +++ b/CollectionViewChallenge.sln @@ -80,4 +80,25 @@ Global GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {63071C55-3C4B-43FA-8EA1-DA7EA4CA408F} EndGlobalSection + GlobalSection(MonoDevelopProperties) = preSolution + Policies = $0 + $0.TextStylePolicy = $1 + $1.inheritsSet = null + $1.scope = text/x-csharp + $0.CSharpFormattingPolicy = $2 + $2.scope = text/x-csharp + $0.TextStylePolicy = $3 + $3.FileWidth = 80 + $3.TabsToSpaces = True + $3.scope = text/plain + $0.TextStylePolicy = $4 + $4.inheritsSet = null + $4.scope = application/xml + $0.XmlFormattingPolicy = $5 + $5.DefaultFormat = $6 + $6.AttributesInNewLine = True + $6.WrapAttributes = True + $6.AlignAttributes = True + $5.scope = application/xml + EndGlobalSection EndGlobal diff --git a/CollectionViewChallenge/CollectionViewChallenge.Android/CollectionViewChallenge.Android.csproj b/CollectionViewChallenge/CollectionViewChallenge.Android/CollectionViewChallenge.Android.csproj index d2c42fc..214d84b 100644 --- a/CollectionViewChallenge/CollectionViewChallenge.Android/CollectionViewChallenge.Android.csproj +++ b/CollectionViewChallenge/CollectionViewChallenge.Android/CollectionViewChallenge.Android.csproj @@ -15,7 +15,6 @@ Properties\AndroidManifest.xml Resources Assets - false v8.1 true Xamarin.Android.Net.AndroidClientHandler @@ -93,6 +92,24 @@ + + + + + + + + + + + + + + + + + + @@ -102,7 +119,7 @@ - {BA39825E-3CF8-4A31-B120-782B2A651542} + {9A9DDEE5-8C48-4274-82D7-22EB79C97206} CollectionViewChallenge diff --git a/CollectionViewChallenge/CollectionViewChallenge.Android/Properties/AndroidManifest.xml b/CollectionViewChallenge/CollectionViewChallenge.Android/Properties/AndroidManifest.xml index 8a8223a..0a62e2d 100644 --- a/CollectionViewChallenge/CollectionViewChallenge.Android/Properties/AndroidManifest.xml +++ b/CollectionViewChallenge/CollectionViewChallenge.Android/Properties/AndroidManifest.xml @@ -1,5 +1,5 @@ - + - - - + + + \ No newline at end of file diff --git a/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-hdpi/cast.png b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-hdpi/cast.png new file mode 100644 index 0000000..bf5b261 Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-hdpi/cast.png differ diff --git a/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-hdpi/more.png b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-hdpi/more.png new file mode 100644 index 0000000..f553759 Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-hdpi/more.png differ diff --git a/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-hdpi/search.png b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-hdpi/search.png new file mode 100644 index 0000000..433e2de Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-hdpi/search.png differ diff --git a/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-mdpi/cast.png b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-mdpi/cast.png new file mode 100644 index 0000000..40383cd Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-mdpi/cast.png differ diff --git a/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-mdpi/more.png b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-mdpi/more.png new file mode 100644 index 0000000..1ca83cd Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-mdpi/more.png differ diff --git a/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-mdpi/search.png b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-mdpi/search.png new file mode 100644 index 0000000..03cabb5 Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-mdpi/search.png differ diff --git a/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-xhdpi/cast.png b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-xhdpi/cast.png new file mode 100644 index 0000000..8712767 Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-xhdpi/cast.png differ diff --git a/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-xhdpi/more.png b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-xhdpi/more.png new file mode 100644 index 0000000..3c3ebf4 Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-xhdpi/more.png differ diff --git a/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-xhdpi/search.png b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-xhdpi/search.png new file mode 100644 index 0000000..f15f3cc Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-xhdpi/search.png differ diff --git a/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-xxhdpi/cast.png b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-xxhdpi/cast.png new file mode 100644 index 0000000..46e382a Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-xxhdpi/cast.png differ diff --git a/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-xxhdpi/more.png b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-xxhdpi/more.png new file mode 100644 index 0000000..e7b40c5 Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-xxhdpi/more.png differ diff --git a/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-xxhdpi/search.png b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-xxhdpi/search.png new file mode 100644 index 0000000..576b517 Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-xxhdpi/search.png differ diff --git a/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-xxxhdpi/cast.png b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-xxxhdpi/cast.png new file mode 100644 index 0000000..fdda575 Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-xxxhdpi/cast.png differ diff --git a/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-xxxhdpi/more.png b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-xxxhdpi/more.png new file mode 100644 index 0000000..0953835 Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-xxxhdpi/more.png differ diff --git a/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-xxxhdpi/search.png b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-xxxhdpi/search.png new file mode 100644 index 0000000..4c1bc0b Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable-xxxhdpi/search.png differ diff --git a/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable/cast.png b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable/cast.png new file mode 100644 index 0000000..40383cd Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable/cast.png differ diff --git a/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable/more.png b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable/more.png new file mode 100644 index 0000000..1ca83cd Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable/more.png differ diff --git a/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable/search.png b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable/search.png new file mode 100644 index 0000000..03cabb5 Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable/search.png differ diff --git a/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/cast.imageset/Contents.json b/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/cast.imageset/Contents.json new file mode 100644 index 0000000..5c14d8f --- /dev/null +++ b/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/cast.imageset/Contents.json @@ -0,0 +1,96 @@ +{ + "images": [ + { + "idiom": "universal" + }, + { + "filename": "cast.png", + "scale": "1x", + "idiom": "universal" + }, + { + "filename": "cast@2x.png", + "scale": "2x", + "idiom": "universal" + }, + { + "filename": "cast@3x.png", + "scale": "3x", + "idiom": "universal" + }, + { + "idiom": "iphone" + }, + { + "scale": "1x", + "idiom": "iphone" + }, + { + "scale": "2x", + "idiom": "iphone" + }, + { + "subtype": "retina4", + "scale": "2x", + "idiom": "iphone" + }, + { + "scale": "3x", + "idiom": "iphone" + }, + { + "idiom": "ipad" + }, + { + "scale": "1x", + "idiom": "ipad" + }, + { + "scale": "2x", + "idiom": "ipad" + }, + { + "idiom": "watch" + }, + { + "scale": "2x", + "idiom": "watch" + }, + { + "screenWidth": "{130,145}", + "scale": "2x", + "idiom": "watch" + }, + { + "screenWidth": "{146,165}", + "scale": "2x", + "idiom": "watch" + }, + { + "idiom": "mac" + }, + { + "scale": "1x", + "idiom": "mac" + }, + { + "scale": "2x", + "idiom": "mac" + }, + { + "idiom": "car" + }, + { + "scale": "2x", + "idiom": "car" + }, + { + "scale": "3x", + "idiom": "car" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} \ No newline at end of file diff --git a/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/cast.imageset/cast.png b/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/cast.imageset/cast.png new file mode 100644 index 0000000..40383cd Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/cast.imageset/cast.png differ diff --git a/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/cast.imageset/cast@2x.png b/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/cast.imageset/cast@2x.png new file mode 100644 index 0000000..8712767 Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/cast.imageset/cast@2x.png differ diff --git a/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/cast.imageset/cast@3x.png b/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/cast.imageset/cast@3x.png new file mode 100644 index 0000000..46e382a Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/cast.imageset/cast@3x.png differ diff --git a/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/more.imageset/Contents.json b/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/more.imageset/Contents.json new file mode 100644 index 0000000..50dc378 --- /dev/null +++ b/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/more.imageset/Contents.json @@ -0,0 +1,96 @@ +{ + "images": [ + { + "idiom": "universal" + }, + { + "filename": "more.png", + "scale": "1x", + "idiom": "universal" + }, + { + "filename": "more@2x.png", + "scale": "2x", + "idiom": "universal" + }, + { + "filename": "more@3x.png", + "scale": "3x", + "idiom": "universal" + }, + { + "idiom": "iphone" + }, + { + "scale": "1x", + "idiom": "iphone" + }, + { + "scale": "2x", + "idiom": "iphone" + }, + { + "subtype": "retina4", + "scale": "2x", + "idiom": "iphone" + }, + { + "scale": "3x", + "idiom": "iphone" + }, + { + "idiom": "ipad" + }, + { + "scale": "1x", + "idiom": "ipad" + }, + { + "scale": "2x", + "idiom": "ipad" + }, + { + "idiom": "watch" + }, + { + "scale": "2x", + "idiom": "watch" + }, + { + "screenWidth": "{130,145}", + "scale": "2x", + "idiom": "watch" + }, + { + "screenWidth": "{146,165}", + "scale": "2x", + "idiom": "watch" + }, + { + "idiom": "mac" + }, + { + "scale": "1x", + "idiom": "mac" + }, + { + "scale": "2x", + "idiom": "mac" + }, + { + "idiom": "car" + }, + { + "scale": "2x", + "idiom": "car" + }, + { + "scale": "3x", + "idiom": "car" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} \ No newline at end of file diff --git a/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/more.imageset/more.png b/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/more.imageset/more.png new file mode 100644 index 0000000..1ca83cd Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/more.imageset/more.png differ diff --git a/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/more.imageset/more@2x.png b/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/more.imageset/more@2x.png new file mode 100644 index 0000000..3c3ebf4 Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/more.imageset/more@2x.png differ diff --git a/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/more.imageset/more@3x.png b/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/more.imageset/more@3x.png new file mode 100644 index 0000000..e7b40c5 Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/more.imageset/more@3x.png differ diff --git a/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/search.imageset/Contents.json b/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/search.imageset/Contents.json new file mode 100644 index 0000000..651af9e --- /dev/null +++ b/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/search.imageset/Contents.json @@ -0,0 +1,96 @@ +{ + "images": [ + { + "idiom": "universal" + }, + { + "filename": "search.png", + "scale": "1x", + "idiom": "universal" + }, + { + "filename": "search@2x.png", + "scale": "2x", + "idiom": "universal" + }, + { + "filename": "search@3x.png", + "scale": "3x", + "idiom": "universal" + }, + { + "idiom": "iphone" + }, + { + "scale": "1x", + "idiom": "iphone" + }, + { + "scale": "2x", + "idiom": "iphone" + }, + { + "subtype": "retina4", + "scale": "2x", + "idiom": "iphone" + }, + { + "scale": "3x", + "idiom": "iphone" + }, + { + "idiom": "ipad" + }, + { + "scale": "1x", + "idiom": "ipad" + }, + { + "scale": "2x", + "idiom": "ipad" + }, + { + "idiom": "watch" + }, + { + "scale": "2x", + "idiom": "watch" + }, + { + "screenWidth": "{130,145}", + "scale": "2x", + "idiom": "watch" + }, + { + "screenWidth": "{146,165}", + "scale": "2x", + "idiom": "watch" + }, + { + "idiom": "mac" + }, + { + "scale": "1x", + "idiom": "mac" + }, + { + "scale": "2x", + "idiom": "mac" + }, + { + "idiom": "car" + }, + { + "scale": "2x", + "idiom": "car" + }, + { + "scale": "3x", + "idiom": "car" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} \ No newline at end of file diff --git a/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/search.imageset/search.png b/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/search.imageset/search.png new file mode 100644 index 0000000..03cabb5 Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/search.imageset/search.png differ diff --git a/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/search.imageset/search@2x.png b/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/search.imageset/search@2x.png new file mode 100644 index 0000000..f15f3cc Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/search.imageset/search@2x.png differ diff --git a/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/search.imageset/search@3x.png b/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/search.imageset/search@3x.png new file mode 100644 index 0000000..576b517 Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.iOS/Assets.xcassets/search.imageset/search@3x.png differ diff --git a/CollectionViewChallenge/CollectionViewChallenge.iOS/CollectionViewChallenge.iOS.csproj b/CollectionViewChallenge/CollectionViewChallenge.iOS/CollectionViewChallenge.iOS.csproj index 49a7105..542e056 100644 --- a/CollectionViewChallenge/CollectionViewChallenge.iOS/CollectionViewChallenge.iOS.csproj +++ b/CollectionViewChallenge/CollectionViewChallenge.iOS/CollectionViewChallenge.iOS.csproj @@ -123,6 +123,18 @@ + + + + + + + + + + + + @@ -139,8 +151,13 @@ - {BA39825E-3CF8-4A31-B120-782B2A651542} + {9A9DDEE5-8C48-4274-82D7-22EB79C97206} CollectionViewChallenge + + + + + \ No newline at end of file diff --git a/CollectionViewChallenge/CollectionViewChallenge/App.xaml.cs b/CollectionViewChallenge/CollectionViewChallenge/App.xaml.cs index c0a3329..18c5a1a 100644 --- a/CollectionViewChallenge/CollectionViewChallenge/App.xaml.cs +++ b/CollectionViewChallenge/CollectionViewChallenge/App.xaml.cs @@ -2,6 +2,7 @@ using Xamarin.Forms; using Xamarin.Forms.Xaml; using CollectionViewChallenge.Views; +using System.Threading.Tasks; namespace CollectionViewChallenge { @@ -29,5 +30,36 @@ protected override void OnResume() { // Handle when your app resumes } + + private static NavigableElement navigationRoot; + public static NavigableElement NavigationRoot + { + get => GetShellSection(navigationRoot) ?? navigationRoot; + set => navigationRoot = value; + } + + internal static ShellSection GetShellSection(Element element) + { + if (element == null) + { + return null; + } + + var parent = element; + var parentSection = parent as ShellSection; + + while (parentSection == null && parent != null) + { + parent = parent.Parent; + parentSection = parent as ShellSection; + } + + return parentSection; + } + + internal static async Task NavigateToAsync(Page page) + { + await NavigationRoot.Navigation.PushAsync(page, true).ConfigureAwait(false); + } } } diff --git a/CollectionViewChallenge/CollectionViewChallenge/AppShell.xaml b/CollectionViewChallenge/CollectionViewChallenge/AppShell.xaml index 9364c60..9414580 100644 --- a/CollectionViewChallenge/CollectionViewChallenge/AppShell.xaml +++ b/CollectionViewChallenge/CollectionViewChallenge/AppShell.xaml @@ -52,14 +52,14 @@ --> - #2196F3 + #4285F4