summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKangho Hur <kangho.hur@samsung.com>2017-01-20 14:05:56 +0900
committerKangho Hur <kangho.hur@samsung.com>2017-01-20 16:23:01 +0900
commitc2ef6d0d2e21db684b47fb57e8bce40a2372fbd9 (patch)
treef7408643de831757e5b0d8a3445d8b0f788b43e3
parentc3e7765616b71fc3cb65db914fd6e0bf6db786a3 (diff)
downloadxamarin-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.cs30
-rw-r--r--Xamarin.Forms.Platform.Tizen/TizenPlatformServices.cs20
-rw-r--r--packaging/xamarin-forms-tizen.spec2
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