diff options
Diffstat (limited to 'PagesGallery')
96 files changed, 2342 insertions, 0 deletions
diff --git a/PagesGallery/PagesGallery.Droid/Assets/AboutAssets.txt b/PagesGallery/PagesGallery.Droid/Assets/AboutAssets.txt new file mode 100644 index 00000000..5ddf0872 --- /dev/null +++ b/PagesGallery/PagesGallery.Droid/Assets/AboutAssets.txt @@ -0,0 +1,19 @@ +Any raw assets you want to be deployed with your application can be placed in +this directory (and child directories) and given a Build Action of "AndroidAsset". + +These files will be deployed with you package and will be accessible using Android's +AssetManager, like this: + +public class ReadAsset : Activity +{ + protected override void OnCreate (Bundle bundle) + { + base.OnCreate (bundle); + + InputStream input = Assets.Open ("my_asset.txt"); + } +} + +Additionally, some Android functions will automatically load asset files: + +Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf"); diff --git a/PagesGallery/PagesGallery.Droid/MainActivity.cs b/PagesGallery/PagesGallery.Droid/MainActivity.cs new file mode 100644 index 00000000..b991250c --- /dev/null +++ b/PagesGallery/PagesGallery.Droid/MainActivity.cs @@ -0,0 +1,24 @@ +using Android.App; +using Android.Content.PM; +using Android.OS; +using Xamarin.Forms; +using Xamarin.Forms.Platform.Android; + +namespace PagesGallery.Droid +{ + [Activity(Label = "PagesGallery", Theme = "@style/MyTheme", Icon = "@drawable/icon", MainLauncher = true, + ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] + public class MainActivity : FormsAppCompatActivity + { + protected override void OnCreate(Bundle bundle) + { + ToolbarResource = Resource.Layout.Toolbar; + TabLayoutResource = Resource.Layout.Tabbar; + + base.OnCreate(bundle); + + Forms.Init(this, bundle); + LoadApplication(new App()); + } + } +}
\ No newline at end of file diff --git a/PagesGallery/PagesGallery.Droid/PagesGallery.Droid.csproj b/PagesGallery/PagesGallery.Droid/PagesGallery.Droid.csproj new file mode 100644 index 00000000..02e1434e --- /dev/null +++ b/PagesGallery/PagesGallery.Droid/PagesGallery.Droid.csproj @@ -0,0 +1,172 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProductVersion>8.0.30703</ProductVersion> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{5EB6EB6B-A412-4F41-A89B-D7C9AAD237F2}</ProjectGuid> + <ProjectTypeGuids>{EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <OutputType>Library</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>PagesGallery.Droid</RootNamespace> + <AssemblyName>PagesGallery.Droid</AssemblyName> + <FileAlignment>512</FileAlignment> + <AndroidApplication>true</AndroidApplication> + <AndroidResgenFile>Resources\Resource.Designer.cs</AndroidResgenFile> + <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies> + <AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest> + <AndroidUseLatestPlatformSdk>true</AndroidUseLatestPlatformSdk> + <TargetFrameworkVersion>v6.0</TargetFrameworkVersion> + <AndroidSupportedAbis>armeabi,armeabi-v7a,x86</AndroidSupportedAbis> + <AndroidStoreUncompressedFileExtensions /> + <MandroidI18n /> + <JavaMaximumHeapSize /> + <JavaOptions /> + <NuGetPackageImportStamp> + </NuGetPackageImportStamp> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <AndroidUseSharedRuntime>True</AndroidUseSharedRuntime> + <AndroidLinkMode>None</AndroidLinkMode> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\Release\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <AndroidUseSharedRuntime>False</AndroidUseSharedRuntime> + <AndroidLinkMode>SdkOnly</AndroidLinkMode> + </PropertyGroup> + <ItemGroup> + <Reference Include="ModernHttpClient, Version=2.4.2.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\..\packages\modernhttpclient.2.4.2\lib\MonoAndroid\ModernHttpClient.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Mono.Android" /> + <Reference Include="mscorlib" /> + <Reference Include="OkHttp, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\..\packages\modernhttpclient.2.4.2\lib\MonoAndroid\OkHttp.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="System" /> + <Reference Include="System.Core" /> + <Reference Include="System.Xml.Linq" /> + <Reference Include="System.Xml" /> + <Reference Include="Xamarin.Android.Support.Animated.Vector.Drawable, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.Animated.Vector.Drawable.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Xamarin.Android.Support.Design, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\..\packages\Xamarin.Android.Support.Design.23.3.0\lib\MonoAndroid43\Xamarin.Android.Support.Design.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Xamarin.Android.Support.v4, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\..\packages\Xamarin.Android.Support.v4.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Xamarin.Android.Support.v7.AppCompat, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\..\packages\Xamarin.Android.Support.v7.AppCompat.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.AppCompat.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Xamarin.Android.Support.v7.CardView, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\..\packages\Xamarin.Android.Support.v7.CardView.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.CardView.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Xamarin.Android.Support.v7.MediaRouter, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\..\packages\Xamarin.Android.Support.v7.MediaRouter.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.MediaRouter.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Xamarin.Android.Support.v7.RecyclerView, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\..\packages\Xamarin.Android.Support.v7.RecyclerView.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.RecyclerView.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Xamarin.Android.Support.Vector.Drawable, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.Vector.Drawable.dll</HintPath> + <Private>True</Private> + </Reference> + </ItemGroup> + <ItemGroup> + <Compile Include="MainActivity.cs" /> + <Compile Include="Resources\Resource.Designer.cs" /> + <Compile Include="Properties\AssemblyInfo.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="packages.config" /> + <None Include="Resources\AboutResources.txt" /> + <None Include="Assets\AboutAssets.txt" /> + <AndroidResource Include="Resources\layout\Tabbar.axml"> + <SubType>Designer</SubType> + </AndroidResource> + <AndroidResource Include="Resources\layout\Toolbar.axml"> + <SubType>Designer</SubType> + </AndroidResource> + </ItemGroup> + <ItemGroup> + <AndroidResource Include="Resources\drawable\icon.png" /> + <AndroidResource Include="Resources\drawable-hdpi\icon.png" /> + <AndroidResource Include="Resources\drawable-xhdpi\icon.png" /> + <AndroidResource Include="Resources\drawable-xxhdpi\icon.png" /> + </ItemGroup> + <ItemGroup> + <None Include="Properties\AndroidManifest.xml" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\..\Stubs\Xamarin.Forms.Platform.Android\Xamarin.Forms.Platform.Android %28Forwarders%29.csproj"> + <Project>{6e53feb1-1100-46ae-8013-17bba35cc197}</Project> + <Name>Xamarin.Forms.Platform.Android %28Forwarders%29</Name> + </ProjectReference> + <ProjectReference Include="..\..\Xamarin.Forms.Core\Xamarin.Forms.Core.csproj"> + <Project>{57b8b73d-c3b5-4c42-869e-7b2f17d354ac}</Project> + <Name>Xamarin.Forms.Core</Name> + </ProjectReference> + <ProjectReference Include="..\..\Xamarin.Forms.Pages\Xamarin.Forms.Pages.csproj"> + <Project>{d6133dbd-6c60-4bd5-bea2-07e0a3927c31}</Project> + <Name>Xamarin.Forms.Pages</Name> + </ProjectReference> + <ProjectReference Include="..\..\Xamarin.Forms.Platform.Android.FormsViewGroup\Xamarin.Forms.Platform.Android.FormsViewGroup.csproj"> + <Project>{3b72465b-acae-43ae-9327-10f372fe5f80}</Project> + <Name>Xamarin.Forms.Platform.Android.FormsViewGroup</Name> + </ProjectReference> + <ProjectReference Include="..\..\Xamarin.Forms.Platform.Android\Xamarin.Forms.Platform.Android.csproj"> + <Project>{0e16e70a-d6dd-4323-ad5d-363abff42d6a}</Project> + <Name>Xamarin.Forms.Platform.Android</Name> + </ProjectReference> + <ProjectReference Include="..\..\Xamarin.Forms.Xaml\Xamarin.Forms.Xaml.csproj"> + <Project>{9db2f292-8034-4e06-89ad-98bbda4306b9}</Project> + <Name>Xamarin.Forms.Xaml</Name> + </ProjectReference> + <ProjectReference Include="..\PagesGallery\PagesGallery.csproj"> + <Name>PagesGallery</Name> + </ProjectReference> + </ItemGroup> + <ItemGroup> + <AndroidResource Include="Resources\values\styles.xml" /> + </ItemGroup> + <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" /> + <Import Project="..\..\.nuspec\Xamarin.Forms.targets" /> + <Import Project="..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets" Condition="Exists('..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets')" /> + <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> + <PropertyGroup> + <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> + </PropertyGroup> + <Error Condition="!Exists('..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets'))" /> + </Target> + <!-- To modify your build process, add your task inside one of the targets below and uncomment it. + Other similar extension points exist, see Microsoft.Common.targets. + <Target Name="BeforeBuild"> + </Target> + <Target Name="AfterBuild"> + </Target> + --> +</Project>
\ No newline at end of file diff --git a/PagesGallery/PagesGallery.Droid/Properties/AndroidManifest.xml b/PagesGallery/PagesGallery.Droid/Properties/AndroidManifest.xml new file mode 100644 index 00000000..1b619fc0 --- /dev/null +++ b/PagesGallery/PagesGallery.Droid/Properties/AndroidManifest.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android"> + <uses-sdk android:minSdkVersion="15" /> + <application></application> +</manifest> diff --git a/PagesGallery/PagesGallery.Droid/Properties/AssemblyInfo.cs b/PagesGallery/PagesGallery.Droid/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..95627221 --- /dev/null +++ b/PagesGallery/PagesGallery.Droid/Properties/AssemblyInfo.cs @@ -0,0 +1,34 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using Android.App; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle ("PagesGallery.Droid")] +[assembly: AssemblyDescription ("")] +[assembly: AssemblyConfiguration ("")] +[assembly: AssemblyCompany ("")] +[assembly: AssemblyProduct ("PagesGallery.Droid")] +[assembly: AssemblyCopyright ("Copyright © 2014")] +[assembly: AssemblyTrademark ("")] +[assembly: AssemblyCulture ("")] +[assembly: ComVisible (false)] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion ("1.0.0.0")] +[assembly: AssemblyFileVersion ("1.0.0.0")] + +// Add some common permissions, these can be removed if not needed +[assembly: UsesPermission (Android.Manifest.Permission.Internet)] +[assembly: UsesPermission (Android.Manifest.Permission.WriteExternalStorage)] diff --git a/PagesGallery/PagesGallery.Droid/Resources/AboutResources.txt b/PagesGallery/PagesGallery.Droid/Resources/AboutResources.txt new file mode 100644 index 00000000..cb30f20b --- /dev/null +++ b/PagesGallery/PagesGallery.Droid/Resources/AboutResources.txt @@ -0,0 +1,50 @@ +Images, layout descriptions, binary blobs and string dictionaries can be included +in your application as resource files. Various Android APIs are designed to +operate on the resource IDs instead of dealing with images, strings or binary blobs +directly. + +For example, a sample Android app that contains a user interface layout (main.xml), +an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) +would keep its resources in the "Resources" directory of the application: + +Resources/ + drawable-hdpi/ + icon.png + + drawable-ldpi/ + icon.png + + drawable-mdpi/ + icon.png + + layout/ + main.xml + + values/ + strings.xml + +In order to get the build system to recognize Android resources, set the build action to +"AndroidResource". The native Android APIs do not operate directly with filenames, but +instead operate on resource IDs. When you compile an Android application that uses resources, +the build system will package the resources for distribution and generate a class called +"Resource" that contains the tokens for each one of the resources included. For example, +for the above Resources layout, this is what the Resource class would expose: + +public class Resource { + public class drawable { + public const int icon = 0x123; + } + + public class layout { + public const int main = 0x456; + } + + public class strings { + public const int first_string = 0xabc; + public const int second_string = 0xbcd; + } +} + +You would then use R.drawable.icon to reference the drawable/icon.png file, or Resource.layout.main +to reference the layout/main.xml file, or Resource.strings.first_string to reference the first +string in the dictionary file values/strings.xml. diff --git a/PagesGallery/PagesGallery.Droid/Resources/drawable-hdpi/icon.png b/PagesGallery/PagesGallery.Droid/Resources/drawable-hdpi/icon.png Binary files differnew file mode 100644 index 00000000..964f110a --- /dev/null +++ b/PagesGallery/PagesGallery.Droid/Resources/drawable-hdpi/icon.png diff --git a/PagesGallery/PagesGallery.Droid/Resources/drawable-xhdpi/icon.png b/PagesGallery/PagesGallery.Droid/Resources/drawable-xhdpi/icon.png Binary files differnew file mode 100644 index 00000000..3c01e60c --- /dev/null +++ b/PagesGallery/PagesGallery.Droid/Resources/drawable-xhdpi/icon.png diff --git a/PagesGallery/PagesGallery.Droid/Resources/drawable-xxhdpi/icon.png b/PagesGallery/PagesGallery.Droid/Resources/drawable-xxhdpi/icon.png Binary files differnew file mode 100644 index 00000000..0d8c1c57 --- /dev/null +++ b/PagesGallery/PagesGallery.Droid/Resources/drawable-xxhdpi/icon.png diff --git a/PagesGallery/PagesGallery.Droid/Resources/drawable/icon.png b/PagesGallery/PagesGallery.Droid/Resources/drawable/icon.png Binary files differnew file mode 100644 index 00000000..b0ba7150 --- /dev/null +++ b/PagesGallery/PagesGallery.Droid/Resources/drawable/icon.png diff --git a/PagesGallery/PagesGallery.Droid/Resources/layout/Tabbar.axml b/PagesGallery/PagesGallery.Droid/Resources/layout/Tabbar.axml new file mode 100644 index 00000000..97cb27ad --- /dev/null +++ b/PagesGallery/PagesGallery.Droid/Resources/layout/Tabbar.axml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<android.support.design.widget.TabLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:id="@+id/sliding_tabs" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="?attr/colorPrimary" + android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" + app:tabIndicatorColor="@android:color/white" + app:tabGravity="fill" + app:tabMode="fixed" />
\ No newline at end of file diff --git a/PagesGallery/PagesGallery.Droid/Resources/layout/Toolbar.axml b/PagesGallery/PagesGallery.Droid/Resources/layout/Toolbar.axml new file mode 100644 index 00000000..3a1989a8 --- /dev/null +++ b/PagesGallery/PagesGallery.Droid/Resources/layout/Toolbar.axml @@ -0,0 +1,8 @@ +<android.support.v7.widget.Toolbar + xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/toolbar" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="?attr/colorPrimary" + android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" + android:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> diff --git a/PagesGallery/PagesGallery.Droid/Resources/values/styles.xml b/PagesGallery/PagesGallery.Droid/Resources/values/styles.xml new file mode 100644 index 00000000..68b5d73c --- /dev/null +++ b/PagesGallery/PagesGallery.Droid/Resources/values/styles.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<resources> + <style name="MyTheme" parent="MyTheme.Base"> + </style> + <!-- Base theme applied no matter what API --> + <style name="MyTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar"> + <!--If you are using revision 22.1 please use just windowNoTitle. Without android:--> + <item name="windowNoTitle">true</item> + <!--We will be using the toolbar so no need to show ActionBar--> + <item name="windowActionBar">false</item> + <!-- Set theme colors from http://www.google.com/design/spec/style/color.html#color-color-palette--> + <!-- colorPrimary is used for the default action bar background --> + <item name="colorPrimary">#2196F3</item> + <!-- colorPrimaryDark is used for the status bar --> + <item name="colorPrimaryDark">#1976D2</item> + <!-- colorAccent is used as the default value for colorControlActivated + which is used to tint widgets --> + <item name="colorAccent">#FF4081</item> + <!-- You can also set colorControlNormal, colorControlActivated + colorControlHighlight and colorSwitchThumbNormal. --> + <item name="windowActionModeOverlay">true</item> + + <item name="android:datePickerDialogTheme">@style/AppCompatDialogStyle</item> + </style> + + <style name="AppCompatDialogStyle" parent="Theme.AppCompat.Light.Dialog"> + <item name="colorAccent">#FF4081</item> + </style> +</resources>
\ No newline at end of file diff --git a/PagesGallery/PagesGallery.Droid/app.config b/PagesGallery/PagesGallery.Droid/app.config new file mode 100644 index 00000000..4dd3b43c --- /dev/null +++ b/PagesGallery/PagesGallery.Droid/app.config @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-1.5.0.0" newVersion="1.5.0.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration>
\ No newline at end of file diff --git a/PagesGallery/PagesGallery.Droid/packages.config b/PagesGallery/PagesGallery.Droid/packages.config new file mode 100644 index 00000000..b11a3746 --- /dev/null +++ b/PagesGallery/PagesGallery.Droid/packages.config @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<packages> + <package id="modernhttpclient" version="2.4.2" targetFramework="monoandroid60" /> + <package id="Xamarin.Android.Support.Animated.Vector.Drawable" version="23.3.0" targetFramework="monoandroid60" /> + <package id="Xamarin.Android.Support.Design" version="23.3.0" targetFramework="monoandroid60" /> + <package id="Xamarin.Android.Support.v4" version="23.3.0" targetFramework="monoandroid60" /> + <package id="Xamarin.Android.Support.v7.AppCompat" version="23.3.0" targetFramework="monoandroid60" /> + <package id="Xamarin.Android.Support.v7.CardView" version="23.3.0" targetFramework="monoandroid60" /> + <package id="Xamarin.Android.Support.v7.MediaRouter" version="23.3.0" targetFramework="monoandroid60" /> + <package id="Xamarin.Android.Support.v7.RecyclerView" version="23.3.0" targetFramework="monoandroid60" /> + <package id="Xamarin.Android.Support.Vector.Drawable" version="23.3.0" targetFramework="monoandroid60" /> +</packages>
\ No newline at end of file diff --git a/PagesGallery/PagesGallery.UWP/App.xaml b/PagesGallery/PagesGallery.UWP/App.xaml new file mode 100644 index 00000000..48c10160 --- /dev/null +++ b/PagesGallery/PagesGallery.UWP/App.xaml @@ -0,0 +1,8 @@ +<Application + x:Class="PagesGallery.UWP.App" + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:local="using:PagesGallery.UWP" + RequestedTheme="Light"> + +</Application> diff --git a/PagesGallery/PagesGallery.UWP/App.xaml.cs b/PagesGallery/PagesGallery.UWP/App.xaml.cs new file mode 100644 index 00000000..b6eecf87 --- /dev/null +++ b/PagesGallery/PagesGallery.UWP/App.xaml.cs @@ -0,0 +1,97 @@ +using System; +using System.Diagnostics; +using Windows.ApplicationModel; +using Windows.ApplicationModel.Activation; +using Windows.UI.Xaml; +using Windows.UI.Xaml.Navigation; +using Xamarin.Forms; +using Application = Windows.UI.Xaml.Application; +using Frame = Windows.UI.Xaml.Controls.Frame; + +namespace PagesGallery.UWP +{ + /// <summary> + /// Provides application-specific behavior to supplement the default Application class. + /// </summary> + partial class App : Application + { + /// <summary> + /// Initializes the singleton application object. This is the first line of authored code + /// executed, and as such is the logical equivalent of main() or WinMain(). + /// </summary> + public App() + { + InitializeComponent(); + Suspending += OnSuspending; + } + + /// <summary> + /// Invoked when the application is launched normally by the end user. Other entry points + /// will be used such as when the application is launched to open a specific file. + /// </summary> + /// <param name="e">Details about the launch request and process.</param> + protected override void OnLaunched(LaunchActivatedEventArgs e) + { +#if DEBUG + if (Debugger.IsAttached) + DebugSettings.EnableFrameRateCounter = true; +#endif + + var rootFrame = Window.Current.Content as Frame; + + // Do not repeat app initialization when the Window already has content, + // just ensure that the window is active + if (rootFrame == null) + { + // Create a Frame to act as the navigation context and navigate to the first page + rootFrame = new Frame(); + + rootFrame.NavigationFailed += OnNavigationFailed; + + Forms.Init(e); + + if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) + { + //TODO: Load state from previously suspended application + } + + // Place the frame in the current Window + Window.Current.Content = rootFrame; + } + + if (rootFrame.Content == null) + { + // When the navigation stack isn't restored navigate to the first page, + // configuring the new page by passing required information as a navigation + // parameter + rootFrame.Navigate(typeof (MainPage), e.Arguments); + } + // Ensure the current window is active + Window.Current.Activate(); + } + + /// <summary> + /// Invoked when Navigation to a certain page fails + /// </summary> + /// <param name="sender">The Frame which failed navigation</param> + /// <param name="e">Details about the navigation failure</param> + void OnNavigationFailed(object sender, NavigationFailedEventArgs e) + { + throw new Exception("Failed to load Page " + e.SourcePageType.FullName); + } + + /// <summary> + /// Invoked when application execution is being suspended. Application state is saved + /// without knowing whether the application will be terminated or resumed with the contents + /// of memory still intact. + /// </summary> + /// <param name="sender">The source of the suspend request.</param> + /// <param name="e">Details about the suspend request.</param> + void OnSuspending(object sender, SuspendingEventArgs e) + { + var deferral = e.SuspendingOperation.GetDeferral(); + //TODO: Save application state and stop any background activity + deferral.Complete(); + } + } +}
\ No newline at end of file diff --git a/PagesGallery/PagesGallery.UWP/Assets/LockScreenLogo.scale-200.png b/PagesGallery/PagesGallery.UWP/Assets/LockScreenLogo.scale-200.png Binary files differnew file mode 100644 index 00000000..735f57ad --- /dev/null +++ b/PagesGallery/PagesGallery.UWP/Assets/LockScreenLogo.scale-200.png diff --git a/PagesGallery/PagesGallery.UWP/Assets/SplashScreen.scale-200.png b/PagesGallery/PagesGallery.UWP/Assets/SplashScreen.scale-200.png Binary files differnew file mode 100644 index 00000000..023e7f1f --- /dev/null +++ b/PagesGallery/PagesGallery.UWP/Assets/SplashScreen.scale-200.png diff --git a/PagesGallery/PagesGallery.UWP/Assets/Square150x150Logo.scale-200.png b/PagesGallery/PagesGallery.UWP/Assets/Square150x150Logo.scale-200.png Binary files differnew file mode 100644 index 00000000..af49fec1 --- /dev/null +++ b/PagesGallery/PagesGallery.UWP/Assets/Square150x150Logo.scale-200.png diff --git a/PagesGallery/PagesGallery.UWP/Assets/Square44x44Logo.scale-200.png b/PagesGallery/PagesGallery.UWP/Assets/Square44x44Logo.scale-200.png Binary files differnew file mode 100644 index 00000000..ce342a2e --- /dev/null +++ b/PagesGallery/PagesGallery.UWP/Assets/Square44x44Logo.scale-200.png diff --git a/PagesGallery/PagesGallery.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/PagesGallery/PagesGallery.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png Binary files differnew file mode 100644 index 00000000..f6c02ce9 --- /dev/null +++ b/PagesGallery/PagesGallery.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png diff --git a/PagesGallery/PagesGallery.UWP/Assets/StoreLogo.png b/PagesGallery/PagesGallery.UWP/Assets/StoreLogo.png Binary files differnew file mode 100644 index 00000000..7385b56c --- /dev/null +++ b/PagesGallery/PagesGallery.UWP/Assets/StoreLogo.png diff --git a/PagesGallery/PagesGallery.UWP/Assets/Wide310x150Logo.scale-200.png b/PagesGallery/PagesGallery.UWP/Assets/Wide310x150Logo.scale-200.png Binary files differnew file mode 100644 index 00000000..288995b3 --- /dev/null +++ b/PagesGallery/PagesGallery.UWP/Assets/Wide310x150Logo.scale-200.png diff --git a/PagesGallery/PagesGallery.UWP/MainPage.xaml b/PagesGallery/PagesGallery.UWP/MainPage.xaml new file mode 100644 index 00000000..a922248b --- /dev/null +++ b/PagesGallery/PagesGallery.UWP/MainPage.xaml @@ -0,0 +1,14 @@ +<forms:WindowsPage + x:Class="PagesGallery.UWP.MainPage" + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:forms="using:Xamarin.Forms.Platform.UWP" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:local="using:PagesGallery.UWP" + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + mc:Ignorable="d"> + + <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> + + </Grid> +</forms:WindowsPage> diff --git a/PagesGallery/PagesGallery.UWP/MainPage.xaml.cs b/PagesGallery/PagesGallery.UWP/MainPage.xaml.cs new file mode 100644 index 00000000..ec4546ff --- /dev/null +++ b/PagesGallery/PagesGallery.UWP/MainPage.xaml.cs @@ -0,0 +1,12 @@ +namespace PagesGallery.UWP +{ + public sealed partial class MainPage + { + public MainPage() + { + InitializeComponent(); + + LoadApplication(new PagesGallery.App()); + } + } +}
\ No newline at end of file diff --git a/PagesGallery/PagesGallery.UWP/Package.appxmanifest b/PagesGallery/PagesGallery.UWP/Package.appxmanifest new file mode 100644 index 00000000..e50e6602 --- /dev/null +++ b/PagesGallery/PagesGallery.UWP/Package.appxmanifest @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="utf-8"?> + +<Package + xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" + xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" + xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" + IgnorableNamespaces="uap mp"> + + <Identity + Name="f736c883-f105-4d30-a719-4bf328872f5e" + Publisher="CN=joaqu" + Version="1.0.0.0" /> + + <mp:PhoneIdentity PhoneProductId="f736c883-f105-4d30-a719-4bf328872f5e" PhonePublisherId="00000000-0000-0000-0000-000000000000"/> + + <Properties> + <DisplayName>FPCL.WIndows</DisplayName> + <PublisherDisplayName>joaqu</PublisherDisplayName> + <Logo>Assets\StoreLogo.png</Logo> + </Properties> + + <Dependencies> + <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" /> + </Dependencies> + + <Resources> + <Resource Language="x-generate"/> + </Resources> + + <Applications> + <Application Id="App" + Executable="$targetnametoken$.exe" + EntryPoint="FPCL.WIndows.App"> + <uap:VisualElements + DisplayName="FPCL.WIndows" + Square150x150Logo="Assets\Square150x150Logo.png" + Square44x44Logo="Assets\Square44x44Logo.png" + Description="FPCL.WIndows" + BackgroundColor="transparent"> + <uap:DefaultTile Wide310x150Logo="Assets\Wide310x150Logo.png"/> + <uap:SplashScreen Image="Assets\SplashScreen.png" /> + </uap:VisualElements> + </Application> + </Applications> + + <Capabilities> + <Capability Name="internetClient" /> + </Capabilities> +</Package>
\ No newline at end of file diff --git a/PagesGallery/PagesGallery.UWP/PagesGallery.UWP.csproj b/PagesGallery/PagesGallery.UWP/PagesGallery.UWP.csproj new file mode 100644 index 00000000..b72b6705 --- /dev/null +++ b/PagesGallery/PagesGallery.UWP/PagesGallery.UWP.csproj @@ -0,0 +1,163 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">x86</Platform> + <ProjectGuid>{95FEB8D4-D57E-4B96-A8D8-59D241C0501B}</ProjectGuid> + <OutputType>AppContainerExe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>PagesGallery.UWP</RootNamespace> + <AssemblyName>PagesGallery.UWP</AssemblyName> + <DefaultLanguage>en-US</DefaultLanguage> + <TargetPlatformIdentifier>UAP</TargetPlatformIdentifier> + <TargetPlatformVersion>10.0.10240.0</TargetPlatformVersion> + <TargetPlatformMinVersion>10.0.10240.0</TargetPlatformMinVersion> + <MinimumVisualStudioVersion>14</MinimumVisualStudioVersion> + <EnableDotNetNativeCompatibleProfile>true</EnableDotNetNativeCompatibleProfile> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <PackageCertificateKeyFile>Windows_TemporaryKey.pfx</PackageCertificateKeyFile> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM'"> + <DebugSymbols>true</DebugSymbols> + <OutputPath>bin\ARM\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants> + <NoWarn>;2008</NoWarn> + <DebugType>full</DebugType> + <PlatformTarget>ARM</PlatformTarget> + <UseVSHostingProcess>false</UseVSHostingProcess> + <ErrorReport>prompt</ErrorReport> + <Prefer32Bit>true</Prefer32Bit> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|ARM'"> + <OutputPath>bin\ARM\Release\</OutputPath> + <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants> + <Optimize>true</Optimize> + <NoWarn>;2008</NoWarn> + <DebugType>pdbonly</DebugType> + <PlatformTarget>ARM</PlatformTarget> + <UseVSHostingProcess>false</UseVSHostingProcess> + <ErrorReport>prompt</ErrorReport> + <Prefer32Bit>true</Prefer32Bit> + <UseDotNetNativeToolchain>true</UseDotNetNativeToolchain> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'"> + <DebugSymbols>true</DebugSymbols> + <OutputPath>bin\x64\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants> + <NoWarn>;2008</NoWarn> + <DebugType>full</DebugType> + <PlatformTarget>x64</PlatformTarget> + <UseVSHostingProcess>false</UseVSHostingProcess> + <ErrorReport>prompt</ErrorReport> + <Prefer32Bit>true</Prefer32Bit> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'"> + <OutputPath>bin\x64\Release\</OutputPath> + <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants> + <Optimize>true</Optimize> + <NoWarn>;2008</NoWarn> + <DebugType>pdbonly</DebugType> + <PlatformTarget>x64</PlatformTarget> + <UseVSHostingProcess>false</UseVSHostingProcess> + <ErrorReport>prompt</ErrorReport> + <Prefer32Bit>true</Prefer32Bit> + <UseDotNetNativeToolchain>true</UseDotNetNativeToolchain> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'"> + <DebugSymbols>true</DebugSymbols> + <OutputPath>bin\x86\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants> + <NoWarn>;2008</NoWarn> + <DebugType>full</DebugType> + <PlatformTarget>x86</PlatformTarget> + <UseVSHostingProcess>false</UseVSHostingProcess> + <ErrorReport>prompt</ErrorReport> + <Prefer32Bit>true</Prefer32Bit> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'"> + <OutputPath>bin\x86\Release\</OutputPath> + <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants> + <Optimize>true</Optimize> + <NoWarn>;2008</NoWarn> + <DebugType>pdbonly</DebugType> + <PlatformTarget>x86</PlatformTarget> + <UseVSHostingProcess>false</UseVSHostingProcess> + <ErrorReport>prompt</ErrorReport> + <Prefer32Bit>true</Prefer32Bit> + <UseDotNetNativeToolchain>true</UseDotNetNativeToolchain> + </PropertyGroup> + <ItemGroup> + <!-- A reference to the entire .Net Framework and Windows SDK are automatically included --> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Compile Include="App.xaml.cs"> + <DependentUpon>App.xaml</DependentUpon> + </Compile> + <Compile Include="MainPage.xaml.cs"> + <DependentUpon>MainPage.xaml</DependentUpon> + </Compile> + <Compile Include="Properties\AssemblyInfo.cs" /> + </ItemGroup> + <ItemGroup> + <AppxManifest Include="Package.appxmanifest"> + <SubType>Designer</SubType> + </AppxManifest> + <None Include="Windows_TemporaryKey.pfx" /> + </ItemGroup> + <ItemGroup> + <Content Include="Properties\Default.rd.xml" /> + <Content Include="Assets\LockScreenLogo.scale-200.png" /> + <Content Include="Assets\SplashScreen.scale-200.png" /> + <Content Include="Assets\Square150x150Logo.scale-200.png" /> + <Content Include="Assets\Square44x44Logo.scale-200.png" /> + <Content Include="Assets\Square44x44Logo.targetsize-24_altform-unplated.png" /> + <Content Include="Assets\StoreLogo.png" /> + <Content Include="Assets\Wide310x150Logo.scale-200.png" /> + </ItemGroup> + <ItemGroup> + <ApplicationDefinition Include="App.xaml"> + <Generator>MSBuild:Compile</Generator> + <SubType>Designer</SubType> + </ApplicationDefinition> + <Page Include="MainPage.xaml"> + <Generator>MSBuild:Compile</Generator> + <SubType>Designer</SubType> + </Page> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\..\Xamarin.Forms.Core\Xamarin.Forms.Core.csproj"> + <Project>{57b8b73d-c3b5-4c42-869e-7b2f17d354ac}</Project> + <Name>Xamarin.Forms.Core</Name> + </ProjectReference> + <ProjectReference Include="..\..\Xamarin.Forms.Pages\Xamarin.Forms.Pages.csproj"> + <Project>{d6133dbd-6c60-4bd5-bea2-07e0a3927c31}</Project> + <Name>Xamarin.Forms.Pages</Name> + </ProjectReference> + <ProjectReference Include="..\..\Xamarin.Forms.Platform.UAP\Xamarin.Forms.Platform.UAP.csproj"> + <Project>{00d8d049-ffaa-4759-8fc9-1eca30777f72}</Project> + <Name>Xamarin.Forms.Platform.UAP</Name> + </ProjectReference> + <ProjectReference Include="..\..\Xamarin.Forms.Xaml\Xamarin.Forms.Xaml.csproj"> + <Project>{9db2f292-8034-4e06-89ad-98bbda4306b9}</Project> + <Name>Xamarin.Forms.Xaml</Name> + </ProjectReference> + <ProjectReference Include="..\PagesGallery\PagesGallery.csproj"> + <Name>PagesGallery</Name> + </ProjectReference> + </ItemGroup> + <PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' < '14.0' "> + <VisualStudioVersion>14.0</VisualStudioVersion> + </PropertyGroup> + <Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets" /> + <Import Project="..\..\.nuspec\Xamarin.Forms.targets" /> + <!-- To modify your build process, add your task inside one of the targets below and uncomment it. + Other similar extension points exist, see Microsoft.Common.targets. + <Target Name="BeforeBuild"> + </Target> + <Target Name="AfterBuild"> + </Target> + --> +</Project>
\ No newline at end of file diff --git a/PagesGallery/PagesGallery.UWP/Properties/AssemblyInfo.cs b/PagesGallery/PagesGallery.UWP/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..a0611778 --- /dev/null +++ b/PagesGallery/PagesGallery.UWP/Properties/AssemblyInfo.cs @@ -0,0 +1,29 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle ("PagesGallery.UWP")] +[assembly: AssemblyDescription ("")] +[assembly: AssemblyConfiguration ("")] +[assembly: AssemblyCompany ("")] +[assembly: AssemblyProduct ("PagesGallery.UWP")] +[assembly: AssemblyCopyright ("Copyright © 2015")] +[assembly: AssemblyTrademark ("")] +[assembly: AssemblyCulture ("")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion ("1.0.0.0")] +[assembly: AssemblyFileVersion ("1.0.0.0")] +[assembly: ComVisible (false)]
\ No newline at end of file diff --git a/PagesGallery/PagesGallery.UWP/Properties/Default.rd.xml b/PagesGallery/PagesGallery.UWP/Properties/Default.rd.xml new file mode 100644 index 00000000..80a960ce --- /dev/null +++ b/PagesGallery/PagesGallery.UWP/Properties/Default.rd.xml @@ -0,0 +1,31 @@ +<!-- + This file contains Runtime Directives used by .NET Native. The defaults here are suitable for most + developers. However, you can modify these parameters to modify the behavior of the .NET Native + optimizer. + + Runtime Directives are documented at http://go.microsoft.com/fwlink/?LinkID=391919 + + To fully enable reflection for App1.MyClass and all of its public/private members + <Type Name="App1.MyClass" Dynamic="Required All"/> + + To enable dynamic creation of the specific instantiation of AppClass<T> over System.Int32 + <TypeInstantiation Name="App1.AppClass" Arguments="System.Int32" Activate="Required Public" /> + + Using the Namespace directive to apply reflection policy to all the types in a particular namespace + <Namespace Name="DataClasses.ViewModels" Seralize="All" /> +--> + +<Directives xmlns="http://schemas.microsoft.com/netfx/2013/01/metadata"> + <Application> + <!-- + An Assembly element with Name="*Application*" applies to all assemblies in + the application package. The asterisks are not wildcards. + --> + <Assembly Name="*Application*" Dynamic="Required All" /> + + + <!-- Add your application specific runtime directives here. --> + + + </Application> +</Directives>
\ No newline at end of file diff --git a/PagesGallery/PagesGallery.UWP/Windows_TemporaryKey.pfx b/PagesGallery/PagesGallery.UWP/Windows_TemporaryKey.pfx Binary files differnew file mode 100644 index 00000000..084f19a4 --- /dev/null +++ b/PagesGallery/PagesGallery.UWP/Windows_TemporaryKey.pfx diff --git a/PagesGallery/PagesGallery.UWP/project.json b/PagesGallery/PagesGallery.UWP/project.json new file mode 100644 index 00000000..226a07ce --- /dev/null +++ b/PagesGallery/PagesGallery.UWP/project.json @@ -0,0 +1,17 @@ +{ + "dependencies": { + "Microsoft.NETCore.UniversalWindowsPlatform": "5.0.0", + "modernhttpclient": "2.4.2" + }, + "frameworks": { + "uap10.0": {} + }, + "runtimes": { + "win10-arm": {}, + "win10-arm-aot": {}, + "win10-x86": {}, + "win10-x86-aot": {}, + "win10-x64": {}, + "win10-x64-aot": {} + } +}
\ No newline at end of file diff --git a/PagesGallery/PagesGallery.WinPhone/App.xaml b/PagesGallery/PagesGallery.WinPhone/App.xaml new file mode 100644 index 00000000..1b6e49f3 --- /dev/null +++ b/PagesGallery/PagesGallery.WinPhone/App.xaml @@ -0,0 +1,7 @@ +<Application + x:Class="PagesGallery.WinPhone.App" + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:local="using:PagesGallery.WinPhone"> + +</Application> diff --git a/PagesGallery/PagesGallery.WinPhone/App.xaml.cs b/PagesGallery/PagesGallery.WinPhone/App.xaml.cs new file mode 100644 index 00000000..059fbf88 --- /dev/null +++ b/PagesGallery/PagesGallery.WinPhone/App.xaml.cs @@ -0,0 +1,127 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices.WindowsRuntime; +using Windows.ApplicationModel; +using Windows.ApplicationModel.Activation; +using Windows.Foundation; +using Windows.Foundation.Collections; +using Windows.UI.Xaml; +using Windows.UI.Xaml.Controls; +using Windows.UI.Xaml.Controls.Primitives; +using Windows.UI.Xaml.Data; +using Windows.UI.Xaml.Input; +using Windows.UI.Xaml.Media; +using Windows.UI.Xaml.Media.Animation; +using Windows.UI.Xaml.Navigation; + +// The Blank Application template is documented at http://go.microsoft.com/fwlink/?LinkId=234227 + +namespace PagesGallery.WinPhone +{ + /// <summary> + /// Provides application-specific behavior to supplement the default Application class. + /// </summary> + public sealed partial class App : Application + { + private TransitionCollection transitions; + + /// <summary> + /// Initializes the singleton application object. This is the first line of authored code + /// executed, and as such is the logical equivalent of main() or WinMain(). + /// </summary> + public App () + { + this.InitializeComponent (); + this.Suspending += this.OnSuspending; + } + + /// <summary> + /// Invoked when the application is launched normally by the end user. Other entry points + /// will be used when the application is launched to open a specific file, to display + /// search results, and so forth. + /// </summary> + /// <param name="e">Details about the launch request and process.</param> + protected override void OnLaunched (LaunchActivatedEventArgs e) + { +#if DEBUG + if (System.Diagnostics.Debugger.IsAttached) + { + this.DebugSettings.EnableFrameRateCounter = true; + } +#endif + + Frame rootFrame = Window.Current.Content as Frame; + + // Do not repeat app initialization when the Window already has content, + // just ensure that the window is active + if (rootFrame == null) { + // Create a Frame to act as the navigation context and navigate to the first page + rootFrame = new Frame (); + + // TODO: change this value to a cache size that is appropriate for your application + rootFrame.CacheSize = 1; + + Xamarin.Forms.Forms.Init (e); + + if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) { + // TODO: Load state from previously suspended application + } + + // Place the frame in the current Window + Window.Current.Content = rootFrame; + } + + if (rootFrame.Content == null) { + // Removes the turnstile navigation for startup. + if (rootFrame.ContentTransitions != null) { + this.transitions = new TransitionCollection (); + foreach (var c in rootFrame.ContentTransitions) { + this.transitions.Add (c); + } + } + + rootFrame.ContentTransitions = null; + rootFrame.Navigated += this.RootFrame_FirstNavigated; + + // When the navigation stack isn't restored navigate to the first page, + // configuring the new page by passing required information as a navigation + // parameter + if (!rootFrame.Navigate (typeof (MainPage), e.Arguments)) { + throw new Exception ("Failed to create initial page"); + } + } + + // Ensure the current window is active + Window.Current.Activate (); + } + + /// <summary> + /// Restores the content transitions after the app has launched. + /// </summary> + /// <param name="sender">The object where the handler is attached.</param> + /// <param name="e">Details about the navigation event.</param> + private void RootFrame_FirstNavigated (object sender, NavigationEventArgs e) + { + var rootFrame = sender as Frame; + rootFrame.ContentTransitions = this.transitions ?? new TransitionCollection () { new NavigationThemeTransition () }; + rootFrame.Navigated -= this.RootFrame_FirstNavigated; + } + + /// <summary> + /// Invoked when application execution is being suspended. Application state is saved + /// without knowing whether the application will be terminated or resumed with the contents + /// of memory still intact. + /// </summary> + /// <param name="sender">The source of the suspend request.</param> + /// <param name="e">Details about the suspend request.</param> + private void OnSuspending (object sender, SuspendingEventArgs e) + { + var deferral = e.SuspendingOperation.GetDeferral (); + + // TODO: Save application state and stop any background activity + deferral.Complete (); + } + } +}
\ No newline at end of file diff --git a/PagesGallery/PagesGallery.WinPhone/Assets/Logo.scale-240.png b/PagesGallery/PagesGallery.WinPhone/Assets/Logo.scale-240.png Binary files differnew file mode 100644 index 00000000..76921ca9 --- /dev/null +++ b/PagesGallery/PagesGallery.WinPhone/Assets/Logo.scale-240.png diff --git a/PagesGallery/PagesGallery.WinPhone/Assets/SmallLogo.scale-240.png b/PagesGallery/PagesGallery.WinPhone/Assets/SmallLogo.scale-240.png Binary files differnew file mode 100644 index 00000000..31663012 --- /dev/null +++ b/PagesGallery/PagesGallery.WinPhone/Assets/SmallLogo.scale-240.png diff --git a/PagesGallery/PagesGallery.WinPhone/Assets/SplashScreen.scale-240.png b/PagesGallery/PagesGallery.WinPhone/Assets/SplashScreen.scale-240.png Binary files differnew file mode 100644 index 00000000..33f26b33 --- /dev/null +++ b/PagesGallery/PagesGallery.WinPhone/Assets/SplashScreen.scale-240.png diff --git a/PagesGallery/PagesGallery.WinPhone/Assets/Square71x71Logo.scale-240.png b/PagesGallery/PagesGallery.WinPhone/Assets/Square71x71Logo.scale-240.png Binary files differnew file mode 100644 index 00000000..cfa54bee --- /dev/null +++ b/PagesGallery/PagesGallery.WinPhone/Assets/Square71x71Logo.scale-240.png diff --git a/PagesGallery/PagesGallery.WinPhone/Assets/StoreLogo.scale-240.png b/PagesGallery/PagesGallery.WinPhone/Assets/StoreLogo.scale-240.png Binary files differnew file mode 100644 index 00000000..47e084b5 --- /dev/null +++ b/PagesGallery/PagesGallery.WinPhone/Assets/StoreLogo.scale-240.png diff --git a/PagesGallery/PagesGallery.WinPhone/Assets/WideLogo.scale-240.png b/PagesGallery/PagesGallery.WinPhone/Assets/WideLogo.scale-240.png Binary files differnew file mode 100644 index 00000000..6249d29d --- /dev/null +++ b/PagesGallery/PagesGallery.WinPhone/Assets/WideLogo.scale-240.png diff --git a/PagesGallery/PagesGallery.WinPhone/MainPage.xaml b/PagesGallery/PagesGallery.WinPhone/MainPage.xaml new file mode 100644 index 00000000..8ae3bc0a --- /dev/null +++ b/PagesGallery/PagesGallery.WinPhone/MainPage.xaml @@ -0,0 +1,12 @@ +<forms:WindowsPhonePage + x:Class="PagesGallery.WinPhone.MainPage" + xmlns:forms="using:Xamarin.Forms.Platform.WinRT" + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:local="using:PagesGallery.WinPhone" + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + mc:Ignorable="d" + Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> + +</forms:WindowsPhonePage>
\ No newline at end of file diff --git a/PagesGallery/PagesGallery.WinPhone/MainPage.xaml.cs b/PagesGallery/PagesGallery.WinPhone/MainPage.xaml.cs new file mode 100644 index 00000000..45fac898 --- /dev/null +++ b/PagesGallery/PagesGallery.WinPhone/MainPage.xaml.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices.WindowsRuntime; +using Windows.Foundation; +using Windows.Foundation.Collections; +using Windows.UI.Xaml; +using Windows.UI.Xaml.Controls; +using Windows.UI.Xaml.Controls.Primitives; +using Windows.UI.Xaml.Data; +using Windows.UI.Xaml.Input; +using Windows.UI.Xaml.Media; +using Windows.UI.Xaml.Navigation; + +// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238 + +namespace PagesGallery.WinPhone +{ + /// <summary> + /// An empty page that can be used on its own or navigated to within a Frame. + /// </summary> + public sealed partial class MainPage + { + public MainPage () + { + this.InitializeComponent (); + + this.NavigationCacheMode = NavigationCacheMode.Required; + + LoadApplication (new PagesGallery.App ()); + } + + /// <summary> + /// Invoked when this page is about to be displayed in a Frame. + /// </summary> + /// <param name="e">Event data that describes how this page was reached. + /// This parameter is typically used to configure the page.</param> + protected override void OnNavigatedTo (NavigationEventArgs e) + { + // TODO: Prepare page for display here. + + // TODO: If your application contains multiple pages, ensure that you are + // handling the hardware Back button by registering for the + // Windows.Phone.UI.Input.HardwareButtons.BackPressed event. + // If you are using the NavigationHelper provided by some templates, + // this event is handled for you. + } + } +} diff --git a/PagesGallery/PagesGallery.WinPhone/Package.appxmanifest b/PagesGallery/PagesGallery.WinPhone/Package.appxmanifest new file mode 100644 index 00000000..cdf2a6a3 --- /dev/null +++ b/PagesGallery/PagesGallery.WinPhone/Package.appxmanifest @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="utf-8"?> +<Package xmlns="http://schemas.microsoft.com/appx/2010/manifest" xmlns:m2="http://schemas.microsoft.com/appx/2013/manifest" xmlns:m3="http://schemas.microsoft.com/appx/2014/manifest" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"> + + <Identity Name="e8ebdf4c-1a3c-4b54-919a-429e98e93142" + Publisher="CN=joaqu" + Version="1.0.0.0" /> + + <mp:PhoneIdentity PhoneProductId="e8ebdf4c-1a3c-4b54-919a-429e98e93142" PhonePublisherId="00000000-0000-0000-0000-000000000000"/> + + <Properties> + <DisplayName>FPCL.Windows8.WindowsPhone</DisplayName> + <PublisherDisplayName>joaqu</PublisherDisplayName> + <Logo>Assets\StoreLogo.png</Logo> + </Properties> + + <Prerequisites> + <OSMinVersion>6.3.1</OSMinVersion> + <OSMaxVersionTested>6.3.1</OSMaxVersionTested> + </Prerequisites> + + <Resources> + <Resource Language="x-generate"/> + </Resources> + + <Applications> + <Application Id="App" + Executable="$targetnametoken$.exe" + EntryPoint="FPCL.Windows8.WindowsPhone.App"> + <m3:VisualElements + DisplayName="FPCL.Windows8.WindowsPhone" + Square150x150Logo="Assets\Logo.png" + Square44x44Logo="Assets\SmallLogo.png" + Description="FPCL.Windows8.WindowsPhone" + ForegroundText="light" + BackgroundColor="transparent"> + <m3:DefaultTile Wide310x150Logo="Assets\WideLogo.png" Square71x71Logo="Assets\Square71x71Logo.png"/> + <m3:SplashScreen Image="Assets\SplashScreen.png"/> + </m3:VisualElements> + </Application> + </Applications> + <Capabilities> + <Capability Name="internetClientServer" /> + </Capabilities> +</Package>
\ No newline at end of file diff --git a/PagesGallery/PagesGallery.WinPhone/PagesGallery.WinPhone.csproj b/PagesGallery/PagesGallery.WinPhone/PagesGallery.WinPhone.csproj new file mode 100644 index 00000000..0adad426 --- /dev/null +++ b/PagesGallery/PagesGallery.WinPhone/PagesGallery.WinPhone.csproj @@ -0,0 +1,166 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProjectGuid>{5AE58797-E40C-4EC3-836E-7DA2EF1B3180}</ProjectGuid> + <OutputType>AppContainerExe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>PagesGallery.WinPhone</RootNamespace> + <AssemblyName>PagesGallery.WinPhone</AssemblyName> + <DefaultLanguage>en-US</DefaultLanguage> + <TargetPlatformVersion>8.1</TargetPlatformVersion> + <MinimumVisualStudioVersion>12</MinimumVisualStudioVersion> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{76F1466A-8B6D-4E39-A767-685A06062A39};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <SynthesizeLinkMetadata>true</SynthesizeLinkMetadata> + <NuGetPackageImportStamp> + </NuGetPackageImportStamp> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <PlatformTarget>AnyCPU</PlatformTarget> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_PHONE_APP</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PlatformTarget>AnyCPU</PlatformTarget> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\Release\</OutputPath> + <DefineConstants>TRACE;NETFX_CORE;WINDOWS_PHONE_APP</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM'"> + <DebugSymbols>true</DebugSymbols> + <OutputPath>bin\ARM\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_PHONE_APP</DefineConstants> + <NoWarn>;2008</NoWarn> + <DebugType>full</DebugType> + <PlatformTarget>ARM</PlatformTarget> + <UseVSHostingProcess>false</UseVSHostingProcess> + <ErrorReport>prompt</ErrorReport> + <Prefer32Bit>true</Prefer32Bit> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|ARM'"> + <OutputPath>bin\ARM\Release\</OutputPath> + <DefineConstants>TRACE;NETFX_CORE;WINDOWS_PHONE_APP</DefineConstants> + <Optimize>true</Optimize> + <NoWarn>;2008</NoWarn> + <DebugType>pdbonly</DebugType> + <PlatformTarget>ARM</PlatformTarget> + <UseVSHostingProcess>false</UseVSHostingProcess> + <ErrorReport>prompt</ErrorReport> + <Prefer32Bit>true</Prefer32Bit> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'"> + <DebugSymbols>true</DebugSymbols> + <OutputPath>bin\x86\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_PHONE_APP</DefineConstants> + <NoWarn>;2008</NoWarn> + <DebugType>full</DebugType> + <PlatformTarget>x86</PlatformTarget> + <UseVSHostingProcess>false</UseVSHostingProcess> + <ErrorReport>prompt</ErrorReport> + <Prefer32Bit>true</Prefer32Bit> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'"> + <OutputPath>bin\x86\Release\</OutputPath> + <DefineConstants>TRACE;NETFX_CORE;WINDOWS_PHONE_APP</DefineConstants> + <Optimize>true</Optimize> + <NoWarn>;2008</NoWarn> + <DebugType>pdbonly</DebugType> + <PlatformTarget>x86</PlatformTarget> + <UseVSHostingProcess>false</UseVSHostingProcess> + <ErrorReport>prompt</ErrorReport> + <Prefer32Bit>true</Prefer32Bit> + </PropertyGroup> + <ItemGroup> + <Compile Include="App.xaml.cs"> + <DependentUpon>App.xaml</DependentUpon> + </Compile> + <Compile Include="MainPage.xaml.cs"> + <DependentUpon>MainPage.xaml</DependentUpon> + </Compile> + <Compile Include="Properties\AssemblyInfo.cs" /> + </ItemGroup> + <ItemGroup> + <AppxManifest Include="Package.appxmanifest"> + <SubType>Designer</SubType> + </AppxManifest> + </ItemGroup> + <ItemGroup> + <Content Include="Assets\Logo.scale-240.png" /> + <Content Include="Assets\SmallLogo.scale-240.png" /> + <Content Include="Assets\SplashScreen.scale-240.png" /> + <Content Include="Assets\Square71x71Logo.scale-240.png" /> + <Content Include="Assets\StoreLogo.scale-240.png" /> + <Content Include="Assets\WideLogo.scale-240.png" /> + </ItemGroup> + <ItemGroup> + <ApplicationDefinition Include="App.xaml"> + <SubType>Designer</SubType> + </ApplicationDefinition> + <Page Include="MainPage.xaml"> + <Generator>MSBuild:Compile</Generator> + <SubType>Designer</SubType> + </Page> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\PagesGallery\PagesGallery.csproj"> + <Name>PagesGallery</Name> + </ProjectReference> + </ItemGroup> + <ItemGroup> + <Reference Include="Xamarin.Forms.Core, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\..\packages\Xamarin.Forms.2.0.0.6482\lib\wpa81\Xamarin.Forms.Core.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Xamarin.Forms.Platform, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\..\packages\Xamarin.Forms.2.0.0.6482\lib\wpa81\Xamarin.Forms.Platform.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Xamarin.Forms.Platform.WinRT, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\..\packages\Xamarin.Forms.2.0.0.6482\lib\wpa81\Xamarin.Forms.Platform.WinRT.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Xamarin.Forms.Platform.WinRT.Phone, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\..\packages\Xamarin.Forms.2.0.0.6482\lib\wpa81\Xamarin.Forms.Platform.WinRT.Phone.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Xamarin.Forms.Xaml, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\..\packages\Xamarin.Forms.2.0.0.6482\lib\wpa81\Xamarin.Forms.Xaml.dll</HintPath> + <Private>True</Private> + </Reference> + </ItemGroup> + <ItemGroup> + <None Include="packages.config" /> + </ItemGroup> + <PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' < '12.0' "> + <VisualStudioVersion>12.0</VisualStudioVersion> + </PropertyGroup> + <PropertyGroup Condition=" '$(TargetPlatformIdentifier)' == '' "> + <TargetPlatformIdentifier>WindowsPhoneApp</TargetPlatformIdentifier> + </PropertyGroup> + <Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets" /> + <Import Project="..\..\packages\Xamarin.Forms.2.0.0.6482\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets" Condition="Exists('..\..\packages\Xamarin.Forms.2.0.0.6482\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" /> + <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> + <PropertyGroup> + <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> + </PropertyGroup> + <Error Condition="!Exists('..\..\packages\Xamarin.Forms.2.0.0.6482\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Xamarin.Forms.2.0.0.6482\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets'))" /> + </Target> + <!-- To modify your build process, add your task inside one of the targets below and uncomment it. + Other similar extension points exist, see Microsoft.Common.targets. + <Target Name="BeforeBuild"> + </Target> + <Target Name="AfterBuild"> + </Target> + --> +</Project>
\ No newline at end of file diff --git a/PagesGallery/PagesGallery.WinPhone/Properties/AssemblyInfo.cs b/PagesGallery/PagesGallery.WinPhone/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..f1a4f4ef --- /dev/null +++ b/PagesGallery/PagesGallery.WinPhone/Properties/AssemblyInfo.cs @@ -0,0 +1,29 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle ("PagesGallery.WinPhone.WindowsPhone")] +[assembly: AssemblyDescription ("")] +[assembly: AssemblyConfiguration ("")] +[assembly: AssemblyCompany ("")] +[assembly: AssemblyProduct ("PagesGallery.WinPhone.WindowsPhone")] +[assembly: AssemblyCopyright ("Copyright © 2015")] +[assembly: AssemblyTrademark ("")] +[assembly: AssemblyCulture ("")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion ("1.0.0.0")] +[assembly: AssemblyFileVersion ("1.0.0.0")] +[assembly: ComVisible (false)]
\ No newline at end of file diff --git a/PagesGallery/PagesGallery.WinPhone/packages.config b/PagesGallery/PagesGallery.WinPhone/packages.config new file mode 100644 index 00000000..fe86bc49 --- /dev/null +++ b/PagesGallery/PagesGallery.WinPhone/packages.config @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<packages> + <package id="Xamarin.Forms" version="2.0.0.6482" targetFramework="wpa81" /> +</packages>
\ No newline at end of file diff --git a/PagesGallery/PagesGallery.Windows/App.xaml b/PagesGallery/PagesGallery.Windows/App.xaml new file mode 100644 index 00000000..66d0576c --- /dev/null +++ b/PagesGallery/PagesGallery.Windows/App.xaml @@ -0,0 +1,7 @@ +<Application + x:Class="PagesGallery.Windows.App" + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:local="using:PagesGallery.Windows"> + +</Application> diff --git a/PagesGallery/PagesGallery.Windows/App.xaml.cs b/PagesGallery/PagesGallery.Windows/App.xaml.cs new file mode 100644 index 00000000..6c0e11d7 --- /dev/null +++ b/PagesGallery/PagesGallery.Windows/App.xaml.cs @@ -0,0 +1,102 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices.WindowsRuntime; +using Windows.ApplicationModel; +using Windows.ApplicationModel.Activation; +using Windows.Foundation; +using Windows.Foundation.Collections; +using Windows.UI.Xaml; +using Windows.UI.Xaml.Controls; +using Windows.UI.Xaml.Controls.Primitives; +using Windows.UI.Xaml.Data; +using Windows.UI.Xaml.Input; +using Windows.UI.Xaml.Media; +using Windows.UI.Xaml.Media.Animation; +using Windows.UI.Xaml.Navigation; + +// The Blank Application template is documented at http://go.microsoft.com/fwlink/?LinkId=234227 + +namespace PagesGallery.Windows +{ + /// <summary> + /// Provides application-specific behavior to supplement the default Application class. + /// </summary> + public sealed partial class App : Application + { + /// <summary> + /// Initializes the singleton application object. This is the first line of authored code + /// executed, and as such is the logical equivalent of main() or WinMain(). + /// </summary> + public App () + { + this.InitializeComponent (); + this.Suspending += this.OnSuspending; + } + + /// <summary> + /// Invoked when the application is launched normally by the end user. Other entry points + /// will be used when the application is launched to open a specific file, to display + /// search results, and so forth. + /// </summary> + /// <param name="e">Details about the launch request and process.</param> + protected override void OnLaunched (LaunchActivatedEventArgs e) + { +#if DEBUG + if (System.Diagnostics.Debugger.IsAttached) + { + this.DebugSettings.EnableFrameRateCounter = true; + } +#endif + + Frame rootFrame = Window.Current.Content as Frame; + + // Do not repeat app initialization when the Window already has content, + // just ensure that the window is active + if (rootFrame == null) { + // Create a Frame to act as the navigation context and navigate to the first page + rootFrame = new Frame (); + + // TODO: change this value to a cache size that is appropriate for your application + rootFrame.CacheSize = 1; + + Xamarin.Forms.Forms.Init (e); + + if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) { + // TODO: Load state from previously suspended application + } + + // Place the frame in the current Window + Window.Current.Content = rootFrame; + } + + if (rootFrame.Content == null) { + // When the navigation stack isn't restored navigate to the first page, + // configuring the new page by passing required information as a navigation + // parameter + if (!rootFrame.Navigate (typeof (MainPage), e.Arguments)) { + throw new Exception ("Failed to create initial page"); + } + } + + // Ensure the current window is active + Window.Current.Activate (); + } + + /// <summary> + /// Invoked when application execution is being suspended. Application state is saved + /// without knowing whether the application will be terminated or resumed with the contents + /// of memory still intact. + /// </summary> + /// <param name="sender">The source of the suspend request.</param> + /// <param name="e">Details about the suspend request.</param> + private void OnSuspending (object sender, SuspendingEventArgs e) + { + var deferral = e.SuspendingOperation.GetDeferral (); + + // TODO: Save application state and stop any background activity + deferral.Complete (); + } + } +}
\ No newline at end of file diff --git a/PagesGallery/PagesGallery.Windows/Assets/Logo.scale-100.png b/PagesGallery/PagesGallery.Windows/Assets/Logo.scale-100.png Binary files differnew file mode 100644 index 00000000..e26771cb --- /dev/null +++ b/PagesGallery/PagesGallery.Windows/Assets/Logo.scale-100.png diff --git a/PagesGallery/PagesGallery.Windows/Assets/SmallLogo.scale-100.png b/PagesGallery/PagesGallery.Windows/Assets/SmallLogo.scale-100.png Binary files differnew file mode 100644 index 00000000..1eb0d9d5 --- /dev/null +++ b/PagesGallery/PagesGallery.Windows/Assets/SmallLogo.scale-100.png diff --git a/PagesGallery/PagesGallery.Windows/Assets/SplashScreen.scale-100.png b/PagesGallery/PagesGallery.Windows/Assets/SplashScreen.scale-100.png Binary files differnew file mode 100644 index 00000000..c951e031 --- /dev/null +++ b/PagesGallery/PagesGallery.Windows/Assets/SplashScreen.scale-100.png diff --git a/PagesGallery/PagesGallery.Windows/Assets/StoreLogo.scale-100.png b/PagesGallery/PagesGallery.Windows/Assets/StoreLogo.scale-100.png Binary files differnew file mode 100644 index 00000000..dcb67271 --- /dev/null +++ b/PagesGallery/PagesGallery.Windows/Assets/StoreLogo.scale-100.png diff --git a/PagesGallery/PagesGallery.Windows/MainPage.xaml b/PagesGallery/PagesGallery.Windows/MainPage.xaml new file mode 100644 index 00000000..439770ea --- /dev/null +++ b/PagesGallery/PagesGallery.Windows/MainPage.xaml @@ -0,0 +1,14 @@ +<forms:WindowsPage + x:Class="PagesGallery.Windows.MainPage" + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:forms="using:Xamarin.Forms.Platform.WinRT" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:local="using:PagesGallery.Windows" + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + mc:Ignorable="d"> + + <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> + + </Grid> +</forms:WindowsPage> diff --git a/PagesGallery/PagesGallery.Windows/MainPage.xaml.cs b/PagesGallery/PagesGallery.Windows/MainPage.xaml.cs new file mode 100644 index 00000000..3029e7c2 --- /dev/null +++ b/PagesGallery/PagesGallery.Windows/MainPage.xaml.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices.WindowsRuntime; +using Windows.Foundation; +using Windows.Foundation.Collections; +using Windows.UI.Xaml; +using Windows.UI.Xaml.Controls; +using Windows.UI.Xaml.Controls.Primitives; +using Windows.UI.Xaml.Data; +using Windows.UI.Xaml.Input; +using Windows.UI.Xaml.Media; +using Windows.UI.Xaml.Navigation; + +namespace PagesGallery.Windows +{ + public sealed partial class MainPage + { + public MainPage () + { + this.InitializeComponent (); + + LoadApplication (new PagesGallery.App ()); + } + } +} diff --git a/PagesGallery/PagesGallery.Windows/Package.appxmanifest b/PagesGallery/PagesGallery.Windows/Package.appxmanifest new file mode 100644 index 00000000..188ba67c --- /dev/null +++ b/PagesGallery/PagesGallery.Windows/Package.appxmanifest @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<Package xmlns="http://schemas.microsoft.com/appx/2010/manifest" xmlns:m2="http://schemas.microsoft.com/appx/2013/manifest"> + + <Identity Name="85930d70-750c-41a6-9b95-03faaed4159c" + Publisher="CN=joaqu" + Version="1.0.0.0" /> + + <Properties> + <DisplayName>FPCL.Windows8.Windows</DisplayName> + <PublisherDisplayName>joaqu</PublisherDisplayName> + <Logo>Assets\StoreLogo.png</Logo> + </Properties> + + <Prerequisites> + <OSMinVersion>6.3.0</OSMinVersion> + <OSMaxVersionTested>6.3.0</OSMaxVersionTested> + </Prerequisites> + + <Resources> + <Resource Language="x-generate"/> + </Resources> + + <Applications> + <Application Id="App" + Executable="$targetnametoken$.exe" + EntryPoint="FPCL.Windows8.Windows.App"> + <m2:VisualElements + DisplayName="FPCL.Windows8.Windows" + Square150x150Logo="Assets\Logo.png" + Square30x30Logo="Assets\SmallLogo.png" + Description="FPCL.Windows8.Windows" + ForegroundText="light" + BackgroundColor="#464646"> + <m2:SplashScreen Image="Assets\SplashScreen.png" /> + </m2:VisualElements> + </Application> + </Applications> + <Capabilities> + <Capability Name="internetClient" /> + </Capabilities> +</Package>
\ No newline at end of file diff --git a/PagesGallery/PagesGallery.Windows/PagesGallery.Windows.csproj b/PagesGallery/PagesGallery.Windows/PagesGallery.Windows.csproj new file mode 100644 index 00000000..13472fde --- /dev/null +++ b/PagesGallery/PagesGallery.Windows/PagesGallery.Windows.csproj @@ -0,0 +1,183 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProjectGuid>{0948BB67-B926-4B4C-A093-9B49211DD801}</ProjectGuid> + <OutputType>AppContainerExe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>PagesGallery.Windows</RootNamespace> + <AssemblyName>PagesGallery.Windows</AssemblyName> + <DefaultLanguage>en-US</DefaultLanguage> + <TargetPlatformVersion>8.1</TargetPlatformVersion> + <MinimumVisualStudioVersion>12</MinimumVisualStudioVersion> + <FileAlignment>512</FileAlignment> + <SynthesizeLinkMetadata>true</SynthesizeLinkMetadata> + <ProjectTypeGuids>{BC8A1FFA-BEE3-4634-8014-F334798102B3};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <PackageCertificateKeyFile>Windows_TemporaryKey.pfx</PackageCertificateKeyFile> + <NuGetPackageImportStamp> + </NuGetPackageImportStamp> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <PlatformTarget>AnyCPU</PlatformTarget> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_APP</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PlatformTarget>AnyCPU</PlatformTarget> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\Release\</OutputPath> + <DefineConstants>TRACE;NETFX_CORE;WINDOWS_APP</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM'"> + <DebugSymbols>true</DebugSymbols> + <OutputPath>bin\ARM\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_APP</DefineConstants> + <NoWarn>;2008</NoWarn> + <DebugType>full</DebugType> + <PlatformTarget>ARM</PlatformTarget> + <UseVSHostingProcess>false</UseVSHostingProcess> + <ErrorReport>prompt</ErrorReport> + <Prefer32Bit>true</Prefer32Bit> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|ARM'"> + <OutputPath>bin\ARM\Release\</OutputPath> + <DefineConstants>TRACE;NETFX_CORE;WINDOWS_APP</DefineConstants> + <Optimize>true</Optimize> + <NoWarn>;2008</NoWarn> + <DebugType>pdbonly</DebugType> + <PlatformTarget>ARM</PlatformTarget> + <UseVSHostingProcess>false</UseVSHostingProcess> + <ErrorReport>prompt</ErrorReport> + <Prefer32Bit>true</Prefer32Bit> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'"> + <DebugSymbols>true</DebugSymbols> + <OutputPath>bin\x64\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_APP</DefineConstants> + <NoWarn>;2008</NoWarn> + <DebugType>full</DebugType> + <PlatformTarget>x64</PlatformTarget> + <UseVSHostingProcess>false</UseVSHostingProcess> + <ErrorReport>prompt</ErrorReport> + <Prefer32Bit>true</Prefer32Bit> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'"> + <OutputPath>bin\x64\Release\</OutputPath> + <DefineConstants>TRACE;NETFX_CORE;WINDOWS_APP</DefineConstants> + <Optimize>true</Optimize> + <NoWarn>;2008</NoWarn> + <DebugType>pdbonly</DebugType> + <PlatformTarget>x64</PlatformTarget> + <UseVSHostingProcess>false</UseVSHostingProcess> + <ErrorReport>prompt</ErrorReport> + <Prefer32Bit>true</Prefer32Bit> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'"> + <DebugSymbols>true</DebugSymbols> + <OutputPath>bin\x86\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_APP</DefineConstants> + <NoWarn>;2008</NoWarn> + <DebugType>full</DebugType> + <PlatformTarget>x86</PlatformTarget> + <UseVSHostingProcess>false</UseVSHostingProcess> + <ErrorReport>prompt</ErrorReport> + <Prefer32Bit>true</Prefer32Bit> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'"> + <OutputPath>bin\x86\Release\</OutputPath> + <DefineConstants>TRACE;NETFX_CORE;WINDOWS_APP</DefineConstants> + <Optimize>true</Optimize> + <NoWarn>;2008</NoWarn> + <DebugType>pdbonly</DebugType> + <PlatformTarget>x86</PlatformTarget> + <UseVSHostingProcess>false</UseVSHostingProcess> + <ErrorReport>prompt</ErrorReport> + <Prefer32Bit>true</Prefer32Bit> + </PropertyGroup> + <ItemGroup> + <Compile Include="App.xaml.cs"> + <DependentUpon>App.xaml</DependentUpon> + </Compile> + <Compile Include="MainPage.xaml.cs"> + <DependentUpon>MainPage.xaml</DependentUpon> + </Compile> + <Compile Include="Properties\AssemblyInfo.cs" /> + </ItemGroup> + <ItemGroup> + <AppxManifest Include="Package.appxmanifest"> + <SubType>Designer</SubType> + </AppxManifest> + <None Include="packages.config" /> + <None Include="Windows_TemporaryKey.pfx" /> + </ItemGroup> + <ItemGroup> + <Content Include="Assets\Logo.scale-100.png" /> + <Content Include="Assets\SmallLogo.scale-100.png" /> + <Content Include="Assets\SplashScreen.scale-100.png" /> + <Content Include="Assets\StoreLogo.scale-100.png" /> + </ItemGroup> + <ItemGroup> + <ApplicationDefinition Include="App.xaml"> + <SubType>Designer</SubType> + </ApplicationDefinition> + <Page Include="MainPage.xaml"> + <Generator>MSBuild:Compile</Generator> + <SubType>Designer</SubType> + </Page> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\PagesGallery\PagesGallery.csproj"> + <Name>PagesGallery</Name> + </ProjectReference> + </ItemGroup> + <ItemGroup> + <Reference Include="Xamarin.Forms.Core, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\..\packages\Xamarin.Forms.2.0.0.6482\lib\win81\Xamarin.Forms.Core.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Xamarin.Forms.Platform, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\..\packages\Xamarin.Forms.2.0.0.6482\lib\win81\Xamarin.Forms.Platform.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Xamarin.Forms.Platform.WinRT, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\..\packages\Xamarin.Forms.2.0.0.6482\lib\win81\Xamarin.Forms.Platform.WinRT.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Xamarin.Forms.Platform.WinRT.Tablet, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\..\packages\Xamarin.Forms.2.0.0.6482\lib\win81\Xamarin.Forms.Platform.WinRT.Tablet.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Xamarin.Forms.Xaml, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\..\packages\Xamarin.Forms.2.0.0.6482\lib\win81\Xamarin.Forms.Xaml.dll</HintPath> + <Private>True</Private> + </Reference> + </ItemGroup> + <PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' < '12.0' "> + <VisualStudioVersion>12.0</VisualStudioVersion> + </PropertyGroup> + <Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets" /> + <Import Project="..\..\packages\Xamarin.Forms.2.0.0.6482\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets" Condition="Exists('..\..\packages\Xamarin.Forms.2.0.0.6482\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" /> + <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> + <PropertyGroup> + <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> + </PropertyGroup> + <Error Condition="!Exists('..\..\packages\Xamarin.Forms.2.0.0.6482\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Xamarin.Forms.2.0.0.6482\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets'))" /> + </Target> + <!-- To modify your build process, add your task inside one of the targets below and uncomment it. + Other similar extension points exist, see Microsoft.Common.targets. + <Target Name="BeforeBuild"> + </Target> + <Target Name="AfterBuild"> + </Target> + --> +</Project>
\ No newline at end of file diff --git a/PagesGallery/PagesGallery.Windows/Properties/AssemblyInfo.cs b/PagesGallery/PagesGallery.Windows/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..2912048a --- /dev/null +++ b/PagesGallery/PagesGallery.Windows/Properties/AssemblyInfo.cs @@ -0,0 +1,29 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle ("PagesGallery.Windows.Windows")] +[assembly: AssemblyDescription ("")] +[assembly: AssemblyConfiguration ("")] +[assembly: AssemblyCompany ("")] +[assembly: AssemblyProduct ("PagesGallery.Windows.Windows")] +[assembly: AssemblyCopyright ("Copyright © 2015")] +[assembly: AssemblyTrademark ("")] +[assembly: AssemblyCulture ("")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion ("1.0.0.0")] +[assembly: AssemblyFileVersion ("1.0.0.0")] +[assembly: ComVisible (false)]
\ No newline at end of file diff --git a/PagesGallery/PagesGallery.Windows/Windows_TemporaryKey.pfx b/PagesGallery/PagesGallery.Windows/Windows_TemporaryKey.pfx Binary files differnew file mode 100644 index 00000000..27389f27 --- /dev/null +++ b/PagesGallery/PagesGallery.Windows/Windows_TemporaryKey.pfx diff --git a/PagesGallery/PagesGallery.Windows/packages.config b/PagesGallery/PagesGallery.Windows/packages.config new file mode 100644 index 00000000..b258b22f --- /dev/null +++ b/PagesGallery/PagesGallery.Windows/packages.config @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<packages> + <package id="Xamarin.Forms" version="2.0.0.6482" targetFramework="win81" /> +</packages>
\ No newline at end of file diff --git a/PagesGallery/PagesGallery.iOS/AppDelegate.cs b/PagesGallery/PagesGallery.iOS/AppDelegate.cs new file mode 100644 index 00000000..7d59ad21 --- /dev/null +++ b/PagesGallery/PagesGallery.iOS/AppDelegate.cs @@ -0,0 +1,29 @@ +using Foundation; +using UIKit; +using Xamarin.Forms; +using Xamarin.Forms.Platform.iOS; + +namespace PagesGallery.iOS +{ + // The UIApplicationDelegate for the application. This class is responsible for launching the + // User Interface of the application, as well as listening (and optionally responding) to + // application events from iOS. + [Register("AppDelegate")] + public class AppDelegate : FormsApplicationDelegate + { + // + // This method is invoked when the application has loaded and is ready to run. In this + // method you should instantiate the window, load the UI into it and then make the window + // visible. + // + // You have 17 seconds to return from this method, or iOS will terminate your application. + // + public override bool FinishedLaunching(UIApplication app, NSDictionary options) + { + Forms.Init(); + LoadApplication(new App()); + + return base.FinishedLaunching(app, options); + } + } +}
\ No newline at end of file diff --git a/PagesGallery/PagesGallery.iOS/Entitlements.plist b/PagesGallery/PagesGallery.iOS/Entitlements.plist new file mode 100644 index 00000000..e9a3005f --- /dev/null +++ b/PagesGallery/PagesGallery.iOS/Entitlements.plist @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> +</dict> +</plist> + diff --git a/PagesGallery/PagesGallery.iOS/Info.plist b/PagesGallery/PagesGallery.iOS/Info.plist new file mode 100644 index 00000000..c68a0161 --- /dev/null +++ b/PagesGallery/PagesGallery.iOS/Info.plist @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> + <dict> + <key>UIDeviceFamily</key> + <array> + <integer>1</integer> + <integer>2</integer> + </array> + <key>UISupportedInterfaceOrientations</key> + <array> + <string>UIInterfaceOrientationPortrait</string> + <string>UIInterfaceOrientationLandscapeLeft</string> + <string>UIInterfaceOrientationLandscapeRight</string> + </array> + <key>UISupportedInterfaceOrientations~ipad</key> + <array> + <string>UIInterfaceOrientationPortrait</string> + <string>UIInterfaceOrientationPortraitUpsideDown</string> + <string>UIInterfaceOrientationLandscapeLeft</string> + <string>UIInterfaceOrientationLandscapeRight</string> + </array> + <key>MinimumOSVersion</key> + <string>6.0</string> + <key>CFBundleDisplayName</key> + <string>PagesGallery</string> + <key>CFBundleIdentifier</key> + <string>com.yourcompany.PagesGallery</string> + <key>CFBundleVersion</key> + <string>1.0</string> + <key>CFBundleIconFiles</key> + <array> + <string>Icon-60@2x</string> + <string>Icon-60@3x</string> + <string>Icon-76</string> + <string>Icon-76@2x</string> + <string>Default</string> + <string>Default@2x</string> + <string>Default-568h@2x</string> + <string>Default-Portrait</string> + <string>Default-Portrait@2x</string> + <string>Icon-Small-40</string> + <string>Icon-Small-40@2x</string> + <string>Icon-Small-40@3x</string> + <string>Icon-Small</string> + <string>Icon-Small@2x</string> + <string>Icon-Small@3x</string> + </array> + <key>UILaunchStoryboardName</key> + <string>LaunchScreen</string> + </dict> +</plist> diff --git a/PagesGallery/PagesGallery.iOS/Main.cs b/PagesGallery/PagesGallery.iOS/Main.cs new file mode 100644 index 00000000..b4caffaa --- /dev/null +++ b/PagesGallery/PagesGallery.iOS/Main.cs @@ -0,0 +1,15 @@ +using UIKit; + +namespace PagesGallery.iOS +{ + public class Application + { + // This is the main entry point of the application. + static void Main(string[] args) + { + // if you want to use a different Application Delegate class from "AppDelegate" + // you can specify it here. + UIApplication.Main(args, null, "AppDelegate"); + } + } +}
\ No newline at end of file diff --git a/PagesGallery/PagesGallery.iOS/PagesGallery.iOS.csproj b/PagesGallery/PagesGallery.iOS/PagesGallery.iOS.csproj new file mode 100644 index 00000000..8607831c --- /dev/null +++ b/PagesGallery/PagesGallery.iOS/PagesGallery.iOS.csproj @@ -0,0 +1,160 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">iPhoneSimulator</Platform> + <ProductVersion>8.0.30703</ProductVersion> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{392156B2-760A-4EE3-A822-CABD3238A21D}</ProjectGuid> + <ProjectTypeGuids>{FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <OutputType>Exe</OutputType> + <RootNamespace>PagesGallery.iOS</RootNamespace> + <IPhoneResourcePrefix>Resources</IPhoneResourcePrefix> + <AssemblyName>PagesGalleryiOS</AssemblyName> + <NuGetPackageImportStamp> + </NuGetPackageImportStamp> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhoneSimulator' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\iPhoneSimulator\Debug</OutputPath> + <DefineConstants>DEBUG</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <ConsolePause>false</ConsolePause> + <MtouchArch>i386, x86_64</MtouchArch> + <MtouchLink>None</MtouchLink> + <MtouchDebug>true</MtouchDebug> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' "> + <DebugType>none</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\iPhoneSimulator\Release</OutputPath> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <MtouchLink>None</MtouchLink> + <MtouchArch>i386, x86_64</MtouchArch> + <ConsolePause>false</ConsolePause> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhone' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\iPhone\Debug</OutputPath> + <DefineConstants>DEBUG</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <ConsolePause>false</ConsolePause> + <MtouchArch>ARMv7, ARM64</MtouchArch> + <CodesignKey>iPhone Developer</CodesignKey> + <MtouchDebug>true</MtouchDebug> + <CodesignEntitlements>Entitlements.plist</CodesignEntitlements> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' "> + <DebugType>none</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\iPhone\Release</OutputPath> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <MtouchArch>ARMv7, ARM64</MtouchArch> + <ConsolePause>false</ConsolePause> + <CodesignKey>iPhone Developer</CodesignKey> + <CodesignEntitlements>Entitlements.plist</CodesignEntitlements> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Ad-Hoc|iPhone' "> + <DebugType>none</DebugType> + <Optimize>True</Optimize> + <OutputPath>bin\iPhone\Ad-Hoc</OutputPath> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <ConsolePause>False</ConsolePause> + <MtouchArch>ARMv7, ARM64</MtouchArch> + <BuildIpa>True</BuildIpa> + <CodesignProvision>Automatic:AdHoc</CodesignProvision> + <CodesignKey>iPhone Distribution</CodesignKey> + <CodesignEntitlements>Entitlements.plist</CodesignEntitlements> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'AppStore|iPhone' "> + <DebugType>none</DebugType> + <Optimize>True</Optimize> + <OutputPath>bin\iPhone\AppStore</OutputPath> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <ConsolePause>False</ConsolePause> + <MtouchArch>ARMv7, ARM64</MtouchArch> + <CodesignProvision>Automatic:AppStore</CodesignProvision> + <CodesignKey>iPhone Distribution</CodesignKey> + <CodesignEntitlements>Entitlements.plist</CodesignEntitlements> + </PropertyGroup> + <ItemGroup> + <Compile Include="Main.cs" /> + <Compile Include="AppDelegate.cs" /> + <None Include="app.config" /> + <None Include="Entitlements.plist" /> + <None Include="Info.plist" /> + <Compile Include="Properties\AssemblyInfo.cs" /> + <ITunesArtwork Include="iTunesArtwork" /> + <ITunesArtwork Include="iTunesArtwork@2x" /> + <None Include="packages.config"> + <SubType>Designer</SubType> + </None> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\..\Stubs\Xamarin.Forms.Platform.iOS\Xamarin.Forms.Platform.iOS %28Forwarders%29.csproj"> + <Project>{39b3457f-01d8-43d0-8e84-d8c4f73cf48d}</Project> + <Name>Xamarin.Forms.Platform.iOS %28Forwarders%29</Name> + </ProjectReference> + <ProjectReference Include="..\..\Xamarin.Forms.Core\Xamarin.Forms.Core.csproj"> + <Project>{57b8b73d-c3b5-4c42-869e-7b2f17d354ac}</Project> + <Name>Xamarin.Forms.Core</Name> + </ProjectReference> + <ProjectReference Include="..\..\Xamarin.Forms.Pages\Xamarin.Forms.Pages.csproj"> + <Project>{d6133dbd-6c60-4bd5-bea2-07e0a3927c31}</Project> + <Name>Xamarin.Forms.Pages</Name> + </ProjectReference> + <ProjectReference Include="..\..\Xamarin.Forms.Platform.iOS\Xamarin.Forms.Platform.iOS.csproj"> + <Project>{271193c1-6e7c-429c-a36d-3f1be5267231}</Project> + <Name>Xamarin.Forms.Platform.iOS</Name> + <IsAppExtension>false</IsAppExtension> + <IsWatchApp>false</IsWatchApp> + </ProjectReference> + <ProjectReference Include="..\..\Xamarin.Forms.Xaml\Xamarin.Forms.Xaml.csproj"> + <Project>{9db2f292-8034-4e06-89ad-98bbda4306b9}</Project> + <Name>Xamarin.Forms.Xaml</Name> + </ProjectReference> + <ProjectReference Include="..\PagesGallery\PagesGallery.csproj"> + <Name>PagesGallery</Name> + </ProjectReference> + </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%402x.png" /> + <BundleResource Include="Resources\Icon-60%403x.png" /> + <BundleResource Include="Resources\Icon-76.png" /> + <BundleResource Include="Resources\Icon-76%402x.png" /> + <BundleResource Include="Resources\Icon-Small-40.png" /> + <BundleResource Include="Resources\Icon-Small-40%402x.png" /> + <BundleResource Include="Resources\Icon-Small-40%403x.png" /> + <BundleResource Include="Resources\Icon-Small.png" /> + <BundleResource Include="Resources\Icon-Small%402x.png" /> + <BundleResource Include="Resources\Icon-Small%403x.png" /> + <InterfaceDefinition Include="Resources\LaunchScreen.storyboard" /> + </ItemGroup> + <ItemGroup> + <Reference Include="ModernHttpClient, Version=2.4.2.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\..\packages\modernhttpclient.2.4.2\lib\Xamarin.iOS10\ModernHttpClient.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="System" /> + <Reference Include="System.Xml" /> + <Reference Include="System.Core" /> + <Reference Include="Xamarin.iOS" /> + </ItemGroup> + <Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" /> + <Import Project="..\..\.nuspec\Xamarin.Forms.targets" /> +</Project>
\ No newline at end of file diff --git a/PagesGallery/PagesGallery.iOS/Properties/AssemblyInfo.cs b/PagesGallery/PagesGallery.iOS/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..c91e3867 --- /dev/null +++ b/PagesGallery/PagesGallery.iOS/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle ("PagesGallery.iOS")] +[assembly: AssemblyDescription ("")] +[assembly: AssemblyConfiguration ("")] +[assembly: AssemblyCompany ("")] +[assembly: AssemblyProduct ("PagesGallery.iOS")] +[assembly: AssemblyCopyright ("Copyright © 2014")] +[assembly: AssemblyTrademark ("")] +[assembly: AssemblyCulture ("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible (false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid ("72bdc44f-c588-44f3-b6df-9aace7daafdd")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion ("1.0.0.0")] +[assembly: AssemblyFileVersion ("1.0.0.0")] diff --git a/PagesGallery/PagesGallery.iOS/Resources/Default-568h@2x.png b/PagesGallery/PagesGallery.iOS/Resources/Default-568h@2x.png Binary files differnew file mode 100644 index 00000000..26c6461e --- /dev/null +++ b/PagesGallery/PagesGallery.iOS/Resources/Default-568h@2x.png diff --git a/PagesGallery/PagesGallery.iOS/Resources/Default-Portrait.png b/PagesGallery/PagesGallery.iOS/Resources/Default-Portrait.png Binary files differnew file mode 100644 index 00000000..5d0d1ab4 --- /dev/null +++ b/PagesGallery/PagesGallery.iOS/Resources/Default-Portrait.png diff --git a/PagesGallery/PagesGallery.iOS/Resources/Default-Portrait@2x.png b/PagesGallery/PagesGallery.iOS/Resources/Default-Portrait@2x.png Binary files differnew file mode 100644 index 00000000..0ee2688e --- /dev/null +++ b/PagesGallery/PagesGallery.iOS/Resources/Default-Portrait@2x.png diff --git a/PagesGallery/PagesGallery.iOS/Resources/Default.png b/PagesGallery/PagesGallery.iOS/Resources/Default.png Binary files differnew file mode 100644 index 00000000..b74643c0 --- /dev/null +++ b/PagesGallery/PagesGallery.iOS/Resources/Default.png diff --git a/PagesGallery/PagesGallery.iOS/Resources/Default@2x.png b/PagesGallery/PagesGallery.iOS/Resources/Default@2x.png Binary files differnew file mode 100644 index 00000000..dbd6bd3e --- /dev/null +++ b/PagesGallery/PagesGallery.iOS/Resources/Default@2x.png diff --git a/PagesGallery/PagesGallery.iOS/Resources/Icon-60@2x.png b/PagesGallery/PagesGallery.iOS/Resources/Icon-60@2x.png Binary files differnew file mode 100644 index 00000000..4b03c427 --- /dev/null +++ b/PagesGallery/PagesGallery.iOS/Resources/Icon-60@2x.png diff --git a/PagesGallery/PagesGallery.iOS/Resources/Icon-60@3x.png b/PagesGallery/PagesGallery.iOS/Resources/Icon-60@3x.png Binary files differnew file mode 100644 index 00000000..b03ca1bb --- /dev/null +++ b/PagesGallery/PagesGallery.iOS/Resources/Icon-60@3x.png diff --git a/PagesGallery/PagesGallery.iOS/Resources/Icon-76.png b/PagesGallery/PagesGallery.iOS/Resources/Icon-76.png Binary files differnew file mode 100644 index 00000000..587982e2 --- /dev/null +++ b/PagesGallery/PagesGallery.iOS/Resources/Icon-76.png diff --git a/PagesGallery/PagesGallery.iOS/Resources/Icon-76@2x.png b/PagesGallery/PagesGallery.iOS/Resources/Icon-76@2x.png Binary files differnew file mode 100644 index 00000000..cd4e2c8f --- /dev/null +++ b/PagesGallery/PagesGallery.iOS/Resources/Icon-76@2x.png diff --git a/PagesGallery/PagesGallery.iOS/Resources/Icon-Small-40.png b/PagesGallery/PagesGallery.iOS/Resources/Icon-Small-40.png Binary files differnew file mode 100644 index 00000000..6acff944 --- /dev/null +++ b/PagesGallery/PagesGallery.iOS/Resources/Icon-Small-40.png diff --git a/PagesGallery/PagesGallery.iOS/Resources/Icon-Small-40@2x.png b/PagesGallery/PagesGallery.iOS/Resources/Icon-Small-40@2x.png Binary files differnew file mode 100644 index 00000000..b833aac2 --- /dev/null +++ b/PagesGallery/PagesGallery.iOS/Resources/Icon-Small-40@2x.png diff --git a/PagesGallery/PagesGallery.iOS/Resources/Icon-Small-40@3x.png b/PagesGallery/PagesGallery.iOS/Resources/Icon-Small-40@3x.png Binary files differnew file mode 100644 index 00000000..ab8654e4 --- /dev/null +++ b/PagesGallery/PagesGallery.iOS/Resources/Icon-Small-40@3x.png diff --git a/PagesGallery/PagesGallery.iOS/Resources/Icon-Small.png b/PagesGallery/PagesGallery.iOS/Resources/Icon-Small.png Binary files differnew file mode 100644 index 00000000..33db7e71 --- /dev/null +++ b/PagesGallery/PagesGallery.iOS/Resources/Icon-Small.png diff --git a/PagesGallery/PagesGallery.iOS/Resources/Icon-Small@2x.png b/PagesGallery/PagesGallery.iOS/Resources/Icon-Small@2x.png Binary files differnew file mode 100644 index 00000000..bf45e259 --- /dev/null +++ b/PagesGallery/PagesGallery.iOS/Resources/Icon-Small@2x.png diff --git a/PagesGallery/PagesGallery.iOS/Resources/Icon-Small@3x.png b/PagesGallery/PagesGallery.iOS/Resources/Icon-Small@3x.png Binary files differnew file mode 100644 index 00000000..7ad3891b --- /dev/null +++ b/PagesGallery/PagesGallery.iOS/Resources/Icon-Small@3x.png diff --git a/PagesGallery/PagesGallery.iOS/Resources/LaunchScreen.storyboard b/PagesGallery/PagesGallery.iOS/Resources/LaunchScreen.storyboard new file mode 100644 index 00000000..a639c2f1 --- /dev/null +++ b/PagesGallery/PagesGallery.iOS/Resources/LaunchScreen.storyboard @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="6245" systemVersion="13F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="X5k-f2-b5h"> + <dependencies> + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="6238"/> + </dependencies> + <scenes> + <!--View Controller--> + <scene sceneID="gAE-YM-kbH"> + <objects> + <viewController id="X5k-f2-b5h" sceneMemberID="viewController"> + <layoutGuides> + <viewControllerLayoutGuide type="top" id="Y8P-hJ-Z43"/> + <viewControllerLayoutGuide type="bottom" id="9ZL-r4-8FZ"/> + </layoutGuides> + <view key="view" contentMode="scaleToFill" id="yd7-JS-zBw"> + <rect key="frame" x="0.0" y="0.0" width="600" height="600"/> + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> + <subviews> + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" misplaced="YES" image="Icon-60.png" translatesAutoresizingMaskIntoConstraints="NO" id="23"> + <rect key="frame" x="270" y="270" width="60" height="60"/> + <rect key="contentStretch" x="0.0" y="0.0" width="0.0" height="0.0"/> + </imageView> + </subviews> + <color key="backgroundColor" red="0.20392156862745098" green="0.59607843137254901" blue="0.85882352941176465" alpha="1" colorSpace="calibratedRGB"/> + <constraints> + <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"/> + </constraints> + </view> + </viewController> + <placeholder placeholderIdentifier="IBFirstResponder" id="XAI-xm-WK6" userLabel="First Responder" sceneMemberID="firstResponder"/> + </objects> + <point key="canvasLocation" x="349" y="339"/> + </scene> + </scenes> + <resources> + <image name="Icon-60.png" width="180" height="180"/> + </resources> +</document> diff --git a/PagesGallery/PagesGallery.iOS/app.config b/PagesGallery/PagesGallery.iOS/app.config new file mode 100644 index 00000000..4dd3b43c --- /dev/null +++ b/PagesGallery/PagesGallery.iOS/app.config @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-1.5.0.0" newVersion="1.5.0.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration>
\ No newline at end of file diff --git a/PagesGallery/PagesGallery.iOS/iTunesArtwork b/PagesGallery/PagesGallery.iOS/iTunesArtwork Binary files differnew file mode 100644 index 00000000..94c8ebd6 --- /dev/null +++ b/PagesGallery/PagesGallery.iOS/iTunesArtwork diff --git a/PagesGallery/PagesGallery.iOS/iTunesArtwork@2x b/PagesGallery/PagesGallery.iOS/iTunesArtwork@2x Binary files differnew file mode 100644 index 00000000..fa2ebf72 --- /dev/null +++ b/PagesGallery/PagesGallery.iOS/iTunesArtwork@2x diff --git a/PagesGallery/PagesGallery.iOS/packages.config b/PagesGallery/PagesGallery.iOS/packages.config new file mode 100644 index 00000000..f0eba649 --- /dev/null +++ b/PagesGallery/PagesGallery.iOS/packages.config @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<packages> + <package id="modernhttpclient" version="2.4.2" targetFramework="xamarinios10" /> +</packages>
\ No newline at end of file diff --git a/PagesGallery/PagesGallery/App.xaml b/PagesGallery/PagesGallery/App.xaml new file mode 100644 index 00000000..18a5e0f3 --- /dev/null +++ b/PagesGallery/PagesGallery/App.xaml @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="utf-8" ?> +<Application xmlns="http://xamarin.com/schemas/2014/forms" + xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" + xmlns:local="clr-namespace:PagesGallery" + xmlns:p="clr-namespace:Xamarin.Forms.Pages;assembly=Xamarin.Forms.Pages" + x:Class="PagesGallery.App"> + <Application.Resources> + <ResourceDictionary> + + <local:CapitalizationConverter x:Key="capitalizeConverter" /> + + <Style x:Key="EventPageStyle" TargetType="p:DataPage"> + <Setter Property="ControlTemplate"> + <ControlTemplate> + <p:ListDataPageControl /> + </ControlTemplate> + </Setter> + </Style> + + <Style Class="Speakers" ApplyToDerivedTypes="True" CanCascade="True" TargetType="p:DataPage" BasedOn="{StaticResource EventPageStyle}" /> + + <Style x:Key="DetailPageStyle" TargetType="p:DataPage"> + <Setter Property="ControlTemplate"> + <ControlTemplate> + <StackLayout Spacing="0"> + <ContentPresenter /> + <ListView ItemsSource="{TemplateBinding Data}" ItemTemplate="{TemplateBinding DefaultItemTemplate}" HasUnevenRows="true" /> + </StackLayout> + </ControlTemplate> + </Setter> + </Style> + + <Style TargetType="p:HeroImage"> + <Setter Property="ControlTemplate"> + <ControlTemplate> + <Grid BackgroundColor="Black" HeightRequest="300"> + <Grid.RowDefinitions> + <RowDefinition Height="4*" /> + <RowDefinition Height="Auto" /> + <RowDefinition Height="Auto" /> + <RowDefinition Height="*" /> + </Grid.RowDefinitions> + <Image Grid.RowSpan="4" Source="{TemplateBinding ImageSource}" Aspect="{TemplateBinding Aspect}" Opacity="0.6" /> + <Label Grid.Row="1" Margin="25,0,0,0" Text="{TemplateBinding Text}" FontSize="25" TextColor="White" /> + <Label Grid.Row="2" Margin="25,0,0,0" Text="{TemplateBinding Detail}" FontSize="20" TextColor="White" /> + </Grid> + </ControlTemplate> + </Setter> + </Style> + + <DataTemplate x:Key="DetailCell"> + <ViewCell IsEnabled="false"> + <StackLayout Padding="15,5,5,5"> + <Label Text="{Binding Name, Converter={StaticResource capitalizeConverter}}" FontSize="16" /> + <Label Text="{Binding Value}" FontSize="14" TextColor="#444" LineBreakMode="WordWrap" /> + </StackLayout> + </ViewCell> + </DataTemplate> + + <DataTemplate x:Key="SpeakerDetailTemplate"> + <local:EventDetailsPage Title="Speaker Details" DataSource="{Binding Value}" Style="{StaticResource DetailPageStyle}" DefaultItemTemplate="{StaticResource DetailCell}" > + <p:HeroImage Aspect="Fill" Text="{p:DataSourceBinding name}" Detail="{p:DataSourceBinding email}" ImageSource="{p:DataSourceBinding picture}" DataSource="{Binding Value}" /> + </local:EventDetailsPage> + </DataTemplate> + + <DataTemplate x:Key="EventDetailTemplate"> + <local:EventDetailsPage Title="Event Details" DataSource="{Binding Value}" Style="{StaticResource DetailPageStyle}" DefaultItemTemplate="{StaticResource DetailCell}" > + <p:HeroImage Aspect="Fill" Text="{p:DataSourceBinding name}" Detail="{p:DataSourceBinding presenter}" ImageSource="{p:DataSourceBinding picture}" DataSource="{Binding Value}" /> + </local:EventDetailsPage> + </DataTemplate> + + </ResourceDictionary> + </Application.Resources> +</Application>
\ No newline at end of file diff --git a/PagesGallery/PagesGallery/App.xaml.cs b/PagesGallery/PagesGallery/App.xaml.cs new file mode 100644 index 00000000..5cad242d --- /dev/null +++ b/PagesGallery/PagesGallery/App.xaml.cs @@ -0,0 +1,42 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +using Xamarin.Forms; + +namespace PagesGallery +{ + public partial class App : Application + { + public App () + { + InitializeComponent (); + + var eventsPage = new EventsPage (); + var speakersPage = new SpeakersPage (); + MainPage = new NavigationPage (new TabbedPage { + Title = "Xamarin Evolve 2016", + Children = { + eventsPage, + speakersPage + } + }); + } + + protected override void OnStart () + { + // Handle when your app starts + } + + protected override void OnSleep () + { + // Handle when your app sleeps + } + + protected override void OnResume () + { + // Handle when your app resumes + } + } +} diff --git a/PagesGallery/PagesGallery/CapitalizationConverter.cs b/PagesGallery/PagesGallery/CapitalizationConverter.cs new file mode 100644 index 00000000..ea4e8d0e --- /dev/null +++ b/PagesGallery/PagesGallery/CapitalizationConverter.cs @@ -0,0 +1,20 @@ +using System; +using System.Globalization; +using Xamarin.Forms; + +namespace PagesGallery +{ + public class CapitalizationConverter : IValueConverter + { + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + var str = (value as string ?? value.ToString()); + return char.ToUpper(str[0]) + str.Substring(1); + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + throw new NotImplementedException(); + } + } +}
\ No newline at end of file diff --git a/PagesGallery/PagesGallery/EventsPage.xaml b/PagesGallery/PagesGallery/EventsPage.xaml new file mode 100644 index 00000000..2d7abafd --- /dev/null +++ b/PagesGallery/PagesGallery/EventsPage.xaml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8" ?> +<p:ListDataPage xmlns="http://xamarin.com/schemas/2014/forms" + xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" + xmlns:p="clr-namespace:Xamarin.Forms.Pages;assembly=Xamarin.Forms.Pages" + x:Class="PagesGallery.EventsPage" + Title="Events" + DetailTemplate="{StaticResource EventDetailTemplate}" + Style="{StaticResource EventPageStyle}"> + <p:DataPage.DataSource> + <p:JsonDataSource Source="http://demo7391822.mockable.io/events" /> + </p:DataPage.DataSource> + <p:DataPage.DefaultItemTemplate> + <DataTemplate> + <TextCell Text="{Binding Value[name]}" Detail="{Binding Value[presenter]}" /> + </DataTemplate> + </p:DataPage.DefaultItemTemplate> +</p:ListDataPage>
\ No newline at end of file diff --git a/PagesGallery/PagesGallery/EventsPage.xaml.cs b/PagesGallery/PagesGallery/EventsPage.xaml.cs new file mode 100644 index 00000000..695c0d01 --- /dev/null +++ b/PagesGallery/PagesGallery/EventsPage.xaml.cs @@ -0,0 +1,23 @@ +using Xamarin.Forms.Pages; + +namespace PagesGallery +{ + public partial class EventsPage : ListDataPage + { + public EventsPage() + { + InitializeComponent(); + } + } + + public class EventDetailsPage : DataPage + { + public EventDetailsPage() + { + ((IDataSourceProvider)this).MaskKey("_id"); + ((IDataSourceProvider)this).MaskKey("guid"); + ((IDataSourceProvider)this).MaskKey("index"); + ((IDataSourceProvider)this).MaskKey("isPublic"); + } + } +}
\ No newline at end of file diff --git a/PagesGallery/PagesGallery/GettingStarted.Xamarin b/PagesGallery/PagesGallery/GettingStarted.Xamarin new file mode 100644 index 00000000..f31b0091 --- /dev/null +++ b/PagesGallery/PagesGallery/GettingStarted.Xamarin @@ -0,0 +1,4 @@ +<GettingStarted> + <LocalContent>GS\XF\CS\App\GettingStarted.html</LocalContent> + <EmbeddedNavigation>false</EmbeddedNavigation> +</GettingStarted>
\ No newline at end of file diff --git a/PagesGallery/PagesGallery/PagesGallery.csproj b/PagesGallery/PagesGallery/PagesGallery.csproj new file mode 100644 index 00000000..19fdfbb6 --- /dev/null +++ b/PagesGallery/PagesGallery/PagesGallery.csproj @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> + <PropertyGroup> + <MinimumVisualStudioVersion>10.0</MinimumVisualStudioVersion> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProjectGuid>{7B5F9E6A-6334-4C74-9B77-A55B3DA60E41}</ProjectGuid> + <OutputType>Library</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>PagesGallery</RootNamespace> + <AssemblyName>PagesGallery</AssemblyName> + <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> + <TargetFrameworkProfile>Profile259</TargetFrameworkProfile> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <NuGetPackageImportStamp> + </NuGetPackageImportStamp> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\Release\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <ItemGroup> + <Compile Include="App.xaml.cs"> + <DependentUpon>App.xaml</DependentUpon> + </Compile> + <Compile Include="CapitalizationConverter.cs" /> + <Compile Include="EventsPage.xaml.cs"> + <DependentUpon>EventsPage.xaml</DependentUpon> + </Compile> + <Compile Include="Properties\AssemblyInfo.cs" /> + <Compile Include="SpeakersPage.xaml.cs"> + <DependentUpon>SpeakersPage.xaml</DependentUpon> + </Compile> + </ItemGroup> + <ItemGroup> + <None Include="GettingStarted.Xamarin" /> + <None Include="packages.config" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\..\Xamarin.Forms.Core\Xamarin.Forms.Core.csproj"> + <Project>{57b8b73d-c3b5-4c42-869e-7b2f17d354ac}</Project> + <Name>Xamarin.Forms.Core</Name> + </ProjectReference> + <ProjectReference Include="..\..\Xamarin.Forms.Pages\Xamarin.Forms.Pages.csproj"> + <Project>{d6133dbd-6c60-4bd5-bea2-07e0a3927c31}</Project> + <Name>Xamarin.Forms.Pages</Name> + </ProjectReference> + <ProjectReference Include="..\..\Xamarin.Forms.Platform\Xamarin.Forms.Platform.csproj"> + <Project>{67f9d3a8-f71e-4428-913f-c37ae82cdb24}</Project> + <Name>Xamarin.Forms.Platform</Name> + </ProjectReference> + <ProjectReference Include="..\..\Xamarin.Forms.Xaml\Xamarin.Forms.Xaml.csproj"> + <Project>{9db2f292-8034-4e06-89ad-98bbda4306b9}</Project> + <Name>Xamarin.Forms.Xaml</Name> + </ProjectReference> + </ItemGroup> + <ItemGroup> + <EmbeddedResource Include="App.xaml"> + <SubType>Designer</SubType> + <Generator>MSBuild:UpdateDesignTimeXaml</Generator> + </EmbeddedResource> + </ItemGroup> + <ItemGroup> + <EmbeddedResource Include="EventsPage.xaml"> + <Generator>MSBuild:UpdateDesignTimeXaml</Generator> + <SubType>Designer</SubType> + </EmbeddedResource> + </ItemGroup> + <ItemGroup> + <EmbeddedResource Include="SpeakersPage.xaml"> + <Generator>MSBuild:UpdateDesignTimeXaml</Generator> + <SubType>Designer</SubType> + </EmbeddedResource> + </ItemGroup> + <ItemGroup> + <Reference Include="ModernHttpClient, Version=2.4.2.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\..\packages\modernhttpclient.2.4.2\lib\Portable-Net45+WinRT45+WP8+WPA81\ModernHttpClient.dll</HintPath> + <Private>True</Private> + </Reference> + </ItemGroup> + <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" /> + <Import Project="..\..\.nuspec\Xamarin.Forms.targets" /> + <!-- To modify your build process, add your task inside one of the targets below and uncomment it. + Other similar extension points exist, see Microsoft.Common.targets. + <Target Name="BeforeBuild"> + </Target> + <Target Name="AfterBuild"> + </Target> + --> +</Project>
\ No newline at end of file diff --git a/PagesGallery/PagesGallery/Properties/AssemblyInfo.cs b/PagesGallery/PagesGallery/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..e5188feb --- /dev/null +++ b/PagesGallery/PagesGallery/Properties/AssemblyInfo.cs @@ -0,0 +1,30 @@ +using System.Resources; +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle ("PagesGallery")] +[assembly: AssemblyDescription ("")] +[assembly: AssemblyConfiguration ("")] +[assembly: AssemblyCompany ("")] +[assembly: AssemblyProduct ("PagesGallery")] +[assembly: AssemblyCopyright ("Copyright © 2014")] +[assembly: AssemblyTrademark ("")] +[assembly: AssemblyCulture ("")] +[assembly: NeutralResourcesLanguage ("en")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion ("1.0.0.0")] +[assembly: AssemblyFileVersion ("1.0.0.0")] diff --git a/PagesGallery/PagesGallery/SpeakersPage.xaml b/PagesGallery/PagesGallery/SpeakersPage.xaml new file mode 100644 index 00000000..1bfcc8db --- /dev/null +++ b/PagesGallery/PagesGallery/SpeakersPage.xaml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8" ?> +<p:ListDataPage xmlns="http://xamarin.com/schemas/2014/forms" + xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" + xmlns:p="clr-namespace:Xamarin.Forms.Pages;assembly=Xamarin.Forms.Pages" + x:Class="PagesGallery.SpeakersPage" + Title="Speakers" + DetailTemplate="{StaticResource SpeakerDetailTemplate}" + StyleClass="Speakers"> + <p:DataPage.DataSource> + <p:JsonDataSource Source="http://demo7391822.mockable.io/speakers" /> + </p:DataPage.DataSource> + <p:DataPage.DefaultItemTemplate> + <DataTemplate> + <ImageCell ImageSource="{Binding Value[picture]}" Text="{Binding Value[name]}" Detail="{Binding Value[twitter]}" /> + </DataTemplate> + </p:DataPage.DefaultItemTemplate> +</p:ListDataPage>
\ No newline at end of file diff --git a/PagesGallery/PagesGallery/SpeakersPage.xaml.cs b/PagesGallery/PagesGallery/SpeakersPage.xaml.cs new file mode 100644 index 00000000..59a927f1 --- /dev/null +++ b/PagesGallery/PagesGallery/SpeakersPage.xaml.cs @@ -0,0 +1,12 @@ +using Xamarin.Forms.Pages; + +namespace PagesGallery +{ + public partial class SpeakersPage : ListDataPage + { + public SpeakersPage() + { + InitializeComponent(); + } + } +}
\ No newline at end of file diff --git a/PagesGallery/PagesGallery/packages.config b/PagesGallery/PagesGallery/packages.config new file mode 100644 index 00000000..8f0534f1 --- /dev/null +++ b/PagesGallery/PagesGallery/packages.config @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<packages> + <package id="modernhttpclient" version="2.4.2" targetFramework="portable45-net45+win8+wp8+wpa81" /> +</packages>
\ No newline at end of file |