add codes for removing dynamic box
authorkyeongwoo.lee <kyeongwoo.lee@samsung.com>
Fri, 10 May 2013 04:49:20 +0000 (13:49 +0900)
committerkyeongwoo.lee <kyeongwoo.lee@samsung.com>
Fri, 10 May 2013 04:49:37 +0000 (13:49 +0900)
Change-Id: Ibba1e98a2288a1726ec4c9d2745e0fa6849ac7e8
Signed-off-by: kyeongwoo.lee <kyeongwoo.lee@samsung.com>
project/inc/ViewForm.h
project/manifest.xml
project/src/AppWidgetViewerMainForm.cpp
project/src/ViewForm.cpp

index 9bf929e..645ad8f 100644 (file)
 
 #include <FBase.h>
 #include <FUi.h>
+#include <FShell.h>
 
 namespace Tizen { namespace Shell
 {
 class AppWidgetView;
+class IAppWidgetViewEventListener;
 }} // Tizen::Shell
 
 class ViewForm
@@ -30,6 +32,7 @@ class ViewForm
        , public Tizen::Ui::IActionEventListener
        , public Tizen::Ui::Controls::IFormBackEventListener
        , public Tizen::Ui::Scenes::ISceneEventListener
+       , public Tizen::Shell::IAppWidgetViewEventListener
 {
 public:
        ViewForm(void);
@@ -44,6 +47,7 @@ private:
        virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
        virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
        virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId);
+       virtual void OnAppWidgetProviderRemoved(Tizen::Shell::AppWidgetView &appWidgetView);
 
 private:
        Tizen::Shell::AppWidgetView* __pAppWidgetView;
index 81fd636..baf214a 100644 (file)
@@ -8,6 +8,7 @@
         <ApiVersion>2.1</ApiVersion>
         <Privileges>
             <Privilege>http://tizen.org/privilege/application.launch</Privilege>
+            <Privilege>http://tizen.org/privilege/notification</Privilege>
         </Privileges>
         <UiApp Main="True" MenuIconVisible="True" Name="$(projectName)">
             <UiScalability BaseScreenSize="Normal" CoordinateSystem="Logical" LogicalCoordinate="720"/>
index 7c00bff..3a47113 100644 (file)
@@ -55,6 +55,8 @@ AppWidgetViewerMainForm::AppWidgetViewerMainForm(void)
 
                Tizen::Media::Image image;
                result r = image.Construct();
+               TryReturnVoid(r == E_SUCCESS, "[%s] Propagating.", GetErrorMessage(r));
+
                Bitmap* pBmp = image.DecodeN(pAppWidgetProviderInfo->GetIconPath(), BITMAP_PIXEL_FORMAT_ARGB8888);
                AppLog("AppId (%ls)", pAppWidgetProviderInfo->GetAppId().GetPointer());
                AppLog("Name (%ls)", pAppWidgetProviderInfo->GetName().GetPointer());
index c3d2e31..ab4e826 100644 (file)
@@ -101,6 +101,8 @@ ViewForm::CreateAppWidgetView(const Tizen::Base::String& appId, const Tizen::Bas
 
        __pAppWidgetView = pAppWidgetView.release();
 
+       __pAppWidgetView->AddAppWidgetViewEventListener(*this);
+
        __pContextMenu = new (std::nothrow) ContextMenu();
        __pContextMenu->Construct(Point(CONTEXT_MENU_X, CONTEXT_MENU_Y), CONTEXT_MENU_STYLE_LIST);
 
@@ -124,6 +126,8 @@ ViewForm::CreateAppWidgetView(const Tizen::Base::String& appId, const Tizen::Bas
 
                        Image image;
                        result r = image.Construct();
+                       TryReturnVoid(r == E_SUCCESS, "[%s] Propagating.", GetErrorMessage(r));
+
 //                     Bitmap* pBmp = image.DecodeN(L"/opt/apps/yPpyL2WVNQ/shared/res/screen-density-xhigh/2x2.png", BITMAP_PIXEL_FORMAT_ARGB8888);
                        Bitmap* pBmp = image.DecodeN(pSizeInfo->GetPreviewImagePath(), BITMAP_PIXEL_FORMAT_ARGB8888);
 
@@ -221,3 +225,22 @@ ViewForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, c
        }
 }
 
+
+void
+ViewForm::OnAppWidgetProviderRemoved(Tizen::Shell::AppWidgetView &appWidgetView)
+{
+       AppWidgetProviderInfo* pAppWidgetView = appWidgetView.GetAppWidgetProviderInfoN();
+       if (pAppWidgetView != null)
+       {
+               AppLog("OnAppWidgetProviderRemoved : AppId[%ls], GetDisplayName[%ls]", pAppWidgetView->GetAppId().GetPointer(), pAppWidgetView->GetDisplayName().GetPointer());
+       }
+
+       SceneManager* pSceneManager = SceneManager::GetInstance();
+       AppAssert(pSceneManager);
+       pSceneManager->GoBackward(BackwardSceneTransition(SCENE_TRANSITION_ANIMATION_TYPE_RIGHT));
+
+       NotificationManager notiMgr;
+       notiMgr.Construct();
+       notiMgr.NotifyTextMessage(L"AppWidget provider is removed due to provider error.");
+}
+