diff -r dc7c549001d5 -r 85266cc22c7f javamanager/javainstaller/installer/src.s60/applicationregistrator/sifregistrator.cpp --- a/javamanager/javainstaller/installer/src.s60/applicationregistrator/sifregistrator.cpp Thu May 27 12:49:31 2010 +0300 +++ b/javamanager/javainstaller/installer/src.s60/applicationregistrator/sifregistrator.cpp Fri Jun 11 13:33:44 2010 +0300 @@ -31,13 +31,12 @@ // SCR usage is enabled if this macro has been defined. #ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK -#include -#include #include #include #ifdef RD_JAVA_USIF_APP_REG #include #endif // RD_JAVA_USIF_APP_REG +#include // Helper macro for logging a TDesC. #define LOG_TDESC_L(compIdParam, logLevelParam, msgParam, tdescParam) \ @@ -50,18 +49,11 @@ } // NAMESPACE DECLARATION -QTM_USE_NAMESPACE using namespace java; using namespace Usif; IMPORT_C HBufC* CreateHBufCFromJavaStringLC(JNIEnv* aEnv, jstring aString); -// Java MIME types. -_LIT(KMimeTypeAppDescriptor, "text/vnd.sun.j2me.app-descriptor"); -_LIT(KMimeTypeJava, "application/java"); -_LIT(KMimeTypeJavaArchive, "application/java-archive"); -_LIT(KMimeTypeXJavaArchive, "application/x-java-archive"); - // Properties registered to SCR. _LIT(KMIDletName, "MIDlet-Name"); _LIT(KUid, "Uid"); @@ -254,86 +246,40 @@ { TInt err = KErrNone; - QServiceManager serviceManager; - QObject* activityManager = - serviceManager.loadInterface("com.nokia.qt.activities.ActivityManager"); - if (!activityManager) + CActiveScheduler* newScheduler = 0; + if (0 == CActiveScheduler::Current()) { - err = serviceManager.error(); - ELOG1(EJavaInstaller, - "launchAppView: loading ActivityManager failed, error %d", err); - return KErrCouldNotConnect; - } - // URL for launching AppLib. - QUrl url(QString("appto://20022F35?activityname=AppLibRecentView")); - QMetaObject::invokeMethod(activityManager, "launchActivity", - Q_ARG(QString, url.toString())); - err = serviceManager.error(); - delete activityManager; - if (QServiceManager::NoError != err) - { - ELOG1(EJavaInstaller, - "launchAppView: launching AppLib activity failed, error %d", - err); - return KErrCouldNotConnect; + // Create ActiveScheduler as it does not yet exist. + newScheduler = new CActiveScheduler; + CActiveScheduler::Install(newScheduler); } - // Start AppLib and bring it to foreground. - const TUid KAppLibUid = { 0x20022F35 }; - TRAP(err, StartAppL(KAppLibUid)); - return err; -} + QUrl openRecentView("appto://20022F35?activityname=AppLibRecentView"); + XQApplicationManager applicationManager; + XQAiwRequest *request = applicationManager.create(openRecentView); + if (request) { + bool result = request->send(); + if (!result) { + int error = request->lastError(); + ELOG1(EJavaInstaller, + "launchAppView: launching AppLib failed, error %d", error); + err = KErrGeneral; + } + delete request; + } -/** - * See JNI method __1registerJavaSoftwareType. - * This method makes calls that may leave (the actual registering). - */ -void RegisterJavaSoftwareTypeL(RSoftwareComponentRegistry *aScr, TBool aRegister = ETrue) -{ - RPointerArray javaMimeTypes; - CleanupResetAndDestroyPushL(javaMimeTypes); - javaMimeTypes.AppendL(KMimeTypeAppDescriptor().AllocL()); - javaMimeTypes.AppendL(KMimeTypeJava().AllocL()); - javaMimeTypes.AppendL(KMimeTypeJavaArchive().AllocL()); - javaMimeTypes.AppendL(KMimeTypeXJavaArchive().AllocL()); - if (aRegister) - { - TUid javaSifPluginUid = TUid::Uid(0x2002bc70); - _LIT_SECURE_ID(KJavaInstallerSid, 0x102033E6); - aScr->AddSoftwareTypeL( - Usif::KSoftwareTypeJava, javaSifPluginUid, - KJavaInstallerSid, KJavaInstallerSid, javaMimeTypes); - } - else + if (newScheduler) { - aScr->DeleteSoftwareTypeL(Usif::KSoftwareTypeJava, javaMimeTypes); + delete newScheduler; + newScheduler = 0; } - CleanupStack::PopAndDestroy(&javaMimeTypes); -} -/* - * Class: com_nokia_mj_impl_installer_applicationregistrator_SifRegistrator - * Method: _registerJavaSoftwareType - * Signature: (Z)I - */ -JNIEXPORT jint JNICALL Java_com_nokia_mj_impl_installer_applicationregistrator_SifRegistrator__1registerJavaSoftwareType -(JNIEnv *, jclass, jboolean aRegister) -{ - RSoftwareComponentRegistry *pScr = NULL; - TRAPD(err, pScr = CreateScrL()); - if (KErrNone != err) + if (KErrNone == err) { - return err; + // Start AppLib and bring it to foreground. + const TUid KAppLibUid = { 0x20022F35 }; + TRAP(err, StartAppL(KAppLibUid)); } - TRAP(err, RegisterJavaSoftwareTypeL(pScr, aRegister)); - if (KErrNone != err) - { - ELOG1(EJavaInstaller, - "registerJavaSoftwareType: registration failed, error %d", - err); - } - pScr->Close(); - delete pScr; return err; } @@ -538,7 +484,7 @@ jint aMediaId, jstring aMidletInfoUrl, jstring aMidletDescription, jstring aDownloadUrl, jobject aComponentId) { - //__UHEAP_MARK; + __UHEAP_MARK; RSoftwareComponentRegistry *pScr = reinterpret_cast(aSessionHandle<<2); TComponentId componentId = -1; @@ -547,7 +493,7 @@ aComponentFiles, aComponentSize, aIsRemovable, aIsDrmProtected, aIsOriginVerified, aIsUpdate, aMediaId, aMidletInfoUrl, aMidletDescription, aDownloadUrl)); - //__UHEAP_MARKEND; + __UHEAP_MARKEND; if (KErrNone == err) { jclass clazz = aEnv->GetObjectClass(aComponentId); @@ -565,7 +511,7 @@ JNIEXPORT jint JNICALL Java_com_nokia_mj_impl_installer_applicationregistrator_SifRegistrator__1unregisterComponent (JNIEnv *, jclass, jint aSessionHandle, jint aComponentId) { - //__UHEAP_MARK; + __UHEAP_MARK; RSoftwareComponentRegistry *pScr = reinterpret_cast(aSessionHandle<<2); TInt err = KErrNone; @@ -576,7 +522,7 @@ { TRAP(err, pScr->DeleteComponentL(aComponentId)); } - //__UHEAP_MARKEND; + __UHEAP_MARKEND; return err; } @@ -1085,11 +1031,11 @@ JNIEXPORT jint JNICALL Java_com_nokia_mj_impl_installer_applicationregistrator_SifRegistrator__1logComponent (JNIEnv *aEnv, jclass, jint aSessionHandle, jstring aGlobalId) { - __UHEAP_MARK; + //__UHEAP_MARK; RSoftwareComponentRegistry *pScr = reinterpret_cast(aSessionHandle<<2); TRAPD(err, LogComponentL(aEnv, pScr, aGlobalId)); - __UHEAP_MARKEND; + //__UHEAP_MARKEND; return err; } @@ -1134,17 +1080,6 @@ /* * Class: com_nokia_mj_impl_installer_applicationregistrator_SifRegistrator - * Method: _registerJavaSoftwareType - * Signature: (Z)I - */ -JNIEXPORT jint JNICALL Java_com_nokia_mj_impl_installer_applicationregistrator_SifRegistrator__1registerJavaSoftwareType -(JNIEnv *, jclass, jboolean) -{ - return KErrNone; -} - -/* - * Class: com_nokia_mj_impl_installer_applicationregistrator_SifRegistrator * Method: _startSession * Signature: ()I */