ShareInfo:: ~ShareInfo(void)
{
-
}
void
SharePopup::~SharePopup(void)
{
+ 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");
+ }
+ }
+ __pShareList->RemoveAll(true);
+ }
+ if(__pAppControlList)
+ __pAppControlList->RemoveAll(true);
+ delete __pAppControlList;
}
bool
__pList->SetItemProvider(*this);
__pList->AddListViewItemEventListener(*this);
+// __pList->SetTextOfEmptyList(L"No Sharing Options");//hardcoded string
pCancelButton = static_cast< Button* >(GetControl(L"IDC_BUTTON1", true));
if (pCancelButton)
__pTimer = new(std::nothrow) Timer();
__pTimer->Construct(*this);
+ SetPropagatedKeyEventListener(this);
return true;
}
__appControlOngoing = true;
// share via message
StartMessageAppControl();
+ if(__pTimer == null)
+ {
+ __pTimer = new(std::nothrow) Timer();
+ __pTimer->Construct(*this);
+ }
__pTimer->Start(2500);
}
}
__appControlOngoing = true;
// share via email
StartEmailAppControl();
+ if(__pTimer == null)
+ {
+ __pTimer = new(std::nothrow) Timer();
+ __pTimer->Construct(*this);
+ }
__pTimer->Start(2500);
}
}
break;
default:
+ if(__appControlOngoing == false)
+ {
+ __appControlOngoing = true;
+ //share via third party app
+ StartAppControl(index);
+ if(__pTimer == null)
+ {
+ __pTimer = new(std::nothrow) Timer();
+ __pTimer->Construct(*this);
+ }
+ __pTimer->Start(2500);
+ }
break;
}
+ Frame* pCurrentFrame = null;
+ pCurrentFrame = Application::GetInstance()->GetAppFrame()->GetFrame();
+
+ if (pCurrentFrame != null)
+ {
+ pCurrentFrame->SetEnabled(false);
+ pCurrentFrame->Invalidate(true);
+ }
}
void
Tizen::Ui::Controls::ListItemBase*
SharePopup::CreateItem(int index, int itemWidth)
{
+ AppLog("SharePopup::CreateItem index %d",index);
result r = E_FAILURE;
ListAnnexStyle style = LIST_ANNEX_STYLE_NORMAL;
int textSize = 35;
return null;
}
+
+
switch(index)
{
case 0:
}
break;
default:
+ if(__pAppControlList)
+ {
+ AppControl * pControl = dynamic_cast<AppControl*>(__pAppControlList->GetAt(index -2));
+ AppLog("SharePopup::CreateItem appcontrol count %d",__pAppControlList->GetCount());
+ if(pControl)
+ pItem->AddElement(Rectangle(45,0, GetClientAreaBounds().width, listItemHeight), ID_FORMAT_MESSAGE_STRING+index, pControl->GetAppName(), true);
+ }
break;
}
return pItem;
int
SharePopup::GetItemCount(void)
{
+ String* pStrId = new String(L"http://tizen.org/appcontrol/operation/share_text");
+ __pAppControlList = AppManager::FindAppControlsN(pStrId,null,null,null);
+ if(__pAppControlList == null)
+ {
+ return 2;
+ }
+ int count = __pAppControlList->GetCount();
+ AppLog("SharePopup::GetItemCount appcontrol count %d",count);
+ int removeCount = 0;
+ for(int pos = 0; pos < count; pos++)
+ {
+ AppControl * pControl = dynamic_cast<AppControl*>(__pAppControlList->GetAt(pos));
+ AppLog("pControl->GetAppName() %ls",pControl->GetAppName().GetPointer());
+ if(pControl->GetAppName().Equals(L"Messages",false) == true || pControl->GetAppName().Equals(L"Email",false) == true )
+ {
+ __pAppControlList->RemoveAt(pos,true);
+ pos--;
+ count --;
+ removeCount++;
+ }
+ }
+
+ AppLog("removeCount %d",removeCount);
+ if(count+removeCount >=2)
+ return count+removeCount;
return 2;
+
}
result
}
void
+SharePopup::StartAppControl(int index)
+{
+ HashMap extraData;
+ ShareInfo* pShareInfo = null;
+ result r = E_FAILURE;
+ bool imageAttachment = false;
+
+ extraData.Construct();
+
+ if (__pShareList != null)
+ {
+ pShareInfo = dynamic_cast<ShareInfo*>(__pShareList->GetAt(0));
+ if (pShareInfo != null)
+ {
+ String testURL = pShareInfo->GetPageURL();
+ AppLogDebug("getpageURL getpageURL is %ls", testURL.GetPointer());
+ }
+ }
+
+ String textVal;
+
+ if (pShareInfo != null)
+ {
+ textVal.Append(pShareInfo->GetPageTitle());
+ textVal.Append(L" <");
+ AppLog("share info url is %ls",pShareInfo->GetPageURL().GetPointer());
+ textVal.Append(pShareInfo->GetPageURL().GetPointer());
+ textVal.Append(L">");
+ }
+
+
+ String textKey = L"http://tizen.org/appcontrol/data/text";
+
+ //String attachKey = L"attachments";
+ String attachKey = L"http://tizen.org/appcontrol/data/path";
+ String attachVal;
+ if (pShareInfo != null)
+ {
+ imageAttachment = pShareInfo->GetImageAttached();
+ if (imageAttachment)
+ {
+ attachVal = pShareInfo->GetImagePath();
+ AppLog("SharePopup::StartEmailAppControl imagePath is %S",attachVal.GetPointer());
+ }
+ else
+ {
+ attachVal = L"";
+ }
+ }
+
+ ArrayList* pDataList = null;
+ pDataList = new (std::nothrow) ArrayList();
+ pDataList->Construct();
+ pDataList->Add(&attachVal);
+
+
+ extraData.Add(&textKey, &textVal);
+
+ if(attachVal.GetLength() > 0)
+ {
+ extraData.Add(&attachKey, pDataList);
+ }
+
+ AppControl * pControl = dynamic_cast<AppControl*>(__pAppControlList->GetAt(index - 2));
+ if (pControl)
+ {
+ r = pControl->Start(null, null, &extraData, this);
+// delete pControl;
+ }
+
+ delete pDataList;
+}
+
+void
SharePopup::StartEmailAppControl(void)
{
HashMap extraData;
ShareInfo* pShareInfo = null;
result r = E_FAILURE;
-
+ if(__pTimer)
+ {
+ __pTimer->Cancel();
+ delete __pTimer;
+ __pTimer = null;
+ }
if (__pShareList != null)
{
pShareInfo = dynamic_cast<ShareInfo*>(__pShareList->GetAt(0));
AppLog("removed failure");
}
}
- if (pShareInfo != null)
- {
- delete pShareInfo;
- }
+ __pShareList->RemoveAll(true);
}
Popup::SetShowState(false);
Popup::Show();
+ Frame* pCurrentFrame = null;
+ pCurrentFrame = Application::GetInstance()->GetAppFrame()->GetFrame();
+
+ if (pCurrentFrame != null)
+ {
+ pCurrentFrame->SetEnabled(true);
+ pCurrentFrame->Invalidate(true);
+ }
__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)
+ {
+ if(__pTimer)
+ {
+ __pTimer->Cancel();
+ delete __pTimer;
+ __pTimer = null;
+ }
+ SetShowState(false);
+ }
+ }
+ return false;
+}