summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Xamarin.Forms.Core/PlatformConfiguration/TizenSpecific/FocusDirection.cs16
-rw-r--r--Xamarin.Forms.Core/PlatformConfiguration/TizenSpecific/VisualElement.cs234
-rw-r--r--Xamarin.Forms.Core/Xamarin.Forms.Core.csproj1
-rw-r--r--Xamarin.Forms.Maps.Tizen/Properties/AssemblyInfo.cs29
-rw-r--r--[-rwxr-xr-x]Xamarin.Forms.Maps.Tizen/Xamarin.Forms.Maps.Tizen.csproj90
-rw-r--r--Xamarin.Forms.Maps.Tizen/Xamarin.Forms.Maps.Tizen.nuspec11
-rw-r--r--Xamarin.Forms.Maps.Tizen/Xamarin.Forms.Maps.Tizen.project.json14
-rw-r--r--Xamarin.Forms.Maps.Tizen/packages.config4
-rw-r--r--Xamarin.Forms.Platform.Tizen/Cells/TextCellRenderer.cs4
-rw-r--r--[-rwxr-xr-x]Xamarin.Forms.Platform.Tizen/Properties/AssemblyInfo.cs24
-rw-r--r--Xamarin.Forms.Platform.Tizen/Renderers/VisualElementRenderer.cs151
-rw-r--r--[-rwxr-xr-x]Xamarin.Forms.Platform.Tizen/Xamarin.Forms.Platform.Tizen.csproj183
-rw-r--r--Xamarin.Forms.Platform.Tizen/Xamarin.Forms.Platform.Tizen.nuspec5
-rw-r--r--Xamarin.Forms.Platform.Tizen/Xamarin.Forms.Platform.Tizen.project.json15
-rw-r--r--Xamarin.Forms.Tizen.sln42
-rw-r--r--packaging/xamarin-forms-tizen.spec59
16 files changed, 487 insertions, 395 deletions
diff --git a/Xamarin.Forms.Core/PlatformConfiguration/TizenSpecific/FocusDirection.cs b/Xamarin.Forms.Core/PlatformConfiguration/TizenSpecific/FocusDirection.cs
new file mode 100644
index 00000000..9a15c5df
--- /dev/null
+++ b/Xamarin.Forms.Core/PlatformConfiguration/TizenSpecific/FocusDirection.cs
@@ -0,0 +1,16 @@
+using System.ComponentModel;
+
+namespace Xamarin.Forms.PlatformConfiguration.TizenSpecific
+{
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static class FocusDirection
+ {
+ public const string None = "None";
+ public const string Back = "Back";
+ public const string Forward = "Forward";
+ public const string Up = "Up";
+ public const string Down = "Down";
+ public const string Right = "Right";
+ public const string Left = "Left";
+ }
+} \ No newline at end of file
diff --git a/Xamarin.Forms.Core/PlatformConfiguration/TizenSpecific/VisualElement.cs b/Xamarin.Forms.Core/PlatformConfiguration/TizenSpecific/VisualElement.cs
index 7eb4c718..a7e7eff6 100644
--- a/Xamarin.Forms.Core/PlatformConfiguration/TizenSpecific/VisualElement.cs
+++ b/Xamarin.Forms.Core/PlatformConfiguration/TizenSpecific/VisualElement.cs
@@ -1,3 +1,5 @@
+using System.ComponentModel;
+
namespace Xamarin.Forms.PlatformConfiguration.TizenSpecific
{
using FormsElement = Forms.VisualElement;
@@ -5,6 +7,23 @@ namespace Xamarin.Forms.PlatformConfiguration.TizenSpecific
{
public static readonly BindableProperty StyleProperty = BindableProperty.Create("ThemeStyle", typeof(string), typeof(VisualElement), default(string));
+ public static readonly BindableProperty IsFocusAllowedProperty = BindableProperty.Create("IsFocusAllowed", typeof(bool), typeof(VisualElement), true);
+
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static readonly BindableProperty NextFocusDirectionProperty = BindableProperty.Create("NextFocusDirection", typeof(string), typeof(VisualElement), FocusDirection.None, propertyChanged: OnNextFocusDirectionPropertyChanged);
+
+ public static readonly BindableProperty NextFocusUpViewProperty = BindableProperty.Create("NextFocusUpView", typeof(View), typeof(VisualElement), default(View));
+
+ public static readonly BindableProperty NextFocusDownViewProperty = BindableProperty.Create("NextFocusDownView", typeof(View), typeof(VisualElement), default(View));
+
+ public static readonly BindableProperty NextFocusLeftViewProperty = BindableProperty.Create("NextFocusLeftView", typeof(View), typeof(VisualElement), default(View));
+
+ public static readonly BindableProperty NextFocusRightViewProperty = BindableProperty.Create("NextFocusRightView", typeof(View), typeof(VisualElement), default(View));
+
+ public static readonly BindableProperty NextFocusBackViewProperty = BindableProperty.Create("NextFocusBackView", typeof(View), typeof(VisualElement), default(View));
+
+ public static readonly BindableProperty NextFocusForwardViewProperty = BindableProperty.Create("NextFocusForwardView", typeof(View), typeof(VisualElement), default(View));
+
public static string GetStyle(BindableObject element)
{
return (string)element.GetValue(StyleProperty);
@@ -25,5 +44,218 @@ namespace Xamarin.Forms.PlatformConfiguration.TizenSpecific
SetStyle(config.Element, value);
return config;
}
+
+ public static bool IsFocusAllowed(BindableObject element)
+ {
+ return (bool)element.GetValue(IsFocusAllowedProperty);
+ }
+
+ public static void SetFocusAllowed(BindableObject element, bool value)
+ {
+ element.SetValue(IsFocusAllowedProperty, value);
+ }
+
+ public static bool IsFocusAllowed(this IPlatformElementConfiguration<Tizen, FormsElement> config)
+ {
+ return IsFocusAllowed(config.Element);
+ }
+
+ public static IPlatformElementConfiguration<Tizen, FormsElement> SetFocusAllowed(this IPlatformElementConfiguration<Tizen, FormsElement> config, bool value)
+ {
+ SetFocusAllowed(config.Element, value);
+ return config;
+ }
+
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static string GetNextFocusDirection(BindableObject element)
+ {
+ return (string)element.GetValue(NextFocusDirectionProperty);
+ }
+
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static void SetNextFocusDirection(BindableObject element, string value)
+ {
+ element.SetValue(NextFocusDirectionProperty, value);
+ }
+
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static string GetNextFocusDirection(this IPlatformElementConfiguration<Tizen, FormsElement> config)
+ {
+ return GetNextFocusDirection(config.Element);
+ }
+
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static IPlatformElementConfiguration<Tizen, FormsElement> SetNextFocusDirection(this IPlatformElementConfiguration<Tizen, FormsElement> config, string value)
+ {
+ SetNextFocusDirection(config.Element, value);
+ return config;
+ }
+
+ public static IPlatformElementConfiguration<Tizen, FormsElement> MoveFocusUp(this IPlatformElementConfiguration<Tizen, FormsElement> config)
+ {
+ SetNextFocusDirection(config.Element, FocusDirection.Up);
+ return config;
+ }
+
+ public static IPlatformElementConfiguration<Tizen, FormsElement> MoveFocusDown(this IPlatformElementConfiguration<Tizen, FormsElement> config)
+ {
+ SetNextFocusDirection(config.Element, FocusDirection.Down);
+ return config;
+ }
+
+ public static IPlatformElementConfiguration<Tizen, FormsElement> MoveFocusLeft(this IPlatformElementConfiguration<Tizen, FormsElement> config)
+ {
+ SetNextFocusDirection(config.Element, FocusDirection.Left);
+ return config;
+ }
+
+ public static IPlatformElementConfiguration<Tizen, FormsElement> MoveFocusRight(this IPlatformElementConfiguration<Tizen, FormsElement> config)
+ {
+ SetNextFocusDirection(config.Element, FocusDirection.Right);
+ return config;
+ }
+
+ public static IPlatformElementConfiguration<Tizen, FormsElement> MoveFocusBack(this IPlatformElementConfiguration<Tizen, FormsElement> config)
+ {
+ SetNextFocusDirection(config.Element, FocusDirection.Back);
+ return config;
+ }
+
+ public static IPlatformElementConfiguration<Tizen, FormsElement> MoveFocusForward(this IPlatformElementConfiguration<Tizen, FormsElement> config)
+ {
+ SetNextFocusDirection(config.Element, FocusDirection.Forward);
+ return config;
+ }
+
+ public static View GetNextFocusUpView(BindableObject element)
+ {
+ return (View)element.GetValue(NextFocusUpViewProperty);
+ }
+
+ public static void SetNextFocusUpView(BindableObject element, View value)
+ {
+ element.SetValue(NextFocusUpViewProperty, value);
+ }
+
+ public static View GetNextFocusUpView(this IPlatformElementConfiguration<Tizen, FormsElement> config)
+ {
+ return GetNextFocusUpView(config.Element);
+ }
+
+ public static IPlatformElementConfiguration<Tizen, FormsElement> SetNextFocusUpView(this IPlatformElementConfiguration<Tizen, FormsElement> config, View value)
+ {
+ SetNextFocusUpView(config.Element, value);
+ return config;
+ }
+
+ public static View GetNextFocusDownView(BindableObject element)
+ {
+ return (View)element.GetValue(NextFocusDownViewProperty);
+ }
+
+ public static void SetNextFocusDownView(BindableObject element, View value)
+ {
+ element.SetValue(NextFocusDownViewProperty, value);
+ }
+
+ public static View GetNextFocusDownView(this IPlatformElementConfiguration<Tizen, FormsElement> config)
+ {
+ return GetNextFocusDownView(config.Element);
+ }
+
+ public static IPlatformElementConfiguration<Tizen, FormsElement> SetNextFocusDownView(this IPlatformElementConfiguration<Tizen, FormsElement> config, View value)
+ {
+ SetNextFocusDownView(config.Element, value);
+ return config;
+ }
+
+ public static View GetNextFocusLeftView(BindableObject element)
+ {
+ return (View)element.GetValue(NextFocusLeftViewProperty);
+ }
+
+ public static void SetNextFocusLeftView(BindableObject element, View value)
+ {
+ element.SetValue(NextFocusLeftViewProperty, value);
+ }
+
+ public static View GetNextFocusLeftView(this IPlatformElementConfiguration<Tizen, FormsElement> config)
+ {
+ return GetNextFocusLeftView(config.Element);
+ }
+
+ public static IPlatformElementConfiguration<Tizen, FormsElement> SetNextFocusLeftView(this IPlatformElementConfiguration<Tizen, FormsElement> config, View value)
+ {
+ SetNextFocusLeftView(config.Element, value);
+ return config;
+ }
+
+ public static View GetNextFocusRightView(BindableObject element)
+ {
+ return (View)element.GetValue(NextFocusRightViewProperty);
+ }
+
+ public static void SetNextFocusRightView(BindableObject element, View value)
+ {
+ element.SetValue(NextFocusRightViewProperty, value);
+ }
+
+ public static View GetNextFocusRightView(this IPlatformElementConfiguration<Tizen, FormsElement> config)
+ {
+ return GetNextFocusRightView(config.Element);
+ }
+
+ public static IPlatformElementConfiguration<Tizen, FormsElement> SetNextFocusRightView(this IPlatformElementConfiguration<Tizen, FormsElement> config, View value)
+ {
+ SetNextFocusRightView(config.Element, value);
+ return config;
+ }
+
+ public static View GetNextFocusBackView(BindableObject element)
+ {
+ return (View)element.GetValue(NextFocusBackViewProperty);
+ }
+
+ public static void SetNextFocusBackView(BindableObject element, View value)
+ {
+ element.SetValue(NextFocusBackViewProperty, value);
+ }
+
+ public static View GetNextFocusBackView(this IPlatformElementConfiguration<Tizen, FormsElement> config)
+ {
+ return GetNextFocusBackView(config.Element);
+ }
+
+ public static IPlatformElementConfiguration<Tizen, FormsElement> SetNextFocusBackView(this IPlatformElementConfiguration<Tizen, FormsElement> config, View value)
+ {
+ SetNextFocusBackView(config.Element, value);
+ return config;
+ }
+
+ public static View GetNextFocusForwardView(BindableObject element)
+ {
+ return (View)element.GetValue(NextFocusForwardViewProperty);
+ }
+
+ public static void SetNextFocusForwardView(BindableObject element, View value)
+ {
+ element.SetValue(NextFocusForwardViewProperty, value);
+ }
+
+ public static View GetNextFocusForwardView(this IPlatformElementConfiguration<Tizen, FormsElement> config)
+ {
+ return GetNextFocusForwardView(config.Element);
+ }
+
+ public static IPlatformElementConfiguration<Tizen, FormsElement> SetNextFocusForwardView(this IPlatformElementConfiguration<Tizen, FormsElement> config, View value)
+ {
+ SetNextFocusForwardView(config.Element, value);
+ return config;
+ }
+
+ static void OnNextFocusDirectionPropertyChanged(BindableObject bindable, object oldvalue, object newvalue)
+ {
+ bindable.SetValue(NextFocusDirectionProperty, FocusDirection.None);
+ }
}
-}
+} \ No newline at end of file
diff --git a/Xamarin.Forms.Core/Xamarin.Forms.Core.csproj b/Xamarin.Forms.Core/Xamarin.Forms.Core.csproj
index 5efcf42e..0e7a0caf 100644
--- a/Xamarin.Forms.Core/Xamarin.Forms.Core.csproj
+++ b/Xamarin.Forms.Core/Xamarin.Forms.Core.csproj
@@ -102,6 +102,7 @@
<Compile Include="PlatformConfiguration\iOSSpecific\UIStatusBarAnimation.cs" />
<Compile Include="PlatformConfiguration\iOSSpecific\UpdateMode.cs" />
<Compile Include="PlatformConfiguration\iOSSpecific\VisualElement.cs" />
+ <Compile Include="PlatformConfiguration\TizenSpecific\FocusDirection.cs" />
<Compile Include="PlatformConfiguration\TizenSpecific\StyleValues.cs" />
<Compile Include="PlatformConfiguration\TizenSpecific\VisualElement.cs" />
<Compile Include="PlatformConfiguration\TizenSpecific\Page.cs" />
diff --git a/Xamarin.Forms.Maps.Tizen/Properties/AssemblyInfo.cs b/Xamarin.Forms.Maps.Tizen/Properties/AssemblyInfo.cs
index ec69a71a..2618cf75 100644
--- a/Xamarin.Forms.Maps.Tizen/Properties/AssemblyInfo.cs
+++ b/Xamarin.Forms.Maps.Tizen/Properties/AssemblyInfo.cs
@@ -1,32 +1,5 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-// Information about this assembly is defined by the following attributes.
-// Change them to the values specific to your project.
-using Xamarin.Forms;
-using Xamarin.Forms.Maps;
+using Xamarin.Forms.Maps;
using Xamarin.Forms.Maps.Tizen;
using Xamarin.Forms.Platform.Tizen;
-[assembly: AssemblyTitle("Xamarin.Forms.Maps.Tizen")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("")]
-[assembly: AssemblyCopyright("k.lipner")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
-// The form "{Major}.{Minor}.*" will automatically update the build and revision,
-// and "{Major}.{Minor}.{Build}.*" will update just the revision.
-
-[assembly: AssemblyVersion("1.0.0")]
-
-// The following attributes are used to specify the signing key for the assembly,
-// if desired. See the Mono documentation for more information about signing.
-
[assembly: ExportRenderer(typeof (Map), typeof (MapRenderer))]
-//[assembly: AssemblyDelaySign(false)]
-//[assembly: AssemblyKeyFile("")]
-
diff --git a/Xamarin.Forms.Maps.Tizen/Xamarin.Forms.Maps.Tizen.csproj b/Xamarin.Forms.Maps.Tizen/Xamarin.Forms.Maps.Tizen.csproj
index 98733eeb..03964ad7 100755..100644
--- a/Xamarin.Forms.Maps.Tizen/Xamarin.Forms.Maps.Tizen.csproj
+++ b/Xamarin.Forms.Maps.Tizen/Xamarin.Forms.Maps.Tizen.csproj
@@ -1,81 +1,21 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project Sdk="Microsoft.NET.Sdk">
+
<PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProjectGuid>{D29D5750-9A39-4E92-A19E-62567D660B7D}</ProjectGuid>
- <OutputType>Library</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>Xamarin.Forms.Maps.Tizen</RootNamespace>
- <AssemblyName>Xamarin.Forms.Maps.Tizen</AssemblyName>
- <FileAlignment>512</FileAlignment>
- </PropertyGroup>
- <PropertyGroup>
- <TargetFrameworkIdentifier>.NETStandard</TargetFrameworkIdentifier>
- <TargetFrameworkVersion>v1.6</TargetFrameworkVersion>
- <NuGetTargetMoniker>.NETStandard,Version=v1.6</NuGetTargetMoniker>
- <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>
- <NoStdLib>true</NoStdLib>
- <NoWarn>$(NoWarn);1701;1702</NoWarn>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>true</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>
+ <TargetFramework>netstandard1.6</TargetFramework>
+ <PackageTargetFallback>$(PackageTargetFallback);portable-net45+wp80+win81+wpa81</PackageTargetFallback>
</PropertyGroup>
+
<ItemGroup>
- <Compile Include="Properties\AssemblyInfo.cs" />
- <Compile Include="FormsMaps.cs" />
- <Compile Include="GeocoderBackend.cs" />
- <Compile Include="MapRenderer.cs" />
+ <PackageReference Include="ElmSharp" Version="1.1.0-beta-018" />
+ <PackageReference Include="Tizen.Applications" Version="1.3.2" />
+ <PackageReference Include="Tizen.Location" Version="1.0.5" />
+ <PackageReference Include="Tizen.Maps" Version="1.0.8" />
</ItemGroup>
+
<ItemGroup>
- <None Include="Xamarin.Forms.Maps.Tizen.project.json" />
+ <ProjectReference Include="..\Xamarin.Forms.Core\Xamarin.Forms.Core.csproj" />
+ <ProjectReference Include="..\Xamarin.Forms.Maps\Xamarin.Forms.Maps.csproj" />
+ <ProjectReference Include="..\Xamarin.Forms.Platform.Tizen\Xamarin.Forms.Platform.Tizen.csproj" />
</ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.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>
- -->
- <ItemGroup>
- <ProjectReference Include="..\Xamarin.Forms.Maps\Xamarin.Forms.Maps.csproj">
- <Project>{7D13BAC2-C6A4-416A-B07E-C169B199E52B}</Project>
- <Name>Xamarin.Forms.Maps</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.Platform.Tizen\Xamarin.Forms.Platform.Tizen.csproj">
- <Project>{227D2CC5-26A1-4CE7-AE25-1B18AF625B9C}</Project>
- <Name>Xamarin.Forms.Platform.Tizen</Name>
- </ProjectReference>
- </ItemGroup>
- <PropertyGroup>
- <!-- https://github.com/dotnet/corefxlab/tree/master/samples/NetCoreSample and
- https://docs.microsoft.com/en-us/dotnet/articles/core/tutorials/target-dotnetcore-with-msbuild
- -->
- <!-- We don't use any of MSBuild's resolution logic for resolving the framework, so just set these two
- properties to any folder that exists to skip the GetReferenceAssemblyPaths task (not target) and
- to prevent it from outputting a warning (MSB3644).
- -->
- <_TargetFrameworkDirectories>$(MSBuildThisFileDirectory)</_TargetFrameworkDirectories>
- <_FullFrameworkReferenceAssemblyPaths>$(MSBuildThisFileDirectory)</_FullFrameworkReferenceAssemblyPaths>
- <AutoUnifyAssemblyReferences>true</AutoUnifyAssemblyReferences>
- </PropertyGroup>
-</Project> \ No newline at end of file
+
+</Project>
diff --git a/Xamarin.Forms.Maps.Tizen/Xamarin.Forms.Maps.Tizen.nuspec b/Xamarin.Forms.Maps.Tizen/Xamarin.Forms.Maps.Tizen.nuspec
index b951d4aa..23d0537f 100644
--- a/Xamarin.Forms.Maps.Tizen/Xamarin.Forms.Maps.Tizen.nuspec
+++ b/Xamarin.Forms.Maps.Tizen/Xamarin.Forms.Maps.Tizen.nuspec
@@ -3,14 +3,19 @@
<metadata>
<id>Xamarin.Forms.Maps.Tizen</id>
<version>$version$</version>
- <authors>Tizen Developers</authors>
+ <authors>Samsung Electronics</authors>
+ <projectUrl>https://www.tizen.org/</projectUrl>
+ <iconUrl>https://developer.tizen.org/sites/default/files/images/tizen-pinwheel-on-light-rgb_64_64.png</iconUrl>
+ <requireLicenseAcceptance>false</requireLicenseAcceptance>
+ <licenseUrl>https://git.tizen.org/cgit/platform/upstream/xamarin-forms/plain/LICENSE</licenseUrl>
<description>Xamarin.Forms.Maps Renderer for Tizen.Net</description>
+ <copyright>Copyright 2016</copyright>
<dependencies>
<dependency id="Xamarin.Forms.Maps" version="2.3.3.0" />
</dependencies>
</metadata>
<files>
- <file src="../Xamarin.Forms.Maps.Tizen/bin/$Configuration$/Xamarin.Forms.Maps.Tizen.dll" target="lib/netcoreapp1.0"/>
- <file src="../Xamarin.Forms.Maps.Tizen/bin/$Configuration$/Xamarin.Forms.Maps.Tizen.*pdb" target="lib/netcoreapp1.0"/>
+ <file src="../Xamarin.Forms.Maps.Tizen/bin/$Configuration$/netstandard1.6/Xamarin.Forms.Maps.Tizen.dll" target="lib/netstandard1.6"/>
+ <file src="../Xamarin.Forms.Maps.Tizen/bin/$Configuration$/netstandard1.6/Xamarin.Forms.Maps.Tizen.*pdb" target="lib/netstandard1.6"/>
</files>
</package>
diff --git a/Xamarin.Forms.Maps.Tizen/Xamarin.Forms.Maps.Tizen.project.json b/Xamarin.Forms.Maps.Tizen/Xamarin.Forms.Maps.Tizen.project.json
deleted file mode 100644
index e81665e9..00000000
--- a/Xamarin.Forms.Maps.Tizen/Xamarin.Forms.Maps.Tizen.project.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "dependencies": {
- "ElmSharp": "1.1.0-beta-016",
- "NETStandard.Library": "1.6.0",
- "Tizen.Applications": "1.2.6",
- "Tizen.Location": "1.0.5",
- "Tizen.Maps": "1.0.8"
- },
- "frameworks": {
- "netstandard1.6": {
- "imports": "portable-net45+win8+wpa81+wp8"
- }
- }
-} \ No newline at end of file
diff --git a/Xamarin.Forms.Maps.Tizen/packages.config b/Xamarin.Forms.Maps.Tizen/packages.config
deleted file mode 100644
index 433f1b92..00000000
--- a/Xamarin.Forms.Maps.Tizen/packages.config
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<packages>
- <package id="ElmSharp" version="1.0.3" targetFramework="net45" />
-</packages> \ No newline at end of file
diff --git a/Xamarin.Forms.Platform.Tizen/Cells/TextCellRenderer.cs b/Xamarin.Forms.Platform.Tizen/Cells/TextCellRenderer.cs
index 1f9594a1..e46783e9 100644
--- a/Xamarin.Forms.Platform.Tizen/Cells/TextCellRenderer.cs
+++ b/Xamarin.Forms.Platform.Tizen/Cells/TextCellRenderer.cs
@@ -5,7 +5,9 @@ namespace Xamarin.Forms.Platform.Tizen
{
public class TextCellRenderer : CellRenderer
{
- public TextCellRenderer() : this("double_label") { }
+ // TextCell.Detail property is not supported on TV profile due to UX limitation.
+ public TextCellRenderer() : this( Device.Idiom == TargetIdiom.Phone ? "double_label" : "default") { }
+
protected TextCellRenderer(string style) : base(style)
{
MainPart = "elm.text";
diff --git a/Xamarin.Forms.Platform.Tizen/Properties/AssemblyInfo.cs b/Xamarin.Forms.Platform.Tizen/Properties/AssemblyInfo.cs
index eb03d815..357c3271 100755..100644
--- a/Xamarin.Forms.Platform.Tizen/Properties/AssemblyInfo.cs
+++ b/Xamarin.Forms.Platform.Tizen/Properties/AssemblyInfo.cs
@@ -1,26 +1,10 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Tizen;
-[assembly: AssemblyVersion("0.0.1")]
-[assembly: AssemblyCompany("Samsung Electronics")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCopyright("Copyright © Samsung Electronics 2016")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyProduct("Xamarin.Forms")]
-[assembly: AssemblyTitle("Xamarin.Forms.Platform.Tizen")]
-[assembly: AssemblyTrademark("")]
-[assembly: CompilationRelaxations(8)]
-[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
-[assembly: InternalsVisibleTo("Xamarin.Forms.Platform.Tizen.Tests")]
-[assembly: ComVisible(false)]
-
-[assembly: Xamarin.Forms.Dependency(typeof(ResourcesProvider))]
-[assembly: Xamarin.Forms.Dependency(typeof(Deserializer))]
-[assembly: Xamarin.Forms.Dependency(typeof(NativeBindingService))]
-[assembly: Xamarin.Forms.Dependency(typeof(NativeValueConverterService))]
+[assembly: Dependency(typeof(ResourcesProvider))]
+[assembly: Dependency(typeof(Deserializer))]
+[assembly: Dependency(typeof(NativeBindingService))]
+[assembly: Dependency(typeof(NativeValueConverterService))]
[assembly: ExportRenderer(typeof(Layout), typeof(LayoutRenderer))]
[assembly: ExportRenderer(typeof(ScrollView), typeof(ScrollViewRenderer))]
diff --git a/Xamarin.Forms.Platform.Tizen/Renderers/VisualElementRenderer.cs b/Xamarin.Forms.Platform.Tizen/Renderers/VisualElementRenderer.cs
index 6baff194..73e8c64f 100644
--- a/Xamarin.Forms.Platform.Tizen/Renderers/VisualElementRenderer.cs
+++ b/Xamarin.Forms.Platform.Tizen/Renderers/VisualElementRenderer.cs
@@ -3,11 +3,11 @@ using System.Collections.Generic;
using System.Diagnostics;
using System.ComponentModel;
using ElmSharp;
-using EColor = ElmSharp.Color;
using ESize = ElmSharp.Size;
using ERect = ElmSharp.Rect;
-using ERectangle = ElmSharp.Rectangle;
+using EFocusDirection = ElmSharp.FocusDirection;
using Specific = Xamarin.Forms.PlatformConfiguration.TizenSpecific.VisualElement;
+using XFocusDirection = Xamarin.Forms.PlatformConfiguration.TizenSpecific.FocusDirection;
namespace Xamarin.Forms.Platform.Tizen
{
@@ -55,6 +55,14 @@ namespace Xamarin.Forms.Platform.Tizen
RegisterPropertyHandler(VisualElement.InputTransparentProperty, UpdateInputTransparent);
RegisterPropertyHandler(VisualElement.BackgroundColorProperty, UpdateBackgroundColor);
RegisterPropertyHandler(Specific.StyleProperty, UpdateThemeStyle);
+ RegisterPropertyHandler(Specific.IsFocusAllowedProperty, UpdateFocusAllowed);
+ RegisterPropertyHandler(Specific.NextFocusDirectionProperty, UpdateFocusDirection);
+ RegisterPropertyHandler(Specific.NextFocusUpViewProperty, UpdateFocusUpView);
+ RegisterPropertyHandler(Specific.NextFocusDownViewProperty, UpdateFocusDownView);
+ RegisterPropertyHandler(Specific.NextFocusLeftViewProperty, UpdateFocusLeftView);
+ RegisterPropertyHandler(Specific.NextFocusRightViewProperty, UpdateFocusRightView);
+ RegisterPropertyHandler(Specific.NextFocusBackViewProperty, UpdateFocusBackView);
+ RegisterPropertyHandler(Specific.NextFocusForwardViewProperty, UpdateFocusForwardView);
RegisterPropertyHandler(VisualElement.AnchorXProperty, ApplyTransformation);
RegisterPropertyHandler(VisualElement.AnchorYProperty, ApplyTransformation);
@@ -108,7 +116,7 @@ namespace Xamarin.Forms.Platform.Tizen
}
}
- protected bool IsDisposed => (_flags == VisualElementRendererFlags.Disposed);
+ protected bool IsDisposed => _flags.HasFlag(VisualElementRendererFlags.Disposed);
/// <summary>
/// Releases all resource used by the <see cref="Xamarin.Forms.Platform.Tizen.VisualElementRenderer"/> object.
@@ -263,7 +271,7 @@ namespace Xamarin.Forms.Platform.Tizen
/// <param name="disposing">True if the memory release was requested on demand.</param>
protected virtual void Dispose(bool disposing)
{
- if ((_flags & VisualElementRendererFlags.Disposed) != 0)
+ if (IsDisposed)
{
return;
}
@@ -778,6 +786,128 @@ namespace Xamarin.Forms.Platform.Tizen
{
}
+ void UpdateFocusAllowed(bool initialize)
+ {
+ if (!initialize)
+ {
+ var widget = NativeView as Widget;
+ if (widget != null)
+ {
+ widget.AllowFocus(Specific.IsFocusAllowed(Element));
+ }
+ else
+ {
+ Log.Warn("{0} uses {1} which does not support Focus management", this, NativeView);
+ }
+ }
+ }
+
+ void UpdateFocusDirection(bool initialize)
+ {
+ var direction = Specific.GetNextFocusDirection(Element);
+ if (!initialize && direction != XFocusDirection.None)
+ {
+ var widget = NativeView as Widget;
+ if (widget != null)
+ {
+ widget.FocusNext(ConvertToNativeFocusDirection(direction));
+ }
+ else
+ {
+ Log.Warn("{0} uses {1} which does not support Focus management", this, NativeView);
+ }
+ }
+ }
+
+ void SetNextFocusViewInternal(string direction)
+ {
+ var widget = NativeView as Widget;
+ if (widget != null)
+ {
+ EvasObject nativeControl;
+ switch (direction)
+ {
+ case XFocusDirection.Back:
+ nativeControl = Platform.GetRenderer(Specific.GetNextFocusBackView(Element))?.NativeView;
+ break;
+ case XFocusDirection.Forward:
+ nativeControl = Platform.GetRenderer(Specific.GetNextFocusForwardView(Element))?.NativeView;
+ break;
+ case XFocusDirection.Up:
+ nativeControl = Platform.GetRenderer(Specific.GetNextFocusUpView(Element))?.NativeView;
+ break;
+ case XFocusDirection.Down:
+ nativeControl = Platform.GetRenderer(Specific.GetNextFocusDownView(Element))?.NativeView;
+ break;
+ case XFocusDirection.Right:
+ nativeControl = Platform.GetRenderer(Specific.GetNextFocusRightView(Element))?.NativeView;
+ break;
+ case XFocusDirection.Left:
+ nativeControl = Platform.GetRenderer(Specific.GetNextFocusLeftView(Element))?.NativeView;
+ break;
+ default:
+ nativeControl = null;
+ break;
+ }
+ if (nativeControl != null)
+ {
+ widget.SetNextFocusObject(nativeControl, ConvertToNativeFocusDirection(direction));
+ }
+ }
+ else
+ {
+ Log.Warn("{0} uses {1} which does not support Focus management", this, NativeView);
+ }
+ }
+
+ void UpdateFocusUpView(bool initialize)
+ {
+ if (!initialize && Specific.GetNextFocusUpView(Element) != null)
+ {
+ SetNextFocusViewInternal(XFocusDirection.Up);
+ }
+ }
+
+ void UpdateFocusDownView(bool initialize)
+ {
+ if (!initialize && Specific.GetNextFocusDownView(Element) != null)
+ {
+ SetNextFocusViewInternal(XFocusDirection.Down);
+ }
+ }
+
+ void UpdateFocusLeftView(bool initialize)
+ {
+ if (!initialize && Specific.GetNextFocusLeftView(Element) != null)
+ {
+ SetNextFocusViewInternal(XFocusDirection.Left);
+ }
+ }
+
+ void UpdateFocusRightView(bool initialize)
+ {
+ if (!initialize && Specific.GetNextFocusRightView(Element) != null)
+ {
+ SetNextFocusViewInternal(XFocusDirection.Right);
+ }
+ }
+
+ void UpdateFocusBackView(bool initialize)
+ {
+ if (!initialize && Specific.GetNextFocusBackView(Element) != null)
+ {
+ SetNextFocusViewInternal(XFocusDirection.Back);
+ }
+ }
+
+ void UpdateFocusForwardView(bool initialize)
+ {
+ if (!initialize && Specific.GetNextFocusForwardView(Element) != null)
+ {
+ SetNextFocusViewInternal(XFocusDirection.Forward);
+ }
+ }
+
void ApplyRotation(EvasMap map, ERect geometry, ref bool changed)
{
var rotationX = Element.RotationX;
@@ -865,6 +995,17 @@ namespace Xamarin.Forms.Platform.Tizen
NativeView.EvasMap = map;
}
}
+
+ EFocusDirection ConvertToNativeFocusDirection(string direction) {
+ if (direction == XFocusDirection.Back) return EFocusDirection.Previous;
+ if (direction == XFocusDirection.Forward) return EFocusDirection.Next;
+ if (direction == XFocusDirection.Up) return EFocusDirection.Up;
+ if (direction == XFocusDirection.Down) return EFocusDirection.Down;
+ if (direction == XFocusDirection.Right) return EFocusDirection.Right;
+ if (direction == XFocusDirection.Left) return EFocusDirection.Left;
+
+ return EFocusDirection.Next;
+ }
}
internal static class Settings
@@ -890,4 +1031,4 @@ namespace Xamarin.Forms.Platform.Tizen
--s_ignoreCount;
}
}
-} \ No newline at end of file
+}
diff --git a/Xamarin.Forms.Platform.Tizen/Xamarin.Forms.Platform.Tizen.csproj b/Xamarin.Forms.Platform.Tizen/Xamarin.Forms.Platform.Tizen.csproj
index 85ad0a47..26d62846 100755..100644
--- a/Xamarin.Forms.Platform.Tizen/Xamarin.Forms.Platform.Tizen.csproj
+++ b/Xamarin.Forms.Platform.Tizen/Xamarin.Forms.Platform.Tizen.csproj
@@ -1,175 +1,20 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project Sdk="Microsoft.NET.Sdk">
+
<PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProjectGuid>{227D2CC5-26A1-4CE7-AE25-1B18AF625B9C}</ProjectGuid>
- <OutputType>Library</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>Xamarin.Forms.Platform.Tizen</RootNamespace>
- <AssemblyName>Xamarin.Forms.Platform.Tizen</AssemblyName>
- <FileAlignment>512</FileAlignment>
- </PropertyGroup>
- <PropertyGroup>
- <TargetFrameworkIdentifier>.NETStandard</TargetFrameworkIdentifier>
- <TargetFrameworkVersion>v1.6</TargetFrameworkVersion>
- <NuGetTargetMoniker>.NETStandard,Version=v1.6</NuGetTargetMoniker>
- <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>
- <NoStdLib>true</NoStdLib>
- <NoWarn>$(NoWarn);1701;1702</NoWarn>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>true</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>
+ <TargetFramework>netstandard1.6</TargetFramework>
+ <PackageTargetFallback>$(PackageTargetFallback);portable-net45+wp80+win81+wpa81</PackageTargetFallback>
</PropertyGroup>
+
<ItemGroup>
- <Compile Include="Cells\CellRenderer.cs" />
- <Compile Include="Cells\EntryCellRenderer.cs" />
- <Compile Include="Cells\ImageCellRenderer.cs" />
- <Compile Include="Cells\SwitchCellRenderer.cs" />
- <Compile Include="Cells\TextCellRenderer.cs" />
- <Compile Include="Cells\ViewCellRenderer.cs" />
- <Compile Include="Deserializer.cs" />
- <Compile Include="ElementChangedEventArgs.cs" />
- <Compile Include="EvasObjectWrapper.cs" />
- <Compile Include="ExportImageSourceHandlerAttribute.cs" />
- <Compile Include="ExportCellAttribute.cs" />
- <Compile Include="ExportRendererAttribute.cs" />
- <Compile Include="ExportRendererHandler.cs" />
- <Compile Include="Extensions\PlatformConfigurationExtensions.cs" />
- <Compile Include="Extensions\ColorExtensions.cs" />
- <Compile Include="Extensions\KeyboardExtensions.cs" />
- <Compile Include="Extensions\DensityIndependentPixelExtensions.cs" />
- <Compile Include="Extensions\LayoutExtensions.cs" />
- <Compile Include="Extensions\NativeBindingExtensions.cs" />
- <Compile Include="Extensions\ScrollToPositionExtensions.cs" />
- <Compile Include="Extensions\TextAlignmentExtensions.cs" />
- <Compile Include="Forms.cs" />
- <Compile Include="GestureDetector.cs" />
- <Compile Include="GestureHandler.cs" />
- <Compile Include="IGestureController.cs" />
- <Compile Include="TapGestureHandler.cs" />
- <Compile Include="PinchGestureHandler.cs" />
- <Compile Include="PanGestureHandler.cs" />
- <Compile Include="FormsApplication.cs" />
- <Compile Include="Log\ConsoleLogger.cs" />
- <Compile Include="Log\DlogLogger.cs" />
- <Compile Include="Log\ILogger.cs" />
- <Compile Include="Log\Log.cs" />
- <Compile Include="Log\XamarinLogListener.cs" />
- <Compile Include="Native\Box.cs" />
- <Compile Include="Native\Button.cs" />
- <Compile Include="Native\Canvas.cs" />
- <Compile Include="Native\ContentPage.cs" />
- <Compile Include="Native\DateChangedEventArgs.cs" />
- <Compile Include="Native\DatePicker.cs" />
- <Compile Include="Native\DateTimePickerDialog.cs" />
- <Compile Include="Native\Dialog.cs" />
- <Compile Include="Native\DisplayOrientations.cs" />
- <Compile Include="Native\Entry.cs" />
- <Compile Include="Native\FormattedString.cs" />
- <Compile Include="Native\IContainable.cs" />
- <Compile Include="Native\Image.cs" />
- <Compile Include="Native\IMeasurable.cs" />
- <Compile Include="Native\ITextable.cs" />
- <Compile Include="Native\Keyboard.cs" />
- <Compile Include="Native\Label.cs" />
- <Compile Include="Native\LayoutEventArgs.cs" />
- <Compile Include="Native\LineBreakMode.cs" />
- <Compile Include="Native\ListView.cs" />
- <Compile Include="Native\MasterDetailPage.cs" />
- <Compile Include="Native\ObservableCollection.cs" />
- <Compile Include="Native\SearchBar.cs" />
- <Compile Include="Native\Span.cs" />
- <Compile Include="Native\TableView.cs" />
- <Compile Include="Native\TextAlignment.cs" />
- <Compile Include="Native\TextHelper.cs" />
- <Compile Include="Native\TimePicker.cs" />
- <Compile Include="Native\Window.cs" />
- <Compile Include="NativeBindingService.cs" />
- <Compile Include="NativeValueConverterService.cs" />
- <Compile Include="Platform.cs" />
- <Compile Include="PlatformEffect.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- <Compile Include="Renderers\ActivityIndicatorRenderer.cs" />
- <Compile Include="Renderers\BoxViewRenderer.cs" />
- <Compile Include="Renderers\ButtonRenderer.cs" />
- <Compile Include="Renderers\CarouselPageRenderer.cs" />
- <Compile Include="Renderers\ContentPageRenderer.cs" />
- <Compile Include="Renderers\DatePickerRenderer.cs" />
- <Compile Include="Renderers\EditorRenderer.cs" />
- <Compile Include="Renderers\EntryRenderer.cs" />
- <Compile Include="Renderers\EvasObjectWrapperRenderer.cs" />
- <Compile Include="Renderers\FrameRenderer.cs" />
- <Compile Include="Renderers\ImageRenderer.cs" />
- <Compile Include="Renderers\IVisualElementRenderer.cs" />
- <Compile Include="Renderers\LabelRenderer.cs" />
- <Compile Include="Renderers\LayoutRenderer.cs" />
- <Compile Include="Renderers\ListViewRenderer.cs" />
- <Compile Include="Renderers\MasterDetailPageRenderer.cs" />
- <Compile Include="Renderers\NavigationPageRenderer.cs" />
- <Compile Include="Renderers\PickerRenderer.cs" />
- <Compile Include="Renderers\ProgressBarRenderer.cs" />
- <Compile Include="Renderers\ScrollViewRenderer.cs" />
- <Compile Include="Renderers\SearchBarRenderer.cs" />
- <Compile Include="Renderers\SliderRenderer.cs" />
- <Compile Include="Renderers\StepperRenderer.cs" />
- <Compile Include="Renderers\SwitchRenderer.cs" />
- <Compile Include="Renderers\TabbedPageRenderer.cs" />
- <Compile Include="Renderers\TableViewRenderer.cs" />
- <Compile Include="Renderers\TimePickerRenderer.cs" />
- <Compile Include="Renderers\ViewRenderer.cs" />
- <Compile Include="Renderers\VisualElementRenderer.cs" />
- <Compile Include="Renderers\WebViewRenderer.cs" />
- <Compile Include="ResourcePath.cs" />
- <Compile Include="ResourcesProvider.cs" />
- <Compile Include="TizenPlatformServices.cs" />
- <Compile Include="TizenTitleBarVisibility.cs" />
- <Compile Include="ViewInitializedEventArgs.cs" />
- <Compile Include="VisualElementChangedEventArgs.cs" />
- <Compile Include="VisualElementRendererFlags.cs" />
- <Compile Include="TizenIsolatedStorageFile.cs" />
+ <PackageReference Include="ElmSharp" Version="1.1.0-beta-018" />
+ <PackageReference Include="System.Runtime.Serialization.Xml" Version="4.3.0" />
+ <PackageReference Include="Tizen.Applications" Version="1.3.2" />
+ <PackageReference Include="Tizen.System.Information" Version="1.0.2" />
+ <PackageReference Include="Tizen.WebView" Version="1.0.0" />
</ItemGroup>
+
<ItemGroup>
- <None Include="Xamarin.Forms.Platform.Tizen.project.json" />
+ <ProjectReference Include="..\Xamarin.Forms.Core\Xamarin.Forms.Core.csproj" />
</ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.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>
- -->
- <ItemGroup>
- <ProjectReference Include="..\Xamarin.Forms.Core\Xamarin.Forms.Core.csproj">
- <Project>{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}</Project>
- <Name>Xamarin.Forms.Core</Name>
- </ProjectReference>
- </ItemGroup>
- <PropertyGroup>
- <!-- https://github.com/dotnet/corefxlab/tree/master/samples/NetCoreSample and
- https://docs.microsoft.com/en-us/dotnet/articles/core/tutorials/target-dotnetcore-with-msbuild
- -->
- <!-- We don't use any of MSBuild's resolution logic for resolving the framework, so just set these two
- properties to any folder that exists to skip the GetReferenceAssemblyPaths task (not target) and
- to prevent it from outputting a warning (MSB3644).
- -->
- <_TargetFrameworkDirectories>$(MSBuildThisFileDirectory)</_TargetFrameworkDirectories>
- <_FullFrameworkReferenceAssemblyPaths>$(MSBuildThisFileDirectory)</_FullFrameworkReferenceAssemblyPaths>
- <AutoUnifyAssemblyReferences>true</AutoUnifyAssemblyReferences>
- </PropertyGroup>
-</Project> \ No newline at end of file
+
+</Project>
diff --git a/Xamarin.Forms.Platform.Tizen/Xamarin.Forms.Platform.Tizen.nuspec b/Xamarin.Forms.Platform.Tizen/Xamarin.Forms.Platform.Tizen.nuspec
index 2bb7bf80..b9b952c1 100644
--- a/Xamarin.Forms.Platform.Tizen/Xamarin.Forms.Platform.Tizen.nuspec
+++ b/Xamarin.Forms.Platform.Tizen/Xamarin.Forms.Platform.Tizen.nuspec
@@ -8,6 +8,7 @@
<projectUrl>https://www.tizen.org/</projectUrl>
<iconUrl>https://developer.tizen.org/sites/default/files/images/tizen-pinwheel-on-light-rgb_64_64.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
+ <licenseUrl>https://git.tizen.org/cgit/platform/upstream/xamarin-forms/plain/LICENSE</licenseUrl>
<description>Xamarin Forms Renderer to build native UIs for Tizen.Net</description>
<copyright>Copyright 2016</copyright>
<dependencies>
@@ -15,7 +16,7 @@
</dependencies>
</metadata>
<files>
- <file src="../Xamarin.Forms.Platform.Tizen/bin/$Configuration$/Xamarin.Forms.Platform.Tizen.dll" target="lib/netstandard1.6"/>
- <file src="../Xamarin.Forms.Platform.Tizen/bin/$Configuration$/Xamarin.Forms.Platform.Tizen.*pdb" target="lib/netstandard1.6"/>
+ <file src="../Xamarin.Forms.Platform.Tizen/bin/$Configuration$/netstandard1.6/Xamarin.Forms.Platform.Tizen.dll" target="lib/netstandard1.6"/>
+ <file src="../Xamarin.Forms.Platform.Tizen/bin/$Configuration$/netstandard1.6/Xamarin.Forms.Platform.Tizen.*pdb" target="lib/netstandard1.6"/>
</files>
</package>
diff --git a/Xamarin.Forms.Platform.Tizen/Xamarin.Forms.Platform.Tizen.project.json b/Xamarin.Forms.Platform.Tizen/Xamarin.Forms.Platform.Tizen.project.json
deleted file mode 100644
index 1c3cb430..00000000
--- a/Xamarin.Forms.Platform.Tizen/Xamarin.Forms.Platform.Tizen.project.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "dependencies": {
- "ElmSharp": "1.1.0-beta-016",
- "NETStandard.Library": "1.6.0",
- "System.Runtime.Serialization.Xml": "4.1.2",
- "Tizen.Applications": "1.2.6",
- "Tizen.System.Information": "1.0.1",
- "Tizen.WebView": "1.0.0"
- },
- "frameworks": {
- "netstandard1.6": {
- "imports": "portable-net45+win8+wpa81+wp8"
- }
- }
-} \ No newline at end of file
diff --git a/Xamarin.Forms.Tizen.sln b/Xamarin.Forms.Tizen.sln
index 6cea1efb..b80658db 100644
--- a/Xamarin.Forms.Tizen.sln
+++ b/Xamarin.Forms.Tizen.sln
@@ -1,21 +1,19 @@

Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 14
-VisualStudioVersion = 14.0.25420.1
+# Visual Studio 15
+VisualStudioVersion = 15.0.26228.12
MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Forms.Platform.Tizen", "Xamarin.Forms.Platform.Tizen\Xamarin.Forms.Platform.Tizen.csproj", "{F77EB771-B082-48C6-979B-F95567C90259}"
+EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Forms.Core", "Xamarin.Forms.Core\Xamarin.Forms.Core.csproj", "{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Forms.Platform", "Xamarin.Forms.Platform\Xamarin.Forms.Platform.csproj", "{67F9D3A8-F71E-4428-913F-C37AE82CDB24}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Forms.Xaml", "Xamarin.Forms.Xaml\Xamarin.Forms.Xaml.csproj", "{9DB2F292-8034-4E06-89AD-98BBDA4306B9}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Forms.Platform.Tizen", "Xamarin.Forms.Platform.Tizen\Xamarin.Forms.Platform.Tizen.csproj", "{227D2CC5-26A1-4CE7-AE25-1B18AF625B9C}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Forms.Maps", "Xamarin.Forms.Maps\Xamarin.Forms.Maps.csproj", "{7D13BAC2-C6A4-416A-B07E-C169B199E52B}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Forms.Maps.Tizen", "Xamarin.Forms.Maps.Tizen\Xamarin.Forms.Maps.Tizen.csproj", "{D29D5750-9A39-4E92-A19E-62567D660B7D}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Forms.Build.Tasks", "Xamarin.Forms.Build.Tasks\Xamarin.Forms.Build.Tasks.csproj", "{96D89208-4EB9-4451-BE73-8A9DF3D9D7B7}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Forms.Maps.Tizen", "Xamarin.Forms.Maps.Tizen\Xamarin.Forms.Maps.Tizen.csproj", "{640DD01E-EDF4-47B8-8C91-AC48289B5291}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -24,6 +22,12 @@ Global
Turkey|Any CPU = Turkey|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {F77EB771-B082-48C6-979B-F95567C90259}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F77EB771-B082-48C6-979B-F95567C90259}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F77EB771-B082-48C6-979B-F95567C90259}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F77EB771-B082-48C6-979B-F95567C90259}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F77EB771-B082-48C6-979B-F95567C90259}.Turkey|Any CPU.ActiveCfg = Debug|Any CPU
+ {F77EB771-B082-48C6-979B-F95567C90259}.Turkey|Any CPU.Build.0 = Debug|Any CPU
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -42,30 +46,18 @@ Global
{9DB2F292-8034-4E06-89AD-98BBDA4306B9}.Release|Any CPU.Build.0 = Release|Any CPU
{9DB2F292-8034-4E06-89AD-98BBDA4306B9}.Turkey|Any CPU.ActiveCfg = Turkey|Any CPU
{9DB2F292-8034-4E06-89AD-98BBDA4306B9}.Turkey|Any CPU.Build.0 = Turkey|Any CPU
- {227D2CC5-26A1-4CE7-AE25-1B18AF625B9C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {227D2CC5-26A1-4CE7-AE25-1B18AF625B9C}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {227D2CC5-26A1-4CE7-AE25-1B18AF625B9C}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {227D2CC5-26A1-4CE7-AE25-1B18AF625B9C}.Release|Any CPU.Build.0 = Release|Any CPU
- {227D2CC5-26A1-4CE7-AE25-1B18AF625B9C}.Turkey|Any CPU.ActiveCfg = Release|Any CPU
- {227D2CC5-26A1-4CE7-AE25-1B18AF625B9C}.Turkey|Any CPU.Build.0 = Release|Any CPU
{7D13BAC2-C6A4-416A-B07E-C169B199E52B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7D13BAC2-C6A4-416A-B07E-C169B199E52B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7D13BAC2-C6A4-416A-B07E-C169B199E52B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7D13BAC2-C6A4-416A-B07E-C169B199E52B}.Release|Any CPU.Build.0 = Release|Any CPU
{7D13BAC2-C6A4-416A-B07E-C169B199E52B}.Turkey|Any CPU.ActiveCfg = Turkey|Any CPU
{7D13BAC2-C6A4-416A-B07E-C169B199E52B}.Turkey|Any CPU.Build.0 = Turkey|Any CPU
- {D29D5750-9A39-4E92-A19E-62567D660B7D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {D29D5750-9A39-4E92-A19E-62567D660B7D}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {D29D5750-9A39-4E92-A19E-62567D660B7D}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {D29D5750-9A39-4E92-A19E-62567D660B7D}.Release|Any CPU.Build.0 = Release|Any CPU
- {D29D5750-9A39-4E92-A19E-62567D660B7D}.Turkey|Any CPU.ActiveCfg = Release|Any CPU
- {D29D5750-9A39-4E92-A19E-62567D660B7D}.Turkey|Any CPU.Build.0 = Release|Any CPU
- {96D89208-4EB9-4451-BE73-8A9DF3D9D7B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {96D89208-4EB9-4451-BE73-8A9DF3D9D7B7}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {96D89208-4EB9-4451-BE73-8A9DF3D9D7B7}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {96D89208-4EB9-4451-BE73-8A9DF3D9D7B7}.Release|Any CPU.Build.0 = Release|Any CPU
- {96D89208-4EB9-4451-BE73-8A9DF3D9D7B7}.Turkey|Any CPU.ActiveCfg = Turkey|Any CPU
- {96D89208-4EB9-4451-BE73-8A9DF3D9D7B7}.Turkey|Any CPU.Build.0 = Turkey|Any CPU
+ {640DD01E-EDF4-47B8-8C91-AC48289B5291}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {640DD01E-EDF4-47B8-8C91-AC48289B5291}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {640DD01E-EDF4-47B8-8C91-AC48289B5291}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {640DD01E-EDF4-47B8-8C91-AC48289B5291}.Release|Any CPU.Build.0 = Release|Any CPU
+ {640DD01E-EDF4-47B8-8C91-AC48289B5291}.Turkey|Any CPU.ActiveCfg = Debug|Any CPU
+ {640DD01E-EDF4-47B8-8C91-AC48289B5291}.Turkey|Any CPU.Build.0 = Debug|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/packaging/xamarin-forms-tizen.spec b/packaging/xamarin-forms-tizen.spec
index 09c0a30d..f230c3d0 100644
--- a/packaging/xamarin-forms-tizen.spec
+++ b/packaging/xamarin-forms-tizen.spec
@@ -2,7 +2,7 @@
%define XF_RELEASE 214
# Increase this XF_DEV_VERSION when any public APIs of Xamarin.Forms.Platform.Tizen are changed.
-%define XF_DEV_VERSION 002
+%define XF_DEV_VERSION 004
Name: xamarin-forms-tizen
Summary: Xamarin.Forms for Tizen platform
@@ -18,19 +18,15 @@ Source1: %{name}.manifest
AutoReqProv: no
ExcludeArch: aarch64
-BuildRequires: mono-compiler
-BuildRequires: mono-devel
-BuildRequires: referenceassemblies-pcl
-
BuildRequires: dotnet-build-tools
# C# API Requires
+BuildRequires: elm-sharp-nuget
BuildRequires: csapi-tizen-nuget
BuildRequires: csapi-application-nuget
BuildRequires: csapi-information-nuget
BuildRequires: csapi-location-nuget
BuildRequires: csapi-maps-nuget
-BuildRequires: elm-sharp-nuget
BuildRequires: csapi-webview-nuget
%description
@@ -46,11 +42,11 @@ Group: Development/Libraries
NuGet package for %{name}
# for private nuget package
-%package nugetpriv
+%package nuget-private
Summary: Xamarin Forms Private NuGet
Group: Development/Libraries
-%description nugetpriv
+%description nuget-private
Xamarin Forms Private NuGet for internal uses
%prep
@@ -58,37 +54,34 @@ Xamarin Forms Private NuGet for internal uses
cp %{SOURCE1} .
%build
-# Restore NuGet Dependencies
-%dotnet_restore Xamarin.Forms.Platform.Tizen
-%dotnet_restore Xamarin.Forms.Maps.Tizen
-
-# Build
+# Build Xamarin.Forms.Build.Tasks
PKGSRC="$(readlink -f .nuget/packages)"
-%dotnet_build Xamarin.Forms.Tizen.sln "/p:PackageSources=$PKGSRC"
+%dotnet_build Xamarin.Forms.Build.Tasks "/p:PackageSources=$PKGSRC"
+
+# Build Xamarin.Forms.Tizen.sln
+%dotnet_build Xamarin.Forms.Tizen.sln
# Create NuGet Packages
%dotnet_pack Xamarin.Forms.Platform.Tizen/Xamarin.Forms.Platform.Tizen.nuspec %{NUPKG_VERSION} "-BasePath ./.nuspec"
%dotnet_pack Xamarin.Forms.Maps.Tizen/Xamarin.Forms.Maps.Tizen.nuspec %{NUPKG_VERSION} "-BasePath ./.nuspec"
-# Xamarin.Forms NuGet Package for private uses
-%dotnet_pack .nuspec/Xamarin.Forms.Tizen.nuspec %{XF_VERSION}.%{XF_RELEASE}-tizen-%{XF_DEV_VERSION} "-BasePath ./.nuspec"
+# Xamarin.Forms for internal usage
+%dotnet_pack .nuspec/Xamarin.Forms.Tizen.nuspec %{NUPKG_VERSION} "-BasePath ./.nuspec"
%install
-function install_asm()
-{
- mkdir -p %{buildroot}%{_dotnet_assembly_path}
- install -p -m 644 $1/bin/%{_dotnet_build_conf}/$1.dll %{buildroot}%{_dotnet_assembly_path}
-}
-
-install_asm Xamarin.Forms.Core
-install_asm Xamarin.Forms.Xaml
-install_asm Xamarin.Forms.Platform
-install_asm Xamarin.Forms.Platform.Tizen
-install_asm Xamarin.Forms.Maps
-install_asm Xamarin.Forms.Maps.Tizen
-
-mkdir -p %{buildroot}/nuget
-install -p -m 644 *.nupkg %{buildroot}/nuget
+%dotnet_install_assembly Xamarin.Forms.Core
+%dotnet_install_assembly Xamarin.Forms.Core
+%dotnet_install_assembly Xamarin.Forms.Xaml
+%dotnet_install_assembly Xamarin.Forms.Platform
+%dotnet_install_assembly Xamarin.Forms.Platform.Tizen
+%dotnet_install_assembly Xamarin.Forms.Maps
+%dotnet_install_assembly Xamarin.Forms.Maps.Tizen
+
+%dotnet_install_nuget Xamarin.Forms.Platform.Tizen
+%dotnet_install_nuget Xamarin.Forms.Maps.Tizen
+
+# Xamarin.Forms for internal usage
+%dotnet_install_nuget Xamarin.Forms
%files
%manifest %{name}.manifest
@@ -99,8 +92,8 @@ install -p -m 644 *.nupkg %{buildroot}/nuget
/nuget/Xamarin.Forms.Platform.Tizen.%{NUPKG_VERSION}.nupkg
/nuget/Xamarin.Forms.Maps.Tizen.%{NUPKG_VERSION}.nupkg
-%files nugetpriv
-/nuget/Xamarin.Forms.%{XF_VERSION}.%{XF_RELEASE}-tizen-%{XF_DEV_VERSION}.nupkg
+%files nuget-private
+/nuget/Xamarin.Forms.%{NUPKG_VERSION}.nupkg