Merge remote-tracking branch 'origin/API6' into tizen_5.5_tv
authoradmin <tizenapi@samsung.com>
Mon, 27 Apr 2020 07:35:27 +0000 (07:35 +0000)
committeradmin <tizenapi@samsung.com>
Mon, 27 Apr 2020 07:35:27 +0000 (07:35 +0000)
19 files changed:
packaging/PlatformFileList.txt [changed mode: 0755->0644]
packaging/csapi-tizenfx.spec
packaging/csapi-tizenfx.spec.in
packaging/makerid.py [new file with mode: 0755]
packaging/makespec.sh
packaging/preload/ElmSharp.Wearable.preload [new file with mode: 0644]
packaging/preload/ElmSharp.preload [new file with mode: 0644]
packaging/preload/Tizen.Applications.Common.preload [new file with mode: 0644]
packaging/preload/Tizen.Applications.UI.preload [new file with mode: 0644]
packaging/preload/Tizen.Log.preload [new file with mode: 0644]
packaging/preload/Tizen.System.Information.preload [new file with mode: 0644]
packaging/preload/Tizen.preload [new file with mode: 0644]
pkg/Tizen.NET/runtime.json
src/ElmSharp.Wearable/ElmSharp.Wearable/Preload.cs [new file with mode: 0644]
src/ElmSharp/ElmSharp/PreloadedWindow.cs
src/ElmSharp/ElmSharp/Window.cs
src/ElmSharp/Interop/Interop.Elementary.Win.cs
src/Tizen.Applications.Common/Tizen.Applications/CoreApplication.cs [changed mode: 0755->0644]
src/Tizen.System.Information/Common/Information.cs

old mode 100755 (executable)
new mode 100644 (file)
index 9899785..a980d5a
@@ -67,7 +67,7 @@ Tizen.Network.WiFi.dll                             #common #mobile #mobile-emul
 Tizen.Network.WiFiDirect.dll                       #common #mobile #tv #ivi
 Tizen.Nlp.dll                                      #mobile #mobile-emul
 Tizen.NUI.dll                                      #common #mobile #mobile-emul #tv #wearable
-Tizen.NUI.Components.dll                             #common #mobile #mobile-emul #tv #wearable
+Tizen.NUI.Components.dll                           #common #mobile #mobile-emul #tv #wearable
 Tizen.NUI.Wearable.dll                             #wearable
 Tizen.PhonenumberUtils.dll                         #mobile #mobile-emul #wearable
 Tizen.Pims.Calendar.dll                            #common #mobile #mobile-emul #tv #wearable
@@ -98,3 +98,10 @@ Tizen.Uix.TtsEngine.dll                            #common #mobile #mobile-emul
 Tizen.Uix.VoiceControl.dll                         #common #mobile #mobile-emul #tv #wearable
 Tizen.Uix.VoiceControlWidget.dll                   #common #mobile #mobile-emul #tv #wearable
 Tizen.WebView.dll                                  #common #mobile #mobile-emul #tv #wearable
+ElmSharp.preload                                   #common #mobile #mobile-emul #tv #wearable
+ElmSharp.Wearable.preload                          #wearable
+Tizen.Applications.Common.preload                  #common #mobile #mobile-emul #tv #wearable
+Tizen.Applications.UI.preload                      #common #mobile #mobile-emul #tv #wearable
+Tizen.Log.preload                                  #common #mobile #mobile-emul #tv #wearable
+Tizen.preload                                      #common #mobile #mobile-emul #tv #wearable
+Tizen.System.Information.preload                   #common #mobile #mobile-emul #tv #wearable
index 7718016..4d6bef9 100644 (file)
@@ -8,8 +8,11 @@
 %define DOTNET_ASSEMBLY_DUMMY_PATH %{DOTNET_ASSEMBLY_PATH}/ref
 %define DOTNET_ASSEMBLY_RES_PATH %{DOTNET_ASSEMBLY_PATH}/res
 %define DOTNET_TOOLS_PATH /usr/share/dotnet.tizen/tools
+%define DOTNET_PRELOAD_PATH /usr/share/dotnet.tizen/preload
 %define DOTNET_NUGET_SOURCE /nuget
 
+%define TIZEN_NET_RUNTIME_IDENTIFIERS 4.0.0:5.0.0:5.5.0
+
 Name:       csapi-tizenfx
 Summary:    Assemblies of Tizen .NET
 Version:    %{TIZEN_NET_RPM_VERSION}
@@ -134,12 +137,17 @@ export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
 
 GetFileList() {
   PROFILE=$1
-  cat packaging/PlatformFileList.txt | grep -E "#$PROFILE[[:space:]]|#$PROFILE$" | cut -d# -f1 | sed "s#^#%{DOTNET_ASSEMBLY_PATH}/#"
-  for f in $(cat packaging/PlatformFileList.txt | grep -v -E "#$PROFILE[[:space:]]|#$PROFILE$" | cut -d# -f1); do
+  cat packaging/PlatformFileList.txt | grep -v "\.preload" | grep -E "#$PROFILE[[:space:]]|#$PROFILE$" | cut -d# -f1 | sed "s#^#%{DOTNET_ASSEMBLY_PATH}/#"
+  for f in $(cat packaging/PlatformFileList.txt | grep -v -E "#$PROFILE[[:space:]]|#$PROFILE$|\.preload" | cut -d# -f1); do
     if [ -f %{_tizenfx_bin_path}/bin/dummy/$f ]; then
       echo "%{DOTNET_ASSEMBLY_PATH}/ref/$f"
     fi
   done
+  for f in $(cat packaging/PlatformFileList.txt | grep "\.preload" | grep -E "#$PROFILE[[:space:]]|#$PROFILE$" | cut -d# -f1); do
+    if [ -f packaging/preload/$f ]; then
+      echo "%{DOTNET_PRELOAD_PATH}/$f"
+    fi
+  done
 }
 
 GetFileList common > common.filelist
@@ -154,6 +162,7 @@ mkdir -p %{buildroot}%{DOTNET_ASSEMBLY_DUMMY_PATH}
 mkdir -p %{buildroot}%{DOTNET_ASSEMBLY_RES_PATH}
 mkdir -p %{buildroot}%{DOTNET_NUGET_SOURCE}
 mkdir -p %{buildroot}%{DOTNET_TOOLS_PATH}
+mkdir -p %{buildroot}%{DOTNET_PRELOAD_PATH}
 
 # Install Runtime Assemblies
 install -p -m 644 %{_tizenfx_bin_path}/bin/public/*.dll %{buildroot}%{DOTNET_ASSEMBLY_PATH}
@@ -179,9 +188,13 @@ install -p -m 644 packaging/*.nupkg %{buildroot}%{DOTNET_NUGET_SOURCE}
 # Install Tools
 install -p -m 644 tools/bin/* %{buildroot}%{DOTNET_TOOLS_PATH}
 
+# Install Preload
+install -p -m 644 packaging/preload/*.preload %{buildroot}%{DOTNET_PRELOAD_PATH}
+
 %post
 /usr/bin/vconftool set -t int db/dotnet/tizen_api_version %{TIZEN_NET_API_VERSION} -f
 /usr/bin/vconftool set -t string db/dotnet/tizen_api_path %{DOTNET_ASSEMBLY_PATH} -f
+/usr/bin/vconftool set -t string db/dotnet/tizen_rid_version %{TIZEN_NET_RUNTIME_IDENTIFIERS} -f
 
 %files
 %license LICENSE
index 4a57610..622941d 100644 (file)
@@ -7,8 +7,11 @@
 %define DOTNET_ASSEMBLY_DUMMY_PATH %{DOTNET_ASSEMBLY_PATH}/ref
 %define DOTNET_ASSEMBLY_RES_PATH %{DOTNET_ASSEMBLY_PATH}/res
 %define DOTNET_TOOLS_PATH /usr/share/dotnet.tizen/tools
+%define DOTNET_PRELOAD_PATH /usr/share/dotnet.tizen/preload
 %define DOTNET_NUGET_SOURCE /nuget
 
+%define TIZEN_NET_RUNTIME_IDENTIFIERS @rid_version@
+
 Name:       csapi-tizenfx
 Summary:    Assemblies of Tizen .NET
 Version:    %{TIZEN_NET_RPM_VERSION}
@@ -133,12 +136,17 @@ export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
 
 GetFileList() {
   PROFILE=$1
-  cat packaging/PlatformFileList.txt | grep -E "#$PROFILE[[:space:]]|#$PROFILE$" | cut -d# -f1 | sed "s#^#%{DOTNET_ASSEMBLY_PATH}/#"
-  for f in $(cat packaging/PlatformFileList.txt | grep -v -E "#$PROFILE[[:space:]]|#$PROFILE$" | cut -d# -f1); do
+  cat packaging/PlatformFileList.txt | grep -v "\.preload" | grep -E "#$PROFILE[[:space:]]|#$PROFILE$" | cut -d# -f1 | sed "s#^#%{DOTNET_ASSEMBLY_PATH}/#"
+  for f in $(cat packaging/PlatformFileList.txt | grep -v -E "#$PROFILE[[:space:]]|#$PROFILE$|\.preload" | cut -d# -f1); do
     if [ -f %{_tizenfx_bin_path}/bin/dummy/$f ]; then
       echo "%{DOTNET_ASSEMBLY_PATH}/ref/$f"
     fi
   done
+  for f in $(cat packaging/PlatformFileList.txt | grep "\.preload" | grep -E "#$PROFILE[[:space:]]|#$PROFILE$" | cut -d# -f1); do
+    if [ -f packaging/preload/$f ]; then
+      echo "%{DOTNET_PRELOAD_PATH}/$f"
+    fi
+  done
 }
 
 GetFileList common > common.filelist
@@ -153,6 +161,7 @@ mkdir -p %{buildroot}%{DOTNET_ASSEMBLY_DUMMY_PATH}
 mkdir -p %{buildroot}%{DOTNET_ASSEMBLY_RES_PATH}
 mkdir -p %{buildroot}%{DOTNET_NUGET_SOURCE}
 mkdir -p %{buildroot}%{DOTNET_TOOLS_PATH}
+mkdir -p %{buildroot}%{DOTNET_PRELOAD_PATH}
 
 # Install Runtime Assemblies
 install -p -m 644 %{_tizenfx_bin_path}/bin/public/*.dll %{buildroot}%{DOTNET_ASSEMBLY_PATH}
@@ -178,9 +187,13 @@ install -p -m 644 packaging/*.nupkg %{buildroot}%{DOTNET_NUGET_SOURCE}
 # Install Tools
 install -p -m 644 tools/bin/* %{buildroot}%{DOTNET_TOOLS_PATH}
 
+# Install Preload
+install -p -m 644 packaging/preload/*.preload %{buildroot}%{DOTNET_PRELOAD_PATH}
+
 %post
 /usr/bin/vconftool set -t int db/dotnet/tizen_api_version %{TIZEN_NET_API_VERSION} -f
 /usr/bin/vconftool set -t string db/dotnet/tizen_api_path %{DOTNET_ASSEMBLY_PATH} -f
+/usr/bin/vconftool set -t string db/dotnet/tizen_rid_version %{TIZEN_NET_RUNTIME_IDENTIFIERS} -f
 
 %files
 %license LICENSE
@@ -202,6 +215,7 @@ install -p -m 644 tools/bin/* %{buildroot}%{DOTNET_TOOLS_PATH}
 %attr(644,root,root) %{DOTNET_ASSEMBLY_RES_PATH}/*
 
 %files debug
+%manifest %{name}.manifest
 %attr(644,root,root) %{DOTNET_ASSEMBLY_PATH}/*.pdb
 
 %files common -f common.filelist
diff --git a/packaging/makerid.py b/packaging/makerid.py
new file mode 100755 (executable)
index 0000000..d6a5dca
--- /dev/null
@@ -0,0 +1,36 @@
+#!/usr/bin/python3
+
+import json
+import os
+
+scrpit_dir = os.path.dirname(os.path.abspath(__file__))
+runtime_dir = os.path.join(scrpit_dir, "../pkg/Tizen.NET/runtime.json")
+spec_dir = os.path.join(scrpit_dir, "csapi-tizenfx.spec")
+
+with open(runtime_dir) as json_file:
+    json_data = json.load(json_file)
+    json_string = json_data["runtimes"]
+
+    key_list = json_string.keys()
+    rid_list = []
+
+    for key in key_list:
+        key = key.replace("-armel", "")
+        key = key.replace("-x86", "")
+        key = key.replace("tizen.", "")
+        key = key.replace("tizen", "")
+        if key.strip():
+            rid_list.append(key)
+
+    rid_list = list(set(rid_list))
+    rid_list.sort()
+    
+    f = open(spec_dir,'r')
+    origin_data = f.read()
+    f.close()
+
+    new_data = origin_data.replace("@rid_version@", ':'.join(rid_list))
+
+    f = open(spec_dir, 'w')
+    f.write(new_data)
+    f.close()
index 6a57f61..7afceda 100755 (executable)
@@ -24,3 +24,6 @@ echo "# Auto-generated from $(basename $RPMSPEC_IN) by makespec.sh" | cat - $RPM
 sed -i -e "s/@api_version@/$API_VERSION/g" $RPMSPEC
 sed -i -e "s/@rpm_version@/$RPM_VERSION/g" $RPMSPEC
 sed -i -e "s/@nuget_version@/$NUGET_VERSION/g" $RPMSPEC
+
+# Update RID
+$SCRIPT_DIR/makerid.py
diff --git a/packaging/preload/ElmSharp.Wearable.preload b/packaging/preload/ElmSharp.Wearable.preload
new file mode 100644 (file)
index 0000000..6a8d769
--- /dev/null
@@ -0,0 +1,12 @@
+###########################################
+## AssemblyName.dll TypeName             ##
+## AssemblyName.dll TypeName.Preload()   ##
+## The methods must not have parameters. ##
+###########################################
+ElmSharp.Wearable.dll ElmSharp.Wearable.CircleDateTimeSelector
+ElmSharp.Wearable.dll ElmSharp.Wearable.CircleGenList
+ElmSharp.Wearable.dll ElmSharp.Wearable.CircleScroller
+ElmSharp.Wearable.dll ElmSharp.Wearable.CircleSpinner
+ElmSharp.Wearable.dll ElmSharp.Wearable.ICircleWidget
+ElmSharp.Wearable.dll ElmSharp.Wearable.IRotaryActionWidget
+ElmSharp.Wearable.dll Interop
diff --git a/packaging/preload/ElmSharp.preload b/packaging/preload/ElmSharp.preload
new file mode 100644 (file)
index 0000000..09a8e79
--- /dev/null
@@ -0,0 +1,44 @@
+###########################################
+## AssemblyName.dll TypeName             ##
+## AssemblyName.dll TypeName.Preload()   ##
+## The methods must not have parameters. ##
+###########################################
+ElmSharp.dll ElmSharp.Box
+ElmSharp.dll ElmSharp.Button
+ElmSharp.dll ElmSharp.Check
+ElmSharp.dll ElmSharp.Color
+ElmSharp.dll ElmSharp.Conformant
+ElmSharp.dll ElmSharp.DateTimeSelector
+ElmSharp.dll ElmSharp.DisplayRotation
+ElmSharp.dll ElmSharp.EdjeObject
+ElmSharp.dll ElmSharp.EdjeObject+SignalData
+ElmSharp.dll ElmSharp.EdjeTextPartObject
+ElmSharp.dll ElmSharp.Elementary
+ElmSharp.dll ElmSharp.Entry
+ElmSharp.dll ElmSharp.EvasKeyEventArgs
+ElmSharp.dll ElmSharp.EvasMap
+ElmSharp.dll ElmSharp.EvasObject
+ElmSharp.dll ElmSharp.FocusDirection
+ElmSharp.dll ElmSharp.GenList
+ElmSharp.dll ElmSharp.GestureLayer+GestureType
+ElmSharp.dll ElmSharp.IInvalidatable
+ElmSharp.dll ElmSharp.Image
+ElmSharp.dll ElmSharp.ItemObject+SignalData
+ElmSharp.dll ElmSharp.Label
+ElmSharp.dll ElmSharp.Layout
+ElmSharp.dll ElmSharp.Naviframe
+ElmSharp.dll ElmSharp.NaviItem
+ElmSharp.dll ElmSharp.Point3D
+ElmSharp.dll ElmSharp.ProgressBar
+ElmSharp.dll ElmSharp.Radio
+ElmSharp.dll ElmSharp.Rect
+ElmSharp.dll ElmSharp.Rectangle
+ElmSharp.dll ElmSharp.Scroller
+ElmSharp.dll ElmSharp.Size
+ElmSharp.dll ElmSharp.Slider
+ElmSharp.dll ElmSharp.Spinner
+ElmSharp.dll ElmSharp.Widget
+ElmSharp.dll ElmSharp.Window
+ElmSharp.dll ElmSharp.WrapType
+ElmSharp.dll Interop
+ElmSharp.dll ElmSharp.Window.Preload()
diff --git a/packaging/preload/Tizen.Applications.Common.preload b/packaging/preload/Tizen.Applications.Common.preload
new file mode 100644 (file)
index 0000000..abda6bf
--- /dev/null
@@ -0,0 +1,10 @@
+###########################################
+## AssemblyName.dll TypeName             ##
+## AssemblyName.dll TypeName.Preload()   ##
+## The methods must not have parameters. ##
+###########################################
+Tizen.Applications.Common.dll Interop
+Tizen.Applications.Common.dll Tizen.Applications.Application
+Tizen.Applications.Common.dll Tizen.Applications.CoreApplication
+Tizen.Applications.Common.dll Tizen.Applications.CoreBackend.EventType
+Tizen.Applications.Common.dll Tizen.Applications.TizenSynchronizationContext
diff --git a/packaging/preload/Tizen.Applications.UI.preload b/packaging/preload/Tizen.Applications.UI.preload
new file mode 100644 (file)
index 0000000..fba348d
--- /dev/null
@@ -0,0 +1,7 @@
+###########################################
+## AssemblyName.dll TypeName             ##
+## AssemblyName.dll TypeName.Preload()   ##
+## The methods must not have parameters. ##
+###########################################
+Tizen.Applications.UI.dll Interop
+Tizen.Applications.UI.dll Tizen.Applications.CoreUIApplication
diff --git a/packaging/preload/Tizen.Log.preload b/packaging/preload/Tizen.Log.preload
new file mode 100644 (file)
index 0000000..172edc5
--- /dev/null
@@ -0,0 +1,7 @@
+###########################################
+## AssemblyName.dll TypeName             ##
+## AssemblyName.dll TypeName.Preload()   ##
+## The methods must not have parameters. ##
+###########################################
+Tizen.Log.dll Interop
+Tizen.Log.dll Tizen.Log
diff --git a/packaging/preload/Tizen.System.Information.preload b/packaging/preload/Tizen.System.Information.preload
new file mode 100644 (file)
index 0000000..620a709
--- /dev/null
@@ -0,0 +1,7 @@
+###########################################
+## AssemblyName.dll TypeName             ##
+## AssemblyName.dll TypeName.Preload()   ##
+## The methods must not have parameters. ##
+###########################################
+Tizen.System.Information.dll Tizen.System.Information
+Tizen.System.Information.dll Tizen.System.Information.Preload()
diff --git a/packaging/preload/Tizen.preload b/packaging/preload/Tizen.preload
new file mode 100644 (file)
index 0000000..ba2e96e
--- /dev/null
@@ -0,0 +1,6 @@
+###########################################
+## AssemblyName.dll TypeName             ##
+## AssemblyName.dll TypeName.Preload()   ##
+## The methods must not have parameters. ##
+###########################################
+Tizen.dll Interop
index 8d5d3a0..1f5cd37 100644 (file)
@@ -67,6 +67,6 @@
         "tizen.5.5.0",
         "tizen.5.0.0-x86"
       ]
-    },
+    }
   }
 }
diff --git a/src/ElmSharp.Wearable/ElmSharp.Wearable/Preload.cs b/src/ElmSharp.Wearable/ElmSharp.Wearable/Preload.cs
new file mode 100644 (file)
index 0000000..8013409
--- /dev/null
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+
+namespace ElmSharp.Wearable
+{
+    static class Preload
+    {
+        static public void WarmupWidgets(PreloadedWindow win)
+        {
+            var surface = new CircleSurface(win.BaseConformant);
+            win.BaseCircleSurface = surface;
+            new CircleDateTimeSelector(win, surface).Unrealize();
+            new CircleProgressBar(win, surface).Unrealize();
+            new CircleScroller(win, surface).Unrealize();
+            new CircleSlider(win, surface).Unrealize();
+            new CircleSpinner(win, surface).Unrealize();
+            new MoreOption(win).Unrealize();
+        }
+    }
+}
index 9fe2d60..e4f83f4 100644 (file)
  * limitations under the License.
  */
 
+using System;
+using System.ComponentModel;
+using System.Reflection;
+
 namespace ElmSharp
 {
-    internal class PreloadedWindow : Window
+    /// <summary>
+    /// Pre-created window which prepares features that takes time in advance.
+    /// </summary>
+    [EditorBrowsable(EditorBrowsableState.Never)]
+    public class PreloadedWindow : Window
     {
         static PreloadedWindow s_precreated;
 
-        public PreloadedWindow(bool useBaseLayout=true) : base("PreloadWindow")
+        internal PreloadedWindow(bool useBaseLayout=true) : base("PreloadWindow")
         {
             s_precreated = this;
             if (useBaseLayout)
@@ -29,6 +37,11 @@ namespace ElmSharp
             BackButtonPressed += DummyHandler;
             BackButtonPressed -= DummyHandler;
             void DummyHandler(object sender, System.EventArgs e) { }
+
+            if (Elementary.GetProfile() == "wearable")
+            {
+                WarmupWearableWidgets();
+            }
         }
 
         public Layout BaseLayout
@@ -37,9 +50,23 @@ namespace ElmSharp
             protected set;
         }
 
+        public Conformant BaseConformant
+        {
+            get;
+            protected set;
+        }
+
+        public object BaseCircleSurface
+        {
+            get;
+            set;
+        }
+
+
         public void InitializeBaseLayout()
         {
             var conformant = new Conformant(this);
+            BaseConformant = conformant;
             conformant.Show();
 
             var layout = new Layout(conformant);
@@ -71,6 +98,21 @@ namespace ElmSharp
             new Index(this).Unrealize();
         }
 
+        public void WarmupWearableWidgets()
+        {
+            try
+            {
+                Assembly assem = Assembly.Load("ElmSharp.Wearable");
+                var type = assem.GetType("ElmSharp.Wearable.Preload");
+                type.GetMethod("WarmupWidgets", BindingFlags.Public | BindingFlags.Static).Invoke(null, new object[] { this });
+            }
+            catch (Exception e)
+            {
+                Console.WriteLine(e.ToString());
+                Console.WriteLine("Fail to preload ElmSharp.Wearable");
+            }
+        }
+
         public static PreloadedWindow GetInstance()
         {
             var instance = s_precreated;
index e57f43f..ee3ab84 100644 (file)
@@ -1254,6 +1254,83 @@ namespace ElmSharp
         }
 
         /// <summary>
+        /// Creates an auxiliary hint of the window.
+        /// </summary>
+        /// <remarks>
+        /// Support for this depends on the underlying windowing system. 
+        /// </remarks>
+        /// <param name="hint">The auxiliary hint string</param>
+        /// <param name="value">The value string</param>
+        /// <returns>The ID of the created auxiliary hint, otherwise -1 on failure</returns>
+        /// <since_tizen> preview </since_tizen>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public int AddAuxiliaryHint(string hint, string value)
+        {
+            return Interop.Elementary.elm_win_aux_hint_add(RealHandle, hint, value);
+        }
+
+        /// <summary>
+        /// Deletes an auxiliary hint of the window.
+        /// </summary>
+        /// <remarks>
+        /// Support for this depends on the underlying windowing system. 
+        /// </remarks>
+        /// <param name="id">The ID of the auxiliary hint</param>
+        /// <returns>If true deletes successful, otherwise false.</returns>
+        /// <since_tizen> preview </since_tizen>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public bool DeleteAuxiliaryHint(int id)
+        {
+            return Interop.Elementary.elm_win_aux_hint_del(RealHandle, id);
+        }
+
+        /// <summary>
+        /// Changes a value of the auxiliary hint.
+        /// </summary>
+        /// <remarks>
+        /// Support for this depends on the underlying windowing system. 
+        /// </remarks>
+        /// <param name="id">The auxiliary hint ID</param>
+        /// <param name="value">The value string to be set</param>
+        /// <returns>If true changes successful, otherwise false.</returns>
+        /// <since_tizen> preview </since_tizen>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public bool SetAuxiliaryHintValue(int id, string value)
+        {
+            return Interop.Elementary.elm_win_aux_hint_val_set(RealHandle, id, value);
+        }
+
+        /// <summary>
+        /// Gets a value of the auxiliary hint.
+        /// </summary>
+        /// <remarks>
+        /// Support for this depends on the underlying windowing system. 
+        /// </remarks>
+        /// <param name="id">The auxiliary hint ID</param>
+        /// <returns>The string value of the auxiliary hint ID</returns>
+        /// <since_tizen> preview </since_tizen>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public string GetAuxiliaryHintValue(int id)
+        {
+            return Interop.Elementary.elm_win_aux_hint_val_get(RealHandle, id);
+        }
+
+        /// <summary>
+        /// Gets an ID of the auxiliary hint string.
+        /// </summary>
+        /// <remarks>
+        /// Support for this depends on the underlying windowing system. 
+        /// </remarks>
+        /// <param name="hint">The auxiliary hint string</param>
+        /// <returns>The ID of the auxiliary hint, otherwise -1 on failure</returns>
+        /// <since_tizen> preview </since_tizen>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public int GetAuxiliaryHintId(string hint)
+        {
+            return Interop.Elementary.elm_win_aux_hint_id_get(RealHandle, hint);
+        }
+
+        /// <summary>
         /// Creates a widget handle.
         /// </summary>
         /// <param name="parent">Parent EvasObject.</param>
index c209c95..9c3c999 100644 (file)
@@ -434,5 +434,25 @@ internal static partial class Interop
 
         [DllImport(Libraries.Elementary)]
         internal static extern void elm_win_illume_command_send(IntPtr obj, IntPtr param);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern int elm_win_aux_hint_add(IntPtr obj, string hint, string val);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern bool elm_win_aux_hint_del(IntPtr obj, int id);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern bool elm_win_aux_hint_val_set(IntPtr obj, int id, string val);
+
+        [DllImport(Libraries.Elementary, EntryPoint = "elm_win_aux_hint_val_get")]
+        internal static extern IntPtr _elm_win_aux_hint_val_get(IntPtr obj, int id);
+
+        internal static string elm_win_aux_hint_val_get(IntPtr obj, int id)
+        {
+            return Marshal.PtrToStringAnsi(_elm_win_aux_hint_val_get(obj, id));
+        }
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern int elm_win_aux_hint_id_get(IntPtr obj, string hint);
     }
 }
\ No newline at end of file
old mode 100755 (executable)
new mode 100644 (file)
index a173a0f..834f5df
@@ -267,7 +267,7 @@ namespace Tizen.Applications
                 currentCultureInfo = GetFallbackCultureInfo(pLocale);
             }
 
-            CultureInfo.CurrentCulture = currentCultureInfo;
+            CultureInfo.CurrentUICulture = CultureInfo.CurrentCulture = currentCultureInfo;
         }
 
         private CultureInfo GetCultureInfo(string locale)
index b9f2b17..62a01aa 100644 (file)
@@ -16,6 +16,7 @@
 
 using System;
 using System.Collections.Generic;
+using System.ComponentModel;
 
 namespace Tizen.System
 {
@@ -191,5 +192,13 @@ namespace Tizen.System
 
             RuntimeInfo.UnsetCallback(runtimeFeature, callback);
         }
+
+        // for internal use only
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        static void Preload()
+        {
+            TryGetValue("http://tizen.org/feature/screen.width", out int width);
+            TryGetValue("http://tizen.org/feature/screen.height", out int height);
+        }
     }
 }