Revision: 200919 RCL_3 PDK_3.0.0
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 25 May 2010 13:47:46 +0300
branchRCL_3
changeset 33 d895b6d953c9
parent 27 f6533aee8b2b
child 37 3e3bd14de94e
Revision: 200919 Kit: 2010121
usbengines/usbotgwatcher/src/cusbnotenotifier.cpp
usbuis/usbuinotif/group/usbavkonnotif.mmp
usbuis/usbuinotif/group/usbuinotif.mmp
usbuis/usbuinotif/inc/usbuincableconnectednotifier.h
usbuis/usbuinotif/src/usbnotifier.cpp
usbuis/usbuinotif/src/usbuincableconnectednotifier.cpp
usbuis/usbuinotif/src/usbuinotifmsmmerror.cpp
usbuis/usbuinotif/src/usbuinotifotgerror.cpp
usbuis/usbuinotif/src/usbuinotifotgwarning.cpp
usbuis/usbuinotif/src/usbuinqueriesnotifiermdrv.cpp
--- a/usbengines/usbotgwatcher/src/cusbnotenotifier.cpp	Tue Apr 27 17:41:29 2010 +0300
+++ b/usbengines/usbotgwatcher/src/cusbnotenotifier.cpp	Tue May 25 13:47:46 2010 +0300
@@ -130,14 +130,15 @@
 
     LOG1( "iStatus = %d" , iStatus.Int());
 
-    // if error occured, deal with it in RunError
-    LEAVEIFERROR(iStatus.Int());
+    // if iStatus contains some other than KErrNone code
+    // do not perform any special actions, 
+    // just forward the error code to caller
 
     iNotifier.CancelNotifier(iUsbNoteNotifier.iCat);
 
     // report to owner that show is over
     iUsbNoteNotifier.iNotifManager.NotifierShowCompletedL(iUsbNoteNotifier,
-            KErrNone, iRes());
+            iStatus.Int(), iRes());
     }
 
 // ---------------------------------------------------------------------------
@@ -159,8 +160,6 @@
 
     LOG1("aError = %d" , aError);
 
-    iNotifier.CancelNotifier(iUsbNoteNotifier.iCat);
-
     // try to continue  
     return KErrNone;
     }
--- a/usbuis/usbuinotif/group/usbavkonnotif.mmp	Tue Apr 27 17:41:29 2010 +0300
+++ b/usbuis/usbuinotif/group/usbavkonnotif.mmp	Tue May 25 13:47:46 2010 +0300
@@ -23,19 +23,20 @@
 UID             0x101fdfae  0x102068DD  
 TARGETPATH      SHARED_LIB_DIR
 
-CAPABILITY	CAP_GENERAL_DLL
-VENDORID	VID_DEFAULT
+CAPABILITY      CAP_GENERAL_DLL
+VENDORID        VID_DEFAULT
 
 SOURCEPATH      ../src
 
-SOURCE          usbuincableconnectednotifier.cpp usbavkonmain.cpp
+SOURCE          usbuincableconnectednotifier.cpp
+SOURCE          usbavkonmain.cpp
 SOURCE	        usbnotifier.cpp
 
 USERINCLUDE     ../inc
 
-SYSTEMINCLUDE         ../../inc ../../../inc MW_LAYER_PLATFORM_EXPORT_PATH(SecondaryDisplay/)    //for internal and private API headers
+MW_LAYER_SYSTEMINCLUDE
 
-MW_LAYER_SYSTEMINCLUDE
+
 LIBRARY ECOM.LIB                            // Symbian E-Com Plugin definitions and types
 LIBRARY euser.lib cone.lib                  // Symbian OS frameworklibraries
 LIBRARY avkon.lib                           // UI library
@@ -54,7 +55,7 @@
 LIBRARY egul.lib
 LIBRARY usbman.lib                          // for personality IDs and descriptions
 LIBRARY aknnotifierwrapper.lib              // Avkon's notifier wrapper
-LIBRARY         apparc.lib 
+LIBRARY apparc.lib 
 LIBRARY akncapserverclient.lib              // for suppressing the application key
 
 DEBUGLIBRARY flogger.lib                    // File logging services
--- a/usbuis/usbuinotif/group/usbuinotif.mmp	Tue Apr 27 17:41:29 2010 +0300
+++ b/usbuis/usbuinotif/group/usbuinotif.mmp	Tue May 25 13:47:46 2010 +0300
@@ -23,8 +23,8 @@
 TARGETTYPE      PLUGIN
 UID             0x10009D8D  0x102068DC
 
-CAPABILITY	CAP_ECOM_PLUGIN
-VENDORID	VID_DEFAULT
+CAPABILITY	    CAP_ECOM_PLUGIN
+VENDORID	    VID_DEFAULT
 
 SOURCEPATH      ../src
 SOURCE          usbuinmain.cpp
@@ -51,12 +51,10 @@
 
 USERINCLUDE     ../inc
 
-SYSTEMINCLUDE         ../../inc ../../../inc MW_LAYER_PLATFORM_EXPORT_PATH(SecondaryDisplay/)    //for internal and private API headers
 SYSTEMINCLUDE   /epoc32/include/ecom
 MW_LAYER_SYSTEMINCLUDE
 
 
-
 LIBRARY ECOM.LIB                            // Symbian E-Com Plugin definitions and types
 LIBRARY euser.lib cone.lib                  // Symbian OS frameworklibraries
 LIBRARY avkon.lib                           // UI library
@@ -75,7 +73,7 @@
 LIBRARY egul.lib
 LIBRARY usbman.lib                          // for personality IDs and descriptions
 LIBRARY aknnotifierwrapper.lib              // Avkon's notifier wrapper
-LIBRARY         apparc.lib 
+LIBRARY apparc.lib 
 LIBRARY akncapserverclient.lib              // for suppressing the application key
 LIBRARY viewcli.lib 
 LIBRARY featmgr.lib
--- a/usbuis/usbuinotif/inc/usbuincableconnectednotifier.h	Tue Apr 27 17:41:29 2010 +0300
+++ b/usbuis/usbuinotif/inc/usbuincableconnectednotifier.h	Tue May 25 13:47:46 2010 +0300
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+ * Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
  * All rights reserved.
  * This component and the accompanying materials are made available
  * under the terms of "Eclipse Public License v1.0"
@@ -96,6 +96,7 @@
      * @param aCurrentPersonality current personality id
      */
     void GetCurrentIdL(TInt& aCurrentPersonality);
+
     /**
      * Get the mode name and header for current personality
      * @param aDescription The returned current personality string.
@@ -107,7 +108,6 @@
      * Runs the connected discreet note
      */
     void RunQueryL();
-
   
     /**
      * creates the USB UI setting view
@@ -115,6 +115,7 @@
      * @param TUidType 
      */
     void CreateChosenViewL(const TDesC & aProcessName,const TUidType & aUidType) const;
+
 private:
     /**
      *  C++ default constructor.
@@ -127,9 +128,15 @@
     CActiveSchedulerWait    iNoteWaiter;    
     
     /**
-    * Note visible
-    */
+     * Note visible
+     */
     TBool   iNoteVisible;
 
+    /**
+     * Note tapped
+     */
+    TBool   iNoteTapped;
+
     };
+
 #endif // USBUINCABLECONNECTEDNOTIFIER_H
--- a/usbuis/usbuinotif/src/usbnotifier.cpp	Tue Apr 27 17:41:29 2010 +0300
+++ b/usbuis/usbuinotif/src/usbnotifier.cpp	Tue May 25 13:47:46 2010 +0300
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+ * Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
  * All rights reserved.
  * This component and the accompanying materials are made available
  * under the terms of "Eclipse Public License v1.0"
@@ -99,9 +99,8 @@
     // Activate apps -key again (if not previously activated yet)
     SuppressAppSwitching( EFalse );
 
-    // Restore the keylock if not restored before (caused by Leave).
-    // If the Keylock is restored already, the function does nothing.
-    RestoreKeylock();
+    //Don't call RestoreKeylock here. It's up to specific note notfier logic. 
+    //If failed to RestoreKeylock there, it doesn't matter to leave keylock open.
 
     FLOG(_L("[USBUINOTIF]\t CUSBUINotifierBase::Destructor completed"));
     }
--- a/usbuis/usbuinotif/src/usbuincableconnectednotifier.cpp	Tue Apr 27 17:41:29 2010 +0300
+++ b/usbuis/usbuinotif/src/usbuincableconnectednotifier.cpp	Tue May 25 13:47:46 2010 +0300
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+ * Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
  * All rights reserved.
  * This component and the accompanying materials are made available
  * under the terms of "Eclipse Public License v1.0"
@@ -33,10 +33,11 @@
 #include <aknmessagequerydialog.h>
 //for cover display support
 #include <AknMediatorFacade.h>
-#include <SecondaryDisplay/usbuinotifsecondarydisplay.h> // Dialog index for cover UI
+#include <secondarydisplay/usbuinotifsecondarydisplay.h> // Dialog index for cover UI
 #include <akndiscreetpopup.h>
 #include <e32uid.h> // KExecutableImageUid
 #include <usbui.mbg>
+
 #include "usbuincableconnectednotifier.h"   // Own class definition
 #include "usbuinotifdebug.h"                // Debugging macros
 #include "UsbWatcherInternalCRKeys.h"
@@ -47,8 +48,6 @@
 
 _LIT(KUSBExe, "usbclasschangeui.exe");
 const TInt KUSBUIUid = 0x102068E2;
-_LIT(KFileDrive,"z:");
-_LIT(KUSBUIconFileName, "usbui.mif");
 
 // ================= MEMBER FUNCTIONS =========================================
 
@@ -76,7 +75,8 @@
 // ----------------------------------------------------------------------------
 //
 CUSBUICableConnectedNotifier::CUSBUICableConnectedNotifier(): 
-    iNoteVisible(EFalse)
+    iNoteVisible(EFalse),
+    iNoteTapped(EFalse)
     {
     FLOG(_L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::default constructor"));
     }
@@ -150,8 +150,6 @@
     DisableKeylock();
     SuppressAppSwitching(ETrue);
     RunQueryL();
-    SuppressAppSwitching(EFalse);
-    RestoreKeylock();
 
     FLOG(_L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::RunL() completed"));
     }
@@ -176,10 +174,10 @@
     FLOG(_L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::Cancel() completed"));
     }
 
-// -----------------------------------------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
 // CUSBUICableConnectedNotifier::GetPersonalityStringL
 // Get the strings for ask on connection message query 
-// -----------------------------------------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
 //
 void CUSBUICableConnectedNotifier::GetPersonalityStringL(
        HBufC*& aHeader,HBufC*& aDescription )
@@ -199,28 +197,33 @@
     FLOG(_L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::GetPersonalityStringL completed"));
     }
 
-// -----------------------------------------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
 // CUSBUICableConnectedNotifier::RunQueryL
 // Run the ask on connection message query
-// -----------------------------------------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
 //
 void CUSBUICableConnectedNotifier::RunQueryL()
     {
     FLOG( _L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::RunQueryL()"));
   
-   HBufC* header = NULL;
-   HBufC* description =NULL;
-   GetPersonalityStringL(header, description);
+    HBufC* header = NULL;
+    HBufC* description =NULL;
+    GetPersonalityStringL(header, description);
   
-   CleanupStack::PushL(header);
-   CleanupStack::PushL(description);
+    CleanupStack::PushL(header);
+    CleanupStack::PushL(description);
   
-   TFileName usbUiIconFilename( KFileDrive );
-   usbUiIconFilename += KDC_APP_BITMAP_DIR;
-   usbUiIconFilename += KUSBUIconFileName;
-   iNoteVisible = ETrue;
-   CAknDiscreetPopup::ShowGlobalPopupL(*header,*description,  KAknsIIDQgnPropUsb, AknIconUtils::AvkonIconFileName(),
-           EMbmAvkonQgn_prop_usb, EMbmAvkonQgn_prop_usb_mask,KAknDiscreetPopupDurationLong, EUSBUICmdDiscreetTapped,( MEikCommandObserver* ) this);    
+    iNoteVisible = ETrue;
+    CAknDiscreetPopup::ShowGlobalPopupL(
+        *header,
+        *description,
+        KAknsIIDQgnPropUsb,
+        AknIconUtils::AvkonIconFileName(),
+        EMbmAvkonQgn_prop_usb,
+        EMbmAvkonQgn_prop_usb_mask,
+        KAknDiscreetPopupDurationLong,
+        EUSBUICmdDiscreetTapped,
+        (MEikCommandObserver*) this);
    
     CleanupStack::PopAndDestroy(description);
     CleanupStack::PopAndDestroy(header);
@@ -251,39 +254,54 @@
 //
 void CUSBUICableConnectedNotifier::ProcessCommandL(TInt aCommandId)
     {
+    FTRACE(FPrint(_L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::ProcessCommandL: %d"), 
+        aCommandId));
+    SuppressAppSwitching(EFalse);
+    
     switch ( aCommandId )
-            {
+        {
         case EUSBUICmdDiscreetTapped:
             {
-            TUidType uidtype(KExecutableImageUid, TUid::Uid(0x00),TUid::Uid(KUSBUIUid));
-            CreateChosenViewL(KUSBExe(),uidtype);  
+            TUidType uidtype(KExecutableImageUid, TUid::Null(), TUid::Uid(KUSBUIUid));
+            CreateChosenViewL(KUSBExe(),uidtype);
+            iNoteTapped = ETrue;
             }
-        case EAknDiscreetPopupCmdClose:                
+            //fall through
+        case EAknDiscreetPopupCmdClose:
             if ( iNoteWaiter.IsStarted() )
                 {
                 iNoteWaiter.AsyncStop();
                 }
-            iNoteVisible = EFalse;    
-            CompleteMessage( KErrCancel );                    
+            iNoteVisible = EFalse;
+            CompleteMessage( KErrCancel );
             break;
         default:
-                  
-        break;
-            }
+            break;
+        }
+
+    if (!iNoteTapped)
+        {
+        FLOG(_L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::ProcessCommandL() restore keylock"));
+        RestoreKeylock();
+        }
+
+    FLOG(_L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::ProcessCommandL() completed"));
     }
+
 // ---------------------------------------------------------------------------
 // CUSBUICableConnectedNotifier::CreateChosenViewL()
 // creates the USB UI setting view
 // ---------------------------------------------------------------------------
 //  
-    void CUSBUICableConnectedNotifier::CreateChosenViewL(const TDesC & aProcessName,const TUidType & aUidType) const
+void CUSBUICableConnectedNotifier::CreateChosenViewL(
+    const TDesC & aProcessName, const TUidType & aUidType) const
     {                 
     FLOG(_L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::CreateDesiredViewL() "));
-        RProcess usbUiProcess;                
-        User::LeaveIfError(usbUiProcess.Create(aProcessName, KNullDesC, aUidType));   
-        usbUiProcess.Resume();
-        usbUiProcess.Close();                     
-    FLOG(_L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::CreateDesiredViewL() "));         
-    
+    RProcess usbUiProcess;
+    User::LeaveIfError(usbUiProcess.Create(aProcessName, KNullDesC, aUidType));
+    usbUiProcess.Resume();
+    usbUiProcess.Close();
+    FLOG(_L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::CreateDesiredViewL() "));
     }
+
 // End of File
--- a/usbuis/usbuinotif/src/usbuinotifmsmmerror.cpp	Tue Apr 27 17:41:29 2010 +0300
+++ b/usbuis/usbuinotif/src/usbuinotifmsmmerror.cpp	Tue May 25 13:47:46 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2007, 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -28,9 +28,12 @@
 
 #include <usbuinotif.h>                     // pck
 #include <usbuinotif.rsg>                   // Own resources
-#include "usbuinotifmsmmerror.h"             // Own class definition
+#include <secondarydisplay/usbuinotifsecondarydisplay.h> // Dialog index for cover UI
+
+#include "usbuinotifmsmmerror.h"            // Own class definition
 #include "usbuinotifdebug.h"                // Debugging macros
-#include "usbuinotifsecondarydisplay.h"     // Dialog index for cover UI
+
+
 // ================= MEMBER FUNCTIONS =========================================
 
 // ----------------------------------------------------------------------------
--- a/usbuis/usbuinotif/src/usbuinotifotgerror.cpp	Tue Apr 27 17:41:29 2010 +0300
+++ b/usbuis/usbuinotif/src/usbuinotifotgerror.cpp	Tue May 25 13:47:46 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2007, 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -27,9 +27,12 @@
 
 #include <usbuinotif.h>                     // pck
 #include <usbuinotif.rsg>                   // Own resources
+#include <secondarydisplay/usbuinotifsecondarydisplay.h> // Dialog index for cover UI
+
 #include "usbuinotifotgerror.h"             // Own class definition
 #include "usbuinotifdebug.h"                // Debugging macros
-#include "usbuinotifsecondarydisplay.h"     // Dialog index for cover UI
+
+
 // ================= MEMBER FUNCTIONS =========================================
 
 // ----------------------------------------------------------------------------
--- a/usbuis/usbuinotif/src/usbuinotifotgwarning.cpp	Tue Apr 27 17:41:29 2010 +0300
+++ b/usbuis/usbuinotif/src/usbuinotifotgwarning.cpp	Tue May 25 13:47:46 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2007, 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -23,9 +23,12 @@
 #include <StringLoader.h>       // Localisation stringloader
 #include <AknMediatorFacade.h>  // for cover display support
 #include <usbuinotif.rsg>       // Own resources
+#include <secondarydisplay/usbuinotifsecondarydisplay.h> // Dialog index for cover UI
+
 #include "usbuinotifotgwarning.h"        // Own class definition
-#include "usbuinotifdebug.h"                // Debugging macros
-#include "usbuinotifsecondarydisplay.h"     // Dialog index for cover UI
+#include "usbuinotifdebug.h"             // Debugging macros
+
+
 // ================= MEMBER FUNCTIONS =========================================
 
 // ----------------------------------------------------------------------------
--- a/usbuis/usbuinotif/src/usbuinqueriesnotifiermdrv.cpp	Tue Apr 27 17:41:29 2010 +0300
+++ b/usbuis/usbuinotif/src/usbuinqueriesnotifiermdrv.cpp	Tue May 25 13:47:46 2010 +0300
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+ * Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
  * All rights reserved.
  * This component and the accompanying materials are made available
  * under the terms of "Eclipse Public License v1.0"
@@ -25,9 +25,10 @@
 
 #include <usbuinotif.h>                     // pck
 #include <usbuinotif.rsg>                   // Own resources
+#include <secondarydisplay/usbuinotifsecondarydisplay.h>     // Dialog index for cover UI
+
 #include "usbuinqueriesnotifiermdrv.h"      // Own class definition
 #include "usbuinotifdebug.h"                // Debugging macros
-#include <SecondaryDisplay/usbuinotifsecondarydisplay.h>     // Dialog index for cover UI
 
 // ================= MEMBER FUNCTIONS =========================================