diff options
author | Kangho Hur <kangho.hur@samsung.com> | 2017-01-20 14:05:56 +0900 |
---|---|---|
committer | Kangho Hur <kangho.hur@samsung.com> | 2017-01-20 16:23:01 +0900 |
commit | c2ef6d0d2e21db684b47fb57e8bce40a2372fbd9 (patch) | |
tree | f7408643de831757e5b0d8a3445d8b0f788b43e3 | |
parent | c3e7765616b71fc3cb65db914fd6e0bf6db786a3 (diff) | |
download | xamarin-forms-c2ef6d0d2e21db684b47fb57e8bce40a2372fbd9.tar.gz xamarin-forms-c2ef6d0d2e21db684b47fb57e8bce40a2372fbd9.tar.bz2 xamarin-forms-c2ef6d0d2e21db684b47fb57e8bce40a2372fbd9.zip |
Consider TV profile as TargetIdiom
- Currently, We assumed TV as TargetIdiom.Desktop. This is because there is no TargetIdiom.TV in Xamarin.Forms mainstream.
- I'll do a PR to adding TargetIdiom.TV. Also, I'll fix it correctly when TargetIdio.TV is merged.
Change-Id: Idb7b1cd2510f9d4cecb70bd1e9d4dae1c2a61b05
-rw-r--r-- | Xamarin.Forms.Platform.Tizen/Forms.cs | 30 | ||||
-rw-r--r-- | Xamarin.Forms.Platform.Tizen/TizenPlatformServices.cs | 20 | ||||
-rw-r--r-- | packaging/xamarin-forms-tizen.spec | 2 |
3 files changed, 45 insertions, 7 deletions
diff --git a/Xamarin.Forms.Platform.Tizen/Forms.cs b/Xamarin.Forms.Platform.Tizen/Forms.cs index a12d9513..51914250 100644 --- a/Xamarin.Forms.Platform.Tizen/Forms.cs +++ b/Xamarin.Forms.Platform.Tizen/Forms.cs @@ -25,6 +25,8 @@ namespace Xamarin.Forms.Platform.Tizen readonly double scalingFactor; + readonly string profile; + public override Size PixelScreenSize { get @@ -49,6 +51,14 @@ namespace Xamarin.Forms.Platform.Tizen } } + public string Profile + { + get + { + return this.profile; + } + } + public TizenDeviceInfo(FormsApplication formsApplication) { int width = 0; @@ -60,6 +70,9 @@ namespace Xamarin.Forms.Platform.Tizen scalingFactor = 1.0; // scaling is disabled, we're using pixels as Xamarin's geometry units pixelScreenSize = new Size(width, height); scaledScreenSize = new Size(width / scalingFactor, height / scalingFactor); + + //TODO : Fix me if elm_config_profile_get() unavailable + profile = Elementary.GetProfile(); } } @@ -165,8 +178,21 @@ namespace Xamarin.Forms.Platform.Tizen }); } - // FIXME: We should consider TV and Common (Desktop) profiles also. - Device.Idiom = TargetIdiom.Phone; + // TODO: We should consider various tizen profiles such as TV, Wearable and so on. + string profile = ((TizenDeviceInfo)Device.Info).Profile; + if (profile == "mobile") + { + Device.Idiom = TargetIdiom.Phone; + } + else if (profile == "tv" || profile == "desktop") + { + Device.Idiom = TargetIdiom.Desktop; + } + else + { + Device.Idiom = TargetIdiom.Unsupported; + } + ExpressionSearch.Default = new TizenExpressionSearch(); IsInitialized = true; } diff --git a/Xamarin.Forms.Platform.Tizen/TizenPlatformServices.cs b/Xamarin.Forms.Platform.Tizen/TizenPlatformServices.cs index bb7183a9..3fa4e756 100644 --- a/Xamarin.Forms.Platform.Tizen/TizenPlatformServices.cs +++ b/Xamarin.Forms.Platform.Tizen/TizenPlatformServices.cs @@ -79,17 +79,29 @@ namespace Xamarin.Forms.Platform.Tizen public double GetNamedSize(NamedSize size, Type targetElementType, bool useOldSizes) { + double baseSize = 10; + double baseSizeSpan = 2; + + // TODO: Fix me when TargetIdiom.TV avaialbe on mainline + // In case of TV profile The base named size sholud be lager than mobile profile + if (Device.Idiom == TargetIdiom.Desktop) + { + // TODO: These valuse should be updated when TV profile UX guideline released. + baseSize = 60; + baseSizeSpan = 5; + } + switch (size) { case NamedSize.Micro: - return 10; + return baseSize; case NamedSize.Small: - return 12; + return baseSize + baseSizeSpan; case NamedSize.Default: case NamedSize.Medium: - return 14; + return baseSize + (baseSizeSpan * 2); case NamedSize.Large: - return 18; + return baseSize + (baseSizeSpan * 4); default: throw new ArgumentOutOfRangeException(); } diff --git a/packaging/xamarin-forms-tizen.spec b/packaging/xamarin-forms-tizen.spec index 97b77df8..d197860e 100644 --- a/packaging/xamarin-forms-tizen.spec +++ b/packaging/xamarin-forms-tizen.spec @@ -1,7 +1,7 @@ %define XF_VERSION 2.3.3.175 # Increase this XF_TIZEN_VERSION when any public APIs of Xamarin.Forms.Platform.Tizen are changed. -%define XF_TIZEN_VERSION beta-004 +%define XF_TIZEN_VERSION beta-005 Name: xamarin-forms-tizen Summary: Xamarin.Forms for Tizen platform |