Fixed Nabi Issues 52332,54256,54601,54130,54264,54471
[apps/osp/Internet.git] / src / IntInternetApp.cpp
index cacad1d..147cb41 100644 (file)
@@ -44,11 +44,10 @@ static const wchar_t* APPCONTROL_SELECT_KEY_IMAGE = L"http://tizen.org/appcontro
 static const wchar_t* APPCONTROL_SELECT_VALUE_IMAGE = L"fit_to_screen";
 static const wchar_t* APPCONTROL_PROVIDER_ID_IMAGE_VIEWER = L"tizen.imageviewer";
 static const wchar_t* APPCONTROL_OPERATION_ID_IMAGE_VIEWER = L"http://tizen.org/appcontrol/operation/view";
-
 const int MIN_MEMORY_NEEDED = 1048576;
 
 InternetApp::InternetApp(void)
-: __pMultiWindowManager(NULL),__pNewWindowInfo(null)
+: __pMultiWindowManager(NULL),__pNewWindowInfo(null),pSceneManagementFrame(null),__value(null),__isShowMsg(false),__pAc(null)
 {
 }
 
@@ -139,10 +138,11 @@ InternetApp::OnAppInitialized(void)
 
 
        // Create a Frame
-       MainFrame* pSceneManagementFrame = new(std::nothrow) MainFrame();
+       pSceneManagementFrame = new(std::nothrow) MainFrame();
        pSceneManagementFrame->Construct();
        pSceneManagementFrame->SetName(L"SceneManagement");
        AddFrame(*pSceneManagementFrame);
+       pSceneManagementFrame->Show();
        // Goto the first scene.
 
        SceneManager* pSceneManager = SceneManager::GetInstance();
@@ -174,6 +174,29 @@ InternetApp::OnAppInitialized(void)
                return false;
        }
 
+       if (__operationId.CompareTo(L"http://tizen.org/appcontrol/operation/main") == 0)
+       {
+               if(__pAc)
+               {
+                       r =__pAc->Stop();
+                       AppLog("AppControl Stop Result %s",GetErrorMessage(r));
+                       delete __pAc;
+                       __pAc = null;
+               }
+               __pAc = AppManager::FindAppControlN(APPCONTROL_PROVIDER_ID_IMAGE_VIEWER,
+                               APPCONTROL_OPERATION_ID_IMAGE_VIEWER);
+               if (__pAc && __value && __value->GetLength() > 0)
+               {
+                       AppLog("17jul __value is %S", __value->GetPointer());
+                       if (__pAc->Start(__value, null, null, null) == E_SUCCESS)
+                       {
+//                             delete pAc;
+                       }
+                       delete __value;
+                       __value = null;
+               }
+       }
+
        ArrayList* pArgList = new(std::nothrow) ArrayList();
        pArgList->Construct();
        pArgList->Add(*__pNewWindowInfo);
@@ -218,12 +241,20 @@ InternetApp::OnAppTerminating(AppRegistry& appRegistry, bool forcedTermination)
 void
 InternetApp::OnForeground(void)
 {
+       UiApp* pApp = null;
+       pApp = UiApp::GetInstance();
+       if (pApp != null && pSceneManagementFrame != null && pApp->GetFrameAt(0)->GetShowMode() != FRAME_SHOW_MODE_FULL_SCREEN)
+       {
+               pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_FULL_SCREEN);
+       }
+       AppLog("InternetApp::OnForeground called");
+
        AppLog("InternetApp::OnForeground");
 
        AppRegistry* pAppRegistry = App::GetInstance()->GetAppRegistry();
        String sliderKey("SliderValue");
 
-       int sliderValue = 0;
+       int sliderValue = 10;
 
 
        result r = pAppRegistry->Get(sliderKey, sliderValue);
@@ -232,18 +263,35 @@ InternetApp::OnForeground(void)
 
        AppLog("Settingscreenbrightness to %d result %s",sliderValue , GetErrorMessage(r));
 
-
-       Form* pCurrentForm = (SceneManager::GetInstance()->GetCurrentScene()->GetForm());
+       Form* pCurrentForm = null;
+       if(SceneManager::GetInstance()->GetCurrentScene() != null)
+               pCurrentForm = (SceneManager::GetInstance()->GetCurrentScene()->GetForm());
        if (pCurrentForm)
        {
                pCurrentForm->SendUserEvent(FORE_GROUND_APP_EVENT, NULL);
        }
+       Frame* pCurrentFrame = null;
+       pCurrentFrame = Application::GetInstance()->GetAppFrame()->GetFrame();
+
+       if (pCurrentFrame != null)
+       {
+               pCurrentFrame->SetEnabled(true);
+               pCurrentFrame->Invalidate(true);
+       }
+
+       if ( __isShowMsg == true )
+       {
+               __isShowMsg = false;
+               SendUserEvent(FORE_GROUND_APP_EVENT, NULL);
+       }
 }
 
 void
 InternetApp::OnBackground(void)
 {
-       Form* pCurrentForm = (SceneManager::GetInstance()->GetCurrentScene()->GetForm());
+       Form* pCurrentForm = null;
+       if(SceneManager::GetInstance()->GetCurrentScene() != null)
+               pCurrentForm = (SceneManager::GetInstance()->GetCurrentScene()->GetForm());
        if(pCurrentForm)
        {
                pCurrentForm->SendUserEvent(BACK_GROUND_APP_EVENT, NULL);
@@ -287,13 +335,38 @@ InternetApp::OnSettingChanged(Tizen::Base::String& key)
        {
                Terminate();
        }
+       else if (key == L"http://tizen.org/setting/screen.brightness" )
+       {
+               AppRegistry* pAppRegistry = App::GetInstance()->GetAppRegistry();
+               String sliderKey("SliderValue");
+
+               int sliderValue = 10;
+
+
+               result r = pAppRegistry->Get(sliderKey, sliderValue);
+               r = PowerManager::SetScreenBrightness(sliderValue);
+               //      r = PowerManager::RestoreScreenBrightness();
+
+       }
+
 }
 
 void
 InternetApp::OnAppControlRequestReceived(RequestId reqId, const String &operationId, const String* pUriScheme, const String *pDataType, const IMap *pArgs)
 {
-       AppLogDebug("ABC::Internet::OnAppControlRequestReceivedN entered %ls",operationId.GetPointer());
+       UiApp* pApp = null;
+       pApp = UiApp::GetInstance();
+       if (pApp != null &&  pSceneManagementFrame != null)
+       {
+               pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_FULL_SCREEN);
+
+       }
+
+       __isShowMsg = false;
 
+       AppLogDebug("ABC::Internet::OnAppControlRequestReceivedN entered %ls",operationId.GetPointer());
+       __operationId.Clear();
+       __operationId.Append(operationId);
        if (operationId.CompareTo(L"http://tizen.org/appcontrol/operation/view") == 0)
        {
                String urlData;
@@ -324,21 +397,24 @@ InternetApp::OnAppControlRequestReceived(RequestId reqId, const String &operatio
                        urlData = *pUrl;
                }
                AppLog("URL received %ls", urlData.GetPointer());
+               if(pSceneManagementFrame)
+                       pSceneManagementFrame->Show();
+
 
-               if (__pNewWindowInfo == null)
-               {
-                       __pNewWindowInfo = MultipleWindowPresentationModel::GetInstance()->CreateNewMainViewSceneN(urlData, true);
-               }
                if (__pNewWindowInfo == null)
                {
                        if (MultipleWindowPresentationModel::GetInstance()->GetAllWindowArrayList()->GetCount() >= 9)
                        {
-                               String strTitle = CommonUtil::GetString(L"IDS_COM_SK_MAX_LIMIT_REACHED");
-                               String strText = CommonUtil::GetString(L"IDS_COM_SK_CREATE_WINDOWS_BNO");
-                               ShowPopup(strTitle, strText);
+                               __isShowMsg = true;
+                               return;
                        }
-                       return;
                }
+
+               if (__pNewWindowInfo == null)
+               {
+                       __pNewWindowInfo = MultipleWindowPresentationModel::GetInstance()->CreateNewMainViewSceneN(urlData, true);
+               }
+
                if (__pMultiWindowManager != null && __pMultiWindowManager->GetAllWindowArrayList()->GetCount() != 0)
                {
                        //if the application is running in background and it receives an appcontrol request it will launch a new(std::nothrow) window here,
@@ -370,24 +446,43 @@ InternetApp::OnAppControlRequestReceived(RequestId reqId, const String &operatio
        {
                if (pArgs)
                {
-                       const String* pVal = (String *) pArgs->GetValue(String(L"http://tizen.org/appcontrol/data/notification"));
-                       if (pVal && pVal->GetLength() > 0)
+                       //const String* pVal = (String *) pArgs->GetValue(String(L"http://tizen.org/appcontrol/data/notification"));
+                       String *data = (String *) pArgs->GetValue(String(L"http://tizen.org/appcontrol/data/notification"));
+                       if(data != NULL)
+                               __value = new String(*data);
+                       if (__value && __value->GetLength() > 0)
+                       {
+                               AppLog("17jul rahul __value is %S", __value->GetPointer());
+                       }
+                       if (__value && __value->GetLength() > 0 && pSceneManagementFrame != null)
                        {
+                               AppLog("17jul OnAppControlRequestReceived notification");
                                HashMap extraData;
                                extraData.Construct();
                                String typeKey = APPCONTROL_SELECT_KEY_IMAGE;
                                String typeVal = APPCONTROL_SELECT_VALUE_IMAGE;
                                extraData.Add(&typeKey, &typeVal);
 
-                               AppControl* pAc = AppManager::FindAppControlN(APPCONTROL_PROVIDER_ID_IMAGE_VIEWER,
+                               if(__pAc)
+                               {
+                                       result r = __pAc->Stop();
+                                       AppLog("AppControl Stop Result %s",GetErrorMessage(r));
+                                       delete __pAc;
+                                       __pAc = null;
+                               }
+                               __pAc = AppManager::FindAppControlN(APPCONTROL_PROVIDER_ID_IMAGE_VIEWER,
                                                APPCONTROL_OPERATION_ID_IMAGE_VIEWER);
-                               if (pAc)
+                               if (__pAc)
                                {
-                                       if (pAc->Start(pVal, null, null, null) == E_SUCCESS)
+                                       AppLog("17jul __value is %S", __value->GetPointer());
+                                       if (__pAc->Start(__value, null, null, null) == E_SUCCESS)
                                        {
-                                               delete pAc;
+//                                             delete pAc;
                                        }
                                }
+                               delete __value;
+                               __value = null;
+
                        }
                }
        }
@@ -413,3 +508,33 @@ InternetApp::GetAvailableMemory(void)
    CATCH:
     return 0;
 }
+
+
+void
+InternetApp::OnUserEventReceivedN (RequestId requestId, Tizen::Base::Collection::IList *pArgs)
+{
+       Form* pCurrentForm = null;
+       if(SceneManager::GetInstance()->GetCurrentScene() != null)
+               pCurrentForm = (SceneManager::GetInstance()->GetCurrentScene()->GetForm());
+       if (pCurrentForm)
+       {
+               AppLog("sending userevent for appcontrol");
+               pCurrentForm->SendUserEvent(APPCONTROL_LAUNCH_MAX_LIMIT_REACHED, NULL);
+       }
+
+       if(requestId == FORE_GROUND_APP_EVENT)
+       {
+               if( MultipleWindowPresentationModel::GetInstance()->GetAllWindowArrayList()->GetCount() >= 9)
+                {
+                        String strText = CommonUtil::GetString(L"IDS_BR_BODY_COULD_NOT_OPEN_NEW_WINDOW_BECAUSE_YOU_HAVE_ALREADY_OPENED_MAXIMUM_NUMBER");
+                        MessageBox messageBox;
+                        messageBox.Construct(L"", strText, MSGBOX_STYLE_OK, 3000);
+                        int modalResult = 0;
+
+                        messageBox.ShowAndWait(modalResult);
+                }
+       }
+
+}
+
+