# HG changeset patch # User hgs # Date 1272058215 -10800 # Node ID 625e74332ce2c2c9e69cac6aeda6cd7a8bb06cc7 # Parent 878846f7623ef5e6ac5f17a8f88fc76b382b4803 201011 diff -r 878846f7623e -r 625e74332ce2 layers.sysdef.xml --- a/layers.sysdef.xml Sat Apr 24 00:13:51 2010 +0300 +++ b/layers.sysdef.xml Sat Apr 24 00:30:15 2010 +0300 @@ -19,5 +19,10 @@ + + + + + diff -r 878846f7623e -r 625e74332ce2 package_definition.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/package_definition.xml Sat Apr 24 00:30:15 2010 +0300 @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 878846f7623e -r 625e74332ce2 tsrc/group/bld.inf --- a/tsrc/group/bld.inf Sat Apr 24 00:13:51 2010 +0300 +++ b/tsrc/group/bld.inf Sat Apr 24 00:30:15 2010 +0300 @@ -20,7 +20,6 @@ DEFAULT //build files for shortlinkconn -#include "../../../shortlinkconn/localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/group/bld.inf" #include "../../../shortlinkconn/localconnectivityservice/generichid/tsrc/GenericHidTest/group/bld.inf" //build files for usb diff -r 878846f7623e -r 625e74332ce2 usbengines/usbdevcon/src/cusbdevcon.cpp --- a/usbengines/usbdevcon/src/cusbdevcon.cpp Sat Apr 24 00:13:51 2010 +0300 +++ b/usbengines/usbdevcon/src/cusbdevcon.cpp Sat Apr 24 00:30:15 2010 +0300 @@ -260,8 +260,7 @@ FLOG( _L( "[USBDEVCON]\tCUsbDevCon::RunL Exiting usbdevcon" ) ); // Shutdown timer is finished, exit program - CUsbDevCon:: ~CUsbDevCon(); // destruct resources - User::Exit(KErrNone); + CActiveScheduler::Stop(); // destruct resources } } diff -r 878846f7623e -r 625e74332ce2 usbengines/usblocodplugin/inc/usblcdactive.h --- a/usbengines/usblocodplugin/inc/usblcdactive.h Sat Apr 24 00:13:51 2010 +0300 +++ b/usbengines/usblocodplugin/inc/usblcdactive.h Sat Apr 24 00:30:15 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2006 - 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" @@ -65,8 +65,12 @@ CUsbLcdActive(MLocodBearerPluginObserver& aObserver); void ConstructL(); - void Start(); - void NotifyLcd(TBool aUsbStatus); + void Start(); + /** + * Handle the change of selected USB personality. + * @param aNewPersonalityId current selected USB personality ID. + */ + void HandleUsbPersonalityChange( TInt aNewPersonalityId ); private: // data diff -r 878846f7623e -r 625e74332ce2 usbengines/usblocodplugin/src/usblcdactive.cpp --- a/usbengines/usblocodplugin/src/usblcdactive.cpp Sat Apr 24 00:13:51 2010 +0300 +++ b/usbengines/usblocodplugin/src/usblcdactive.cpp Sat Apr 24 00:30:15 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2006 - 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" @@ -79,26 +79,14 @@ else { - TInt ret = RProperty::Get(KPSUidUsbWatcher, KUsbWatcherSelectedPersonality, value); - LOGTEXT2(_L8("CUsbLcdActive::RunL() Personality = %d"), value); + TInt ret = iProperty.Get( value ); + LOGTEXT3(_L8("Personality: %d, ret: %d"), value, ret); iProperty.Subscribe(iStatus); SetActive(); if (ret == KErrNone) - { - switch (value) - { - case KUsbPersonalityIdPCSuite: - case KUsbPersonalityIdPCSuiteMTP: - NotifyLcd(ETrue); - LOGTEXT(_L8("CUsbLcdActive::RunL() in PC Suite mode")); - break; - - default: - NotifyLcd(EFalse); - LOGTEXT(_L8("CUsbLcdActive::RunL() mode is not PC Suite")); - break; - } - } + { + HandleUsbPersonalityChange( value ); + } } } @@ -145,17 +133,33 @@ LOG_FUNC iProperty.Subscribe(iStatus); SetActive(); + // Check the starting state + TInt usbPersonalityId( KUsbWatcherSelectedPersonalityNone ); + TInt ret = iProperty.Get( usbPersonalityId ); + if ( ( ret == KErrNone ) && + ( usbPersonalityId != KUsbWatcherSelectedPersonalityNone ) ) + { + HandleUsbPersonalityChange( usbPersonalityId ); + } } + // --------------------------------------------------------------------------- -// This function notifying LoCoD framewark about active USB personality -// If Personality == 113 (PC Suite), then ETrue; in all other cases is EFalse +// This function handles the USB active personality change, and notify LoCoD +// framework whether PC Suite is active // --------------------------------------------------------------------------- // -void CUsbLcdActive::NotifyLcd(TBool aUsbStatus) +void CUsbLcdActive::HandleUsbPersonalityChange( TInt aNewPersonalityId ) { LOG_FUNC - iObserver.NotifyBearerStatus(ELocodBearerUSB, aUsbStatus); + LOGTEXT2( _L8( "aNewPersonalityId: %d"), aNewPersonalityId ); + TBool isPcSuiteActive( EFalse ); + if ( ( aNewPersonalityId == KUsbPersonalityIdPCSuite ) || + ( aNewPersonalityId == KUsbPersonalityIdPCSuiteMTP ) ) + { + isPcSuiteActive = ETrue; + } + iObserver.NotifyBearerStatus( ELocodBearerUSB, isPcSuiteActive ); } //End of file diff -r 878846f7623e -r 625e74332ce2 usbengines/usbotgwatcher/inc/cusbindicatornotifier.h --- a/usbengines/usbotgwatcher/inc/cusbindicatornotifier.h Sat Apr 24 00:13:51 2010 +0300 +++ b/usbengines/usbotgwatcher/inc/cusbindicatornotifier.h Sat Apr 24 00:30:15 2010 +0300 @@ -22,7 +22,7 @@ #include // SAknSmallIndicatorParams #include // SAknNotifierPackage #include // EAknIndicatorUSBConnection -#include "cusbtimer.h" + #include "cusbnotifier.h" #include "cusbvbusobserver.h" #include "cusbotgwatcher.h" @@ -31,7 +31,7 @@ * Class implements functionality of showing/blinking usb indicator * Class does not provide method to get response from the user */ -NONSHARABLE_CLASS( CUsbIndicatorNotifier ): public CUsbNotifier, MUsbTimerObserver, MUsbOtgWatcherStateObserver, MUsbVBusObserver +NONSHARABLE_CLASS( CUsbIndicatorNotifier ): public CUsbNotifier, MUsbOtgWatcherStateObserver, MUsbVBusObserver { public: /** @@ -80,13 +80,6 @@ */ virtual void Close(); - // From MUsbTimerObserver - /** - * Timer elapsed - * @param Timer id - */ - void TimerElapsedL(TUsbTimerId aTimerId); - private: /** @@ -135,13 +128,6 @@ CUsbOtgWatcher& iOtgWatcher; /** - * Switch timer for showing/hiding the usb indicator interleavingly for - * animating the indicator. - * Own - */ - CUsbTimer* iIconBlinkingTimer; - - /** * Current indicator state */ TInt iIndicatorState; diff -r 878846f7623e -r 625e74332ce2 usbengines/usbotgwatcher/src/cusbindicatornotifier.cpp --- a/usbengines/usbotgwatcher/src/cusbindicatornotifier.cpp Sat Apr 24 00:13:51 2010 +0300 +++ b/usbengines/usbotgwatcher/src/cusbindicatornotifier.cpp Sat Apr 24 00:30:15 2010 +0300 @@ -54,7 +54,6 @@ LOG_FUNC Close(); - delete iIconBlinkingTimer; if (iOtgWatcher.VBusObserver()) { @@ -95,11 +94,8 @@ // Subscribe for otg watcher states change notifications iOtgWatcher.SubscribeL(*this); - iIconBlinkingTimer = CUsbTimer::NewL(*this, EIconBlinkingTimer); - // check here for condition to set usb indicator SetIndicatorL(); - } // --------------------------------------------------------------------------- @@ -114,8 +110,6 @@ LOG1("aVisible = %d" , aVisible); - iIconBlinkingTimer->Cancel(); - SetIndicatorStateL(aVisible ? EAknIndicatorStateOn : EAknIndicatorStateOff); @@ -129,8 +123,7 @@ { LOG_FUNC - // Will be canceled if active in After() - iIconBlinkingTimer->After(0); + SetIndicatorStateL( EAknIndicatorStateAnimate ); } // --------------------------------------------------------------------------- @@ -152,42 +145,10 @@ { LOG_FUNC - iIconBlinkingTimer->Cancel(); TRAP_IGNORE( ShowStaticL(EFalse) ); } // --------------------------------------------------------------------------- -// From MUsbTimerObserver -// --------------------------------------------------------------------------- -// -void CUsbIndicatorNotifier::TimerElapsedL(TUsbTimerId aTimerId) - { - switch (aTimerId) - { - case EIconBlinkingTimer: - { - SetIndicatorStateL(iIndicatorState - ? EAknIndicatorStateOn - : EAknIndicatorStateOff); - - iIndicatorState - = (iIndicatorState == EAknIndicatorStateOn - ? EAknIndicatorStateOff - : EAknIndicatorStateOn); - - // Will be canceled if active in After() - iIconBlinkingTimer->After(KUsbIndicatorBlinkingInterval); - break; - } - default: - { - LOG1("Unknown timer id = %d", aTimerId) - PANIC(EWrongTimerId); - } - } - } - -// --------------------------------------------------------------------------- // Set USB indicator On or Off // --------------------------------------------------------------------------- // diff -r 878846f7623e -r 625e74332ce2 usbengines/usbwatcher/rom/mtp_symbian_temp.iby --- a/usbengines/usbwatcher/rom/mtp_symbian_temp.iby Sat Apr 24 00:13:51 2010 +0300 +++ b/usbengines/usbwatcher/rom/mtp_symbian_temp.iby Sat Apr 24 00:30:15 2010 +0300 @@ -122,6 +122,7 @@ ECOM_PLUGIN(mtpmetadataservice.dll, mtpmetadataservice.rsc) // MTP plugin registration resource file data=EPOCROOT##epoc32\data\Z\resource\mtp\2001A9A3.rsc resource\mtp\2001A9A3.rsc +data=EPOCROOT##epoc32\data\Z\deviceexperiences\default\en-us\A42998DC-D9BD-4287-A2EA-46116889443C.devicemetadata-ms deviceexperiences\default\en-us\A42998DC-D9BD-4287-A2EA-46116889443C.devicemetadata-ms #endif // SYMBIAN_EXCLUDE_MTP #endif // MTP_METADATASERVICE_IBY diff -r 878846f7623e -r 625e74332ce2 usbengines/usbwatcher/src/cusbactivepersonalityhandler.cpp --- a/usbengines/usbwatcher/src/cusbactivepersonalityhandler.cpp Sat Apr 24 00:13:51 2010 +0300 +++ b/usbengines/usbwatcher/src/cusbactivepersonalityhandler.cpp Sat Apr 24 00:30:15 2010 +0300 @@ -317,12 +317,21 @@ LOG2("Returned error: %d, iState: %d", aError, iState); - if (KErrNoMemory == aError) + switch ( aError ) { - iQueryParams().iQuery = EUSBNotEnoughRam; - iPersonalityParams->PersonalityNotifier().ShowQuery(KQueriesNotifier, - iQueryParams, iDummyBuf); - } + case KErrNoMemory: + iQueryParams().iQuery = EUSBNotEnoughRam; + iPersonalityParams->PersonalityNotifier().ShowQuery(KQueriesNotifier, + iQueryParams, iDummyBuf); + break; + case KErrDiskFull: + iQueryParams().iQuery = EUSBDiskFull; + iPersonalityParams->PersonalityNotifier().ShowQuery(KQueriesNotifier, + iQueryParams, iDummyBuf); + break; + default: + LOG( "Ignored" ); + } //only handle error when TryStart fails now //clean up work to be done in the personality diff -r 878846f7623e -r 625e74332ce2 usbservices_plat/usb_notifier_api/inc/usbuinotif.h --- a/usbservices_plat/usb_notifier_api/inc/usbuinotif.h Sat Apr 24 00:13:51 2010 +0300 +++ b/usbservices_plat/usb_notifier_api/inc/usbuinotif.h Sat Apr 24 00:30:15 2010 +0300 @@ -64,7 +64,8 @@ EUSBPossibleDataLossMMC, EUSBChangeFromMassStorage, EUSBNoMemoryCard, - EUSBNotEnoughRam + EUSBNotEnoughRam, + EUSBDiskFull }; /** diff -r 878846f7623e -r 625e74332ce2 usbuis/usbuiqt/usbapplication.pro --- a/usbuis/usbuiqt/usbapplication.pro Sat Apr 24 00:13:51 2010 +0300 +++ b/usbuis/usbuiqt/usbapplication.pro Sat Apr 24 00:30:15 2010 +0300 @@ -3,7 +3,7 @@ # Name : usbapplication.pro # Part of : USB / USB Settings Application *** Info from the SWAD # Description : Project definition file for project USB Settings Application -# Version : %version: 6 % << Don't touch! Updated by Synergy at check-out. +# Version : %version: 9 % << Don't touch! Updated by Synergy at check-out. # # Copyright © 2009 Nokia. All rights reserved. # This material, including documentation and any related computer @@ -36,9 +36,7 @@ LIBS += -lusbwatcher LIBS += -lxqsettingsmanager LIBS += -lusbman -LIBS += -lhbcore -LIBS += -lhbwidgets -LIBS += -lhbtools + FORMS += RESOURCES += src/usbicons.qrc \ src/usbapplication.qrc