Fixed Nabi Issues
[apps/osp/Internet.git] / src / IntSharePopup.cpp
index 477a202..ce40286 100644 (file)
@@ -33,11 +33,13 @@ using namespace Tizen::App;
 using namespace Tizen::Io;
 using namespace Tizen::Base;
 using namespace Tizen::Base::Collection;
+using namespace Tizen::Base::Runtime;
 using namespace Tizen::Graphics;
 using namespace Tizen::Ui;
 using namespace Tizen::Ui::Controls;
 using namespace Tizen::Ui::Scenes;
 
+
 const int SharePopup::IDA_CANCEL_BUTTON = 101;
 const int SharePopup::ID_FORMAT_MESSAGE_STRING = 500;
 const int SharePopup::ID_FORMAT_EMAIL_STRING = 501;
@@ -108,7 +110,8 @@ ShareInfo::GetImagePath(void)
 SharePopup::SharePopup(void)
 :__pList(null),__pShareList(null)
 {
-
+       __appControlOngoing = false;
+       __pTimer = null;
 }
 
 SharePopup::~SharePopup(void)
@@ -143,6 +146,9 @@ SharePopup::Initialize(void)
                pCancelButton->SetActionId(IDA_CANCEL_BUTTON);
        }
 
+       __pTimer = new(std::nothrow) Timer();
+       __pTimer->Construct(*this);
+       SetPropagatedKeyEventListener(this);
        return true;
 }
 
@@ -154,6 +160,13 @@ SharePopup::OnTerminating(void)
 }
 
 void
+SharePopup::OnTimerExpired(Timer& timer)
+{
+       Popup::SetShowState(false);
+       Popup::Show();
+}
+
+void
 SharePopup::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
 {
        switch(actionId)
@@ -183,17 +196,24 @@ SharePopup::OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView,
        {
        case 0:
        {
-
-               // share via message
-               StartMessageAppControl();
-
+               if(__appControlOngoing == false)
+               {
+                       __appControlOngoing = true;
+                       // share via message
+                       StartMessageAppControl();
+                       __pTimer->Start(2500);
+               }
        }
        break;
        case 1:
        {
-
-               // share via email
-               StartEmailAppControl();
+               if(__appControlOngoing == false)
+               {
+                       __appControlOngoing = true;
+                       // share via email
+                       StartEmailAppControl();
+                       __pTimer->Start(2500);
+               }
 
        }
        break;
@@ -221,10 +241,10 @@ SharePopup::CreateItem(int index, int itemWidth)
        ListAnnexStyle style = LIST_ANNEX_STYLE_NORMAL;
        int textSize = 35;
        int elementHeight = 50;
-       int listItemWidth = 80;
+       int listItemHeight = 75;
 
        CustomItem* pItem = new(std::nothrow) CustomItem();
-       r = pItem->Construct(Dimension(GetClientAreaBounds().width, listItemWidth), style);
+       r = pItem->Construct(Dimension(GetClientAreaBounds().width, listItemHeight), style);
        if (IsFailed(r))
        {
                AppLogDebug("Create Item Failed with error %s", GetErrorMessage(r));
@@ -238,14 +258,14 @@ SharePopup::CreateItem(int index, int itemWidth)
        {
                AppLogDebug("SharePopUp CreateItem 0");
                // IDS_SHARE_VIA_MESSAGE
-               pItem->AddElement(Rectangle(45,0, GetClientAreaBounds().width, listItemWidth), ID_FORMAT_MESSAGE_STRING, CommonUtil::GetString(L"IDS_BR_OPT_SHARE_VIA_MESSAGES"), true);
+               pItem->AddElement(Rectangle(45,0, GetClientAreaBounds().width, listItemHeight), ID_FORMAT_MESSAGE_STRING, CommonUtil::GetString(L"IDS_BR_OPT_MESSAGES"), true);
        }
        break;
        case 1:
        {
                AppLogDebug("SharePopUp CreateItem 1");
                // IDS_SHARE_VIA_EMAIL
-               pItem->AddElement(Rectangle(45, 0, GetClientAreaBounds().width, listItemWidth), ID_FORMAT_EMAIL_STRING, CommonUtil::GetString(L"IDS_BR_OPT_SHARE_VIA_EMAIL"), true);
+               pItem->AddElement(Rectangle(45, 0, GetClientAreaBounds().width, listItemHeight), ID_FORMAT_EMAIL_STRING, CommonUtil::GetString(L"IDS_BR_OPT_SENDURLVIA_EMAIL"), true);
        }
        break;
        default:
@@ -368,12 +388,7 @@ SharePopup::StartEmailAppControl(void)
           delete pAc;
    }
 
-   if (pShareInfo != null)
-   {
-          delete pShareInfo;
-   }
    delete pDataList;
-
 }
 
 void
@@ -461,10 +476,6 @@ SharePopup::StartMessageAppControl(void)
                delete pAc;
        }
 
-       if (pShareInfo != null)
-       {
-               delete pShareInfo;
-       }
        if(pDataList)
        {
                delete pDataList;
@@ -481,6 +492,54 @@ SharePopup::OnAppControlCompleted(const Tizen::Base::String& providerId, const T
 void SharePopup::OnAppControlCompleteResponseReceived(const Tizen::App::AppId& appId, const Tizen::Base::String& operationId, Tizen::App::AppCtrlResult appControlResult, const Tizen::Base::Collection::IMap* pExtraData)
 {
        AppLog("SharePopup::OnAppControlCompleteResponseReceived");
+
+       ShareInfo* pShareInfo = null;
+       result r = E_FAILURE;
+
+       if (__pShareList != null)
+       {
+               pShareInfo = dynamic_cast<ShareInfo*>(__pShareList->GetAt(0));
+       }
+
+       String attachVal;
+       bool imageAttachment = false;
+       if (pShareInfo != null)
+       {
+               imageAttachment = pShareInfo->GetImageAttached();
+               if (imageAttachment)
+               {
+                       attachVal = pShareInfo->GetImagePath();
+                       AppLog("SharePopup:: imagePath is %S",attachVal.GetPointer());
+                       r = File::Remove(attachVal);
+                       if(r == E_SUCCESS)
+                       {
+                               AppLog("removed success");
+                       }
+                       else
+                       {
+                               AppLog("removed failure");
+                       }
+               }
+               if (pShareInfo != null)
+               {
+                       delete pShareInfo;
+               }
+       }
        Popup::SetShowState(false);
        Popup::Show();
+       __appControlOngoing = false;
+}
+
+bool
+SharePopup::OnKeyReleased (Control &source, const KeyEventInfo &keyEventInfo)
+{
+       AppLog("ConfirmationPopup::OnKeyReleased %d",keyEventInfo.GetKeyCode());
+       if(keyEventInfo.GetKeyCode() == KEY_BACK || keyEventInfo.GetKeyCode() == KEY_ESC)
+       {
+               if(GetShowState() == true)
+               {
+                       SetShowState(false);
+               }
+       }
+       return false;
 }