add UseDecoration() API for AppWidgetSizeInfo class (ACR)
authorjungmin76.park <jungmin76.park@samsung.com>
Wed, 12 Jun 2013 02:10:44 +0000 (11:10 +0900)
committerjungmin76.park <jungmin76.park@samsung.com>
Fri, 14 Jun 2013 06:07:52 +0000 (15:07 +0900)
Change-Id: I13e718bd631d9d2ef21f178b6632bebd3b452a27
Signed-off-by: jungmin76.park <jungmin76.park@samsung.com>
inc/FShellAppWidgetSizeInfo.h [changed mode: 0644->0755]
src/FShellAppWidgetSizeInfo.cpp
src/FShell_AppWidgetProviderInfoImpl.cpp
src/FShell_AppWidgetSizeInfoImpl.cpp
src/inc/FShell_AppWidgetSizeInfoImpl.h

old mode 100644 (file)
new mode 100755 (executable)
index 81581c9..4360b5c
@@ -79,7 +79,19 @@ public:
         */
     Tizen::Base::String GetPreviewImagePath(void) const;
 
+       /**
+        * Checks whether an AppWidget Viewer(such as the Home screen) needs to decorate frame of the Dynamic Box for the current size.
+        *
+        * @since       2.1
+        *
+        * @return      @c true if an AppWidget Viewer needs to decorate frame of the Dynamic Box for the size @n
+        *                      else @c false
+        * @remark      Decoration depends on current AppWidget Viewer implementation
+        */
+    bool IsDecorationFrameUsed(void) const;
+
 private:
+
        //
        // This is the constructor that initializes an instance of %AppWidgetSizeInfo with the specified values.
     // This constructor is intentionally declared as private so that only the platform can create an instance.
@@ -88,8 +100,9 @@ private:
        //
        // @param[in]   size            One of the size that the AppWidget provider supports.
        // @param[in]   previewImagePath                The preview image path for the size.
+       // @param[in]   isDecorationFrameUsed           Specify whether the Dynamic Box needs to be decorated on the Home screen.
        //
-    AppWidgetSizeInfo(Tizen::Graphics::FloatDimension size, const Tizen::Base::String& previewImagePath);
+    AppWidgetSizeInfo(Tizen::Graphics::FloatDimension size, const Tizen::Base::String& previewImagePath, bool isDecorationFrameUsed);
 
     //
        // This default constructor is intentionally declared as private so that only the platform can create an instance.
index a60f42a..285f27a 100644 (file)
@@ -36,14 +36,14 @@ using namespace Tizen::Graphics;
 namespace Tizen { namespace Shell
 {
 
-AppWidgetSizeInfo::AppWidgetSizeInfo(FloatDimension size, const String& previewImagePath)
+AppWidgetSizeInfo::AppWidgetSizeInfo(FloatDimension size, const String& previewImagePath, bool isDecorationFrameUsed)
 {
-       __pAppWidgetSizeInfoImpl = new (std::nothrow) _AppWidgetSizeInfoImpl(size, previewImagePath);
+       __pAppWidgetSizeInfoImpl = new (std::nothrow) _AppWidgetSizeInfoImpl(size, previewImagePath, isDecorationFrameUsed);
 }
 
 AppWidgetSizeInfo::AppWidgetSizeInfo(const AppWidgetSizeInfo& rhs)
 {
-       __pAppWidgetSizeInfoImpl = new (std::nothrow) _AppWidgetSizeInfoImpl(rhs.GetSize(), rhs.GetPreviewImagePath());
+       __pAppWidgetSizeInfoImpl = new (std::nothrow) _AppWidgetSizeInfoImpl(rhs.GetSize(), rhs.GetPreviewImagePath(), rhs.IsDecorationFrameUsed());
 }
 
 AppWidgetSizeInfo&
@@ -54,21 +54,27 @@ AppWidgetSizeInfo::operator =(const AppWidgetSizeInfo& rhs)
        return *this;
 }
 
-AppWidgetSizeInfo::~AppWidgetSizeInfo()
+AppWidgetSizeInfo::~AppWidgetSizeInfo(void)
 {
        delete __pAppWidgetSizeInfoImpl;
 }
 
 FloatDimension
-AppWidgetSizeInfo::GetSize() const
+AppWidgetSizeInfo::GetSize(void) const
 {
        return __pAppWidgetSizeInfoImpl->GetSize();
 }
 
 Tizen::Base::String
-AppWidgetSizeInfo::GetPreviewImagePath() const
+AppWidgetSizeInfo::GetPreviewImagePath(void) const
 {
        return __pAppWidgetSizeInfoImpl->GetPreviewImagePath();
 }
 
+bool
+AppWidgetSizeInfo::IsDecorationFrameUsed(void) const
+{
+       return __pAppWidgetSizeInfoImpl->UseDecoration();
+}
+
 }} // Tizen::Shell
index b15faba..40db8a1 100644 (file)
@@ -98,8 +98,6 @@ _AppWidgetProviderInfoImpl::GetName() const
 Tizen::Base::String
 _AppWidgetProviderInfoImpl::GetDisplayName() const
 {
-/*     std::unique_ptr<char[]> pPackageId(_StringConverter::CopyToCharArrayN(__providerId));
-       __displayName = livebox_service_i18n_name(pPackageId.get(), null);*/
        return __displayName;
 }
 
@@ -202,7 +200,11 @@ _AppWidgetProviderInfoImpl::GetSizeInfoListN() const
                        continue;
                }
 
-               std::unique_ptr<AppWidgetSizeInfo> pAppWidgetSizeInfo(_AppWidgetSizeInfoImpl::CreateAppWidgetSizeInfo(size, previewImagePath) );
+               int sizeType = livebox_service_size_type(size.width, size.height);
+               SysAssertf(sizeType != LB_SIZE_TYPE_UNKNOWN, "Failed to invoke livebox_service_size_type(%d, %d)", size.width, size.height);
+               bool useDecoration = livebox_service_need_frame(pPackageId.get(), sizeType);
+
+               std::unique_ptr<AppWidgetSizeInfo> pAppWidgetSizeInfo(_AppWidgetSizeInfoImpl::CreateAppWidgetSizeInfo(size, previewImagePath, useDecoration) );
                SysTryReturn(NID_SHELL, pAppWidgetSizeInfo, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Failed to allocate memory for AppWidgetSizeInfo." );
                pSizes->Add( *pAppWidgetSizeInfo.release() );
        }
index 66b8c3f..61d2516 100644 (file)
@@ -38,10 +38,9 @@ using namespace Tizen::Graphics;
 namespace Tizen { namespace Shell
 {
 
-_AppWidgetSizeInfoImpl::_AppWidgetSizeInfoImpl(FloatDimension size, const String& previewImagePath)
+_AppWidgetSizeInfoImpl::_AppWidgetSizeInfoImpl(FloatDimension size, const String& previewImagePath, bool useDecoration)
+ :__size(size), __previewImagePath(previewImagePath), __useDecoration(useDecoration)
 {
-       __size = size;
-       __previewImagePath = previewImagePath;
 }
 
 _AppWidgetSizeInfoImpl::_AppWidgetSizeInfoImpl(const _AppWidgetSizeInfoImpl& rhs)
@@ -64,9 +63,12 @@ _AppWidgetSizeInfoImpl::~_AppWidgetSizeInfoImpl()
 }
 
 AppWidgetSizeInfo*
-_AppWidgetSizeInfoImpl::CreateAppWidgetSizeInfo(Tizen::Graphics::FloatDimension size, const Tizen::Base::String& previewImagePath)
+_AppWidgetSizeInfoImpl::CreateAppWidgetSizeInfo(Tizen::Graphics::FloatDimension size, const Tizen::Base::String& previewImagePath, bool useDecoration)
 {
-       return new (std::nothrow) AppWidgetSizeInfo(size, previewImagePath);
+       AppWidgetSizeInfo* pSizeInfo = new (std::nothrow) AppWidgetSizeInfo(size, previewImagePath, useDecoration);
+       SysTryReturn(NID_SHELL, pSizeInfo, null, E_OUT_OF_MEMORY, "Allocation failure.");
+
+       return pSizeInfo;
 }
 
 FloatDimension
@@ -81,4 +83,12 @@ _AppWidgetSizeInfoImpl::GetPreviewImagePath() const
        return __previewImagePath;
 }
 
+bool
+_AppWidgetSizeInfoImpl::UseDecoration(void) const
+{
+       return __useDecoration;
+}
+
+
+
 }} // Tizen::Shell
index 0983913..97c4c60 100644 (file)
@@ -48,7 +48,7 @@ public:
         *
         * @since 2.1
         */
-       virtual ~_AppWidgetSizeInfoImpl();
+       virtual ~_AppWidgetSizeInfoImpl(void);
 
        /**
         * This is the copy constructor for the %AppWidgetSizeInfo class.
@@ -75,7 +75,7 @@ public:
         *
         * @return      A size
         */
-    Tizen::Graphics::FloatDimension GetSize() const;
+    Tizen::Graphics::FloatDimension GetSize(void) const;
 
        /**
         * Gets the image path for preview
@@ -84,9 +84,11 @@ public:
         *
         * @return      The image path for preview
         */
-    Tizen::Base::String GetPreviewImagePath() const;
+    Tizen::Base::String GetPreviewImagePath(void) const;
 
-    static AppWidgetSizeInfo* CreateAppWidgetSizeInfo(Tizen::Graphics::FloatDimension size, const Tizen::Base::String& previewImagePath);
+    bool UseDecoration(void) const;
+
+    static AppWidgetSizeInfo* CreateAppWidgetSizeInfo(Tizen::Graphics::FloatDimension size, const Tizen::Base::String& previewImagePath, bool useDecoration);
 
 private:
     /**
@@ -94,18 +96,19 @@ private:
         *
         * @since 2.1
         */
-    _AppWidgetSizeInfoImpl();
+    _AppWidgetSizeInfoImpl(void);
 
     /**
         * This is the constructor that initializes an instance of %_AppWidgetSizeInfoImpl with the specified values.
         *
         * @since 2.1
         */
-    _AppWidgetSizeInfoImpl(Tizen::Graphics::FloatDimension size, const Tizen::Base::String& previewImagePath);
+    _AppWidgetSizeInfoImpl(Tizen::Graphics::FloatDimension size, const Tizen::Base::String& previewImagePath, bool useDecoration);
 
 private:
     Tizen::Graphics::FloatDimension __size;
     Tizen::Base::String __previewImagePath;
+    bool __useDecoration;
 
 friend class AppWidgetSizeInfo;
 };