--- a/filedetails/filedetailsdialog/src/MPFileDetailsDialog.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/filedetails/filedetailsdialog/src/MPFileDetailsDialog.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*/
-// Version : %version: 18 %
+// Version : %version: 19 %
// INCLUDE FILES
#include <aknlists.h>
@@ -154,7 +154,7 @@
{
iPopupList->CancelPopup();
}
-
+ delete iPopupList; // cause removal from control stack
delete iListBox;
delete iGenres;
UnLoadResources();
@@ -514,7 +514,6 @@
if ( err && iPopupList )
{
iPopupList->CancelPopup();
- iPopupList = NULL;
}
delete this;
--- a/group/bld.inf Fri Feb 19 22:52:52 2010 +0200
+++ b/group/bld.inf Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*/
-// Version : %version: 30 %
+// Version : %version: 31 %
#include <bldvariant.hrh>
@@ -37,21 +37,6 @@
#include "../videocollection/group/bld.inf"
/**
- * Homescreen plugins: suite configuration
- */
-#include "../homescreenplugins/videosuiteconf/group/bld.inf"
-
-/**
- * Homescreen plugins: action handler
- */
-#include "../homescreenplugins/videoahlplugin/group/bld.inf"
-
-/**
- * Homescreen plugins: content harvester plugin
- */
-#include "../homescreenplugins/videochplugin/group/bld.inf"
-
-/**
* Mediasettings
*/
#include "../mediasettings/group/bld.inf"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/inc/IptvDebug.h Fri Mar 12 15:43:00 2010 +0200
@@ -0,0 +1,306 @@
+/*
+* Copyright (c) 2004-2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Helper class for serial or file tracing of Video Center.*
+*/
+
+
+
+
+#ifndef IPTVDEBUG_H
+#define IPTVDEBUG_H
+
+#include <flogger.h>
+
+// Define logging level here
+
+// Minimum log output
+#define IPTV_HIGH_LEVEL_TRACES
+
+// Medium log output
+#define IPTV_MIDDLE_LEVEL_TRACES
+
+// Maximum log output
+#define IPTV_LOW_LEVEL_TRACES
+
+
+/*
+-----------------------------------------------------------------------------
+
+ LOGGING MACROs
+
+ USE THESE MACROS IN YOUR CODE
+
+ Usage:
+
+ Example: IPTVLOGSTRING_HIGH_LEVEL ("Test");
+ Example: IPTVLOGSTRING2_HIGH_LEVEL ("Test %d", aValue);
+ Example: IPTVLOGSTRING3_HIGH_LEVEL ("Test %d %d", aValue1, aValue2);
+ Example: IPTVLOGSTRING4_HIGH_LEVEL ("Test %d %d %d", aValue1, aValue2, aValue3);
+
+ Example: IPTV_LOG_STR_DESC_HIGH_LEVEL (own_desc);
+ Example: IPTV_LOG_STR_DESC2_HIGH_LEVEL (own_desc, aValue));
+ Example: IPTV_LOG_STR_DESC3_HIGH_LEVEL (own_desc, aValue, aValue2);
+ Example: IPTV_LOG_STR_DESC4_HIGH_LEVEL (own_desc, aValue, aValue2, aValue3);
+
+-----------------------------------------------------------------------------
+*/
+
+
+#ifdef IPTV_HIGH_LEVEL_TRACES
+
+#define IPTVLOGTEXT_HIGH_LEVEL(AAAA) IPTV_LOGTEXT(AAAA)
+#define IPTVLOGSTRING_HIGH_LEVEL(AAAA) IPTV_LOGSTRING(AAAA)
+#define IPTVLOGSTRING2_HIGH_LEVEL(AAAA,BBBB) IPTV_LOGSTRING2(AAAA,BBBB)
+#define IPTVLOGSTRING3_HIGH_LEVEL(AAAA,BBBB,CCCC) IPTV_LOGSTRING3(AAAA,BBBB,CCCC)
+#define IPTVLOGSTRING4_HIGH_LEVEL(AAAA,BBBB,CCCC,DDDD) IPTV_LOGSTRING4(AAAA,BBBB,CCCC,DDDD)
+
+#define IPTV_LOG_STR_DESC_HIGH_LEVEL(AAAA) IPTV_LOG_STR_DESC(AAAA)
+#define IPTV_LOG_STR_DESC2_HIGH_LEVEL(AAAA,BBBB) IPTV_LOG_STR_DESC2(AAAA,BBBB)
+#define IPTV_LOG_STR_DESC3_HIGH_LEVEL(AAAA,BBBB,CCCC) IPTV_LOG_STR_DESC3(AAAA,BBBB,CCCC)
+#define IPTV_LOG_STR_DESC4_HIGH_LEVEL(AAAA,BBBB,CCCC,DDDD) IPTV_LOG_STR_DESC4(AAAA,BBBB,CCCC,DDDD)
+
+#else
+
+#define IPTVLOGTEXT_HIGH_LEVEL(AAAA)
+#define IPTVLOGSTRING_HIGH_LEVEL(AAAA)
+#define IPTVLOGSTRING2_HIGH_LEVEL(AAAA,BBBB)
+#define IPTVLOGSTRING3_HIGH_LEVEL(AAAA,BBBB,CCCC)
+#define IPTVLOGSTRING4_HIGH_LEVEL(AAAA,BBBB,CCCC,DDDD)
+
+#define IPTV_LOG_STR_DESC_HIGH_LEVEL(AAAA)
+#define IPTV_LOG_STR_DESC2_HIGH_LEVEL(AAAA,BBBB)
+#define IPTV_LOG_STR_DESC3_HIGH_LEVEL(AAAA,BBBB,CCCC)
+#define IPTV_LOG_STR_DESC4_HIGH_LEVEL(AAAA,BBBB,CCCC,DDDD)
+
+#endif
+
+
+#ifdef IPTV_MIDDLE_LEVEL_TRACES
+#define TFLOGTEXT_MIDDLE_LEVEL(AAAA) IPTV_LOGTEXT(AAAA)
+#define IPTVLOGSTRING_MIDDLE_LEVEL(AAAA) IPTV_LOGSTRING(AAAA)
+#define IPTVLOGSTRING2_MIDDLE_LEVEL(AAAA,BBBB) IPTV_LOGSTRING2(AAAA,BBBB)
+#define IPTVLOGSTRING3_MIDDLE_LEVEL(AAAA,BBBB,CCCC) IPTV_LOGSTRING3(AAAA,BBBB,CCCC)
+#define IPTVLOGSTRING4_MIDDLE_LEVEL(AAAA,BBBB,CCCC,DDDD) IPTV_LOGSTRING4(AAAA,BBBB,CCCC,DDDD)
+
+#define IPTV_LOG_STR_DESC_MIDDLE_LEVEL(AAAA) IPTV_LOG_STR_DESC(AAAA)
+#define IPTV_LOG_STR_DESC2_MIDDLE_LEVEL(AAAA,BBBB) IPTV_LOG_STR_DESC2(AAAA,BBBB)
+#define IPTV_LOG_STR_DESC3_MIDDLE_LEVEL(AAAA,BBBB,CCCC) IPTV_LOG_STR_DESC3(AAAA,BBBB,CCCC)
+#define IPTV_LOG_STR_DESC4_MIDDLE_LEVEL(AAAA,BBBB,CCCC,DDDD) IPTV_LOG_STR_DESC4(AAAA,BBBB,CCCC,DDDD)
+
+#else
+
+#define TFLOGTEXT_MIDDLE_LEVEL(AAAA)
+#define IPTVLOGSTRING_MIDDLE_LEVEL(AAAA)
+#define IPTVLOGSTRING2_MIDDLE_LEVEL(AAAA,BBBB)
+#define IPTVLOGSTRING3_MIDDLE_LEVEL(AAAA,BBBB,CCCC)
+#define IPTVLOGSTRING4_MIDDLE_LEVEL(AAAA,BBBB,CCCC,DDDD)
+
+#define IPTV_LOG_STR_DESC_MIDDLE_LEVEL(AAAA)
+#define IPTV_LOG_STR_DESC2_MIDDLE_LEVEL(AAAA,BBBB)
+#define IPTV_LOG_STR_DESC3_MIDDLE_LEVEL(AAAA,BBBB,CCCC)
+#define IPTV_LOG_STR_DESC4_MIDDLE_LEVEL(AAAA,BBBB,CCCC,DDDD)
+
+#endif
+
+
+#ifdef IPTV_LOW_LEVEL_TRACES
+
+#define IPTVLOGTEXT_LOW_LEVEL(AAAA) IPTV_LOGTEXT(AAAA)
+#define IPTVLOGSTRING_LOW_LEVEL(AAAA) IPTV_LOGSTRING(AAAA)
+#define IPTVLOGSTRING2_LOW_LEVEL(AAAA,BBBB) IPTV_LOGSTRING2(AAAA,BBBB)
+#define IPTVLOGSTRING3_LOW_LEVEL(AAAA,BBBB,CCCC) IPTV_LOGSTRING3(AAAA,BBBB,CCCC)
+#define IPTVLOGSTRING4_LOW_LEVEL(AAAA,BBBB,CCCC,DDDD) IPTV_LOGSTRING4(AAAA,BBBB,CCCC,DDDD)
+
+#define IPTV_LOG_STR_DESC_LOW_LEVEL(AAAA) IPTV_LOG_STR_DESC(AAAA)
+#define IPTV_LOG_STR_DESC2_LOW_LEVEL(AAAA,BBBB) IPTV_LOG_STR_DESC2(AAAA,BBBB)
+#define IPTV_LOG_STR_DESC3_LOW_LEVEL(AAAA,BBBB,CCCC) IPTV_LOG_STR_DESC3(AAAA,BBBB,CCCC)
+#define IPTV_LOG_STR_DESC4_LOW_LEVEL(AAAA,BBBB,CCCC,DDDD) IPTV_LOG_STR_DESC4(AAAA,BBBB,CCCC,DDDD)
+
+#else
+
+#define IPTVLOGTEXT_LOW_LEVEL(AAAA)
+#define IPTVLOGSTRING_LOW_LEVEL(AAAA)
+#define IPTVLOGSTRING2_LOW_LEVEL(AAAA,BBBB)
+#define IPTVLOGSTRING3_LOW_LEVEL(AAAA,BBBB,CCCC)
+#define IPTVLOGSTRING4_LOW_LEVEL(AAAA,BBBB,CCCC,DDDD)
+
+#define IPTV_LOG_STR_DESC_LOW_LEVEL(AAAA)
+#define IPTV_LOG_STR_DESC2_LOW_LEVEL(AAAA,BBBB)
+#define IPTV_LOG_STR_DESC3_LOW_LEVEL(AAAA,BBBB,CCCC)
+#define IPTV_LOG_STR_DESC4_LOW_LEVEL(AAAA,BBBB,CCCC,DDDD)
+
+#endif
+
+
+/*
+-----------------------------------------------------------------------------
+
+ LOG SELECTION
+
+-----------------------------------------------------------------------------
+*/
+
+
+// 0 = No logging,
+// 1 = Flogger,
+// 2 = RDebug
+
+
+#ifndef _DEBUG
+
+// UREL BUILD:
+#define IPTV_LOGGING_METHOD 0 // No logging in UREL builds
+
+#else // urel
+
+
+#ifdef __WINSCW__
+
+// WINSCW BUILD:
+#define IPTV_LOGGING_METHOD 2 // RDebug is default with emulator
+
+#else
+
+// ARMV5 BUILD:
+#define IPTV_LOGGING_METHOD 1 // Flogger is default with target device
+
+#endif
+
+
+#endif // _DEBUG
+
+
+/*
+-----------------------------------------------------------------------------
+
+ LOG SETTINGS
+
+-----------------------------------------------------------------------------
+*/
+
+#if IPTV_LOGGING_METHOD == 1 // Flogger
+
+#include <flogger.h>
+_LIT(KIPTVLogFolder,"IPTV");
+_LIT(KIPTVLogFile,"IPTVLOG.TXT");
+
+#elif IPTV_LOGGING_METHOD == 2 // RDebug
+
+#include <e32svr.h>
+
+#endif
+
+
+
+
+
+#if IPTV_LOGGING_METHOD == 1 // Flogger
+
+
+#define IPTV_LOGTEXT(AAA) RFileLogger::Write(KIPTVLogFolder(),KIPTVLogFile(),EFileLoggingModeAppend, AAA)
+
+#define IPTV_LOG_STR_DESC(AAA) RFileLogger::Write(KIPTVLogFolder(),KIPTVLogFile(),EFileLoggingModeAppend, AAA)
+#define IPTV_LOG_STR_DESC2(AAA,BBB) /*lint -e{717}*/ do { RFileLogger::WriteFormat(KIPTVLogFolder(),KIPTVLogFile(),EFileLoggingModeAppend,TRefByValue<const TDesC>(AAA()),BBB); } while ( EFalse )
+#define IPTV_LOG_STR_DESC3(AAA,BBB,CCC) /*lint -e{717}*/ do { RFileLogger::WriteFormat(KIPTVLogFolder(),KIPTVLogFile(),EFileLoggingModeAppend,TRefByValue<const TDesC>(AAA()),BBB,CCC); } while ( EFalse )
+#define IPTV_LOG_STR_DESC4(AAA,BBB,CCC,DDD) /*lint -e{717}*/ do { RFileLogger::WriteFormat(KIPTVLogFolder(),KIPTVLogFile(),EFileLoggingModeAppend,TRefByValue<const TDesC>(AAA()),BBB,CCC,DDD); } while ( EFalse )
+
+#define IPTV_LOGSTRING(AAA) /*lint -e{717}*/ do { _LIT(tempIPTVLogDes,AAA); RFileLogger::Write(KIPTVLogFolder(),KIPTVLogFile(),EFileLoggingModeAppend,tempIPTVLogDes()); } while ( EFalse )
+#define IPTV_LOGSTRING2(AAA,BBB) /*lint -e{717}*/ do { _LIT(tempIPTVLogDes,AAA); RFileLogger::WriteFormat(KIPTVLogFolder(),KIPTVLogFile(),EFileLoggingModeAppend,TRefByValue<const TDesC>(tempIPTVLogDes()),BBB); } while ( EFalse )
+#define IPTV_LOGSTRING3(AAA,BBB,CCC) /*lint -e{717}*/ do { _LIT(tempIPTVLogDes,AAA); RFileLogger::WriteFormat(KIPTVLogFolder(),KIPTVLogFile(),EFileLoggingModeAppend,TRefByValue<const TDesC>(tempIPTVLogDes()),BBB,CCC); } while ( EFalse )
+#define IPTV_LOGSTRING4(AAA,BBB,CCC,DDD) /*lint -e{717}*/ do { _LIT(tempIPTVLogDes,AAA); RFileLogger::WriteFormat(KIPTVLogFolder(),KIPTVLogFile(),EFileLoggingModeAppend,TRefByValue<const TDesC>(tempIPTVLogDes()),BBB,CCC,DDD); } while ( EFalse )
+
+// Time stamp
+_LIT(KIptvLogTimeFormatString, "IPTV TIMESTAMP: %H:%T:%S:%*C3");
+#define IPTV_LOGSTRING_TIMESTAMP { \
+ TTime logTime; \
+ logTime.HomeTime(); \
+ TBuf<256> logBuffer; \
+ logTime.FormatL(logBuffer, KIptvLogTimeFormatString); \
+ RFileLogger::Write(KIPTVLogFolder(), KIPTVLogFile(), EFileLoggingModeAppend, logBuffer); \
+ }
+
+// Memory stamp
+_LIT(KIptvLogMemoryStampString, "IPTV MEMORYSTAMP: %d KB");
+#define IPTV_LOGSTRING_MEMORYSTAMP { \
+ User::CompressAllHeaps(); \
+ TMemoryInfoV1Buf logMemory; \
+ UserHal::MemoryInfo(logMemory); \
+ TInt logMemoryInt = (TInt)(logMemory().iFreeRamInBytes); \
+ TBuf<256> logMemoryStr; \
+ logMemoryStr.Format(KIptvLogMemoryStampString, (logMemoryInt / 1024) ); \
+ RFileLogger::Write(KIPTVLogFolder(), KIPTVLogFile(), EFileLoggingModeAppend, logMemoryStr); \
+ }
+
+
+#elif IPTV_LOGGING_METHOD == 2 // RDebug
+
+
+#define IPTV_LOGTEXT(AAA) RDebug::Print(AAA)
+
+#define IPTV_LOG_STR_DESC(AAA) RDebug::Print(AAA)
+#define IPTV_LOG_STR_DESC2(AAA,BBB) /*lint -e{717}*/ do { RDebug::Print(AAA, BBB); } while ( EFalse )
+#define IPTV_LOG_STR_DESC3(AAA,BBB,CCC) /*lint -e{717}*/ do { RDebug::Print(AAA, BBB, CCC); } while ( EFalse )
+#define IPTV_LOG_STR_DESC4(AAA,BBB,CCC,DDD) /*lint -e{717}*/ do { RDebug::Print(AAA, BBB, CCC, DDD); } while ( EFalse )
+
+#define IPTV_LOGSTRING(AAA) /*lint -e{717}*/ do { _LIT(tempIPTVLogDes,AAA); RDebug::Print(tempIPTVLogDes); } while ( EFalse )
+#define IPTV_LOGSTRING2(AAA,BBB) /*lint -e{717}*/ do { _LIT(tempIPTVLogDes,AAA); RDebug::Print(tempIPTVLogDes, BBB); } while ( EFalse )
+#define IPTV_LOGSTRING3(AAA,BBB,CCC) /*lint -e{717}*/ do { _LIT(tempIPTVLogDes,AAA); RDebug::Print(tempIPTVLogDes, BBB, CCC); } while ( EFalse )
+#define IPTV_LOGSTRING4(AAA,BBB,CCC,DDD) /*lint -e{717}*/ do { _LIT(tempIPTVLogDes,AAA); RDebug::Print(tempIPTVLogDes, BBB, CCC, DDD); } while ( EFalse )
+
+// Time stamp
+_LIT(KIptvLogTimeFormatString, "IPTV TIMESTAMP: %H:%T:%S:%*C3");
+#define IPTV_LOGSTRING_TIMESTAMP { \
+ TTime logTime; \
+ logTime.HomeTime(); \
+ TBuf<256> logBuffer; \
+ logTime.FormatL(logBuffer, KIptvLogTimeFormatString); \
+ RDebug::Print(logBuffer); \
+ }
+
+// Memory stamp
+_LIT(KIptvLogMemoryStampString, "IPTV MEMORYSTAMP: %d KB");
+#define IPTV_LOGSTRING_MEMORYSTAMP { \
+ User::CompressAllHeaps(); \
+ TMemoryInfoV1Buf logMemory; \
+ UserHal::MemoryInfo(logMemory); \
+ TInt logMemoryInt = (TInt)(logMemory().iFreeRamInBytes); \
+ TBuf<256> logMemoryStr; \
+ logMemoryStr.Format(KIptvLogMemoryStampString, (logMemoryInt / 1024) ); \
+ RDebug::Print(logMemoryStr); \
+ }
+
+
+#else // TF_LOGGING_METHOD == 0 or invalid
+
+
+#define IPTV_LOGSTRING(AAA)
+#define IPTV_LOGSTRING2(AAA,BBB)
+#define IPTV_LOGSTRING3(AAA,BBB,CCC)
+#define IPTV_LOGSTRING4(AAA,BBB,CCC,DDD)
+
+#define IPTV_LOGTEXT(AAA)
+
+#define IPTV_LOG_STR_DESC(AAA)
+#define IPTV_LOG_STR_DESC2(AAA,BBB)
+#define IPTV_LOG_STR_DESC3(AAA,BBB,CCC)
+#define IPTV_LOG_STR_DESC4(AAA,BBB,CCC,DDD)
+
+#define IPTV_LOGSTRING_TIMESTAMP
+#define IPTV_LOGSTRING_MEMORYSTAMP
+
+
+#endif // TF_LOGGING_METHOD
+
+
+#endif // IPTVDEBUG_H
--- a/inc/mpxvideoplayercustomviewmsgconsts.h Fri Feb 19 22:52:52 2010 +0200
+++ b/inc/mpxvideoplayercustomviewmsgconsts.h Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*/
-// Version : %version: 2 %
+// Version : %version: da1mmcf#3 %
#ifndef __MPXVIDEOPLAYERCUSTOMVIEWMSGCONSTS_H__
#define __MPXVIDEOPLAYERCUSTOMVIEWMSGCONSTS_H__
@@ -29,4 +29,7 @@
const TInt KVcxCustomViewMessagePtr = 0x200211F9;
+const TInt KMpxVideoPlaybackPdlReloading = 0x20024339;
+
+
#endif // __MPXVIDEOPLAYERCUSTOMVIEWMSGCONSTS_H__
--- a/layers.sysdef.xml Fri Feb 19 22:52:52 2010 +0200
+++ b/layers.sysdef.xml Fri Mar 12 15:43:00 2010 +0200
@@ -18,7 +18,7 @@
<module name="videoplayer_startup_api_tsrc">
<unit unitID="vado.videoplayer_startup_api_test" name="videoplayer_startup_api_tsrc" bldFile="&layer_real_source_path;/videoplayer_plat/videoplayer_startup_api/tsrc/group" mrp=""/>
</module>
- </layer>
+ </layer>
<layer name="unit_test_layer">
@@ -29,17 +29,6 @@
<unit unitID="vado.mpxvideoplayer_test" name="mpxvideoplayer_tsrc" bldFile="&layer_real_source_path;/videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/group" mrp=""/>
</module>
- <module name="videofeeds_tsrc">
- <unit unitID="vado.feeds_tests_dependency1" name="feeds_tests_dependency1" bldFile="&layer_real_source_path;/tsrc/VCXTestCommon/group" mrp=""/>
- <unit unitID="vado.feeds_tests_dependency2" name="feeds_tests_dependency2" bldFile="&layer_real_source_path;/tsrc/VCXTestUtilModule/group" mrp=""/>
- <unit unitID="vado.feeds_tests_dependency3" name="feeds_tests_dependency3" bldFile="&layer_real_source_path;/videofeeds/server/tsrc/IptvTestUtility/group" mrp=""/>
- <unit unitID="vado.feeds_tests_dependency4" name="feeds_tests_dependency4" bldFile="&layer_real_source_path;/tsrc/VCXTestMyVideosCollectionClient/group" mrp=""/>
-
- <unit unitID="vado.serviceprovisioning_test" name="serviceprovisioning_tsrc" bldFile="&layer_real_source_path;/videofeeds/server/tsrc/VCXProvisioningTest/group" mrp=""/>
- <unit unitID="vado.servicemanagement_test" name="servicemanagement_tsrc" bldFile="&layer_real_source_path;/videofeeds/server/tsrc/VCXServiceManagementApiTest/group" mrp=""/>
- <unit unitID="vado.vodcontent_test" name="vodcontent_tsrc" bldFile="&layer_real_source_path;/videofeeds/server/tsrc/VCXVodContentApiTest/group" mrp=""/>
- </module>
-
<module name="mpxmyvideoscollection_tsrc">
<unit unitID="vado.mvcollection_tests_dependency1" name="mvcollection_tests_dependency1" bldFile="&layer_real_source_path;/tsrc/VCXTestCommon/group" mrp=""/>
<unit unitID="vado.mvcollection_tests_dependency2" name="mvcollection_tests_dependency2" bldFile="&layer_real_source_path;/tsrc/VCXTestUtilModule/group" mrp=""/>
--- a/mediasettings/group/bld.inf Fri Feb 19 22:52:52 2010 +0200
+++ b/mediasettings/group/bld.inf Fri Mar 12 15:43:00 2010 +0200
@@ -15,14 +15,12 @@
*/
-// Version : %version: 9 %
+// Version : %version: 10 %
#include <platform_paths.hrh>
#include "../videoplayersettingsengine/group/bld.inf"
#include "../mediasettingsengine/group/bld.inf"
-#include "../feedsettingsplugin/group/bld.inf"
-#include "../feedsettingsviews/group/bld.inf"
#include "../mpsettbase/group/bld.inf"
#include "../mediasettingsapp/group/bld.inf"
#include "../gsvideoplugin/group/bld.inf"
--- a/mediasettings/gsvideoplugin/group/gsvideoplugin.mmp Fri Feb 19 22:52:52 2010 +0200
+++ b/mediasettings/gsvideoplugin/group/gsvideoplugin.mmp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*/
-// Version : %version: 4 %
+// Version : %version: 5 %
@@ -49,12 +49,7 @@
SOURCE MPSettingsVideoSettingItemList.cpp
SOURCE MPSettingsVideoContainer.cpp
SOURCE MPSettingsStreamingContainer.cpp
-SOURCE MPSettingsProxySettingItemList.cpp
-SOURCE MPSettingsProxyContainer.cpp
-SOURCE MPSettingsProxyView.cpp
-SOURCE MPSettingsNetworkSettingItemList.cpp
-SOURCE MPSettingsNetworkContainer.cpp
-SOURCE MPSettingsNetworkView.cpp
+SOURCE MPSettingsStreamingSettingItemList.cpp
SOURCE MPSettingsSliderSettingItem.cpp
SOURCE MPSettingsUDPPortSettingItem.cpp
SOURCE MPSettingsAdvancedBwContainer.cpp
@@ -78,7 +73,6 @@
USERINCLUDE ../../videoplayersettingsengine/inc
USERINCLUDE ../../mediasettingsengine/inc
USERINCLUDE ../../mediasettingsengine/data
-USERINCLUDE ../../feedsettingsviews/inc
//System include paths
@@ -117,8 +111,6 @@
LIBRARY commsdat.lib
LIBRARY gsframework.lib // For base classes
LIBRARY centralrepository.lib
-LIBRARY pbkeng.lib
-LIBRARY pbkview.lib
LIBRARY aknskinsrv.lib // for enhanced skinning
LIBRARY aknskins.lib // for enhanced skinning
LIBRARY egul.lib
@@ -145,13 +137,10 @@
LIBRARY eikdlg.lib // eikon dialogs
LIBRARY flogger.lib // For GSLogger
-LIBRARY sisregistryclient.lib
-
-LIBRARY vcxnssettingsview.lib
SOURCEPATH ../data
DOCUMENT 10275068.rss
-SOURCEPATH ../../mediasettingsapp/data
+SOURCEPATH ../../mediasettingsapp/data
DOCUMENT MediaSettings.rss
--- a/mediasettings/gsvideoplugin/inc/GSMediaPlayerStreamingView.h Fri Feb 19 22:52:52 2010 +0200
+++ b/mediasettings/gsvideoplugin/inc/GSMediaPlayerStreamingView.h Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*/
-// Version : %version: 3 %
+// Version : %version: 4 %
@@ -39,7 +39,6 @@
* @since 3.1
*/
class CGSMediaPlayerStreamingView : public CAknView,
- public MEikListBoxObserver,
public MGSTabbedView
{
public: // Constructors and destructor
@@ -131,15 +130,7 @@
*/
void CreateContainerL();
- protected: // from MEikListBoxObserver
-
- /**
- * Handles listbox events.
- * @param aListBox Listbox where the event occurred.
- * @param aEventType Event type.
- */
- void HandleListBoxEventL(CEikListBox* aListBox,
- TListBoxEvent aEventType);
+ protected:
/**
* Called at the end of DoActivateL.
@@ -151,20 +142,14 @@
/**
* C++ default constructor.
*/
- CGSMediaPlayerStreamingView(CMPSettingsModelForROP* aModel, CArrayPtrFlat<MGSTabbedView>* aTabViewArray);
+ CGSMediaPlayerStreamingView( CMPSettingsModelForROP* aModel,
+ CArrayPtrFlat<MGSTabbedView>* aTabViewArray);
/**
* Symbian OS 2nd phase constructor.
* @since 2.1
*/
void ConstructL( CArrayPtrFlat<MGSTabbedView>* aTabViewArray );
-
- private: // New
-
- /**
- * Handles listbox selection.
- */
- virtual void HandleListBoxSelectionL();
private: // Data
--- a/mediasettings/gsvideoplugin/inc/GSVideoPlugin.h Fri Feb 19 22:52:52 2010 +0200
+++ b/mediasettings/gsvideoplugin/inc/GSVideoPlugin.h Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*/
-// Version : %version: 6 %
+// Version : %version: 7 %
@@ -113,7 +113,13 @@
*/
void SetCurrentItem( TInt aIndex );
-
+ /**
+ * Checks if video contrast item should be visible.
+ *
+ * @return ETrue if video contrast is supported
+ */
+ TBool VideoContrastIsSupportedL();
+
public: // From CGSPluginInterface - See CGSPluginInterface header file.
/**
@@ -230,15 +236,19 @@
CArrayFix<TUid>* iViewIds;
CMPSettingsMainView* iMainView;
- CGSTabHelper* iTabHelper;
CMPSettingsModelForROP* iModel;
CMPSettingsBaseContainer* iContainer;
RImplInfoPtrArray iImplInfoArray;
TBool iConstructAsGsPlugin;
CArrayPtrFlat<MGSTabbedView>* iViewArray;
TVwsViewId iPrevViewId; // Previous view.
+
+ /**
+ * Video view availability status.
+ */
+ TBool iVideoViewAvailable;
-};
+ };
#endif //CGSVIDEOPLUGIN_H
--- a/mediasettings/gsvideoplugin/src/GSMediaPlayerStreamingView.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/mediasettings/gsvideoplugin/src/GSMediaPlayerStreamingView.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*/
-// Version : %version: 8 %
+// Version : %version: 10 %
@@ -41,11 +41,6 @@
class CMPSettingsModelForROP;
-// CONSTANTS
-
-const TInt KMPSettProxyViewListItemId = 0;
-const TInt KMPSettNetworkViewListItemId = 1;
-
// ================= MEMBER FUNCTIONS =======================
// -----------------------------------------------------------------------------
@@ -54,7 +49,9 @@
// might leave.
// -----------------------------------------------------------------------------
//
-CGSMediaPlayerStreamingView::CGSMediaPlayerStreamingView(CMPSettingsModelForROP* aModel, CArrayPtrFlat<MGSTabbedView>* /* aTabViewArray */ )
+CGSMediaPlayerStreamingView::CGSMediaPlayerStreamingView(
+ CMPSettingsModelForROP* aModel,
+ CArrayPtrFlat<MGSTabbedView>* /* aTabViewArray */ )
: iModel( aModel)
{
MPX_FUNC("#MS# CGSMediaPlayerStreamingView::CGSMediaPlayerStreamingView()");
@@ -67,10 +64,13 @@
//
void CGSMediaPlayerStreamingView::ConstructL(CArrayPtrFlat<MGSTabbedView>* aTabViewArray)
{
- MPX_FUNC("#MS# CGSMediaPlayerStreamingView::ConstructL()");
- iTabHelper = CGSTabHelper::NewL();
- aTabViewArray->AppendL(this);
- BaseConstructL(R_GS_MPSETT_STREAMING_VIEW);
+ MPX_FUNC("#MS# CGSMediaPlayerStreamingView::ConstructL()");
+ if ( aTabViewArray )
+ {
+ iTabHelper = CGSTabHelper::NewL();
+ aTabViewArray->AppendL(this);
+ }
+ BaseConstructL( R_GS_MPSETT_STREAMING_VIEW );
}
// -----------------------------------------------------------------------------
@@ -78,15 +78,17 @@
// Two-phased constructor.
// -----------------------------------------------------------------------------
//
-CGSMediaPlayerStreamingView* CGSMediaPlayerStreamingView::NewLC(CMPSettingsModelForROP* aModel, CArrayPtrFlat<MGSTabbedView>* aTabViewArray)
+CGSMediaPlayerStreamingView* CGSMediaPlayerStreamingView::NewLC(
+ CMPSettingsModelForROP* aModel,
+ CArrayPtrFlat<MGSTabbedView>* aTabViewArray )
{
- MPX_FUNC("#MS# CGSMediaPlayerStreamingView::NewLC()");
- CGSMediaPlayerStreamingView* self = new(ELeave) CGSMediaPlayerStreamingView(aModel,aTabViewArray);
-
- CleanupStack::PushL(self);
- self->ConstructL( aTabViewArray );
+ MPX_FUNC("#MS# CGSMediaPlayerStreamingView::NewLC()");
+ CGSMediaPlayerStreamingView* self = new(ELeave) CGSMediaPlayerStreamingView(aModel,aTabViewArray);
- return self;
+ CleanupStack::PushL(self);
+ self->ConstructL( aTabViewArray );
+
+ return self;
}
// ---------------------------------------------------------
@@ -96,14 +98,14 @@
//
CGSMediaPlayerStreamingView::~CGSMediaPlayerStreamingView()
{
- MPX_FUNC("#MS# CGSMediaPlayerStreamingView::~CGSMediaPlayerStreamingView()");
- if ( iContainer )
+ MPX_FUNC("#MS# CGSMediaPlayerStreamingView::~CGSMediaPlayerStreamingView()");
+ if ( iContainer )
{
AppUi()->RemoveFromStack( iContainer );
delete iContainer;
}
- delete iTabHelper;
- }
+ delete iTabHelper;
+}
// ---------------------------------------------------------
// TUid CGSMediaPlayerStreamingView::Id
@@ -111,8 +113,8 @@
//
TUid CGSMediaPlayerStreamingView::Id() const
{
- MPX_FUNC("#MS# CGSMediaPlayerStreamingView::Id()");
- return KMPSettStreamingViewId;
+ MPX_FUNC("#MS# CGSMediaPlayerStreamingView::Id()");
+ return KMPSettStreamingViewId;
}
// ---------------------------------------------------------
@@ -121,30 +123,43 @@
//
void CGSMediaPlayerStreamingView::HandleCommandL(TInt aCommand)
{
- MPX_DEBUG2(_L("#MS# CGSMediaPlayerStreamingView::HandleCommandL(%d)"),aCommand);
- CGSVideoPlugin* parent =
- static_cast<CGSVideoPlugin*> (
- AppUi()->View( KGSVideoPluginUid ) );
+ MPX_DEBUG2(_L("#MS# CGSMediaPlayerStreamingView::HandleCommandL(%d)"),aCommand);
+ CGSVideoPlugin* parent =
+ static_cast<CGSVideoPlugin*> (
+ AppUi()->View( KGSVideoPluginUid ) );
- switch (aCommand)
+ switch (aCommand)
{
- case EMPSettCmdOpen:
- HandleListBoxSelectionL();
- break;
- case EAknSoftkeyBack:
- parent->SetCurrentItem(EGSMediaSettingsStreamingIndex);
- parent->ResetSelectedItemIndex();
- AppUi()->ActivateLocalViewL(KGSVideoPluginUid);
- break;
- case EMPSettCmdHelp:
- if( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
- {
- HlpLauncher::LaunchHelpApplicationL(iEikonEnv->WsSession(), AppUi()->AppHelpContextL() );
- }
- break;
- default:
- AppUi()->HandleCommandL(aCommand);
- break;
+ case EMPSettCmdOpen:
+ break;
+ case EAknSoftkeyBack:
+ {
+ if ( iTabHelper )
+ {
+ parent->SetCurrentItem(EGSMediaSettingsStreamingIndex);
+ parent->ResetSelectedItemIndex();
+ AppUi()->ActivateLocalViewL(KGSVideoPluginUid);
+ }
+ else
+ {
+ // If there's no TabHelper, we have just streaming view and
+ // should exit MediaSettings.
+ AppUi()->ActivateLocalViewL( KGSAppsPluginUid );
+ }
+ }
+ break;
+ case EMPSettCmdAdvancedSett:
+ AppUi()->ActivateLocalViewL( KMPSettAdvancedBwViewId );
+ break;
+ case EMPSettCmdHelp:
+ if( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
+ {
+ HlpLauncher::LaunchHelpApplicationL(iEikonEnv->WsSession(), AppUi()->AppHelpContextL() );
+ }
+ break;
+ default:
+ AppUi()->HandleCommandL(aCommand);
+ break;
}
}
@@ -153,35 +168,35 @@
// Activate this view
// ---------------------------------------------------------------------------
//
-void CGSMediaPlayerStreamingView::DoActivateL( const TVwsViewId& /* aPrevViewId */,
- TUid /*aCustomMessageId*/,
- const TDesC8& /*aCustomMessage*/ )
+void CGSMediaPlayerStreamingView::DoActivateL(
+ const TVwsViewId& /* aPrevViewId */,
+ TUid /*aCustomMessageId*/,
+ const TDesC8& /*aCustomMessage*/ )
{
- MPX_FUNC("#MS# CGSMediaPlayerStreamingView::DoActivateL()");
- if( iContainer )
+ MPX_FUNC("#MS# CGSMediaPlayerStreamingView::DoActivateL()");
+ if( iContainer )
{
AppUi()->RemoveFromViewStack( *this, iContainer );
delete iContainer;
iContainer = NULL;
}
- CreateContainerL();
- AppUi()->AddToViewStackL( *this, iContainer );
-
- CGSVideoPlugin* parent =
- static_cast<CGSVideoPlugin*> (
- AppUi()->View( KGSVideoPluginUid ) );
-
- if( parent )
+ CreateContainerL();
+ AppUi()->AddToViewStackL( *this, iContainer );
+
+ CGSVideoPlugin* parent =
+ static_cast<CGSVideoPlugin*> (
+ AppUi()->View( KGSVideoPluginUid ) );
+
+ if( parent && iTabHelper )
{
iTabHelper->CreateTabGroupL( Id(),
- static_cast<CArrayPtrFlat<MGSTabbedView> *> (parent->TabbedViews() ) );
+ static_cast<CArrayPtrFlat<MGSTabbedView> *> (parent->TabbedViews() ) );
}
- iContainer->SetRect( ClientRect() );
- iContainer->ActivateL();
-
- DynInitContainerL();
-
+ iContainer->SetRect( ClientRect() );
+ iContainer->ActivateL();
+
+ DynInitContainerL();
}
// ---------------------------------------------------------------------------
@@ -191,21 +206,23 @@
//
void CGSMediaPlayerStreamingView::DoDeactivate()
{
-
- MPX_FUNC("#MS# CGSMediaPlayerStreamingView::DoDeactivate()");
- if ( iContainer )
+ MPX_FUNC("#MS# CGSMediaPlayerStreamingView::DoDeactivate()");
+ if ( iContainer )
{
- CEikTextListBox* listbox = iContainer->ListBox();
- if (listbox)
+ CEikTextListBox* listbox = iContainer->ListBox();
+ if (listbox)
{
iCurrentItem = listbox->CurrentItemIndex();
iTopItemIndex = listbox->TopItemIndex();
}
-
- AppUi()->RemoveFromStack( iContainer );
- delete iContainer;
- iContainer = NULL;
- iTabHelper->RemoveTabGroup();
+
+ AppUi()->RemoveFromStack( iContainer );
+ delete iContainer;
+ iContainer = NULL;
+ if ( iTabHelper )
+ {
+ iTabHelper->RemoveTabGroup();
+ }
}
}
@@ -216,8 +233,8 @@
//
CMPSettingsBaseContainer* CGSMediaPlayerStreamingView::Container()
{
- MPX_FUNC("#MS# CGSMediaPlayerStreamingView::Container()");
- return static_cast <CMPSettingsStreamingContainer*> ( iContainer );
+ MPX_FUNC("#MS# CGSMediaPlayerStreamingView::Container()");
+ return static_cast <CMPSettingsStreamingContainer*> ( iContainer );
}
// ---------------------------------------------------------------------------
@@ -225,14 +242,15 @@
// Before showing a options menu
// ---------------------------------------------------------------------------
//
-void CGSMediaPlayerStreamingView::DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane)
+void CGSMediaPlayerStreamingView::DynInitMenuPaneL( TInt aResourceId,
+ CEikMenuPane* aMenuPane)
{
- MPX_DEBUG2(_L("#MS# CGSMediaPlayerStreamingView::DynInitMenuPaneL(0x%X)"),aResourceId);
- if (aResourceId == R_MPSETT_APP_MENU)
+ MPX_DEBUG2(_L("#MS# CGSMediaPlayerStreamingView::DynInitMenuPaneL(0x%X)"),aResourceId);
+ if ( aResourceId == R_MPSETT_APP_MENU )
{
- // Help should be displayed only if the feature is supported according
- // to Feature Manager
- if (!FeatureManager::FeatureSupported(KFeatureIdHelp))
+ // Help should be displayed only if the feature is supported according
+ // to Feature Manager
+ if (!FeatureManager::FeatureSupported(KFeatureIdHelp))
{
aMenuPane->SetItemDimmed(EMPSettCmdHelp, ETrue);
}
@@ -245,8 +263,8 @@
// ---------------------------------------------------------------------------
void CGSMediaPlayerStreamingView::NewContainerL()
{
- MPX_FUNC("#MS# CGSMediaPlayerStreamingView::NewContainerL()");
- iContainer = new (ELeave) CMPSettingsStreamingContainer(iModel);
+ MPX_FUNC("#MS# CGSMediaPlayerStreamingView::NewContainerL()");
+ iContainer = new (ELeave) CMPSettingsStreamingContainer(iModel);
}
// -----------------------------------------------------------------------------
@@ -256,31 +274,12 @@
//
void CGSMediaPlayerStreamingView::HandleClientRectChange()
{
- MPX_FUNC("#MS# CGSMediaPlayerStreamingView::HandleClientRectChange()");
- if ( iContainer )
+ MPX_FUNC("#MS# CGSMediaPlayerStreamingView::HandleClientRectChange()");
+ if ( iContainer )
{
iContainer->SetRect( ClientRect() );
}
}
-
-// ---------------------------------------------------------------------------
-// CGSMediaPlayerStreamingView::HandleListBoxEventL
-// ---------------------------------------------------------------------------
-
-void CGSMediaPlayerStreamingView::HandleListBoxEventL(CEikListBox* /*aListBox*/, TListBoxEvent aEventType)
- {
- MPX_FUNC("#MS# CGSMediaPlayerStreamingView::HandleListBoxEventL()");
- switch (aEventType)
- {
- case EEventEnterKeyPressed:
- case EEventItemSingleClicked:
- case EEventItemDoubleClicked:
- HandleListBoxSelectionL();
- break;
- default:
- break;
- }
- }
// ---------------------------------------------------------------------------
// CGSMediaPlayerStreamingView::DynInitContainerL
@@ -288,48 +287,16 @@
//
void CGSMediaPlayerStreamingView::DynInitContainerL()
{
- MPX_FUNC("#MS# CGSMediaPlayerStreamingView::DynInitContainerL()");
- CEikTextListBox* listbox = iContainer->ListBox();
-
- listbox->SetListBoxObserver(this);
- listbox->SetTopItemIndex(iTopItemIndex);
+ MPX_FUNC("#MS# CGSMediaPlayerStreamingView::DynInitContainerL()");
+ CEikTextListBox* listbox = iContainer->ListBox();
- if (iCurrentItem >= 0 && iCurrentItem < listbox->Model()->NumberOfItems()) // magic
- {
- listbox->SetCurrentItemIndexAndDraw(iCurrentItem);
- }
- }
+ listbox->SetTopItemIndex(iTopItemIndex);
-// ---------------------------------------------------------------------------
-// CGSMediaPlayerStreamingView::HandleListBoxSelectionL()
-// Handles listbox selection.
-// ---------------------------------------------------------------------------
-//
-void CGSMediaPlayerStreamingView::HandleListBoxSelectionL()
- {
- iCurrentItem = iContainer->ListBox()->CurrentItemIndex();
- iTopItemIndex = iContainer->ListBox()->TopItemIndex();
- MPX_DEBUG3(_L("#MS# CGSMediaPlayerStreamingView::HandleListBoxSelectionL() iCurrentItem(%d) iTopItemIndex(%d)"),iCurrentItem,iTopItemIndex);
-
- switch (iCurrentItem)
- {
- case KMPSettProxyViewListItemId:
- if (!FeatureManager::FeatureSupported(KFeatureIdProtocolCdma))
- {
- // If KFeatureIdProtocolCdma is not supported then show the
- // Proxy view. Otherwise, fall through to show Network view because
- // only Network setting is available.
- AppUi()->ActivateLocalViewL(KMPSettProxyViewId);
- break;
- }
- case KMPSettNetworkViewListItemId:
- AppUi()->ActivateLocalViewL(KMPSettNetworkViewId);
- break;
- default:
- break;
- }
+ if (iCurrentItem >= 0 && iCurrentItem < listbox->Model()->NumberOfItems()) // magic
+ {
+ listbox->SetCurrentItemIndexAndDraw(iCurrentItem);
+ }
}
-
// ---------------------------------------------------------------------------
// CGSMediaPlayerStreamingView::CreateContainerL()
@@ -338,22 +305,21 @@
//
void CGSMediaPlayerStreamingView::CreateContainerL()
{
-
- MPX_FUNC("#MS# CGSMediaPlayerStreamingView::CreateContainerL()");
- NewContainerL();
- __ASSERT_DEBUG(
- iContainer, User::Panic( KGSDoActivateError, EGSViewPanicNullPtr ) );
- iContainer->SetMopParent( this );
+ MPX_FUNC("#MS# CGSMediaPlayerStreamingView::CreateContainerL()");
+ NewContainerL();
+ __ASSERT_DEBUG(
+ iContainer, User::Panic( KGSDoActivateError, EGSViewPanicNullPtr ) );
+ iContainer->SetMopParent( this );
- //TRAPD( error, iContainer->ConstructL() );
- TRAPD( error, iContainer->ConstructL( ClientRect() ) );
+ //TRAPD( error, iContainer->ConstructL() );
+ TRAPD( error, iContainer->ConstructL( ClientRect() ) );
- if ( error )
- {
- delete iContainer;
- iContainer = NULL;
- User::Leave( error );
- }
+ if ( error )
+ {
+ delete iContainer;
+ iContainer = NULL;
+ User::Leave( error );
+ }
}
// ---------------------------------------------------------------------------
@@ -363,29 +329,27 @@
//
CGulIcon* CGSMediaPlayerStreamingView::CreateTabIconL()
{
-
- MPX_FUNC("#MS# CGSMediaPlayerStreamingView::CreateTabIconL()");
- CGulIcon* icon;
- TFileName fileName;
+ MPX_FUNC("#MS# CGSMediaPlayerStreamingView::CreateTabIconL()");
+ CGulIcon* icon;
+ TFileName fileName;
- CGSVideoPlugin* parent =
- static_cast<CGSVideoPlugin*> (
- AppUi()->View( KGSVideoPluginUid ) );
-
- if( parent )
+ CGSVideoPlugin* parent =
+ static_cast<CGSVideoPlugin*> (
+ AppUi()->View( KGSVideoPluginUid ) );
+
+ if( parent )
{
- parent->LocateFilePathL( fileName );
- }
-
- icon = AknsUtils::CreateGulIconL(
- AknsUtils::SkinInstance(),
- KAknsIIDDefault,
- fileName,
- EMbmMediasettingsQgn_prop_set_mp_stream_tab2,
- EMbmMediasettingsQgn_prop_set_mp_stream_tab2_mask );
+ parent->LocateFilePathL( fileName );
+ }
- return icon;
+ icon = AknsUtils::CreateGulIconL(
+ AknsUtils::SkinInstance(),
+ KAknsIIDDefault,
+ fileName,
+ EMbmMediasettingsQgn_prop_set_mp_stream_tab2,
+ EMbmMediasettingsQgn_prop_set_mp_stream_tab2_mask );
+ return icon;
}
// ---------------------------------------------------------------------------
@@ -394,8 +358,8 @@
//
void CGSMediaPlayerStreamingView::SetCurrentItem(TInt aIndex)
{
- MPX_DEBUG2(_L("#MS# CGSMediaPlayerStreamingView::SetCurrentItem(%d)"),aIndex);
- iCurrentItem = aIndex;
+ MPX_DEBUG2(_L("#MS# CGSMediaPlayerStreamingView::SetCurrentItem(%d)"),aIndex);
+ iCurrentItem = aIndex;
}
// End of File
--- a/mediasettings/gsvideoplugin/src/GSVideoPlugin.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/mediasettings/gsvideoplugin/src/GSVideoPlugin.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*/
-// Version : %version: 8 %
+// Version : %version: 10 %
@@ -24,16 +24,14 @@
#include "GSVideoPlugin.h"
#include "MPSettingsConstants.h"
#include "MPSettingsMainView.h"
-#include "MPSettingsProxyView.h"
-#include "MPSettingsNetworkView.h"
#include "MPSettingsPluginView.h"
#include "MPSettingsAdvancedBwView.h"
#include "MPSettingsMainContainer.h"
+#include "MPSettingsStreamingContainer.h"
#include "mediasettings.hrh"
#include "gstabhelper.h"
#include "GSMediaPlayerVideoView.h"
#include "GSMediaPlayerStreamingView.h"
-#include "feedsettingsview.h"
#include "mpxlog.h"
#include <coeaui.h>
@@ -41,18 +39,20 @@
#include <aknview.h>
#include <aknViewAppUi.h>
#include <featmgr.h>
-#include <bautils.h>
#include <StringLoader.h> //for StringLoader
#include <gsprivatepluginproviderids.h>
#include <gsmainview.h>
#include <mediasettings.mbg>
-#include <gsfwviewuids.h> //for KGSMainViewUid
#include <MediaSettings.rsg>
#include <eiktxlbm.h>
#include <eikmenup.h>
+#include <centralrepository.h>
+#include "MediaPlayerPrivateCRKeys.h"
+#include "MediaPlayerVariant.hrh"
+
// CONSTANTS
-const TInt KGSRopSettViewIdArrayGranularity = 3;
+const TInt KGSRopSettViewIdArrayGranularity = 2;
const TInt KGSRopSettTopItemIndex = 0;
// ========================= MEMBER FUNCTIONS ================================
@@ -81,11 +81,6 @@
FeatureManager::UnInitializeLib();
iImplInfoArray.ResetAndDestroy();
- if ( iTabHelper )
- {
- delete iTabHelper;
- }
-
iResources.Close();
if ( iViewIds )
@@ -116,15 +111,20 @@
{
MPX_FUNC("#MS# CGSVideoPlugin::ConstructL()");
FeatureManager::InitializeLibL();
- iViewArray = new (ELeave) CArrayPtrFlat<MGSTabbedView>( 3 );
+ iVideoViewAvailable = VideoContrastIsSupportedL();
+ if ( iVideoViewAvailable )
+ {
+ iViewArray = new (ELeave) CArrayPtrFlat<MGSTabbedView>( KGSRopSettViewIdArrayGranularity );
+ }
TFileName fileName;
LocateFilePathL( fileName, EFalse );
OpenLocalizedResourceFileL( fileName, iResources );
-
- BaseConstructL(R_GS_MEDIASETTING_VIEW);
-
- iTabHelper = CGSTabHelper::NewL();
+
+ TInt ctorResource = ( iVideoViewAvailable ? R_GS_MEDIASETTING_VIEW :
+ R_GS_MPSETT_STREAMING_VIEW );
+
+ BaseConstructL( ctorResource );
}
// ---------------------------------------------------------------------------
@@ -196,7 +196,10 @@
}
CreateContainerL();
AppUi()->AddToViewStackL( *this, iContainer );
- iContainer->ListBox()->SetListBoxObserver( this ) ;
+ if ( iVideoViewAvailable )
+ {
+ iContainer->ListBox()->SetListBoxObserver( this ) ;
+ }
ResetSelectedItemIndex();
}
@@ -229,12 +232,14 @@
switch ( aCommand )
{
case EMPSettCmdOpen:
- HandleListBoxSelectionL();
break;
case EAknSoftkeyBack:
SetCurrentItem(EGSMediaSettingsVideoIndex);
AppUi()->ActivateLocalViewL( KGSAppsPluginUid );
break;
+ case EMPSettCmdAdvancedSett:
+ AppUi()->ActivateLocalViewL( KMPSettAdvancedBwViewId );
+ break;
case EMPSettCmdHelp:
{
if( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
@@ -291,9 +296,16 @@
void CGSVideoPlugin::NewContainerL()
{
MPX_FUNC("#MS# CGSVideoPlugin::NewContainerL()");
- iContainer = new( ELeave ) CMPSettingsMainContainer;
+ if ( iVideoViewAvailable )
+ {
+ iContainer = new( ELeave ) CMPSettingsMainContainer;
+ }
+ else
+ {
+ iContainer = new( ELeave ) CMPSettingsStreamingContainer( iModel );
+ }
}
-
+
// ---------------------------------------------------------------------------
// CGSVideoPlugin::HandleListBoxSelectionL
//
@@ -322,7 +334,6 @@
streamingView = static_cast<CGSMediaPlayerStreamingView*>(AppUi()->View(iViewIds->At(i)));
streamingView->SetCurrentItem(KGSRopSettTopItemIndex);
}
- // Third item of the list is "Video service selection"
}
AppUi()->ActivateLocalViewL(iViewIds->At(iCurrentItem));
@@ -377,41 +388,35 @@
iModel = CMPSettingsModelForROP::NewL();
// Create vector which contains view id's for all setting folders.
- iViewIds = new(ELeave) CArrayFixFlat<TUid>(KGSRopSettViewIdArrayGranularity);
- iViewIds->AppendL(KMPSettVideoViewId);
- iViewIds->AppendL(KMPSettStreamingViewId);
- iViewIds->AppendL(KMPSettFeedsViewId);
+ iViewIds = new(ELeave) CArrayFixFlat<TUid>( KGSRopSettViewIdArrayGranularity );
+ if ( iVideoViewAvailable )
+ {
+ iViewIds->AppendL( KMPSettVideoViewId );
+ }
+ iViewIds->AppendL( KMPSettStreamingViewId );
+
CAknView* view;
- view = CMPSettingsMainView::NewLC(iViewIds,iModel,iConstructAsGsPlugin);
- AppUi()->AddViewL(view); // transfer ownership to CAknViewAppUi
- CleanupStack::Pop(); // view
-
- // iMainView is not owned, i.e. it is not deleted in the destructor ->
- // main view cannot be directly creted to iMainView, as it's against the coding
- // conventions to place class' pointers to cleanup stack => static_cast.
- iMainView = static_cast<CMPSettingsMainView*>(view);
-
- view = CGSMediaPlayerVideoView::NewLC(iModel,iViewArray);
- AppUi()->AddViewL(view); // transfer ownership to CAknViewAppUi
- CleanupStack::Pop(); // view
+ if ( iVideoViewAvailable )
+ {
+ view = CMPSettingsMainView::NewLC(iViewIds,iModel,iConstructAsGsPlugin);
+ AppUi()->AddViewL(view); // transfer ownership to CAknViewAppUi
+ CleanupStack::Pop(); // view
+ // iMainView is not owned, i.e. it is not deleted in the destructor ->
+ // main view cannot be directly creted to iMainView, as it's against the coding
+ // conventions to place class' pointers to cleanup stack => static_cast.
+ iMainView = static_cast<CMPSettingsMainView*>(view);
+
+ view = CGSMediaPlayerVideoView::NewLC(iModel,iViewArray);
+ AppUi()->AddViewL(view); // transfer ownership to CAknViewAppUi
+ CleanupStack::Pop(); // view
+ }
+
view = CGSMediaPlayerStreamingView::NewLC(iModel,iViewArray);
AppUi()->AddViewL(view); // transfer ownership to CAknViewAppUi
CleanupStack::Pop(); // view
- view = CVcxNsSettingsView::NewLC( iViewArray );
- AppUi()->AddViewL(view); // transfer ownership to CAknViewAppUi
- CleanupStack::Pop(); // view
-
- view = CMPSettingsProxyView::NewLC(iModel,iConstructAsGsPlugin);
- AppUi()->AddViewL(view); // transfer ownership to CAknViewAppUi
- CleanupStack::Pop(); // view
-
- view = CMPSettingsNetworkView::NewLC(iModel,iConstructAsGsPlugin);
- AppUi()->AddViewL(view); // transfer ownership to CAknViewAppUi
- CleanupStack::Pop(); // view
-
view = CMPSettingsAdvancedBwView::NewLC(iModel,iConstructAsGsPlugin);
AppUi()->AddViewL(view); // transfer ownership to CAknViewAppUi
CleanupStack::Pop(); // view
@@ -537,7 +542,6 @@
void CGSVideoPlugin::LocateFilePathL( TFileName& aFileName, TBool aBitmapFile )
{
_LIT( KGSResourceFileName, "mediasettings.rsc" );
- //_LIT( KGSIconFileName, "mediasettings.mbm");
_LIT( KGSIconFileName, "mediasettings.mif");
TParse parse;
@@ -592,4 +596,18 @@
MPX_DEBUG3(_L("#MS# CGSVideoPlugin::LocateFilePathL(%d,%S)"),aBitmapFile,&aFileName);
}
+// -----------------------------------------------------------------------------
+// CGSVideoPlugin::VideoContrastIsSupportedL
+// -----------------------------------------------------------------------------
+//
+TBool CGSVideoPlugin::VideoContrastIsSupportedL()
+ {
+ TInt flags;
+ CRepository* repository = CRepository::NewL( KCRUidMediaPlayerFeatures );
+ repository->Get( KMPLocalVariation, flags );
+ delete repository;
+
+ return ( flags & KMediaPlayerVideoContrast );
+ }
+
//End of File
--- a/mediasettings/mediasettingsapp/data/MediaSettings.rss Fri Feb 19 22:52:52 2010 +0200
+++ b/mediasettings/mediasettingsapp/data/MediaSettings.rss Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*/
-// Version : %version: 15 %
+// Version : %version: 16 %
@@ -367,11 +367,8 @@
LBUF
{
txt = "1\t"qtn_mp_settings_streaming;
- },
- LBUF
- {
- txt = "2\t"qtn_iptv_service_selection_setting;
}
+
};
}
@@ -480,7 +477,7 @@
//
RESOURCE AVKON_VIEW r_gs_mpsett_streaming_view
{
- menubar = r_mpsett_app_and_open_menubar;
+ menubar = r_mpsett_app_and_adv_sett_menubar;
cba=r_mediasetting_softkeys_options_back_open;
}
@@ -493,71 +490,7 @@
//
RESOURCE AVKON_VIEW r_mpsett_streaming_view
{
- menubar = r_mpsett_app_and_open_menubar;
- cba = R_AVKON_SOFTKEYS_SELECTION_LIST;
- }
-
-//----------------------------------------------------
-//
-// r_mpsett_streaming_lbx_resource
-// Streaming view's listbox resource.
-//
-//----------------------------------------------------
-//
-RESOURCE LISTBOX r_mpsett_streaming_lbx_resource
- {
- array_id = r_mpsett_streaming_lbx;
- flags = EEikListBoxMultipleSelection;
- }
-
-//----------------------------------------------------
-//
-// r_mpsett_streaming_lbx
-// Streaming view's listbox.
-//
-//----------------------------------------------------
-//
-RESOURCE ARRAY r_mpsett_streaming_lbx
- {
- items =
- {
-#ifndef __PROTOCOL_CDMA
- LBUF
- {
- txt = " \t"qtn_mp_setting_stream_proxy;
- },
-#endif
- LBUF
- {
- txt = " \t"qtn_mp_setting_stream_net;
- }
- };
- }
-
-// * Feeds view *
-
-//----------------------------------------------------
-//
-// r_mpsett_feeds_view_title
-// Video view's title.
-//
-//----------------------------------------------------
-//-
-RESOURCE TITLE_PANE r_mpsett_feeds_view_title
- {
- txt = qtn_iptv_service_selection_title;
- }
-
-//----------------------------------------------------
-//
-// r_mpsett_video_view
-// Video view's Options menu and cba.
-//
-//----------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_mpsett_feeds_view
- {
- menubar = r_mpsett_feeds_menubar;
+ menubar = r_mpsett_app_and_adv_sett_menubar;
cba = R_AVKON_SOFTKEYS_SELECTION_LIST;
}
@@ -575,19 +508,6 @@
txt = qtn_mp_sett_stream_title_proxy;
}
-//----------------------------------------------------
-//
-// r_mpsett_proxy_view
-// Proxy view's Options menu and cba.
-//
-//----------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_mpsett_proxy_view
- {
- menubar = r_mpsett_app_and_change_menubar;
- cba = R_AVKON_SOFTKEYS_SELECTION_LIST;
- }
-
// * NETWORK view *
//----------------------------------------------------
@@ -602,19 +522,6 @@
txt = qtn_mp_sett_stream_title_net;
}
-//----------------------------------------------------
-//
-// r_mpsett_network_view
-// Network view's Options menu and cba.
-//
-//----------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_mpsett_network_view
- {
- menubar = r_mpsett_app_and_adv_sett_menubar;
- cba = R_AVKON_SOFTKEYS_SELECTION_LIST;
- }
-
// * ADVANCED bw view *
//----------------------------------------------------
@@ -664,33 +571,6 @@
identifier = EMPSettVideoContrastSettingId;
name = qtn_mp_setting_video_contrast;
setting_page_resource = r_mpsett_video_contrast_setting_page;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EVcSettingsViewParentControlItem;
- name = qtn_iptv_setting_parental_control;
- setting_page_resource = r_vcsettingsview_settingview_parentcontrol_page;
- associated_resource = r_vcsettingsview_settingview_parentcontrol_texts;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EVcSettingsViewMemoryItem;
- setting_page_resource = r_vcsettingsview_settingview_memory_page;
- name = qtn_iptv_memory_setting;
- associated_resource = r_vcsettingsview_settingview_memory_texts;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EVcSettingsViewThumbnails;
- setting_page_resource = r_vcsettingsview_settingview_thumbnails_page;
- name = qtn_iptv_setting_thumbnails;
- associated_resource = r_vcsettingsview_settingview_thumbnails_texts;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EVcSettingsviewIadUpdateItem;
- name = qtn_vcx_setting_version_number;
- setting_page_resource = r_vcsettingsview_settingview_iadupdate_page;
}
};
}
@@ -715,190 +595,6 @@
//----------------------------------------------------
//
-// r_vcsettingsview_settingview_iadupdate_page
-// Setting page resource for Video version.
-//
-//----------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_vcsettingsview_settingview_iadupdate_page
- {
- label = qtn_vcx_setting_version_number;
- type = EEikCtEdwin;
- editor_resource_id = r_vcsettingsview_settingview_iadupdate_editor;
- }
-
-RESOURCE EDWIN r_vcsettingsview_settingview_iadupdate_editor
- {
- maxlength = 20;
- }
-
-
-RESOURCE AVKON_SETTING_PAGE r_vcsettingsview_settingview_thumbnails_page
- {
- type = EAknCtPopupSettingList;
- editor_resource_id = r_vcsettingsview_settingview_thumbnails_editor;
- }
-
-RESOURCE POPUP_SETTING_LIST r_vcsettingsview_settingview_thumbnails_editor
- {
- }
-
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_vcsettingsview_settingview_thumbnails_texts
- {
- setting_texts_resource = r_vcsettingsview_settingview_thumbnails_textspage_list;
- popped_up_texts_resource = r_vcsettingsview_settingview_thumbnails_textsitem_array;
- }
-
-RESOURCE ARRAY r_vcsettingsview_settingview_thumbnails_textspage_list
- {
- items =
- {
- AVKON_ENUMERATED_TEXT { value = 0; text = qtn_iptv_setting_off; },
- AVKON_ENUMERATED_TEXT { value = 1; text = qtn_iptv_setting_on; }
- };
- }
-
-RESOURCE ARRAY r_vcsettingsview_settingview_thumbnails_textsitem_array
- {
- items =
- {
- LBUF { txt = qtn_iptv_setting_off; },
- LBUF { txt = qtn_iptv_setting_on; }
- };
- }
-
-RESOURCE AVKON_SETTING_PAGE r_vcsettingsview_settingview_parentcontrol_page
- {
- type = EAknCtPopupSettingList;
- editor_resource_id = r_vcsettingsview_settingview_parentcontrol_editor;
- }
-
-RESOURCE POPUP_SETTING_LIST r_vcsettingsview_settingview_parentcontrol_editor
- {
- }
-
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_vcsettingsview_settingview_parentcontrol_texts
- {
- setting_texts_resource = r_vcsettingsview_settingview_parentcontrol_textspage_list;
- popped_up_texts_resource = r_vcsettingsview_settingview_parentcontrol_textsitem_array;
- }
-
-RESOURCE ARRAY r_vcsettingsview_settingview_parentcontrol_textspage_list
- {
- items =
- {
- AVKON_ENUMERATED_TEXT { value = 0; text = ""; },
- AVKON_ENUMERATED_TEXT { value = 1; text = ""; },
- AVKON_ENUMERATED_TEXT { value = 2; text = ""; },
- AVKON_ENUMERATED_TEXT { value = 3; text = ""; },
- AVKON_ENUMERATED_TEXT { value = 4; text = ""; },
- AVKON_ENUMERATED_TEXT { value = 5; text = ""; },
- AVKON_ENUMERATED_TEXT { value = 6; text = ""; },
- AVKON_ENUMERATED_TEXT { value = 7; text = ""; },
- AVKON_ENUMERATED_TEXT { value = 8; text = ""; },
- AVKON_ENUMERATED_TEXT { value = 9; text = ""; },
- AVKON_ENUMERATED_TEXT { value = 10; text = ""; },
- AVKON_ENUMERATED_TEXT { value = 11; text = ""; },
- AVKON_ENUMERATED_TEXT { value = 12; text = ""; },
- AVKON_ENUMERATED_TEXT { value = 13; text = ""; },
- AVKON_ENUMERATED_TEXT { value = 14; text = ""; },
- AVKON_ENUMERATED_TEXT { value = 15; text = ""; }
- };
- }
-
-RESOURCE ARRAY r_vcsettingsview_settingview_parentcontrol_textsitem_array
- {
- items =
- {
- LBUF { txt = ""; },
- LBUF { txt = ""; },
- LBUF { txt = ""; },
- LBUF { txt = ""; },
- LBUF { txt = ""; },
- LBUF { txt = ""; },
- LBUF { txt = ""; },
- LBUF { txt = ""; },
- LBUF { txt = ""; },
- LBUF { txt = ""; },
- LBUF { txt = ""; },
- LBUF { txt = ""; },
- LBUF { txt = ""; },
- LBUF { txt = ""; },
- LBUF { txt = ""; },
- LBUF { txt = ""; }
- };
- }
-
-RESOURCE AVKON_SETTING_PAGE r_vcsettingsview_settingview_memory_page
- {
- type = EAknCtPopupSettingList;
- editor_resource_id = r_vcsettingsview_settingview_memory_editor;
- }
-
-RESOURCE POPUP_SETTING_LIST r_vcsettingsview_settingview_memory_editor
- {
- }
-
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_vcsettingsview_settingview_memory_texts
- {
- setting_texts_resource = r_vcsettingsview_settingview_memory_textspage_list;
- popped_up_texts_resource = r_vcsettingsview_settingview_memory_textsitem_array;
- }
-
-RESOURCE ARRAY r_vcsettingsview_settingview_memory_textspage_list
- {
- items =
- {
- AVKON_ENUMERATED_TEXT { value = 0; text = qtn_iptv_setting_phone_memory; },
- AVKON_ENUMERATED_TEXT { value = 1; text = qtn_iptv_setting_memory_card; }
- };
- }
-
-RESOURCE ARRAY r_vcsettingsview_settingview_memory_textsitem_array
- {
- items =
- {
- LBUF { txt = qtn_iptv_setting_phone_memory; },
- LBUF { txt = qtn_iptv_setting_memory_card; }
- };
- }
-
-RESOURCE AVKON_SETTING_PAGE r_vcsettingsview_settingview_setting_subset_page
- {
- type = EAknCtPopupSettingList;
- editor_resource_id = r_vcsettingsview_settingview_setting_subset_editor;
- }
-
-RESOURCE POPUP_SETTING_LIST r_vcsettingsview_settingview_setting_subset_editor
- {
- }
-
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_vcsettingsview_settingview_setting_subset_texts
- {
- setting_texts_resource = r_vcsettingsview_settingview_setting_subset_textspage_list;
- popped_up_texts_resource = r_vcsettingsview_settingview_setting_subset_textsitem_array;
- }
-
-RESOURCE ARRAY r_vcsettingsview_settingview_setting_subset_textspage_list
- {
- items =
- {
- AVKON_ENUMERATED_TEXT { value = 0; text = ""; },
- AVKON_ENUMERATED_TEXT { value = 1; text = ""; }
- };
- }
-
-RESOURCE ARRAY r_vcsettingsview_settingview_setting_subset_textsitem_array
- {
- items =
- {
- LBUF { txt = ""; },
- LBUF { txt = ""; }
- };
- }
-
-//----------------------------------------------------
-//
// r_mpsett_contrast_slider
// Slider resource for Video contrast setting page.
//
@@ -956,19 +652,38 @@
{
}
-// ** PROXY setting item list **
+// ** STREAMING setting item list **
//----------------------------------------------------
//
-// r_mpsett_proxy_setting_item_list
+// r_mpsett_streaming_setting_item_list
// Proxy setting list view's item list.
//
//----------------------------------------------------
//
-RESOURCE AVKON_SETTING_ITEM_LIST r_mpsett_proxy_setting_item_list
+RESOURCE AVKON_SETTING_ITEM_LIST r_mpsett_streaming_setting_item_list
{
items =
{
+#ifndef __PROTOCOL_CDMA
+ AVKON_SETTING_ITEM
+ {
+ identifier = EMPSettDefaultAPSettingId;
+ name = qtn_mp_setting_default_ap;
+ },
+ AVKON_SETTING_ITEM
+ {
+ identifier = EMPSettMinUDPPortSettingId;
+ name = qtn_mp_setting_min_udp_port;
+ setting_page_resource = r_mpsett_min_udp_port_setting_page;
+ },
+ AVKON_SETTING_ITEM
+ {
+ identifier = EMPSettMaxUDPPortSettingId;
+ name = qtn_mp_setting_max_udp_port;
+ setting_page_resource = r_mpsett_max_udp_port_setting_page;
+ },
+#endif
AVKON_SETTING_ITEM
{
identifier = EMPSettProxyModeSettingId;
@@ -1110,42 +825,6 @@
maxlength = 5;
}
-
-// ** NETWORK setting item list **
-
-//----------------------------------------------------
-//
-// r_mpsett_network_setting_item_list
-// Network setting list view's item list.
-//
-//----------------------------------------------------
-//
-RESOURCE AVKON_SETTING_ITEM_LIST r_mpsett_network_setting_item_list
- {
- items =
- {
-#ifndef __PROTOCOL_CDMA
- AVKON_SETTING_ITEM
- {
- identifier = EMPSettDefaultAPSettingId;
- name = qtn_mp_setting_default_ap;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EMPSettMinUDPPortSettingId;
- name = qtn_mp_setting_min_udp_port;
- setting_page_resource = r_mpsett_min_udp_port_setting_page;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EMPSettMaxUDPPortSettingId;
- name = qtn_mp_setting_max_udp_port;
- setting_page_resource = r_mpsett_max_udp_port_setting_page;
- }
-#endif
- };
- }
-
// * UDP PORT RANGE *
//----------------------------------------------------
@@ -1528,12 +1207,10 @@
// *** PLUGIN VIEWS ***
-
// *** GSVideoPlugin ***
//----------------------------------------------------
//
// r_gs_mediasetting_view
-// Telephony sub-menu view
//
//----------------------------------------------------
//
@@ -1599,7 +1276,6 @@
buf = qtn_set_folder_media_player;
}
-
// MSK Handling
// -----------------------------------------------------------------------------
@@ -1638,82 +1314,6 @@
buf = qtn_msk_change;
}
-// ----------------------------------------------------------------------------
-// r_iptv_database_phone
-// "Phone memory"
-// ----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_iptv_setting_phone_memory
- {
- buf = qtn_iptv_setting_phone_memory;
- }
-
-// ----------------------------------------------------------------------------
-// r_iptv_setting_mass_memory
-// "Mass memory"
-// ----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_iptv_setting_mass_memory
- {
- buf = qtn_iptv_setting_mass_memory;
- }
-
-// ----------------------------------------------------------------------------
-// r_iptv_setting_memory_card
-// "Memory card"
-// ----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_iptv_setting_memory_card
- {
- buf = qtn_iptv_setting_memory_card;
- }
-
-// ----------------------------------------------------------------------------
-// r_iptv_locked_memory_card
-// "Locked memory card"
-// ----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_iptv_locked_memory_card
- {
- buf = qtn_iptv_locked_memory_card;
- }
-
-// ----------------------------------------------------------------------------
-// r_iptv_parental_control_off
-// "Off"
-// ----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_iptv_parental_control_off
- {
- buf = qtn_iptv_setting_off;
- }
-
-// ----------------------------------------------------------------------------
-// r_iptv_parental_control_n_years
-// "4 years"
-// ----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_iptv_parental_control_n_years
- {
- buf = qtn_iptv_parental_control_n_years;
- }
-
-#ifdef RD_MULTIPLE_DRIVE_ENABLERS
-// --------------------------------------------------------------------------
-// Memory selection dialog
-// --------------------------------------------------------------------------
-//
-RESOURCE MEMORYSELECTIONDIALOG r_mtv_memory_selection_dialog
- {
- softkey_1 = text_softkey_select;
- softkey_2 = text_softkey_cancel;
- locations =
- {
- LOCATION { root_path = "C:\\"; }
- };
- }
-#endif
-
//----------------------------------------------------
//
// r_mpsett_app_and_change_menubar
--- a/mediasettings/mediasettingsapp/group/mediasettingsapp.mmp Fri Feb 19 22:52:52 2010 +0200
+++ b/mediasettings/mediasettingsapp/group/mediasettingsapp.mmp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*/
-// Version : %version: 5 %
+// Version : %version: 6 %
@@ -41,12 +41,7 @@
SOURCE MPSettingsVideoView.cpp
SOURCE MPSettingsStreamingView.cpp
SOURCE MPSettingsStreamingContainer.cpp
-SOURCE MPSettingsProxySettingItemList.cpp
-SOURCE MPSettingsProxyContainer.cpp
-SOURCE MPSettingsProxyView.cpp
-SOURCE MPSettingsNetworkSettingItemList.cpp
-SOURCE MPSettingsNetworkContainer.cpp
-SOURCE MPSettingsNetworkView.cpp
+SOURCE MPSettingsStreamingSettingItemList.cpp
SOURCE MPSettingsSliderSettingItem.cpp
SOURCE MPSettingsUDPPortSettingItem.cpp
SOURCE MPSettingsAdvancedBwContainer.cpp
@@ -70,7 +65,6 @@
USERINCLUDE ../../mpsettbase/inc
USERINCLUDE ../../videoplayersettingsengine/inc
USERINCLUDE ../../mediasettingsengine/inc
-USERINCLUDE ../../feedsettingsviews/inc
APP_LAYER_SYSTEMINCLUDE
SYSTEMINCLUDE /epoc32/include/ecom
@@ -96,10 +90,8 @@
LIBRARY mpsettbase.lib
LIBRARY mpsettengine.lib
LIBRARY flogger.lib
-LIBRARY sisregistryclient.lib
-LIBRARY vcxnssettingsengine.lib
-LIBRARY commondialogs.lib
-LIBRARY cmmanager.lib
-LIBRARY vcxnssettingsview.lib
+LIBRARY vcxnssettingsengine.lib
+LIBRARY commondialogs.lib
+LIBRARY cmmanager.lib
// End of File
--- a/mediasettings/mediasettingsapp/inc/MPSettingsAdvancedBwSettingItem.h Fri Feb 19 22:52:52 2010 +0200
+++ b/mediasettings/mediasettingsapp/inc/MPSettingsAdvancedBwSettingItem.h Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*/
-// Version : %version: 3 %
+// Version : %version: 4 %
@@ -110,7 +110,6 @@
RArray<TInt>& iValueArray;
TInt& iValue;
TInt iQueryRes;
- CEikonEnv* iEnv;
CArrayPtr<CAknEnumeratedText>* iEnumTextArray;
};
--- a/mediasettings/mediasettingsapp/inc/MPSettingsAppUi.h Fri Feb 19 22:52:52 2010 +0200
+++ b/mediasettings/mediasettingsapp/inc/MPSettingsAppUi.h Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*/
-// Version : %version: 5 %
+// Version : %version: 6 %
@@ -115,7 +115,12 @@
*/
void UpdateTabIndex();
-
+ /**
+ * Activates view.
+ * @param aViewId View Id
+ */
+ void ActivateLocalViewL( TUid aViewId );
+
private:
/**
@@ -157,19 +162,40 @@
*/
void AddTabSettingsGroupL();
+ /**
+ * Check whether or not the Contrast settings item should be drawn
+ * @return ETrue, if contrast item should be visible.
+ */
+ TBool VideoContrastIsSupportedL();
+
private: //Data
+
+ /**
+ * Navi pane. Not own.
+ */
CAknNavigationControlContainer* iNaviPane;
+
+ /**
+ * Tab group. Not own.
+ */
CAknTabGroup* iTabGroup;
- CAknNavigationDecorator* iDecoratedTabGroup; // owned
+
+ /**
+ * Decorated tab group. Own.
+ */
+ CAknNavigationDecorator* iDecoratedTabGroup;
CArrayFix<TUid>* iViewIds;
CMPSettingsMainView* iMainView;
RImplInfoPtrArray iImplInfoArray;
- CMPSettingsModel* iModel;
- CMPSettingsModelForROP* iRopModel;
-
- TBool iConstructAsGsPlugin;
+ CMPSettingsModel* iModel;
+ CMPSettingsModelForROP* iRopModel;
+
+ /**
+ * Video view availability status.
+ */
+ TBool iVideoViewAvailable;
};
#endif
--- a/mediasettings/mediasettingsapp/inc/MPSettingsConstants.h Fri Feb 19 22:52:52 2010 +0200
+++ b/mediasettings/mediasettingsapp/inc/MPSettingsConstants.h Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*/
-// Version : %version: 3 %
+// Version : %version: 4 %
@@ -37,7 +37,6 @@
const TUid KMPSettVideoViewId = {2};
const TUid KMPSettAudioViewId = {3};
const TUid KMPSettStreamingViewId = {4};
-const TUid KMPSettFeedsViewId = {5};
// UIDs for subviews
const TUid KMPSettProxyViewId = {11};
--- a/mediasettings/mediasettingsapp/inc/MPSettingsStreamingContainer.h Fri Feb 19 22:52:52 2010 +0200
+++ b/mediasettings/mediasettingsapp/inc/MPSettingsStreamingContainer.h Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*/
-// Version : %version: 2 %
+// Version : %version: 3 %
@@ -28,8 +28,9 @@
// FORWARD DECLARATIONS
class CEikTextListBox;
class CMPSettingsModelForROP;
+class CMPSettingsStreamingSettingItemList;
+
// CLASS DECLARATION
-
/**
* CMPSettingsStreamingContainer container control class.
*
@@ -56,8 +57,15 @@
* From CoeControl
*/
void GetHelpContext(TCoeHelpContext& aContext) const;
- void FocusChanged(TDrawNow /*aDrawNow*/);
+ void FocusChanged(TDrawNow /*aDrawNow*/);
+ /**
+ * Edits current setting item.
+ *
+ * @param aMenuOption
+ */
+ void EditCurrentItemFromMenuL(TBool aMenuOption);
+
protected: // Functions from base classes
/**
@@ -72,6 +80,12 @@
*/
TInt TitleResourceId();
CMPSettingsModelForROP* iModel;
+
+ /**
+ * Setting item list.
+ */
+ CMPSettingsStreamingSettingItemList* iSettingList;
+
};
#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mediasettings/mediasettingsapp/inc/MPSettingsStreamingSettingItemList.h Fri Mar 12 15:43:00 2010 +0200
@@ -0,0 +1,198 @@
+/*
+* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Setting item list class for Streaming setting list view.*
+*/
+
+
+// Version : %version: 2 %
+
+
+
+
+#ifndef MPSETTINGSSTREAMINGSETTINGITEMLIST_H
+#define MPSETTINGSSTREAMINGSETTINGITEMLIST_H
+
+// INCLUDES
+#include <aknsettingitemlist.h>
+
+// FORWARD DECLARATIONS
+class CMPSettingsModelForROP;
+
+// CONSTANTS
+const TInt KMaxApNameLength = 255;
+
+// CLASS DECLARATION
+
+/**
+* CMPSettingsStreamingSettingItemList
+* Setting item list class for Streaming setting list view.
+*
+*/
+class CMPSettingsStreamingSettingItemList : public CAknSettingItemList
+ {
+ public: // Constructors and destructor
+
+ /**
+ * C++ default constructor.
+ */
+ CMPSettingsStreamingSettingItemList(CMPSettingsModelForROP* aModel);
+
+ /**
+ * 2nd-stage construction from resource id
+ */
+ void ConstructFromResourceL(TInt aResourceId);
+
+ /**
+ * From CCoeControl, 2nd-stage construction from constructed resource reader
+ */
+ void ConstructFromResourceL(TResourceReader& aReader);
+
+ /**
+ * Destructor.
+ */
+ virtual ~CMPSettingsStreamingSettingItemList();
+
+ public: // Functions from base classes
+
+ /**
+ * From CAknSettingItemList
+ */
+ void EditItemL(TInt aIndex, TBool aCalledFromMenu);
+
+ protected: // Functions from base classes
+
+ /**
+ * From CAknSettingItemList
+ */
+ CAknSettingItem* CreateSettingItemL(TInt aSettingId);
+
+ private: //New
+
+ /**
+ * Sets Proxy host and Proxy port item visibility according to Proxy mode.
+ */
+ void SetItemVisibilityL();
+
+ /**
+ * Loads all setting values.
+ */
+ void LoadAllL();
+
+ /**
+ * Loads a specific setting value.
+ * @param aSettingId ID of the setting to be loaded.
+ */
+ void LoadSettingL(TInt aSettingId);
+
+ /**
+ * Stores a specific setting value.
+ * @param aSettingId ID of the setting to be stored.
+ */
+ void StoreSettingL(TInt aSettingId);
+
+ /**
+ * Launches the platform dialog for the connection selection.
+ */
+ void LaunchConnectionSelectionL();
+
+ /**
+ * Updates currently selected connection's name to setting item.
+ */
+ void UpdateSelectedConnectionNameL();
+
+ /**
+ * Sets proxy mode to disabled.
+ */
+ void CheckProxyDisableL();
+
+ private: // From MEikListBoxObserver
+
+ /**
+ * Event handling section
+ */
+ void HandleListBoxEventL( CEikListBox* aListBox,
+ TListBoxEvent aListBoxEvent );
+
+ private:
+
+ /**
+ * ROP model. Not own.
+ */
+ CMPSettingsModelForROP* iModel;
+
+ /**
+ * Proxy mode (on/off).
+ */
+ TBool iProxyMode;
+
+ /**
+ * Proxy host. Own.
+ */
+ HBufC* iProxyHost;
+
+ /**
+ * Pointer to Proxy host.
+ */
+ TPtr iProxyHostPtr;
+
+ /**
+ * Proxy port number.
+ */
+ TInt iProxyPort;
+
+ /**
+ * Connection timeout setting value.
+ */
+ TInt iConnTimeout;
+
+ /**
+ * Server timeout setting value.
+ */
+ TInt iSrvTimeout;
+
+ /**
+ * Access point id.
+ */
+ TUint32 iDefaultAP;
+
+ /**
+ * Minimum UDP port number.
+ */
+ TInt iMinUDPPort;
+
+ /**
+ * Maximum UDP port number.
+ */
+ TInt iMaxUDPPort;
+
+ /**
+ * Name of selected access point. Own.
+ */
+ TBuf<KMaxApNameLength> iSelectedApName;
+
+ /**
+ * Connection setting item. Not own.
+ */
+ CAknTextSettingItem* iSettingConnectionItem;
+
+ /**
+ * Proxy mode item. Not own.
+ */
+ CAknBinaryPopupSettingItem* iSettingProxyItem;
+
+ };
+
+#endif // MPSETTINGSSTREAMINGSETTINGITEMLIST_H
+
+// End of File
--- a/mediasettings/mediasettingsapp/inc/MPSettingsStreamingView.h Fri Feb 19 22:52:52 2010 +0200
+++ b/mediasettings/mediasettingsapp/inc/MPSettingsStreamingView.h Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*/
-// Version : %version: 2 %
+// Version : %version: 3 %
@@ -32,10 +32,8 @@
/**
* CMPSettingsStreamingView view class.
*
-* @lib MediaSettings.app
-* @since 2.0
*/
-class CMPSettingsStreamingView : public CMPSettingsBaseView, public MEikListBoxObserver
+class CMPSettingsStreamingView : public CMPSettingsBaseView
{
public: // Constructors and destructor
@@ -63,14 +61,7 @@
protected: // from MEikListBoxObserver
- /**
- * Handles listbox events.
- * @param aListBox Listbox where the event occurred.
- * @param aEventType Event type.
- */
- void HandleListBoxEventL(CEikListBox* aListBox,
- TListBoxEvent aEventType);
-
+
protected: // From CMPSettingsBaseView
/**
@@ -99,7 +90,6 @@
/**
* Handles listbox selection.
*/
- virtual void HandleListBoxSelectionL();
CMPSettingsModelForROP* iModel;
};
--- a/mediasettings/mediasettingsapp/inc/MPSettingsVideoSettingItemList.h Fri Feb 19 22:52:52 2010 +0200
+++ b/mediasettings/mediasettingsapp/inc/MPSettingsVideoSettingItemList.h Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*/
-// Version : %version: 6 %
+// Version : %version: 7 %
@@ -25,23 +25,8 @@
// INCLUDES
#include <aknsettingitemlist.h>
-#include "videosettingsdrivemonitor.h"
-#include "mvideosettingsdrivemonitorobserver.h"
// CONSTANTS
-// VideoCenter SIS package UID
-const TUid KSisUid = { 0x200159B2 };
-
-// formatting string for version number
-_LIT( KVersionNumberFormat, "%d.%d(%d)" );
-
-// Max length of the above version number string, whose format is
-// major.minor(build). Header e32cmn.h states that their ranges are:
-// 1. the major version number, ranging from 0 to 127, inclusive
-// 2. the minor version number, ranging from 0 to 99 inclusive
-// 3. the build number, ranging from 0 to 32767 inclusive.
-// Which makes the total max length 3+1+2+1+5+1 = 13
-const TInt KMaxVersionNumberLength( 13 );
// When video contrast is not drawn, we know to shift the contents
@@ -50,7 +35,6 @@
// FORWARD DECLARATIONS
class CMPSettingsModelForROP;
class CVcxNsSettingsEngine;
-class TIptvDriveMonitorEvent;
// CLASS DECLARATION
@@ -61,8 +45,7 @@
* @lib MediaSettings.app
* @since 2.0
*/
-class CMPSettingsVideoSettingItemList : public CAknSettingItemList,
- public MIptvDriveMonitorObserver
+class CMPSettingsVideoSettingItemList : public CAknSettingItemList
{
public: // Constructors and destructor
@@ -91,31 +74,7 @@
virtual ~CMPSettingsVideoSettingItemList();
public:
-
- /**
- * Edits thumbnail setting item.
- *
- * @param itemIndex Setting list index.
- * @param aCalledFromMenu ETrue if started from menu.
- */
- void EditThumbnailItemL( TInt itemIndex, TBool aCalledFromMenu );
-
- /**
- * Edits parent control settting item.
- *
- * @param itemIndex Setting list index.
- * @param aCalledFromMenu ETrue if started from menu.
- */
- void EditParentControlItemL( TInt itemIndex, TBool aCalledFromMenu );
-
- /**
- * Edits preferred memory settting item.
- *
- * @param itemIndex Setting list index.
- * @param aCalledFromMenu ETrue if started from menu.
- */
- void EditPreferredMemoryItemL( TInt itemIndex, TBool aCalledFromMenu );
-
+
/**
* Check if specified item is currently selected.
*
@@ -123,6 +82,11 @@
*/
TBool IsCurrentItem( TInt aIndex );
+ /**
+ * Check wheter or not the Contrast settings item shold be drawn
+ */
+ TBool VideoContrastIsSupportedL();
+
public: // Functions from base classes
/**
@@ -142,16 +106,6 @@
*/
void LoadSettingsL();
- /**
- * Finishes construction of listbox. Should be called after the
- * listbox is otherwise fully constructed.
- */
- void FinishConstructionL();
-
- public: // From MIptvDriveMonitorObserver
-
- void HandleDriveMonitorEvent( TIptvDriveMonitorEvent& aEvent );
-
protected: // Functions from base classes
/**
@@ -182,96 +136,6 @@
void LoadAllL();
/**
- * Updates version number item to settings list.
- */
- void UpdateVersionNumberTextL();
-
- /**
- * Updates text of "parent control" setting item.
- */
- void UpdateParentControlTextL();
-
- /**
- * Fetch current parent control age and return corresponding index.
- *
- * @return Parent control age.
- */
- TInt GetCurrentParentControl();
-
- /**
- * Convert and save parent control index as age.
- *
- * @param aParentControlIndex Index of parent control selection.
- */
- void SetCurrentParentControl( TInt aParentControlIndex );
-
- /**
- * Updates text of "memory" setting item.
- */
- void UpdateMemoryItemTextL();
-
- /**
- * Adds phone memory descriptor to arrays.
- *
- * @param aIndex index in enumeration list.
- * @param aEnumeratedTextArray
- * @param aPoppedUpTextArray
- */
- void AddPhoneMemoryDesToArraysL( TInt aIndex,
- CArrayPtrFlat<CAknEnumeratedText>& aEnumeratedTextArray,
- CArrayPtr<HBufC>& aPoppedUpTextArray );
-
- /**
- * Adds memory card descriptor to arrays.
- *
- * @param aIndex index in enumeration list.
- * @param aEnumeratedTextArray
- * @param aPoppedUpTextArray
- */
- void AddMemoryCardDesToArraysL( TInt aIndex,
- CArrayPtrFlat<CAknEnumeratedText>& aEnumeratedTextArray,
- CArrayPtr<HBufC>& aPoppedUpTextArray );
- /**
- * Adds locked memory card descriptor to arrays.
- *
- * @param aIndex index in enumeration list.
- * @param aEnumeratedTextArray
- * @param aPoppedUpTextArray
- */
- void AddLockedMemoryCardDesToArraysL( TInt aIndex,
- CArrayPtrFlat<CAknEnumeratedText>& aEnumeratedTextArray,
- CArrayPtr<HBufC>& aPoppedUpTextArray );
-
- /**
- * Adds hard disk descriptor to arrays.
- *
- * @param aIndex index in enumeration list.
- * @param aEnumeratedTextArray
- * @param aPoppedUpTextArray
- */
- void AddHardDiskDesToArraysL( TInt aIndex,
- CArrayPtrFlat<CAknEnumeratedText>& aEnumeratedTextArray,
- CArrayPtr<HBufC>& aPoppedUpTextArray );
-
- /**
- * Adds descriptor to arrays.
- *
- * @param aIndex index in enumeration list.
- * @param aText Descriptor to add. Ownership moves.
- * @param aEnumeratedTextArray
- * @param aPoppedUpTextArray
- */
- void AddDesToArraysL( TInt aIndex,
- HBufC* aText,
- CArrayPtrFlat<CAknEnumeratedText>& aEnumeratedTextArray,
- CArrayPtr<HBufC>& aPoppedUpTextArray );
-
- /**
- * Check wheter or not the Contrast settings item shold be drawn
- */
- TBool VideoContrastIsSupportedL();
-
- /**
* Event handling section, from MEikListBoxObserver.
*/
void HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aListBoxEvent);
@@ -280,26 +144,6 @@
CMPSettingsModelForROP* iModel;
CVcxNsSettingsEngine& iVideoSettingsEngine; // Video settings engine
- CVideoSettingsDriveMonitor* iDriveMonitor; // Drive monitor
-
- TBuf< KMaxVersionNumberLength > iSettingVersionText; // version text
- CAknTextSettingItem* iSettingIadUpdateItem; // IAD update setting item
-
- CAknEnumeratedTextPopupSettingItem* iSettingThumbnailsItem; // Thumbnail setting item
- TInt iSettingThumbnails; // Selected thumbnail setting value
-
- CAknEnumeratedTextPopupSettingItem* iSettingParentControlItem; // Parent control setting item
- TInt iParentControlIndex; // Selected parent control setting value
- /**
- * Is the phone's lock code entered succesfully,
- * required for editing parent control settings.
- */
- TBool iLockCodeAccepted;
-
- CAknEnumeratedTextPopupSettingItem* iSettingMemoryItem; // Memory setting item
- TInt iSettingMemory; // Selected memory setting value
-
- CAknEnumeratedTextPopupSettingItem* iSettingServiceItem; // Service selection item
TInt iSettingTemp; // Dummy setting placeholder for settings sublist items
TInt iVideoContrast;
--- a/mediasettings/mediasettingsapp/src/MPSettingsAdvancedBwContainer.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/mediasettings/mediasettingsapp/src/MPSettingsAdvancedBwContainer.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*/
-// Version : %version: 7 %
+// Version : %version: 8 %
@@ -94,7 +94,7 @@
//
TInt CMPSettingsAdvancedBwContainer::TitleResourceId()
{
- return R_MPSETT_NETWORK_VIEW_TITLE;
+ return R_MPSETT_STREAMING_VIEW_TITLE;
}
// ---------------------------------------------------------
--- a/mediasettings/mediasettingsapp/src/MPSettingsAdvancedBwSettingItem.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/mediasettings/mediasettingsapp/src/MPSettingsAdvancedBwSettingItem.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*/
-// Version : %version: 6 %
+// Version : %version: 7 %
@@ -49,8 +49,7 @@
CAknEnumeratedTextPopupSettingItem(aIdentifier, aListValue),
iValueArray(aValueArray),
iValue(aValue),
- iQueryRes(aQueryRes),
- iEnv(CEikonEnv::Static())
+ iQueryRes(aQueryRes)
{
MPX_FUNC("#MS# CMPSettingsAdvancedBwSettingItem::CMPSettingsAdvancedBwSettingItem()");
}
--- a/mediasettings/mediasettingsapp/src/MPSettingsAdvancedBwView.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/mediasettings/mediasettingsapp/src/MPSettingsAdvancedBwView.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*/
-// Version : %version: 6 %
+// Version : %version: 8 %
@@ -41,8 +41,11 @@
// might leave.
// -----------------------------------------------------------------------------
//
-CMPSettingsAdvancedBwView::CMPSettingsAdvancedBwView(CMPSettingsModelForROP* aModel, TBool iConstructAsGsPlugin)
- : iModel( aModel), iGsPlugin(iConstructAsGsPlugin)
+CMPSettingsAdvancedBwView::CMPSettingsAdvancedBwView(
+ CMPSettingsModelForROP* aModel,
+ TBool iConstructAsGsPlugin )
+ : iModel( aModel),
+ iGsPlugin(iConstructAsGsPlugin)
{
MPX_FUNC("#MS# CMPSettingsAdvancedBwView::CMPSettingsAdvancedBwView()");
}
@@ -63,7 +66,9 @@
// Two-phased constructor.
// -----------------------------------------------------------------------------
//
-CMPSettingsAdvancedBwView* CMPSettingsAdvancedBwView::NewLC(CMPSettingsModelForROP* aModel, TBool iConstructAsGsPlugin)
+CMPSettingsAdvancedBwView* CMPSettingsAdvancedBwView::NewLC(
+ CMPSettingsModelForROP* aModel,
+ TBool iConstructAsGsPlugin )
{
MPX_DEBUG2(_L("#MS# CMPSettingsAdvancedBwView::NewLC(%d)"),iConstructAsGsPlugin);
CMPSettingsAdvancedBwView* self = new(ELeave) CMPSettingsAdvancedBwView(aModel,iConstructAsGsPlugin);
@@ -107,13 +112,13 @@
static_cast<CMPSettingsAdvancedBwContainer*>(iContainer)->EditCurrentItemFromMenuL();
break;
case EAknSoftkeyBack:
- AppUi()->ActivateLocalViewL(KMPSettNetworkViewId);
+ AppUi()->ActivateLocalViewL( KMPSettStreamingViewId );
break;
case EMPSettCmdHelp:
if( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
- {
+ {
HlpLauncher::LaunchHelpApplicationL(iEikonEnv->WsSession(), AppUi()->AppHelpContextL() );
- }
+ }
break;
default:
AppUi()->HandleCommandL(aCommand);
@@ -139,10 +144,10 @@
void CMPSettingsAdvancedBwView::SetNaviPaneL()
{
MPX_FUNC("#MS# CMPSettingsAdvancedBwView::SetNaviPaneL()");
- if (!iGsPlugin)
+ if (!iGsPlugin)
{
- iNaviPaneContext = NULL;
- CMPSettingsBaseView::SetNaviPaneL();
+ iNaviPaneContext = NULL;
+ CMPSettingsBaseView::SetNaviPaneL();
}
CMPSettingsBaseView::SetMiddleSoftKeyLabelL(R_MEDIASETTING_MSK_CHANGE,EMPSettCmdChange);
}
--- a/mediasettings/mediasettingsapp/src/MPSettingsAppUi.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/mediasettings/mediasettingsapp/src/MPSettingsAppUi.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*/
-// Version : %version: 9 %
+// Version : %version: 11 %
@@ -35,8 +35,6 @@
#include "MPSettingsMainView.h"
#include "MPSettingsVideoView.h"
#include "MPSettingsStreamingView.h"
-#include "MPSettingsProxyView.h"
-#include "MPSettingsNetworkView.h"
#include "MPSettingsConstants.h"
#include "MPSettingsPluginView.h"
#include "MPSettingsAdvancedBwView.h"
@@ -44,10 +42,13 @@
#include "mpsettingsmodel.h"
#include "MPSettingsModelForROP.h"
#include "mpxlog.h"
-#include "feedsettingsview.h"
+
+#include <centralrepository.h>
+#include "MediaPlayerPrivateCRKeys.h"
+#include "MediaPlayerVariant.hrh"
// CONSTANTS
-const TInt KMPSettViewIdArrayGranularity = 3;
+const TInt KMPSettViewIdArrayGranularity = 2;
// ================= MEMBER FUNCTIONS =======================
//
@@ -58,7 +59,7 @@
// might leave.
// -----------------------------------------------------------------------------
//
-CMPSettingsAppUi::CMPSettingsAppUi() : iConstructAsGsPlugin(EFalse)
+CMPSettingsAppUi::CMPSettingsAppUi()
{
MPX_DEBUG1(_L("#MS# CMPSettingsAppUi::CMPSettingsAppUi()"));
}
@@ -77,8 +78,9 @@
// Sets up TLS, must be done before FeatureManager is used.
FeatureManager::InitializeLibL();
- CMPSettingsDocument* doc = static_cast<CMPSettingsDocument*>(static_cast<CEikAppUi*>
- (CEikonEnv::Static()->AppUi())->Document());
+ iVideoViewAvailable = VideoContrastIsSupportedL();
+
+ CMPSettingsDocument* doc = static_cast<CMPSettingsDocument*>( Document() );
iModel = doc->SettingsModel();
iRopModel = static_cast<CMPSettingsModelForROP*>(iModel);
@@ -90,52 +92,46 @@
// Construct navipane tabs
iDecoratedTabGroup = iNaviPane->CreateTabGroupL(this);
- // Construct tabs
- AddTabSettingsGroupL();
+ // Construct tabs if we have multiple views
+ if ( iVideoViewAvailable )
+ {
+ AddTabSettingsGroupL();
+ }
// Create vector which contains view id's for all setting folders.
iViewIds = new(ELeave) CArrayFixFlat<TUid>(KMPSettViewIdArrayGranularity);
- iViewIds->AppendL(KMPSettVideoViewId);
- iViewIds->AppendL(KMPSettStreamingViewId);
- iViewIds->AppendL(KMPSettFeedsViewId);
-
- // * Create application views *
+ if ( iVideoViewAvailable )
+ {
+ iViewIds->AppendL( KMPSettVideoViewId );
+ }
+ iViewIds->AppendL( KMPSettStreamingViewId );
+ // Create application views
CAknView* view;
-
- view = CMPSettingsMainView::NewLC(iViewIds,iRopModel,iConstructAsGsPlugin);
+ view = CMPSettingsMainView::NewLC( iViewIds, iRopModel, EFalse );
AddViewL(view); // transfer ownership to CAknViewAppUi
- CleanupStack::Pop(); // view
+ CleanupStack::Pop(); // view
// iMainView is not owned, i.e. it is not deleted in the destructor ->
// main view cannot be directly creted to iMainView, as it's against the coding
// conventions to place class' pointers to cleanup stack => static_cast.
iMainView = static_cast<CMPSettingsMainView*>(view);
- view = CMPSettingsVideoView::NewLC(iRopModel);
- AddViewL(view); // transfer ownership to CAknViewAppUi
- CleanupStack::Pop(); // view
-
- view = CMPSettingsStreamingView::NewLC(iRopModel);
- AddViewL(view); // transfer ownership to CAknViewAppUi
- CleanupStack::Pop(); // view
-
- view = CVcxNsSettingsView::NewLC();
- AddViewL(view); // transfer ownership to CAknViewAppUi
- CleanupStack::Pop(); // view
+ if ( iVideoViewAvailable )
+ {
+ view = CMPSettingsVideoView::NewLC(iRopModel);
+ AddViewL(view); // transfer ownership to CAknViewAppUi
+ CleanupStack::Pop(); // view
+ }
- view = CMPSettingsProxyView::NewLC(iRopModel,iConstructAsGsPlugin);
- AddViewL(view); // transfer ownership to CAknViewAppUi
- CleanupStack::Pop(); // view
-
- view = CMPSettingsNetworkView::NewLC(iRopModel,iConstructAsGsPlugin);
+ CMPSettingsStreamingView* streamingView = CMPSettingsStreamingView::NewLC(iRopModel);
+ view = streamingView;
AddViewL(view); // transfer ownership to CAknViewAppUi
- CleanupStack::Pop(); // view
+ CleanupStack::Pop(); // view
- view = CMPSettingsAdvancedBwView::NewLC(iRopModel,iConstructAsGsPlugin);
+ view = CMPSettingsAdvancedBwView::NewLC( iRopModel, EFalse );
AddViewL(view); // transfer ownership to CAknViewAppUi
- CleanupStack::Pop(); // view
-
+ CleanupStack::Pop(); // view
// Construct plug-in views (if any exists)
CMPSettingsPluginView::ListImplementationsL(iImplInfoArray);
@@ -164,7 +160,14 @@
User::LeaveIfError(iViewIds->Sort(sortKey));
}
- SetDefaultViewL(*iMainView);
+ if ( iVideoViewAvailable && iMainView )
+ {
+ SetDefaultViewL(*iMainView);
+ }
+ else if ( streamingView )
+ {
+ SetDefaultViewL(*streamingView);
+ }
}
// ----------------------------------------------------
@@ -176,20 +179,15 @@
CMPSettingsAppUi::~CMPSettingsAppUi()
{
MPX_DEBUG1(_L("#MS# CMPSettingsAppUi::~CMPSettingsAppUi()"));
- if (iDecoratedTabGroup)
- {
- delete iDecoratedTabGroup;
- }
+
+ delete iDecoratedTabGroup;
if (iDoorObserver)
{
iDoorObserver->NotifyExit(MApaEmbeddedDocObserver::EEmpty);
}
- if (iViewIds)
- {
- delete iViewIds;
- }
+ delete iViewIds;
iImplInfoArray.ResetAndDestroy();
FeatureManager::UnInitializeLib();
@@ -233,7 +231,6 @@
}
}
-
// ----------------------------------------------------
// CMPSettingsAppUi::TabChangedL
// MAknTabObserver callback for handling tab changed event.
@@ -274,7 +271,10 @@
void CMPSettingsAppUi::UpdateTabIndex()
{
MPX_DEBUG1(_L("#MS# CMPSettingsAppUi::UpdateTabIndex()"));
- iTabGroup->SetActiveTabByIndex(iMainView->ActiveFolder());
+ if ( iTabGroup )
+ {
+ iTabGroup->SetActiveTabByIndex( iMainView->ActiveFolder() );
+ }
}
// ------------------------------------------------------------------------------
@@ -309,7 +309,6 @@
return iTabGroup->OfferKeyEventL(aKeyEvent, aType);
}
-
// ----------------------------------------------------
// CMPSettingsAppUi::AddTabSettingsGroupL()
// (Re)create tab group with skin support
@@ -331,7 +330,7 @@
iTabGroup = static_cast<CAknTabGroup*>
(iDecoratedTabGroup->DecoratedControl());
- iTabGroup->SetTabFixedWidthL(KTabWidthWithThreeTabs);
+ iTabGroup->SetTabFixedWidthL(KTabWidthWithTwoTabs);
HBufC* mbmpath = StringLoader::LoadLC(R_MPSETT_ICON_MBM_FILE);
@@ -361,12 +360,6 @@
EMbmMediasettingsQgn_prop_set_mp_stream_tab2,
EMbmMediasettingsQgn_prop_set_mp_stream_tab2_mask,
EMPViewStreamTab);
-
- AddTabSettingsL(KAknsIIDQgnPropSetMpStreamTab3,
- fileName,
- EMbmMediasettingsQgn_prop_set_mp_video_tab3,
- EMbmMediasettingsQgn_prop_set_mp_video_tab3_mask,
- EMPViewFeedsTab);
CleanupStack::PopAndDestroy(); // mbmpath
@@ -411,4 +404,36 @@
CleanupStack::Pop(2); // bitmap, mask
}
+// ----------------------------------------------------
+// CMPSettingsAppUi::ActivateLocalViewL
+// ----------------------------------------------------
+//
+void CMPSettingsAppUi::ActivateLocalViewL( TUid aViewId )
+ {
+ if ( !iVideoViewAvailable &&
+ aViewId == KMPSettMainViewId )
+ {
+ HandleCommandL( EEikCmdExit );
+ }
+ else
+ {
+ CAknViewAppUi::ActivateLocalViewL( aViewId );
+ }
+ }
+
+// ----------------------------------------------------
+// CMPSettingsAppUi::VideoContrastIsSupportedL
+// ----------------------------------------------------
+//
+TBool CMPSettingsAppUi::VideoContrastIsSupportedL()
+ {
+ TInt flags = 0;
+
+ CRepository* repository = CRepository::NewL( KCRUidMediaPlayerFeatures );
+ repository->Get( KMPLocalVariation, flags );
+ delete repository;
+
+ return ( flags & KMediaPlayerVideoContrast );
+ }
+
// End of File
--- a/mediasettings/mediasettingsapp/src/MPSettingsMainContainer.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/mediasettings/mediasettingsapp/src/MPSettingsMainContainer.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*/
-// Version : %version: 9 %
+// Version : %version: 10 %
@@ -43,7 +43,7 @@
#include "mpxlog.h"
// CONSTANTS
-const TInt KIconArrayGranularity = 3;
+const TInt KIconArrayGranularity = 2;
// ============================ MEMBER FUNCTIONS ===============================
@@ -226,13 +226,7 @@
EMbmMediasettingsQgn_prop_set_mp_stream_sub,
EMbmMediasettingsQgn_prop_set_mp_stream_sub_mask );
- AppendIconToArrayL(
- icons,
- KAknsIIDQgnPropSetMpVideoSub,
- fileName,
- EMbmMediasettingsQgn_prop_set_service,
- EMbmMediasettingsQgn_prop_set_service_mask );
-
+
CleanupStack::Pop(); // icons
CleanupStack::PopAndDestroy(); // mbmpath
--- a/mediasettings/mediasettingsapp/src/MPSettingsMainView.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/mediasettings/mediasettingsapp/src/MPSettingsMainView.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*/
-// Version : %version: 7 %
+// Version : %version: 8 %
@@ -107,14 +107,14 @@
HandleListBoxSelectionL();
break;
case EAknSoftkeyBack:
- if (iGsPlugin)
- {
+ if ( iGsPlugin )
+ {
AppUi()->ActivateLocalViewL( KGSVideoPluginUid );
- }
+ }
else
- {
+ {
AppUi()->HandleCommandL(EEikCmdExit);
- }
+ }
break;
default:
AppUi()->HandleCommandL(aCommand);
@@ -210,7 +210,10 @@
view->SetCurrentItem(KMPSettTopItemIndex);
}
- AppUi()->ActivateLocalViewL(iViewIds->At(iCurrentItem));
+ if ( iCurrentItem < count )
+ {
+ AppUi()->ActivateLocalViewL(iViewIds->At(iCurrentItem));
+ }
}
--- a/mediasettings/mediasettingsapp/src/MPSettingsStreamingContainer.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/mediasettings/mediasettingsapp/src/MPSettingsStreamingContainer.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*/
-// Version : %version: 7 %
+// Version : %version: 8 %
@@ -27,6 +27,7 @@
#include "MPSettingsApp.h"
#include "MPSettingsStreamingContainer.h"
+#include "MPSettingsStreamingSettingItemList.h"
#include "MPSettingsConstants.h"
#include "mpxlog.h"
@@ -52,10 +53,8 @@
CMPSettingsStreamingContainer::~CMPSettingsStreamingContainer()
{
MPX_DEBUG1(_L("#MS# CMPSettingsStreamingContainer::~CMPSettingsStreamingContainer()"));
- if (iListBox)
- {
- delete iListBox;
- }
+
+ delete iSettingList;
}
// ---------------------------------------------------------
@@ -65,19 +64,13 @@
void CMPSettingsStreamingContainer::ConstructComponentControlsL()
{
MPX_FUNC("#MS# CMPSettingsStreamingContainer::ConstructComponentControlsL()");
- iListBox = new(ELeave) CAknSettingStyleListBox;
-
- iListBox->SetContainerWindowL(*this); // set's iListBox to be contained in this container
+
+ iSettingList = new(ELeave) CMPSettingsStreamingSettingItemList( iModel );
+ iSettingList->SetContainerWindowL( *this );
+ iSettingList->ConstructFromResourceL( R_MPSETT_STREAMING_SETTING_ITEM_LIST );
- TResourceReader rReader;
- iCoeEnv->Static()->CreateResourceReaderLC(rReader, R_MPSETT_STREAMING_LBX_RESOURCE);
- iListBox->ConstructFromResourceL(rReader); // construct's iListBox from resource file
- CleanupStack::PopAndDestroy(); // rReader
-
- iListBox->CreateScrollBarFrameL(ETrue);
- iListBox->ScrollBarFrame()->SetScrollBarVisibilityL(CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto);
-
- iComponentControl = iListBox;
+ iComponentControl = iSettingList;
+ iListBox = iSettingList->ListBox();
}
// ---------------------------------------------------------
@@ -105,7 +98,7 @@
// ---------------------------------------------------------
//
void CMPSettingsStreamingContainer::FocusChanged(TDrawNow /*aDrawNow*/)
-{
+ {
if( iListBox)
{
iListBox->SetFocus( IsFocused() );
@@ -115,5 +108,16 @@
{
iComponentControl->SetFocus( IsFocused() );
}
-}
+ }
+
+// ---------------------------------------------------------
+// CMPSettingsStreamingContainer::EditCurrentItemFromMenuL
+// ---------------------------------------------------------
+//
+void CMPSettingsStreamingContainer::EditCurrentItemFromMenuL(TBool iMenuOption)
+ {
+ MPX_DEBUG2(_L("#MS# CMPSettingsProxyContainer::EditCurrentItemFromMenuL(%d)"),iMenuOption);
+ TInt index = iListBox->CurrentItemIndex();
+ iSettingList->EditItemL(index, iMenuOption);
+ }
// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mediasettings/mediasettingsapp/src/MPSettingsStreamingSettingItemList.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -0,0 +1,457 @@
+/*
+* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+// Version : %version: 3 %
+
+
+
+
+// INCLUDE FILES
+#include <eikappui.h>
+#include <akntextsettingpage.h>
+#include <barsread.h>
+
+#include <cmmanagerext.h>
+#include <cmdestinationext.h>
+#include <cmapplicationsettingsui.h>
+
+#include "mediasettings.hrh"
+#include "MPSettingsStreamingSettingItemList.h"
+#include "MPSettingsUDPPortSettingItem.h"
+#include "MPSettingsModelForROP.h"
+#include "mpxlog.h"
+
+// CONSTANTS
+const TInt KMPSettProxyHostListItemId = 4;
+const TInt KMPSettProxyPortListItemId = 5;
+const TInt KMPSettProxyHostMaxLength = 1000;
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CMPSettingsStreamingSettingItemList::CMPSettingsStreamingSettingItemList
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CMPSettingsStreamingSettingItemList::CMPSettingsStreamingSettingItemList(
+ CMPSettingsModelForROP* aModel )
+ : iModel( aModel),
+ iProxyHostPtr(NULL, 0)
+ {
+ MPX_DEBUG1(_L("#MS# CMPSettingsStreamingSettingItemList::CMPSettingsStreamingSettingItemList()"));
+ }
+
+// -----------------------------------------------------------------------------
+// CMPSettingsStreamingSettingItemList::ConstructFromResourceL
+// -----------------------------------------------------------------------------
+//
+void CMPSettingsStreamingSettingItemList::ConstructFromResourceL(TInt aResourceId)
+ {
+ MPX_DEBUG2(_L("#MS# CMPSettingsStreamingSettingItemList::ConstructFromResourceL(0x%X)"),aResourceId);
+ TResourceReader reader;
+ iCoeEnv->CreateResourceReaderLC(reader, aResourceId);
+ ConstructFromResourceL(reader);
+ CleanupStack::PopAndDestroy(); // reader
+ }
+
+// -----------------------------------------------------------------------------
+// CMPSettingsStreamingSettingItemList::ConstructFromResourceL
+// -----------------------------------------------------------------------------
+//
+void CMPSettingsStreamingSettingItemList::ConstructFromResourceL(TResourceReader& aReader)
+ {
+ MPX_DEBUG1(_L("#MS# CMPSettingsStreamingSettingItemList::ConstructFromResourceL()"));
+ LoadAllL();
+ CAknSettingItemList::ConstructFromResourceL(aReader);
+ SetItemVisibilityL();
+ }
+
+// -----------------------------------------------------------------------------
+// CMPSettingsStreamingSettingItemList::~CMPSettingsStreamingSettingItemList
+// Destructor
+// -----------------------------------------------------------------------------
+//
+CMPSettingsStreamingSettingItemList::~CMPSettingsStreamingSettingItemList()
+ {
+ MPX_DEBUG1(_L("#MS# CMPSettingsStreamingSettingItemList::~CMPSettingsStreamingSettingItemList()"));
+
+ delete iProxyHost;
+ }
+
+// -----------------------------------------------------------------------------
+// CMPSettingsStreamingSettingItemList::EditItemL
+// -----------------------------------------------------------------------------
+//
+void CMPSettingsStreamingSettingItemList::EditItemL(TInt aIndex, TBool aCalledFromMenu)
+ {
+ MPX_DEBUG3(_L("#MS# CMPSettingsStreamingSettingItemList::EditItemL(%d,%d)"),aIndex,aCalledFromMenu);
+ CAknSettingItem* settingItem = SettingItemArray()->At(aIndex);
+ TInt identifier = settingItem->Identifier();
+
+ if ( identifier == EMPSettDefaultAPSettingId )
+ {
+ LaunchConnectionSelectionL();
+ }
+ else
+ {
+ // Call base call's method
+ CAknSettingItemList::EditItemL(aIndex, aCalledFromMenu);
+ }
+
+ // Store setting value to settings model
+ settingItem->StoreL();
+ StoreSettingL(identifier);
+
+ // Hide/unhide Proxy port & Proxy host settings according to Proxy mode.
+ if (identifier == EMPSettProxyModeSettingId ||
+ identifier == EMPSettDefaultAPSettingId )
+ {
+ SetItemVisibilityL();
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CMPSettingsStreamingSettingItemList::CreateSettingItemL
+// -----------------------------------------------------------------------------
+//
+CAknSettingItem* CMPSettingsStreamingSettingItemList::CreateSettingItemL(TInt aSettingId)
+ {
+ MPX_DEBUG2(_L("#MS# CMPSettingsStreamingSettingItemList::CreateSettingItemL(%d)"),aSettingId);
+ __ASSERT_DEBUG(iProxyHost, User::Leave(KErrAbort));
+
+ CAknSettingItem* settingItem = NULL;
+
+ switch ( aSettingId )
+ {
+ case EMPSettProxyModeSettingId:
+ iSettingProxyItem = new(ELeave) CAknBinaryPopupSettingItem( aSettingId,
+ iProxyMode );
+ settingItem = iSettingProxyItem;
+ break;
+
+ case EMPSettProxyHostSettingId:
+ {
+ settingItem = new(ELeave) CAknTextSettingItem(aSettingId, iProxyHostPtr);
+ settingItem->SetSettingPageFlags(CAknTextSettingPage::EZeroLengthAllowed);
+ break;
+ }
+
+ case EMPSettProxyPortSettingId:
+ settingItem = new(ELeave) CAknIntegerEdwinSettingItem(aSettingId, iProxyPort);
+ break;
+
+ case EMPSettDefaultAPSettingId:
+ iSettingConnectionItem = new (ELeave) CAknTextSettingItem( aSettingId,
+ iSelectedApName );
+ settingItem = iSettingConnectionItem;
+ break;
+
+ case EMPSettMinUDPPortSettingId:
+ settingItem = new(ELeave) CMPSettingsUDPPortSettingItem( aSettingId,
+ iMinUDPPort,
+ iMaxUDPPort);
+ break;
+
+ case EMPSettMaxUDPPortSettingId:
+ settingItem = new(ELeave) CMPSettingsUDPPortSettingItem( aSettingId,
+ iMaxUDPPort,
+ iMinUDPPort);
+ break;
+
+ default:
+ break;
+ }
+
+ return settingItem;
+ }
+
+// -----------------------------------------------------------------------------
+// CMPSettingsStreamingSettingItemList::SetItemVisibilityL
+// -----------------------------------------------------------------------------
+//
+void CMPSettingsStreamingSettingItemList::SetItemVisibilityL()
+ {
+ MPX_DEBUG2(_L("#MS# CMPSettingsStreamingSettingItemList::SetItemVisibilityL() iProxyMode(%d)"),iProxyMode);
+ SettingItemArray()->At(KMPSettProxyHostListItemId)->SetHidden( !iProxyMode );
+ SettingItemArray()->At(KMPSettProxyPortListItemId)->SetHidden( !iProxyMode );
+
+ HandleChangeInItemArrayOrVisibilityL();
+
+ if ( ListBox() )
+ {
+ // Scrollbar update is required for the case when items are set hidden
+ // while list is scrolled down.
+ ListBox()->UpdateScrollBarsL();
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CMPSettingsStreamingSettingItemList::LoadAllL
+// -----------------------------------------------------------------------------
+//
+void CMPSettingsStreamingSettingItemList::LoadAllL()
+ {
+ MPX_DEBUG1(_L("#MS# CMPSettingsStreamingSettingItemList::LoadAllL()"));
+ iModel->LoadSettingsL(EConfigUser);
+ LoadSettingL(EMPSettProxyModeSettingId);
+ LoadSettingL(EMPSettProxyHostSettingId);
+ LoadSettingL(EMPSettProxyPortSettingId);
+ LoadSettingL(EMPSettDefaultAPSettingId);
+ LoadSettingL(EMPSettMinUDPPortSettingId);
+ LoadSettingL(EMPSettMaxUDPPortSettingId);
+ }
+
+// -----------------------------------------------------------------------------
+// CMPSettingsStreamingSettingItemList::LoadSettingL
+// -----------------------------------------------------------------------------
+//
+void CMPSettingsStreamingSettingItemList::LoadSettingL(TInt aSettingId)
+ {
+ MPX_DEBUG2(_L("#MS# CMPSettingsStreamingSettingItemList::LoadSettingL(%d)"),aSettingId);
+ switch ( aSettingId )
+ {
+ case EMPSettDefaultAPSettingId:
+ {
+ iModel->GetDefaultAp( iDefaultAP );
+
+ if ( iDefaultAP != 0 )
+ {
+ UpdateSelectedConnectionNameL();
+ }
+ }
+ break;
+
+ case EMPSettConnTimeoutSettingId:
+ iModel->GetConnectionTimeout(iConnTimeout);
+ break;
+
+ case EMPSettServerTimeoutSettingId:
+ iModel->GetServerTimeout(iSrvTimeout);
+ break;
+
+ case EMPSettMinUDPPortSettingId:
+ iModel->GetMinUDPPort(iMinUDPPort);
+ break;
+
+ case EMPSettMaxUDPPortSettingId:
+ iModel->GetMaxUDPPort(iMaxUDPPort);
+ break;
+
+ case EMPSettProxyModeSettingId:
+ iModel->GetProxyMode(iProxyMode);
+ break;
+
+ case EMPSettProxyHostSettingId:
+ {
+ if (!iProxyHost)
+ {
+ iProxyHost = HBufC::NewL(KMPSettProxyHostMaxLength);
+ iProxyHostPtr.Set(iProxyHost->Des());
+ }
+
+ iModel->GetProxyHostName(iProxyHostPtr);
+ break;
+ }
+ case EMPSettProxyPortSettingId:
+ iModel->GetProxyPort(iProxyPort);
+ break;
+
+ default:
+ break;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CMPSettingsStreamingSettingItemList::StoreSettingL
+// -----------------------------------------------------------------------------
+//
+void CMPSettingsStreamingSettingItemList::StoreSettingL(TInt aSettingId)
+ {
+ MPX_DEBUG2(_L("#MS# CMPSettingsStreamingSettingItemList::StoreSettingL(%d)"),aSettingId);
+ switch (aSettingId)
+ {
+ case EMPSettDefaultAPSettingId:
+ iModel->SetDefaultAp(iDefaultAP);
+ break;
+ case EMPSettConnTimeoutSettingId:
+ iModel->SetConnectionTimeout(iConnTimeout);
+ break;
+ case EMPSettServerTimeoutSettingId:
+ iModel->SetServerTimeout(iSrvTimeout);
+ break;
+ case EMPSettMinUDPPortSettingId:
+ iModel->SetMinUDPPort(iMinUDPPort);
+ break;
+ case EMPSettMaxUDPPortSettingId:
+ iModel->SetMaxUDPPort(iMaxUDPPort);
+ break;
+ case EMPSettProxyModeSettingId:
+ iModel->SetProxyMode(iProxyMode);
+ break;
+ case EMPSettProxyHostSettingId:
+ iModel->SetProxyHostNameL(*iProxyHost);
+ break;
+ case EMPSettProxyPortSettingId:
+ iModel->SetProxyPort(iProxyPort);
+ break;
+ default:
+ break;
+ }
+
+ iModel->StoreSettingsL();
+ }
+
+// --------------------------------------------------------------------------
+// CMPSettingsStreamingSettingItemList::LaunchConnectionSelectionL()
+// --------------------------------------------------------------------------
+//
+void CMPSettingsStreamingSettingItemList::LaunchConnectionSelectionL()
+ {
+ MPX_FUNC("#MS# CMPSettingsStreamingSettingItemList::LaunchConnectionSelectionL()");
+
+ CCmApplicationSettingsUi* settingsUi = CCmApplicationSettingsUi::NewL();
+ CleanupStack::PushL ( settingsUi );
+
+ TCmSettingSelection selection;
+ selection.iId = iDefaultAP;
+ selection.iResult = CMManager::EConnectionMethod;
+
+ TUint listItems = CMManager::EShowConnectionMethods;
+ TBearerFilterArray filters;
+
+ TBool retVal = settingsUi->RunApplicationSettingsL( selection, listItems, filters );
+ if ( retVal )
+ {
+ TBool iapChanged = EFalse;
+
+ switch ( selection.iResult )
+ {
+ case CMManager::EDestination:
+ break;
+
+ case CMManager::EAlwaysAsk:
+ {
+ iDefaultAP = 0; // Set AP to "None"
+ }
+ break;
+
+ case CMManager::EConnectionMethod:
+ {
+ if ( selection.iId != iDefaultAP)
+ {
+ iDefaultAP = selection.iId;
+ iapChanged = ETrue;
+ }
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ if ( iapChanged )
+ {
+ UpdateSelectedConnectionNameL( );
+
+ if ( iSettingConnectionItem )
+ {
+ iSettingConnectionItem->LoadL ( );
+ iSettingConnectionItem->UpdateListBoxTextL ( );
+ }
+
+ CheckProxyDisableL();
+
+ DrawDeferred();
+ }
+ }
+ CleanupStack::PopAndDestroy ( settingsUi );
+ }
+
+// --------------------------------------------------------------------------
+// CMPSettingsStreamingSettingItemList::CheckProxyDisableL()
+// --------------------------------------------------------------------------
+//
+void CMPSettingsStreamingSettingItemList::CheckProxyDisableL()
+ {
+ if ( iProxyMode && iSettingProxyItem )
+ {
+ iSettingProxyItem->EditItemL( EFalse );
+
+ iSettingProxyItem->StoreL();
+ StoreSettingL( EMPSettProxyModeSettingId );
+
+ iSettingProxyItem->LoadL();
+ iSettingProxyItem->UpdateListBoxTextL();
+ }
+ }
+
+// --------------------------------------------------------------------------
+// CMPSettingsStreamingSettingItemList::UpdateSelectedConnectionNameL
+// --------------------------------------------------------------------------
+//
+void CMPSettingsStreamingSettingItemList::UpdateSelectedConnectionNameL()
+ {
+ MPX_FUNC("#MS# CMPSettingsStreamingSettingItemList::UpdateSelectedConnectionNameL()");
+
+ RCmManagerExt cmManager;
+ RCmConnectionMethodExt connMethod;
+
+ CleanupClosePushL( cmManager );
+ CleanupClosePushL( connMethod );
+
+ cmManager.OpenL();
+
+ // This leaves if conn method is not found.
+ TRAPD( leave, connMethod = cmManager.ConnectionMethodL( iDefaultAP ) );
+ if ( KErrNone == leave )
+ {
+ HBufC* tmpBuf =
+ cmManager.GetConnectionMethodInfoStringL( iDefaultAP, CMManager::ECmName);
+
+ if( tmpBuf )
+ {
+ if ( tmpBuf->Length() < KMaxApNameLength )
+ {
+ iSelectedApName = *tmpBuf;
+ }
+ delete tmpBuf;
+ }
+ }
+
+ CleanupStack::PopAndDestroy( &connMethod );
+ CleanupStack::PopAndDestroy( &cmManager );
+ }
+
+// --------------------------------------------------------------------------
+// CMPSettingsStreamingSettingItemList::HandleListBoxEventL()
+// --------------------------------------------------------------------------
+//
+void CMPSettingsStreamingSettingItemList::HandleListBoxEventL(
+ CEikListBox* aListBox,
+ TListBoxEvent aListBoxEvent )
+ {
+ if ( ( aListBoxEvent == EEventEnterKeyPressed ) ||
+ ( aListBoxEvent == EEventItemSingleClicked ) ||
+ ( aListBoxEvent == EEventItemDoubleClicked ) )
+ {
+ CAknSettingItemList::HandleListBoxEventL( aListBox, aListBoxEvent );
+ }
+ }
+
+// End of File
--- a/mediasettings/mediasettingsapp/src/MPSettingsStreamingView.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/mediasettings/mediasettingsapp/src/MPSettingsStreamingView.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*/
-// Version : %version: 7 %
+// Version : %version: 8 %
@@ -26,6 +26,7 @@
#include <featmgr.h>
#include <hlplch.h> // For HlpLauncher
#include "mediasettings.hrh"
+#include "MPSettingsAppUi.h"
#include "MPSettingsNaviPaneController.h"
#include "MPSettingsStreamingView.h"
#include "MPSettingsStreamingContainer.h"
@@ -34,10 +35,6 @@
class CMPSettingsModelForROP;
-// CONSTANTS
-
-const TInt KMPSettProxyViewListItemId = 0;
-const TInt KMPSettNetworkViewListItemId = 1;
// ================= MEMBER FUNCTIONS =======================
@@ -47,10 +44,11 @@
// might leave.
// -----------------------------------------------------------------------------
//
-CMPSettingsStreamingView::CMPSettingsStreamingView(CMPSettingsModelForROP* aModel) : iModel( aModel)
+CMPSettingsStreamingView::CMPSettingsStreamingView(CMPSettingsModelForROP* aModel)
+ : iModel( aModel)
{
- MPX_FUNC("#MS# CMPSettingsStreamingView::CMPSettingsStreamingView()");
- iNaviPaneContext = iNaviCntrl->MPTabGroup();
+ MPX_FUNC("#MS# CMPSettingsStreamingView::CMPSettingsStreamingView()");
+ iNaviPaneContext = iNaviCntrl->MPTabGroup();
}
// ---------------------------------------------------------
@@ -109,17 +107,29 @@
MPX_DEBUG2(_L("#MS# CMPSettingsStreamingView::HandleCommandL(%d)"),aCommand);
switch (aCommand)
{
+ case EMPSettCmdChange:
+ static_cast<CMPSettingsStreamingContainer*>(iContainer)->EditCurrentItemFromMenuL(ETrue);
+ break;
+ case EMPMiddleSoftKeyChange:
+ static_cast<CMPSettingsStreamingContainer*>(iContainer)->EditCurrentItemFromMenuL(EFalse);
+ break;
+ case EMPSettCmdAdvancedSett:
+ AppUi()->ActivateLocalViewL( KMPSettAdvancedBwViewId );
+ break;
case EMPSettCmdOpen:
- HandleListBoxSelectionL();
break;
case EAknSoftkeyBack:
- AppUi()->ActivateLocalViewL(KMPSettMainViewId);
+ {
+ // If video view is empty, then exit Settings
+ CMPSettingsAppUi* appUi = static_cast<CMPSettingsAppUi*>(AppUi());
+ appUi->ActivateLocalViewL( KMPSettMainViewId );
+ }
break;
case EMPSettCmdHelp:
if( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
- {
+ {
HlpLauncher::LaunchHelpApplicationL(iEikonEnv->WsSession(), AppUi()->AppHelpContextL() );
- }
+ }
break;
default:
AppUi()->HandleCommandL(aCommand);
@@ -137,24 +147,6 @@
return new(ELeave) CMPSettingsStreamingContainer(iModel);
}
-// ---------------------------------------------------------------------------
-// CMPSettingsStreamingView::HandleListBoxEventL
-// ---------------------------------------------------------------------------
-
-void CMPSettingsStreamingView::HandleListBoxEventL(CEikListBox* /*aListBox*/, TListBoxEvent aEventType)
- {
- MPX_FUNC("#MS# CMPSettingsStreamingView::HandleListBoxEventL()");
- switch (aEventType)
- {
- case EEventEnterKeyPressed:
- case EEventItemSingleClicked:
- case EEventItemDoubleClicked:
- HandleListBoxSelectionL();
- break;
- default:
- break;
- }
- }
// ---------------------------------------------------------------------------
// CMPSettingsStreamingView::DynInitContainerL
@@ -165,7 +157,6 @@
MPX_FUNC("#MS# CMPSettingsStreamingView::DynInitContainerL()");
CEikTextListBox* listbox = iContainer->ListBox();
- listbox->SetListBoxObserver(this);
listbox->SetTopItemIndex(iTopItemIndex);
if (iCurrentItem >= 0 && iCurrentItem < listbox->Model()->NumberOfItems()) // magic
@@ -175,35 +166,6 @@
CMPSettingsBaseView::SetMiddleSoftKeyLabelL(R_MEDIASETTING_MSK_OPEN,EMPSettCmdOpen);
}
-// ---------------------------------------------------------------------------
-// CMPSettingsStreamingView::HandleListBoxSelectionL()
-// Handles listbox selection.
-// ---------------------------------------------------------------------------
-//
-void CMPSettingsStreamingView::HandleListBoxSelectionL()
- {
- iCurrentItem = iContainer->ListBox()->CurrentItemIndex();
- iTopItemIndex = iContainer->ListBox()->TopItemIndex();
- MPX_DEBUG3(_L("#MS# CMPSettingsStreamingView::HandleListBoxSelectionL() iCurrentItem(%d) iTopItemIndex(%d)"),iCurrentItem,iTopItemIndex);
-
- switch (iCurrentItem)
- {
- case KMPSettProxyViewListItemId:
- if (!FeatureManager::FeatureSupported(KFeatureIdProtocolCdma))
- {
- // If KFeatureIdProtocolCdma is not supported then show the
- // Proxy view. Otherwise, fall through to show Network view because
- // only Network setting is available.
- AppUi()->ActivateLocalViewL(KMPSettProxyViewId);
- break;
- }
- case KMPSettNetworkViewListItemId:
- AppUi()->ActivateLocalViewL(KMPSettNetworkViewId);
- break;
- default:
- break;
- }
- }
// End of File
--- a/mediasettings/mediasettingsapp/src/MPSettingsVideoSettingItemList.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/mediasettings/mediasettingsapp/src/MPSettingsVideoSettingItemList.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*/
-// Version : %version: 19 %
+// Version : %version: 20 %
@@ -24,10 +24,6 @@
#include <eikappui.h>
#include <MediaSettings.rsg>
#include <StringLoader.h>
-#include <swi/sisregistrysession.h>
-#include <swi/sisregistryentry.h>
-#include <AknCommonDialogsDynMem.h>
-#include <CAknMemorySelectionDialogMultiDrive.h>
#include <cmmanagerext.h>
#include <cmdestinationext.h>
#include <cmapplicationsettingsui.h>
@@ -44,14 +40,6 @@
#include "mpxlog.h"
-const TInt KParentControlAdult( 18 );
-const TInt KParentControlMinAge( 4 );
-const TInt KParentControlIndexShift( 3 );
-const TInt KParentControlMaxIndex( 15 );
-const TInt KParentControlSelections( 16 );
-const TInt KParentControlOff( 0 );
-
-
// ============================ MEMBER FUNCTIONS ===============================
// -----------------------------------------------------------------------------
@@ -61,8 +49,11 @@
// -----------------------------------------------------------------------------
//
CMPSettingsVideoSettingItemList::CMPSettingsVideoSettingItemList(
- CMPSettingsModelForROP* aModel, CVcxNsSettingsEngine& aVideoSettingsEngine) :
- iModel(aModel), iVideoSettingsEngine(aVideoSettingsEngine), iRockerKeysSupported(EFalse)
+ CMPSettingsModelForROP* aModel,
+ CVcxNsSettingsEngine& aVideoSettingsEngine)
+ : iModel( aModel ),
+ iVideoSettingsEngine(aVideoSettingsEngine),
+ iRockerKeysSupported( EFalse )
{
CMPSettingsAppUi* AppUi =
static_cast<CMPSettingsAppUi*> (CCoeEnv::Static()->AppUi());
@@ -85,7 +76,6 @@
CMPSettingsVideoSettingItemList::~CMPSettingsVideoSettingItemList()
{
MPX_DEBUG1(_L("#MS# CMPSettingsVideoSettingItemList::~CMPSettingsVideoSettingItemList()"));
- delete iDriveMonitor;
}
// -----------------------------------------------------------------------------
@@ -110,31 +100,7 @@
CAknSettingItemList::EditItemL( itemIndex, aCalledFromMenu );
break;
}
-
- case EVcSettingsViewParentControlItem:
- {
- EditParentControlItemL( itemIndex, aCalledFromMenu );
- break;
- }
-
- case EVcSettingsViewMemoryItem:
- {
- EditPreferredMemoryItemL( itemIndex, aCalledFromMenu );
- break;
- }
-
- case EVcSettingsViewThumbnails:
- {
- EditThumbnailItemL( itemIndex, aCalledFromMenu );
- break;
- }
- case EVcSettingsviewIadUpdateItem:
- {
- // Not editable
- storeModifiedSetting = EFalse;
- }
- break;
-
+
default:
break;
}
@@ -160,140 +126,6 @@
}
}
-// -----------------------------------------------------------------------------
-// CMPSettingsVideoSettingItemList::EditThumbnailItemL
-// -----------------------------------------------------------------------------
-//
-void CMPSettingsVideoSettingItemList::EditThumbnailItemL( TInt itemIndex, TBool aCalledFromMenu )
- {
- if ( aCalledFromMenu )
- {
- CAknSettingItemList::EditItemL( itemIndex, aCalledFromMenu);
- (*SettingItemArray())[itemIndex]->StoreL();
- }
- else
- {
- if (iSettingThumbnails)
- {
- iSettingThumbnails = 0;
- }
- else
- {
- iSettingThumbnails = 1;
- }
- (*SettingItemArray())[itemIndex]->LoadL();
- (*SettingItemArray())[itemIndex]->UpdateListBoxTextL();
- }
-
- iVideoSettingsEngine.SetVideoOnDemandThumbnails(
- iSettingThumbnails);
- DrawDeferred();
- }
-
-// -----------------------------------------------------------------------------
-// CMPSettingsVideoSettingItemList::EditParentControlItemL
-// -----------------------------------------------------------------------------
-//
-void CMPSettingsVideoSettingItemList::EditParentControlItemL(
- TInt itemIndex,
- TBool aCalledFromMenu )
- {
- if (!iLockCodeAccepted)
- {
- iLockCodeAccepted = iVideoSettingsEngine.CheckLockCodeL();
- }
- if (iLockCodeAccepted)
- {
- // can edit setting
- iParentControlIndex = GetCurrentParentControl();
- CAknSettingItemList::EditItemL( itemIndex, aCalledFromMenu );
- (*SettingItemArray())[itemIndex]->StoreL();
- }
-
- SetCurrentParentControl( iParentControlIndex );
- iParentControlIndex = GetCurrentParentControl();
- }
-
-// -----------------------------------------------------------------------------
-// CMPSettingsVideoSettingItemList::EditPreferredMemoryItemL
-// -----------------------------------------------------------------------------
-//
-void CMPSettingsVideoSettingItemList::EditPreferredMemoryItemL(
- TInt itemIndex,
- TBool
-#ifndef RD_MULTIPLE_DRIVE_ENABLERS
- aCalledFromMenu
-#endif
- )
- {
- TInt drive;
- iVideoSettingsEngine.GetUsedMemoryL(drive);
- iSettingMemory = iDriveMonitor->ArrayPos(drive);
- if (iSettingMemory == KErrNotFound)
- {
- iSettingMemory = 0;
- }
-
-#ifndef RD_MULTIPLE_DRIVE_ENABLERS
- const TInt KThree( 3 );
- if ( iDriveMonitor->iAvailableDrives.Count() < KThree && !aCalledFromMenu )
- {
- if ( iSettingMemory == 1 )
- {
- iSettingMemory = 0;
- }
- else
- {
- iSettingMemory = 1;
- }
- }
- else
- {
- CAknSettingItemList::EditItemL( aIndex, aCalledFromMenu );
- ( *SettingItemArray() )[aIndex]->StoreL();
- }
-#else
-
- TBool driveSelected(EFalse);
-
- TDriveNumber selectedMem;
- TInt includedMedias = 0;
-
- if (iDriveMonitor->PhoneMemoryDrive() != KErrNotFound)
- {
- includedMedias = AknCommonDialogsDynMem::EMemoryTypePhone;
- }
-
- includedMedias |= AknCommonDialogsDynMem::EMemoryTypeMMCExternal
- | AknCommonDialogsDynMem::EMemoryTypeInternalMassStorage;
-
- CAknMemorySelectionDialogMultiDrive* dlg =
- CAknMemorySelectionDialogMultiDrive::NewL(
- ECFDDialogTypeSelect,
- R_MTV_MEMORY_SELECTION_DIALOG, EFalse,
- includedMedias);
- CleanupStack::PushL(dlg);
- driveSelected = dlg->ExecuteL(selectedMem);
- CleanupStack::PopAndDestroy(dlg);
-
- if (driveSelected)
- {
- iSettingMemory = iDriveMonitor->ArrayPos(selectedMem);
- }
-
-#endif
-
- if ( iSettingMemory != KErrNotFound )
- {
- (*SettingItemArray())[itemIndex]->LoadL();
- (*SettingItemArray())[itemIndex]->UpdateListBoxTextL();
-
- iVideoSettingsEngine.SetUsedMemory(
- iDriveMonitor->iAvailableDrives[iSettingMemory].iDrive );
- }
- DrawDeferred();
- }
-
// --------------------------------------------------------------------------
// CMPSettingsVideoSettingItemList::HandleListBoxEventL()
// --------------------------------------------------------------------------
@@ -356,8 +188,6 @@
LoadAllL();
CAknSettingItemList::LoadSettingsL();
-
- FinishConstructionL();
}
// -----------------------------------------------------------------------------
@@ -382,58 +212,6 @@
}
break;
}
- case EVcSettingsViewParentControlItem:
- {
- iParentControlIndex = GetCurrentParentControl();
-
- iSettingParentControlItem
- = new (ELeave) CAknEnumeratedTextPopupSettingItem(
- aSettingId, iParentControlIndex);
- return iSettingParentControlItem;
- }
-
- case EVcSettingsViewMemoryItem:
- {
- if (!iDriveMonitor)
- {
- iDriveMonitor = CVideoSettingsDriveMonitor::NewL();
- iDriveMonitor->RegisterObserverL(this);
- }
-
- TInt drive;
- iVideoSettingsEngine.GetUsedMemoryL(drive);
- iSettingMemory = iDriveMonitor->ArrayPos(drive);
- if (iSettingMemory == KErrNotFound)
- {
- iSettingMemory = 0;
- }
-
- iSettingMemoryItem
- = new (ELeave) CAknEnumeratedTextPopupSettingItem(
- aSettingId, iSettingMemory);
-
- return iSettingMemoryItem;
- }
-
- case EVcSettingsviewIadUpdateItem:
- {
- // Set text value to empty. The version number is displayed by
- // changing the string of empty item in UpdateVersionNumberTextL().
- iSettingVersionText = KNullDesC();
- iSettingIadUpdateItem = new (ELeave) CAknTextSettingItem(
- aSettingId, iSettingVersionText);
- return iSettingIadUpdateItem;
- }
-
- case EVcSettingsViewThumbnails:
- {
- iVideoSettingsEngine.GetVideoOnDemandThumbnails(iSettingThumbnails);
- iSettingThumbnailsItem
- = new (ELeave) CAknEnumeratedTextPopupSettingItem(
- aSettingId, iSettingThumbnails);
- return iSettingThumbnailsItem;
- }
-
default:
break;
}
@@ -491,403 +269,16 @@
}
// --------------------------------------------------------------------------
-// CMPSettingsVideoSettingItemList::FinishConstructionL()
-// --------------------------------------------------------------------------
-//
-void CMPSettingsVideoSettingItemList::FinishConstructionL()
- {
- UpdateMemoryItemTextL();
- UpdateVersionNumberTextL();
- UpdateParentControlTextL();
- }
-
-// --------------------------------------------------------------------------
-// CMPSettingsVideoSettingItemList::UpdateVersionNumberTextL()
-// --------------------------------------------------------------------------
-//
-void CMPSettingsVideoSettingItemList::UpdateVersionNumberTextL()
- {
- Swi::RSisRegistrySession sisRegistrySession;
-
- if ( sisRegistrySession.Connect() == KErrNone )
- {
- CleanupClosePushL( sisRegistrySession );
-
- if ( sisRegistrySession.IsInstalledL( KSisUid ) )
- {
- Swi::RSisRegistryEntry sisRegistryEntry;
- TInt error = sisRegistryEntry.Open( sisRegistrySession, KSisUid );
- if ( error == KErrNone )
- {
- CleanupClosePushL( sisRegistryEntry );
- TVersion vcVersion( sisRegistryEntry.VersionL() );
- CleanupStack::PopAndDestroy( &sisRegistryEntry );
-
- HBufC* versionString = HBufC::NewLC( KMaxVersionNumberLength );
- TPtr versionPtr( versionString->Des() );
- versionPtr.Format(
- KVersionNumberFormat,
- vcVersion.iMajor,
- vcVersion.iMinor,
- vcVersion.iBuild );
- iSettingIadUpdateItem->SetEmptyItemTextL( *versionString );
- CleanupStack::PopAndDestroy( versionString );
- iSettingIadUpdateItem->UpdateListBoxTextL();
- }
- }
- CleanupStack::PopAndDestroy( &sisRegistrySession );
- }
- }
-
-// --------------------------------------------------------------------------
-// Build dynamic listbox for parental control selection.
-// --------------------------------------------------------------------------
-//
-void CMPSettingsVideoSettingItemList::UpdateParentControlTextL()
- {
- // Set up the dynamic texts for this setting item. Choices are:
- //
- // 0: Parent control not in use.
- // 1-15: Selected minimum age 4-18.
-
- CArrayPtrFlat<CAknEnumeratedText>* enumeratedTextArray =
- new ( ELeave ) CArrayPtrFlat<CAknEnumeratedText>(
- KParentControlSelections );
- CleanupStack::PushL( enumeratedTextArray );
- CArrayPtr<HBufC>* poppedUpTextArray =
- new ( ELeave ) CArrayPtrFlat<HBufC>( KParentControlSelections );
- CleanupStack::PushL( poppedUpTextArray );
-
- HBufC* parentControlStrOff1 = NULL;
- HBufC* parentControlStrOff2 = NULL;
-
- parentControlStrOff1 =
- StringLoader::LoadLC( R_IPTV_PARENTAL_CONTROL_OFF );
- parentControlStrOff2 =
- StringLoader::LoadLC( R_IPTV_PARENTAL_CONTROL_OFF );
-
- CAknEnumeratedText* enumeratedTextOff =
- new ( ELeave ) CAknEnumeratedText( 0, parentControlStrOff1 );
- CleanupStack::PushL( enumeratedTextOff );
- enumeratedTextArray->AppendL( enumeratedTextOff );
- poppedUpTextArray->AppendL( parentControlStrOff2 );
- CleanupStack::Pop( enumeratedTextOff );
- CleanupStack::Pop( parentControlStrOff2 );
- CleanupStack::Pop( parentControlStrOff1 );
-
- for ( TInt age = KParentControlMinAge; age <= KParentControlAdult; age++ )
- {
- HBufC* parentControlStr1 = NULL;
- HBufC* parentControlStr2 = NULL;
-
- parentControlStr1 =
- StringLoader::LoadLC( R_IPTV_PARENTAL_CONTROL_N_YEARS, age );
- parentControlStr2 =
- StringLoader::LoadLC( R_IPTV_PARENTAL_CONTROL_N_YEARS, age );
-
- CAknEnumeratedText* enumeratedText =
- new ( ELeave ) CAknEnumeratedText(
- age - KParentControlIndexShift, parentControlStr1 );
- CleanupStack::PushL( enumeratedText );
- enumeratedTextArray->AppendL( enumeratedText );
- poppedUpTextArray->AppendL( parentControlStr2 );
- CleanupStack::Pop( enumeratedText );
-
- CleanupStack::Pop( parentControlStr2 );
- CleanupStack::Pop( parentControlStr1 );
- }
-
- CleanupStack::Pop( poppedUpTextArray );
- CleanupStack::Pop( enumeratedTextArray );
-
- iSettingParentControlItem->SetEnumeratedTextArrays(
- enumeratedTextArray,
- poppedUpTextArray );
- iSettingParentControlItem->HandleTextArrayUpdateL();
- iSettingParentControlItem->UpdateListBoxTextL();
- }
-
-
-// --------------------------------------------------------------------------
-// Fetch current parent control age and return corresponding index.
-// --------------------------------------------------------------------------
-//
-TInt CMPSettingsVideoSettingItemList::GetCurrentParentControl()
- {
- TInt parentControlAge( 0 );
- TInt parentControlIndex( 0 );
-
- if ( !iVideoSettingsEngine.GetParentControl( parentControlAge ) )
- {
- parentControlAge = KIptvCenRepParentControlKeyDefault;
- }
-
- // Fix age as index.
- if ( KParentControlAdult < parentControlAge )
- {
- parentControlIndex = KParentControlMaxIndex;
- }
- else if ( KParentControlMinAge <= parentControlAge )
- {
- parentControlIndex = parentControlAge - KParentControlIndexShift;
- }
- else
- {
- parentControlIndex = KParentControlOff;
- }
-
- return parentControlIndex;
- }
-
-// -----------------------------------------------------------------------------
-// CMPSettingsVideoSettingItemList::HandleDriveMonitorEvent
-// -----------------------------------------------------------------------------
-//
-void CMPSettingsVideoSettingItemList::HandleDriveMonitorEvent(
- TIptvDriveMonitorEvent& /*aEvent*/ )
- {
- TRAP_IGNORE( UpdateMemoryItemTextL() );
- }
-
-// --------------------------------------------------------------------------
-// CVcSettingsViewSettingsListbox::UpdateMemoryItemTextL()
-// --------------------------------------------------------------------------
-//
-void CMPSettingsVideoSettingItemList::UpdateMemoryItemTextL()
- {
- MPX_FUNC(
- "CMPSettingsVideoSettingItemList::UpdateMemoryItemTextL() start");
-
- if ( !iDriveMonitor )
- {
- iDriveMonitor = CVideoSettingsDriveMonitor::NewL();
- iDriveMonitor->RegisterObserverL( this );
- }
-
- CArrayPtrFlat<CAknEnumeratedText>* enumeratedTextArray =
- new ( ELeave ) CArrayPtrFlat<CAknEnumeratedText>( 2 );
- CleanupStack::PushL( enumeratedTextArray ); // 1->
-
- CArrayPtr<HBufC>* poppedUpTextArray =
- new ( ELeave ) CArrayPtrFlat<HBufC>( 2 );
- CleanupStack::PushL( poppedUpTextArray ); // 2->
-
- TInt i;
- TInt listIndex = 0;
- for ( i = 0; i < iDriveMonitor->iAvailableDrives.Count(); i++ )
- {
- if ( (iDriveMonitor->iAvailableDrives[i].iFlags &
- TIptvDriveInfo::ERemovable) )
- {
- /*
- * MMC
- */
- if ( (iDriveMonitor->iAvailableDrives[i].iFlags &
- TIptvDriveInfo::EMediaNotPresent) )
- {
- //removable media not present -> Memory card
- MPX_DEBUG1(_L("CMPSettingsVideoSettingItemList:: media not present, adding memory card to the list"));
-
- AddMemoryCardDesToArraysL( listIndex++,
- *enumeratedTextArray,
- *poppedUpTextArray );
- }
- else
- {
- if ( (iDriveMonitor->iAvailableDrives[i].iFlags &
- TIptvDriveInfo::ELocked) )
- {
- //removable media present and locked -> Locked memory card
- MPX_DEBUG1(_L("CMPSettingsVideoSettingItemList:: Adding locked memory card to the list"));
-
- AddLockedMemoryCardDesToArraysL( listIndex++,
- *enumeratedTextArray,
- *poppedUpTextArray );
- }
- else
- {
- //removable media present and not locked
- if ( iDriveMonitor->iAvailableDrives[i].iVolumeName.Length() > 0 )
- {
- //removable media present, not locked and name text exits-> Volume name
- MPX_DEBUG1(_L("CMPSettingsVideoSettingItemList:: adding volume name to the list"));
- HBufC* volumeName =
- HBufC::NewL( iDriveMonitor->iAvailableDrives[i].iVolumeName.Length() );
- CleanupStack::PushL( volumeName ); // 3->
- volumeName->Des() = iDriveMonitor->iAvailableDrives[i].iVolumeName;
- AddDesToArraysL( listIndex++,
- volumeName,
- *enumeratedTextArray,
- *poppedUpTextArray );
- CleanupStack::Pop( volumeName ); // <-3
- }
- else
- {
- //removable media present, not locked and label text does not exit-> Memory card
- MPX_DEBUG1(_L("CMPSettingsVideoSettingItemList:: volume name not defined, adding memory card to the list") );
- AddMemoryCardDesToArraysL( listIndex++,
- *enumeratedTextArray,
- *poppedUpTextArray );
- }
- }
- }
- }
- else
- {
- /*
- * Fixed drive
- */
- if ( iDriveMonitor->iAvailableDrives[i].iDrive ==
- iDriveMonitor->PhoneMemoryDrive() )
- {
- //2 = c-drive -> Phone Memory
- MPX_DEBUG1(_L("CMPSettingsVideoSettingItemList:: adding Phone memory to the list"));
- AddPhoneMemoryDesToArraysL( listIndex++,
- *enumeratedTextArray,
- *poppedUpTextArray );
- }
- else
- {
- //->Hard disk
- MPX_DEBUG1(_L("CMPSettingsVideoSettingItemList:: adding Hard disk to the list"));
- AddHardDiskDesToArraysL( listIndex++,
- *enumeratedTextArray,
- *poppedUpTextArray );
- }
- }
- }
-
- iSettingMemoryItem->SetEnumeratedTextArrays(
- enumeratedTextArray, poppedUpTextArray );
- iSettingMemoryItem->HandleTextArrayUpdateL();
- iSettingMemoryItem->UpdateListBoxTextL();
-
- CleanupStack::Pop( poppedUpTextArray ); // <-2
- CleanupStack::Pop( enumeratedTextArray ); // <-1
-
- DrawDeferred();
- }
-
-// --------------------------------------------------------------------------
-// CMPSettingsVideoSettingItemList::AddPhoneMemoryDesToArraysL()
-// --------------------------------------------------------------------------
-//
-void CMPSettingsVideoSettingItemList::AddPhoneMemoryDesToArraysL( TInt aIndex,
- CArrayPtrFlat<CAknEnumeratedText>& aEnumeratedTextArray,
- CArrayPtr<HBufC>& aPoppedUpTextArray )
- {
- HBufC* phoneMemoryDes = StringLoader::LoadLC( R_IPTV_SETTING_PHONE_MEMORY ); // 1->
- AddDesToArraysL( aIndex, phoneMemoryDes, aEnumeratedTextArray, aPoppedUpTextArray );
- CleanupStack::Pop( phoneMemoryDes ); // <-1
- }
-
-// --------------------------------------------------------------------------
-// CMPSettingsVideoSettingItemList::AddMemoryCardDesToArraysL()
-// --------------------------------------------------------------------------
-//
-void CMPSettingsVideoSettingItemList::AddMemoryCardDesToArraysL( TInt aIndex,
- CArrayPtrFlat<CAknEnumeratedText>& aEnumeratedTextArray,
- CArrayPtr<HBufC>& aPoppedUpTextArray )
- {
- HBufC* memoryCardDes = StringLoader::LoadLC( R_IPTV_SETTING_MEMORY_CARD ); // 1->
- AddDesToArraysL( aIndex, memoryCardDes, aEnumeratedTextArray, aPoppedUpTextArray );
- CleanupStack::Pop( memoryCardDes ); // <-1
- }
-
-// --------------------------------------------------------------------------
-// CVcSettingsViewSettingsListbox::AddLockedMemoryCardDesToArraysL()
-// --------------------------------------------------------------------------
-//
-void CMPSettingsVideoSettingItemList::AddLockedMemoryCardDesToArraysL( TInt aIndex,
- CArrayPtrFlat<CAknEnumeratedText>& aEnumeratedTextArray,
- CArrayPtr<HBufC>& aPoppedUpTextArray )
- {
- HBufC* lockedMemoryCardDes = StringLoader::LoadLC( R_IPTV_LOCKED_MEMORY_CARD ); // 1->
- AddDesToArraysL( aIndex, lockedMemoryCardDes, aEnumeratedTextArray, aPoppedUpTextArray);
- CleanupStack::Pop( lockedMemoryCardDes ); // <-1
- }
-
-// --------------------------------------------------------------------------
-// CMPSettingsVideoSettingItemList::AddHardDiskDesToArraysL()
-// --------------------------------------------------------------------------
-//
-void CMPSettingsVideoSettingItemList::AddHardDiskDesToArraysL( TInt aIndex,
- CArrayPtrFlat<CAknEnumeratedText>& aEnumeratedTextArray,
- CArrayPtr<HBufC>& aPoppedUpTextArray )
- {
- HBufC* hardDiskDes = StringLoader::LoadLC( R_IPTV_SETTING_MASS_MEMORY ); // 1->
- AddDesToArraysL( aIndex, hardDiskDes, aEnumeratedTextArray, aPoppedUpTextArray);
- CleanupStack::Pop( hardDiskDes ); // <-1
- }
-
-// --------------------------------------------------------------------------
-// CMPSettingsVideoSettingItemList::AddDesToArraysL()
-// NOTE: Codescanner whines about passing non const HBufC,
-// but that's needed for CAknEnumeratedText construction.
-// --------------------------------------------------------------------------
-//
-void CMPSettingsVideoSettingItemList::AddDesToArraysL( TInt aIndex, HBufC* aText,
- CArrayPtrFlat<CAknEnumeratedText>& aEnumeratedTextArray,
- CArrayPtr<HBufC>& aPoppedUpTextArray )
- {
- CAknEnumeratedText* enumeratedText =
- new ( ELeave ) CAknEnumeratedText( aIndex, aText );
- CleanupStack::PushL( enumeratedText ); //1->
- aEnumeratedTextArray.AppendL( enumeratedText );
- CleanupStack::Pop( enumeratedText ); // <-1
-
- HBufC* textCopy = HBufC::NewL( aText->Des().Length() );
- CleanupStack::PushL( textCopy ); // 1->
- textCopy->Des() = aText->Des();
-
- aPoppedUpTextArray.AppendL( textCopy );
- CleanupStack::Pop( textCopy ); // <-1
- }
-
-// --------------------------------------------------------------------------
-// Convert and save parent control index as age.
-// --------------------------------------------------------------------------
-//
-void CMPSettingsVideoSettingItemList::SetCurrentParentControl(
- TInt aParentControlIndex )
- {
- TInt parentControlAge( 0 );
-
- // Fix index as age.
- if ( KParentControlMaxIndex < aParentControlIndex )
- {
- parentControlAge = KParentControlAdult;
- }
- else if ( 1 <= aParentControlIndex )
- {
- parentControlAge = aParentControlIndex + KParentControlIndexShift;
- }
- else
- {
- parentControlAge = 0;
- }
-
- iVideoSettingsEngine.SetParentControl( parentControlAge );
- }
-
-// --------------------------------------------------------------------------
// Check if video contrast is supported.
// --------------------------------------------------------------------------
//
TBool CMPSettingsVideoSettingItemList::VideoContrastIsSupportedL()
{
- TInt flags;
-
- CRepository* repository = CRepository::NewL( KCRUidMediaPlayerFeatures );
- repository->Get( KMPLocalVariation, flags );
- delete repository;
-
- if ( flags & KMediaPlayerVideoContrast )
- {
- return ETrue;
- }
+ // As video contrast is only item in video settings list,
+ // we can assume here that contrast is supported, because
+ // it has been already checked in AppUi/GsPlugin level.
+ return ETrue;
- return EFalse;
}
// End of File
--- a/mediasettings/mediasettingsengine/src/MPSettingsModelForROP.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/mediasettings/mediasettingsengine/src/MPSettingsModelForROP.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*/
-// Version : %version: 9 %
+// Version : %version: 10 %
@@ -1157,6 +1157,11 @@
{
MPX_DEBUG2(_L("#MS# CMPSettingsModelForROP::WapIdFromIapIdL(%d)"),aIapId);
+ TUint32 wap = 0;
+#ifdef __WINSCW__
+ wap = aIapId;
+#else
+
CMDBSession* db = CMDBSession::NewL( CMDBSession::LatestVersion() );
CleanupStack::PushL( db );
@@ -1169,16 +1174,17 @@
wapBearerRecord->iWAPIAP = aIapId;
TBool found = wapBearerRecord->FindL( *db );
-
if ( !found )
{
User::Leave(KErrNotFound);
}
- TUint32 wap = static_cast<TUint32>( wapBearerRecord->iWAPAccessPointId );
+ wap = static_cast<TUint32>( wapBearerRecord->iWAPAccessPointId );
CleanupStack::PopAndDestroy( wapBearerRecord );
CleanupStack::PopAndDestroy( db );
+
+#endif
MPX_DEBUG2(_L("#MS# CMPSettingsModelForROP::IapIdFromWapIdL() - return wap id: %d "), wap);
return wap;
@@ -1192,6 +1198,10 @@
{
MPX_DEBUG2(_L("#MS# CMPSettingsModelForROP::IapIdFromWapIdL(%d)"),aWapId);
+ TUint32 iap = 0;
+#ifdef __WINSCW__
+ iap = aWapId;
+#else
CMDBSession* db = CMDBSession::NewL( CMDBSession::LatestVersion() );
CleanupStack::PushL( db );
@@ -1210,10 +1220,12 @@
User::Leave(KErrNotFound);
}
- TUint32 iap = static_cast<TUint32>( wapBearerRecord->iWAPIAP );
+ iap = static_cast<TUint32>( wapBearerRecord->iWAPIAP );
CleanupStack::PopAndDestroy( wapBearerRecord );
CleanupStack::PopAndDestroy( db );
+
+#endif
MPX_DEBUG2(_L("#MS# CMPSettingsModelForROP::IapIdFromWapIdL() - return iap id: %d "), iap);
return iap;
--- a/tsrc/conf/ats_moduletests.txt Fri Feb 19 22:52:52 2010 +0200
+++ b/tsrc/conf/ats_moduletests.txt Fri Mar 12 15:43:00 2010 +0200
@@ -9,10 +9,3 @@
INC ..\..\mediasettings\mediasettingsengine\tsrc\mediasettingsenginetest\conf\atsconf.txt
INC ..\..\mediasettings\videoplayersettingsengine\tsrc\vpsettingsenginetest\conf\atsconf.txt
INC ..\..\videocollection\mpxmyvideoscollection\tsrc\mpxmvcolltest\conf\atsconf.txt
-INC ..\..\videofeeds\server\tsrc\VCXIapListTest\conf\atsconf.txt
-INC ..\..\videofeeds\server\tsrc\VCXServiceTest\conf\atsconf.txt
-INC ..\..\videofeeds\server\tsrc\VCXSettingsDatabaseTest\conf\atsconf.txt
-INC ..\..\videofeeds\server\tsrc\VCXProvisioningTest\conf\atsconf.txt
-INC ..\..\videofeeds\server\tsrc\VCXScheduledReminderTest\conf\atsconf.txt
-INC ..\..\videofeeds\server\tsrc\VCXServiceManagementApiTest\conf\atsconf.txt
-INC ..\..\videofeeds\server\tsrc\VCXVodContentApiTest\conf\atsconf.txt
--- a/tsrc/group/bld.inf Fri Feb 19 22:52:52 2010 +0200
+++ b/tsrc/group/bld.inf Fri Mar 12 15:43:00 2010 +0200
@@ -28,10 +28,8 @@
#include "../VCXTestCommon/group/bld.inf"
#include "../VCXTestMyVideosCollectionClient/group/bld.inf"
#include "../VCXTestUtilModule/group/bld.inf"
-#include "../fusionmpxplayer_test/group/bld.inf"
#include "../../videocollection/mpxmyvideoscollection/tsrc/mpxmvcolltest/group/bld.inf"
#include "../../videoplayer_plat/video_player_file_details_dialog_api/tsrc/group/bld.inf"
#include "../../videoplayer_plat/videoplayer_startup_api/tsrc/group/bld.inf"
#include "../../mediasettings/mediasettingsengine/tsrc/mediasettingsenginetest/group/bld.inf"
#include "../../mediasettings/videoplayersettingsengine/tsrc/vpsettingsenginetest/group/bld.inf"
-#include "../../videofeeds/server/tsrc/group/bld.inf"
--- a/tsrc/testing/sis/fusion_engine_tests.pkg Fri Feb 19 22:52:52 2010 +0200
+++ b/tsrc/testing/sis/fusion_engine_tests.pkg Fri Mar 12 15:43:00 2010 +0200
@@ -51,50 +51,9 @@
"/epoc32/release/armv5/udeb/VCXTestEcgFileObserver.dll" - "!:/Sys/Bin/VCXTestEcgFileObserver.dll"
"/epoc32/release/armv5/udeb/VCXTestMyVideosCollectionClient.dll" - "!:/Sys/Bin/VCXTestMyVideosCollectionClient.dll"
-"../../../videofeeds/server/tsrc/VCXServiceManagementApiTest/conf/VCXServiceUpdating.inc" - "c:/testframework/VCXServiceUpdating.inc"
-"../../../videofeeds/server/tsrc/VCXServiceManagementApiTest/conf/VCXServiceNames.inc" - "c:/testframework/VCXServiceNames.inc"
-"../../../videofeeds/server/tsrc/VCXServiceManagementApiTest/conf/VCXConsts.inc" - "c:/testframework/VCXConsts.inc"
-"../../../videofeeds/server/tsrc/VCXServiceManagementApiTest/conf/VCXErrors.inc" - "c:/testframework/VCXErrors.inc"
-"../../../videofeeds/server/tsrc/VCXServiceManagementApiTest/conf/VCXDrives.inc" - "c:/testframework/VCXDrives.inc"
-
-; PROVISIONING & ZIP FILES
-"/epoc32/release/armv5/udeb/VCXProvisioningTest.dll" - "!:/Sys/Bin/VCXProvisioningTest.dll"
-"../../../videofeeds/server/tsrc/VCXProvisioningTest/conf/VCXProvisioningTest.cfg" - "c:/testframework/VCXProvisioningTest.cfg"
-"../../../videofeeds/server/tsrc/VCXProvisioningTest/data/c/provisionzip/provision.zip" - "c:/testing/data/provisionzip/provision.zip"
-"../../../videofeeds/server/tsrc/VCXProvisioningTest/data/c/verifyzip/verify.zip" - "c:/testing/data/verifyzip/verify.zip"
-
-; SERVICE MANAGEMENT API
-"/epoc32/release/armv5/udeb/VCXServiceManagementApiTest.dll" - "!:/Sys/Bin/VCXServiceManagementApiTest.dll"
-"../../../videofeeds/server/tsrc/VCXServiceManagementApiTest/conf/VCXServiceManagementApiTest.inc" - "c:/testframework/VCXServiceManagementApiTest.inc"
-"../../../videofeeds/server/tsrc/VCXServiceManagementApiTest/conf/VCXServiceManagementApiTestSync.cfg" - "c:/testframework/VCXServiceManagementApiTestSync.cfg"
-"../../../videofeeds/server/tsrc/VCXServiceManagementApiTest/conf/VCXServiceManagementApiTestAsync.cfg" - "c:/testframework/VCXServiceManagementApiTestAsync.cfg"
-"../../../videofeeds/server/tsrc/VCXServiceManagementApiTest/conf/VCXServiceManagementApiTestServiceCustom.cfg" - "c:/testframework/VCXServiceManagementApiTestServiceCustom.cfg"
-"../../../videofeeds/server/tsrc/VCXServiceManagementApiTest/conf/VCXServiceManagementApiTestSyncErrorHandling.cfg" - "c:/testframework/VCXServiceManagementApiTestSyncErrorHandling.cfg"
-"../../../videofeeds/server/tsrc/VCXServiceManagementApiTest/conf/VCXServiceManagementApiTestAsyncR3.cfg" - "c:/testframework/VCXServiceManagementApiTestAsyncR3.cfg"
-"../../../videofeeds/server/tsrc/VCXServiceManagementApiTest/conf/VCXServiceManagementApiTestStressAsync.cfg" - "c:/testframework/VCXServiceManagementApiTestStressAsync.cfg"
-"../../../videofeeds/server/tsrc/VCXServiceManagementApiTest/conf/VCXServiceManagementApiTestStressSync.cfg" - "c:/testframework/VCXServiceManagementApiTestStressSync.cfg"
-"../../../videofeeds/server/tsrc/VCXServiceManagementApiTest/conf/VCXServiceManagementApiTestHelium.cfg" - "c:/testframework/VCXServiceManagementApiTestHelium.cfg"
-
-; VOD CONTENT API
-"/epoc32/release/armv5/udeb/VCXVodContentApiTest.dll" - "!:/Sys/Bin/VCXVodContentApiTest.dll"
-"../../../videofeeds/server/tsrc/VCXVodContentApiTest/conf/VCXVodContentApiTest.inc" - "c:/testframework/VCXVodContentApiTest.inc"
-"../../../videofeeds/server/tsrc/VCXVodContentApiTest/conf/VCXVodContentApiTest.cfg" - "c:/testframework/VCXVodContentApiTest.cfg"
-"../../../videofeeds/server/tsrc/VCXVodContentApiTest/conf/VCXVodContentApiTestCategoriesR3.cfg" - "c:/testframework/VCXVodContentApiTestCategoriesR3.cfg"
-"../../../videofeeds/server/tsrc/VCXVodContentApiTest/conf/VCXVodContentApiTestDb.cfg" - "c:/testframework/VCXVodContentApiTestDb.cfg"
-"../../../videofeeds/server/tsrc/VCXVodContentApiTest/conf/VCXVodContentApiTestErrors.cfg" - "c:/testframework/VCXVodContentApiTestErrors.cfg"
-"../../../videofeeds/server/tsrc/VCXVodContentApiTest/conf/VCXVodContentApiTestInterference.cfg" - "c:/testframework/VCXVodContentApiTestInterference.cfg"
-"../../../videofeeds/server/tsrc/VCXVodContentApiTest/conf/VCXVodContentApiTestMimeTypes.cfg" - "c:/testframework/VCXVodContentApiTestMimeTypes.cfg"
-"../../../videofeeds/server/tsrc/VCXVodContentApiTest/conf/VCXVodContentApiTestParental.cfg" - "c:/testframework/VCXVodContentApiTestParental.cfg"
-"../../../videofeeds/server/tsrc/VCXVodContentApiTest/conf/VCXVodContentApiTestSearch2R3.cfg" - "c:/testframework/VCXVodContentApiTestSearch2R3.cfg"
-"../../../videofeeds/server/tsrc/VCXVodContentApiTest/conf/VCXVodContentApiTestSearchR3.cfg" - "c:/testframework/VCXVodContentApiTestSearchR3.cfg"
-"../../../videofeeds/server/tsrc/VCXVodContentApiTest/conf/VCXVodContentApiTestSearchStressR3.cfg" - "c:/testframework/VCXVodContentApiTestSearchStressR3.cfg"
-"../../../videofeeds/server/tsrc/VCXVodContentApiTest/conf/VCXVodContentModificationCheckTest.cfg" - "c:/testframework/VCXVodContentModificationCheckTest.cfg"
-"../../../videofeeds/server/tsrc/VCXVodContentApiTest/conf/VCXVodContentApiTestHelium.cfg" - "c:/testframework/VCXVodContentApiTestHelium.cfg"
-
-; SCHEDULED REMINDER
-"/epoc32/release/armv5/udeb/VCXScheduledReminderTest.dll" - "!:/Sys/Bin/VCXScheduledReminderTest.dll"
-"../../../videofeeds/server/tsrc/VCXScheduledReminderTest/conf/VCXScheduledReminderTest.cfg" - "c:/testframework/VCXScheduledReminderTest.cfg"
-"../../../videofeeds/server/tsrc/VCXScheduledReminderTest/conf/VCXScheduledReminderTest.inc" - "c:/testframework/VCXScheduledReminderTest.inc"
+"../../../videocollection/mpxmyvideoscollection/tsrc/mpxmvcolltest/conf/VCXConsts.inc" - "c:/testframework/VCXConsts.inc"
+"../../../videocollection/mpxmyvideoscollection/tsrc/mpxmvcolltest/conf/VCXErrors.inc" - "c:/testframework/VCXErrors.inc"
+"../../../videocollection/mpxmyvideoscollection/tsrc/mpxmvcolltest/conf/VCXDrives.inc" - "c:/testframework/VCXDrives.inc"
; MEDIASETTINGSENGINE
"/epoc32/release/armv5/udeb/mpxmediasettingsenginetest.dll" - "!:/Sys/Bin/mpxmediasettingsenginetest.dll"
@@ -104,19 +63,7 @@
"/epoc32/release/armv5/udeb/vcxnssettingsenginetest.dll" - "!:/Sys/Bin/vcxnssettingsenginetest.dll"
"../../../mediasettings/videoplayersettingsengine/tsrc/vpsettingsenginetest/conf/vcxnssettingsenginetest.cfg" - "c:/TestFramework/vcxnssettingsenginetest.cfg"
-; VCXSETTINGSDATABASETEST
-"/epoc32/release/armv5/udeb/VCXSettingsDatabaseTest.dll" - "!:/Sys/Bin/VCXSettingsDatabaseTest.dll"
-"../../../videofeeds/server/tsrc/VCXSettingsDatabaseTest/conf/VCXSettingsDatabaseTest.cfg" - "c:/testframework/VCXSettingsDatabaseTest.cfg"
-
-; VCXIAPLISTTEST
-"/epoc32/release/armv5/udeb/VCXIapListTest.dll" - "!:/Sys/Bin/VCXIapListTest.dll"
-"../../../videofeeds/server/tsrc/VCXIapListTest/conf/VCXIapListTest.cfg" - "c:/testframework/VCXIapListTest.cfg"
-
-; VCXSERVICETEST
-"/epoc32/release/armv5/udeb/VCXServiceTest.dll" - "!:/Sys/Bin/VCXServiceTest.dll"
-"../../../videofeeds/server/tsrc/VCXServiceTest/conf/VCXServiceTest.cfg" - "c:/testframework/VCXServiceTest.cfg"
-
-; MY VIDEOS
+; MY VIDEOS COLLECTION
"/epoc32/release/armv5/udeb/VCXMyVideosCollectionPluginTest.dll" - "!:/Sys/Bin/VCXMyVideosCollectionPluginTest.dll"
"/epoc32/release/armv5/udeb/MediatorEventVerifier.dll" - "!:/Sys/Bin/MediatorEventVerifier.dll"
"../../../videocollection/mpxmyvideoscollection/tsrc/mpxmvcolltest/conf/VCXMyVideosCollectionPluginTestAttributes.cfg" - "C:/TestFramework/VCXMyVideosCollectionPluginTestAttributes.cfg"
--- a/tsrc/testing/sis/make_engine_test_sis.cmd Fri Feb 19 22:52:52 2010 +0200
+++ b/tsrc/testing/sis/make_engine_test_sis.cmd Fri Mar 12 15:43:00 2010 +0200
@@ -20,6 +20,8 @@
call \VideoApp_Domain\videoplayer\tsrc\testing\tools\tsrpkgtool.pl -a
call popd
+call del *.sisx
+
echo ----------------------------------------
echo VIDEOPLAYER - MEDIASETTINGSENGINETEST
echo ----------------------------------------
@@ -54,94 +56,6 @@
call del VCXMyVideosCollectionPluginTest.sis
echo ----------------------------------------
-echo VIDEOPLAYER - VCXPROVISIONINGTEST
-echo ----------------------------------------
-
-call pushd \VideoApp_Domain\videoplayer\videofeeds\server\tsrc\VCXProvisioningTest\group
-call makesis VCXProvisioningTest.pkg VCXProvisioningTest.sis
-call copy VCXProvisioningTest.sis \VideoApp_Domain\videoplayer\tsrc\testing\sis
-call popd
-call signsis.exe VCXProvisioningTest.sis VCXProvisioningTest.sisx Nokia_RnDCert_02.der Nokia_RnDCert_02.key
-call del VCXProvisioningTest.sis
-
-echo ----------------------------------------
-echo VIDEOPLAYER - VCXSCHEDULEDREMINDERTEST
-echo ----------------------------------------
-
-call pushd \VideoApp_Domain\videoplayer\videofeeds\server\tsrc\VCXScheduledReminderTest\group
-call makesis VCXScheduledReminderTest.pkg VCXScheduledReminderTest.sis
-call copy VCXScheduledReminderTest.sis \VideoApp_Domain\videoplayer\tsrc\testing\sis
-call popd
-call signsis.exe VCXScheduledReminderTest.sis VCXScheduledReminderTest.sisx Nokia_RnDCert_02.der Nokia_RnDCert_02.key
-call del VCXScheduledReminderTest.sis
-
-echo ----------------------------------------
-echo VIDEOPLAYER - VCXSCHEDULEDDOWNLOADTEST
-echo ----------------------------------------
-
-call pushd \VideoApp_Domain\videoplayer\videofeeds\server\tsrc\VCXScheduledDownloadTest\group
-call makesis VCXScheduledDownloadTest.pkg VCXScheduledDownloadTest.sis
-call copy VCXScheduledDownloadTest.sis \VideoApp_Domain\videoplayer\tsrc\testing\sis
-call popd
-call signsis.exe VCXScheduledDownloadTest.sis VCXScheduledDownloadTest.sisx Nokia_RnDCert_02.der Nokia_RnDCert_02.key
-call del VCXScheduledDownloadTest.sis
-
-echo ----------------------------------------
-echo VIDEOPLAYER - VCXSERVICEMANAGEMENTAPITEST
-echo ----------------------------------------
-
-call pushd \VideoApp_Domain\videoplayer\videofeeds\server\tsrc\VCXServiceManagementApiTest\group
-call makesis VCXServiceManagementApiTest.pkg VCXServiceManagementApiTest.sis
-call copy VCXServiceManagementApiTest.sis \VideoApp_Domain\videoplayer\tsrc\testing\sis
-call popd
-call signsis.exe VCXServiceManagementApiTest.sis VCXServiceManagementApiTest.sisx Nokia_RnDCert_02.der Nokia_RnDCert_02.key
-call del VCXServiceManagementApiTest.sis
-
-echo ----------------------------------------
-echo VIDEOPLAYER - VCXVODCONTENTAPITEST
-echo ----------------------------------------
-
-call pushd \VideoApp_Domain\videoplayer\videofeeds\server\tsrc\VCXVodContentApiTest\group
-call makesis VCXVodContentApiTest.pkg VCXVodContentApiTest.sis
-call copy VCXVodContentApiTest.sis \VideoApp_Domain\videoplayer\tsrc\testing\sis
-call popd
-call signsis.exe VCXVodContentApiTest.sis VCXVodContentApiTest.sisx Nokia_RnDCert_02.der Nokia_RnDCert_02.key
-call del VCXVodContentApiTest.sis
-
-echo ----------------------------------------
-echo VIDEOPLAYER - VCXSETTINGSDATABASETEST
-echo ----------------------------------------
-
-call pushd \VideoApp_Domain\videoplayer\videofeeds\server\tsrc\VCXSettingsDatabaseTest\group
-call makesis VCXSettingsDatabaseTest.pkg VCXSettingsDatabaseTest.sis
-call copy VCXSettingsDatabaseTest.sis \VideoApp_Domain\videoplayer\tsrc\testing\sis
-call popd
-call signsis.exe VCXSettingsDatabaseTest.sis VCXSettingsDatabaseTest.sisx Nokia_RnDCert_02.der Nokia_RnDCert_02.key
-call del VCXSettingsDatabaseTest.sis
-
-echo ----------------------------------------
-echo VIDEOPLAYER - VCXIAPLISTTEST
-echo ----------------------------------------
-
-call pushd \VideoApp_Domain\videoplayer\videofeeds\server\tsrc\VCXIapListTest\group
-call makesis VCXIapListTest.pkg VCXIapListTest.sis
-call copy VCXIapListTest.sis \VideoApp_Domain\videoplayer\tsrc\testing\sis
-call popd
-call signsis.exe VCXIapListTest.sis VCXIapListTest.sisx Nokia_RnDCert_02.der Nokia_RnDCert_02.key
-call del VCXIapListTest.sis
-
-echo ----------------------------------------
-echo VIDEOPLAYER - VCXSERVICETEST
-echo ----------------------------------------
-
-call pushd \VideoApp_Domain\videoplayer\videofeeds\server\tsrc\VCXServiceTest\group
-call makesis VCXServiceTest.pkg VCXServiceTest.sis
-call copy VCXServiceTest.sis \VideoApp_Domain\videoplayer\tsrc\testing\sis
-call popd
-call signsis.exe VCXServiceTest.sis VCXServiceTest.sisx Nokia_RnDCert_02.der Nokia_RnDCert_02.key
-call del VCXServiceTest.sis
-
-echo ----------------------------------------
echo VIDEOPLAYER - VIDEOPLAYER_STARTUP_API
echo ----------------------------------------
@@ -153,17 +67,6 @@
call del VideoPlayerStartupApiTest.sis
echo ----------------------------------------
-echo VIDEOPLAYER - MPX_FUSION_API
-echo ----------------------------------------
-
-call pushd \VideoApp_Domain\videoplayer\tsrc\fusionmpxplayer_test\group
-call makesis FusionMpxPlayer_ApiTest.pkg FusionMpxPlayer_ApiTest.sis
-call copy FusionMpxPlayer_ApiTest.sis \VideoApp_Domain\videoplayer\tsrc\testing\sis
-call popd
-call signsis.exe FusionMpxPlayer_ApiTest.sis FusionMpxPlayer_ApiTest.sisx Nokia_RnDCert_02.der Nokia_RnDCert_02.key
-call del FusionMpxPlayer_ApiTest.sis
-
-echo ----------------------------------------
echo VIDEOPLAYER - UT_MPXVIDEOPLAYER
echo ----------------------------------------
@@ -175,6 +78,17 @@
call del mpxvideoplayertest.sis
echo ----------------------------------------
+echo VIDEOPLAYER - VIDEOHELIXTEST
+echo ----------------------------------------
+
+call pushd VideoApp_Domain\videoplayer\videoplayback\videohelix\tsrc\ut_videohelixtest\group
+call makesis videohelixtest.pkg videohelixtest.sis
+call copy videohelixtest.sis \VideoApp_Domain\videoplayer\tsrc\testing\sis
+call popd
+call signsis.exe videohelixtest.sis videohelixtest.sisx Nokia_RnDCert_02.der Nokia_RnDCert_02.key
+call del videohelixtest.sis
+
+echo ----------------------------------------
echo VIDEOPLAYER_PLAT - FILE_DETAILS_DIALOG_API
echo ----------------------------------------
Binary file videocollection/hgmyvideos/conf/hgmyvideos.confml has changed
Binary file videocollection/hgmyvideos/conf/hgmyvideos_20021191.crml has changed
--- a/videocollection/hgmyvideos/data/vcxhgmyvideos.rss Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/hgmyvideos/data/vcxhgmyvideos.rss Fri Mar 12 15:43:00 2010 +0200
@@ -170,6 +170,11 @@
#endif
MENU_ITEM
{
+ command = EVcxHgMyVideosCmdOpenSettings;
+ txt = qtn_vcx_options_settings;
+ },
+ MENU_ITEM
+ {
command = EVcxHgMyVideosCmdHelp;
txt = qtn_options_help;
},
@@ -283,6 +288,16 @@
//
// -----------------------------------------------------------------------------
//
+RESOURCE CBA_BUTTON r_vcxhgmyvideos_rsk_exit
+ {
+ id = EAknSoftkeyExit;
+ txt = text_softkey_exit;
+ }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
RESOURCE CBA_BUTTON r_vcxhgmyvideos_msk_nothing
{
id = EVcxHgMyVideosCmdNothing;
@@ -625,37 +640,37 @@
//
// -----------------------------------------------------------------------------
//
-RESOURCE TBUF r_vcxhgmyvideos_my_videos_title { buf = qtn_iptv_my_videos_title; }
+RESOURCE TBUF r_vcxhgmyvideos_my_videos_title { buf = qtn_vcx_title_suite; }
// -----------------------------------------------------------------------------
//
// -----------------------------------------------------------------------------
//
-RESOURCE TBUF r_vcxhgmyvideos_one_new_video { buf = qtn_vcx_hg_one_new_video; }
+RESOURCE TBUF r_vcxhgmyvideos_one_new_video { buf = qtn_vcx_hg_list_one_new_video; }
// -----------------------------------------------------------------------------
//
// -----------------------------------------------------------------------------
//
-RESOURCE TBUF r_vcxhgmyvideos_n_new_videos { buf = qtn_vcx_hg_n_new_videos; }
+RESOURCE TBUF r_vcxhgmyvideos_n_new_videos { buf = qtn_vcx_hg_list_n_new_videos; }
// -----------------------------------------------------------------------------
//
// -----------------------------------------------------------------------------
//
-RESOURCE TBUF r_vcxhgmyvideos_no_videos_in_category { buf = qtn_vcx_hg_no_videos_in_category; }
+RESOURCE TBUF r_vcxhgmyvideos_no_videos_in_category { buf = qtn_vcx_hg_list_no_videos_in_category; }
// -----------------------------------------------------------------------------
//
// -----------------------------------------------------------------------------
//
-RESOURCE TBUF r_vcxhgmyvideos_one_video_in_category { buf = qtn_vcx_hg_one_video_in_category; }
+RESOURCE TBUF r_vcxhgmyvideos_one_video_in_category { buf = qtn_vcx_hg_list_one_video_in_category; }
// -----------------------------------------------------------------------------
//
// -----------------------------------------------------------------------------
//
-RESOURCE TBUF r_vcxhgmyvideos_videos_in_category { buf = qtn_vcx_hg_videos_in_category; }
+RESOURCE TBUF r_vcxhgmyvideos_videos_in_category { buf = qtn_vcx_hg_list_videos_in_category; }
// -----------------------------------------------------------------------------
//
@@ -680,13 +695,13 @@
//
// -----------------------------------------------------------------------------
//
-RESOURCE TBUF r_vcxhgmyvideos_storage_captured_list { buf = qtn_vcx_hg_storage_captured_list; }
+RESOURCE TBUF r_vcxhgmyvideos_storage_captured_list { buf = qtn_vcx_hg_list_storage_captured; }
// -----------------------------------------------------------------------------
//
// -----------------------------------------------------------------------------
//
-RESOURCE TBUF r_vcxhgmyvideos_storage_other_list { buf = qtn_iptv_storage_other_list; }
+RESOURCE TBUF r_vcxhgmyvideos_storage_other_list { buf = qtn_vcx_hg_list_storage_other; }
// -----------------------------------------------------------------------------
//
@@ -858,11 +873,27 @@
//
// -----------------------------------------------------------------------------
//
-RESOURCE TBUF r_vcxhgmyvideos_refreshing { buf = qtn_iptv_refreshing; }
+RESOURCE TBUF r_vcxhgmyvideos_resume_not_possible
+ { buf = qtn_iptv_resume_not_possible; }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+RESOURCE TBUF r_vcxhgmyvideos_last_watched
+ { buf = qtn_vcx_hg_list_last_watched; }
// -----------------------------------------------------------------------------
//
// -----------------------------------------------------------------------------
//
-RESOURCE TBUF r_vcxhgmyvideos_resume_not_possible
- { buf = qtn_iptv_resume_not_possible; }
+RESOURCE TBUF r_vcxhgmyvideos_ovi_store
+ { buf = qtn_vcx_hg_list_ovi_store; }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+RESOURCE TBUF r_vcxhgmyvideos_ovi_store_videos
+ { buf = qtn_vcx_hg_list_ovi_store_videos; }
+
--- a/videocollection/hgmyvideos/group/bld.inf Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/hgmyvideos/group/bld.inf Fri Mar 12 15:43:00 2010 +0200
@@ -28,6 +28,9 @@
../rom/hgmyvideos.iby CORE_APP_LAYER_IBY_EXPORT_PATH(hgmyvideos.iby)
../rom/hgmyvideosrsc.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(hgmyvideosrsc.iby)
+// Generic configuration interface for component cenrep settings
+../conf/hgmyvideos.confml APP_LAYER_CONFML(hgmyvideos.confml)
+../conf/hgmyvideos_20021191.crml APP_LAYER_CRML(hgmyvideos_20021191.crml)
PRJ_EXTENSIONS
START EXTENSION s60/mifconv
@@ -52,7 +55,12 @@
OPTION HEADERFILE vcxhgmyvideosicons.mbg
OPTION SOURCEDIR ../icons
OPTION SOURCES \
- -c8,1 qgn_prop_mtv_prog_clip.svg
+ -c8,1 qgn_prop_mtv_prog_clip.svg \
+ -c8,1 qgn_prop_captured_thumbnail_video.svg \
+ -c8,1 qgn_prop_download_thumbnail_video.svg \
+ -c8,1 qgn_prop_ovi_thumbnail_video.svg \
+ -c8,1 qgn_prop_recent_thumbnail_video.svg \
+ -c8,1 qgn_prop_service_thumbnail_video.svg
END
PRJ_MMPFILES
--- a/videocollection/hgmyvideos/group/vcxhgmyvideos.mmp Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/hgmyvideos/group/vcxhgmyvideos.mmp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*/
-// Version : %version: TB92_24.1.1 %
+// Version : %version: e92_30 %
#include <platform_paths.hrh>
#include <bldvariant.hrh>
@@ -53,15 +53,17 @@
SOURCE vcxhgmyvideosvideolist.cpp
SOURCE vcxhgmyvideosvideocopier.cpp
SOURCE vcxhgmyvideosupnpinterface.cpp
-SOURCE vcxhgtelephonyclient.cpp
#ifdef RD_VIDEO_AS_RINGING_TONE
SOURCE vcxhgmyvideosaiwmenuhandler.cpp
#endif
+SOURCE vcxhgmyvideosthumbnailmanager.cpp
+SOURCE CIptvResourceLoader.cpp
+SOURCE CIptvDriveMonitor.cpp
+SOURCE TIptvDriveInfo.cpp
+SOURCE TIptvDriveMonitorEvent.cpp
USERINCLUDE ../inc
USERINCLUDE ../../../inc
-USERINCLUDE ../../../videofeeds/utils/inc
-USERINCLUDE ../../../videofeeds/viewmessageutility/inc
APP_LAYER_SYSTEMINCLUDE
@@ -84,36 +86,18 @@
LIBRARY egul.lib
LIBRARY avkon.lib
LIBRARY aknicon.lib
-LIBRARY aknlayout.lib
-LIBRARY aknlayout2.lib
-LIBRARY aknlayout2scalable.lib
LIBRARY bafl.lib // CDesCArray
LIBRARY commonengine.lib // String loader
LIBRARY flogger.lib // RFileLogger
LIBRARY hlplch.lib // HlpLauncher
LIBRARY efsrv.lib
-LIBRARY mediaclientvideo.lib // S60 video player
-LIBRARY ws32.lib // RBlankWindow
-LIBRARY apmime.lib // TDataType
-LIBRARY fbscli.lib // CFbsBitmap
-LIBRARY bitgdi.lib // CFbsBitmapDevice
+LIBRARY ws32.lib // RWsSession
LIBRARY estor.lib
-LIBRARY form.lib // CTextView
-LIBRARY fepbase.lib // MCoeFepObserver
-LIBRARY mediatorclient.lib
LIBRARY aknskins.lib
-LIBRARY aknskinsrv.lib
-LIBRARY aknswallpaperutils.lib
-LIBRARY charconv.lib // CnvUtfConverter
-LIBRARY etel.lib // RTelServer
-LIBRARY etelmm.lib // RMobilePhone
-LIBRARY secui.lib // CSecurityHandler
LIBRARY mpxcommon.lib // MPX
LIBRARY mpxcollectionutility.lib // MPX
-LIBRARY iptvutil.lib // Iptv Resource Loader
LIBRARY commondialogs.lib // Memory selection dialog
LIBRARY drmhelper.lib // DRM
-LIBRARY featmgr.lib // Feature manager
LIBRARY centralrepository.lib // Upnp
LIBRARY thumbnailmanager.lib // CThumbnailManager
LIBRARY caf.lib // CAF
@@ -121,13 +105,12 @@
LIBRARY sendui.lib // For send video
LIBRARY drmutility.lib // DRM
LIBRARY playbackhelper.lib // Recognizer
-LIBRARY mpxplaybackutility.lib // MPX playback utility
-LIBRARY mpxviewutility.lib
-LIBRARY mpfiledetailsdialog.lib
-LIBRARY vcxviewmessageutility.lib // CVcxViewMessageUtility
LIBRARY upnpcommand.lib
LIBRARY ganes.lib // for HgList
LIBRARY ecom.lib
+LIBRARY apgrfx.lib // RApaLsSession
#ifdef RD_VIDEO_AS_RINGING_TONE
LIBRARY servicehandler.lib // AIW Service Handler
-#endif
\ No newline at end of file
+#endif
+LIBRARY platformenv.lib
+LIBRARY fbscli.lib // CFbsBitmap
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videocollection/hgmyvideos/icons/qgn_prop_captured_thumbnail_video.svg Fri Mar 12 15:43:00 2010 +0200
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="90px" height="60px" viewBox="0 0 90 60" enable-background="new 0 0 90 60" xml:space="preserve">
+<rect fill="none" width="90" height="60"/>
+<rect x="18.418" y="4.259" fill="none" width="52.122" height="52.122"/>
+<path fill="#FFFFFF" d="M65.31,13.55c-2.023,0-3.423,1.02-3.423,2.896c0,1.878,1.438,2.895,3.423,2.895
+ c1.981,0,3.418-1.016,3.418-2.895C68.728,14.609,67.213,13.55,65.31,13.55z"/>
+<polygon fill="#FFFFFF" points="18.387,5.143 63.849,14.281 63.376,56.156 20.192,44.013 "/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-78.396" y1="-86.4761" x2="-35.0569" y2="-102.2478" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
+ <stop offset="0" style="stop-color:#E2E6E4"/>
+ <stop offset="1" style="stop-color:#A3740A"/>
+</linearGradient>
+<path fill="url(#SVGID_1_)" d="M24.586,13.188c0,9.118,0,17.046,0,26.335l25.559,6.7c0-9.29,0-18.583,0-27.879L24.586,13.188z"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="-32.5571" y1="-91.5874" x2="-62.8272" y2="-102.6096" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
+ <stop offset="0" style="stop-color:#E2E6E4"/>
+ <stop offset="1" style="stop-color:#A3740A"/>
+</linearGradient>
+<path fill="url(#SVGID_2_)" d="M63.75,21.084l-13.602-2.742c0,9.296,0,18.591,0,27.881l13.268,3.484L63.75,21.084z"/>
+<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="-80.7158" y1="-88.146" x2="-42.7518" y2="-92.6767" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
+ <stop offset="0" style="stop-color:#E2E6E4"/>
+ <stop offset="1" style="stop-color:#A3740A"/>
+</linearGradient>
+<path fill="url(#SVGID_3_)" d="M18.811,12.021l1.147,26.29l4.628,1.209c0-9.283,0-17.218,0-26.333L18.811,12.021z"/>
+<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="-87.5044" y1="-71.4497" x2="7.3703" y2="-71.4497" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
+ <stop offset="0" style="stop-color:#E2E6E4"/>
+ <stop offset="1" style="stop-color:#A3740A"/>
+</linearGradient>
+<polygon fill="url(#SVGID_4_)" points="68.468,12.439 23.254,3.676 18.459,5.105 63.952,14.5 "/>
+<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="-69.998" y1="-59.1743" x2="-56.0859" y2="-106.7536" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
+ <stop offset="0" style="stop-color:#E6EEF4"/>
+ <stop offset="0.44" style="stop-color:#A3740A"/>
+ <stop offset="0.94" style="stop-color:#474105"/>
+</linearGradient>
+<path fill="url(#SVGID_5_)" d="M18.416,5.102l45.436,9.312l-0.474,41.733l-43.18-11.93L18.416,5.102z M60.782,19.716l3.069,0.664
+ l0.015-3.684l-3.086-0.647L60.782,19.716z M55.989,18.599l2.531,0.592l-0.015-3.66l-2.545-0.569L55.989,18.599z M51.172,17.507
+ l2.541,0.583l-0.037-3.636l-2.555-0.567L51.172,17.507z M46.331,16.425l2.556,0.572l-0.063-3.608l-2.564-0.551L46.331,16.425z
+ M41.486,15.361l2.56,0.557l-0.091-3.58l-2.571-0.543L41.486,15.361z M36.622,14.322l2.573,0.543l-0.119-3.556l-2.58-0.537
+ L36.622,14.322z M31.747,13.289l2.574,0.531l-0.133-3.52l-2.59-0.532L31.747,13.289z M26.852,12.267l2.592,0.533L29.28,9.294
+ l-2.598-0.519L26.852,12.267z M18.649,10.6l1.21,0.245l-0.209-3.45l-1.125-0.217L18.649,10.6z M21.954,11.267l2.588,0.522
+ l-0.186-3.471l-2.607-0.516L21.954,11.267z M60.762,53.112l2.663,0.74l0.014-3.685l-2.685-0.727L60.762,53.112z M56.158,51.801
+ l2.436,0.691l-0.025-3.661l-2.438-0.677L56.158,51.801z M51.538,50.502l2.441,0.685l-0.038-3.638l-2.452-0.678L51.538,50.502z
+ M46.91,49.217l2.452,0.673l-0.065-3.602l-2.458-0.668L46.91,49.217z M42.263,47.947l2.458,0.673l-0.088-3.587l-2.468-0.651
+ L42.263,47.947z M37.599,46.694l2.466,0.664l-0.111-3.562l-2.472-0.646L37.599,46.694z M32.92,45.465l2.472,0.646l-0.133-3.524
+ l-2.484-0.643L32.92,45.465z M28.225,44.244l2.483,0.644l-0.159-3.514l-2.494-0.628L28.225,44.244z M23.52,43.031L26,43.667
+ l-0.182-3.485l-2.495-0.617L23.52,43.031z M20.07,42.154l1.22,0.313l-0.202-3.453l-1.109-0.25L20.07,42.154z M52.52,44.762
+ l11.042,2.85l0.217-24.509L52.29,20.499L52.52,44.762z M27.251,38.416l22.191,5.717l-0.247-24.291l-22.94-4.979L27.251,38.416z
+ M19.925,36.588l4.208,1.096l-1.121-23.487l-4.202-0.852L19.925,36.588z"/>
+<polygon fill="#6D5607" points="63.347,56.193 67.168,52.854 68.457,12.343 63.849,14.414 "/>
+<polygon fill="#B18E3B" points="63.82,16.711 68.385,14.307 68.255,17.839 63.786,20.37 "/>
+<polygon fill="#B18E3B" points="63.435,50.198 63.388,53.853 67.213,50.846 67.335,47.532 "/>
+<polygon fill="#B18E3B" points="63.778,23.102 63.477,47.642 67.396,45.062 68.154,20.514 "/>
+<g>
+ <g>
+ <g>
+ <g>
+ <polygon fill="#D7CEE6" points="67.4,37.886 46.539,34.358 39.658,36.028 60.445,40.311 "/>
+
+ <linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="-326.4976" y1="268.4814" x2="-324.271" y2="259.7819" gradientTransform="matrix(6.8182 0 0 -6.8182 2270.9502 1853.7356)">
+ <stop offset="0" style="stop-color:#E6EEF4"/>
+ <stop offset="0.4438" style="stop-color:#9646AC"/>
+ <stop offset="0.9382" style="stop-color:#3D013F"/>
+ <stop offset="1" style="stop-color:#3D013F"/>
+ </linearGradient>
+ <polygon fill="url(#SVGID_6_)" points="60.435,56.22 40.54,50.237 39.729,36.009 60.438,40.32 "/>
+ <polygon fill="#5E1B67" points="67.4,37.886 67.017,52.912 60.435,56.22 60.375,40.259 "/>
+
+ <linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="-321.27" y1="265.4365" x2="-323.5245" y2="265.3849" gradientTransform="matrix(6.8182 0 0 -6.8182 2270.9502 1853.7356)">
+ <stop offset="0" style="stop-color:#E6EEF4"/>
+ <stop offset="0.4438" style="stop-color:#9646AC"/>
+ <stop offset="0.9382" style="stop-color:#3D013F"/>
+ <stop offset="1" style="stop-color:#3D013F"/>
+ </linearGradient>
+ <polygon fill="url(#SVGID_7_)" points="71.882,39.104 71.704,49.168 66.875,47.629 66.962,40.535 "/>
+
+ <linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="-322.0967" y1="264.4336" x2="-323.9386" y2="264.623" gradientTransform="matrix(6.8182 0 0 -6.8182 2270.9502 1853.7356)">
+ <stop offset="0" style="stop-color:#E6EEF4"/>
+ <stop offset="0.4438" style="stop-color:#9646AC"/>
+ <stop offset="0.9382" style="stop-color:#3D013F"/>
+ <stop offset="1" style="stop-color:#3D013F"/>
+ </linearGradient>
+ <polygon fill="url(#SVGID_8_)" points="64.784,52.058 71.704,49.168 66.875,47.629 61.888,49.559 "/>
+ <polygon fill="#D7CEE6" points="61.548,41.969 64.839,41.611 71.912,39.058 67.288,39.938 "/>
+
+ <linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="-323.2153" y1="264.9941" x2="-323.9428" y2="265.0305" gradientTransform="matrix(6.8182 0 0 -6.8182 2270.9502 1853.7356)">
+ <stop offset="0" style="stop-color:#DEDEED"/>
+ <stop offset="1" style="stop-color:#9646AC"/>
+ </linearGradient>
+ <polygon fill="url(#SVGID_9_)" points="64.839,41.611 64.784,52.058 61.521,49.64 61.503,41.945 "/>
+ </g>
+ <g>
+
+ <linearGradient id="SVGID_10_" gradientUnits="userSpaceOnUse" x1="-326.3232" y1="269.0459" x2="-325.7381" y2="267.1254" gradientTransform="matrix(6.8182 0 0 -6.8182 2270.9502 1853.7356)">
+ <stop offset="0" style="stop-color:#E6EEF4"/>
+ <stop offset="0.4438" style="stop-color:#9646AC"/>
+ <stop offset="0.9382" style="stop-color:#3D013F"/>
+ <stop offset="1" style="stop-color:#3D013F"/>
+ </linearGradient>
+ <path fill="url(#SVGID_10_)" d="M52.494,23.124c-2.063-4.789-6.943-6.644-12.077-4.489l6.333,17.14
+ C52.765,34.408,54.853,28.592,52.494,23.124z"/>
+
+ <linearGradient id="SVGID_11_" gradientUnits="userSpaceOnUse" x1="-327.689" y1="269.3701" x2="-326.3289" y2="267.4271" gradientTransform="matrix(6.8182 0 0 -6.8182 2270.9502 1853.7356)">
+ <stop offset="0" style="stop-color:#DEDEED"/>
+ <stop offset="1" style="stop-color:#9646AC"/>
+ </linearGradient>
+ <path fill="url(#SVGID_11_)" d="M51.601,28.602c-0.158,4.882-3.8,8.203-8.141,7.417c-4.336-0.784-7.723-5.38-7.569-10.26
+ c0.158-4.882,3.801-8.202,8.139-7.414C48.369,19.13,51.759,23.723,51.601,28.602z"/>
+
+ <linearGradient id="SVGID_12_" gradientUnits="userSpaceOnUse" x1="-326.5342" y1="267.6699" x2="-326.8742" y2="267.9529" gradientTransform="matrix(6.8182 0 0 -6.8182 2270.9502 1853.7356)">
+ <stop offset="0" style="stop-color:#E6EEF4"/>
+ <stop offset="0.4438" style="stop-color:#9646AC"/>
+ <stop offset="0.9382" style="stop-color:#3D013F"/>
+ <stop offset="1" style="stop-color:#3D013F"/>
+ </linearGradient>
+ <path fill="url(#SVGID_12_)" d="M42.647,24.875c-3.204,1.842,0.591,6.933,2.785,4.07L42.647,24.875z"/>
+ <path fill="#D7CEE6" d="M42.663,24.891c-1.263,1.828,0.845,4.791,2.77,4.055C46.83,26.33,44.181,24.064,42.663,24.891z"/>
+ </g>
+ <g>
+
+ <linearGradient id="SVGID_13_" gradientUnits="userSpaceOnUse" x1="-323.8936" y1="268.6123" x2="-323.2906" y2="266.6335" gradientTransform="matrix(6.8182 0 0 -6.8182 2270.9502 1853.7356)">
+ <stop offset="0" style="stop-color:#E6EEF4"/>
+ <stop offset="0.4438" style="stop-color:#9646AC"/>
+ <stop offset="0.9382" style="stop-color:#3D013F"/>
+ <stop offset="1" style="stop-color:#3D013F"/>
+ </linearGradient>
+ <path fill="url(#SVGID_13_)" d="M69.249,26.204c-2.126-4.933-7.153-6.845-12.437-4.625l6.522,17.654
+ C69.528,37.825,71.679,31.834,69.249,26.204z"/>
+ <path fill="#A15EB6" d="M68.331,31.846c-0.166,5.028-3.916,8.448-8.388,7.64c-4.465-0.806-7.954-5.542-7.793-10.567
+ c0.16-5.027,3.914-8.449,8.382-7.636C65.003,22.088,68.492,26.819,68.331,31.846z"/>
+
+ <linearGradient id="SVGID_14_" gradientUnits="userSpaceOnUse" x1="-324.1118" y1="267.1934" x2="-324.4622" y2="267.4848" gradientTransform="matrix(6.8182 0 0 -6.8182 2270.9502 1853.7356)">
+ <stop offset="0" style="stop-color:#E6EEF4"/>
+ <stop offset="0.4438" style="stop-color:#9646AC"/>
+ <stop offset="0.9382" style="stop-color:#3D013F"/>
+ <stop offset="1" style="stop-color:#3D013F"/>
+ </linearGradient>
+ <path fill="url(#SVGID_14_)" d="M59.107,28.007c-3.299,1.896,0.609,7.139,2.869,4.192L59.107,28.007z"/>
+ <path fill="#D7CEE6" d="M59.124,28.022c-1.234,1.839,0.802,4.966,2.853,4.175C63.396,29.501,60.668,27.167,59.124,28.022z"/>
+ </g>
+ </g>
+ </g>
+</g>
+</svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videocollection/hgmyvideos/icons/qgn_prop_download_thumbnail_video.svg Fri Mar 12 15:43:00 2010 +0200
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="90px" height="60px" viewBox="0 0 90 60" enable-background="new 0 0 90 60" xml:space="preserve">
+<rect fill="none" width="90" height="60"/>
+<rect x="18.418" y="4.259" fill="none" width="52.122" height="52.122"/>
+<path fill="#FFFFFF" d="M65.31,13.55c-2.023,0-3.423,1.02-3.423,2.896c0,1.878,1.438,2.895,3.423,2.895
+ c1.981,0,3.418-1.016,3.418-2.895C68.728,14.609,67.213,13.55,65.31,13.55z"/>
+<polygon fill="#FFFFFF" points="18.387,5.143 63.849,14.281 63.376,56.156 20.192,44.013 "/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-78.396" y1="-86.4761" x2="-35.0569" y2="-102.2478" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
+ <stop offset="0" style="stop-color:#E2E6E4"/>
+ <stop offset="1" style="stop-color:#A3740A"/>
+</linearGradient>
+<path fill="url(#SVGID_1_)" d="M24.586,13.188c0,9.118,0,17.046,0,26.335l25.559,6.7c0-9.29,0-18.583,0-27.879L24.586,13.188z"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="-32.5571" y1="-91.5874" x2="-62.8272" y2="-102.6096" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
+ <stop offset="0" style="stop-color:#E2E6E4"/>
+ <stop offset="1" style="stop-color:#A3740A"/>
+</linearGradient>
+<path fill="url(#SVGID_2_)" d="M63.75,21.084l-13.602-2.742c0,9.296,0,18.591,0,27.881l13.268,3.484L63.75,21.084z"/>
+<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="-80.7158" y1="-88.146" x2="-42.7518" y2="-92.6767" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
+ <stop offset="0" style="stop-color:#E2E6E4"/>
+ <stop offset="1" style="stop-color:#A3740A"/>
+</linearGradient>
+<path fill="url(#SVGID_3_)" d="M18.811,12.021l1.147,26.29l4.628,1.209c0-9.283,0-17.218,0-26.333L18.811,12.021z"/>
+<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="-87.5044" y1="-71.4497" x2="7.3703" y2="-71.4497" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
+ <stop offset="0" style="stop-color:#E2E6E4"/>
+ <stop offset="1" style="stop-color:#A3740A"/>
+</linearGradient>
+<polygon fill="url(#SVGID_4_)" points="68.468,12.439 23.254,3.676 18.459,5.105 63.952,14.5 "/>
+<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="-69.998" y1="-59.1743" x2="-56.0859" y2="-106.7536" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
+ <stop offset="0" style="stop-color:#E6EEF4"/>
+ <stop offset="0.44" style="stop-color:#A3740A"/>
+ <stop offset="0.94" style="stop-color:#474105"/>
+</linearGradient>
+<path fill="url(#SVGID_5_)" d="M18.416,5.102l45.436,9.312l-0.474,41.733l-43.18-11.93L18.416,5.102z M60.782,19.716l3.069,0.664
+ l0.015-3.684l-3.086-0.647L60.782,19.716z M55.989,18.599l2.531,0.592l-0.015-3.66l-2.545-0.569L55.989,18.599z M51.172,17.507
+ l2.541,0.583l-0.037-3.636l-2.555-0.567L51.172,17.507z M46.331,16.425l2.556,0.572l-0.063-3.608l-2.564-0.551L46.331,16.425z
+ M41.486,15.361l2.56,0.557l-0.091-3.58l-2.571-0.543L41.486,15.361z M36.622,14.322l2.573,0.543l-0.119-3.556l-2.58-0.537
+ L36.622,14.322z M31.747,13.289l2.574,0.531l-0.133-3.52l-2.59-0.532L31.747,13.289z M26.852,12.267l2.592,0.533L29.28,9.294
+ l-2.598-0.519L26.852,12.267z M18.649,10.6l1.21,0.245l-0.209-3.45l-1.125-0.217L18.649,10.6z M21.954,11.267l2.588,0.522
+ l-0.186-3.471l-2.607-0.516L21.954,11.267z M60.762,53.112l2.663,0.74l0.014-3.685l-2.685-0.727L60.762,53.112z M56.158,51.801
+ l2.436,0.691l-0.025-3.661l-2.438-0.677L56.158,51.801z M51.538,50.502l2.441,0.685l-0.038-3.638l-2.452-0.678L51.538,50.502z
+ M46.91,49.217l2.452,0.673l-0.065-3.602l-2.458-0.668L46.91,49.217z M42.263,47.947l2.458,0.673l-0.088-3.587l-2.468-0.651
+ L42.263,47.947z M37.599,46.694l2.466,0.664l-0.111-3.562l-2.472-0.646L37.599,46.694z M32.92,45.465l2.472,0.646l-0.133-3.524
+ l-2.484-0.643L32.92,45.465z M28.225,44.244l2.483,0.644l-0.159-3.514l-2.494-0.628L28.225,44.244z M23.52,43.031L26,43.667
+ l-0.182-3.485l-2.495-0.617L23.52,43.031z M20.07,42.154l1.22,0.313l-0.202-3.453l-1.109-0.25L20.07,42.154z M52.52,44.762
+ l11.042,2.85l0.217-24.509L52.29,20.499L52.52,44.762z M27.251,38.416l22.191,5.717l-0.247-24.291l-22.94-4.979L27.251,38.416z
+ M19.925,36.588l4.208,1.096l-1.121-23.487l-4.202-0.852L19.925,36.588z"/>
+<polygon fill="#6D5607" points="63.347,56.193 67.168,52.854 68.457,12.343 63.849,14.414 "/>
+<polygon fill="#B18E3B" points="63.82,16.711 68.385,14.307 68.255,17.839 63.786,20.37 "/>
+<polygon fill="#B18E3B" points="63.435,50.198 63.388,53.853 67.213,50.846 67.335,47.532 "/>
+<polygon fill="#B18E3B" points="63.778,23.102 63.477,47.642 67.396,45.062 68.154,20.514 "/>
+<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="-264.3301" y1="560.7861" x2="-267.7697" y2="577.4745" gradientTransform="matrix(-1 0 0 -1 -227.7041 603.3203)">
+ <stop offset="0" style="stop-color:#DCE8E4"/>
+ <stop offset="1" style="stop-color:#43910A"/>
+</linearGradient>
+<polygon fill="url(#SVGID_6_)" points="36.484,27.486 36.352,21.844 42.903,23.604 42.811,29.112 46.287,29.899 39.382,37.714
+ 32.875,26.491 "/>
+</svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videocollection/hgmyvideos/icons/qgn_prop_ovi_thumbnail_video.svg Fri Mar 12 15:43:00 2010 +0200
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="90px" height="60px" viewBox="0 0 90 60" enable-background="new 0 0 90 60" xml:space="preserve">
+<rect fill="none" width="90" height="60"/>
+<rect x="18.418" y="4.259" fill="none" width="52.122" height="52.122"/>
+<rect x="18.418" y="4.259" fill="#44A51C" width="52.122" height="52.122"/>
+<path fill="#FFFFFF" d="M30.699,21.384c-6.723,0-10.255,4.613-10.255,11.183c0,6.648,2.6,11.881,10.187,11.881
+ c6.987,0,10.22-4.733,10.22-11.734C40.851,26.031,37.664,21.384,30.699,21.384z M30.628,40.856c-3.583,0-3.74-5.087-3.74-8.418
+ c0-3.245,0.271-7.463,3.74-7.463c3.304,0,3.768,4.46,3.768,7.463C34.396,36.311,34.202,40.856,30.628,40.856z"/>
+<path fill="#FFFFFF" d="M49.429,44.447c2.729,0,3.691-1.367,4.339-3.355l5.883-19.393h-5.487l-4.206,16.777l-3.964-16.777h-6.495
+ l5.58,19.393C45.691,43.08,46.693,44.447,49.429,44.447z"/>
+<path fill="#FFFFFF" d="M65.31,13.55c-2.023,0-3.423,1.02-3.423,2.896c0,1.878,1.438,2.895,3.423,2.895
+ c1.981,0,3.418-1.016,3.418-2.895C68.728,14.609,67.213,13.55,65.31,13.55z"/>
+<path fill="#FFFFFF" d="M63.046,43.828c0.454,0.331,1.184,0.619,2.204,0.619c1.069,0,1.77-0.292,2.229-0.619
+ c0.879-0.625,0.879-1.677,0.879-2.243V21.699h-6.124c0,0-0.227,0-0.423,0c-0.592,0-1.089,0.013-1.427,0.477
+ c-0.168,0.216-0.393,0.611-0.393,1.318c0,0.738,0.225,1.093,0.393,1.316c0.338,0.47,0.835,0.474,1.427,0.474
+ c0.196,0,0.362-0.003,0.362-0.003v16.305C62.167,42.151,62.167,43.203,63.046,43.828z"/>
+</svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videocollection/hgmyvideos/icons/qgn_prop_recent_thumbnail_video.svg Fri Mar 12 15:43:00 2010 +0200
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="90px" height="60px" viewBox="0 0 90 60" enable-background="new 0 0 90 60" xml:space="preserve">
+<rect fill="none" width="90" height="60"/>
+<rect x="18.418" y="4.259" fill="none" width="52.122" height="52.122"/>
+<path fill="#FFFFFF" d="M65.31,13.55c-2.023,0-3.423,1.02-3.423,2.896c0,1.878,1.438,2.895,3.423,2.895
+ c1.981,0,3.418-1.016,3.418-2.895C68.728,14.609,67.213,13.55,65.31,13.55z"/>
+<polygon fill="#FFFFFF" points="18.387,5.143 63.849,14.281 63.376,56.156 20.192,44.013 "/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-78.396" y1="-86.4761" x2="-35.0569" y2="-102.2478" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
+ <stop offset="0" style="stop-color:#E2E6E4"/>
+ <stop offset="1" style="stop-color:#A3740A"/>
+</linearGradient>
+<path fill="url(#SVGID_1_)" d="M24.586,13.188c0,9.118,0,17.046,0,26.335l25.559,6.7c0-9.29,0-18.583,0-27.879L24.586,13.188z"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="-32.5571" y1="-91.5874" x2="-62.8272" y2="-102.6096" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
+ <stop offset="0" style="stop-color:#E2E6E4"/>
+ <stop offset="1" style="stop-color:#A3740A"/>
+</linearGradient>
+<path fill="url(#SVGID_2_)" d="M63.75,21.084l-13.602-2.742c0,9.296,0,18.591,0,27.881l13.268,3.484L63.75,21.084z"/>
+<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="-80.7158" y1="-88.146" x2="-42.7518" y2="-92.6767" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
+ <stop offset="0" style="stop-color:#E2E6E4"/>
+ <stop offset="1" style="stop-color:#A3740A"/>
+</linearGradient>
+<path fill="url(#SVGID_3_)" d="M18.811,12.021l1.147,26.29l4.628,1.209c0-9.283,0-17.218,0-26.333L18.811,12.021z"/>
+<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="-87.5044" y1="-71.4497" x2="7.3703" y2="-71.4497" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
+ <stop offset="0" style="stop-color:#E2E6E4"/>
+ <stop offset="1" style="stop-color:#A3740A"/>
+</linearGradient>
+<polygon fill="url(#SVGID_4_)" points="68.468,12.439 23.254,3.676 18.459,5.105 63.952,14.5 "/>
+<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="-69.998" y1="-59.1743" x2="-56.0859" y2="-106.7536" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
+ <stop offset="0" style="stop-color:#E6EEF4"/>
+ <stop offset="0.44" style="stop-color:#A3740A"/>
+ <stop offset="0.94" style="stop-color:#474105"/>
+</linearGradient>
+<path fill="url(#SVGID_5_)" d="M18.416,5.102l45.436,9.312l-0.474,41.733l-43.18-11.93L18.416,5.102z M60.782,19.716l3.069,0.664
+ l0.015-3.684l-3.086-0.647L60.782,19.716z M55.989,18.599l2.531,0.592l-0.015-3.66l-2.545-0.569L55.989,18.599z M51.172,17.507
+ l2.541,0.583l-0.037-3.636l-2.555-0.567L51.172,17.507z M46.331,16.425l2.556,0.572l-0.063-3.608l-2.564-0.551L46.331,16.425z
+ M41.486,15.361l2.56,0.557l-0.091-3.58l-2.571-0.543L41.486,15.361z M36.622,14.322l2.573,0.543l-0.119-3.556l-2.58-0.537
+ L36.622,14.322z M31.747,13.289l2.574,0.531l-0.133-3.52l-2.59-0.532L31.747,13.289z M26.852,12.267l2.592,0.533L29.28,9.294
+ l-2.598-0.519L26.852,12.267z M18.649,10.6l1.21,0.245l-0.209-3.45l-1.125-0.217L18.649,10.6z M21.954,11.267l2.588,0.522
+ l-0.186-3.471l-2.607-0.516L21.954,11.267z M60.762,53.112l2.663,0.74l0.014-3.685l-2.685-0.727L60.762,53.112z M56.158,51.801
+ l2.436,0.691l-0.025-3.661l-2.438-0.677L56.158,51.801z M51.538,50.502l2.441,0.685l-0.038-3.638l-2.452-0.678L51.538,50.502z
+ M46.91,49.217l2.452,0.673l-0.065-3.602l-2.458-0.668L46.91,49.217z M42.263,47.947l2.458,0.673l-0.088-3.587l-2.468-0.651
+ L42.263,47.947z M37.599,46.694l2.466,0.664l-0.111-3.562l-2.472-0.646L37.599,46.694z M32.92,45.465l2.472,0.646l-0.133-3.524
+ l-2.484-0.643L32.92,45.465z M28.225,44.244l2.483,0.644l-0.159-3.514l-2.494-0.628L28.225,44.244z M23.52,43.031L26,43.667
+ l-0.182-3.485l-2.495-0.617L23.52,43.031z M20.07,42.154l1.22,0.313l-0.202-3.453l-1.109-0.25L20.07,42.154z M52.52,44.762
+ l11.042,2.85l0.217-24.509L52.29,20.499L52.52,44.762z M27.251,38.416l22.191,5.717l-0.247-24.291l-22.94-4.979L27.251,38.416z
+ M19.925,36.588l4.208,1.096l-1.121-23.487l-4.202-0.852L19.925,36.588z"/>
+<polygon fill="#6D5607" points="63.347,56.193 67.168,52.854 68.457,12.343 63.849,14.414 "/>
+<polygon fill="#B18E3B" points="63.82,16.711 68.385,14.307 68.255,17.839 63.786,20.37 "/>
+<polygon fill="#B18E3B" points="63.778,23.102 63.477,47.642 67.396,45.062 68.154,20.514 "/>
+<g>
+ <polygon fill="#B18E3B" points="61.264,19.599 61.204,24.216 66.038,20.417 66.191,16.231 "/>
+ <g>
+ <g>
+ <g>
+ <g>
+ <path fill="#496DA2" d="M59.977,25.915c-5.335,0-9.675-4.347-9.675-9.683c0-5.337,4.34-9.678,9.675-9.678
+ c5.338,0,9.68,4.341,9.68,9.678C69.656,21.566,65.314,25.915,59.977,25.915L59.977,25.915z"/>
+ <path fill="#FFFFFF" d="M59.98,8.568c4.231,0,7.661,3.431,7.661,7.665c0,4.232-3.43,7.665-7.661,7.665
+ c-4.233,0-7.665-3.433-7.665-7.665C52.315,11.999,55.747,8.568,59.98,8.568 M59.98,4.536c-6.449,0-11.696,5.249-11.696,11.697
+ S53.531,27.93,59.98,27.93c6.446,0,11.692-5.249,11.692-11.697S66.427,4.536,59.98,4.536L59.98,4.536z"/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <polygon fill="#FFFFFF" points="61.001,10.717 59.434,10.717 59.434,15.583 55.907,15.583 55.907,17.156 60.35,17.156
+ 60.35,17.154 61.001,17.154 "/>
+</g>
+</svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videocollection/hgmyvideos/icons/qgn_prop_service_thumbnail_video.svg Fri Mar 12 15:43:00 2010 +0200
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="90px" height="60px" viewBox="0 0 90 60" enable-background="new 0 0 90 60" xml:space="preserve">
+<g>
+
+ <radialGradient id="SVGID_1_" cx="-53.6362" cy="-75.792" r="47.1888" fx="-54.4808" fy="-77.886" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FFFFFF"/>
+ <stop offset="0.5337" style="stop-color:#A2C2DD"/>
+ <stop offset="0.8652" style="stop-color:#6C83BB"/>
+ <stop offset="1" style="stop-color:#003D6D"/>
+ </radialGradient>
+ <path fill="url(#SVGID_1_)" d="M49.838,29.932h19.516c0-0.021,0.002-0.038,0.002-0.057c0-14.088-11.418-25.505-25.502-25.505
+ S18.348,15.787,18.348,29.875c0,14.083,11.422,25.502,25.506,25.502c2.063,0,4.061-0.272,5.984-0.733V29.932z"/>
+
+ <radialGradient id="SVGID_2_" cx="-271.7451" cy="749.8672" r="39.4641" gradientTransform="matrix(1 0 0 1 317.04 -723.0391)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#A2C2DD"/>
+ <stop offset="0.1" style="stop-color:#A2C2DD"/>
+ <stop offset="0.7135" style="stop-color:#6C83BB"/>
+ <stop offset="0.9888" style="stop-color:#003D6D"/>
+ <stop offset="1" style="stop-color:#003D6D"/>
+ </radialGradient>
+ <path fill="url(#SVGID_2_)" d="M31.033,7.786c-1.16,0.691-4.26,2.886-4.303,3.748c-0.041,0.857,0.891-1.011,1.766-0.692
+ c0.174,0,1.242-1.498,3.229-2.454c0.863-0.816,2.414-0.345,2.414-0.345s4.604-1.721,4.346-1.29
+ c-0.701,1.175-4.393,1.851-4.953,2.109c-0.559,0.26-3.658,2.326-1.074,1.506c0.475-0.042,1.807-0.085,2.455,0.133
+ c0.648,0.212,1.701-0.917,2.971-0.649c0.52-0.262,1.551-0.819,1.811-0.819c0.258,0,1.207-0.086,1.162-1.201
+ c0,0,0.693-1.579,0.904-2.2c0.58-0.158,1.25-1.075,1.25-1.075c-1.809-0.259-6.158,0.907-6.801,1.075
+ C36.07,5.762,32.412,7.445,31.033,7.786z"/>
+
+ <radialGradient id="SVGID_3_" cx="-269.1685" cy="743.6016" r="28.9131" gradientTransform="matrix(1 0 0 1 317.04 -723.0391)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#A2C2DD"/>
+ <stop offset="0.1" style="stop-color:#A2C2DD"/>
+ <stop offset="0.7135" style="stop-color:#6C83BB"/>
+ <stop offset="0.9888" style="stop-color:#003D6D"/>
+ <stop offset="1" style="stop-color:#003D6D"/>
+ </radialGradient>
+ <path fill="url(#SVGID_3_)" d="M45.375,47.486l-0.863,0.606c0,0-0.795,0.013-0.904,0.345c-0.389,1.193-0.258,2.794,0.686,2.582
+ c0.949-0.218,1.207-1.641,1.207-1.641S46.451,47.271,45.375,47.486z"/>
+
+ <radialGradient id="SVGID_4_" cx="-271.4248" cy="-808.7124" r="39.553" fx="-270.6078" fy="-808.8184" gradientTransform="matrix(1 0 0 -1 317.04 -796.3809)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#E6EEF4"/>
+ <stop offset="0.4438" style="stop-color:#4A9900"/>
+ <stop offset="0.9382" style="stop-color:#0E4E58"/>
+ <stop offset="1" style="stop-color:#0E4E58"/>
+ </radialGradient>
+ <path fill="url(#SVGID_4_)" d="M56.785,8.346l1.334,2.888l3.098,1.117c0,0,0.777,0.945,1.035,1.162
+ c0.387,1.723,1.248,3.573,1.42,3.659c0.17,0.085,0.945,0.341,1.207,0.299c0.17,0.95-0.09,0.95-0.09,0.95l-1.248-0.605l0.514,2.112
+ l2.41,4.09c-0.301,0.646-1.463,4.478-1.463,4.478s0.633,0.58,1.02,1.4c-2.135,0-16.184,0.036-16.184,0.036
+ s-0.078,0.647-0.078,1.491c-0.756,0.083-1.406,0.191-1.291,0.306c1.725,1.205,1.035,2.067,1.035,2.067l-2.713,2.41
+ c0,0-2.283,1.035-2.971,1.204c-1.248,0.774,0.127,1.079,1.506,0.734c1.377-0.344,1.248,0.217,1.033,0.777
+ c-0.775,1.892-2.15,3.096-3.059,3.441c-1.891,1.335-2.324,3.316-1.42,4.134c0,0,0.086,1.938-0.561,1.978
+ c-0.645,0.044-1.551,0.733-1.551,1.032c0,0.304-0.686,1.551-0.947,1.764c-0.904,1.162-2.068,1.033-2.586,0.775
+ c-2.369,0.467-4.346-3.356-4.475-3.701c-0.129-0.344-1.852-1.203-1.291-2.755c0.555-1.553-2.072-5.394-3.447-8.74
+ c-0.176-0.15-2.023-0.607-3.012-0.904c-0.99-0.302-1.422-2.668-1.854-3.662c-0.428-0.991,0.732-4.82,0.775-5.082
+ c0.045-0.257,4.867-3.743,4.867-3.743l-0.178-1.51c0,0,1.555-2.109,1.85-1.42c0.301,0.688,1.814,0.558,1.68-0.429
+ c-0.129-0.991,0.219-1.468,0.602-1.508c0.389-0.044,0.045-0.859-0.428-1.466c-0.471-0.602,0.732-0.775,1.51-1.506
+ c0.777-0.733,0.215,1.594,0.215,2.368c0,0.775,2.627-1.292,2.754-1.42c-0.299-1.506,0.908-1.896,1.25-1.938
+ c0.346-0.044,1.896-0.948,2.283-1.337c0.385-0.385,1.465-0.385,1.811-0.344c0.342,0.041,1.891,1.291,2.279,1.291
+ s3.447-0.818,3.533-1.378c0.086-0.561,0.385-0.862,0.947-1.075c0.559-0.216,0.646-2.027,0.646-2.027s2.582-0.602,2.969-0.731
+ C51.91,8.9,51.566,8.126,51.439,7.78c0.471-1.031-1.98-2.045-1.08-1.981C53.898,6.065,56.395,7.743,56.785,8.346z M28.193,23.59
+ l0.344,0.432c0,0,1.781,0.182,3.543,0.865c0.266,0.271-0.055,1.545-0.055,1.545s1.893,2.582,2.279,2.113
+ c0.385-0.478,0.904-0.909,1.506-0.478c0.605,0.43,2.068,0.946,2.801,0.946c0.305,0.086,1.807,0.561,1.764-1.72
+ c-0.592-0.821-2.109-0.687-2.367-0.905c-0.258-0.217-0.773-1.767-0.773-1.767l-0.518,0.13c0,0-0.086,1.076-0.387,1.076
+ c-0.303,0-0.949-1.634-0.949-1.634l0.09-0.862l-0.99-1.201c0,0-0.648,0.297,0.602,1.893c0,0-0.863,0.903-1.504,0.943
+ c0.17-0.213,0.561-1.204,0.561-1.204s-1.969-2.436-2.371-2.108c-0.471,0.387-1.848,1.117-1.848,1.117l-0.906,0.775L28.193,23.59z
+ M38.613,15.581c-0.926,1.492-2.273,1.916-2.154,2.451c0.047,0.221,1.338,0.521,1.551-0.083c0.217-0.605,0.992-0.733,0.992-0.991
+ S38.734,15.386,38.613,15.581z M40.379,22.943c-0.215-0.086-0.645-0.86-1.162-0.304c-0.516,0.561-1.164,1.81-0.516,1.897
+ c0.645,0.087,1.594-0.259,1.805-0.088c0.219,0.175,1.865,0.852,2.115,0C43.041,23.006,40.379,22.943,40.379,22.943z M39.516,30.735
+ c-0.018,0.264,1.078,2.846,1.078,2.846s-0.09,0.858,0.129,1.161c0.217,0.304,0.99,1.895,1.852,2.153
+ c1.242-1.435-1.16-3.314-1.16-3.314l-0.09-0.735C41.324,32.846,39.604,29.53,39.516,30.735z M45.283,29.963l0.045,0.731
+ l1.553,1.721c0,0,1.422-0.127,1.164-1.158l-1.25-0.435L45.283,29.963z"/>
+ <g>
+ <rect x="51.773" y="31.872" fill="#FFFFFF" width="20.475" height="24.349"/>
+ <rect x="68.531" y="39.467" fill="none" width="1.857" height="1.859"/>
+ <rect x="68.527" y="43.194" fill="none" width="1.861" height="1.857"/>
+ <rect x="68.527" y="35.744" fill="none" width="1.861" height="1.857"/>
+ <rect x="53.637" y="35.744" fill="none" width="1.861" height="1.857"/>
+ <rect x="68.531" y="46.91" fill="none" width="1.857" height="1.862"/>
+ <rect x="53.637" y="50.639" fill="none" width="1.861" height="1.858"/>
+ <rect x="68.527" y="50.639" fill="none" width="1.861" height="1.858"/>
+ <rect x="53.637" y="39.467" fill="none" width="1.861" height="1.859"/>
+ <rect x="53.635" y="43.189" fill="none" width="1.863" height="1.857"/>
+ <rect x="53.635" y="46.914" fill="none" width="1.863" height="1.858"/>
+ <polygon fill="#A2C2DD" points="66.664,56.229 66.664,31.879 57.359,31.879 57.359,56.149 "/>
+ <path fill="#496DA2" d="M70.385,31.863v2.019h-1.857v-2.019h-1.863v0.016v5.723h-9.307v-5.723v-0.016h-1.861v2.019h-1.861v-2.019
+ h-1.863v24.351h1.863v-1.858h1.859v1.858h1.861v-0.024v-5.554h9.307v5.554v0.031h1.859v-1.858h1.859v1.858h1.867V31.863H70.385z
+ M68.531,46.91h1.857v1.862h-1.857V46.91z M70.385,41.326h-1.857v-1.859h1.857V41.326z M70.385,43.189v1.862h-1.857v-1.862H70.385
+ z M70.385,35.744v1.857h-1.857v-1.857H70.385z M57.359,39.467h9.311v9.311h-9.311V39.467z M55.498,35.744v1.857h-1.861v-1.857
+ H55.498z M53.637,45.052v-1.862h1.859v1.862H53.637L53.637,45.052z M55.498,46.91v1.862h-1.861V46.91H55.498z M53.637,41.326
+ v-1.859h1.859v1.859H53.637z M53.637,52.497v-1.861h1.859v1.861H53.637z M68.531,52.497v-1.861h1.857v1.861H68.531z"/>
+ </g>
+
+ <linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="-77.3623" y1="-73.5371" x2="-40.5434" y2="-110.3551" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
+ <stop offset="0" style="stop-color:#A2C2DD"/>
+ <stop offset="0.1" style="stop-color:#A2C2DD"/>
+ <stop offset="0.7135" style="stop-color:#6C83BB"/>
+ <stop offset="0.9888" style="stop-color:#003D6D"/>
+ <stop offset="1" style="stop-color:#003D6D"/>
+ </linearGradient>
+ <path fill="url(#SVGID_5_)" d="M49.838,54.549c-1.924,0.466-3.922,0.742-5.984,0.742c-14.012,0-25.414-11.4-25.414-25.416
+ c0-14.015,11.4-25.418,25.414-25.418c14.012,0,25.414,11.401,25.414,25.417c0,0.02-0.004,0.037-0.004,0.056h0.688
+ c0-0.02,0.004-0.038,0.004-0.056c0-14.394-11.707-26.104-26.1-26.104S17.754,15.48,17.754,29.874
+ c0,14.395,11.709,26.103,26.102,26.103c2.061,0,4.059-0.266,5.984-0.721v-0.707H49.838z"/>
+</g>
+<rect fill="none" width="90" height="60"/>
+</svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videocollection/hgmyvideos/inc/CIptvDriveMonitor.h Fri Mar 12 15:43:00 2010 +0200
@@ -0,0 +1,338 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Helper class for Video Center for drive operations/monitoring.*
+*/
+
+
+
+
+
+#ifndef CIPTVDRIVEMONITOR_H
+#define CIPTVDRIVEMONITOR_H
+
+// INCLUDES
+#include <e32base.h>
+#include <f32file.h>
+#include "TIptvDriveInfo.h"
+#include "TIptvDriveMonitorEvent.h"
+#include "MIptvDriveMonitorObserver.h"
+#include "IptvDebug.h"
+
+// CONSTANTS
+
+// MACROS
+
+// DATA TYPES
+
+// FUNCTION PROTOTYPES
+
+// FORWARD DECLARATIONS
+
+// CLASS DECLARATION
+
+/**
+ * Helper class for Video Center for drive operations/monitoring.
+ * User can get available drives (through iAvailableDrives public member)
+ * and be notified when drives change (through MIptvDriveMonitorObserver interface).
+ */
+NONSHARABLE_CLASS ( CIptvDriveMonitor ) : public CActive
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ */
+ static CIptvDriveMonitor* NewL();
+
+ /**
+ * Two-phased constructor. Use this is owner object already has a file session open.
+ *
+ * @param aFileSession file session.
+ */
+ static CIptvDriveMonitor* NewL( const RFs& aFileSession );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CIptvDriveMonitor();
+
+ public:
+
+ /**
+ * Registers observer for drive events.
+ * iAvailableDrives is updated automatically if there are any
+ * observers registered, ie there is no need to call RefreshAvailableDrivesL
+ * when observing.
+ * Don't keep observers around if they do not need events. Observing should be used
+ * when user needs to know immedetially about memory card insertion/removed events,
+ * or drive locked/unlocked events.
+ *
+ * @param aObserver observer, ownership does not move.
+ */
+ void RegisterObserverL( MIptvDriveMonitorObserver* aObserver );
+
+ /**
+ * Removes observer, ownership does not move.
+ * @param aObserver observer to be removed from observers list.
+ */
+ void RemoveObserverL( MIptvDriveMonitorObserver* aObserver );
+
+ /**
+ * Updates iAvailableDrives member variable from File server.
+ * This is called in ConstructL() also.
+ */
+ void RefreshAvailableDrivesL();
+
+ /**
+ * Returns the position index of aDrive in iAvailableDrives.
+ *
+ * @param aDrive drive to search.
+ * @return Position index of aDrive in iAvailableDrives. If not found,
+ * KErrNotFound is returned.
+ */
+ TInt ArrayPos( TInt aDrive );
+
+ /**
+ * Returns the position index of aDrive in iAvailableDrives. If not
+ * found, leaves with KErrNotFound code.
+ *
+ * @param aDrive drive to search.
+ * @return Position index of aDrive in iAvailableDrives.
+ */
+ TInt ArrayPosL( TInt aDrive );
+
+ /**
+ * Returns the default removable drive (= memory card drive) from iAvailableDrives
+ * array. Leaves with KErrNotFound if not found.
+ */
+ TInt MemoryCardDriveL();
+
+ /**
+ * Returns the default removable drive (= memory card drive) from iAvailableDrives
+ * array. Returns KErrNotFound if not found.
+ *
+ * @return drive number, or KErrNotFound if not found.
+ */
+ TInt MemoryCardDrive();
+
+ /**
+ * Returns the default mass memory drive if found from iAvailableDrives.
+ * Mass storege drive means the drive which is preferred for storing large
+ * files in the device, the drive itself can be anything, usually not c though.
+ * Leaves with KErrNotFound if not found.
+ *
+ * @return Drive number.
+ */
+ TInt MassStorageDriveL();
+
+ /**
+ * Returns the default mass memory drive if found from iAvailableDrives.
+ * Mass storege drive means the drive which is preferred for storing large
+ * files in the device, the drive itself can be anything except c-drive.
+ * Returns KErrNotFound if not found.
+ *
+ * @return Drive number, or KErrNotFound if not found.
+ */
+ TInt MassStorageDrive();
+
+ /**
+ * Returns the phone memory drive from iAvailableDrives array.
+ * Leaves with KErrNotFound if not found.
+ *
+ * @return Drive number.
+ */
+ TInt PhoneMemoryDriveL();
+
+ /**
+ * Returns the PhoneMemory drive from iAvailableDrives array.
+ * Returns KErrNotFound if not found.
+ *
+ * @return Drive number, or KErrNotFound if not found.
+ */
+ TInt PhoneMemoryDrive();
+
+ /**
+ * Returns the first fixed (= non removable) drive from iAvailableDrives array.
+ * Leaves with KErrNotFound if not found.
+ *
+ * @param aExcludeCDrive If ETrue, then C-drive is excluded.
+ * @return Drive number.
+ */
+ TInt FixedDriveL( TBool aExcludeCDrive );
+
+ /**
+ * Returns the first fixed (= non removable) drive from iAvailableDrives array.
+ * Returns KErrNotFound if not found.
+ *
+ * @param aExcludeCDrive If ETrue, then C-drive is excluded.
+ * @return Drive number, or KErrNotFound if not found.
+ */
+ TInt FixedDrive( TBool aExcludeCDrive );
+
+ /**
+ * @return ETrue if aDrive is the preferred mass storage drive for the large files.
+ */
+ TBool IsMassStorageDriveL( TInt aDrive );
+
+ /**
+ * @return ETrue if aDrive is memory card type.
+ */
+ TBool IsMemoryCardDriveL( TInt aDrive );
+
+ /**
+ * @return ETrue media is present in the drive. (Memory card is inserted and drive is not locked).
+ */
+ TBool IsPresentL( TInt aDrive );
+
+ /**
+ * @return The system drive. Might not be in iAvailableDrives.
+ */
+ TInt SystemDrive();
+
+ /**
+ * Finds out if memory card is inserted and not locked.
+ *
+ * @return Returns ETrue is memory card is inserted and usable (not locked), EFalse otherwise.
+ */
+ TBool IsMmcInserted();
+
+ /**
+ * Gets the used memory from cenrep. If cenrep contains invalid drive or value is not found,
+ * chooses the preferred drive in the following order: 1. mass storage 2. memory card
+ * 3. EDriveC. If cenrep value was not usable, the chosen drive is written to cenrep.
+ * Leaves with system-wide error code if wasn't able to get the used memory.
+ *
+ * @param aUsedMemory The used memory drive is written here.
+ */
+ void GetUsedMemoryL( TInt& aUsedMemory );
+
+
+ protected: // Functions from base classes
+
+ /**
+ * From CActive, RunL.
+ * Called when operation completes.
+ */
+ void RunL();
+
+ /**
+ * From CActive, cancels request.
+ */
+ void DoCancel();
+
+ /**
+ * From CActive, handles leaves from RunL.
+ */
+ TInt RunError( TInt aError );
+
+ private:
+
+ /**
+ * C++ default constructor.
+ */
+ CIptvDriveMonitor();
+
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ */
+ void ConstructL();
+
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ *
+ * @param aFileSession
+ */
+ void ConstructL( const RFs& aFileSession );
+
+ /**
+ * Sends event to observers.
+ *
+ * @param aEvent event to send.
+ * @param aDrive drive which caused the event.
+ */
+ void SendEvent( TIptvDriveMonitorEvent::TEvent aEvent, TInt aDrive );
+
+ /**
+ * Compares iPreviousAvailableDrives and iAvailableDrives arrays and
+ * sends appropriate events if they differ.
+ */
+ void CompareOldAndNewAvailableDrives();
+
+ /**
+ * Returns drive type as a descriptor. For debugging only.
+ * @param aType Drive type, see valid values from e32const.h TMediaType enum.
+ */
+ const TDesC& DriveTypeDes( TInt aType );
+
+ /**
+ * Prints available drives. For debugging only.
+ */
+ void PrintAvailableDrives();
+
+ public:
+
+ /**
+ * Array of currently available drives. These are updated
+ * with RefreshAvailableDrivesL -method or from file
+ * server event. RefreshAvailableDrivesL is also called upon creation
+ * of this object.
+ * iAvailableDrives array contains drives which are available for mass
+ * storaging videos. If there is hard disk and memory card
+ * available(both e and f-drives), then c-drive is excluded from the array.
+ */
+ RArray<TIptvDriveInfo> iAvailableDrives;
+
+
+ private:
+
+ /**
+ * Used to detect if refresh had any effect.
+ */
+ RArray<TIptvDriveInfo> iPreviousAvailableDrives;
+
+ /**
+ * Array of observers. Pointers not owned.
+ */
+ RArray<MIptvDriveMonitorObserver*> iObservers;
+
+ /**
+ * Session to file server.
+ */
+ RFs iFs;
+
+ /**
+ * ETrue if iFs is provided by the user of this class.
+ */
+ TBool iIfsIsProvidedByUser;
+
+ /**
+ * Default memory for storing large files.
+ */
+ TInt iDefaultMassStorageDrive;
+
+ /**
+ * Default memory card.
+ */
+ TInt iDefaultMemoryCardDrive;
+
+ /**
+ * System drive.
+ */
+ TInt iSystemDrive;
+
+ };
+
+#endif // CIPTVDRIVEMONITOR_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videocollection/hgmyvideos/inc/CIptvResourceLoader.h Fri Mar 12 15:43:00 2010 +0200
@@ -0,0 +1,102 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+
+
+#ifndef CIPTVRESOURCELOADER_H
+#define CIPTVRESOURCELOADER_H
+
+// INCLUDES
+#include <e32std.h>
+
+class CCoeEnv;
+class RFs;
+
+// CLASS DECLARATION
+NONSHARABLE_CLASS ( CIptvResourceLoader ) : public CBase
+ {
+ public:
+ /**
+ * Two-phased constructor.
+ * @param
+ */
+ static CIptvResourceLoader* NewL( CCoeEnv& aCoeEnv );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CIptvResourceLoader();
+
+ /**
+ * Add resource.
+ *
+ * @param aResourceFile Descriptor containing the resource file to be loaded
+ */
+ void AddResourceL( const TDesC& aResourceFile );
+
+ private: // New functions
+
+ /**
+ * C++ default constructor.
+ */
+ CIptvResourceLoader( CCoeEnv& aCoeEnv );
+
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ * @param
+ */
+ void ConstructL();
+
+ /**
+ * Search resource file.
+ *
+ * @param aFile Buffer descriptor to the resource file
+ * @return System wide error code
+ */
+ TInt SearchResourceFile( const TDesC& aFile );
+
+ /**
+ * Add resource file.
+ *
+ * @param aFile Buffer descriptor to the resource file
+ * @return System wide error code
+ */
+ TInt AddResourceFile( const TDesC& aFile );
+
+ private: // Data members
+
+ /**
+ * Resource file offset.
+ */
+ TInt iOffset;
+
+ /**
+ * Is resource added
+ */
+ TBool iAdded;
+
+ /**
+ * Reference to CCoeEnv.
+ */
+ CCoeEnv& iCoeEnv;
+
+ };
+
+#endif // CIPTVRESOURCELOADER_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videocollection/hgmyvideos/inc/MIptvDriveMonitorObserver.h Fri Mar 12 15:43:00 2010 +0200
@@ -0,0 +1,42 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+
+#ifndef __MIPTVDRIVEMONITOROBSERVER_H__
+#define __MIPTVDRIVEMONITOROBSERVER_H__
+
+#include "TIptvDriveMonitorEvent.h"
+
+// CLASS DECLARATION
+
+/**
+* Observer for CIptvDriveMonitor class.
+*/
+class MIptvDriveMonitorObserver
+ {
+
+ public:
+ /**
+ * Handles drive monitor event.
+ *
+ * @param aEvent Event.
+ */
+ virtual void HandleDriveMonitorEvent( TIptvDriveMonitorEvent& aEvent ) = 0;
+ };
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videocollection/hgmyvideos/inc/TIptvDriveInfo.h Fri Mar 12 15:43:00 2010 +0200
@@ -0,0 +1,103 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: header file for TIptvDriveInfo class*
+*/
+
+
+
+
+
+#ifndef TIPTVDRIVEINFO_H
+#define TIPTVDRIVEINFO_H
+
+// INCLUDES
+#include <e32base.h>
+
+const TInt KIptvDriveNameMaxLength = 256;
+
+// CLASS DECLARATION
+/**
+* Container class for storing drive info relevant for Video Center.
+*/
+class TIptvDriveInfo
+ {
+ public:
+
+ /*
+ * Attribute flags used in iFlags member.
+ */
+ enum TDriveAttributes
+ {
+ /**
+ * Media can be removed from the drive, (E or F, depending on hw configuration).
+ * If not set (= 0) then the drive is fixed.
+ */
+ ERemovable = 1 << 0,
+
+ /**
+ * Default mass storage drive.
+ */
+ EMassStorage = 1 << 1,
+
+ /**
+ * Media is locked.
+ */
+ ELocked = 1 << 2,
+
+ /**
+ * Media is removed from the drive.
+ */
+ EMediaNotPresent = 1 << 3
+ };
+
+ /**
+ * Constructor, clears member variables to zero.
+ */
+ TIptvDriveInfo();
+
+ /**
+ * Destructor.
+ */
+ ~TIptvDriveInfo();
+
+ public:
+
+ /**
+ * Drive ID number, 0 points to A:, 1 to B:, 2 to C: and so on.
+ */
+ TInt iDrive;
+
+ /**
+ * Drive char.
+ */
+ TChar iDriveChar;
+
+ /**
+ * Drive type, same as TDriveInfo::iType.
+ */
+ TInt iType;
+
+ /**
+ * Properties of the drive, see TDriveAttributes -enum for flag values.
+ */
+ TUint32 iFlags;
+
+ /**
+ * Volume name. Removable drive can contain different volumes (mmc cards). This name
+ * refers to removable item (card label), not the drive.
+ */
+ TBuf<KIptvDriveNameMaxLength> iVolumeName;
+ };
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videocollection/hgmyvideos/inc/TIptvDriveMonitorEvent.h Fri Mar 12 15:43:00 2010 +0200
@@ -0,0 +1,124 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Drive monitor event object*
+*/
+
+
+
+
+
+#ifndef TIPTVDRIVEMONITOREVENT_H
+#define TIPTVDRIVEMONITOREVENT_H
+
+// INCLUDES
+#include <e32base.h>
+
+// CONSTANTS
+_LIT( KIptvEmptyDes, "" );
+
+// MACROS
+
+// DATA TYPES
+
+// FUNCTION PROTOTYPES
+
+// FORWARD DECLARATIONS
+
+// CLASS DECLARATION
+
+/**
+* Used for sending events from CIptvDriveMonitor to client.
+*/
+class TIptvDriveMonitorEvent
+ {
+ public:
+
+ /**
+ * Events, used in iEvent member variable.
+ */
+ enum TEvent
+ {
+ /**
+ * Value used at construction.
+ */
+ ENone,
+
+ /**
+ * Media was removed (typically memory card).
+ */
+ EMediaRemoved,
+
+ /**
+ * Media was inserted (typically memory card).
+ */
+ EMediaInserted,
+
+ /**
+ * Drive was locked.
+ */
+ EDriveLocked,
+
+ /**
+ * Drive was unlocked.
+ */
+ EDriveUnlocked,
+
+ /**
+ * Drive was mounted.
+ */
+ EDriveMounted,
+
+ /**
+ * Drive was dismounted.
+ */
+ EDriveDismounted,
+
+ /**
+ * Drive volume name was changed.
+ */
+ EDriveVolumeNameChanged
+ };
+
+ public: // Constructors and destructor
+
+ /**
+ * C++ default constructor.
+ */
+ TIptvDriveMonitorEvent();
+
+ /**
+ * Returns event as a descriptor. Used for debugging purposes.
+ *
+ * @param aEvent Event as enum.
+ * @return Event as a descriptor.
+ */
+ static const TDesC& EventDes( TEvent aEvent );
+
+ public:
+
+ /**
+ * Identifies the event, see TEvent for values.
+ */
+ TInt iEvent;
+
+ /**
+ * The drive which caused the event (a = 0, b = 1, ... etc).
+ */
+ TInt iDrive;
+
+ };
+
+#endif // TIPTVDRIVEMONITOREVENT_H
+
+// End of File
--- a/videocollection/hgmyvideos/inc/vcxhgmyvideos.hrh Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/hgmyvideos/inc/vcxhgmyvideos.hrh Fri Mar 12 15:43:00 2010 +0200
@@ -51,7 +51,8 @@
EVcxHgMyVideosCmdSend, // Send video
EVcxHgMyVideosCmdNothing, // Non-functional command
EVcxHgMyVideosCmdStartMarking, // Sets marking mode on
- EVcxHgMyVideosCmdStopMarking // Sets marking mode off
+ EVcxHgMyVideosCmdStopMarking, // Sets marking mode off
+ EVcxHgMyVideosCmdOpenSettings // Opens Settings application
#ifdef RD_VIDEO_AS_RINGING_TONE
,EVcxHgMyVideosCmdAiwBase = 800 // Base number for AIW commands
#endif
--- a/videocollection/hgmyvideos/inc/vcxhgmyvideoscategorymodelhandler.h Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/hgmyvideos/inc/vcxhgmyvideoscategorymodelhandler.h Fri Mar 12 15:43:00 2010 +0200
@@ -23,10 +23,25 @@
// INCLUDE FILES
#include "vcxhgmyvideoscategorymodelobserver.h"
+
+#include <thumbnailmanager.h>
+#include <thumbnailmanagerobserver.h>
+
// FORWARD DECLARATIONS
class CMPXMedia;
class CVcxHgMyVideosModel;
class CHgScroller;
+class CMPXMedia;
+class CMyVideosIndicator;
+class CVcxHgMyVideosThumbnailManager;
+
+// ENUMERATIONS
+enum TVcxHgMyVideosCategoryItemType
+ {
+ TVcxHgMyVideosCategoryItemTypeUndefined = 0,
+ TVcxHgMyVideosCategoryItemTypeUid,
+ TVcxHgMyVideosCategoryItemTypeUrl
+ };
// CLASS DECLARATION
@@ -37,7 +52,8 @@
*/
NONSHARABLE_CLASS( CVcxHgMyVideosCategoryModelHandler ) :
public CBase,
- public MVcxHgMyVideosCategoryModelObserver
+ public MVcxHgMyVideosCategoryModelObserver,
+ public MThumbnailManagerObserver
{
public:
@@ -47,7 +63,7 @@
* @param aModel Application model
* @param aScroller Hg list component.
*/
- CVcxHgMyVideosCategoryModelHandler(
+ static CVcxHgMyVideosCategoryModelHandler* NewL(
CVcxHgMyVideosModel& aModel,
CHgScroller& aScroller );
@@ -86,6 +102,41 @@
*/
TInt ResolveCategoryId( TInt aScrollerIndex );
+ /**
+ * Plays last watched videdo.
+ *
+ * @param Ganes scroller list index
+ * @return Index of category
+ */
+ void PlayLastWatchedVidedoL();
+
+ /**
+ * Returns video indicator.
+ *
+ * @return Reference to video indicator.
+ */
+ CMyVideosIndicator& VideoIndicatorL();
+
+ /**
+ * Handles "ExtraItem" list item selection.
+ *
+ * @param aCategoryId Selected category id
+ * @param aItemType On return, item type
+ * @param aUid On return, UID if selected item contains UID
+ * @param aUrl On return, URL string if selected item contains URL
+ */
+ void HandleExtraItemSelectionL( TInt aCategoryId,
+ TVcxHgMyVideosCategoryItemType& aItemType,
+ TUid& aUid,
+ TDes& aUrl );
+
+ /**
+ * Create empty icon to be used as category list default icon
+ *
+ * @return empty icon
+ */
+ CGulIcon* CreateEmptyHgListIconL();
+
public: // From MVcxHgMyVideosCategoryModelObserver
/**
@@ -93,8 +144,10 @@
* Ownership of array is transferred.
*
* @param aCategoryList List of categories
+ * @param aIsPartial ETrue if list fetching continues, and KVcxMessageMyVideosListComplete
+ * message will arrive. EFalse if this is last event of list fetching.
*/
- void NewCategoryListL( CMPXMediaArray* aCategoryList );
+ void NewCategoryListL( CMPXMediaArray* aCategoryList, TBool aIsPartial );
/**
* Called when the list of categories has been modified.
@@ -108,17 +161,69 @@
* @param aMpxItemId MPX Item Id of the modified item.
*/
void CategoryModifiedL( TMPXChangeEventType aEventType,
- TMPXItemId& aMpxItemId );
+ TMPXItemId& aMpxItemId );
+
+ /*
+ * Called when a single video item has been fetched.
+ * Ownership of video is transferred.
+ *
+ * @param aVideo Video item.
+ */
+ void VideoFetchingCompletedL( CMPXMedia* aVideo );
+
+ /**
+ * Called when category list items have been fetched.
+ */
+ void CategoryListFetchingCompletedL();
+
+ public: // From MThumbnailManagerObserver)
+
+ /**
+ * Preview thumbnail generation or loading is complete.
+ *
+ * @param aThumbnail An object representing the resulting thumbnail.
+ * @param aId Request ID for the operation
+ */
+ void ThumbnailPreviewReady( MThumbnailData& aThumbnail,
+ TThumbnailRequestId aId );
+
+ /**
+ * Final thumbnail bitmap generation or loading is complete.
+ *
+ * @param aError Error code.
+ * @param aThumbnail An object representing the resulting thumbnail.
+ * @param aId Request ID for the operation.
+ */
+ void ThumbnailReady( TInt aError, MThumbnailData& aThumbnail,
+ TThumbnailRequestId aId );
private:
+
+ /**
+ * C++ constructor
+ *
+ * @param aModel Application model
+ * @param aScroller Hg list component.
+ */
+ CVcxHgMyVideosCategoryModelHandler(
+ CVcxHgMyVideosModel& aModel,
+ CHgScroller& aScroller );
/**
* Loads name of category from resources.
*
- * @param aIndex Index of category.
+ * @param aCategoryId Index of category.
* @return Name of category.
*/
- HBufC* GetCategoryNameLC( TInt aIndex );
+ HBufC* GetCategoryNameLC( TInt aCategoryId );
+
+ /**
+ * Loads icon for category
+ *
+ * @param aCategoryId Id of category
+ * @return Category icon
+ */
+ CGulIcon* GetCategoryIconL( TInt aCategoryId );
/**
* Formats second row text for categories.
@@ -127,7 +232,15 @@
* @return Second row text for category.
*/
HBufC* FormatCategorySecondRowLC( CMPXMedia& aMedia );
-
+
+ /**
+ * Formats second row text for categories.
+ *
+ * @param aCategoryId Category id.
+ * @return Second row text for category.
+ */
+ HBufC* FormatCategorySecondRowLC( TInt aCategoryId );
+
/**
* Translates MPX Item Id to index on UI list.
*
@@ -180,6 +293,51 @@
*/
TInt ResolveCategoryArrayIndexById( TInt aCategoryId );
+ /**
+ * @param aCategoryId Category id to be found
+ * @return CMPXMedia
+ */
+ CMPXMedia* GetCategoryDataL( TInt aCategoryId );
+
+ /**
+ * Gets the last watched videos data from collection.
+ * Result is returned asynchronously to VideoFetchingCompletedL callback.
+ */
+ void FetchLastWatchedL();
+
+ /**
+ * Gets the last watched videos icon from tbn server.
+ * Result is returned asynchronously to ThumbnailReady callback.
+ */
+ void LoadLastWatchedIconL();
+
+ /**
+ * Set indicator for last watched item
+ */
+ void SetLastWatchedIndicatorL();
+
+ /**
+ * Final thumbnail bitmap generation or loading is complete.
+ * @param aError Error code.
+ * @param aThumbnail An object representing the resulting thumbnail.
+ * @param aId Request ID for the operation.
+ */
+ void ThumbnailReadyL( TInt aError, MThumbnailData& aThumbnail,
+ TThumbnailRequestId aId );
+
+ /**
+ * Create hg list icon from file
+ *
+ * @param aFileName mif file name
+ * @param aBitmapId bitmap index in mif file
+ * @param aMaskId mask index in mif file
+ * @return Icon
+ */
+ CGulIcon* CreateHgListIconL(
+ const TFileName& aFileName,
+ TInt aBitmapId,
+ TInt aMaskId );
+
private:
/**
@@ -201,12 +359,33 @@
CMPXMediaArray* iCategoryList;
/**
+ * Last watched media.
+ * Own.
+ */
+ CMPXMedia* iLastWatched;
+
+ /**
* TArray containing category ID's. Each index
* corresponds to the scroller list (eg. correct
* category ID for the 1st item in scroller list can
* be found from index 0).
*/
RArray<TInt> iCategoryIdArray;
+
+ /**
+ * CVcxHgMyVideosThumbnailManager instance, not own.
+ */
+ CVcxHgMyVideosThumbnailManager& iTnManager;
+
+ /**
+ * Request ID of ongoing thumbnail request, or KErrNotFound.
+ */
+ TThumbnailRequestId iTnRequestId;
+
+ /**
+ * Video indicator class instance. Own.
+ */
+ CMyVideosIndicator* iVideoIndicator;
};
#endif // VCXHGMYVIDEOSCATEGORYMODELHANDLER_H
--- a/videocollection/hgmyvideos/inc/vcxhgmyvideoscategorymodelobserver.h Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/hgmyvideos/inc/vcxhgmyvideoscategorymodelobserver.h Fri Mar 12 15:43:00 2010 +0200
@@ -28,6 +28,7 @@
// FORWARD DECLARATIONS
class CMPXMediaArray;
+class CMPXMedia;
// CLASS DECLARATION
@@ -45,8 +46,10 @@
* Ownership of array is transferred.
*
* @param aCategoryList List of categories
+ * @param aIsPartial ETrue if list fetching continues, and KVcxMessageMyVideosListComplete
+ * message will arrive. EFalse if this is last event of list fetching.
*/
- virtual void NewCategoryListL( CMPXMediaArray* aCategoryList ) = 0;
+ virtual void NewCategoryListL( CMPXMediaArray* aCategoryList, TBool aIsPartial ) = 0;
/**
* Called when the list of categories has been modified.
@@ -60,7 +63,21 @@
* @param aMpxItemId MPX Item Id of the modified item.
*/
virtual void CategoryModifiedL( TMPXChangeEventType aEventType,
- TMPXItemId& aMpxItemId ) = 0;
+ TMPXItemId& aMpxItemId ) = 0;
+
+ /*
+ * Called when a single video item has been fetched.
+ * Ownership of video is transferred.
+ *
+ * @param aVideo Video item.
+ */
+ virtual void VideoFetchingCompletedL( CMPXMedia* aVideo ) = 0;
+
+ /**
+ * Called when category list items have been fetched.
+ */
+ virtual void CategoryListFetchingCompletedL() = 0;
+
};
#endif // VCXHGMYVIDEOSCATEGORYMODELOBSERVER_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videocollection/hgmyvideos/inc/vcxhgmyvideoscenrepkeys.h Fri Mar 12 15:43:00 2010 +0200
@@ -0,0 +1,72 @@
+
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*/
+
+
+
+#ifndef VCXHGMYVIDEOSMAINVIEWCENREPKEYS_H
+#define VCXHGMYVIDEOSMAINVIEWCENREPKEYS_H
+
+
+enum TMyVideosListItemType
+ {
+ EMyVideosListItemTypeEmpty = 0,
+ EMyVideosListItemTypeLastWatched,
+ EMyVideosListItemTypeCapturedVideos,
+ EMyVideosListItemTypeOtherVideos,
+ EMyVideosListItemTypeExtra1,
+ EMyVideosListItemTypeExtra2,
+ EMyVideosListItemTypeExtra3
+ };
+
+// CONSTANTS
+
+// CenRep: UID
+const TUid KMyVideosMainViewCenRepUid = { 0x20021191 };
+
+// CenRep: Keys
+const TInt KCRVideoPlayerItemLocation1 = 0x01;
+const TInt KCRVideoPlayerItemLocation2 = 0x02;
+const TInt KCRVideoPlayerItemLocation3 = 0x03;
+const TInt KCRVideoPlayerItemLocation4 = 0x04;
+const TInt KCRVideoPlayerItemLocation5 = 0x05;
+const TInt KCRVideoPlayerItemLocation6 = 0x06;
+const TInt KCRVideoPlayerItemLocation7 = 0x07;
+
+const TInt KCRVideoPlayerCapturedVideosIconPath = 0x0A;
+const TInt KCRVideoPlayerOtherVideosIconPath = 0x0B;
+
+const TInt KCRVideoPlayerExtraItem1IconPath = 0x10;
+const TInt KCRVideoPlayerExtraItem1Title = 0x11;
+const TInt KCRVideoPlayerExtraItem1Text = 0x12;
+const TInt KCRVideoPlayerExtraItem1Url = 0x13;
+const TInt KCRVideoPlayerExtraItem1Uid = 0x14;
+
+const TInt KCRVideoPlayerExtraItem2IconPath = 0x20;
+const TInt KCRVideoPlayerExtraItem2Title = 0x21;
+const TInt KCRVideoPlayerExtraItem2Text = 0x22;
+const TInt KCRVideoPlayerExtraItem2Url = 0x23;
+const TInt KCRVideoPlayerExtraItem2Uid = 0x24;
+
+const TInt KCRVideoPlayerExtraItem3IconPath = 0x30;
+const TInt KCRVideoPlayerExtraItem3Title = 0x31;
+const TInt KCRVideoPlayerExtraItem3Text = 0x32;
+const TInt KCRVideoPlayerExtraItem3Url = 0x33;
+const TInt KCRVideoPlayerExtraItem3Uid = 0x34;
+
+#endif //VCXHGMYVIDEOSMAINVIEWCENREPKEYS_H
+
+// End of File
--- a/videocollection/hgmyvideos/inc/vcxhgmyvideoscollectionclient.h Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/hgmyvideos/inc/vcxhgmyvideoscollectionclient.h Fri Mar 12 15:43:00 2010 +0200
@@ -171,30 +171,7 @@
* @param aMpxItemId MPX item id
*/
void PlayVideoL( TMPXItemId aMpxItemId );
-
- /**
- * Sets attribute value to MPX Collection.
- *
- * @param aMedia MPX Media object to change.
- * @param aAttribute MPX attribute to change.
- * @param aValue New value for attribute.
- */
- void SetAttributeL( const CMPXMedia& aMedia,
- const TMPXAttribute& aAttribute,
- const TUint32 aValue );
-
- void SetAttributeL( const CMPXMedia& aMedia,
- const TMPXAttribute& aAttribute,
- const TReal32 aValue );
-
- /**
- * Returns MPX Media object most recently requested with method call
- * FetchMpxMediaByMpxIdL().
- *
- * @return Latest MPX Media object or NULL.
- */
- CMPXMedia* GetLatestFetchedMpxMediaL();
-
+
/**
* Fetches MPX Media object based on MPX ID. Fetched MPX Media object
* is returned through callback interface MVcxHgMyVideosVideoModelObserver.
@@ -344,6 +321,14 @@
void HandleGetMediasByMpxIdRespL( CMPXMessage* aMessage, TInt aError );
/**
+ * Handles list complete message, called by HandleSingleCollectionMessageL().
+ *
+ * @param aMessage collection message.
+ * @param aError system error code.
+ */
+ void HandleMyVideosListCompleteL( CMPXMessage* aMessage, TInt aError );
+
+ /**
* Handles response message when video details requested.
*
* @param aMessage collection message.
@@ -396,12 +381,6 @@
*/
TVcxHgMyVideosCollectionCommand iPendingCommand;
- /**
- * Variable for storing latest MPX Media object fetched separately.
- * Own.
- */
- CMPXMedia* iLatestMpxMedia;
-
#if defined(_DEBUG) && IPTV_LOGGING_METHOD != 0
private:
/**
@@ -409,6 +388,7 @@
*/
void DebugPrintVideoListL( CMPXMediaArray* aVideoArray );
#endif // _DEBUG && IPTV_LOGGING_METHOD
+
};
#endif // VCXHGMYVIDEOSCOLLECTIONCLIENT_H
--- a/videocollection/hgmyvideos/inc/vcxhgmyvideosdownloadupdater.h Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/hgmyvideos/inc/vcxhgmyvideosdownloadupdater.h Fri Mar 12 15:43:00 2010 +0200
@@ -23,7 +23,7 @@
// INCLUDE FILES
#include <e32std.h>
#include <e32base.h>
-#include "CIptvUtil.h"
+
#include <mpxcollectionmessagedefs.h>
class CVcxHgMyVideosVideoModelHandler;
--- a/videocollection/hgmyvideos/inc/vcxhgmyvideosmainview.h Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/hgmyvideos/inc/vcxhgmyvideosmainview.h Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*/
-// Version : %version: 14 %
+// Version : %version: 17 %
#ifndef VCXHGMYVIDEOSMAINVIEW_H
#define VCXHGMYVIDEOSMAINVIEW_H
@@ -152,6 +152,21 @@
*/
void UpdateLayout();
+ /**
+ * Launches external application.
+ *
+ * @param aAppUid Application UID
+ * @param aMsg Message to send
+ */
+ void LaunchAppL( const TUid aAppUid, const TDesC& aMsg = KNullDesC() );
+
+ /**
+ * Launches standalone browser application.
+ *
+ * @param aUrl URL to open.
+ */
+ void LaunchBrowserL( const TDesC& aUrl );
+
private: // Constructors
/**
--- a/videocollection/hgmyvideos/inc/vcxhgmyvideosmodel.h Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/hgmyvideos/inc/vcxhgmyvideosmodel.h Fri Mar 12 15:43:00 2010 +0200
@@ -23,10 +23,7 @@
// INCLUDE FILES
#include <coemain.h>
#include <vcxmyvideosdefs.h>
-#include <MediatorEventProvider.h>
#include <thumbnailmanager.h>
-#include <thumbnailmanagerobserver.h>
-#include <videoplayercustommessage.h>
#include "CIptvDriveMonitor.h"
@@ -35,9 +32,7 @@
class CVcxHgMyVideosCollectionClient;
class CVcxHgMyVideosDownloadClient;
class CRepository;
-class CIptvLastWatchedApi;
-class CIptvLastWatchedData;
-
+class CVcxHgMyVideosThumbnailManager;
// CONSTANTS
@@ -52,7 +47,6 @@
* @lib vcxhgmyvideos.lib
*/
NONSHARABLE_CLASS( CVcxHgMyVideosModel ) : public CBase,
- public MThumbnailManagerObserver,
public MIptvDriveMonitorObserver
{
public:
@@ -174,6 +168,14 @@
* @param aSortOrder New video list sort order.
*/
void SetVideolistSortOrderL( TVcxMyVideosSortingOrder aSortOrder );
+
+ /**
+ * Gets the last watched video id from CenRep.
+ *
+ * @param aId Video's mpx id (iId1).
+ * @return System wide error code
+ */
+ TInt GetLastWatchedIdL( TInt& aId );
/**
* Gets video list sort order (from CenRep).
@@ -183,59 +185,29 @@
TVcxMyVideosSortingOrder VideolistSortOrderL();
/**
- * Should be called when playback of video is stopping. Updates last
- * play point of video to 'Last Watched' dat-file.
- */
- void UpdateLastWatchedPlayPositionL( TUint32 aLastVideoPlayPoint );
-
- /**
- * Cancels the download completed soft notification.
+ * Gets the My Videos customization integer from CenRep.
+ *
+ * @param aKey CenRep key for the value to be fetched.
+ * @param aValue On return, fetched value.
+ * @return System wide error code
*/
- void ResetDownloadNotification();
-
- /**
- * Should be called when playback of video is starting. Updates 'Last
- * Watched' information to Matrix and dat-file.
- *
- * @param aVideoInfo Information about played video.
- * @param aMpxId1 MPX ID 1 of the played video.
- * @param aAgeProfile Age profile of the video for parental control.
- */
- void SetVideoAsLastWatchedL( TVideoPlayerCustomMessage& aVideoInfo,
- TInt aMpxId1,
- TUint32 aAgeProfile );
+ TInt GetMyVideosCustomizationInt( const TInt& aKey, TInt& aValue );
/**
- * Reads information about 'Last Watched' video clip from dat-file.
+ * Gets the My Videos customization string from CenRep.
*
- * @param aVideoInfo On return, information about last played video.
- * @param aMpxId1 On return, MPX Item Id 1.
- * @param aAgeProfile On return, the age profile of the video for
- * parental control
+ * @param aKey CenRep key for the value to be fetched.
+ * @param aValue On return, fetched value.
+ * @return System wide error code
*/
- void GetLastWatchedDataL( TVideoPlayerCustomMessage& aVideoInfo,
- TUint32& aMpxId1,
- TUint32& aAgeProfile );
-
- public: // From MThumbnailManagerObserver
-
+ TInt GetMyVideosCustomizationString( const TInt& aKey, TDes& aValue );
/**
- * Preview thumbnail generation or loading is complete.
+ * Returns reference to Thumbnail Manager.
*
- * @param aThumbnail An object representing the resulting thumbnail.
- * @param aId Request ID for the operation
+ * @return Reference to Thumbnail Manager.
*/
- void ThumbnailPreviewReady( MThumbnailData& aThumbnail, TThumbnailRequestId aId );
-
- /**
- * Final thumbnail bitmap generation or loading is complete.
- *
- * @param aError Error code.
- * @param aThumbnail An object representing the resulting thumbnail.
- * @param aId Request ID for the operation.
- */
- void ThumbnailReady( TInt aError, MThumbnailData& aThumbnail, TThumbnailRequestId aId );
-
+ CVcxHgMyVideosThumbnailManager& ThumbnailManager() const;
+
public: // from MIptvDriveMonitorObserver
/**
@@ -256,53 +228,11 @@
* Symbian 2nd phase constructor.
*/
void ConstructL();
-
- /**
- * If needed creates, and returns pointer to Last Watched API.
- *
- * @return Pointer to Last Watched API.
- */
- CIptvLastWatchedApi* LastWatchedApiL();
/**
- * If needed creates, and returns pointer to Last Watched Data.
- *
- * @return Pointer to Last Watched Data.
- */
- CIptvLastWatchedData* LastWatchedDataL();
-
- /**
- * Copies data from one Video Player Custom message to another.
- *
- * @param aSource Source object.
- * @param aTarget Target object.
+ * Initializes MyVideos customization CenRep session.
*/
- void CopyVideoPlayerCustomMessageL( TVideoPlayerCustomMessage& aSource,
- TVideoPlayerCustomMessage& aTarget );
-
- /**
- * If needed creates, and returns pointer to Video Player Custom Message.
- *
- * @return Pointer to Video Player Custom Message.
- */
- TVideoPlayerCustomMessage* VideoPlayerCustomMessageL();
-
- /**
- * Handles ThumbnailReady() call.
- *
- * @param aError Error code.
- * @param aThumbnail An object representing the resulting thumbnail.
- * @param aId Request ID for the operation.
- */
- void HandleThumbnailReadyL( TInt aError,
- MThumbnailData& aThumbnail,
- TThumbnailRequestId aId );
- /**
- * If needed creates, and returns pointer to Thumbnail Manager.
- *
- * @return Pointer to Thumbnail Manager.
- */
- CThumbnailManager* ThumbnailManagerL();
+ TInt InitMyVideosCenRepL();
private:
@@ -346,44 +276,21 @@
CRepository* iCollectionCenRep;
/**
- * Pointer to 'Last Watched' API.
- * Own.
- */
- CIptvLastWatchedApi* iLastWatchedApi;
-
- /**
- * Pointer to 'Last Watched' data object.
- * Own.
- */
- CIptvLastWatchedData* iLastWatchedData;
-
- /**
- * Pointer to Video Player custom message.
+ * Session to My Videos customization CenRep.
* Own.
*/
- TVideoPlayerCustomMessage* iVideoPlayerCustomMessage;
-
- /**
- * S60 Thumbnail Manager.
- * Own.
- */
- CThumbnailManager* iTnManager;
-
- /**
- * Request ID of ongoing thumbnail request, or KErrNotFound.
- */
- TThumbnailRequestId iTnRequestId;
-
- /**
- * Pointer to Mediator Event class.
- * Own.
- */
- CMediatorEventProvider* iMediatorEventProvider;
+ CRepository* iMyVideosCenRep;
/**
* Video list sort order.
*/
TVcxMyVideosSortingOrder iSortOrder;
+
+ /**
+ * Thumbnail Manager.
+ * Own.
+ */
+ CVcxHgMyVideosThumbnailManager* iTnManager;
};
#endif // VCXHGMYVIDEOSMODEL_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videocollection/hgmyvideos/inc/vcxhgmyvideosthumbnailmanager.h Fri Mar 12 15:43:00 2010 +0200
@@ -0,0 +1,148 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: CVcxHgMyVideosThumbnailManager class definition*
+*/
+
+
+#ifndef VCXHGMYVIDEOSTHUMBNAILMANAGER_H
+#define VCXHGMYVIDEOSTHUMBNAILMANAGER_H
+
+// INCLUDE FILES
+#include <thumbnailmanager.h>
+#include <thumbnailmanagerobserver.h>
+
+// FORWARD DECLARATIONS
+
+// CLASS DECLARATION
+
+/**
+ *
+ * @lib vcxhgmyvideos.lib
+ */
+NONSHARABLE_CLASS( CVcxHgMyVideosThumbnailManager ) :
+ public CBase,
+ public MThumbnailManagerObserver
+ {
+ public:
+
+ /**
+ * Two-phased constructor.
+ *
+ * @return New object.
+ */
+ static CVcxHgMyVideosThumbnailManager* NewL();
+
+ /**
+ * Two-phased constructor.
+ *
+ * @return New object.
+ */
+ static CVcxHgMyVideosThumbnailManager* NewLC();
+
+ /**
+ * Destructor.
+ */
+ virtual ~CVcxHgMyVideosThumbnailManager();
+
+ private: // From MThumbnailManagerObserver
+
+ /**
+ * Preview thumbnail generation or loading is complete.
+ *
+ * @param aThumbnail An object representing the resulting thumbnail.
+ * @param aId Request ID for the operation
+ */
+ void ThumbnailPreviewReady( MThumbnailData& aThumbnail, TThumbnailRequestId aId );
+
+ /**
+ * Final thumbnail bitmap generation or loading is complete.
+ *
+ * @param aError Error code.
+ * @param aThumbnail An object representing the resulting thumbnail.
+ * @param aId Request ID for the operation.
+ */
+ void ThumbnailReady( TInt aError, MThumbnailData& aThumbnail, TThumbnailRequestId aId );
+
+ public: // New methods
+ /**
+ * Peeks if there is thumbnail and fetches it if it exist.
+ * No thumbnail creation is started when thumbnail does not exist.
+ *
+ * @param aSource
+ * @return TThumbnailRequestId.
+ */
+ TThumbnailRequestId PeekL( CThumbnailObjectSource& aSource );
+
+ /**
+ * Gets thumbnail and creates it if it does not exist.
+ *
+ * @param aSource
+ * @return TThumbnailRequestId.
+ */
+ TThumbnailRequestId GetL( CThumbnailObjectSource& aSource );
+
+ /**
+ * Cancels thumbnail request
+ *
+ * @param aRequestId
+ */
+ void Cancel( TThumbnailRequestId aRequestId );
+
+ /**
+ * Adds observer.
+ *
+ * @param aObserver
+ */
+ void AddObserverL( MThumbnailManagerObserver& aObserver );
+
+ /**
+ * Removes observer.
+ *
+ * @param aObserver
+ */
+ void RemoveObserver( MThumbnailManagerObserver& aObserver );
+
+ private:
+
+ /**
+ * Default constructor
+ */
+ CVcxHgMyVideosThumbnailManager();
+
+ /**
+ * SessionL
+ * @return CThumbnailManager ref.
+ */
+ CThumbnailManager& SessionL();
+
+ private:
+
+ /**
+ * S60 Thumbnail Manager.
+ * Own.
+ */
+ CThumbnailManager* iTnManager;
+
+ /**
+ * Used for storing the observers. Pointers are not own.
+ */
+ RPointerArray<MThumbnailManagerObserver> iTnObservers;
+
+ /**
+ * Stores current thumbnail generation flags
+ */
+ CThumbnailManager::TThumbnailFlags iCurrentFlags;
+ };
+
+#endif // VCXHGMYVIDEOSTHUMBNAILMANAGER_H
--- a/videocollection/hgmyvideos/inc/vcxhgmyvideosvideodata.h Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/hgmyvideos/inc/vcxhgmyvideosvideodata.h Fri Mar 12 15:43:00 2010 +0200
@@ -40,10 +40,10 @@
enum TVideoDataState
{
EVideoDataStateNone = 0,
+ EVideoDataStateThumbnailPeekStarted,
+ EVideoDataStateThumbnailPeekFinished,
EVideoDataStateThumbnailStarted,
- EVideoDataStateThumbnailFinished,
- EVideoDataStateDrmStarted,
- EVideoDataStateDrmFinished
+ EVideoDataStateThumbnailFinished
};
public:
--- a/videocollection/hgmyvideos/inc/vcxhgmyvideosvideodataupdater.h Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/hgmyvideos/inc/vcxhgmyvideosvideodataupdater.h Fri Mar 12 15:43:00 2010 +0200
@@ -94,12 +94,27 @@
/**
* Called by video list implementation when new data is needed.
- * Appends data item into buffer.
+ * Appends data item into buffer and flushes it to start fetching.
*
* @param aMPXItemId MPX item id of video data.
*/
void RequestDataL( TMPXItemId aMPXItemId );
-
+
+ /**
+ * Called by video list implementation when new data is needed.
+ * Appends data item into buffer that needs to be flushed using
+ * FlushRequestBufferL() to start fetching.
+ *
+ * @param aMPXItemId MPX item id of video data.
+ */
+ void AddToRequestBufferL( TMPXItemId aMPXItemId );
+
+ /**
+ * Called by video list implementation when new data is needed.
+ * Flushes fetch requests from buffer.
+ */
+ void FlushRequestBufferL();
+
/**
* Called by video list implementation when data is not needed anymore.
* Removes data item from buffer.
@@ -175,9 +190,10 @@
TInt IndexByMPXItemId( TMPXItemId aMpxItemId );
/**
- * Selects next index to be fetched.
+ * Selects next index to be fetched.
+ * @param aSelectForPeekOnly
*/
- void SelectNextIndexL();
+ void SelectNextIndexL( TBool aSelectForPeekOnly );
/**
* Removes item from fetch array.
@@ -213,14 +229,7 @@
/**
* Updates fetched video data to UI.
*/
- void UpdateVideoDataToUiL( CVcxHgMyVideosVideoData& videoData );
-
- /**
- * If needed creates, and returns pointer to Thumbnail Manager.
- *
- * @return Pointer to Thumbnail Manager.
- */
- CThumbnailManager* ThumbnailManagerL();
+ void UpdateVideoDataToUiL( CVcxHgMyVideosVideoData& aVideoData );
/**
* Checks if list refreshing is needed.
@@ -239,7 +248,22 @@
* Refreshes the ganes list.
*/
void RefreshScreen();
-
+
+ /**
+ * Checks DRM properties
+ */
+ void CheckDrmL( CVcxHgMyVideosVideoData& aVideoData );
+
+ /**
+ * Gets active request count
+ */
+ void GetActiveRequestCount( TInt& aPeekRequests, TInt& aGetRequests );
+
+ /**
+ * Starts thumbnail fetch
+ */
+ void StartThumbnailL( CVcxHgMyVideosVideoData& aItem, TBool aPeek );
+
protected:
/**
@@ -265,13 +289,7 @@
* Not own.
*/
CVcxHgMyVideosVideoList& iVideoArray;
-
- /**
- * S60 Thumbnail Manager.
- * Own.
- */
- CThumbnailManager* iTnEngine;
-
+
/**
* Used for indicating that list needs to be refreshed.
* Own.
--- a/videocollection/hgmyvideos/inc/vcxhgmyvideosvideolistimpl.h Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/hgmyvideos/inc/vcxhgmyvideosvideolistimpl.h Fri Mar 12 15:43:00 2010 +0200
@@ -34,7 +34,6 @@
class CAknWaitDialog;
class CVcxHgMyVideosVideoCopier;
class CVcxHgMyVideosUPnPInterface;
-class CVcxHgTelephonyClient;
class CHgScroller;
class CSendUi;
class CDRMHelper;
@@ -375,14 +374,6 @@
void CloseDeleteWaitNote();
/**
- * Checks parental control for a video, and asks lock code.
- *
- * @leave KErrPermissionDenied If not allowed to play.
- * @param aAgeProfile Age profile for the video to be checked.
- */
- void CheckParentalControlL( TUint32 aAgeProfile );
-
- /**
* Fetch SendUI messaging configuration from CenRep
*
* @return Messaging configuration from CenRep
@@ -415,11 +406,6 @@
CVcxHgMyVideosVideoModelHandler* iVideoModel;
/**
- * Index of video currently in play.
- */
- TInt iCurrentlyPlayedVideo;
-
- /**
* Delete wait dialog.
* Own.
*/
@@ -436,23 +422,6 @@
* Own.
*/
CVcxHgMyVideosUPnPInterface* iUPnP;
-
- /**
- * Central repository access needed for parental control setting.
- * Own.
- */
- CRepository* iCenRep;
-
- /**
- * Telephony client, used for asking lock code from user.
- * Own.
- */
- CVcxHgTelephonyClient* iTelephonyClient;
-
- /**
- * Flag for marking mode. True when marking mode enabled.
- */
- TBool iMultipleMarkingActive;
/**
* SendUI
--- a/videocollection/hgmyvideos/inc/vcxhgmyvideosvideomodelhandler.h Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/hgmyvideos/inc/vcxhgmyvideosvideomodelhandler.h Fri Mar 12 15:43:00 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -37,7 +37,6 @@
class TVcxHgMyVideosVideoDetailsDialog;
class CVcxHgMyVideosVideoList;
class CHgScroller;
-class TVideoPlayerCustomMessage;
class CMyVideosIndicator;
// CLASS DECLARATION
@@ -169,22 +168,6 @@
* @param aMarkCommand Mark command.
*/
void HandleMarkCommandL( TInt aMarkCommand );
-
- /**
- * Returns last playback position of video, video identified by URI.
- *
- * @param aContentUri URL or path to video.
- * @return Last playback position.
- */
- TInt LastPlaybackPosition( const TDesC& aContentUri );
-
- /**
- * Stores last playback position of video, video identified by URI.
- *
- * @param aContentUri URL or path to video.
- * @param aPosition Last playback position.
- */
- void SetLastPlaybackPositionL( const TDesC& aContentUri, TInt aPosition );
/**
* Returns video's name.
@@ -248,26 +231,6 @@
* @param aIndex Video's index on UI list.
*/
void CancelDownloadL( TInt aIndex );
-
- /**
- * Returns Video Player custom message of a video.
- *
- * @param aFilteredIndex Video's index on filtered UI list.
- * @param aVideoInfo On return, Video Player custom message with video information.
- * @param aMpxId1 On return, MPX ID 1 of the video.
- */
- TInt GetVideoPlayerCustomMessage( TInt aFilteredIndex,
- TVideoPlayerCustomMessage& aVideoInfo,
- TInt& aMpxId1 );
-
- /**
- * Returns Video Player custom message of a video.
- *
- * @param aMpxItemId MPX Item Id of the video.
- * @param aVideoInfo On return, Video Player custom message with video information.
- */
- TInt GetVideoPlayerCustomMessage( TMPXItemId& aMpxItemId,
- TVideoPlayerCustomMessage& aVideoInfo );
/**
* Returns age profile of a video.
@@ -303,22 +266,6 @@
TBool FindVideoMpxIdL( const TDesC& aVideoPath, TMPXItemId& aMpxItemId );
/**
- * Informative call about video being played. Method removes possible new
- * indicator from video.
- *
- * @param aIndex Video's index on UI list.
- */
- void ClearNewVideoIndicatorL( TInt aIndex );
-
- /**
- * Informative call about video being played. Method removes possible new
- * indicator from video.
- *
- * @param aMpxItemId Video's MPX item Id.
- */
- void ClearNewVideoIndicatorL( TMPXItemId& aMpxItemId );
-
- /**
* Gets data of currently highlighted video, and passes it to
* TVcxHgMyVideosVideoDetailsDialog::ShowVideoDetailsDialogL().
*/
@@ -531,6 +478,25 @@
*/
void UpdateScrollbarTypeL( const TVcxMyVideosSortingOrder& aSortingOrder );
+ /**
+ * Resets scroller items for refetch only
+ */
+ void ResetScrollerItemsL();
+
+ /**
+ * Resets scroller buffer and items for refetch
+ * This is fastest way to reset scroller when item count is unchanged
+ */
+ void ResetScrollerBufferAndItemsL();
+
+ /**
+ * Resizes scroller with refetch
+ * This is faster way to reset scroller than CHgScroller::Reset() and
+ * CHgScroller::ResizeL() calls combined
+ * @param aNewItemCount New item count
+ */
+ void ResizeScrollerL( TInt aNewItemCount );
+
private:
/**
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videocollection/hgmyvideos/src/CIptvDriveMonitor.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -0,0 +1,828 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+
+
+
+// INCLUDE FILES
+#include "CIptvDriveMonitor.h"
+#include "MIptvDriveMonitorObserver.h"
+#include "TIptvDriveMonitorEvent.h"
+#include <bldvariant.hrh>
+#ifdef RD_MULTIPLE_DRIVE_ENABLERS
+#include <driveinfo.h>
+#endif
+#include <centralrepository.h>
+
+// EXTERNAL DATA STRUCTURES
+
+// EXTERNAL FUNCTION PROTOTYPES
+
+// CONSTANTS
+#if IPTV_LOGGING_METHOD != 0
+_LIT( KIptvMediaNotPresentDes, "EMediaNotPresent");
+_LIT( KIptvMediaUnknownDes, "EMediaUnknown");
+_LIT( KIptvMediaFloppyDes, "EMediaFloppy");
+_LIT( KIptvMediaHardDiskDes, "EMediaHardDisk");
+_LIT( KIptvMediaCdRomDes, "EMediaCdRom");
+_LIT( KIptvMediaRamDes, "EMediaRam");
+_LIT( KIptvMediaFlashDes, "EMediaFlash");
+_LIT( KIptvMediaRomDes, "EMediaRom");
+_LIT( KIptvMediaRemoteDes, "EMediaRemote");
+_LIT( KIptvMediaNANDFlashDes, "EMediaNANDFlash");
+#endif
+
+// MACROS
+
+// LOCAL CONSTANTS AND MACROS
+
+// MODULE DATA STRUCTURES
+
+// LOCAL FUNCTION PROTOTYPES
+
+// FORWARD DECLARATIONS
+
+// ============================= LOCAL FUNCTIONS ===============================
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CIptvDriveMonitor::CIptvDriveMonitor
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CIptvDriveMonitor::CIptvDriveMonitor()
+: CActive( EPriorityStandard )
+ {
+ IPTVLOGSTRING_HIGH_LEVEL("CIptvDriveMonitor::CIptvDriveMonitor() start");
+ IPTVLOGSTRING_HIGH_LEVEL("CIptvDriveMonitor::CIptvDriveMonitor() exit");
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvEvents::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CIptvDriveMonitor::ConstructL( const RFs& aFileSession )
+ {
+ iFs = aFileSession;
+ iIfsIsProvidedByUser = ETrue;
+
+ ConstructL();
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvEvents::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CIptvDriveMonitor::ConstructL()
+ {
+ iObservers.Reset();
+ iAvailableDrives.Reset();
+ iPreviousAvailableDrives.Reset();
+
+ if ( !iIfsIsProvidedByUser )
+ {
+ User::LeaveIfError( iFs.Connect() );
+ }
+
+ iSystemDrive = iFs.GetSystemDrive();
+ TInt err = DriveInfo::GetDefaultDrive( DriveInfo::EDefaultMassStorage, iDefaultMassStorageDrive );
+ if ( err != KErrNone )
+ {
+ iDefaultMassStorageDrive = KErrNotFound;
+ }
+ err = DriveInfo::GetDefaultDrive( DriveInfo::EDefaultRemovableMassStorage, iDefaultMemoryCardDrive );
+ if ( err != KErrNone )
+ {
+ iDefaultMassStorageDrive = KErrNotFound;
+ }
+
+ CActiveScheduler::Add( this );
+ RefreshAvailableDrivesL();
+
+ IPTVLOGSTRING2_HIGH_LEVEL("CIptvDriveMonitor:: PhoneMemoryDrive() returns %d",
+ PhoneMemoryDrive());
+ IPTVLOGSTRING2_HIGH_LEVEL("CIptvDriveMonitor:: MemoryCardDrive() returns %d",
+ MemoryCardDrive());
+ IPTVLOGSTRING2_HIGH_LEVEL("CIptvDriveMonitor:: MassStorageDrive() returns %d",
+ MassStorageDrive());
+ IPTVLOGSTRING2_HIGH_LEVEL("CIptvDriveMonitor:: FixedDrive(c-drive excluded) returns %d",
+ FixedDrive( ETrue ));
+
+#if IPTV_LOGGING_METHOD != 0
+ PrintAvailableDrives();
+#endif
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvDriveMonitor::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CIptvDriveMonitor* CIptvDriveMonitor::NewL()
+ {
+ IPTVLOGSTRING_HIGH_LEVEL("CIptvDriveMonitor::NewL() start");
+
+ CIptvDriveMonitor* self = new( ELeave ) CIptvDriveMonitor();
+
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop(self);
+
+ IPTVLOGSTRING_HIGH_LEVEL("CIptvDriveMonitor::NewL() exit");
+
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvDriveMonitor::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CIptvDriveMonitor* CIptvDriveMonitor::NewL( const RFs& aFileSession )
+ {
+ IPTVLOGSTRING_HIGH_LEVEL("CIptvDriveMonitor::NewL(RFs&) start");
+
+ CIptvDriveMonitor* self = new( ELeave ) CIptvDriveMonitor();
+
+ CleanupStack::PushL( self );
+ self->ConstructL( aFileSession );
+ CleanupStack::Pop(self);
+
+ IPTVLOGSTRING_HIGH_LEVEL("CIptvDriveMonitor::NewL(RFs&) exit");
+
+ return self;
+ }
+
+// Destructor
+CIptvDriveMonitor::~CIptvDriveMonitor()
+ {
+ iObservers.Close();
+ iAvailableDrives.Close();
+ iPreviousAvailableDrives.Close();
+ Cancel();
+
+ if ( !iIfsIsProvidedByUser )
+ {
+ iFs.Close();
+ }
+ }
+
+
+// -----------------------------------------------------------------------------
+// CIptvDriveMonitor::RegisterObserverL
+// -----------------------------------------------------------------------------
+//
+void CIptvDriveMonitor::RegisterObserverL( MIptvDriveMonitorObserver* aObserver )
+ {
+ iObservers.AppendL( aObserver );
+
+ if ( !IsActive() )
+ {
+ iFs.NotifyChange( ENotifyDisk, iStatus );
+ SetActive();
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvDriveMonitor::RemoveObserverL
+// -----------------------------------------------------------------------------
+//
+void CIptvDriveMonitor::RemoveObserverL( MIptvDriveMonitorObserver* aObserver )
+ {
+ TInt i;
+ for ( i = 0; i < iObservers.Count(); i++ )
+ {
+ if ( aObserver == iObservers[i] )
+ {
+ iObservers.Remove( i );
+ iObservers.Compress();
+ break;
+ }
+ }
+
+ if ( iObservers.Count() == 0 )
+ {
+ iFs.NotifyChangeCancel();
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvDriveMonitor::RefreshAvailableDrivesL
+// -----------------------------------------------------------------------------
+//
+void CIptvDriveMonitor::RefreshAvailableDrivesL()
+ {
+ IPTVLOGSTRING_LOW_LEVEL("CIptvDriveMonitor::RefreshAvailableDrivesL() start");
+
+ TDriveList driveList;
+ User::LeaveIfError( iFs.DriveList( driveList ) );
+
+ iPreviousAvailableDrives.Reset();
+ TInt i;
+ for ( i = 0; i < iAvailableDrives.Count(); i++ )
+ {
+ iPreviousAvailableDrives.Append( iAvailableDrives[i] );
+ }
+
+ iAvailableDrives.Reset();
+
+ for ( i = 0; i < driveList.Length(); i++ )
+ {
+ if ( driveList[i] != 0 )
+ {
+ TDriveInfo driveInfo;
+ User::LeaveIfError( iFs.Drive( driveInfo, i ) );
+
+ IPTVLOGSTRING3_LOW_LEVEL("CIptvDriveMonitor:: drive[%d]: type = %S",
+ i,
+ &DriveTypeDes( driveInfo.iType ));
+
+ IPTVLOGSTRING3_LOW_LEVEL(
+ "CIptvDriveMonitor:: MediaAtt flags = %x DriveAtt flags = %x",
+ driveInfo.iMediaAtt,
+ driveInfo.iDriveAtt );
+
+#ifdef __WINSCW__
+ // (2) c-drive is EMediaRam
+ // (3) d-drive is EMediaHardDisk
+ // (4) e-drive is EMediaHardDisk or EMediaNotPresent
+ // (25) z-drive is EMediaRom
+ if ( (driveInfo.iType == EMediaRam) || // c
+ ((driveInfo.iType == EMediaHardDisk) && i != EDriveD /* skip d */) || // e
+ (driveInfo.iType == EMediaNANDFlash) || // nothing
+ (driveInfo.iType == EMediaNotPresent) ) // e
+#else
+ // (2) c-drive is EMediaNANDFlash
+ // (3) d-drive is EMediaRam
+ // (4) e-drive is EMediaHardDisk or EMediaNotPresent
+ // (5) f-drive is EMediaHardDisk or EMediaNotPresent
+ // (25) z-drive is EMediaRom
+ if ( (driveInfo.iType == EMediaHardDisk) || // e,f
+ (driveInfo.iType == EMediaNANDFlash) || // c
+ (driveInfo.iType == EMediaNotPresent) ) // e,f
+#endif // __WINSCW__
+ {
+ if ( !(driveInfo.iMediaAtt & KMediaAttWriteProtected) &&
+ (driveInfo.iDriveAtt & KDriveAttLocal) )
+ {
+ TIptvDriveInfo iptvDriveInfo;
+ TVolumeInfo volumeInfo;
+ TChar ch;
+
+ iFs.DriveToChar( i, ch );
+
+ iptvDriveInfo.iDrive = i;
+ iptvDriveInfo.iDriveChar = ch;
+ iptvDriveInfo.iType = driveInfo.iType;
+
+ TUint driveStatus;
+ TInt err = DriveInfo::GetDriveStatus( iFs, i, driveStatus );
+ if ( err == KErrNone )
+ {
+ if ( driveStatus & DriveInfo::EDriveRemovable )
+ {
+ iptvDriveInfo.iFlags |= TIptvDriveInfo::ERemovable;
+ }
+ }
+
+ TInt massStorageDrive;
+ err = DriveInfo::GetDefaultDrive( DriveInfo::EDefaultMassStorage,
+ massStorageDrive );
+ if ( err == KErrNone )
+ {
+ if ( i == massStorageDrive )
+ {
+ iptvDriveInfo.iFlags |= TIptvDriveInfo::EMassStorage;
+ }
+ }
+
+ if ( driveInfo.iMediaAtt & KMediaAttLocked )
+ {
+ iptvDriveInfo.iFlags |= TIptvDriveInfo::ELocked;
+ }
+ if ( driveInfo.iType == EMediaNotPresent )
+ {
+ iptvDriveInfo.iFlags |= TIptvDriveInfo::EMediaNotPresent;
+ }
+
+ // When mass storage mode is activated while application is running,
+ // the only hint about that is the TVolumeInfo not being available.
+ // Therefore we mark drive as EMediaNotPresent if that structure
+ // is not available.
+ if ( iFs.Volume( volumeInfo, i ) != KErrNone )
+ {
+ iptvDriveInfo.iFlags |= TIptvDriveInfo::EMediaNotPresent;
+ iptvDriveInfo.iVolumeName.Zero();
+ }
+ else
+ {
+ iptvDriveInfo.iVolumeName = volumeInfo.iName;
+ }
+
+ if ( iptvDriveInfo.iFlags & TIptvDriveInfo::EMediaNotPresent )
+ {
+ iptvDriveInfo.iFlags |= TIptvDriveInfo::ERemovable;
+ }
+
+ iAvailableDrives.AppendL( iptvDriveInfo );
+ }
+ }
+ }
+ } // for
+
+ // if e and f-drives are available, then c-drive is removed from the available drives list
+ if ( ArrayPos( EDriveE ) != KErrNotFound &&
+ ArrayPos( EDriveF ) != KErrNotFound )
+ {
+ TInt cDrivePos = ArrayPos( EDriveC );
+ if ( cDrivePos != KErrNotFound )
+ {
+ IPTVLOGSTRING_LOW_LEVEL(
+ "CIptvDriveMonitor:: e & f-drives available -> removing c from available drives");
+ iAvailableDrives.Remove( cDrivePos );
+ iAvailableDrives.Compress();
+ }
+ }
+
+ IPTVLOGSTRING_LOW_LEVEL("CIptvDriveMonitor::RefreshAvailableDrivesL() exit");
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvDriveMonitor::ArrayPos
+// -----------------------------------------------------------------------------
+//
+TInt CIptvDriveMonitor::ArrayPos( TInt aDrive )
+ {
+ TInt i;
+ for (i = 0; i < iAvailableDrives.Count(); i++ )
+ {
+ if ( iAvailableDrives[i].iDrive == aDrive )
+ {
+ return i;
+ }
+ }
+ return KErrNotFound;
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvDriveMonitor::ArrayPosL
+// -----------------------------------------------------------------------------
+//
+TInt CIptvDriveMonitor::ArrayPosL( TInt aDrive )
+ {
+ TInt pos;
+ User::LeaveIfError( pos = ArrayPos( aDrive ) );
+ return pos;
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvDriveMonitor::MemoryCardDriveL
+// -----------------------------------------------------------------------------
+//
+TInt CIptvDriveMonitor::MemoryCardDriveL()
+ {
+ TInt drive;
+ User::LeaveIfError( drive = MemoryCardDrive() );
+ return drive;
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvDriveMonitor::MemoryCardDrive
+// -----------------------------------------------------------------------------
+//
+TInt CIptvDriveMonitor::MemoryCardDrive()
+ {
+ TInt i;
+ for ( i = 0; i < iAvailableDrives.Count(); i++ )
+ {
+ if ( iAvailableDrives[i].iDrive == iDefaultMemoryCardDrive )
+ {
+ return iAvailableDrives[i].iDrive;
+ }
+ }
+ return KErrNotFound;
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvDriveMonitor::MassStorageDriveL
+// -----------------------------------------------------------------------------
+//
+TInt CIptvDriveMonitor::MassStorageDriveL()
+ {
+ TInt drive;
+ User::LeaveIfError( drive = MassStorageDrive() );
+ return drive;
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvDriveMonitor::MassStorageDrive
+// -----------------------------------------------------------------------------
+//
+TInt CIptvDriveMonitor::MassStorageDrive()
+ {
+ TInt i;
+ for ( i = 0; i < iAvailableDrives.Count(); i++ )
+ {
+ if ( iAvailableDrives[i].iDrive == iDefaultMassStorageDrive )
+ {
+ return iAvailableDrives[i].iDrive;
+ }
+ }
+ return KErrNotFound;
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvDriveMonitor::PhoneMemoryDriveL
+// -----------------------------------------------------------------------------
+//
+TInt CIptvDriveMonitor::PhoneMemoryDriveL()
+ {
+ TInt drive;
+ User::LeaveIfError( drive = PhoneMemoryDrive() );
+ return drive;
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvDriveMonitor::PhoneMemoryDrive
+// -----------------------------------------------------------------------------
+//
+TInt CIptvDriveMonitor::PhoneMemoryDrive()
+ {
+ TInt i;
+ for ( i = 0; i < iAvailableDrives.Count(); i++ )
+ {
+ if ( iAvailableDrives[i].iDrive == iSystemDrive )
+ {
+ return iAvailableDrives[i].iDrive;
+ }
+ }
+ return KErrNotFound;
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvDriveMonitor::FixedDriveL
+// -----------------------------------------------------------------------------
+//
+TInt CIptvDriveMonitor::FixedDriveL( TBool aExcludeCDrive )
+ {
+ TInt drive;
+ User::LeaveIfError( drive = FixedDrive( aExcludeCDrive ) );
+ return drive;
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvDriveMonitor::FixedDrive
+// -----------------------------------------------------------------------------
+//
+TInt CIptvDriveMonitor::FixedDrive( TBool aExcludeCDrive )
+ {
+ TInt i;
+ for ( i = 0; i < iAvailableDrives.Count(); i++ )
+ {
+ IPTVLOGSTRING2_LOW_LEVEL("CIptvDriveMonitor:: iAvailableDrives[%d]", i);
+
+ if ( !(iAvailableDrives[i].iFlags & TIptvDriveInfo::ERemovable) )
+ {
+ if ( iAvailableDrives[i].iDrive != EDriveC )
+ {
+ IPTVLOGSTRING2_LOW_LEVEL("CIptvDriveMonitor:: FixedDrive() returning drive %d", iAvailableDrives[i].iDrive);
+ return iAvailableDrives[i].iDrive;
+ }
+ else
+ {
+ if ( !aExcludeCDrive )
+ {
+ IPTVLOGSTRING2_LOW_LEVEL("CIptvDriveMonitor:: FixedDrive() returning drive %d", iAvailableDrives[i].iDrive);
+ return iAvailableDrives[i].iDrive;
+ }
+ }
+ }
+ }
+ IPTVLOGSTRING_LOW_LEVEL("CIptvDriveMonitor:: FixedDrive() fixed drive not found");
+ return KErrNotFound;
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvDriveMonitor::IsMassStorageDriveL
+// -----------------------------------------------------------------------------
+//
+TBool CIptvDriveMonitor::IsMassStorageDriveL( TInt aDrive )
+ {
+ if ( aDrive == iDefaultMassStorageDrive )
+ {
+ return ETrue;
+ }
+ return EFalse;
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvDriveMonitor::IsMemoryCardDriveL
+// -----------------------------------------------------------------------------
+//
+TBool CIptvDriveMonitor::IsMemoryCardDriveL( TInt aDrive )
+ {
+ TInt pos = ArrayPosL( aDrive );
+ if ( iAvailableDrives[pos].iFlags & TIptvDriveInfo::ERemovable )
+ {
+ return ETrue;
+ }
+ return EFalse;
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvDriveMonitor::IsPresentL()
+// -----------------------------------------------------------------------------
+//
+TBool CIptvDriveMonitor::IsPresentL( TInt aDrive )
+ {
+ TInt pos = ArrayPosL( aDrive );
+ TUint32 flags = iAvailableDrives[pos].iFlags;
+ if ( (flags & TIptvDriveInfo::ELocked) || (flags & TIptvDriveInfo::EMediaNotPresent) )
+ {
+ return ETrue;
+ }
+ return EFalse;
+ }
+
+
+// -----------------------------------------------------------------------------
+// CIptvDriveMonitor::SystemDrive()
+// -----------------------------------------------------------------------------
+//
+TInt CIptvDriveMonitor::SystemDrive()
+ {
+ return iSystemDrive;
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvDriveMonitor::IsMmcInserted()
+// -----------------------------------------------------------------------------
+//
+TBool CIptvDriveMonitor::IsMmcInserted()
+ {
+ TInt drive = MemoryCardDrive();
+
+ if ( drive == KErrNotFound )
+ {
+ return EFalse;
+ }
+
+ TInt arrayPos = ArrayPos( drive );
+
+ if ( arrayPos == KErrNotFound )
+ {
+ return EFalse;
+ }
+
+ TUint32 flags = iAvailableDrives[arrayPos].iFlags;
+
+ if ( (flags & TIptvDriveInfo::ELocked) || (flags & TIptvDriveInfo::EMediaNotPresent) )
+ {
+ return EFalse;
+ }
+
+ return ETrue;
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvDriveMonitor::RunL()
+// -----------------------------------------------------------------------------
+//
+void CIptvDriveMonitor::RunL()
+ {
+ IPTVLOGSTRING_HIGH_LEVEL("CIptvDriveMonitor::RunL() start");
+
+ if ( iStatus == KErrNone )
+ {
+ iFs.NotifyChange( ENotifyDisk, iStatus );
+
+ TRAPD( err, RefreshAvailableDrivesL() );
+ if ( err != KErrNone )
+ {
+ IPTVLOGSTRING2_HIGH_LEVEL("CIptvDriveMonitor:: RefreshAvailableDrivesL leaved with error code %d, ignoring", err);
+ }
+ CompareOldAndNewAvailableDrives();
+ SetActive();
+ }
+ else
+ {
+ iFs.NotifyChange( ENotifyDisk, iStatus );
+ SetActive();
+ }
+
+ IPTVLOGSTRING_HIGH_LEVEL("CIptvDriveMonitor::RunL() exit");
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvDriveMonitor::DoCancel()
+// -----------------------------------------------------------------------------
+//
+void CIptvDriveMonitor::DoCancel()
+ {
+ iFs.NotifyChangeCancel( iStatus );
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvDriveMonitor::RunError()
+// -----------------------------------------------------------------------------
+//
+TInt CIptvDriveMonitor::RunError( TInt /* aError */ )
+ {
+ IPTVLOGSTRING_HIGH_LEVEL("CIptvDriveMonitor::RunL() leaved (should never happen).");
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvDriveMonitor::SendEvent()
+// -----------------------------------------------------------------------------
+//
+void CIptvDriveMonitor::SendEvent( TIptvDriveMonitorEvent::TEvent aEvent,
+ TInt aDrive )
+ {
+ IPTVLOGSTRING4_HIGH_LEVEL("CIptvDriveMonitor:: Sending event: %S(%d), drive: %d",
+ &TIptvDriveMonitorEvent::EventDes( aEvent ),
+ aEvent,
+ aDrive );
+
+ TIptvDriveMonitorEvent event;
+
+ for ( TInt i = 0; i < iObservers.Count(); i++ )
+ {
+ event.iEvent = static_cast<TInt>(aEvent);
+ event.iDrive = aDrive;
+ iObservers[i]->HandleDriveMonitorEvent( event );
+ }
+
+#if IPTV_LOGGING_METHOD != 0
+ PrintAvailableDrives();
+#endif
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvDriveMonitor::CompareOldAndNewAvailableDrives
+// -----------------------------------------------------------------------------
+//
+void CIptvDriveMonitor::CompareOldAndNewAvailableDrives()
+ {
+ // Run through old drives list to detect changes
+ TInt i;
+ for ( i = 0; i < iPreviousAvailableDrives.Count(); i++ )
+ {
+ TInt pos = ArrayPos( iPreviousAvailableDrives[i].iDrive );
+ if ( pos == KErrNotFound )
+ {
+ // drive was dismounted
+ SendEvent( TIptvDriveMonitorEvent::EDriveDismounted,
+ iPreviousAvailableDrives[i].iDrive );
+ }
+ else
+ {
+ // drive still present
+ if ( iPreviousAvailableDrives[i].iFlags != iAvailableDrives[pos].iFlags )
+ {
+ // drive was changed
+ if ( (iPreviousAvailableDrives[i].iFlags & TIptvDriveInfo::EMediaNotPresent) &&
+ !(iAvailableDrives[pos].iFlags & EMediaNotPresent) )
+ {
+ SendEvent( TIptvDriveMonitorEvent::EMediaInserted,
+ iAvailableDrives[pos].iDrive );
+ }
+
+ if ( !(iPreviousAvailableDrives[i].iFlags & TIptvDriveInfo::EMediaNotPresent) &&
+ (iAvailableDrives[pos].iFlags & TIptvDriveInfo::EMediaNotPresent) )
+ {
+ SendEvent( TIptvDriveMonitorEvent::EMediaRemoved,
+ iAvailableDrives[pos].iDrive );
+ }
+
+ if ( !(iPreviousAvailableDrives[i].iFlags & TIptvDriveInfo::ELocked) &&
+ (iAvailableDrives[pos].iFlags & TIptvDriveInfo::ELocked) )
+ {
+ SendEvent( TIptvDriveMonitorEvent::EDriveLocked,
+ iAvailableDrives[pos].iDrive );
+ }
+
+ if ( (iPreviousAvailableDrives[i].iFlags & TIptvDriveInfo::ELocked) &&
+ !(iAvailableDrives[pos].iFlags & TIptvDriveInfo::ELocked) )
+ {
+ SendEvent( TIptvDriveMonitorEvent::EDriveUnlocked,
+ iAvailableDrives[pos].iDrive );
+ }
+ }
+ // drive volume name was changed
+ if ( iPreviousAvailableDrives[i].iVolumeName.Compare(
+ iAvailableDrives[pos].iVolumeName ) != 0 )
+ {
+ SendEvent( TIptvDriveMonitorEvent::EDriveVolumeNameChanged,
+ iAvailableDrives[pos].iDrive );
+ }
+ }
+ }
+
+ // Run through new drives list to detect mounted drives
+ for ( i = 0; i < iAvailableDrives.Count(); i++ )
+ {
+ TBool found = EFalse;
+ for ( TInt j = 0; j < iPreviousAvailableDrives.Count(); j++ )
+ {
+ if ( iPreviousAvailableDrives[j].iDrive == iAvailableDrives[i].iDrive )
+ {
+ found = ETrue;
+ break;
+ }
+ }
+ if ( !found )
+ {
+ SendEvent( TIptvDriveMonitorEvent::EDriveMounted,
+ iAvailableDrives[i].iDrive );
+ }
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvDriveMonitor::DriveType()
+// -----------------------------------------------------------------------------
+//
+#if IPTV_LOGGING_METHOD != 0
+const TDesC& CIptvDriveMonitor::DriveTypeDes( TInt aType )
+ {
+ switch (aType)
+ {
+ case EMediaNotPresent:
+ return KIptvMediaNotPresentDes;
+ case EMediaUnknown:
+ return KIptvMediaUnknownDes;
+ case EMediaFloppy:
+ return KIptvMediaFloppyDes;
+ case EMediaHardDisk:
+ return KIptvMediaHardDiskDes;
+ case EMediaCdRom:
+ return KIptvMediaCdRomDes;
+ case EMediaRam:
+ return KIptvMediaRamDes;
+ case EMediaFlash:
+ return KIptvMediaFlashDes;
+ case EMediaRom:
+ return KIptvMediaRomDes;
+ case EMediaRemote:
+ return KIptvMediaRemoteDes;
+ case EMediaNANDFlash:
+ return KIptvMediaNANDFlashDes;
+ default:
+ return KIptvMediaUnknownDes;
+ }
+ }
+#else
+const TDesC& CIptvDriveMonitor::DriveTypeDes( TInt /*aType*/ )
+ {
+ return KIptvEmptyDes;
+ }
+#endif
+
+// -----------------------------------------------------------------------------
+// CIptvDriveMonitor::PrintAvailableDrives()
+// -----------------------------------------------------------------------------
+//
+void CIptvDriveMonitor::PrintAvailableDrives()
+ {
+#if IPTV_LOGGING_METHOD != 0
+ for ( TInt i = 0; i < iAvailableDrives.Count(); i++ )
+ {
+ IPTVLOGSTRING3_HIGH_LEVEL("CIptvDriveMonitor:: iAvailableDrives[%d].iDrive = %d",
+ i, iAvailableDrives[i].iDrive);
+ IPTVLOGSTRING2_HIGH_LEVEL(" ERemovableDrive = %d",
+ !!(iAvailableDrives[i].iFlags & TIptvDriveInfo::ERemovable));
+ IPTVLOGSTRING2_HIGH_LEVEL(" EMassStorage = %d",
+ !!(iAvailableDrives[i].iFlags & TIptvDriveInfo::EMassStorage));
+ IPTVLOGSTRING2_HIGH_LEVEL(" ELockedDrive = %d",
+ !!(iAvailableDrives[i].iFlags & TIptvDriveInfo::ELocked));
+ IPTVLOGSTRING2_HIGH_LEVEL(" EMediaNotPresent = %d",
+ !!(iAvailableDrives[i].iFlags & TIptvDriveInfo::EMediaNotPresent));
+ }
+#endif
+ }
+
+// ========================== OTHER EXPORTED FUNCTIONS =========================
+
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videocollection/hgmyvideos/src/CIptvResourceLoader.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -0,0 +1,214 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Resource file loader for components that cannot use the*
+*/
+
+
+
+
+#include <e32base.h>
+#include <bautils.h>
+#include <coemain.h>
+#include "IptvDebug.h"
+#include "CIptvResourceLoader.h"
+
+_LIT( KIptvEDrive, "E:" );
+_LIT( KIptvFDrive, "F:" );
+_LIT( KIptvZDrive, "Z:" );
+_LIT( KIptvRsc, ".RSC" );
+_LIT( KIptvRxx, ".R" );
+const TInt KIptvLangCodeWidth2( 2 );
+const TInt KIptvLangExtLength( 10 );
+
+// ---------------------------------------------------------
+// CIptvResourceLoader::NewL
+// Two-phased constructor.
+// ---------------------------------------------------------
+//
+CIptvResourceLoader* CIptvResourceLoader::NewL( CCoeEnv& aCoeEnv )
+ {
+ IPTVLOGSTRING_LOW_LEVEL( "CIptvResourceLoader::NewL" );
+
+ CIptvResourceLoader* self = new( ELeave ) CIptvResourceLoader( aCoeEnv );
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+// ---------------------------------------------------------
+// CIptvResourceLoader::CIptvResourceLoader
+// C++ default constructor
+// ---------------------------------------------------------
+//
+CIptvResourceLoader::CIptvResourceLoader( CCoeEnv& aCoeEnv )
+ : iCoeEnv( aCoeEnv )
+ {
+ // None
+ }
+
+// ---------------------------------------------------------
+// CIptvResourceLoader::ConstructL
+// Symbian 2nd phase constructor can leave.
+// ---------------------------------------------------------
+//
+void CIptvResourceLoader::ConstructL()
+ {
+ // None
+ }
+
+// ---------------------------------------------------------
+// CIptvResourceLoader::~CIptvResourceLoader
+// Destructor
+// -----------------------------------------------------------------------------
+//
+CIptvResourceLoader::~CIptvResourceLoader()
+ {
+ IPTVLOGSTRING_LOW_LEVEL( "CIptvResourceLoader::~CIptvResourceLoader" );
+
+ if ( iAdded )
+ {
+ iCoeEnv.DeleteResourceFile( iOffset );
+ }
+ }
+
+// ---------------------------------------------------------
+// CIptvResourceLoader::AddResourceL
+//
+// ---------------------------------------------------------
+//
+void CIptvResourceLoader::AddResourceL(
+ const TDesC& aResourceFile )
+ {
+ IPTVLOGSTRING_LOW_LEVEL( "CIptvResourceLoader::AddResourceL()" );
+
+ // Language
+ TLanguage language = User::Language();
+ IPTVLOGSTRING2_LOW_LEVEL( "CIptvResourceLoader::AddResourceL(), language: %d", language );
+ TBuf<KIptvLangExtLength> langExt( KNullDesC );
+ if ( language <= ELangOther ) // Langs 0 - 99
+ {
+ langExt.NumFixedWidth( language, EDecimal, KIptvLangCodeWidth2 );
+ }
+ else // Languages 100 - ELangMaximum
+ {
+ langExt.Num( language, EDecimal );
+ }
+
+ // File parser
+ TParse* fp = new( ELeave ) TParse();
+ CleanupStack::PushL( fp );
+ User::LeaveIfError( fp->Set( aResourceFile, NULL, NULL ) );
+
+ // Search with language code
+ TFileName file( fp->Path() );
+ file.Append( fp->Name() );
+ file.Append( KIptvRxx );
+ file.Append( langExt );
+ TInt error( SearchResourceFile( file ) );
+
+ // If no language file found, change ext to .RSC
+ if ( error )
+ {
+ file.Copy( fp->Path() );
+ file.Append( fp->Name() );
+ file.Append( KIptvRsc );
+ file.ZeroTerminate();
+ error = SearchResourceFile( file );
+ }
+
+ // See result
+ if ( error )
+ {
+ IPTVLOGSTRING_LOW_LEVEL( "CIptvResourceLoader::AddResourceL(), NO RESOURCE FILE ADDED!" );
+ iAdded = EFalse;
+ }
+ else
+ {
+ iAdded = ETrue;
+ }
+
+ CleanupStack::PopAndDestroy( fp );
+ User::LeaveIfError( error );
+ }
+
+// ---------------------------------------------------------
+// CIptvResourceLoader::SearchResourceFile
+//
+// ---------------------------------------------------------
+//
+TInt CIptvResourceLoader::SearchResourceFile( const TDesC& aFile )
+ {
+ // Try to load resource file without drive letter
+ TInt error( AddResourceFile( aFile ) );
+
+ if ( error )
+ {
+ // Try to load resource file from E-drive
+ TFileName eDrive( KIptvEDrive );
+ eDrive.Append( aFile );
+ error = AddResourceFile( eDrive );
+ }
+
+ if ( error )
+ {
+ // Try to load resource file from F-drive
+ TFileName fDrive( KIptvFDrive);
+ fDrive.Append( aFile );
+ error = AddResourceFile( fDrive );
+ }
+
+ if ( error )
+ {
+ // Try to load resource file from Z-drive
+ TFileName zDrive( KIptvZDrive);
+ zDrive.Append( aFile );
+ error = AddResourceFile( zDrive );
+ }
+
+ // If language variant was not found, next try to find nearest one
+ if ( error )
+ {
+ TFileName tempFile( aFile );
+ BaflUtils::NearestLanguageFile( iCoeEnv.FsSession(), tempFile );
+ // Did BaflUtil change the file
+ if ( tempFile.Compare( aFile ) != 0 )
+ {
+ error = AddResourceFile( tempFile );
+ }
+ }
+
+ return error;
+ }
+
+// ---------------------------------------------------------
+// CIptvResourceLoader::AddResourceFile
+//
+// ---------------------------------------------------------
+//
+TInt CIptvResourceLoader::AddResourceFile( const TDesC& aFile )
+ {
+ TInt error( KErrNotFound );
+ if ( BaflUtils::FileExists( iCoeEnv.FsSession(), aFile ) )
+ {
+ TRAP( error, iOffset = iCoeEnv.AddResourceFileL( aFile ) );
+ if ( error == KErrNone )
+ {
+ IPTVLOGSTRING2_LOW_LEVEL( "CIptvResourceLoader::AddResourceFile(), Added: %S", &aFile );
+ }
+ }
+
+ return error;
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videocollection/hgmyvideos/src/TIptvDriveInfo.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+
+
+// INCLUDE FILES
+#include "TIptvDriveInfo.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+TIptvDriveInfo::TIptvDriveInfo()
+ : iDrive( 0 )
+ , iFlags( 0 )
+ {
+ }
+
+TIptvDriveInfo::~TIptvDriveInfo()
+ {
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videocollection/hgmyvideos/src/TIptvDriveMonitorEvent.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -0,0 +1,88 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+
+
+// INCLUDE FILES
+#include "TIptvDriveMonitorEvent.h"
+#include "IptvDebug.h"
+
+#if IPTV_LOGGING_METHOD != 0
+_LIT(KIptvDmeMediaRemovedDes, "EMediaRemoved");
+_LIT(KIptvDmeMediaInsertedDes, "EMediaInserted");
+_LIT(KIptvDmeDriveLockedDes, "EDriveLocked");
+_LIT(KIptvDmeDriveUnlockedDes, "EDriveUnlocked");
+_LIT(KIptvDmeDriveMountedDes, "EDriveMounted");
+_LIT(KIptvDmeDriveDismountedDes, "EDriveDismounted");
+_LIT(KIptvDmeDriveVolumeNameChangedDes, "EDriveVolumeNameChanged");
+_LIT(KIptvDmeUnknownDes, "Unknown");
+#endif
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+TIptvDriveMonitorEvent::TIptvDriveMonitorEvent()
+ : iEvent( ENone )
+ , iDrive( -1 )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// TIptvDriveMonitorEvent::EventDes()
+// -----------------------------------------------------------------------------
+//
+#if IPTV_LOGGING_METHOD != 0
+
+const TDesC& TIptvDriveMonitorEvent::EventDes( TIptvDriveMonitorEvent::TEvent aEvent )
+ {
+ switch ( aEvent )
+ {
+ case EMediaRemoved:
+ return KIptvDmeMediaRemovedDes;
+
+ case EMediaInserted:
+ return KIptvDmeMediaInsertedDes;
+
+ case EDriveLocked:
+ return KIptvDmeDriveLockedDes;
+
+ case EDriveUnlocked:
+ return KIptvDmeDriveUnlockedDes;
+
+ case EDriveMounted:
+ return KIptvDmeDriveMountedDes;
+
+ case EDriveDismounted:
+ return KIptvDmeDriveDismountedDes;
+
+ case EDriveVolumeNameChanged:
+ return KIptvDmeDriveVolumeNameChangedDes;
+
+ default:
+ return KIptvDmeUnknownDes;
+ }
+ }
+
+#else
+
+const TDesC& TIptvDriveMonitorEvent::EventDes( TIptvDriveMonitorEvent::TEvent /*aEvent*/ )
+ {
+ return KIptvEmptyDes;
+ }
+
+#endif
+
--- a/videocollection/hgmyvideos/src/vcxhgmyvideoscategorylistimpl.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/hgmyvideos/src/vcxhgmyvideoscategorylistimpl.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -20,6 +20,8 @@
// INCLUDE FILES
#include <ganes/HgScroller.h>
#include <vcxhgmyvideos.rsg>
+#include <myvideosindicator.h>
+#include <ganes/HgDoubleGraphicList.h>
#include "vcxhgmyvideoscategorylistimpl.h"
#include "vcxhgmyvideoscategorymodelhandler.h"
@@ -79,7 +81,21 @@
void CVcxHgMyVideosCategoryListImpl::ConstructL()
{
CVcxHgMyVideosListBase::ConstructL();
- iCategoryModel = new (ELeave) CVcxHgMyVideosCategoryModelHandler( iModel, *iScroller );
+ iCategoryModel = CVcxHgMyVideosCategoryModelHandler::NewL( iModel, *iScroller );
+
+ // Load indicator
+ CGulIcon* ind = iCategoryModel->VideoIndicatorL().VideoOverlayIndicatorL();
+ if ( ind )
+ {
+ CleanupStack::PushL( ind );
+ // Ownership of the icon is transferred
+ static_cast<CHgDoubleGraphicList*>( iScroller )->SetIconOverlayIndicator( ind );
+ CleanupStack::Pop( ind );
+ }
+
+ // Set default icon as empty
+ iScroller->SetDefaultIconL( iCategoryModel->CreateEmptyHgListIconL() );
+
iScroller->SetFlags( CHgScroller::EHgScrollerKeyMarkingDisabled );
iScroller->SetSelectionObserver( *this );
}
@@ -141,10 +157,53 @@
void CVcxHgMyVideosCategoryListImpl::HandleOpenL( TInt /*aIndex*/ )
{
TInt highlight = Highlight();
+ TInt categoryId = iCategoryModel->ResolveCategoryId( highlight );
- if ( highlight >= 0 && iModel.TouchSupport() )
+ switch ( categoryId )
{
- iView.ActivateVideoListL( iCategoryModel->ResolveCategoryId( highlight ) );
+ case KVcxMvcCategoryIdAll:
+ case KVcxMvcCategoryIdDownloads:
+ case KVcxMvcCategoryIdCaptured:
+ case KVcxMvcCategoryIdOther:
+ {
+ if ( highlight >= 0 && iModel.TouchSupport() )
+ {
+ iView.ActivateVideoListL( iCategoryModel->ResolveCategoryId( highlight ) );
+ }
+ }
+ break;
+
+ case KCategoryIdLastWatched:
+ {
+ iCategoryModel->PlayLastWatchedVidedoL();
+ }
+ break;
+
+ case KCategoryIdExtraItem1:
+ case KCategoryIdExtraItem2:
+ case KCategoryIdExtraItem3:
+ {
+ // Handle item according to type (open web link or start app).
+
+ TVcxHgMyVideosCategoryItemType itemType;
+ TUid appUid;
+ TBuf<64> urlString;
+ iCategoryModel->HandleExtraItemSelectionL( categoryId, itemType, appUid, urlString );
+
+ if ( itemType == TVcxHgMyVideosCategoryItemTypeUid )
+ {
+ iView.LaunchAppL( appUid );
+ }
+ else if ( itemType == TVcxHgMyVideosCategoryItemTypeUrl )
+ {
+ iView.LaunchBrowserL( urlString );
+ }
+ }
+ break;
+
+ default:
+ ASSERT( 0 );
+ break;
}
}
--- a/videocollection/hgmyvideos/src/vcxhgmyvideoscategorymodelhandler.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/hgmyvideos/src/vcxhgmyvideoscategorymodelhandler.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -1,4 +1,4 @@
- /*
+/*
* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
@@ -26,17 +26,53 @@
#include <ganes/HgScroller.h>
#include <ganes/HgItem.h>
+#include <ganes/HgDoubleGraphicList.h>
+#include <thumbnailmanager.h>
+#include <thumbnailmanagerobserver.h>
+#include <thumbnailobjectsource.h>
+#include <thumbnaildata.h>
+#include <gulicon.h>
+#include <AknsUtils.h>
+#include <AknUtils.h>
+#include <aknlayoutscalable_avkon.cdl.h>
+
+#include <vcxhgmyvideosicons.mbg>
+#include <myvideosindicator.h>
#include <vcxhgmyvideos.rsg>
#include <vcxmyvideosdefs.h>
+#include <vcxmyvideosuids.h>
#include "IptvDebug.h"
#include "vcxhgmyvideoscategorymodelhandler.h"
#include "vcxhgmyvideosmodel.h"
#include "vcxhgmyvideoscollectionclient.h"
+#include "vcxhgmyvideosthumbnailmanager.h"
+#include "vcxhgmyvideoscenrepkeys.h"
+
+const TInt KMyVideosTitleStringMaxLength = 64;
+const TInt KMyVideosTitleUrlMaxLength = 128;
+
+_LIT( KVcxHgMyVideosMifFile, "\\resource\\apps\\vcxhgmyvideosicons.mif" );
// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosCategoryModelHandler::NewL()
+// -----------------------------------------------------------------------------
+//
+CVcxHgMyVideosCategoryModelHandler* CVcxHgMyVideosCategoryModelHandler::NewL(
+ CVcxHgMyVideosModel& aModel,
+ CHgScroller& aScroller )
+ {
+ CVcxHgMyVideosCategoryModelHandler* self =
+ new (ELeave) CVcxHgMyVideosCategoryModelHandler( aModel, aScroller );
+
+ return self;
+ }
+
+
// -----------------------------------------------------------------------------
// CVcxHgMyVideosCategoryModelHandler::CVcxHgMyVideosCategoryModelHandler()
// -----------------------------------------------------------------------------
@@ -44,7 +80,9 @@
CVcxHgMyVideosCategoryModelHandler::CVcxHgMyVideosCategoryModelHandler(
CVcxHgMyVideosModel& aModel, CHgScroller& aScroller )
: iModel( aModel ),
- iScroller( aScroller )
+ iScroller( aScroller ),
+ iTnManager( aModel.ThumbnailManager() ),
+ iTnRequestId( KErrNotFound )
{
}
@@ -55,6 +93,9 @@
CVcxHgMyVideosCategoryModelHandler::~CVcxHgMyVideosCategoryModelHandler()
{
delete iCategoryList;
+ delete iLastWatched;
+ delete iVideoIndicator;
+
iCategoryIdArray.Reset();
}
@@ -68,6 +109,8 @@
"MPX My Videos UI # CVcxHgMyVideosCategoryModelHandler::DoModelActivateL() - Enter" );
iModel.CollectionClient().SetCategoryModelObserver( this );
+
+ iTnManager.AddObserverL( *this );
IPTVLOGSTRING_LOW_LEVEL(
"MPX My Videos UI # CVcxHgMyVideosCategoryModelHandler::DoModelActivateL() - Exit" );
@@ -83,6 +126,11 @@
"MPX My Videos UI # CVcxHgMyVideosCategoryModelHandler::DoModelDeactivate() - Enter" );
iModel.CollectionClient().SetCategoryModelObserver( NULL );
+
+ iTnManager.RemoveObserver( *this );
+
+ delete iLastWatched;
+ iLastWatched = NULL;
IPTVLOGSTRING_LOW_LEVEL(
"MPX My Videos UI # CVcxHgMyVideosCategoryModelHandler::DoModelDeactivate() - Exit" );
@@ -116,11 +164,11 @@
// CVcxHgMyVideosCategoryModelHandler::GetCategoryNameLC()
// -----------------------------------------------------------------------------
//
-HBufC* CVcxHgMyVideosCategoryModelHandler::GetCategoryNameLC( TInt aIndex )
+HBufC* CVcxHgMyVideosCategoryModelHandler::GetCategoryNameLC( TInt aCategoryId )
{
HBufC* name = NULL;
- switch ( aIndex )
+ switch ( aCategoryId )
{
case KVcxMvcCategoryIdAll:
name = StringLoader::LoadLC( R_VCXHGMYVIDEOS_STORAGE_ALL_LIST );
@@ -134,8 +182,42 @@
case KVcxMvcCategoryIdOther:
name = StringLoader::LoadLC( R_VCXHGMYVIDEOS_STORAGE_OTHER_LIST );
break;
+ case KCategoryIdLastWatched:
+ name = StringLoader::LoadLC( R_VCXHGMYVIDEOS_LAST_WATCHED );
+ break;
+ case KCategoryIdExtraItem1:
+ // ExtraItem1 is always interpreted as Ovi Store
+ name = StringLoader::LoadLC( R_VCXHGMYVIDEOS_OVI_STORE );
+ break;
+ case KCategoryIdExtraItem2:
+ case KCategoryIdExtraItem3:
+ {
+ TInt key = 0;
+ if ( aCategoryId == KCategoryIdExtraItem2 )
+ {
+ key = KCRVideoPlayerExtraItem2Title;
+ }
+ else if ( aCategoryId == KCategoryIdExtraItem3 )
+ {
+ key = KCRVideoPlayerExtraItem3Title;
+ }
+
+ TBuf<KMyVideosTitleStringMaxLength> titleString;
+ TInt error = iModel.GetMyVideosCustomizationString( key, titleString );
+ if ( error == KErrNone )
+ {
+ name = titleString.AllocLC();
+ }
+ else
+ {
+ name = KNullDesC().AllocLC();
+ }
+ }
+ break;
+
default:
{
+ name = KNullDesC().AllocLC();
IPTVLOGSTRING_LOW_LEVEL(
"MPX My Videos UI # GetCategoryNameLC() Unexpected category!" );
}
@@ -145,13 +227,130 @@
}
// -----------------------------------------------------------------------------
+// CVcxHgMyVideosCategoryModelHandler::GetCategoryIconL()
+// -----------------------------------------------------------------------------
+//
+CGulIcon* CVcxHgMyVideosCategoryModelHandler::GetCategoryIconL( TInt aCategoryId )
+ {
+ IPTVLOGSTRING2_LOW_LEVEL( "CVcxHgMyVideosCategoryModelHandler::GetCategoryIconL() Enter! Category id = %d", aCategoryId );
+
+ CGulIcon* icon( NULL );
+ TInt bitmapId( 0 );
+ TInt maskId( 0 );
+ TInt key( KErrNotFound );
+ TFileName iconFile( KNullDesC() );
+
+ // Find icon file & bitmap IDs or cenrep keys
+ switch ( aCategoryId )
+ {
+ case KVcxMvcCategoryIdDownloads: // fall through
+ case KVcxMvcCategoryIdAll: // fall through
+ case KVcxMvcCategoryIdOther:
+ iconFile = KVcxHgMyVideosMifFile;
+ bitmapId = EMbmVcxhgmyvideosiconsQgn_prop_download_thumbnail_video;
+ maskId = EMbmVcxhgmyvideosiconsQgn_prop_download_thumbnail_video_mask;
+ break;
+ case KVcxMvcCategoryIdCaptured:
+ iconFile = KVcxHgMyVideosMifFile;
+ bitmapId = EMbmVcxhgmyvideosiconsQgn_prop_captured_thumbnail_video;
+ maskId = EMbmVcxhgmyvideosiconsQgn_prop_captured_thumbnail_video_mask;
+ break;
+ case KCategoryIdLastWatched:
+ // If no last watched, dont show default icon
+ if ( iLastWatched )
+ {
+ iconFile = KVcxHgMyVideosMifFile;
+ bitmapId = EMbmVcxhgmyvideosiconsQgn_prop_recent_thumbnail_video;
+ maskId = EMbmVcxhgmyvideosiconsQgn_prop_recent_thumbnail_video_mask;
+ }
+ break;
+ case KCategoryIdExtraItem1:
+ // ExtraItem1 is always interpreted as Ovi Store
+ iconFile = KVcxHgMyVideosMifFile;
+ bitmapId = EMbmVcxhgmyvideosiconsQgn_prop_ovi_thumbnail_video;
+ maskId = EMbmVcxhgmyvideosiconsQgn_prop_ovi_thumbnail_video_mask;
+ break;
+ case KCategoryIdExtraItem2:
+ key = KCRVideoPlayerExtraItem2IconPath;
+ break;
+ case KCategoryIdExtraItem3:
+ key = KCRVideoPlayerExtraItem3IconPath;
+ break;
+ default:
+ {
+ IPTVLOGSTRING_LOW_LEVEL(
+ "MPX My Videos UI # GetCategoryIconLC() Unexpected category!" );
+ }
+ break;
+ }
+
+ if ( key != KErrNotFound )
+ {
+ // Extra item 2 or 3, get icon file from cenrep
+ TInt error = iModel.GetMyVideosCustomizationString( key, iconFile );
+ if ( error == KErrNone && iconFile.Length() > 0 )
+ {
+ IPTVLOGSTRING3_LOW_LEVEL( "CVcxHgMyVideosCategoryModelHandler::GetCategoryIconL() cenrep key %d iconFile %S", key, &iconFile );
+ bitmapId = 0x4000;
+ maskId = 0x4001;
+ }
+ else
+ { // Use default service icon
+ iconFile = KVcxHgMyVideosMifFile;
+ bitmapId = EMbmVcxhgmyvideosiconsQgn_prop_service_thumbnail_video;
+ maskId = EMbmVcxhgmyvideosiconsQgn_prop_service_thumbnail_video_mask;
+ }
+ }
+
+ if ( bitmapId && iconFile.Length() > 0 )
+ {
+ // find mif file
+ TFindFile findFile( iModel.FileServerSessionL() );
+ TInt error = findFile.FindByDir( iconFile, KNullDesC );
+
+ // Create icon if icon file was found
+ if ( KErrNone == error )
+ {
+ TParse parse;
+ parse.Set( findFile.File(), NULL, NULL );
+ iconFile = parse.FullName();
+ IPTVLOGSTRING3_LOW_LEVEL( "CVcxHgMyVideosCategoryModelHandler::GetCategoryIconLC() get %d from file %S", bitmapId, &iconFile );
+
+ icon = CreateHgListIconL( iconFile, bitmapId, maskId );
+ }
+ else
+ {
+ IPTVLOGSTRING2_LOW_LEVEL( "CVcxHgMyVideosCategoryModelHandler::GetCategoryIconL() FindByDir() returned %d", error );
+ }
+ }
+ else
+ {
+ IPTVLOGSTRING_LOW_LEVEL( "CVcxHgMyVideosCategoryModelHandler::GetCategoryIconLC() no icon file or id" );
+ }
+
+ return icon;
+ }
+
+// -----------------------------------------------------------------------------
// CVcxHgMyVideosCategoryModelHandler::FormatCategorySecondRowLC()
// -----------------------------------------------------------------------------
//
HBufC* CVcxHgMyVideosCategoryModelHandler::FormatCategorySecondRowLC( CMPXMedia& aMedia )
- {
+ {
+ if ( !aMedia.IsSupported( KMPXMediaGeneralType ) ||
+ aMedia.ValueTObjectL<TMPXGeneralType>( KMPXMediaGeneralType ) != EMPXGroup )
+ {
+ if ( aMedia.IsSupported( KMPXMediaGeneralTitle ) )
+ {
+ return aMedia.ValueText( KMPXMediaGeneralTitle ).AllocLC();
+ }
+ else
+ {
+ return KNullDesC().AllocLC();
+ }
+ }
+
HBufC* details = NULL;
- HBufC* newVideoName = NULL;
TInt newVideos = 0;
TInt videos = 0;
@@ -166,38 +365,14 @@
if ( newVideos > 0 )
{
- if ( aMedia.IsSupported( KVcxMediaMyVideosCategoryNewItemName ) )
- {
- newVideoName = aMedia.ValueText( KVcxMediaMyVideosCategoryNewItemName ).AllocLC();
- }
- else
- {
- newVideoName = KNullDesC().AllocLC();
- }
-
if ( newVideos == 1 )
{
- details = StringLoader::LoadL( R_VCXHGMYVIDEOS_ONE_NEW_VIDEO, *newVideoName );
+ details = StringLoader::LoadL( R_VCXHGMYVIDEOS_ONE_NEW_VIDEO );
}
else
{
- CDesCArrayFlat* arrayForStrings = new ( ELeave ) CDesCArrayFlat( 1 );
- CleanupStack::PushL( arrayForStrings );
- arrayForStrings->AppendL( *newVideoName );
-
- CArrayFixFlat<TInt>* arrayForInts = new ( ELeave ) CArrayFixFlat<TInt>( 3 );
- CleanupStack::PushL( arrayForInts );
- arrayForInts->AppendL( newVideos );
-
- details = StringLoader::LoadL( R_VCXHGMYVIDEOS_N_NEW_VIDEOS,
- *arrayForStrings,
- *arrayForInts );
-
- CleanupStack::PopAndDestroy( arrayForInts );
- CleanupStack::PopAndDestroy( arrayForStrings );
+ details = StringLoader::LoadL( R_VCXHGMYVIDEOS_N_NEW_VIDEOS, newVideos );
}
-
- CleanupStack::PopAndDestroy( newVideoName );
CleanupStack::PushL( details );
}
else
@@ -219,6 +394,76 @@
return details;
}
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosCategoryModelHandler::FormatCategorySecondRowLC()
+// -----------------------------------------------------------------------------
+//
+HBufC* CVcxHgMyVideosCategoryModelHandler::FormatCategorySecondRowLC( TInt aCategoryId )
+ {
+ HBufC* secondRow = NULL;
+
+ switch ( aCategoryId )
+ {
+ case KVcxMvcCategoryIdAll:
+ case KVcxMvcCategoryIdDownloads:
+ case KVcxMvcCategoryIdTvRecordings:
+ case KVcxMvcCategoryIdCaptured:
+ case KVcxMvcCategoryIdOther:
+ case KCategoryIdLastWatched:
+ {
+ CMPXMedia* media = GetCategoryDataL( aCategoryId );
+ if ( media )
+ {
+ secondRow = FormatCategorySecondRowLC( *media );
+ }
+ else
+ {
+ secondRow = KNullDesC().AllocLC();
+ }
+ }
+ break;
+ case KCategoryIdExtraItem1:
+ // ExtraItem1 is always interpreted as Ovi Store
+ secondRow = StringLoader::LoadLC( R_VCXHGMYVIDEOS_OVI_STORE_VIDEOS );
+ break;
+
+ case KCategoryIdExtraItem2:
+ case KCategoryIdExtraItem3:
+ {
+ TInt key = 0;
+ if ( aCategoryId == KCategoryIdExtraItem2 )
+ {
+ key = KCRVideoPlayerExtraItem2Text;
+ }
+ else if ( aCategoryId == KCategoryIdExtraItem3 )
+ {
+ key = KCRVideoPlayerExtraItem3Text;
+ }
+
+ TBuf<KMyVideosTitleStringMaxLength> detailsString;
+ TInt error = iModel.GetMyVideosCustomizationString( key, detailsString );
+ if ( error == KErrNone )
+ {
+ secondRow = detailsString.AllocLC();
+ }
+ else
+ {
+ secondRow = KNullDesC().AllocLC();
+ }
+ break;
+ }
+ default:
+ {
+ secondRow = KNullDesC().AllocLC();
+ IPTVLOGSTRING_LOW_LEVEL(
+ "MPX My Videos UI # FormatCategorySecondRowLC() Unexpected category!" );
+ break;
+ }
+ }
+ return secondRow;
+ }
+
// -----------------------------------------------------------------------------
// CVcxHgMyVideosCategoryModelHandler::UiIndexFromMpxItemId()
// -----------------------------------------------------------------------------
@@ -244,7 +489,7 @@
if ( mpxItemId == aMpxItemId )
{
- index = ResolveCategoryArrayIndexById( i );
+ index = ResolveCategoryArrayIndexById( i );
break;
}
}
@@ -261,7 +506,8 @@
//
TInt CVcxHgMyVideosCategoryModelHandler::ResolveCategoryArrayIndexById( TInt aCategoryId )
{
- TInt ret( 0 );
+ TInt ret( KErrNotFound );
+
for(TInt i = 0; i < iCategoryIdArray.Count(); i++ )
{
if( iCategoryIdArray[ i ] == aCategoryId )
@@ -270,6 +516,7 @@
break;
}
}
+
return ret;
}
@@ -279,14 +526,20 @@
// -----------------------------------------------------------------------------
//
void CVcxHgMyVideosCategoryModelHandler::NewCategoryListL(
- CMPXMediaArray* aCategoryList )
+ CMPXMediaArray* aCategoryList, TBool aIsPartial )
{
- IPTVLOGSTRING_LOW_LEVEL( "MPX My Videos UI # NewCategoryListL() - Enter" );
+ IPTVLOGSTRING2_LOW_LEVEL( "MPX My Videos UI # NewCategoryListL() - Enter. IsPartial=%d", aIsPartial );
delete iCategoryList;
iCategoryList = aCategoryList;
UpdateCategoryListL();
+
+ if ( !aIsPartial )
+ {
+ // KVcxMessageMyVideosListComplete does not come, finish list fetching now
+ CategoryListFetchingCompletedL();
+ }
IPTVLOGSTRING_LOW_LEVEL( "MPX My Videos UI # NewCategoryListL() - Exit" );
}
@@ -301,7 +554,10 @@
IPTVLOGSTRING_LOW_LEVEL( "MPX My Videos UI # CategoryListModifiedL() - Enter" );
UpdateCategoryListL();
-
+
+ FetchLastWatchedL();
+ SetLastWatchedIndicatorL();
+
IPTVLOGSTRING_LOW_LEVEL( "MPX My Videos UI # CategoryListModifiedL() - Exit" );
}
@@ -327,7 +583,35 @@
break;
case EMPXItemInserted:
+ {
+ if ( !iLastWatched )
+ {
+ TInt id1( 0 );
+ TInt ret = iModel.GetLastWatchedIdL( id1 );
+ TMPXItemId id ( id1 );
+
+ if ( ret == KErrNone &&
+ id1 == aMpxItemId.iId1 )
+ {
+ FetchLastWatchedL();
+ }
+ }
+ }
+ break;
case EMPXItemDeleted:
+ {
+ if ( iLastWatched &&
+ iLastWatched->IsSupported( KMPXMediaGeneralId ) &&
+ iLastWatched->Value<TMPXItemId>( KMPXMediaGeneralId )->iId1 == aMpxItemId.iId1 )
+ {
+ delete iLastWatched;
+ iLastWatched = NULL;
+
+ UpdateCategoryListItemL( ResolveCategoryArrayIndexById( KCategoryIdLastWatched ) );
+ SetLastWatchedIndicatorL();
+ }
+ }
+ break;
default:
{
IPTVLOGSTRING_LOW_LEVEL(
@@ -393,30 +677,18 @@
{
CHgItem& listItem = iScroller.ItemL( aListIndex );
- CMPXMedia* media( NULL );
- media = (*iCategoryList)[ iCategoryIdArray[ aListIndex ] ];
-
HBufC* categoryName( NULL );
categoryName = GetCategoryNameLC( iCategoryIdArray[ aListIndex ] );
-
- if ( categoryName && media )
- {
- // Insert the category name into first row of list item.
- listItem.SetTitleL( *categoryName );
- CleanupStack::PopAndDestroy( categoryName );
-
- // Insert video count into second row of list item.
- HBufC* secondRow( NULL );
- secondRow = FormatCategorySecondRowLC( *media );
- listItem.SetTextL( *secondRow );
- CleanupStack::PopAndDestroy( secondRow );
- }
- else
- {
- // If category name or media was not found then
- // the whole list item should be removed.
- RemoveCategoryListItem( aListIndex );
- }
+ listItem.SetTitleL( *categoryName );
+ CleanupStack::PopAndDestroy( categoryName );
+
+ HBufC* secondRow( NULL );
+ secondRow = FormatCategorySecondRowLC( iCategoryIdArray[ aListIndex ] );
+ listItem.SetTextL( *secondRow );
+ CleanupStack::PopAndDestroy( secondRow );
+
+ // Set icon for category
+ listItem.SetIcon( GetCategoryIconL( iCategoryIdArray[ aListIndex ] ) );
}
IPTVLOGSTRING_LOW_LEVEL(
@@ -442,7 +714,8 @@
TInt CVcxHgMyVideosCategoryModelHandler::ResolveCategoryId( TInt aScrollerIndex )
{
TInt ret( -1 );
- if ( aScrollerIndex <= iCategoryIdArray.Count() )
+ if ( aScrollerIndex >= 0 &&
+ aScrollerIndex <= iCategoryIdArray.Count() )
{
ret = iCategoryIdArray[ aScrollerIndex ];
}
@@ -460,12 +733,72 @@
iCategoryIdArray.Reset();
- for(TInt i = 0; i < aCategoriesAvailable; i++)
+ TInt error = KErrNone;
+ TInt value = KErrNotFound;
+ TInt categoryId = KErrNotFound;
+
+ // Check that cenrep exists and has some valid data
+ error = iModel.GetMyVideosCustomizationInt( KCRVideoPlayerItemLocation1, value );
+
+ if ( error == KErrNone && value > EMyVideosListItemTypeEmpty )
{
- if( AcceptCategory( i ) )
+ IPTVLOGSTRING_LOW_LEVEL( "MPX My Videos UI # MakeCategoryIdArray() Getting category items from cenrep" );
+
+ for ( TInt i=KCRVideoPlayerItemLocation1; i<=KCRVideoPlayerItemLocation7; i++ )
{
- iCategoryIdArray.Append( i );
- }
+ error = iModel.GetMyVideosCustomizationInt( i , value );
+ if ( error == KErrNone && value != EMyVideosListItemTypeEmpty )
+ {
+ switch ( value )
+ {
+ case EMyVideosListItemTypeLastWatched:
+ categoryId = KCategoryIdLastWatched;
+ break;
+ case EMyVideosListItemTypeCapturedVideos:
+ categoryId = KVcxMvcCategoryIdCaptured;
+ break;
+ case EMyVideosListItemTypeOtherVideos:
+ categoryId = KVcxMvcCategoryIdOther;
+ break;
+ case EMyVideosListItemTypeExtra1:
+ categoryId = KCategoryIdExtraItem1;
+ break;
+ case EMyVideosListItemTypeExtra2:
+ categoryId = KCategoryIdExtraItem2;
+ break;
+ case EMyVideosListItemTypeExtra3:
+ categoryId = KCategoryIdExtraItem3;
+ break;
+ case EMyVideosListItemTypeEmpty:
+ categoryId = KErrNotFound;
+ break;
+ default:
+ categoryId = KErrNotFound;
+ break;
+ }
+
+ if ( AcceptCategory( categoryId ) )
+ {
+ iCategoryIdArray.Append( categoryId );
+ }
+ }
+ }
+ }
+ else
+ {
+ IPTVLOGSTRING_LOW_LEVEL(
+ "MPX My Videos UI # MakeCategoryIdArray() Could not access CenRep!" );
+
+ // If cenrep access fails then use these values as backup
+ iCategoryIdArray.Append( KCategoryIdLastWatched );
+
+ for(TInt i = 0; i < aCategoriesAvailable; i++)
+ {
+ if( AcceptCategory( i ) )
+ {
+ iCategoryIdArray.Append( i );
+ }
+ }
}
}
@@ -479,18 +812,372 @@
switch ( aCategoryId )
{
case KVcxMvcCategoryIdAll:
- case KVcxMvcCategoryIdDownloads:
case KVcxMvcCategoryIdCaptured:
case KVcxMvcCategoryIdOther:
+ case KCategoryIdLastWatched:
+ case KCategoryIdExtraItem1:
+ case KCategoryIdExtraItem2:
+ case KCategoryIdExtraItem3:
IPTVLOGSTRING2_LOW_LEVEL(
"MPX My Videos UI # AcceptCategory() Accepted category: %d", aCategoryId );
ret = ETrue;
break;
default:
IPTVLOGSTRING2_LOW_LEVEL(
- "MPX My Videos UI # AcceptCategory() Uknowns category: %d", aCategoryId );
+ "MPX My Videos UI # AcceptCategory() Unknown category: %d", aCategoryId );
break;
}
return ret;
}
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosVideoModelHandler::VideoFetchingCompletedL()
+// MPX Collection calls this callback when a single video has fetched.
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosCategoryModelHandler::VideoFetchingCompletedL( CMPXMedia* aVideo )
+ {
+ TInt id( 0 );
+
+ TInt ret = iModel.GetLastWatchedIdL( id );
+
+ if ( ret == KErrNone &&
+ id &&
+ aVideo &&
+ aVideo->IsSupported( KMPXMediaGeneralId ) &&
+ aVideo->Value<TMPXItemId>( KMPXMediaGeneralId )->iId1 == id )
+ {
+ delete iLastWatched;
+ iLastWatched = aVideo;
+
+ LoadLastWatchedIconL();
+ SetLastWatchedIndicatorL();
+ }
+ else
+ {
+ delete aVideo;
+ aVideo = NULL;
+ }
+
+ UpdateCategoryListItemL( ResolveCategoryArrayIndexById( KCategoryIdLastWatched ) );
+ iScroller.RefreshScreen( ResolveCategoryArrayIndexById( KCategoryIdLastWatched ) );
+ }
+
+// -----------------------------------------------------------------------------
+// MPX Collection calls this callback when category list items have been fetched.
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosCategoryModelHandler::CategoryListFetchingCompletedL()
+ {
+ IPTVLOGSTRING_LOW_LEVEL( "MPX My Videos UI # CategoryListFetchingCompletedL()" );
+ FetchLastWatchedL();
+ SetLastWatchedIndicatorL();
+ }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosVideoModelHandler::GetCategoryDataL()
+//
+// -----------------------------------------------------------------------------
+//
+CMPXMedia* CVcxHgMyVideosCategoryModelHandler::GetCategoryDataL( TInt aCategoryId )
+ {
+ if ( aCategoryId == KCategoryIdLastWatched )
+ {
+ return iLastWatched;
+ }
+
+ if ( aCategoryId >= 0 && iCategoryList->Count() > aCategoryId )
+ {
+ return (*iCategoryList)[ aCategoryId ];
+ }
+
+ return NULL;
+ }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosVideoModelHandler::FetchLastWatchedL()
+//
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosCategoryModelHandler::FetchLastWatchedL()
+ {
+ TInt id1( 0 );
+ TInt ret = iModel.GetLastWatchedIdL( id1 );
+ TMPXItemId id ( id1 );
+
+ if ( id1 != 0 &&
+ KErrNone == ret )
+ {
+ if ( !iLastWatched ||
+ ( iLastWatched &&
+ iLastWatched->IsSupported( KMPXMediaGeneralId ) &&
+ iLastWatched->Value<TMPXItemId>( KMPXMediaGeneralId )->iId1 != id1 ))
+ {
+ iModel.CollectionClient().FetchMpxMediaByMpxIdL( id );
+ }
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosVideoModelHandler::PlayLastWatchedVidedoL()
+//
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosCategoryModelHandler::PlayLastWatchedVidedoL()
+ {
+ if ( iLastWatched && iLastWatched->IsSupported( KMPXMediaGeneralId ) )
+ {
+ iModel.CollectionClient().PlayVideoL(
+ *iLastWatched->Value<TMPXItemId>( KMPXMediaGeneralId ) );
+
+ iModel.SetAppState( CVcxHgMyVideosModel::EVcxMyVideosAppStatePlayer );
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosVideoModelHandler::LoadLastWatchedIconL()
+//
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosCategoryModelHandler::LoadLastWatchedIconL()
+ {
+ CThumbnailObjectSource* source = CThumbnailObjectSource::NewLC(
+ iLastWatched->ValueText( KMPXMediaGeneralUri ),
+ KNullDesC );
+
+ iTnRequestId = iTnManager.GetL( *source );
+ CleanupStack::PopAndDestroy( source );
+ }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosVideoModelHandler::SetLastWatchedIndicatorL()
+//
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosCategoryModelHandler::SetLastWatchedIndicatorL()
+ {
+ if ( KErrNotFound != ResolveCategoryArrayIndexById( KCategoryIdLastWatched ) )
+ {
+ CHgItem& lastWatchedItem = iScroller.ItemL(
+ ResolveCategoryArrayIndexById( KCategoryIdLastWatched ) );
+ if ( iLastWatched && VideoIndicatorL().IsIndicatorShown( *iLastWatched ) )
+ {
+ lastWatchedItem.SetFlags( CHgItem::EHgItemFlagsIconOverlayIndicator );
+ }
+ else
+ {
+ lastWatchedItem.ClearFlags( CHgItem::EHgItemFlagsIconOverlayIndicator );
+ }
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosVideoModelHandler::VideoIndicatorL()
+//
+// -----------------------------------------------------------------------------
+//
+CMyVideosIndicator& CVcxHgMyVideosCategoryModelHandler::VideoIndicatorL()
+ {
+ if ( !iVideoIndicator )
+ {
+ iVideoIndicator = CMyVideosIndicator::NewL();
+ }
+ return *iVideoIndicator;
+ }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosVideoModelHandler::ThumbnailPreviewReady()
+//
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosCategoryModelHandler::ThumbnailPreviewReady(
+ MThumbnailData& /*aThumbnail*/,
+ TThumbnailRequestId /*aId*/ )
+ {
+ // No implementation
+ }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosVideoModelHandler::ThumbnailReady()
+//
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosCategoryModelHandler::ThumbnailReady(
+ TInt aError,
+ MThumbnailData& aThumbnail,
+ TThumbnailRequestId aId )
+ {
+ if ( aId == iTnRequestId )
+ {
+ iTnRequestId = KErrNotFound;
+
+ TRAP_IGNORE( ThumbnailReadyL( aError, aThumbnail, aId ) );
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosVideoModelHandler::ThumbnailReady()
+//
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosCategoryModelHandler::ThumbnailReadyL(
+ TInt aError,
+ MThumbnailData& aThumbnail,
+ TThumbnailRequestId /*aId*/ )
+ {
+ TInt lastWatchedIndex = ResolveCategoryArrayIndexById( KCategoryIdLastWatched );
+ if ( lastWatchedIndex != KErrNotFound )
+ {
+ CHgItem& listItem = iScroller.ItemL( lastWatchedIndex );
+ CGulIcon* thumbnail( NULL );
+
+ if ( !aError )
+ {
+ thumbnail = CGulIcon::NewL( aThumbnail.DetachBitmap() );
+ CleanupStack::PushL( thumbnail );
+ }
+ else
+ {
+ TFileName iconFile( KVcxHgMyVideosMifFile );
+ thumbnail = CreateHgListIconL( iconFile,
+ EMbmVcxhgmyvideosiconsQgn_prop_recent_thumbnail_video,
+ EMbmVcxhgmyvideosiconsQgn_prop_recent_thumbnail_video_mask );
+
+ CleanupStack::PushL( thumbnail );
+ }
+
+ listItem.SetIcon( thumbnail ); // Takes ownership
+ CleanupStack::Pop( thumbnail );
+
+ iScroller.RefreshScreen( lastWatchedIndex );
+ }
+ }
+
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosVideoModelHandler::HandleExtraItemSelectionL()
+//
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosCategoryModelHandler::HandleExtraItemSelectionL(
+ TInt categoryId,
+ TVcxHgMyVideosCategoryItemType& aItemType,
+ TUid& aUid,
+ TDes& aUrl )
+ {
+ TInt uidKey = 0;
+ TInt urlKey = 0;
+
+ aItemType = TVcxHgMyVideosCategoryItemTypeUndefined;
+
+ switch ( categoryId )
+ {
+ case KCategoryIdExtraItem1:
+ {
+ uidKey = KCRVideoPlayerExtraItem1Uid;
+ urlKey = KCRVideoPlayerExtraItem1Url;
+ break;
+ }
+ case KCategoryIdExtraItem2:
+ {
+ uidKey = KCRVideoPlayerExtraItem2Uid;
+ urlKey = KCRVideoPlayerExtraItem2Url;
+ break;
+ }
+ case KCategoryIdExtraItem3:
+ {
+ uidKey = KCRVideoPlayerExtraItem3Uid;
+ urlKey = KCRVideoPlayerExtraItem3Url;
+ break;
+ }
+ default:
+ return;
+ }
+
+ TBuf<KMyVideosTitleUrlMaxLength> urlString;
+ TInt uidInt( 0 ) ;
+
+ // Try to get web link URL first.
+ TInt error = iModel.GetMyVideosCustomizationString( urlKey, urlString );
+ if ( error == KErrNone && urlString.Size() > 0 )
+ {
+ aUrl = urlString;
+ aItemType = TVcxHgMyVideosCategoryItemTypeUrl;
+ }
+ else
+ {
+ // If URL is not found try to fetch application UID.
+ error = iModel.GetMyVideosCustomizationInt( uidKey, uidInt );
+ if ( error == KErrNone && uidInt != 0 )
+ {
+ aUid = TUid::Uid( uidInt );
+ aItemType = TVcxHgMyVideosCategoryItemTypeUid;
+ }
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosVideoModelHandler::CreateHgListIconL()
+//
+// -----------------------------------------------------------------------------
+//
+CGulIcon* CVcxHgMyVideosCategoryModelHandler::CreateHgListIconL(
+ const TFileName& aFileName,
+ TInt aBitmapId,
+ TInt aMaskId )
+ {
+ IPTVLOGSTRING4_LOW_LEVEL( "CVcxHgMyVideosCategoryModelHandler::CreateHgListIconL() bitmap=%d mask=%d file %S", aBitmapId, aMaskId, &aFileName );
+
+ CFbsBitmap* bitmap( NULL );
+ CFbsBitmap* mask( NULL );
+ CGulIcon* icon( NULL );
+
+ // Create default icon for Hg list.
+ AknIconUtils::CreateIconLC(
+ bitmap,
+ mask,
+ aFileName,
+ aBitmapId,
+ aMaskId );
+
+ TInt error( KErrNone );
+ error = AknIconUtils::SetSize(
+ bitmap,
+ CHgDoubleGraphicList::PreferredImageSize(),
+ EAspectRatioPreservedAndUnusedSpaceRemoved );
+ User::LeaveIfError( error );
+
+ error = AknIconUtils::SetSize(
+ mask,
+ CHgDoubleGraphicList::PreferredImageSize(),
+ EAspectRatioPreservedAndUnusedSpaceRemoved );
+ User::LeaveIfError( error );
+
+ // Ownership of bitmap and mask is transferred to icon.
+ icon = CGulIcon::NewL( bitmap, mask );
+ CleanupStack::Pop( 2, bitmap ); // mask and bitmap
+
+ IPTVLOGSTRING2_LOW_LEVEL( "CVcxHgMyVideosCategoryModelHandler::CreateHgListIconL() icon=0x%08x", icon );
+
+ return icon;
+ }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosVideoModelHandler::CreateEmptyHgListIconL()
+//
+// -----------------------------------------------------------------------------
+//
+CGulIcon* CVcxHgMyVideosCategoryModelHandler::CreateEmptyHgListIconL()
+ {
+ IPTVLOGSTRING_LOW_LEVEL( "CVcxHgMyVideosCategoryModelHandler::CreateEmptyHgListIconL()" );
+ CGulIcon* icon( NULL );
+ CFbsBitmap* bitmap = new (ELeave) CFbsBitmap;
+
+ bitmap->Create( CHgDoubleGraphicList::PreferredImageSize(), ENone );
+ CleanupStack::PushL( bitmap );
+ icon = CGulIcon::NewL( bitmap );
+ CleanupStack::Pop( bitmap );
+
+ return icon;
+ }
--- a/videocollection/hgmyvideos/src/vcxhgmyvideoscollectionclient.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/hgmyvideos/src/vcxhgmyvideoscollectionclient.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -105,7 +105,6 @@
//
CVcxHgMyVideosCollectionClient::~CVcxHgMyVideosCollectionClient()
{
- delete iLatestMpxMedia;
delete iDownloadClient;
if ( iCollectionUtility )
{
@@ -383,81 +382,6 @@
}
// -----------------------------------------------------------------------------
-// CVcxHgMyVideosCollectionClient::SetAttributeL()
-// -----------------------------------------------------------------------------
-//
-void CVcxHgMyVideosCollectionClient::SetAttributeL( const CMPXMedia& aMedia,
- const TMPXAttribute& aAttribute,
- const TUint32 aValue )
- {
- if ( ! HasPendingCommand() && ! iDownloadClient->HasPendingCommand() )
- {
- CMPXMedia* updatedMedia = CMPXMedia::NewL();
- CleanupStack::PushL( updatedMedia );
- CMPXCommand* cmd = CMPXCommand::NewL();
- CleanupStack::PushL( cmd );
-
- updatedMedia->SetTObjectValueL<TMPXItemId>(
- KMPXMediaGeneralId,
- aMedia.ValueTObjectL<TMPXItemId>( KMPXMediaGeneralId ) );
- updatedMedia->SetTObjectValueL<TUint32>( aAttribute, aValue );
-
- cmd->SetTObjectValueL( KMPXCommandGeneralId, KMPXCommandIdCollectionSet );
- cmd->SetTObjectValueL( KMPXCommandGeneralDoSync, ETrue );
- cmd->SetCObjectValueL( KMPXCommandColSetMedia, updatedMedia );
- cmd->SetTObjectValueL( KMPXCommandGeneralCollectionId,
- KVcxUidMyVideosMpxCollection );
-
- iCollectionUtility->Collection().CommandL( *cmd );
-
- CleanupStack::PopAndDestroy( cmd );
- CleanupStack::PopAndDestroy( updatedMedia );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVcxHgMyVideosCollectionClient::SetAttributeL()
-// -----------------------------------------------------------------------------
-//
-void CVcxHgMyVideosCollectionClient::SetAttributeL( const CMPXMedia& aMedia,
- const TMPXAttribute& aAttribute,
- const TReal32 aValue )
- {
- if ( ! HasPendingCommand() && ! iDownloadClient->HasPendingCommand() )
- {
- CMPXMedia* updatedMedia = CMPXMedia::NewL();
- CleanupStack::PushL( updatedMedia );
- CMPXCommand* cmd = CMPXCommand::NewL();
- CleanupStack::PushL( cmd );
-
- updatedMedia->SetTObjectValueL<TMPXItemId>(
- KMPXMediaGeneralId,
- aMedia.ValueTObjectL<TMPXItemId>( KMPXMediaGeneralId ) );
- updatedMedia->SetTObjectValueL<TReal32>( aAttribute, aValue );
-
- cmd->SetTObjectValueL( KMPXCommandGeneralId, KMPXCommandIdCollectionSet );
- cmd->SetTObjectValueL( KMPXCommandGeneralDoSync, ETrue );
- cmd->SetCObjectValueL( KMPXCommandColSetMedia, updatedMedia );
- cmd->SetTObjectValueL( KMPXCommandGeneralCollectionId,
- KVcxUidMyVideosMpxCollection );
-
- iCollectionUtility->Collection().CommandL( *cmd );
-
- CleanupStack::PopAndDestroy( cmd );
- CleanupStack::PopAndDestroy( updatedMedia );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVcxHgMyVideosCollectionClient::GetLatestFetchedMpxMediaL()
-// -----------------------------------------------------------------------------
-//
-CMPXMedia* CVcxHgMyVideosCollectionClient::GetLatestFetchedMpxMediaL()
- {
- return iLatestMpxMedia;
- }
-
-// -----------------------------------------------------------------------------
// CVcxHgMyVideosCollectionClient::FetchMpxMediaByMpxIdL()
// -----------------------------------------------------------------------------
//
@@ -606,6 +530,9 @@
case KVcxMessageMyVideosItemsAppended:
HandleMyVideosItemsAppendedL( aMessage, aError );
break;
+ case KVcxMessageMyVideosListComplete:
+ HandleMyVideosListCompleteL( aMessage, aError );
+ break;
case KVcxMessageMyVideosDeleteStarted:
case KVcxMessageMyVideosDeleteResp:
HandleMyVideosDeleteMessageL( aMessage, aError );
@@ -717,7 +644,12 @@
if ( iCategoryModelObserver )
{
- iCategoryModelObserver->NewCategoryListL( categoryArray );
+ TBool isPartial( EFalse );
+ if ( aEntries.IsSupported( KVcxMediaMyVideosVideoListIsPartial ) )
+ {
+ isPartial = aEntries.ValueTObjectL<TBool>( KVcxMediaMyVideosVideoListIsPartial );
+ }
+ iCategoryModelObserver->NewCategoryListL( categoryArray, isPartial );
CleanupStack::Pop( categoryArray );
}
else
@@ -878,12 +810,6 @@
{
IPTVLOGSTRING_LOW_LEVEL(
"MPX My Videos UI # HandleMyVideosItemsChangedL() - MMC plugged/unplugged." );
-
- // Show "Refreshing view" information note.
- HBufC* text = StringLoader::LoadLC( R_VCXHGMYVIDEOS_REFRESHING );
- CAknConfirmationNote* note = new (ELeave) CAknConfirmationNote();
- note->ExecuteLD( *text );
- CleanupStack::PopAndDestroy( text );
if ( levels == KVcxMpxLevelCategories )
{
@@ -894,7 +820,7 @@
{
if ( levels == KVcxMpxLevelCategories )
{
- if ( iCategoryModelObserver && eventlevel == KVcxHgEventLevelCategory )
+ if ( iCategoryModelObserver )
{
iCategoryModelObserver->CategoryModifiedL( eventType, eventData );
}
@@ -1129,10 +1055,13 @@
// Ownership is transferred.
iVideoModelObserver->VideoFetchingCompletedL( media );
}
-
- delete iLatestMpxMedia;
- iLatestMpxMedia = NULL;
- iLatestMpxMedia = CMPXMedia::NewL( *( ( *array )[0] ) );
+
+ else if ( iCategoryModelObserver )
+ {
+ CMPXMedia* media = CMPXMedia::NewL( *( ( *array )[0] ) );
+ // Ownership is transferred.
+ iCategoryModelObserver->VideoFetchingCompletedL( media );
+ }
}
}
CleanupStack::PopAndDestroy( entries );
@@ -1140,6 +1069,23 @@
}
// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosCollectionClient::HandleMyVideosListCompleteL( CMPXMessage* /*aMessage*/,
+ TInt aError )
+ {
+ IPTVLOGSTRING_LOW_LEVEL( "MPX My Videos UI # HandleMyVideosListCompleteL()" );
+ if ( aError == KErrNone )
+ {
+ if ( iCategoryModelObserver )
+ {
+ iCategoryModelObserver->CategoryListFetchingCompletedL();
+ }
+ }
+ }
+
+// -----------------------------------------------------------------------------
// CVcxHgMyVideosCollectionClient::HandleGetVideoDetailsRespL()
// -----------------------------------------------------------------------------
//
--- a/videocollection/hgmyvideos/src/vcxhgmyvideosmainview.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/hgmyvideos/src/vcxhgmyvideosmainview.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*/
-// Version : %version: TB92_33.1.1 %
+// Version : %version: e92_37 %
// INCLUDE FILES
#include <bldvariant.hrh>
@@ -25,6 +25,8 @@
#include <coeaui.h>
#include <aknnotewrappers.h>
#include <hlplch.h>
+#include <apgcli.h> // RApaLsSession
+#include <apacmdln.h> // CApaCommandLine
#include <AknsBasicBackgroundControlContext.h>
#include <ganes/HgDoubleTextList.h>
@@ -49,6 +51,12 @@
_LIT( KVcxHgMyVideosMainViewResFile, "\\resource\\apps\\vcxhgmyvideos." );
const TUint32 KVcxHgMyVideosViewUid = 0x20021191;
+const TUid KMediaSettingsAppUid = { 0x10005A3F };
+const TUid KBrowserAppUid = { 0x10008D39 };
+
+const TInt KVcxHgMyVideosUrlMaxLen = 1024;
+
+_LIT( KBrowserProtocol, "4 " );
// ============================ MEMBER FUNCTIONS ===============================
@@ -146,8 +154,8 @@
IPTVLOGSTRING_LOW_LEVEL(
"MPX My Videos UI # CVcxHgMyVideosMainView::CategoryListL: Creating category list." );
// Create category list control.
- CHgDoubleTextList* hgCategoryList =
- CHgDoubleTextList::NewL( ClientRect(), 0 );
+ CHgDoubleGraphicList* hgCategoryList =
+ CHgDoubleGraphicList::NewL( ClientRect(), 0 );
CleanupStack::PushL( hgCategoryList );
// Create list implementations.
@@ -361,7 +369,7 @@
if ( highlight >= 0 )
{
- ActivateVideoListL( highlight );
+ CategoryListL()->HandleOpenL( highlight );
}
}
break;
@@ -450,6 +458,12 @@
VideoListL()->HandleMarkCommandL( aCommand );
}
break;
+ case EVcxHgMyVideosCmdOpenSettings:
+ {
+ // Open MediaSettings application
+ LaunchAppL( KMediaSettingsAppUid );
+ }
+ break;
case EVcxHgMyVideosCmdHelp:
{
HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(),
@@ -756,7 +770,15 @@
}
else
{
- rskToSet = R_VCXHGMYVIDEOS_RSK_BACK;
+ if ( iModel->AppState() == CVcxHgMyVideosModel::EVcxMyVideosAppStateCategoryIdle ||
+ iModel->AppState() == CVcxHgMyVideosModel::EVcxMyVideosAppStateCategoryBusy )
+ {
+ rskToSet = R_VCXHGMYVIDEOS_RSK_EXIT;
+ }
+ else
+ {
+ rskToSet = R_VCXHGMYVIDEOS_RSK_BACK;
+ }
}
if ( rskToSet != iCurrentRskResource )
@@ -783,3 +805,81 @@
VideoListL()->HandleMarkCommandL( EVcxHgMyVideosCmdStopMarking );
}
}
+
+// ------------------------------------------------------------------------------
+// CVcxHgMyVideosMainView::LaunchAppL()
+// ------------------------------------------------------------------------------
+//
+void CVcxHgMyVideosMainView::LaunchAppL( const TUid aAppUid, const TDesC& aMsg )
+ {
+ RWsSession wsSession;
+ User::LeaveIfError( wsSession.Connect() );
+ CleanupClosePushL<RWsSession>( wsSession );
+ TApaTaskList taskList( wsSession );
+ TApaTask task = taskList.FindApp( aAppUid );
+ TInt msgLen = aMsg.Length();
+
+ if ( task.Exists() )
+ {
+ if ( msgLen > 0 )
+ {
+ // Send message
+ HBufC8* param8 = HBufC8::NewLC( msgLen );
+ param8->Des().Append( aMsg );
+ task.SendMessage( TUid::Uid( 0 ), *param8 );
+ CleanupStack::PopAndDestroy( param8 );
+ }
+ else
+ {
+ task.BringToForeground();
+ }
+ }
+ else // Task didn't exist
+ {
+ RApaLsSession appArcSession;
+ User::LeaveIfError( appArcSession.Connect() );
+ CleanupClosePushL<RApaLsSession>( appArcSession );
+
+ if ( msgLen > 0 )
+ {
+ TThreadId id;
+ appArcSession.StartDocument( aMsg, aAppUid , id );
+ }
+ else
+ {
+ TApaAppInfo appInfo;
+ TInt retVal = appArcSession.GetAppInfo( appInfo, aAppUid );
+ if ( retVal == KErrNone )
+ {
+ CApaCommandLine* cmdLine = CApaCommandLine::NewLC();
+ cmdLine->SetExecutableNameL( appInfo.iFullName );
+ cmdLine->SetCommandL( EApaCommandRun );
+ User::LeaveIfError( appArcSession.StartApp( *cmdLine ) );
+ CleanupStack::PopAndDestroy( cmdLine );
+ }
+ else
+ {
+ IPTVLOGSTRING_LOW_LEVEL(
+ "MPX My Videos UI # CVcxHgMyVideosMainView::LaunchAppL - Application not found!" );
+ }
+ }
+ CleanupStack::PopAndDestroy(); // appArcSession
+ }
+ CleanupStack::PopAndDestroy(); // wsSession
+ }
+
+// ------------------------------------------------------------------------------
+// CVcxHgMyVideosMainView::LaunchBrowserL()
+// ------------------------------------------------------------------------------
+//
+void CVcxHgMyVideosMainView::LaunchBrowserL( const TDesC& aUrl )
+ {
+ HBufC* param = HBufC::NewLC( KVcxHgMyVideosUrlMaxLen );
+ param->Des().Copy( KBrowserProtocol() );
+ param->Des().Append( aUrl );
+
+ LaunchAppL( KBrowserAppUid, *param );
+
+ CleanupStack::PopAndDestroy( param );
+ }
+
--- a/videocollection/hgmyvideos/src/vcxhgmyvideosmodel.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/hgmyvideos/src/vcxhgmyvideosmodel.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -22,16 +22,12 @@
#include <AknUtils.h>
#include <centralrepository.h>
#include "IptvDebug.h"
-#include <MediatorEventProvider.h>
-#include "iptvlastwatcheddata.h"
-#include "iptvlastwatchedapi.h"
#include "vcxhgmyvideosmodel.h"
#include "vcxhgmyvideoscollectionclient.h"
#include "vcxhgmyvideosdownloadclient.h"
-#include "vcxnsmediatorids.h"
#include "thumbnaildata.h"
-
-_LIT( KTemporaryThumbPath, "C:\\Data\\videocenter\\ecg\\lastwatched.bmp" );
+#include "vcxhgmyvideoscenrepkeys.h"
+#include "vcxhgmyvideosthumbnailmanager.h"
// ============================ MEMBER FUNCTIONS ===============================
@@ -42,7 +38,6 @@
CVcxHgMyVideosModel::CVcxHgMyVideosModel()
: iAppState( EVcxMyVideosAppStateUnknown ),
iPreviousAppState( EVcxMyVideosAppStateUnknown ),
- iTnRequestId( KErrNotFound ),
iSortOrder( EVcxMyVideosSortingNone )
{
}
@@ -80,7 +75,8 @@
{
iCollection = CVcxHgMyVideosCollectionClient::NewL();
iTouchSupport = AknLayoutUtils::PenEnabled();
- iMediatorEventProvider = CMediatorEventProvider::NewL();
+ iTnManager = CVcxHgMyVideosThumbnailManager::NewL();
+ InitMyVideosCenRepL();
}
// -----------------------------------------------------------------------------
@@ -96,16 +92,8 @@
delete iDriveMonitor;
delete iCollection;
delete iCollectionCenRep;
- delete iLastWatchedApi;
- delete iLastWatchedData;
- delete iVideoPlayerCustomMessage;
-
- if ( iTnManager && iTnRequestId != KErrNotFound )
- {
- iTnManager->CancelRequest( iTnRequestId );
- }
+ delete iMyVideosCenRep;
delete iTnManager;
- delete iMediatorEventProvider;
}
// -----------------------------------------------------------------------------
@@ -143,7 +131,17 @@
{
if ( ! iFsSession.Handle() )
{
- User::LeaveIfError( iFsSession.Connect() );
+ TInt err = iFsSession.Connect();
+ if ( err == KErrNone )
+ {
+ // For sending handles to thumbnailmanager
+ err = iFsSession.ShareProtected();
+ }
+ if ( err != KErrNone )
+ {
+ iFsSession.Close();
+ User::Leave( err );
+ }
}
return iFsSession;
@@ -211,6 +209,20 @@
}
// -----------------------------------------------------------------------------
+// CVcxHgMyVideosModel::GetLastWatchedIdL()
+// -----------------------------------------------------------------------------
+//
+TInt CVcxHgMyVideosModel::GetLastWatchedIdL( TInt& aId )
+ {
+ if ( ! iCollectionCenRep )
+ {
+ iCollectionCenRep = CRepository::NewL( TUid::Uid( KVcxMyVideosCollectionCenrepUid ) );
+ }
+
+ return iCollectionCenRep->Get( KVcxMyVideosCollectionCenrepKeyLastWatchedMpxId, aId );
+ }
+
+// -----------------------------------------------------------------------------
// CVcxHgMyVideosModel::VideolistSortOrderL()
// -----------------------------------------------------------------------------
//
@@ -275,222 +287,12 @@
}
// -----------------------------------------------------------------------------
-// CVcxHgMyVideosModel::SetVideoAsLastWatchedL()
-// -----------------------------------------------------------------------------
-//
-void CVcxHgMyVideosModel::SetVideoAsLastWatchedL( TVideoPlayerCustomMessage& aVideoInfo,
- TInt aMpxId1,
- TUint32 aAgeProfile )
- {
- if ( iTnRequestId != KErrNotFound )
- {
- ThumbnailManagerL()->CancelRequest( iTnRequestId );
- iTnRequestId = KErrNotFound;
- }
-
- CopyVideoPlayerCustomMessageL( aVideoInfo, *VideoPlayerCustomMessageL() );
-
- // Store data from Video Player Custom message to 'Last Watched' item on
- // disk. Un-used (legacy) data fields are resetted to dummy values.
-
- LastWatchedDataL()->SetIconPathL( VideoPlayerCustomMessageL()->iIcon );
- /*
- LastWatchedDataL()->SetLastVideoPlayPoint( ViaPlayerCustomMessageL()->iStartPosition );
- LastWatchedDataL()->SetMimeTypeL( ViaPlayerCustomMessageL()->iMimeType );
- */
-
- LastWatchedDataL()->SetNameL( VideoPlayerCustomMessageL()->iName );
- LastWatchedDataL()->SetUriL( VideoPlayerCustomMessageL()->iContent );
-
- // LastWatchedDataL()->SetContentType( ViaPlayerCustomMessageL()->iContentType );
-
- LastWatchedDataL()->SetMpxId( aMpxId1 );
- LastWatchedDataL()->SetServiceId( KIdUndefined );
- LastWatchedDataL()->SetContentId( KIdUndefined );
- LastWatchedDataL()->SetContentIndex( -1 );
- LastWatchedDataL()->SetParentalControl( aAgeProfile );
- LastWatchedDataL()->SetParametersL( KNullDesC8 );
- LastWatchedDataL()->SetAppUid( TUid::Uid( 0 ) );
- LastWatchedDataL()->SetViewUid( TUid::Uid( 0 ) );
- LastWatchedDataL()->SetParameterId( TUid::Uid( 0 ) );
- LastWatchedDataL()->SetLaunchType( CIptvLastWatchedData::EUndefined );
-
- // Start fetching or generating thumbnail for last watched video.
- // The 'Last Watched' data is published only when thumb is available.
- CThumbnailObjectSource* source = CThumbnailObjectSource::NewLC(
- VideoPlayerCustomMessageL()->iContent,
- KNullDesC );
- iTnRequestId = ThumbnailManagerL()->GetThumbnailL( *source );
- CleanupStack::PopAndDestroy( source );
- }
-
-// -----------------------------------------------------------------------------
-// CVcxHgMyVideosModel::UpdateLastWatchedPlayPositionL()
-// -----------------------------------------------------------------------------
-//
-void CVcxHgMyVideosModel::UpdateLastWatchedPlayPositionL( TUint32 aLastVideoPlayPoint )
- {
- if ( iTnRequestId != KErrNotFound )
- {
- LastWatchedDataL()->SetLastVideoPlayPoint( aLastVideoPlayPoint );
- }
- else
- {
- LastWatchedApiL()->UpdateLastVideoPlayPointL( aLastVideoPlayPoint );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVcxHgMyVideosModel::GetLastWatchedDataL()
-// -----------------------------------------------------------------------------
-//
-void CVcxHgMyVideosModel::GetLastWatchedDataL( TVideoPlayerCustomMessage& aVideoInfo,
- TUint32& /*aMpxId1 */,
- TUint32& aAgeProfile )
- {
- LastWatchedApiL()->GetLastWatchedDataL( *LastWatchedDataL() );
-
- aVideoInfo.iContent = LastWatchedDataL()->Uri();
- aVideoInfo.iName = LastWatchedDataL()->Name();
- aVideoInfo.iIcon = LastWatchedDataL()->IconPath();
-
- aAgeProfile = LastWatchedDataL()->ParentalControl();
- }
-
-// -----------------------------------------------------------------------------
-// CVcxHgMyVideosModel::ThumbnailPreviewReady()
-// From MThumbnailManagerObserver, not used in Video Center.
-// -----------------------------------------------------------------------------
-//
-void CVcxHgMyVideosModel::ThumbnailPreviewReady( MThumbnailData& /*aThumbnail*/,
- TThumbnailRequestId /*aId*/ )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVcxHgMyVideosModel::ThumbnailReady()
-// From MThumbnailManagerObserver
-// -----------------------------------------------------------------------------
-//
-void CVcxHgMyVideosModel::ThumbnailReady( TInt aError,
- MThumbnailData& aThumbnail,
- TThumbnailRequestId aId )
- {
- TRAP_IGNORE( HandleThumbnailReadyL( aError, aThumbnail, aId ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVcxHgMyVideosModel::HandleThumbnailReadyL()
+// CVcxHgMyVideosModel::ThumbnailManager()
// -----------------------------------------------------------------------------
//
-void CVcxHgMyVideosModel::HandleThumbnailReadyL( TInt aError,
- MThumbnailData& aThumbnail,
- TThumbnailRequestId aId )
- {
- IPTVLOGSTRING3_LOW_LEVEL(
- "MPX My Videos UI # HandleThumbnailReadyL(error=%d, ID=%d)", aError, aId );
-
- if ( aError == KErrNone && aId == iTnRequestId )
- {
- iTnRequestId = KErrNotFound;
-
- // Save a copy of the bitmap to local file that Matrix Menu can access.
- CFbsBitmap* bitmap = aThumbnail.Bitmap();
- bitmap->Save( KTemporaryThumbPath );
- LastWatchedDataL()->SetIconPathL( KTemporaryThumbPath );
- VideoPlayerCustomMessageL()->iIcon = KTemporaryThumbPath;
- }
- else
- {
- iTnRequestId = KErrNotFound;
- }
-
- LastWatchedApiL()->SetLastWatchedDataL( *LastWatchedDataL() );
- TPckg<TVideoPlayerCustomMessage> videoInfoPckg( *VideoPlayerCustomMessageL() );
- iMediatorEventProvider->RaiseEvent( KVcxNsVideoCenterMediatorDomain,
- KVcxNsPlayerGeneralCategory,
- KVcxNsMediatorEventPlayerLastWatch,
- TVersion( KVcxNsMediatorPlayerVersion, 0, 0 ),
- videoInfoPckg );
- }
-
-// -----------------------------------------------------------------------------
-// CVcxHgMyVideosModel::ResetDownloadNotification()
-// -----------------------------------------------------------------------------
-//
-void CVcxHgMyVideosModel::ResetDownloadNotification()
- {
- iMediatorEventProvider->RaiseEvent( TUid::Uid( KVcxNsMpxMediatorDomain ),
- TUid::Uid( KVcxNsMpxMediatorCategory ),
- KVcxNsMpxEventResetDownloadNotification,
- TVersion( KVcxNsMpxEventVersion, 0, 0 ),
- KNullDesC8() );
- }
-
-// -----------------------------------------------------------------------------
-// CVcxHgMyVideosModel::ThumbnailManagerL()
-// -----------------------------------------------------------------------------
-//
-CThumbnailManager* CVcxHgMyVideosModel::ThumbnailManagerL()
+CVcxHgMyVideosThumbnailManager& CVcxHgMyVideosModel::ThumbnailManager() const
{
- if ( ! iTnManager )
- {
- iTnManager = CThumbnailManager::NewL( *this );
- iTnManager->SetThumbnailSizeL( EVideoListThumbnailSize );
- iTnManager->SetDisplayModeL( EColor16M );
- }
- return iTnManager;
- }
-
-// -----------------------------------------------------------------------------
-// CVcxHgMyVideosModel::CopyVideoPlayerCustomMessageL()
-// -----------------------------------------------------------------------------
-//
-void CVcxHgMyVideosModel::CopyVideoPlayerCustomMessageL( TVideoPlayerCustomMessage& aSource,
- TVideoPlayerCustomMessage& aTarget )
- {
- aTarget.iContent = aSource.iContent;
- aTarget.iName = aSource.iName;
- aTarget.iIcon = aSource.iIcon;
- }
-
-// -----------------------------------------------------------------------------
-// CVcxHgMyVideosModel::VideoPlayerCustomMessageL()
-// -----------------------------------------------------------------------------
-//
-TVideoPlayerCustomMessage* CVcxHgMyVideosModel::VideoPlayerCustomMessageL()
- {
- if ( ! iVideoPlayerCustomMessage )
- {
- iVideoPlayerCustomMessage = new (ELeave) TVideoPlayerCustomMessage;
- }
- return iVideoPlayerCustomMessage;
- }
-
-// -----------------------------------------------------------------------------
-// CVcxHgMyVideosModel::LastWatchedApiL()
-// -----------------------------------------------------------------------------
-//
-CIptvLastWatchedApi* CVcxHgMyVideosModel::LastWatchedApiL()
- {
- if ( ! iLastWatchedApi )
- {
- iLastWatchedApi = CIptvLastWatchedApi::NewL();
- }
- return iLastWatchedApi;
- }
-
-// -----------------------------------------------------------------------------
-// CVcxHgMyVideosModel::LastWatchedDataL()
-// -----------------------------------------------------------------------------
-//
-CIptvLastWatchedData* CVcxHgMyVideosModel::LastWatchedDataL()
- {
- if ( ! iLastWatchedData )
- {
- iLastWatchedData = CIptvLastWatchedData::NewL();
- }
- return iLastWatchedData;
+ return *iTnManager;
}
// -----------------------------------------------------------------------------
@@ -502,3 +304,46 @@
// We are not interested about the event, we are observing just to keep
// iDriveMonitor.iAvailableDrives up to date.
}
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosModel::GetMyVideosCustomizationIntL()
+// -----------------------------------------------------------------------------
+//
+TInt CVcxHgMyVideosModel::GetMyVideosCustomizationInt( const TInt& aKey,
+ TInt& aValue )
+ {
+ if ( iMyVideosCenRep )
+ {
+ return iMyVideosCenRep->Get( aKey, aValue );
+ }
+ return KErrNotFound;
+ }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosModel::GetMyVideosCustomizationString()
+// -----------------------------------------------------------------------------
+//
+TInt CVcxHgMyVideosModel::GetMyVideosCustomizationString( const TInt& aKey,
+ TDes& aValue )
+ {
+ if ( iMyVideosCenRep )
+ {
+ return iMyVideosCenRep->Get( aKey, aValue );
+ }
+ return KErrNotFound;
+ }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosModel::InitMyVideosCenRepL()
+// -----------------------------------------------------------------------------
+//
+TInt CVcxHgMyVideosModel::InitMyVideosCenRepL()
+ {
+ TInt retVal = KErrNone;
+ if ( !iMyVideosCenRep )
+ {
+ TRAPD( error, iMyVideosCenRep = CRepository::NewL( KMyVideosMainViewCenRepUid ) );
+ retVal = error;
+ }
+ return retVal;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videocollection/hgmyvideos/src/vcxhgmyvideosthumbnailmanager.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -0,0 +1,189 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Class for sharing thumbnailmanager session
+*/
+
+
+// INCLUDE FILES
+#include <thumbnailmanager.h>
+#include <thumbnailmanagerobserver.h>
+#include "vcxhgmyvideosthumbnailmanager.h"
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosThumbnailManager::NewL()
+// -----------------------------------------------------------------------------
+//
+CVcxHgMyVideosThumbnailManager* CVcxHgMyVideosThumbnailManager::NewL()
+ {
+ CVcxHgMyVideosThumbnailManager* self =
+ CVcxHgMyVideosThumbnailManager::NewLC();
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosThumbnailManager::NewLC()
+// -----------------------------------------------------------------------------
+//
+CVcxHgMyVideosThumbnailManager* CVcxHgMyVideosThumbnailManager::NewLC()
+ {
+ CVcxHgMyVideosThumbnailManager* self =
+ new (ELeave) CVcxHgMyVideosThumbnailManager();
+ CleanupStack::PushL( self );
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosThumbnailManager::~CVcxHgMyVideosThumbnailManager()
+// -----------------------------------------------------------------------------
+//
+CVcxHgMyVideosThumbnailManager::~CVcxHgMyVideosThumbnailManager()
+ {
+ iTnObservers.Reset(); // The pointers are not own
+ delete iTnManager;
+ }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosThumbnailManager::PeekL()
+// -----------------------------------------------------------------------------
+//
+TThumbnailRequestId CVcxHgMyVideosThumbnailManager::PeekL(
+ CThumbnailObjectSource& aSource )
+ {
+ CThumbnailManager& tnm = SessionL();
+
+ // Set 'do not create' if needed
+ if ( !( iCurrentFlags & CThumbnailManager::EDoNotCreate ) )
+ {
+ CThumbnailManager::TThumbnailFlags flags =
+ static_cast< CThumbnailManager::TThumbnailFlags >(
+ iCurrentFlags | CThumbnailManager::EDoNotCreate );
+ tnm.SetFlagsL( flags );
+ iCurrentFlags = flags;
+ }
+
+ return tnm.GetThumbnailL( aSource );
+ }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosThumbnailManager::GetL()
+// -----------------------------------------------------------------------------
+//
+TThumbnailRequestId CVcxHgMyVideosThumbnailManager::GetL(
+ CThumbnailObjectSource& aSource )
+ {
+ CThumbnailManager& tnm = SessionL();
+
+ // Remove 'do not create' if needed
+ if ( iCurrentFlags & CThumbnailManager::EDoNotCreate )
+ {
+ CThumbnailManager::TThumbnailFlags flags =
+ static_cast< CThumbnailManager::TThumbnailFlags >(
+ iCurrentFlags & (~CThumbnailManager::EDoNotCreate) );
+ tnm.SetFlagsL( flags );
+ iCurrentFlags = flags;
+ }
+
+ return tnm.GetThumbnailL( aSource );
+ }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosThumbnailManager::Cancel()
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosThumbnailManager::Cancel( TThumbnailRequestId aRequestId )
+ {
+ if ( iTnManager )
+ {
+ iTnManager->CancelRequest( aRequestId );
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosThumbnailManager::AddObserverL()
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosThumbnailManager::AddObserverL(
+ MThumbnailManagerObserver& aObserver )
+ {
+ iTnObservers.InsertInAddressOrderL( &aObserver );
+ }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosThumbnailManager::RemoveObserver()
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosThumbnailManager::RemoveObserver(
+ MThumbnailManagerObserver& aObserver )
+ {
+ TInt i = iTnObservers.FindInAddressOrder( &aObserver );
+ if ( i >= 0 && i < iTnObservers.Count() )
+ {
+ iTnObservers.Remove( i ); // Pointer is not own
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosThumbnailManager::ThumbnailPreviewReady()
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosThumbnailManager::ThumbnailPreviewReady(
+ MThumbnailData& /*aThumbnail*/, TThumbnailRequestId /*aId*/ )
+ {
+ // No implementation required.
+ }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosThumbnailManager::ThumbnailReady()
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosThumbnailManager::ThumbnailReady( TInt aError,
+ MThumbnailData& aThumbnail, TThumbnailRequestId aId )
+ {
+ TInt count = iTnObservers.Count();
+ for( TInt i = 0; i < count; ++i )
+ {
+ iTnObservers[i]->ThumbnailReady( aError, aThumbnail, aId );
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosThumbnailManager::CVcxHgMyVideosThumbnailManager()
+// -----------------------------------------------------------------------------
+//
+CVcxHgMyVideosThumbnailManager::CVcxHgMyVideosThumbnailManager()
+ {
+ // No implementation required.
+ }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosThumbnailManager::SessionL()
+// -----------------------------------------------------------------------------
+//
+CThumbnailManager& CVcxHgMyVideosThumbnailManager::SessionL()
+ {
+ if ( !iTnManager )
+ {
+ CThumbnailManager* tnm = CThumbnailManager::NewLC( *this );
+ tnm->SetThumbnailSizeL( EVideoListThumbnailSize );
+ tnm->SetDisplayModeL( EColor16M );
+ iCurrentFlags = tnm->Flags();
+ CleanupStack::Pop( tnm );
+ iTnManager = tnm;
+ }
+ return *iTnManager;
+ }
--- a/videocollection/hgmyvideos/src/vcxhgmyvideosvideodataupdater.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/hgmyvideos/src/vcxhgmyvideosvideodataupdater.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -39,8 +39,11 @@
#include "vcxhgmyvideosvideolist.h"
#include "vcxhgmyvideosvideodataupdater.h"
#include "vcxhgmyvideosindicatorhelper.h"
+#include "vcxhgmyvideosthumbnailmanager.h"
const TInt KRefreshTimerInterval( 1000000 ); // 1 second
+const TInt KMaxThumbnailReqs( 2 ); // Max count of peek and get reqs combined
+const TInt KMaxThumbnailGetReqs( 1 ); // Max count of get reqs
// ============================ MEMBER FUNCTIONS ===============================
@@ -103,6 +106,7 @@
void CVcxHgMyVideosVideoDataUpdater::ConstructL()
{
iRefreshTimer = CPeriodic::NewL( CActive::EPriorityStandard );
+ iModel.ThumbnailManager().AddObserverL( *this );
}
// -----------------------------------------------------------------------------
@@ -123,15 +127,10 @@
//
CVcxHgMyVideosVideoDataUpdater::~CVcxHgMyVideosVideoDataUpdater()
{
- if ( iRefreshTimer )
- {
- // Calling cancel without checking if the timer is active is safe.
- iRefreshTimer->Cancel();
- delete iRefreshTimer;
- }
-
- CancelAndDeleteFetchArray();
- delete iTnEngine;
+ iModel.ThumbnailManager().RemoveObserver( *this );
+ Cancel();
+ delete iRefreshTimer; // Cancels active timer
+ iFetchArray.ResetAndDestroy();
}
// -----------------------------------------------------------------------------
@@ -159,6 +158,24 @@
}
// -----------------------------------------------------------------------------
+// CVcxHgMyVideosVideoDataUpdater::AddToRequestBufferL()
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosVideoDataUpdater::AddToRequestBufferL( TMPXItemId aMPXItemId )
+ {
+ AddItemToFetchArrayL( aMPXItemId );
+ }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosVideoDataUpdater::FlushRequestBufferL()
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosVideoDataUpdater::FlushRequestBufferL()
+ {
+ ContinueVideoDataFetchingL();
+ }
+
+// -----------------------------------------------------------------------------
// CVcxHgMyVideosVideoDataUpdater::ReleaseData()
// -----------------------------------------------------------------------------
//
@@ -204,20 +221,12 @@
{
if ( aIndex >= 0 && aIndex < iFetchArray.Count() )
{
- CVcxHgMyVideosVideoData::TVideoDataState state = iFetchArray[aIndex]->State();
-
- if ( state == CVcxHgMyVideosVideoData::EVideoDataStateThumbnailStarted )
+ CVcxHgMyVideosVideoData* item = iFetchArray[aIndex];
+ CVcxHgMyVideosVideoData::TVideoDataState state = item->State();
+ if ( state == CVcxHgMyVideosVideoData::EVideoDataStateThumbnailPeekStarted ||
+ state == CVcxHgMyVideosVideoData::EVideoDataStateThumbnailStarted )
{
- // Cancel thumbnail generation. Safe to ignore leave, as the ThumbnailManagerL
- // can only leave if iTnEngine is not created yet, so there cannot be
- // any outstanding requests either.
- TRAP_IGNORE( ThumbnailManagerL()->CancelRequest(
- iFetchArray[aIndex]->ThumbnailConversionId() ) );
- }
- else if ( state == CVcxHgMyVideosVideoData::EVideoDataStateDrmStarted )
- {
- // Cancel DRM checking.
- Cancel();
+ iModel.ThumbnailManager().Cancel( item->ThumbnailConversionId() );
}
}
}
@@ -228,9 +237,10 @@
//
void CVcxHgMyVideosVideoDataUpdater::CancelAndDeleteFetchArray()
{
- for ( TInt i = 0; i < iFetchArray.Count(); i++ )
+ TInt count = iFetchArray.Count();
+ for ( TInt i = 0; i < count; i++ )
{
- RemoveItem( i );
+ CancelActivities( i );
}
iFetchArray.ResetAndDestroy();
}
@@ -241,90 +251,66 @@
//
void CVcxHgMyVideosVideoDataUpdater::ContinueVideoDataFetchingL()
{
- if ( iFetchArray.Count() >= 1 && ! iPaused && iVideoArray.VideoCount() > 0 )
+ if ( !iPaused && iVideoArray.VideoCount() > 0 && iFetchArray.Count() > 0 )
{
- TBool go = EFalse;
-
- // If first item is in idle state, we need to start new operation.
- if ( iFetchArray[0]->State() == CVcxHgMyVideosVideoData::EVideoDataStateNone )
- {
- // It's safe to ignore leave here, because in that case we just use the first index
- // of fetch array.
- TRAP_IGNORE( SelectNextIndexL() );
- go = ETrue;
- }
- // If thumbnail generation has finished, start DRM checking.
- else if ( iFetchArray[0]->State() == CVcxHgMyVideosVideoData::EVideoDataStateThumbnailFinished )
- {
- go = ETrue;
- }
- // If first item has completed all operations, remove it and start with second one.
- else if ( iFetchArray[0]->State() == CVcxHgMyVideosVideoData::EVideoDataStateDrmFinished )
+ TBool startRefreshTimer = EFalse;
+ TInt peekReqs = 0;
+ TInt getReqs = 0;
+ GetActiveRequestCount( peekReqs, getReqs );
+ TInt reqs = peekReqs + getReqs;
+ if ( reqs < KMaxThumbnailReqs )
{
- UpdateVideoDataToUiL( *( iFetchArray[0] ) );
- RemoveItem( 0 );
-
- if ( iFetchArray.Count() >= 1 )
+ CVcxHgMyVideosVideoData::TVideoDataState state =
+ CVcxHgMyVideosVideoData::EVideoDataStateNone;
+ CVcxHgMyVideosVideoData* prevItem = NULL;
+ CVcxHgMyVideosVideoData* item = NULL;
+ do
{
- TRAP_IGNORE( SelectNextIndexL() );
- go = ETrue;
- }
- }
-
- if ( go )
- {
- if ( iFetchArray[0]->State() == CVcxHgMyVideosVideoData::EVideoDataStateNone )
- {
- CMPXMedia* media = iVideoArray.MPXMediaByMPXItemId( iFetchArray[0]->MPXItemId() );
-
- if ( media && media->IsSupported( KMPXMediaGeneralUri ) )
+ TInt err = KErrNone;
+ prevItem = item;
+ SelectNextIndexL( getReqs >= KMaxThumbnailGetReqs );
+ item = iFetchArray[0];
+ state = item->State();
+ if ( state == CVcxHgMyVideosVideoData::EVideoDataStateNone )
{
- HBufC* mimeType = NULL;
- if ( media->IsSupported( KMPXMediaGeneralMimeType ) )
+ // Try first a quick peek with thumbnail creation denied
+ TRAP( err, StartThumbnailL( *item, ETrue ) );
+ if( err == KErrNone )
{
- mimeType = media->ValueText( KMPXMediaGeneralMimeType ).AllocLC();
+ ++reqs;
+ startRefreshTimer = ETrue;
}
- else
+ }
+ else if ( state == CVcxHgMyVideosVideoData::EVideoDataStateThumbnailPeekFinished )
+ {
+ if ( getReqs < KMaxThumbnailGetReqs )
{
- mimeType = HBufC::NewLC( 1 );
+ // Try then get with thumbnail creation allowed
+ TRAP( err, StartThumbnailL( *item, EFalse ) );
+ if ( err == KErrNone )
+ {
+ ++reqs;
+ ++getReqs;
+ startRefreshTimer = ETrue;
+ }
}
-
- CThumbnailObjectSource* source = CThumbnailObjectSource::NewLC(
- media->ValueText( KMPXMediaGeneralUri ),
- *mimeType );
- iFetchArray[0]->SetThumbnailConversionId(
- ThumbnailManagerL()->GetThumbnailL( *source ) );
- CleanupStack::PopAndDestroy( source );
- CleanupStack::PopAndDestroy( mimeType );
-
- IPTVLOGSTRING3_LOW_LEVEL(
- "MPX My Videos UI # GetThumbnailL() called thumbID %d for %S.",
- iFetchArray[0]->ThumbnailConversionId(),
- &media->ValueText( KMPXMediaGeneralUri ) );
-
- iRefreshTimer->Cancel();
- iRefreshTimer->Start( KRefreshTimerInterval,
- KRefreshTimerInterval,
- TCallBack( RefreshTimerCallBack, this ) );
-
- iFetchArray[0]->SetState(
- CVcxHgMyVideosVideoData::EVideoDataStateThumbnailStarted );
+ }
+ else
+ {
+ break; // Nothing to be started
}
- }
- else if ( iFetchArray[0]->State() ==
- CVcxHgMyVideosVideoData::EVideoDataStateThumbnailFinished )
- {
- if ( ! IsActive() )
+ if ( err != KErrNone )
{
- SetActive();
- iStatus = KRequestPending;
- TRequestStatus* stat = &iStatus;
- User::RequestComplete(stat, KErrNone);
-
- iFetchArray[0]->SetState(
- CVcxHgMyVideosVideoData::EVideoDataStateDrmStarted );
- }
+ RemoveItem( 0 );
+ }
}
+ while ( iFetchArray.Count() > 0 && reqs < KMaxThumbnailReqs && prevItem != item );
+ }
+ if ( startRefreshTimer )
+ {
+ iRefreshTimer->Cancel();
+ iRefreshTimer->Start( KRefreshTimerInterval, KRefreshTimerInterval,
+ TCallBack( RefreshTimerCallBack, this ) );
}
}
}
@@ -333,18 +319,18 @@
// CVcxHgMyVideosVideoDataUpdater::UpdateVideoDataToUiL()
// -----------------------------------------------------------------------------
//
-void CVcxHgMyVideosVideoDataUpdater::UpdateVideoDataToUiL( CVcxHgMyVideosVideoData& videoData )
+void CVcxHgMyVideosVideoDataUpdater::UpdateVideoDataToUiL( CVcxHgMyVideosVideoData& aVideoData )
{
- TInt index = iVideoArray.IndexByMPXItemId( videoData.MPXItemId() );
+ TInt index = iVideoArray.IndexByMPXItemId( aVideoData.MPXItemId() );
if ( index >= 0 && index < iScroller.ItemCount() )
{
- TBool drmUpdate = videoData.DrmProtected();
+ TBool drmUpdate = aVideoData.DrmProtected();
CHgItem& listItem = iScroller.ItemL( index );
- if ( videoData.Thumbnail() )
+ if ( aVideoData.Thumbnail() )
{
- CGulIcon* thumbnail = CGulIcon::NewL( videoData.Thumbnail( ETrue ) );
+ CGulIcon* thumbnail = CGulIcon::NewL( aVideoData.Thumbnail( ETrue ) );
listItem.SetIcon( thumbnail );
}
@@ -359,7 +345,7 @@
TInt indicator1( 0 );
TInt indicator2( 0 );
- if ( videoData.ValidDrmRights() )
+ if ( aVideoData.ValidDrmRights() )
{
drmStatus = TVcxHgMyVideosIndicatorHelper::EIndicatorDrmStatusValid;
}
@@ -411,7 +397,8 @@
//
TInt CVcxHgMyVideosVideoDataUpdater::IndexByMPXItemId( TMPXItemId aMPXItemId )
{
- for ( TInt i = 0; i < iFetchArray.Count(); i++ )
+ TInt count = iFetchArray.Count();
+ for ( TInt i = 0; i < count; i++ )
{
if ( iFetchArray[i]->MPXItemId() == aMPXItemId )
{
@@ -425,7 +412,7 @@
// CVcxHgMyVideosVideoDataUpdater::SelectNextIndexL()
// -----------------------------------------------------------------------------
//
-void CVcxHgMyVideosVideoDataUpdater::SelectNextIndexL()
+void CVcxHgMyVideosVideoDataUpdater::SelectNextIndexL( TBool aSelectForPeekOnly )
{
TInt firstIndexOnScreen = iScroller.FirstIndexOnScreen();
@@ -454,13 +441,28 @@
{
mpxItemId = iVideoArray.ArrayIndexToMpxItemIdL( i );
index = IndexByMPXItemId( mpxItemId );
-
- if ( index > 0 )
+
+ if ( index >= 0 )
{
+ CVcxHgMyVideosVideoData* item = iFetchArray[index];
+ CVcxHgMyVideosVideoData::TVideoDataState state = item->State();
// Move selected index to first index of the fetch array.
- iFetchArray.Insert( iFetchArray[index], 0 );
- iFetchArray.Remove( index + 1 );
- break;
+ if ( aSelectForPeekOnly )
+ {
+ if ( state == CVcxHgMyVideosVideoData::EVideoDataStateNone )
+ {
+ iFetchArray.InsertL( item, 0 );
+ iFetchArray.Remove( index + 1 );
+ break;
+ }
+ }
+ else if ( state == CVcxHgMyVideosVideoData::EVideoDataStateNone ||
+ state == CVcxHgMyVideosVideoData::EVideoDataStateThumbnailPeekFinished )
+ {
+ iFetchArray.InsertL( item, 0 );
+ iFetchArray.Remove( index + 1 );
+ break;
+ }
}
}
}
@@ -539,25 +541,6 @@
}
// -----------------------------------------------------------------------------
-// CVcxHgMyVideosVideoDataUpdater::ThumbnailManagerL()
-// -----------------------------------------------------------------------------
-//
-CThumbnailManager* CVcxHgMyVideosVideoDataUpdater::ThumbnailManagerL()
- {
- if ( !iTnEngine )
- {
- IPTVLOGSTRING_LOW_LEVEL(
- "MPX My Videos UI # CVcxHgMyVideosVideoDataUpdater::ThumbnailManagerL: Creating thumbnail manager." );
-
- iTnEngine = CThumbnailManager::NewL( *this );
- iTnEngine->SetThumbnailSizeL( EVideoListThumbnailSize );
- iTnEngine->SetDisplayModeL( EColor16M );
- }
-
- return iTnEngine;
- }
-
-// -----------------------------------------------------------------------------
// CVcxHgMyVideosVideoDataUpdater::ThumbnailPreviewReady()
// From MThumbnailManagerObserver, not used in Video Center.
// -----------------------------------------------------------------------------
@@ -579,23 +562,51 @@
IPTVLOGSTRING3_LOW_LEVEL(
"MPX My Videos UI # ThumbnailReady(error=%d, thumbID=%d)", aError, aId );
- if ( iFetchArray.Count() > 0 )
+ TInt count = iFetchArray.Count();
+ for( TInt i = 0; i < count; ++i )
{
- if ( aError == KErrNone
- && aId == iFetchArray[0]->ThumbnailConversionId() )
+ CVcxHgMyVideosVideoData* item = iFetchArray[i];
+ if ( aId == item->ThumbnailConversionId() )
{
- // Never delete this, ownership gone to Ganes list
- iFetchArray[0]->SetThumbnail( aThumbnail.DetachBitmap() );
+ if ( aError == KErrNone ||
+ aError == KErrCompletion || // Accept blacklisted
+ item->State() == CVcxHgMyVideosVideoData::EVideoDataStateThumbnailStarted )
+ {
+ // Never delete this, ownership gone to Ganes list
+ item->SetThumbnail( aError == KErrNone ? aThumbnail.DetachBitmap() : NULL );
+ item->SetState( CVcxHgMyVideosVideoData::EVideoDataStateThumbnailFinished );
+ }
+ else if ( aError == KErrNotFound &&
+ item->State() == CVcxHgMyVideosVideoData::EVideoDataStateThumbnailPeekStarted )
+ {
+ // Try getting thumbnail with create allowed when peek failed with not found
+ item->SetState( CVcxHgMyVideosVideoData::EVideoDataStateThumbnailPeekFinished );
+ }
+ else
+ {
+ // Stop thumbnail peek attemps
+ item->SetState( CVcxHgMyVideosVideoData::EVideoDataStateThumbnailFinished );
+ }
+
+ // Start DRM check if thumb finished
+ if ( item->State() == CVcxHgMyVideosVideoData::EVideoDataStateThumbnailFinished &&
+ !IsActive() )
+ {
+ SetActive();
+ TRequestStatus* stat = &iStatus;
+ User::RequestComplete( stat, KErrNone );
+ }
+
+ TRAPD( err, ContinueVideoDataFetchingL() );
+ if ( err != KErrNone )
+ {
+ IPTVLOGSTRING2_LOW_LEVEL(
+ "MPX My Videos UI # CVcxHgMyVideosVideoDataUpdater::ThumbnailReady, err = %d",
+ err );
+ }
+ break;
}
- else
- {
- iFetchArray[0]->SetThumbnail( NULL );
- }
-
- iFetchArray[0]->SetState( CVcxHgMyVideosVideoData::EVideoDataStateThumbnailFinished );
}
-
- TRAP_IGNORE( ContinueVideoDataFetchingL() );
}
// -----------------------------------------------------------------------------
@@ -605,57 +616,29 @@
//
void CVcxHgMyVideosVideoDataUpdater::RunL()
{
- if ( iFetchArray.Count() > 0 )
+ if ( !iPaused )
{
- CMPXMedia* media = iVideoArray.MPXMediaByMPXItemId( iFetchArray[0]->MPXItemId() );
-
- if ( media )
+ TInt i = 0;
+ while( i < iFetchArray.Count() )
{
- if ( media->IsSupported( KMPXMediaGeneralUri ) )
+ CVcxHgMyVideosVideoData* item = iFetchArray[i];
+ if ( item->State() == CVcxHgMyVideosVideoData::EVideoDataStateThumbnailFinished )
{
- TUint32 flags = 0;
- if ( media->IsSupported( KMPXMediaGeneralFlags ) )
- {
- flags = media->ValueTObjectL<TUint32>( KMPXMediaGeneralFlags );
- }
-
- if ( flags & EVcxMyVideosVideoDrmProtected )
+ TRAP_IGNORE(
{
- ContentAccess::CData* cData = NULL;
-
- iFetchArray[0]->SetDrmProtected( ETrue );
- iFetchArray[0]->SetValidDrmRights( EFalse );
-
- TRAPD( trapError,
- cData = CData::NewL(
- (TVirtualPathPtr) media->ValueText( KMPXMediaGeneralUri ),
- EPeek,
- EContentShareReadWrite ) );
-
- if ( cData )
- {
- if ( trapError == KErrNone )
- {
- TInt intentResult = cData->EvaluateIntent( ContentAccess::EPlay );
-
- // Not valid rights should return KErrCANoRights, KErrCANoPermission,
- // or in rare cases KErrCAPendingRights. But we don't trust those and
- // just compare against KErrNone.
- if ( intentResult == KErrNone )
- {
- iFetchArray[0]->SetValidDrmRights( ETrue );
- }
- }
- delete cData;
- }
- }
+ CheckDrmL( *item );
+ UpdateVideoDataToUiL( *item );
+ } );
+ delete iFetchArray[i];
+ iFetchArray.Remove(i);
+ }
+ else
+ {
+ ++i;
}
}
-
- iFetchArray[0]->SetState( CVcxHgMyVideosVideoData::EVideoDataStateDrmFinished );
+ ContinueVideoDataFetchingL();
}
-
- ContinueVideoDataFetchingL();
}
// -----------------------------------------------------------------------------
@@ -669,8 +652,6 @@
if ( aError != KErrNone )
{
- // Remove current item from fetch array
- RemoveItem( 0 );
}
return KErrNone;
}
@@ -683,3 +664,115 @@
void CVcxHgMyVideosVideoDataUpdater::DoCancel()
{
}
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosVideoDataUpdater::CheckDrmL()
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosVideoDataUpdater::CheckDrmL( CVcxHgMyVideosVideoData& aVideoData )
+ {
+ CMPXMedia* media = iVideoArray.MPXMediaByMPXItemId( aVideoData.MPXItemId() );
+ if ( media && media->IsSupported( KMPXMediaGeneralUri ) )
+ {
+ TUint32 flags = 0;
+ if ( media->IsSupported( KMPXMediaGeneralFlags ) )
+ {
+ flags = media->ValueTObjectL<TUint32>( KMPXMediaGeneralFlags );
+ }
+ if ( flags & EVcxMyVideosVideoDrmProtected )
+ {
+ aVideoData.SetDrmProtected( ETrue );
+ aVideoData.SetValidDrmRights( EFalse );
+
+ ContentAccess::CData* cData = CData::NewLC(
+ (TVirtualPathPtr) media->ValueText( KMPXMediaGeneralUri ),
+ EPeek,
+ EContentShareReadWrite );
+ TInt intentResult = cData->EvaluateIntent( ContentAccess::EPlay );
+
+ // Not valid rights should return KErrCANoRights, KErrCANoPermission,
+ // or in rare cases KErrCAPendingRights. But we don't trust those and
+ // just compare against KErrNone.
+ if ( intentResult == KErrNone )
+ {
+ aVideoData.SetValidDrmRights( ETrue );
+ }
+ CleanupStack::PopAndDestroy( cData );
+ }
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosVideoDataUpdater::GetActiveRequestCount()
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosVideoDataUpdater::GetActiveRequestCount(
+ TInt& aPeekRequests, TInt& aGetRequests )
+ {
+ aPeekRequests = 0;
+ aGetRequests = 0;
+ TInt count = iFetchArray.Count();
+ for( TInt i = 0; i < count; ++i )
+ {
+ CVcxHgMyVideosVideoData::TVideoDataState state = iFetchArray[i]->State();
+ if ( state == CVcxHgMyVideosVideoData::EVideoDataStateThumbnailPeekStarted )
+ {
+ ++aPeekRequests;
+ }
+ else if ( state == CVcxHgMyVideosVideoData::EVideoDataStateThumbnailStarted )
+ {
+ ++aGetRequests;
+ }
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosVideoDataUpdater::StartThumbnailL()
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosVideoDataUpdater::StartThumbnailL(
+ CVcxHgMyVideosVideoData& aItem, TBool aPeek )
+ {
+ CMPXMedia* media = iVideoArray.MPXMediaByMPXItemId( aItem.MPXItemId() );
+ if ( media && media->IsSupported( KMPXMediaGeneralUri ) )
+ {
+ TPtrC uri = media->ValueText( KMPXMediaGeneralUri );
+ TPtrC mime = media->IsSupported( KMPXMediaGeneralMimeType ) ?
+ media->ValueText( KMPXMediaGeneralMimeType ) : KNullDesC;
+ TThumbnailRequestId id = 0;
+ if ( aPeek )
+ {
+ CThumbnailObjectSource* source = CThumbnailObjectSource::NewLC(
+ uri, mime );
+ id = iModel.ThumbnailManager().PeekL( *source );
+ CleanupStack::PopAndDestroy( source );
+ }
+ else
+ {
+ // Use shared file handle to minimize thumbnailserver overhead
+ RFs& fs = iModel.FileServerSessionL();
+ RFile64 file;
+ User::LeaveIfError( file.Open( fs, uri, EFileShareReadersOrWriters ));
+ CleanupClosePushL( file );
+ CThumbnailObjectSource* source = CThumbnailObjectSource::NewLC(
+ file, mime );
+ id = iModel.ThumbnailManager().GetL( *source );
+ CleanupStack::PopAndDestroy( source );
+ CleanupStack::PopAndDestroy( &file );
+ }
+ aItem.SetThumbnailConversionId( id );
+
+ IPTVLOGSTRING3_LOW_LEVEL(
+ "MPX My Videos UI # GetThumbnailL() called thumbID %d for %S.",
+ aItem.ThumbnailConversionId(),
+ &media->ValueText( KMPXMediaGeneralUri ) );
+
+ aItem.SetState( aPeek ?
+ CVcxHgMyVideosVideoData::EVideoDataStateThumbnailPeekStarted :
+ CVcxHgMyVideosVideoData::EVideoDataStateThumbnailStarted );
+ }
+ else
+ {
+ User::Leave( KErrNotFound );
+ }
+ }
--- a/videocollection/hgmyvideos/src/vcxhgmyvideosvideodetailsdialog.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/hgmyvideos/src/vcxhgmyvideosvideodetailsdialog.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -31,8 +31,6 @@
#include <filedetailspluginif.h>
-const TInt KThousandNotKilobyte = 1000;
-
// ============================ MEMBER FUNCTIONS =============================
// ---------------------------------------------------------------------------
--- a/videocollection/hgmyvideos/src/vcxhgmyvideosvideolistimpl.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/hgmyvideos/src/vcxhgmyvideosvideolistimpl.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -56,7 +56,6 @@
#include "vcxhgmyvideosvideocopier.h"
#include "vcxhgmyvideospanics.h"
#include "vcxhgmyvideosupnpinterface.h"
-#include "vcxhgtelephonyclient.h"
#ifdef RD_VIDEO_AS_RINGING_TONE
#include "vcxhgmyvideosaiwmenuhandler.h"
#endif
@@ -104,9 +103,7 @@
CVcxHgMyVideosModel& aModel,
CVcxHgMyVideosMainView& aView,
CHgScroller& aScroller )
- : CVcxHgMyVideosListBase( aModel, aView, aScroller ),
- iCurrentlyPlayedVideo( KErrNotFound ),
- iMultipleMarkingActive( EFalse )
+ : CVcxHgMyVideosListBase( aModel, aView, aScroller )
#ifdef RD_VIDEO_AS_RINGING_TONE
, iAiwMenuHandler( NULL )
#endif
@@ -182,8 +179,6 @@
CVcxHgMyVideosVideoListImpl::~CVcxHgMyVideosVideoListImpl()
{
CloseDeleteWaitNote();
- delete iTelephonyClient;
- delete iCenRep;
delete iUPnP;
delete iVideoCopier;
delete iVideoModel;
@@ -469,33 +464,11 @@
// Need to handle multiply selected videos
for ( TInt i = operationTargets.Count() - 1; i >= 0; i-- )
{
- CheckParentalControlL( iVideoModel->VideoAgeProfileL( operationTargets[i] ) );
+ if( !iUPnP->IsStarted() )
+ {
+ iVideoModel->PlayVideoL( operationTargets[i] );
- if( !iUPnP->IsStarted() )
- {
- TVideoPlayerCustomMessage* videoInfo = new (ELeave) TVideoPlayerCustomMessage;
- CleanupStack::PushL( videoInfo );
- TInt mpxId1( 0 );
-
- if ( iVideoModel->GetVideoPlayerCustomMessage( operationTargets[i], *videoInfo, mpxId1 )
- == KErrNone )
- {
- iCurrentlyPlayedVideo = operationTargets[i];
-
- iVideoModel->PlayVideoL( operationTargets[i] );
-
- iModel.SetAppState( CVcxHgMyVideosModel::EVcxMyVideosAppStatePlayer );
- iModel.SetVideoAsLastWatchedL( *videoInfo, mpxId1,
- iVideoModel->VideoAgeProfileL( iCurrentlyPlayedVideo ) );
-
- //Sometimes MDS has database locked and this fails, we still want to start the playback -> trap ignore
- TRAP_IGNORE( iVideoModel->ClearNewVideoIndicatorL( iCurrentlyPlayedVideo ) );
- }
- else
- {
- // Error notes?
- }
- CleanupStack::PopAndDestroy( videoInfo );
+ iModel.SetAppState( CVcxHgMyVideosModel::EVcxMyVideosAppStatePlayer );
}
else // UPnP started
{
@@ -594,8 +567,9 @@
TInt highlight = Highlight();
// Set menu visibility information.
- showStartMarking = !iMultipleMarkingActive;
- showEndMarking = iMultipleMarkingActive;
+ TBool markingMode( IsMarking() );
+ showStartMarking = !markingMode;
+ showEndMarking = markingMode;
aShowMarkAll = ( ( count > 0 ) && ( markedVideos.Count() < count ) );
aShowUnmarkAll = ( ( count > 0 ) && ( markedVideos.Count() > 0 ) );
aShowMarkSubmenu = ( showStartMarking || showEndMarking || aShowMarkAll || aShowUnmarkAll );
@@ -620,6 +594,7 @@
}
case EVcxHgMyVideosCmdStopMarking:
{
+ iVideoModel->HandleMarkCommandL( EVcxHgMyVideosCmdUnmarkAll );
EndMarkingMode();
break;
}
@@ -877,6 +852,9 @@
// Dont show "Sort by" if list is empty.
aMenuPane->SetItemDimmed( EVcxHgMyVideosCmdSortSubMenu, ETrue );
}
+
+ // Hide "Settings" menu item
+ aMenuPane->SetItemDimmed( EVcxHgMyVideosCmdOpenSettings, ETrue );
}
#ifdef RD_VIDEO_AS_RINGING_TONE
else if ( aResourceId == R_VCXHGMYVIDEOS_USE_AS_SUBMENU )
@@ -981,53 +959,18 @@
}
}
-// -----------------------------------------------------------------------------
-// CVcxHgMyVideosVideoListImpl::CheckParentalControlL()
-// -----------------------------------------------------------------------------
-//
-void CVcxHgMyVideosVideoListImpl::CheckParentalControlL( TUint32 aAgeProfile )
- {
- TInt parentControlSetting( KVcxMyvideosCenRepParentControlKeyDefault );
- TInt error( KErrNone );
- if ( !iCenRep )
- {
- TRAP( error, iCenRep = CRepository::NewL( TUid::Uid( KVcxMyVideosCenRepUid ) ) )
- }
- if ( error == KErrNone )
- {
- error = iCenRep->Get( KVcxMyvideosCenRepParentControlKey, parentControlSetting );
- if ( error == KErrNone && parentControlSetting != KVcxMyvideosCenRepParentControlKeyOff )
- {
- // Parental control has been set
- if ( static_cast<TInt>( aAgeProfile ) >= parentControlSetting )
- {
- // Must ask lock code to allow playing
- if ( !iTelephonyClient )
- {
- iTelephonyClient = new( ELeave ) CVcxHgTelephonyClient();
- }
- if ( !iTelephonyClient->CheckLockCodeL() )
- {
- User::Leave( KErrPermissionDenied );
- }
- }
- }
- }
- }
-
// ---------------------------------------------------------------------------
// CVcxHgMyVideosVideoListImpl::StartMarkingMode()
// ---------------------------------------------------------------------------
//
void CVcxHgMyVideosVideoListImpl::StartMarkingMode()
{
- IPTVLOGSTRING2_LOW_LEVEL( "MPX My Videos UI # CVcxHgMyVideosVideoListImpl::StartMarkingMode() iMultipleMarkingActive = %d", iMultipleMarkingActive );
+ IPTVLOGSTRING2_LOW_LEVEL( "MPX My Videos UI # CVcxHgMyVideosVideoListImpl::StartMarkingMode() IsMarking = %d", IsMarking() );
// Start multiple marking mode
if ( iModel.TouchSupport() )
{
iScroller->SetFlags( CHgScroller::EHgScrollerSelectionMode );
- iMultipleMarkingActive = ETrue;
}
}
@@ -1037,11 +980,10 @@
//
void CVcxHgMyVideosVideoListImpl::EndMarkingMode()
{
- IPTVLOGSTRING2_LOW_LEVEL( "MPX My Videos UI # CVcxHgMyVideosVideoListImpl::EndMarkingMode() iMultipleMarkingActive = %d", iMultipleMarkingActive );
+ IPTVLOGSTRING2_LOW_LEVEL( "MPX My Videos UI # CVcxHgMyVideosVideoListImpl::EndMarkingMode() IsMarking = %d", IsMarking() );
// End multiple marking mode
iScroller->ClearFlags( CHgScroller::EHgScrollerSelectionMode );
- iMultipleMarkingActive = EFalse;
}
// ---------------------------------------------------------------------------
--- a/videocollection/hgmyvideos/src/vcxhgmyvideosvideomodelhandler.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/hgmyvideos/src/vcxhgmyvideosvideomodelhandler.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -49,9 +49,6 @@
#include "vcxhgmyvideosvideolist.h"
#include "vcxhgmyvideospanics.h"
-
-#include <videoplayercustommessage.h>
-
// CONSTANTS
const TUint KVcxSecondsInMinute( 60 );
const TUint KVcxSecondsInHour( 3600 );
@@ -254,8 +251,7 @@
TInt highlight = iScroller.SelectedIndex();
- iScroller.Reset();
- iScroller.ResizeL( iVideoArray->VideoCount() );
+ ResetScrollerBufferAndItemsL();
iScroller.SetSelectedIndex( highlight );
@@ -379,64 +375,6 @@
}
// -----------------------------------------------------------------------------
-// CVcxHgMyVideosVideoModelHandler::GetVideoPlayerCustomMessage()
-// -----------------------------------------------------------------------------
-//
-TInt CVcxHgMyVideosVideoModelHandler::GetVideoPlayerCustomMessage(
- TInt aIndex, TVideoPlayerCustomMessage& aVideoInfo, TInt& aMpxId1 )
- {
- CMPXMedia* media = iVideoArray->MPXMedia( aIndex );
-
- if ( ( ! media ) || ( ! media->IsSupported( KMPXMediaGeneralId ) ) )
- {
- return KErrNotFound;
- }
-
- TMPXItemId mpxItemId = media->ValueTObjectL<TMPXItemId>( KMPXMediaGeneralId );
-
- if ( GetVideoPlayerCustomMessage( mpxItemId, aVideoInfo ) != KErrNone )
- {
- return KErrNotFound;
- }
-
- aMpxId1 = ( media->ValueTObjectL<TMPXItemId>( KMPXMediaGeneralId ) ).iId1;
-
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVcxHgMyVideosVideoModelHandler::GetVideoPlayerCustomMessage()
-// -----------------------------------------------------------------------------
-//
-TInt CVcxHgMyVideosVideoModelHandler::GetVideoPlayerCustomMessage(
- TMPXItemId& aMpxItemId, TVideoPlayerCustomMessage& aVideoInfo )
- {
- CMPXMedia* media = iVideoArray->MPXMediaByMPXItemId( aMpxItemId );
-
- if ( ! media )
- {
- return KErrNotFound;
- }
-
- if ( media->IsSupported( KMPXMediaGeneralUri ) )
- {
- aVideoInfo.iContent = media->ValueText( KMPXMediaGeneralUri );
- }
-
- if ( media->IsSupported( KMPXMediaGeneralTitle ) )
- {
- aVideoInfo.iName = media->ValueText( KMPXMediaGeneralTitle );
- }
-
- if ( media->IsSupported( KMPXMediaGeneralThumbnail1 ) )
- {
- aVideoInfo.iIcon = media->ValueText( KMPXMediaGeneralThumbnail1 );
- }
-
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
// CVcxHgMyVideosVideoModelHandler::VideoAgeProfileL()
// -----------------------------------------------------------------------------
//
@@ -495,70 +433,6 @@
}
// -----------------------------------------------------------------------------
-// CVcxHgMyVideosVideoModelHandler::ClearNewVideoIndicatorL()
-// Informative call about video being played. Method removes possible new indicator
-// from video.
-// -----------------------------------------------------------------------------
-//
-void CVcxHgMyVideosVideoModelHandler::ClearNewVideoIndicatorL( TInt aIndex )
- {
- CMPXMedia* media = iVideoArray->MPXMedia( aIndex );
-
- if ( media )
- {
- if ( media->IsSupported( KMPXMediaGeneralFlags ) &&
- media->IsSupported( KMPXMediaGeneralId ) )
- {
- TUint32 flags = media->ValueTObjectL<TUint32>( KMPXMediaGeneralFlags );
- if ( flags & EVcxMyVideosVideoNew )
- {
- flags &= ~EVcxMyVideosVideoNew;
- CVcxHgMyVideosCollectionClient& collectionClient = iModel.CollectionClient();
- collectionClient.SetAttributeL( *media, KMPXMediaGeneralFlags, flags );
-
- if ( media->IsSupported( KVcxMediaMyVideosOrigin ) &&
- ( media->ValueTObjectL<TUint8>( KVcxMediaMyVideosOrigin ) == EVcxMyVideosOriginDownloaded ) )
- {
- iModel.ResetDownloadNotification();
- }
- }
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVcxHgMyVideosVideoModelHandler::ClearNewVideoIndicatorL()
-// Informative call about video being played. Method removes possible new indicator
-// from video.
-// -----------------------------------------------------------------------------
-//
-void CVcxHgMyVideosVideoModelHandler::ClearNewVideoIndicatorL( TMPXItemId& aMpxItemId )
- {
- CMPXMedia* media = iVideoArray->MPXMediaByMPXItemId( aMpxItemId );
-
- if ( media )
- {
- if ( media->IsSupported( KMPXMediaGeneralFlags ) &&
- media->IsSupported( KMPXMediaGeneralId ) )
- {
- TUint32 flags = media->ValueTObjectL<TUint32>( KMPXMediaGeneralFlags );
- if ( flags & EVcxMyVideosVideoNew )
- {
- flags &= ~EVcxMyVideosVideoNew;
- CVcxHgMyVideosCollectionClient& collectionClient = iModel.CollectionClient();
- collectionClient.SetAttributeL( *media, KMPXMediaGeneralFlags, flags );
-
- if ( media->IsSupported( KVcxMediaMyVideosOrigin ) &&
- ( media->ValueTObjectL<TUint8>( KVcxMediaMyVideosOrigin ) == EVcxMyVideosOriginDownloaded ) )
- {
- iModel.ResetDownloadNotification();
- }
- }
- }
- }
- }
-
-// -----------------------------------------------------------------------------
// CVcxHgMyVideosVideoModelHandler::ShowVideoDetailsDialogL()
// -----------------------------------------------------------------------------
//
@@ -583,89 +457,6 @@
}
// -----------------------------------------------------------------------------
-// CVcxHgMyVideosVideoModelHandler::LastPlaybackPosition()
-// -----------------------------------------------------------------------------
-//
-TInt CVcxHgMyVideosVideoModelHandler::LastPlaybackPosition( const TDesC& aContentUri )
- {
- TInt position = 0;
-
- if ( CIptvUtil::LastPlaybackPositionFeatureSupported() )
- {
- CMPXMedia* media = iVideoArray->MPXMediaByUri( aContentUri );
-
- if ( media )
- {
- if ( media->IsSupported( KMPXMediaGeneralLastPlaybackPosition ) )
- {
- position = *media->Value<TInt>( KMPXMediaGeneralLastPlaybackPosition );
- }
- }
- IPTVLOGSTRING3_LOW_LEVEL( "MPX My Videos UI # Found position %d for clip %S",
- position, &aContentUri );
- }
- else
- {
- IPTVLOGSTRING_LOW_LEVEL( "MPX My Videos UI # LastPlaybackPosition() - Feature is not supported, position = 0" );
- }
-
- return position;
- }
-
-// -----------------------------------------------------------------------------
-// CVcxHgMyVideosVideoModelHandler::SetLastPlaybackPositionL()
-// -----------------------------------------------------------------------------
-//
-void CVcxHgMyVideosVideoModelHandler::SetLastPlaybackPositionL( const TDesC& aContentUri,
- TInt aPosition )
- {
- if ( CIptvUtil::LastPlaybackPositionFeatureSupported() )
- {
- CMPXMedia* media = iVideoArray->MPXMediaByUri( aContentUri );
-
- // If media is not in our own list, it was launched from external source. In this
- // case the MPX Media object could be fetched on background to allow position storing.
- if ( ! media )
- {
- media = iModel.CollectionClient().GetLatestFetchedMpxMediaL();
-
- if ( media )
- {
- TBool match( EFalse );
- if ( media->IsSupported( KMPXMediaGeneralUri ) )
- {
- if ( aContentUri.CompareF( media->ValueText( KMPXMediaGeneralUri ) ) == 0 )
- {
- match = ETrue;
- }
- }
- if ( ! match )
- {
- media = NULL;
- }
- }
- }
-
- if ( media )
- {
- IPTVLOGSTRING3_LOW_LEVEL( "MPX My Videos UI # Storing position %d for clip %S",
- aPosition, &aContentUri );
-
- // Change data type of last playback position?
-
- iModel.CollectionClient().SetAttributeL( *media,
- KMPXMediaGeneralLastPlaybackPosition,
- TUint32( aPosition ) );
- }
- iModel.UpdateLastWatchedPlayPositionL( aPosition );
- }
- else
- {
- IPTVLOGSTRING_LOW_LEVEL( "MPX My Videos UI # SetLastPlaybackPositionL() - Feature is not supported" );
- }
- }
-
-// -----------------------------------------------------------------------------
// CVcxHgMyVideosVideoModelHandler::GetVideoName()
// -----------------------------------------------------------------------------
//
@@ -882,11 +673,17 @@
IPTVLOGSTRING3_LOW_LEVEL(
"MPX My Videos UI # CVcxHgMyVideosVideoModelHandler::HandleRequestL - aRequestStart: %d, aRequestEnd: %d", requestStart, requestEnd );
-
+
+ TBool flushNeeded = EFalse;
for ( TInt i = requestStart; i <= requestEnd; i++ )
{
UpdateVideoListItemL( i );
- iDataUpdater->RequestDataL( iVideoArray->ArrayIndexToMpxItemIdL( i ) );
+ iDataUpdater->AddToRequestBufferL( iVideoArray->ArrayIndexToMpxItemIdL( i ) );
+ flushNeeded = ETrue;
+ }
+ if ( flushNeeded )
+ {
+ iDataUpdater->FlushRequestBufferL();
}
iScroller.DrawDeferred();
@@ -1373,7 +1170,7 @@
}
else
{
- iScroller.ResizeL( videoCount );
+ ResizeScrollerL( iVideoArray->VideoCount() );
}
TInt highlight( KErrNotFound );
@@ -1611,3 +1408,50 @@
iScroller.SetScrollBarTypeL( CHgScroller::EHgScrollerScrollBar );
}
}
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosVideoModelHandler::ResetScrollerItemsL()
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosVideoModelHandler::ResetScrollerItemsL()
+ {
+ // Reset items for refetch
+ TInt count = iScroller.ItemCount();
+ for ( TInt i = 0; i < count; ++i )
+ {
+ iScroller.ItemL( i ).SetIcon( NULL );
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosVideoModelHandler::ResetScrollerBufferAndItemsL()
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosVideoModelHandler::ResetScrollerBufferAndItemsL()
+ {
+ // Reset scroll buffer and items for refetch
+ iScroller.DisableScrollBuffer();
+ iScroller.EnableScrollBufferL( *this, KHgBufferSize, KHgBufferTreshold );
+ ResetScrollerItemsL();
+ }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosVideoModelHandler::ResizeScrollerL()
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosVideoModelHandler::ResizeScrollerL( TInt aNewItemCount )
+ {
+ if (iScroller.ItemCount() > 0)
+ {
+ // Reset scroller without time consuming scaling of icons never shown
+ iScroller.DisableScrollBuffer();
+ iScroller.ResizeL( aNewItemCount );
+ iScroller.EnableScrollBufferL( *this, KHgBufferSize, KHgBufferTreshold );
+ ResetScrollerItemsL();
+ }
+ else
+ {
+ // CHgScroller::Reset() was already called, no need to reset tricks
+ iScroller.ResizeL( aNewItemCount );
+ }
+ }
--- a/videocollection/hgmyvideos/tsrc/ut_vcxhgmyvideosmainview/conf/ui_VcxHgMyVideosMainViewTest.cfg Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/hgmyvideos/tsrc/ut_vcxhgmyvideosmainview/conf/ui_VcxHgMyVideosMainViewTest.cfg Fri Mar 12 15:43:00 2010 +0200
@@ -10,11 +10,12 @@
* Nokia Corporation - initial contribution.
*
* Contributors:
+*
+* Description: This file contains test configuration
*
-* Description: Test case file.
-*
*/
+
//
// test blocks:
//
--- a/videocollection/hgmyvideosplugin/group/vcxhgmyvideosplugin.mmp Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/hgmyvideosplugin/group/vcxhgmyvideosplugin.mmp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*/
-// Version : %version: 8 %
+// Version : %version: 9 %
#include <data_caging_paths.hrh>
#include <bldvariant.hrh>
@@ -41,8 +41,6 @@
USERINCLUDE ../inc
USERINCLUDE ../../hgmyvideos/inc
USERINCLUDE ../../../inc
-USERINCLUDE ../../../videofeeds/utils/inc
-USERINCLUDE ../../../videofeeds/viewmessageutility/inc
APP_LAYER_SYSTEMINCLUDE
Binary file videocollection/mpxmyvideoscollection/conf/videoscollection.confml has changed
Binary file videocollection/mpxmyvideoscollection/conf/videoscollection_2001B2A9.crml has changed
--- a/videocollection/mpxmyvideoscollection/inc/vcxmyvideosmdsdb.h Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/mpxmyvideoscollection/inc/vcxmyvideosmdsdb.h Fri Mar 12 15:43:00 2010 +0200
@@ -26,6 +26,8 @@
#include <harvesterclient.h>
#include <mpxcollectionmessagedefs.h>
+class CRepository;
+
/**
* MPX My Videos collection MDS database observer class.
* Part of ECOM Plugin.
@@ -495,6 +497,11 @@
* The observer for db changes. Not own.
*/
MVcxMyVideosMdsDbObserver* iMdsDbObserver;
+
+ /**
+ * Cenrep session.
+ */
+ CRepository* iRepository;
};
#endif // VCXMYVIDEOSMDSDB_H
--- a/videocollection/mpxmyvideoscollection/src/vcxmyvideoscategories.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/mpxmyvideoscollection/src/vcxmyvideoscategories.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -200,11 +200,8 @@
media = videoListArray->AtL( i );
- if ( media->IsSupported( KVcxMediaMyVideosOrigin ) )
- {
- origin = media->ValueTObjectL<TUint8>( KVcxMediaMyVideosOrigin );
- }
-
+ origin = TVcxMyVideosCollectionUtil::OriginL( *media );
+
TBool newVideo = EFalse;
TUint32 flags = 0;
@@ -554,15 +551,11 @@
case -1:
return KVcxMyVideosAllVideosCategoryIndex;
- case EVcxMyVideosOriginDownloaded:
- return KVcxMyVideosDownloadsCategoryIndex;
-
case EVcxMyVideosOriginCapturedWithCamera:
return KVcxMyVideosCapturedCategoryIndex;
+ case EVcxMyVideosOriginDownloaded:
case EVcxMyVideosOriginTvRecording:
- return KVcxMyVideosTvRecordingsCategoryIndex;
-
case EVcxMyVideosOriginSideLoaded:
case EVcxMyVideosOriginOther:
default:
--- a/videocollection/mpxmyvideoscollection/src/vcxmyvideoscollectionutil.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/mpxmyvideoscollection/src/vcxmyvideoscollectionutil.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -236,7 +236,9 @@
if ( aVideo.IsSupported( KVcxMediaMyVideosOrigin ) )
{
origin = aVideo.ValueTObjectL<TUint8>( KVcxMediaMyVideosOrigin );
- if ( origin == EVcxMyVideosOriginSideLoaded )
+ if ( origin == EVcxMyVideosOriginSideLoaded ||
+ origin == EVcxMyVideosOriginDownloaded ||
+ origin == EVcxMyVideosOriginTvRecording )
{
origin = EVcxMyVideosOriginOther;
}
--- a/videocollection/mpxmyvideoscollection/src/vcxmyvideosmdsdb.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/mpxmyvideoscollection/src/vcxmyvideosmdsdb.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -29,6 +29,7 @@
#include <mpxmediageneralextdefs.h>
#include <mpxmediaarray.h>
#include <mpxmediavideodefs.h>
+#include <centralrepository.h>
#include "vcxmyvideosmdsdb.h"
#include "vcxmyvideoscollectionutil.h"
@@ -192,6 +193,7 @@
delete iVideoQuery;
delete iMDSSession;
delete iActiveSchedulerWait;
+ delete iRepository;
}
// ---------------------------------------------------------------------------
@@ -882,8 +884,15 @@
//16. ORIGIN, KVcxMediaMyVideosOrigin
if ( aObject.Property( *iOriginPropertyDef, property, 0 ) != KErrNotFound )
{
- aVideo.SetTObjectValueL<TUint8>( KVcxMediaMyVideosOrigin,
- static_cast<CMdEUint8Property*>(property)->Value() );
+ TUint8 origin = static_cast<CMdEUint8Property*>(property)->Value();
+ if ( origin == EVcxMyVideosOriginDownloaded ||
+ origin == EVcxMyVideosOriginSideLoaded ||
+ origin == EVcxMyVideosOriginTvRecording )
+ {
+ origin = EVcxMyVideosOriginOther;
+ }
+
+ aVideo.SetTObjectValueL<TUint8>( KVcxMediaMyVideosOrigin, origin );
}
//17. DURATION, (KMPXMediaGeneralDuration can't be used since it is TInt
@@ -1261,6 +1270,17 @@
static_cast<CMdEUint32Property*>(property)->SetValueL( flags );
}
+ // Play pos has really changed -> put the video as last watched
+ if ( aObject.Property( *iLastPlayPositionPropertyDef, property, 0 ) == KErrNotFound ||
+ static_cast<CMdEReal32Property*>(property)->Value() != lastPlaybackPos )
+ {
+ if ( !iRepository )
+ {
+ iRepository = CRepository::NewL( TUid::Uid( KVcxMyVideosCollectionCenrepUid ) );
+ }
+ iRepository->Set( KVcxMyVideosCollectionCenrepKeyLastWatchedMpxId,
+ TInt ( aVideo.ValueTObjectL<TMPXItemId>( KMPXMediaGeneralId ).iId1 ) );
+ }
if ( aObject.Property( *iLastPlayPositionPropertyDef, property, 0 ) != KErrNotFound )
{
static_cast<CMdEReal32Property*>(property)->SetValueL( lastPlaybackPos );
--- a/videocollection/mpxmyvideoscollection/src/vcxmyvideosopenhandler.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/mpxmyvideoscollection/src/vcxmyvideosopenhandler.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -112,6 +112,11 @@
{
MPX_DEBUG2("iCache->CreateVideoListL() left: %d. Returning categories anyway.", err);
}
+
+ iCollection.CategoriesL().iList->
+ SetTObjectValueL<TBool>( KVcxMediaMyVideosVideoListIsPartial,
+ iCache.iVideoListIsPartial );
+
iCollection.iObs->HandleOpen( iCollection.CategoriesL().iList, KErrNone );
}
break;
--- a/videocollection/mpxmyvideoscollection/src/vcxmyvideosvideocache.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videocollection/mpxmyvideoscollection/src/vcxmyvideosvideocache.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -135,18 +135,8 @@
{
media = (*allVideosArray)[i];
- TUint8 mediaOrigin = EVcxMyVideosOriginOther;
-
- if ( media->IsSupported( KVcxMediaMyVideosOrigin ) )
- {
- mediaOrigin = *(media->Value<TUint8>( KVcxMediaMyVideosOrigin ));
-
- if ( mediaOrigin == EVcxMyVideosOriginSideLoaded )
- {
- mediaOrigin = EVcxMyVideosOriginOther;
- }
- }
-
+ TUint8 mediaOrigin = TVcxMyVideosCollectionUtil::OriginL( *media );
+
if ( mediaOrigin == aOrigin )
{
filteredVideosArray->AppendL( *media );
@@ -807,14 +797,16 @@
TBool modified = EFalse;
iCollection.CategoriesL().UpdateCategoryNewVideoNameAndDateL(
*videoInCache, modified );
-
+
+ TUint8 origin = TVcxMyVideosCollectionUtil::OriginL( *videoInCache );
+
iCollection.CategoriesL().NewVideoFlagChangedL(
oldFlags, newFlags,
- videoInCache->ValueTObjectL<TUint8>( KVcxMediaMyVideosOrigin ),
+ origin,
modified );
if ( !(newFlags & EVcxMyVideosVideoNew) &&
- TVcxMyVideosCollectionUtil::OriginL( *videoInCache ) == EVcxMyVideosOriginDownloaded )
+ origin == EVcxMyVideosOriginDownloaded )
{
MPX_DEBUG1("CVcxMyVideosVideoCache::UpdateVideoL - Count of new videos in Downloaded origin has decreased, sending mediator event to notification launcher");
iCollection.NotifyNewVideosCountDecreasedL( *videoInCache );
--- a/videofeeds/group/bld.inf Fri Feb 19 22:52:52 2010 +0200
+++ b/videofeeds/group/bld.inf Fri Mar 12 15:43:00 2010 +0200
@@ -20,83 +20,10 @@
/**
- * Iptv Util
- */
-#include "../utils/group/bld.inf"
-
-/**
- * View message utility
- */
-#include "../viewmessageutility/group/bld.inf"
-
-/**
- * Vcx Notifier
- */
-#include "../vcxnotifier/group/bld.inf"
-
-/**
* vccommon
*/
#include "../vccommon/group/bld.inf"
-// ========================================
-
-/**
- * Server Client
- */
-#include "../clientapi/group/bld.inf"
-
-/**
- * Provisioning processor
- */
-#include "../provisioningprocessor/group/bld.inf"
-
-/**
- * RSS plugin
- */
-#include "../mrssplugin/group/bld.inf"
-
-/**
- * Server
- */
-#include "../server/group/bld.inf"
-
-/**
- * LiveTV Utils
- */
-#include "../livetvutils/group/bld.inf"
-
-/**
- * Provisioning recognizer and App UI
- */
-#include "../provisioningrecognizer/group/bld.inf"
-#include "../provisioningappui/group/bld.inf"
-#include "../omaprovisioning/group/bld.inf"
-
-// ========================================
-
-/**
- * VodUi Engine
- */
-#include "../vcnsuiengine/group/bld.inf"
-
-/**
- * Ganes UX2.0 VodUi
- */
-#include "../hgvodui/group/bld.inf"
-#include "../hgvodplugin/group/bld.inf"
-
-/**
- * Scheduled download settings view
- */
-#include "../vcnsscheduleview/group/bld.inf"
-#include "../vcnsscheduleplugin/group/bld.inf"
-
-/**
- * Scheduled download plugin
- */
-#include "../scheduleddlplugin/group/bld.inf"
-
PRJ_PLATFORMS
DEFAULT
--- a/videofeeds/vccommon/loc/ipvideo.loc Fri Feb 19 22:52:52 2010 +0200
+++ b/videofeeds/vccommon/loc/ipvideo.loc Fri Mar 12 15:43:00 2010 +0200
@@ -627,13 +627,6 @@
//
#define qtn_iptv_download_failed_note "Download failed: %U"
-//d:Text in note that's displayed when view is refreshed because of MMC insertion.
-//d: Ui Spec sec 16.9 Activating and deactivating mass storage mode (p99)
-//l:popup_note_window/opt2
-//r:5.0
-//
-#define qtn_iptv_refreshing "Refreshing the view"
-
//d:Info pop-up note shown to user when video service added.
//d: Ui Spec sec 7.1.2 Video feeds view content and service installation promotion (p27)
//l:popup_note_window/opt2
@@ -648,11 +641,10 @@
#define qtn_vcx_downloads_title "Downloads"
-//d:page 69 qtn_iptv_captured_title video captured by the user
-//d: Ui Spec sec 13.1 My Videos sub-levels(p76)
+//d:Video list title pane text for videos captured by the user.
//l:title_pane_t2/opt9
-//r:5.0
-
+//r:5.2
+//
#define qtn_vcx_captured_title "Captured videos"
/*
@@ -1835,12 +1827,11 @@
//
#define qtn_iptv_tv_recordings_title "TV recordings"
-//d:Title pane text on Video Storage UI for Other view.
-//d: Ui Spec sec 13 My videos (p76)
+//d:Video list title pane text for other videos.
//l:title_pane_t2/opt9
-//r:5.0
+//r:5.2
//
-#define qtn_iptv_other_title "Other"
+#define qtn_iptv_other_title "Other videos"
//d:Command in option "Mark/Unmark" submenu.
//d:When selected, starts marking mode (user can mark items from
@@ -2057,6 +2048,68 @@
//r:5.0
#define qtn_vcx_hg_options_use_video_as "Use video as"
+//d:Main view item text for last watched
+//l:list_double_large_graphic_pane_t1
+//r:5.2
+//
+#define qtn_vcx_hg_list_last_watched "Last watched"
+
+//d:Main view item text for videos other than captured
+//l:list_double_large_graphic_pane_t1
+//r:5.2
+//
+#define qtn_vcx_hg_list_storage_other "Other videos"
+
+//d:Main view item text for captured videos
+//l:list_double_large_graphic_pane_t1
+//r:5.2
+//
+#define qtn_vcx_hg_list_storage_captured "Captured"
+
+//d:Main view item text for Ovi Store link
+//l:list_double_large_graphic_pane_t1
+//r:5.2
+//
+#define qtn_vcx_hg_list_ovi_store "Ovi Store"
+
+//d:Second line for main view item, amount of videos in category.
+//d:%N is the amount of videos.
+//l:list_double_large_graphic_pane_t2
+//r:5.2
+//
+#define qtn_vcx_hg_list_videos_in_category "%N videos"
+
+//d:Same as qtn_vcx_hg_list_videos_in_category but used when only one video in category.
+//l:list_double_large_graphic_pane_t2
+//r:5.2
+//
+#define qtn_vcx_hg_list_one_video_in_category "1 video"
+
+//d:Second line for main view item, there is one new video.
+//l:list_double_large_graphic_pane_t2
+//r:5.2
+//
+#define qtn_vcx_hg_list_one_new_video "1 new video"
+
+//d:Second line for main view item, there are more than 1 new videos.
+//d:%N is the count of new videos.
+//l:list_double_large_graphic_pane_t2
+//r:5.2
+//
+#define qtn_vcx_hg_list_n_new_videos "%N new videos"
+
+//d:Second line for main view item, there are no videos.
+//l:list_double_large_graphic_pane_t2
+//r:5.2
+//
+#define qtn_vcx_hg_list_no_videos_in_category "No videos"
+
+//d:Second line for main view item, Ovi Store link.
+//l:list_double_large_graphic_pane_t2
+//r:5.2
+//
+#define qtn_vcx_hg_list_ovi_store_videos "Videos"
+
/*
* ==============================================================================
--- a/videoplayback/inc/mpxvideobaseplaybackview.h Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/inc/mpxvideobaseplaybackview.h Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 16 %
+// Version : %version: 17 %
// This file defines the API for VideoBasePlaybackView.dll
@@ -341,11 +341,11 @@
TBool IsMultiItemPlaylist();
TInt OpenDrmFileHandleL( RFile& aFile );
void LaunchDRMDetailsL();
-
+
#ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
- TInt OpenDrmFileHandle64L( RFile64& aFile );
+ TInt OpenDrmFileHandle64L( RFile64& aFile );
#endif // SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
-
+
protected: // data
MMPXPlaybackUtility* iPlaybackUtility;
MMPXViewUtility* iViewUtility;
@@ -365,6 +365,7 @@
TBool iMediaRequested;
TBool iPlaylistView;
TBool iCollectionMediaRequested;
+ TBool iPdlReloading;
HBufC* iClipName;
};
--- a/videoplayback/inc/mpxvideoplaybackdisplayhandler.h Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/inc/mpxvideoplaybackdisplayhandler.h Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 6 %
+// Version : %version: 7 %
#ifndef __CMPXVIDEOPLAYBACKDISPLAYHANDLER_H__
@@ -94,6 +94,8 @@
void SurfaceRemoved();
TInt SetNgaAspectRatioL( TMPXVideoPlaybackCommand aCmd );
+ void SignalSurfaceRemovedL();
+
#endif
private:
--- a/videoplayback/inc/mpxvideoplaybackuserinputhandler.h Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/inc/mpxvideoplaybackuserinputhandler.h Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 5 %
+// Version : %version: 6 %
@@ -37,6 +37,7 @@
class CRemConInterfaceSelector; // Side volume key
class CRemConCoreApiTarget;
class CMPXVideoPlaybackContainer;
+class CHWRMLight;
// CLASS DECLARATION
@@ -159,7 +160,7 @@
CPeriodic* iDisplayTimer; // Timer to timeout the lights time-out
TInt iDisplayTimeOut; // Value of the lights time-out
-
+ CHWRMLight* iLight;
CMPXVideoPlaybackContainer* iContainer; // not owned
--- a/videoplayback/inc/mpxvideoplaybackviewfiledetails.h Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/inc/mpxvideoplaybackviewfiledetails.h Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: e003sa33#10 %
+// Version : %version: e003sa33#11 %
@@ -45,6 +45,13 @@
//
void ClearFileDetails();
+ /**
+ * Generate file name, remove all file path
+ *
+ * @return generated file name, ownership is transferred
+ */
+ IMPORT_C HBufC* GenerateFileNameL();
+
private:
//
// By default Symbian 2nd phase constructor is private.
--- a/videoplayback/videohelix/inc/mpxvideoplaybackcontroller.h Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/videohelix/inc/mpxvideoplaybackcontroller.h Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 18 %
+// Version : %version: 19 %
#ifndef _CMPXVIDEOPLAYBACKCONTROLLER_H_
@@ -117,7 +117,7 @@
void SetPlaybackModeL();
- TBool IsDisplayOff();
+ TBool IsKeyLocked();
TBool IsAlarm();
TBool IsPhoneCall();
TBool IsActivePhoneCall();
--- a/videoplayback/videohelix/inc/mpxvideoplayerutility.h Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/videohelix/inc/mpxvideoplayerutility.h Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 9 %
+// Version : %version: 10 %
#ifndef __MPXVIDEOPLAYERUTILITY__
@@ -123,6 +123,8 @@
const TSurfaceId& aSurfaceId,
const TRect& aCropRect,
TVideoAspectRatio aAspectRatio );
+
+ void SurfaceRemovedFromView();
#endif
--- a/videoplayback/videohelix/src/mpxvideoaccessoryobserver.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/videohelix/src/mpxvideoaccessoryobserver.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 6 %
+// Version : %version: 7 %
//
// INCLUDE FILES
@@ -133,6 +133,7 @@
MPX_DEBUG(_L("CMPXVideoAccessoryObserver::UpdateTvOutStatusL()"));
TBool statusChanged = EFalse;
+ TBool tvOutHDMI = EFalse;
//
// Initialize TV-Out value to EFalse before checking if
@@ -153,10 +154,12 @@
for ( TInt index = 0 ; index < count ; index++ )
{
+ TAccPolGenericID genId = iGenericIdArray.GetGenericIDL( index );
+
//
// Get all supported capabilities for this connected accessory.
//
- iConnection.GetSubblockNameArrayL( iGenericIdArray.GetGenericIDL( index ), *nameArray );
+ iConnection.GetSubblockNameArrayL( genId, *nameArray );
//
// Check if this connected accessory supports TV-Out
@@ -166,7 +169,22 @@
MPX_DEBUG(_L(" TV-Out Capabilities Exist"));
tvOutConnected = ETrue;
- break;
+
+ TAccPolNameRecord nameRecord;
+ nameRecord.SetNameL( KAccVideoOut );
+ TAccValueTypeTInt value;
+ iConnection.GetValueL( genId, nameRecord, value );
+
+ if ( value.iValue == EAccVideoOutEHDMI )
+ {
+ tvOutHDMI = ETrue;
+ //
+ // HDMI has precedence over Comp TV-Out, If the accessory is
+ // HDMI then stop the search for Video Out accessory, else continue
+ // looping through all the accessories.
+ //
+ break;
+ }
}
}
@@ -180,7 +198,7 @@
{
iTvOutConnected = tvOutConnected;
- if ( iTvOutConnected )
+ if ( iTvOutConnected && !tvOutHDMI)
{
//
// Check the playablility of the clip
@@ -195,7 +213,7 @@
statusChanged = ETrue;
}
- MPX_DEBUG(_L(" iTvOutConnected = %d"), iTvOutConnected);
+ MPX_DEBUG(_L("CMPXVideoAccessoryObserver::UpdateTvOutStatusL iTvOutConnected = %d, tvOutHDMI = %d"), iTvOutConnected, tvOutHDMI);
MPX_DEBUG(_L("CMPXVideoAccessoryObserver::UpdateTvOutStatusL() ret = %d"), statusChanged);
--- a/videoplayback/videohelix/src/mpxvideohelixplayback.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/videohelix/src/mpxvideohelixplayback.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 11 %
+// Version : %version: 12 %
//
@@ -193,7 +193,7 @@
TInt aAccessPoint )
{
MPX_ENTER_EXIT(_L("CMPXVideoHelixPlayback::InitStreamingL()"),
- _L("aUri %S, aType %d"), &aUri, aAccessPoint );
+ _L("aUri %S, aAccessPoint %d"), &aUri, aAccessPoint );
RFile fileHandle;
@@ -220,7 +220,8 @@
//
void CMPXVideoHelixPlayback::InitStreamingL( RFile& aFile, TInt aAccessPoint )
{
- MPX_ENTER_EXIT(_L("CMPXVideoHelixPlayback::InitStreamingL( RFile )"));
+ MPX_ENTER_EXIT(_L("CMPXVideoHelixPlayback::InitStreamingL( RFile )"),
+ _L("aAccessPoint = %d"), aAccessPoint );
TFileName filename;
aFile.FullName( filename );
@@ -386,7 +387,8 @@
//
void CMPXVideoHelixPlayback::InitStreaming64L( RFile64& aFile, TInt aAccessPoint )
{
- MPX_ENTER_EXIT(_L("CMPXVideoHelixPlayback::InitStreaming64L( RFile64 )"));
+ MPX_ENTER_EXIT(_L("CMPXVideoHelixPlayback::InitStreaming64L( RFile64 )"),
+ _L("aAccessPoint = %d"), aAccessPoint );
TFileName filename;
aFile.FullName( filename );
--- a/videoplayback/videohelix/src/mpxvideoplaybackcontroller.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/videohelix/src/mpxvideoplaybackcontroller.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 43 %
+// Version : %version: 47 %
//
@@ -38,10 +38,9 @@
#include <ctsydomainpskeys.h>
#include <mmf/common/mmferrors.h>
-#include <hal.h>
-#include <hal_data.h>
#include <e32std.h>
#include <devsoundif.h>
+#include <avkondomainpskeys.h>
#include "mpxvideoregion.h"
#include "mpxvideoplaybackcontroller.h"
@@ -145,7 +144,7 @@
MPX_ENTER_EXIT(_L("CMPXVideoPlaybackController::ConstructL()"));
iMPXPluginObs = &aObs;
- iAccessPointId = -1;
+ iAccessPointId = KUseDefaultIap;
iVideoSeeker = CMPXVideoSeeker::NewL( this );
// Initiliaze to True
@@ -525,6 +524,11 @@
break;
}
+ case EPbCmdSurfaceRemoved:
+ {
+ iPlayer->SurfaceRemovedFromView();
+ break;
+ }
default:
{
break;
@@ -1725,17 +1729,17 @@
}
// -----------------------------------------------------------------------------
-// CMPXVideoPlaybackController::IsDisplayOff
+// CMPXVideoPlaybackController::IsKeyLocked
// -----------------------------------------------------------------------------
//
-TBool CMPXVideoPlaybackController::IsDisplayOff()
+TBool CMPXVideoPlaybackController::IsKeyLocked()
{
- TBool displayState;
- HAL::Get( HALData::EDisplayState, displayState );
+ TBool keylock( EFalse );
+ RProperty::Get( KPSUidAvkonDomain, KAknKeyguardStatus, keylock );
- MPX_DEBUG(_L("CMPXVideoPlaybackController::IsDisplayOff(%d)"), !displayState);
+ MPX_DEBUG(_L("CMPXVideoPlaybackController::IsKeyLocked(%d)"), keylock);
- return !displayState;
+ return keylock;
}
// ------------------------------------------------------------------------------------------------
@@ -1907,6 +1911,16 @@
iPlayer->Reset();
+ //
+ // Delete the video accessory observer when the plugin
+ // goes back to Not Initialised state.
+ //
+ if ( iAccessoryMonitor )
+ {
+ delete iAccessoryMonitor;
+ iAccessoryMonitor = NULL;
+ }
+
if ( iFileDetails )
{
delete iFileDetails;
--- a/videoplayback/videohelix/src/mpxvideoplaybackmode.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/videohelix/src/mpxvideoplaybackmode.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 17 %
+// Version : %version: 19 %
@@ -180,7 +180,7 @@
if ( iVideoPlaybackCtlr->iAppInForeground )
{
if ( iVideoPlaybackCtlr->IsAlarm() ||
- ( iVideoPlaybackCtlr->IsDisplayOff() && iVideoPlaybackCtlr->iFileDetails->iVideoEnabled ) )
+ ( iVideoPlaybackCtlr->IsKeyLocked() && iVideoPlaybackCtlr->iFileDetails->iVideoEnabled ) )
{
iVideoPlaybackCtlr->iForegroundPause = ETrue;
iVideoPlaybackCtlr->iState->HandlePause();
@@ -213,7 +213,7 @@
MPX_TRAPD( err,
iVideoPlaybackCtlr->iState->SendErrorToViewL( KMPXVideoCallOngoingError ) );
}
- else if ( iVideoPlaybackCtlr->IsDisplayOff() &&
+ else if ( iVideoPlaybackCtlr->IsKeyLocked() &&
iVideoPlaybackCtlr->iFileDetails->iVideoEnabled )
{
iVideoPlaybackCtlr->iForegroundPause = ETrue;
@@ -262,7 +262,7 @@
if ( networkMode == RMobilePhone::ENetworkModeGsm)
{
- networkMode2g = ETrue;
+ networkMode2g = ETrue;
}
mobilePhone.Close();
@@ -346,13 +346,14 @@
{
MPX_ENTER_EXIT(_L("CMPXStreamingPlaybackMode::HandleOpenComplete()"));
- // since SDP files are opened as KMmfUidFileSource type, we need to set
- // the access point for SDP files before Prepare is called on Helix
//
- // for RAM files and URLs - access point is already been set
- // at the point of adding data source
-
- if ( iVideoPlaybackCtlr->iMediaType == CMediaRecognizer::ELocalSdpFile )
+ // There is no need to send the access point if it is set to use default.
+ // SDP files are opened as KMmfUidFileSource type, we need to set the access point for
+ // SDP files before Prepare is called on Helix for RAM files and URLs - access point is
+ // already been set at the point of adding data source
+ //
+ if ( iVideoPlaybackCtlr->iAccessPointId != KUseDefaultIap &&
+ iVideoPlaybackCtlr->iMediaType == CMediaRecognizer::ELocalSdpFile )
{
const TMMFMessageDestinationPckg destinationPckg(KUidInterfaceMMFHelixController);
const TPckgBuf<TBool> savePckg( EFalse );
@@ -393,7 +394,7 @@
MPX_TRAPD(err,
iVideoPlaybackCtlr->iState->SendErrorToViewL( KMPXVideoCallOngoingError ));
}
- else if ( iVideoPlaybackCtlr->IsDisplayOff() && iVideoPlaybackCtlr->iFileDetails->iVideoEnabled )
+ else if ( iVideoPlaybackCtlr->IsKeyLocked() && iVideoPlaybackCtlr->iFileDetails->iVideoEnabled )
{
//exit for live streaming
}
@@ -505,7 +506,7 @@
{
if ( iVideoPlaybackCtlr->IsPhoneCall() ||
iVideoPlaybackCtlr->IsVideoCall() ||
- ( iVideoPlaybackCtlr->IsDisplayOff() && iVideoPlaybackCtlr->iFileDetails->iVideoEnabled ))
+ ( iVideoPlaybackCtlr->IsKeyLocked() && iVideoPlaybackCtlr->iFileDetails->iVideoEnabled ))
{
iVideoPlaybackCtlr->iState->HandlePause();
}
--- a/videoplayback/videohelix/src/mpxvideoplayerutility.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/videohelix/src/mpxvideoplayerutility.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 15 %
+// Version : %version: 16 %
#include <AudioPreference.h>
@@ -79,6 +79,12 @@
iControllerEventMonitor = NULL;
}
+ if ( ! iSurfaceId.IsNull() )
+ {
+ MPX_TRAPD( err, SendSurfaceCommandL( EPbMsgVideoRemoveDisplayWindow ) );
+ iSurfaceId = TSurfaceId::CreateNullId();
+ }
+
iController.Close();
iDirectScreenAccessAbort = EFalse;
}
@@ -274,6 +280,21 @@
}
}
+
+// -------------------------------------------------------------------------------------------------
+// CMpxVideoPlayerUtility::SurfaceRemovedFromView()
+// -------------------------------------------------------------------------------------------------
+//
+void CMpxVideoPlayerUtility::SurfaceRemovedFromView()
+{
+ MPX_ENTER_EXIT(_L("CMpxVideoPlayerUtility::SurfaceRemovedFromView()"));
+
+ if ( ! iSurfaceId.IsNull() )
+ {
+ iSurfaceId = TSurfaceId::CreateNullId();
+ }
+}
+
TBool CMpxVideoPlayerUtility::AudioEnabledL() const
{
TBool enabled;
--- a/videoplayback/videohelix/tsrc/ut_videohelixtest/conf/videohelixtest.cfg Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/videohelix/tsrc/ut_videohelixtest/conf/videohelixtest.cfg Fri Mar 12 15:43:00 2010 +0200
@@ -653,7 +653,6 @@
waittestclass test
pause 100
test GetMedia
-test DisconnectTvOut
waittestclass test
delete test
pause 1000
@@ -821,5 +820,18 @@
pause 1000
[Endtest]
+[Test]
+title 54. HDMI Tv-Out - Unprotected Content
+create videohelixtest test
+test Initialize 60000 10 vhpp_test.3gp KErrNone KErrNone KErrNone
+waittestclass test
+pause 100
+test ConnectHDMITvOut
+waittestclass test
+test DisconnectHDMITvOut
+waittestclass test
+delete test
+pause 1000
+[Endtest]
--- a/videoplayback/videohelix/tsrc/ut_videohelixtest/inc/mpxvideoaccessoryobserver_stub.h Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/videohelix/tsrc/ut_videohelixtest/inc/mpxvideoaccessoryobserver_stub.h Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 3 %
+// Version : %version: 4 %
@@ -74,6 +74,7 @@
void UpdateTvOutStatusL( TBool aTvOutConnected );
void SetTvOutConnected( TBool aConnected );
void SetTvOutPlaybackAllowed( TBool aAllowed );
+ void SetTvOutHDMI( TBool aTvOutHDMI );
private:
@@ -94,6 +95,7 @@
CMPXVideoPlaybackController* iController;
TBool iTvOutConnected;
TBool iTvOutPlaybackAllowed;
+ TBool iTvOutHDMI;
};
#endif // MPXVIDEOACCESSORYOBSERVER_H
--- a/videoplayback/videohelix/tsrc/ut_videohelixtest/inc/mpxvideoplayerutility_stub.h Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/videohelix/tsrc/ut_videohelixtest/inc/mpxvideoplayerutility_stub.h Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 10 %
+// Version : %version: 11 %
#ifndef __MPXVIDEOPLAYERUTILITY__
@@ -111,6 +111,8 @@
void SetVolumeSteps( TInt aVolumeSteps );
+ void SurfaceRemovedFromView();
+
#ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
void OpenFile64L( const RFile64& aFile );
#endif // SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
--- a/videoplayback/videohelix/tsrc/ut_videohelixtest/inc/videohelixtest.h Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/videohelix/tsrc/ut_videohelixtest/inc/videohelixtest.h Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 10 %
+// Version : %version: 11 %
#ifndef __VHPPTESTCASE_H__
@@ -165,11 +165,14 @@
virtual TInt EndPhoneCall();
virtual TInt SetTvOutConnectedL( CStifItemParser& aItem );
virtual TInt SetTvOutDisconnectedL();
- virtual TInt CVHPPTestClass::ConnectTvOutL( CStifItemParser& aItem );
- virtual TInt CVHPPTestClass::DisconnectTvOutL();
+ virtual TInt ConnectTvOutL( CStifItemParser& aItem );
+ virtual TInt DisconnectTvOutL();
virtual TInt SetDrmProtectedL( CStifItemParser& aItem );
virtual TInt IssueSeekedToEndCommandL( CStifItemParser& aItem );
virtual TInt HandleVolumeL( CStifItemParser& aItem );
+ virtual TInt ConnectHDMITvOutL();
+ virtual TInt DisconnectHDMITvOutL();
+ virtual TInt SetHDMITvOutConnectedL();
// ---------------------------------------------------------------------
// Helper Functions
--- a/videoplayback/videohelix/tsrc/ut_videohelixtest/src/mpxvideoaccessoryobserver_stub.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/videohelix/tsrc/ut_videohelixtest/src/mpxvideoaccessoryobserver_stub.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 3 %
+// Version : %version: 4 %
//
// INCLUDE FILES
@@ -65,6 +65,7 @@
: iController( aController )
, iTvOutConnected( EFalse )
, iTvOutPlaybackAllowed( ETrue )
+ , iTvOutHDMI( EFalse )
{
}
@@ -104,6 +105,12 @@
if ( iTvOutConnected != aTvOutConnected )
{
iTvOutConnected = aTvOutConnected;
+
+ if ( iTvOutConnected && iTvOutHDMI)
+ {
+ // if HDMI playback is always allowed
+ iTvOutPlaybackAllowed = ETrue;
+ }
iController->HandleTvOutEventL( iTvOutConnected );
}
@@ -134,4 +141,12 @@
return playAllowed;
}
+void CMPXVideoAccessoryObserver::SetTvOutHDMI( TBool aTvOutHDMI )
+{
+ MPX_ENTER_EXIT(_L("CMPXVideoAccessoryObserver::SetTvOutHDMI()"),
+ _L("aTvOutHDMI = %d"), aTvOutHDMI);
+
+ iTvOutHDMI = aTvOutHDMI;
+}
+
// End of File
--- a/videoplayback/videohelix/tsrc/ut_videohelixtest/src/mpxvideoplayerutility_stub.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/videohelix/tsrc/ut_videohelixtest/src/mpxvideoplayerutility_stub.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 12 %
+// Version : %version: 13 %
#include <audiopreference.h>
#include <mmf/server/mmffile.h>
@@ -743,6 +743,10 @@
return KErrNone;
}
+void CMpxVideoPlayerUtility::SurfaceRemovedFromView()
+{
+}
+
#endif
#ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
--- a/videoplayback/videohelix/tsrc/ut_videohelixtest/src/videohelixtestbody.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/videohelix/tsrc/ut_videohelixtest/src/videohelixtestbody.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 16 %
+// Version : %version: 17 %
// [INCLUDE FILES] - do not remove
@@ -115,7 +115,10 @@
ENTRY( "SetDrmProtected", CVHPPTestClass::SetDrmProtectedL ),
ENTRY( "IssueSeekedToEndCommand", CVHPPTestClass::IssueSeekedToEndCommandL),
- ENTRY( "HandleVolume", CVHPPTestClass::HandleVolumeL )
+ ENTRY( "HandleVolume", CVHPPTestClass::HandleVolumeL ),
+ ENTRY( "ConnectHDMITvOut", CVHPPTestClass::ConnectHDMITvOutL ),
+ ENTRY( "DisconnectHDMITvOut", CVHPPTestClass::DisconnectHDMITvOutL ),
+ ENTRY( "SetHDMITvOutConnected", CVHPPTestClass::SetHDMITvOutConnectedL )
//
@@ -2165,4 +2168,65 @@
return err;
}
+TInt
+CVHPPTestClass::ConnectHDMITvOutL( )
+{
+ MPX_ENTER_EXIT(_L("CVHPPTestClass::ConnectHDMITvOutL()"));
+ iLog->Log(_L("CVHPPTestClass::ConnectHDMITvOutL()"));
+
+ // Connect HDMI TV Out
+ iAccObserver->SetTvOutHDMI( ETrue );
+
+ //
+ // Add event for callback
+ //
+ TCallbackEvent* event = new TCallbackEvent;
+
+ event->iEvent = EPbCmdTvOutEvent;
+ event->iData = ETrue;
+ event->iError = ETrue;
+
+ AddExpectedEvent( event );
+
+ iAccObserver->UpdateTvOutStatusL( ETrue );
+
+ return KErrNone;
+}
+
+TInt
+CVHPPTestClass::DisconnectHDMITvOutL()
+{
+ MPX_ENTER_EXIT(_L("CVHPPTestClass::DisconnectHDMITvOutL()"));
+ iLog->Log(_L("CVHPPTestClass::DisconnectHDMITvOutL()"));
+
+ // Connect HDMI TV Out
+ iAccObserver->SetTvOutHDMI( EFalse );
+
+ //
+ // Add event for callback
+ //
+ TCallbackEvent* event = new TCallbackEvent;
+
+ event->iEvent = EPbCmdTvOutEvent;
+ event->iData = EFalse;
+ event->iError = ETrue;
+
+ AddExpectedEvent( event );
+
+ iAccObserver->UpdateTvOutStatusL( EFalse );
+
+ return KErrNone;
+}
+
+TInt
+CVHPPTestClass::SetHDMITvOutConnectedL()
+{
+ MPX_ENTER_EXIT(_L("CVHPPTestClass::SetHDMITvOutConnectedL()"));
+ iLog->Log(_L("CVHPPTestClass::SetHDMITvOutConnectedL()"));
+
+ iAccObserver->SetTvOutHDMI( ETrue );
+
+ return KErrNone;
+}
+
// EOF
--- a/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackmediadetailsviewer.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackmediadetailsviewer.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: e003sa33#12 %
+// Version : %version: e003sa33#14 %
// INCLUDE FILES
@@ -299,8 +299,10 @@
// License
if ( iController->FileDetails()->iDrmProtected )
{
- iLicenseLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) ,
- TSize(labelWidth,labelHeight) );
+ iLicenseLabel->SetExtent(
+ TPoint(Rect().iTl.iX, Rect().iTl.iY + ( labelHeight * rowsAdded) ) ,
+ TSize( labelWidth, labelHeight )
+ );
HBufC* heading = iEikonEnv->AllocReadResourceL( R_MPX_LICENSE_HEADING );
CleanupStack::PushL( heading );
@@ -319,22 +321,29 @@
}
// Filename
- if ( iController->FileDetails()->iClipName )
+ HBufC* fileName = iController->FileDetails()->GenerateFileNameL();
+ if ( fileName && fileName->Length() )
{
// file name gets populated by HandleScrollFilenameTimer method
- iClipnameLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) ,
- TSize(labelWidth,labelHeight) );
+ iClipnameLabel->SetExtent(
+ TPoint( Rect().iTl.iX, Rect().iTl.iY + ( labelHeight * rowsAdded ) ) ,
+ TSize( labelWidth, labelHeight )
+ );
iClipnameLabel->SetAllMarginsTo(KMediaDetailsViewerItemMargin);
iClipnameLabel->MakeVisible( ETrue );
rowsAdded++;
+ delete fileName;
}
// Mime Type (Format)
- if ( iController->FileDetails()->iMimeType )
+ if ( iController->FileDetails()->iMimeType
+ && iController->FileDetails()->iMimeType->Length() )
{
- iFormatLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) ,
- TSize(labelWidth,labelHeight) );
+ iFormatLabel->SetExtent(
+ TPoint( Rect().iTl.iX, Rect().iTl.iY + ( labelHeight * rowsAdded ) ) ,
+ TSize( labelWidth, labelHeight )
+ );
HBufC* heading = iEikonEnv->AllocReadResourceL( R_MPX_FORMAT_HEADING );
CleanupStack::PushL( heading );
@@ -356,8 +365,10 @@
if ( iController->FileDetails()->iVideoHeight &&
iController->FileDetails()->iVideoWidth )
{
- iResolutionLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) ,
- TSize(labelWidth,labelHeight) );
+ iResolutionLabel->SetExtent(
+ TPoint( Rect().iTl.iX, Rect().iTl.iY + ( labelHeight * rowsAdded ) ) ,
+ TSize( labelWidth, labelHeight )
+ );
HBufC* heading = iEikonEnv->AllocReadResourceL( R_MPX_RESOLUTION_HEADING );
CleanupStack::PushL( heading );
@@ -381,8 +392,10 @@
// Duration
if ( iController->FileDetails()->iDuration > 0 )
{
- iDurationLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) ,
- TSize(labelWidth,labelHeight) );
+ iDurationLabel->SetExtent(
+ TPoint( Rect().iTl.iX, Rect().iTl.iY + ( labelHeight * rowsAdded) ) ,
+ TSize( labelWidth, labelHeight )
+ );
HBufC* heading = iEikonEnv->AllocReadResourceL( R_MPX_DURATION_HEADING );
CleanupStack::PushL( heading );
@@ -423,8 +436,10 @@
// Bitrate
if ( iController->FileDetails()->iBitRate > 0 )
{
- iBitrateLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) ,
- TSize(labelWidth,labelHeight) );
+ iBitrateLabel->SetExtent(
+ TPoint( Rect().iTl.iX, Rect().iTl.iY + ( labelHeight * rowsAdded ) ) ,
+ TSize( labelWidth, labelHeight )
+ );
HBufC* heading = iEikonEnv->AllocReadResourceL( R_MPX_BITRATE_HEADING );
CleanupStack::PushL( heading );
@@ -447,10 +462,13 @@
}
// Title
- if ( iController->FileDetails()->iTitle )
+ if ( iController->FileDetails()->iTitle
+ && iController->FileDetails()->iTitle->Length() )
{
- iTitleLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) ,
- TSize(labelWidth,labelHeight) );
+ iTitleLabel->SetExtent(
+ TPoint( Rect().iTl.iX, Rect().iTl.iY + ( labelHeight * rowsAdded ) ) ,
+ TSize( labelWidth, labelHeight )
+ );
HBufC* heading = iEikonEnv->AllocReadResourceL( R_MPX_TITLE_HEADING );
CleanupStack::PushL( heading );
@@ -469,10 +487,13 @@
}
// Artist
- if ( iController->FileDetails()->iArtist )
+ if ( iController->FileDetails()->iArtist
+ && iController->FileDetails()->iArtist->Length() )
{
- iArtistLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) ,
- TSize(labelWidth,labelHeight) );
+ iArtistLabel->SetExtent(
+ TPoint( Rect().iTl.iX, Rect().iTl.iY + ( labelHeight * rowsAdded ) ) ,
+ TSize( labelWidth, labelHeight )
+ );
HBufC* heading = iEikonEnv->AllocReadResourceL( R_MPX_ARTIST_HEADING );
CleanupStack::PushL( heading );
@@ -494,8 +515,10 @@
// Additional Label
if ( iAdditionalString && iAdditionalString->Length() )
{
- iAdditionalLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) ,
- TSize(labelWidth,labelHeight) );
+ iAdditionalLabel->SetExtent(
+ TPoint( Rect().iTl.iX, Rect().iTl.iY + ( labelHeight * rowsAdded ) ) ,
+ TSize( labelWidth, labelHeight )
+ );
TBuf<KMediaDetailsViewerMaxBufLen> titleField;
titleField.Append(KLeftMargin);
@@ -694,15 +717,18 @@
//
void CMPXVideoPlaybackMediaDetailsViewer::HandleScrollFilenameTimerL()
{
- if (iController->FileDetails()->iClipName)
+ HBufC* fileName = iController->FileDetails()->GenerateFileNameL();
+
+ if ( fileName && fileName->Length() )
{
+ CleanupStack::PushL( fileName );
if ( iShouldPauseScrolling )
{
iShouldPauseScrolling = EFalse;
User::After( 2000000 ); // add a 2 second delay after each complete scrolling
}
- TInt length = iController->FileDetails()->iClipName->Length();
+ TInt length = fileName->Length();
HBufC* heading = iEikonEnv->AllocReadResourceL( R_MPX_FILENAME_HEADING );
CleanupStack::PushL( heading );
@@ -714,9 +740,8 @@
if ( length >= KMediaDetailsViewerVisibleCharacters )
{
- filenameField.Append(
- iController->FileDetails()->iClipName->Mid(iScrollPosition,
- KMediaDetailsViewerVisibleCharacters) );
+ filenameField.Append( fileName->Mid( iScrollPosition,
+ KMediaDetailsViewerVisibleCharacters ) );
if ( iScrollPosition == (length - KMediaDetailsViewerVisibleCharacters) )
{
@@ -730,7 +755,7 @@
}
else
{
- filenameField.Append( *(iController->FileDetails()->iClipName) );
+ filenameField.Append( *fileName );
iScrollingTextTimer->Cancel(); // no need to keep the timer active
}
@@ -738,7 +763,7 @@
DrawNow();
CleanupStack::PopAndDestroy( heading );
-
+ CleanupStack::PopAndDestroy( fileName );
}
}
--- a/videoplayback/videoplaybackcontrols/tsrc/videoplaybackcontrols_test/bwins/ui_videoplaybackcontrolstestu.def Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/videoplaybackcontrols/tsrc/videoplaybackcontrols_test/bwins/ui_videoplaybackcontrolstestu.def Fri Mar 12 15:43:00 2010 +0200
@@ -6,4 +6,5 @@
?GetBitmap@CMPXVideoPlaybackControlsController@@QAEPAVCEikImage@@W4TMPXVideoPlaybackControls@@@Z @ 5 NONAME ; class CEikImage * CMPXVideoPlaybackControlsController::GetBitmap(enum TMPXVideoPlaybackControls)
?HandleEventL@CMPXVideoPlaybackControlsController@@QAEXW4TMPXVideoPlaybackControlCommandIds@@H@Z @ 6 NONAME ; void CMPXVideoPlaybackControlsController::HandleEventL(enum TMPXVideoPlaybackControlCommandIds, int)
?NewL@CMPXVideoPlaybackControlsController@@SAPAV1@PAVCMPXVideoPlaybackContainer@@VTRect@@PAVCMPXVideoPlaybackViewFileDetails@@@Z @ 7 NONAME ; class CMPXVideoPlaybackControlsController * CMPXVideoPlaybackControlsController::NewL(class CMPXVideoPlaybackContainer *, class TRect, class CMPXVideoPlaybackViewFileDetails *)
+ ?GenerateFileNameL@CMPXVideoPlaybackViewFileDetails@@QAEPAVHBufC16@@XZ @ 8 NONAME ; class HBufC16 * CMPXVideoPlaybackViewFileDetails::GenerateFileNameL(void)
--- a/videoplayback/videoplaybackcontrols/tsrc/videoplaybackcontrols_test/eabi/ui_videoplaybackcontrolstestu.def Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/videoplaybackcontrols/tsrc/videoplaybackcontrols_test/eabi/ui_videoplaybackcontrolstestu.def Fri Mar 12 15:43:00 2010 +0200
@@ -34,4 +34,7 @@
_ZTV34CMPXVideoPlaybackBrandingAnimation @ 33 NONAME ; #<VT>#
_ZTV35CMPXVideoPlaybackControlsController @ 34 NONAME ; #<VT>#
_ZTV37CMPXVideoPlaybackControlConfiguration @ 35 NONAME ; #<VT>#
+ _ZN32CMPXVideoPlaybackViewFileDetails17GenerateFileNameLEv @ 36 NONAME
+ _ZTI35CMPXVideoPlaybackMediaDetailsViewer @ 37 NONAME
+ _ZTV35CMPXVideoPlaybackMediaDetailsViewer @ 38 NONAME
--- a/videoplayback/videoplaybackcontrols/tsrc/videoplaybackcontrols_test/src/mpxvpbvfd_stub.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/videoplaybackcontrols/tsrc/videoplaybackcontrols_test/src/mpxvpbvfd_stub.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,12 +15,14 @@
*
*/
-// Version : %version: ou1cpsw#6 %
+// Version : %version: e003sa33#7 %
//
// INCLUDE FILES
//
+#include <f32file.h>
+
#include "mpxvideo_debug.h"
#include "mpxvideoplaybackviewfiledetails.h"
@@ -90,4 +92,28 @@
iPausableStream = ETrue;
}
+// -------------------------------------------------------------------------------------------------
+// CMPXVideoPlaybackViewFileDetails::GenerateFileNameL
+// -------------------------------------------------------------------------------------------------
+//
+EXPORT_C HBufC* CMPXVideoPlaybackViewFileDetails::GenerateFileNameL()
+{
+ MPX_ENTER_EXIT( _L( "CMPXVideoPlaybackViewFileDetails::GenerateFileNameL()" ) );
+
+ HBufC* fileName = NULL;
+
+ if ( iClipName && iClipName->Length()
+ && EMPXVideoStreaming != iPlaybackMode &&
+ EMPXVideoLiveStreaming != iPlaybackMode )
+ {
+ //
+ // Get only file name for media details viewer
+ //
+ TParsePtrC filePath( iClipName->Des() );
+ fileName = ( filePath.Name() ).AllocL();
+ }
+
+ return fileName;
+}
+
// EOF
--- a/videoplayback/videoplaybackviews/bwins/mpxvideoplaybackviewsu.def Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/videoplaybackviews/bwins/mpxvideoplaybackviewsu.def Fri Mar 12 15:43:00 2010 +0200
@@ -10,4 +10,5 @@
?NewLC@CMPXVideoPlaybackView@@SAPAV1@XZ @ 9 NONAME ; class CMPXVideoPlaybackView * CMPXVideoPlaybackView::NewLC(void)
?ProcessPointerEventL@CMPXVideoPlaybackUserInputHandler@@QAEXPAVCCoeControl@@ABUTPointerEvent@@W4TMPXVideoControlType@@@Z @ 10 NONAME ; void CMPXVideoPlaybackUserInputHandler::ProcessPointerEventL(class CCoeControl *, struct TPointerEvent const &, enum TMPXVideoControlType)
?UserInputHandler@CMPXVideoPlaybackContainer@@QAEPAVCMPXVideoPlaybackUserInputHandler@@XZ @ 11 NONAME ; class CMPXVideoPlaybackUserInputHandler * CMPXVideoPlaybackContainer::UserInputHandler(void)
+ ?GenerateFileNameL@CMPXVideoPlaybackViewFileDetails@@QAEPAVHBufC16@@XZ @ 12 NONAME ; class HBufC16 * CMPXVideoPlaybackViewFileDetails::GenerateFileNameL(void)
--- a/videoplayback/videoplaybackviews/eabi/mpxvideoplaybackviewsu.def Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/videoplaybackviews/eabi/mpxvideoplaybackviewsu.def Fri Mar 12 15:43:00 2010 +0200
@@ -20,4 +20,5 @@
_ZN26CMPXVideoPlaybackContainer16UserInputHandlerEv @ 19 NONAME
_ZTI31CMPXVideoPlaybackDisplayHandler @ 20 NONAME ; #<TI>#
_ZTV31CMPXVideoPlaybackDisplayHandler @ 21 NONAME ; #<VT>#
+ _ZN32CMPXVideoPlaybackViewFileDetails17GenerateFileNameLEv @ 22 NONAME
--- a/videoplayback/videoplaybackviews/group/mpxvideoplaybackviews.mmp Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/videoplaybackviews/group/mpxvideoplaybackviews.mmp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 13 %
+// Version : %version: 14 %
#include <data_caging_paths.hrh>
@@ -83,7 +83,7 @@
LIBRARY sysutil.lib
LIBRARY drmuihandling.lib
LIBRARY centralrepository.lib // for backlight timeout value
-LIBRARY hal.lib // disabling backlight
+LIBRARY hwrmlightclient.lib // light status
#ifdef SYMBIAN_BUILD_GCE
LIBRARY mediaclientvideodisplay.lib
--- a/videoplayback/videoplaybackviews/src/mpxvideobaseplaybackview.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/videoplaybackviews/src/mpxvideobaseplaybackview.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 61 %
+// Version : %version: 63 %
// Include Files
@@ -64,6 +64,7 @@
#include <mpxvideoplaybackdefs.h>
#include "mpxmediavideodefs.h"
#include "mpxvideo_debug.h"
+#include "mpxvideoplayercustomviewmsgconsts.h"
// Member Functions
@@ -220,6 +221,7 @@
CreateGeneralPlaybackCommandL( EPbCmdPause );
break;
}
+ case EAknSoftkeyClose:
case EMPXPbvCmdClose:
{
MPX_DEBUG(_L("CMPXVideoBasePlaybackView::HandleCommandL() EMPXPbvCmdClose"));
@@ -363,17 +365,9 @@
LaunchDRMDetailsL();
break;
}
- case EAknSoftkeyClose:
+ case KMpxVideoPlaybackPdlReloading:
{
- //
- // Close is in progress
- // Remove the display window so the surface can be released
- //
- if ( iDisplayHandler )
- {
- iDisplayHandler->RemoveDisplayWindow();
- }
-
+ iPdlReloading = ETrue;
break;
}
}
--- a/videoplayback/videoplaybackviews/src/mpxvideopdlplaybackview.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/videoplaybackviews/src/mpxvideopdlplaybackview.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 21 %
+// Version : %version: 22 %
// Include Files
@@ -370,7 +370,11 @@
{
MPX_DEBUG(_L("CMPXVideoPdlPlaybackView::HandleStoppedStateL()"));
- if ( iPlaybackState == EPbStateStopped )
+ if ( iPdlReloading )
+ {
+ iPdlReloading = EFalse;
+ }
+ else
{
ClosePlaybackViewL();
}
--- a/videoplayback/videoplaybackviews/src/mpxvideoplaybackdisplayhandler.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/videoplaybackviews/src/mpxvideoplaybackdisplayhandler.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 9 %
+// Version : %version: 10 %
#include <sysutil.h>
#include <s32file.h>
@@ -60,6 +60,8 @@
iVideoDisplay = NULL;
}
#endif
+
+ iSurfaceId = TSurfaceId::CreateNullId();
}
CMPXVideoPlaybackDisplayHandler*
@@ -101,6 +103,27 @@
}
// -------------------------------------------------------------------------------------------------
+// CMPXVideoPlaybackDisplayHandler::SignalSurfaceRemovedL()
+// -------------------------------------------------------------------------------------------------
+//
+void CMPXVideoPlaybackDisplayHandler::SignalSurfaceRemovedL()
+{
+ MPX_ENTER_EXIT(_L("CMPXVideoPlaybackDisplayHandler::SignalSurfaceRemovedL()"));
+
+ CMPXCommand* cmd = CMPXCommand::NewL();
+ CleanupStack::PushL( cmd );
+
+ cmd->SetTObjectValueL<TBool>( KMPXCommandGeneralDoSync, ETrue );
+ cmd->SetTObjectValueL<TInt>( KMPXCommandGeneralId, KMPXMediaIdVideoPlayback );
+ cmd->SetTObjectValueL<TMPXVideoPlaybackCommand>( KMPXMediaVideoPlaybackCommand,
+ EPbCmdSurfaceRemoved );
+
+ iPlaybackUtility->CommandL( *cmd );
+
+ CleanupStack::PopAndDestroy( cmd );
+}
+
+// -------------------------------------------------------------------------------------------------
// CMPXVideoPlaybackDisplayHandler::RemoveDisplayWindow()
// -------------------------------------------------------------------------------------------------
//
@@ -115,6 +138,16 @@
iVideoDisplay = NULL;
}
#endif
+
+ if ( ! iSurfaceId.IsNull() )
+ {
+ //
+ // Signal to the Playback Plugin that the surface has been removed
+ //
+ TRAP_IGNORE( SignalSurfaceRemovedL() );
+
+ iSurfaceId = TSurfaceId::CreateNullId();
+ }
}
// -------------------------------------------------------------------------------------------------
@@ -150,6 +183,18 @@
SurfaceRemoved();
break;
}
+ case EPbMsgVideoRemoveDisplayWindow:
+ {
+ if ( iVideoDisplay )
+ {
+ delete iVideoDisplay;
+ iVideoDisplay = NULL;
+ }
+
+ iSurfaceId = TSurfaceId::CreateNullId();
+
+ break;
+ }
#endif
}
@@ -421,7 +466,7 @@
MPX_ENTER_EXIT(_L("CMPXVideoPlaybackDisplayHandler::SurfaceCreatedL()"));
TSurfaceId oldSurfaceId = iSurfaceId;
-
+
//
// Extract the surface parameters from the message
//
--- a/videoplayback/videoplaybackviews/src/mpxvideoplaybackuserinputhandler.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/videoplaybackviews/src/mpxvideoplaybackuserinputhandler.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 14 %
+// Version : %version: 15 %
// INCLUDE FILES
@@ -43,8 +43,7 @@
#else
#include "mpxvideoplaybackcontainer.h"
#include "mpxvideoplaybackcontrol.h"
-#include <hal.h>
-#include <hal_data.h>
+#include <hwrmlight.h> //light status
#endif
#include "mpxvideoplaybackcontrol.hrh"
@@ -104,6 +103,8 @@
iTVOutConnected = aTvOutConnected;
+ iLight = CHWRMLight::NewL();
+
// Start the timer if TV out is connected
if ( iTVOutConnected )
{
@@ -158,6 +159,11 @@
// the view updates or deactivates
EnableBacklight();
+ if ( iLight )
+ {
+ delete iLight;
+ iLight = NULL;
+ }
}
// -------------------------------------------------------------------------------------------------
@@ -612,7 +618,11 @@
iDisplayTimer->Cancel();
// disable the backlight
- HAL::Set( HALData::EBacklightState, 0 );
+ MPX_TRAPD( err,
+ {
+ iLight->ReserveLightL( CHWRMLight::EPrimaryDisplay );
+ iLight->LightOffL( CHWRMLight::EPrimaryDisplay );
+ } );
}
// -----------------------------------------------------------------------------
@@ -624,7 +634,11 @@
MPX_ENTER_EXIT(_L("CMPXVideoPlaybackUserInputHandler::EnableBacklight"));
// enable the backlight
- HAL::Set( HALData::EBacklightState, 1 );
+ MPX_TRAPD( err,
+ {
+ iLight->LightOnL( CHWRMLight::EPrimaryDisplay );
+ iLight->ReleaseLight(CHWRMLight::EPrimaryDisplay );
+ } );
}
@@ -691,12 +705,9 @@
{
// timeout has happened and the backlight is disabled
// enable the backlight
- HAL::Set( HALData::EBacklightState, 1 );
+ EnableBacklight();
}
- TBool backlightState;
- TInt ret = HAL::Get( HALData::EBacklightState, backlightState );
-
// Re start the display backlight timer
iDisplayTimer->Start( iDisplayTimeOut, iDisplayTimeOut,
TCallBack( CMPXVideoPlaybackUserInputHandler::HandleDisplayTimeout, this ) );
--- a/videoplayback/videoplaybackviews/src/mpxvideoplaybackviewfiledetails.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/videoplaybackviews/src/mpxvideoplaybackviewfiledetails.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,12 +15,14 @@
*
*/
-// Version : %version: 8 %
+// Version : %version: e003sa33#9 %
//
// INCLUDE FILES
//
+#include <f32file.h>
+
#include "mpxvideo_debug.h"
#include "mpxvideoplaybackviewfiledetails.h"
@@ -99,4 +101,32 @@
iFourCCCode = 0;
}
+// -------------------------------------------------------------------------------------------------
+// CMPXVideoPlaybackViewFileDetails::GenerateFileNameL
+// -------------------------------------------------------------------------------------------------
+//
+EXPORT_C HBufC* CMPXVideoPlaybackViewFileDetails::GenerateFileNameL()
+{
+ MPX_ENTER_EXIT( _L( "CMPXVideoPlaybackViewFileDetails::GenerateFileNameL()" ) );
+
+ HBufC* fileName = NULL;
+
+ if ( iClipName && iClipName->Length()
+ && EMPXVideoStreaming != iPlaybackMode &&
+ EMPXVideoLiveStreaming != iPlaybackMode )
+ {
+ //
+ // Get only file name for media details viewer
+ //
+ //TParsePtrC filePath( iClipName->Des() );
+ //fileName = ( filePath.Name() ).AllocL();
+ TParse parse;
+ parse.Set( iClipName->Des(), NULL, NULL);
+ fileName = ( parse.Name() ).AllocL();
+
+ }
+
+ return fileName;
+}
+
// EOF
--- a/videoplayback/videoplaybackviews/tsrc/ut_userinputhandlertest/conf/ui_userinputhandlertest.cfg Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/videoplaybackviews/tsrc/ut_userinputhandlertest/conf/ui_userinputhandlertest.cfg Fri Mar 12 15:43:00 2010 +0200
@@ -16,7 +16,7 @@
ETvOutDisconnected 0
ETvOutConnected 1
-EDisplayBacklightOff 0
+EDisplayBacklightOff 2
EDisplayBacklightOn 1
[Enddefine]
--- a/videoplayback/videoplaybackviews/tsrc/ut_userinputhandlertest/inc/hal_stub.h Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/videoplaybackviews/tsrc/ut_userinputhandlertest/inc/hal_stub.h Fri Mar 12 15:43:00 2010 +0200
@@ -15,17 +15,22 @@
*
*/
-// Version : %version: ou1cpsw#2 %
+// Version : %version: 3 %
#ifndef __HAL_STUB_H__
#define __HAL_STUB_H__
-#include <e32def.h>
-#include <hal_data.h>
-#include <e32property.h>
+#include <e32base.h>
+enum TLightStatus
+ {
+ ELightStatusUnknown = 0,
+ ELightOn,
+ ELightOff,
+ ELightBlink
+ };
-static TInt iBacklightState = 1;
+static TLightStatus iBacklightState = ELightOn;
/**
@publishedPartner
@@ -33,50 +38,40 @@
A set of static functions to get and set HAL attributes.
-@see HALData
+@see CHWRMLight
*/
-class HAL : public HALData
- {
-public:
-
- HAL();
- virtual ~HAL();
-
- /**
- Gets the value of the specified HAL attribute.
+class CHWRMLight : public CBase
+{
+ public:
- @param aAttribute The HAL attribute.
- @param aValue On successful return, contains the attribute value.
+ enum TLightTarget
+ {
+ ENoTarget = 0x0,
+ EPrimaryDisplay = 0x1,
+ ESystemTarget = 0x80000000
+ };
+
+ public:
+
+ static CHWRMLight* NewL();
- @return KErrNone, if successful;
- KErrNotSupported, if the attribute is not defined in the list
- of attributes, or is not meaningful for this device.
-
- @see HALData::TAttribute
- @see HALData::TAttributeProperty
- */
- static TInt Get(TAttribute aAttribute, TInt& aValue);
+ void ConstructL();
+
+ CHWRMLight();
-
- /**
- Sets the specified HAL attribute.
+ ~CHWRMLight();
+
+ public:
+ void ReserveLightL(TInt aTarget);
- @param aAttribute The HAL attribute.
- @param aValue The attribute value.
+ void ReleaseLight(TInt aTarget);
+
+ void LightOnL(TInt aTarget);
- @return KErrNone, if successful;
- KErrNotSupported, if the attribute is not defined in the list
- of attributes, or is not meaningful for this device, or is
- not settable.
-
- @see HALData::TAttribute
- @see HALData::TAttributeProperty
+ void LightOffL(TInt aTarget);
- @capability WriteDeviceData or other capability specified
- for individual attributes in TAttribute
- */
- static TInt Set(TAttribute aAttribute, TInt aValue);
-
- };
+ TLightStatus LightStatus(TInt aTarget) const;
+
+};
#endif
--- a/videoplayback/videoplaybackviews/tsrc/ut_userinputhandlertest/src/hal_stub.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/videoplaybackviews/tsrc/ut_userinputhandlertest/src/hal_stub.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: ou1cpsw#2 %
+// Version : %version: 3 %
// INCLUDE FILES
@@ -28,63 +28,62 @@
// ================= MEMBER FUNCTIONS ==============================================================
// -------------------------------------------------------------------------------------------------
-// HAL::HAL()
+// CHWRMLight::CHWRMLight()
// C++ default constructor can NOT contain any code, that
// might leave.
// -------------------------------------------------------------------------------------------------
//
-HAL::HAL()
+CHWRMLight::CHWRMLight()
{
}
+CHWRMLight::~CHWRMLight()
+{
+ MPX_DEBUG(_L("CHWRMLight::~CHWRMLight()"));
+}
-// -------------------------------------------------------------------------------------------------
-// CMPXVideoPlaybackControl::~CMPXVideoPlaybackControl()
-// Destructor.
-// -------------------------------------------------------------------------------------------------
-//
-HAL::~HAL()
+CHWRMLight* CHWRMLight::NewL()
{
- MPX_DEBUG(_L("HAL::~HAL()"));
+ MPX_DEBUG(_L("CHWRMLight::NewL()"));
+
+ CHWRMLight* self = new (ELeave) CHWRMLight();
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ CleanupStack::Pop();
+
+ return self;
+}
+
+void CHWRMLight::ConstructL()
+{
+ MPX_DEBUG(_L("CHWRMLight::ConstructL()"));
}
-// -------------------------------------------------------------------------------------------------
-// Gets the attribute value.
-// -------------------------------------------------------------------------------------------------
-//
-TInt HAL::Get( TAttribute aAttribute, TInt& aValue )
+void CHWRMLight::ReserveLightL(TInt aTarget)
{
- switch ( aAttribute )
- {
- case EBacklightState:
- {
- aValue = iBacklightState;
- break;
- }
- default:
- break;
- }
- return KErrNone;
+ MPX_DEBUG(_L("CHWRMLight::ReserveLightL()"));
+}
+
+void CHWRMLight::ReleaseLight(TInt aTarget)
+{
+ MPX_DEBUG(_L("CHWRMLight::ReleaseLight()"));
}
-// -------------------------------------------------------------------------------------------------
-// From CCoeControl
-// Gets an indexed component of a compound control.
-// -------------------------------------------------------------------------------------------------
-//
-TInt HAL::Set( TAttribute aAttribute, TInt aValue )
+void CHWRMLight::LightOnL(TInt aTarget)
+{
+ MPX_DEBUG(_L("CHWRMLight::LightOnL()"));
+ iBacklightState = ELightOn;
+}
+void CHWRMLight::LightOffL(TInt aTarget)
{
- switch ( aAttribute )
- {
- case EBacklightState:
- {
- iBacklightState = aValue;
- break;
- }
- default:
- break;
- }
- return KErrNone;
+ MPX_DEBUG(_L("CHWRMLight::LightOffL()"));
+ iBacklightState = ELightOff;
+}
+
+TLightStatus CHWRMLight::LightStatus(TInt aTarget) const
+{
+ MPX_DEBUG(_L("CHWRMLight::LightStatus()"));
+ return iBacklightState;
}
--- a/videoplayback/videoplaybackviews/tsrc/ut_userinputhandlertest/src/userinputhandlertestBlocks.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayback/videoplaybackviews/tsrc/ut_userinputhandlertest/src/userinputhandlertestBlocks.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: ou1cpsw#5 %
+// Version : %version: 6 %
// [INCLUDE FILES] - do not remove
@@ -33,7 +33,6 @@
#include "mpxvideoplaybackuserinputhandler.h"
#include "mpxvideo_debug.h"
#include "hal_stub.h"
-#include <hal_data.h>
//
// pre-define
@@ -579,10 +578,13 @@
{
MPX_DEBUG(_L("CUserinputhandlertest::CheckBacklightState()"));
- TBool backlightState;
+ TLightStatus backlightState = ELightStatusUnknown;
TInt status;
- HAL::Get( HALData::EBacklightState, backlightState );
+ CHWRMLight* light = NULL;
+ MPX_TRAPD( err, light = CHWRMLight::NewL() );
+ backlightState = light->LightStatus( CHWRMLight::EPrimaryDisplay );
+ delete light;
TInt result = aItem.GetNextInt( status );
--- a/videoplayer_plat/videoplayer_startup_api/tsrc/conf/ui_VideoPlayerStartupApiTest.cfg Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayer_plat/videoplayer_startup_api/tsrc/conf/ui_VideoPlayerStartupApiTest.cfg Fri Mar 12 15:43:00 2010 +0200
@@ -44,79 +44,79 @@
#
# CaseClass: core
#------------------------------------------------------------------------------------
-[Test]
-title 0 ELaunchVideoToPlayer - ENoSender
-create VideoPlayerStartupApiTest test
-test ActivationMessage ELaunchVideoToPlayer ENoSender 0
-pause 5000
-test KillFusion
-delete test
-[Endtest]
+#[Test]
+#title 0 ELaunchVideoToPlayer - ENoSender
+#create VideoPlayerStartupApiTest test
+#test ActivationMessage ELaunchVideoToPlayer ENoSender 0
+#pause 5000
+#test KillFusion
+#delete test
+#[Endtest]
#------------------------------------------------------------------------------------
#
# CaseClass: core
#------------------------------------------------------------------------------------
-[Test]
-title 1 ELaunchVideoToPlayer - ENotification
-create VideoPlayerStartupApiTest test
-test ActivationMessage ELaunchVideoToPlayer ENotification 0
-pause 5000
-test KillFusion
-delete test
-[Endtest]
+#[Test]
+#title 1 ELaunchVideoToPlayer - ENotification
+#create VideoPlayerStartupApiTest test
+#test ActivationMessage ELaunchVideoToPlayer ENotification 0
+#pause 5000
+#test KillFusion
+#delete test
+#[Endtest]
#------------------------------------------------------------------------------------
#
# CaseClass: core
#------------------------------------------------------------------------------------
-[Test]
-title 2 ELaunchVideoToPlayer - EActiveSpace
-create VideoPlayerStartupApiTest test
-test ActivationMessage ELaunchVideoToPlayer EActiveSpace 0
-pause 5000
-test KillFusion
-delete test
-[Endtest]
+#[Test]
+#title 2 ELaunchVideoToPlayer - EActiveSpace
+#create VideoPlayerStartupApiTest test
+#test ActivationMessage ELaunchVideoToPlayer EActiveSpace 0
+#pause 5000
+#test KillFusion
+#delete test
+#[Endtest]
#------------------------------------------------------------------------------------
#
# CaseClass: core
#------------------------------------------------------------------------------------
-[Test]
-title 3 ELaunchVideoToPlayer - EIptvMainLastWatcher
-create VideoPlayerStartupApiTest test
-test ActivationMessage ELaunchVideoToPlayer EIptvMainLastWatcher 0
-pause 5000
-test KillFusion
-delete test
-[Endtest]
+#[Test]
+#title 3 ELaunchVideoToPlayer - EIptvMainLastWatcher
+#create VideoPlayerStartupApiTest test
+#test ActivationMessage ELaunchVideoToPlayer EIptvMainLastWatcher 0
+#pause 5000
+#test KillFusion
+#delete test
+#[Endtest]
#------------------------------------------------------------------------------------
#
# CaseClass: core
#------------------------------------------------------------------------------------
-[Test]
-title 4 ELaunchVideoToPlayer - EMatrixMenu
-create VideoPlayerStartupApiTest test
-test ActivationMessage ELaunchVideoToPlayer EMatrixMenu 0
-pause 5000
-test KillFusion
-delete test
-[Endtest]
+#[Test]
+#title 4 ELaunchVideoToPlayer - EMatrixMenu
+#create VideoPlayerStartupApiTest test
+#test ActivationMessage ELaunchVideoToPlayer EMatrixMenu 0
+#pause 5000
+#test KillFusion
+#delete test
+#[Endtest]
#------------------------------------------------------------------------------------
#
# CaseClass: core
#------------------------------------------------------------------------------------
-[Test]
-title 5 ELaunchVideoToPlayer - EMatrixMenu, no file defined
-create VideoPlayerStartupApiTest test
-test ActivationMessage ELaunchVideoToPlayer EMatrixMenu
-pause 5000
-test KillFusion
-delete test
-[Endtest]
+#[Test]
+#title 5 ELaunchVideoToPlayer - EMatrixMenu, no file defined
+#create VideoPlayerStartupApiTest test
+#test ActivationMessage ELaunchVideoToPlayer EMatrixMenu
+#pause 5000
+#test KillFusion
+#delete test
+#[Endtest]
#------------------------------------------------------------------------------------
#
@@ -267,66 +267,66 @@
#
# CaseClass: core
#------------------------------------------------------------------------------------
-[Test]
-title 17 ELaunchServiceById - ENoSender
-create VideoPlayerStartupApiTest test
-test ActivationMessage ELaunchServiceById ENoSender
-pause 3000
-test KillFusion
-delete test
-[Endtest]
+#[Test]
+#title 17 ELaunchServiceById - ENoSender
+#create VideoPlayerStartupApiTest test
+#test ActivationMessage ELaunchServiceById ENoSender
+#pause 3000
+#test KillFusion
+#delete test
+#[Endtest]
#------------------------------------------------------------------------------------
#
# CaseClass: core
#------------------------------------------------------------------------------------
-[Test]
-title 18 ELaunchServiceById - ENotification
-create VideoPlayerStartupApiTest test
-test ActivationMessage ELaunchServiceById ENotification
-pause 3000
-test KillFusion
-delete test
-[Endtest]
+#[Test]
+#title 18 ELaunchServiceById - ENotification
+#create VideoPlayerStartupApiTest test
+#test ActivationMessage ELaunchServiceById ENotification
+#pause 3000
+#test KillFusion
+#delete test
+#[Endtest]
#------------------------------------------------------------------------------------
#
# CaseClass: core
#------------------------------------------------------------------------------------
-[Test]
-title 19 ELaunchServiceById - EActiveSpace
-create VideoPlayerStartupApiTest test
-test ActivationMessage ELaunchServiceById EActiveSpace
-pause 3000
-test KillFusion
-delete test
-[Endtest]
+#[Test]
+#title 19 ELaunchServiceById - EActiveSpace
+#create VideoPlayerStartupApiTest test
+#test ActivationMessage ELaunchServiceById EActiveSpace
+#pause 3000
+#test KillFusion
+#delete test
+#[Endtest]
#------------------------------------------------------------------------------------
#
# CaseClass: core
#------------------------------------------------------------------------------------
-[Test]
-title 20 ELaunchServiceById - EIptvMainLastWatcher
-create VideoPlayerStartupApiTest test
-test ActivationMessage ELaunchServiceById EIptvMainLastWatcher
-pause 3000
-test KillFusion
-delete test
-[Endtest]
+#[Test]
+#title 20 ELaunchServiceById - EIptvMainLastWatcher
+#create VideoPlayerStartupApiTest test
+#test ActivationMessage ELaunchServiceById EIptvMainLastWatcher
+#pause 3000
+#test KillFusion
+#delete test
+#[Endtest]
#------------------------------------------------------------------------------------
#
# CaseClass: core
#------------------------------------------------------------------------------------
-[Test]
-title 21 ELaunchServiceById - EMatrixMenu
-create VideoPlayerStartupApiTest test
-test ActivationMessage ELaunchServiceById EMatrixMenu
-pause 3000
-test KillFusion
-delete test
-[Endtest]
+#[Test]
+#title 21 ELaunchServiceById - EMatrixMenu
+#create VideoPlayerStartupApiTest test
+#test ActivationMessage ELaunchServiceById EMatrixMenu
+#pause 3000
+#test KillFusion
+#delete test
+#[Endtest]
#------------------------------------------------------------------------------------
#
--- a/videoplayer_plat/videoplayer_startup_api/tsrc/conf/ui_VideoPlayerStartupApiTest2.cfg Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayer_plat/videoplayer_startup_api/tsrc/conf/ui_VideoPlayerStartupApiTest2.cfg Fri Mar 12 15:43:00 2010 +0200
@@ -130,151 +130,151 @@
#
# CaseClass: core
#------------------------------------------------------------------------------------
-[Test]
-title 106 EOpenServiceCatalogue - EMatrixMenu, while playing
-create VideoPlayerStartupApiTest test
-test ActivationMessage ELaunchVideoToPlayer ENotification 0
-pause 3000
-test ActivationMessage EOpenServiceCatalogue EMatrixMenu
-pause 3000
-test KillFusion
-delete test
-[Endtest]
+#[Test]
+#title 106 EOpenServiceCatalogue - EMatrixMenu, while playing
+#create VideoPlayerStartupApiTest test
+#test ActivationMessage ELaunchVideoToPlayer ENotification 0
+#pause 3000
+#test ActivationMessage EOpenServiceCatalogue EMatrixMenu
+#pause 3000
+#test KillFusion
+#delete test
+#[Endtest]
#------------------------------------------------------------------------------------
#
# CaseClass: core
#------------------------------------------------------------------------------------
-[Test]
-title 107 EOpenVideoShop - EMatrixMenu, while playing
-create VideoPlayerStartupApiTest test
-test ActivationMessage ELaunchVideoToPlayer ENotification 0
-pause 3000
-test ActivationMessage EOpenVideoShop EMatrixMenu
-pause 3000
-test KillFusion
-delete test
-[Endtest]
+#[Test]
+#title 107 EOpenVideoShop - EMatrixMenu, while playing
+#create VideoPlayerStartupApiTest test
+#test ActivationMessage ELaunchVideoToPlayer ENotification 0
+#pause 3000
+#test ActivationMessage EOpenVideoShop EMatrixMenu
+#pause 3000
+#test KillFusion
+#delete test
+#[Endtest]
#------------------------------------------------------------------------------------
#
# CaseClass: core
#------------------------------------------------------------------------------------
-[Test]
-title 108 ELiveTVMessage - EMatrixMenu, while playing
-create VideoPlayerStartupApiTest test
-test ActivationMessage ELaunchVideoToPlayer ENotification 0
-pause 3000
-test ActivationMessage ELiveTVMessage EMatrixMenu
-pause 3000
-test KillFusion
-delete test
-[Endtest]
+#[Test]
+#title 108 ELiveTVMessage - EMatrixMenu, while playing
+#create VideoPlayerStartupApiTest test
+#test ActivationMessage ELaunchVideoToPlayer ENotification 0
+#pause 3000
+#test ActivationMessage ELiveTVMessage EMatrixMenu
+#pause 3000
+#test KillFusion
+#delete test
+#[Endtest]
#------------------------------------------------------------------------------------
#
# CaseClass: core
#------------------------------------------------------------------------------------
-[Test]
-title 109 EOpenRecordingsCategory - EMatrixMenu, while playing
-create VideoPlayerStartupApiTest test
-test ActivationMessage ELaunchVideoToPlayer ENotification 0
-pause 3000
-test ActivationMessage EOpenRecordingsCategory EMatrixMenu
-pause 3000
-test KillFusion
-delete test
-[Endtest]
+#[Test]
+#title 109 EOpenRecordingsCategory - EMatrixMenu, while playing
+#create VideoPlayerStartupApiTest test
+#test ActivationMessage ELaunchVideoToPlayer ENotification 0
+#pause 3000
+#test ActivationMessage EOpenRecordingsCategory EMatrixMenu
+#pause 3000
+#test KillFusion
+#delete test
+#[Endtest]
#------------------------------------------------------------------------------------
#
# CaseClass: core
#------------------------------------------------------------------------------------
-[Test]
-title 110 EOpenVCSettings - EMatrixMenu, while playing
-create VideoPlayerStartupApiTest test
-test ActivationMessage ELaunchVideoToPlayer ENotification 0
-pause 3000
-test ActivationMessage EOpenVCSettings EMatrixMenu
-pause 3000
-test KillFusion
-delete test
-[Endtest]
+#[Test]
+#title 110 EOpenVCSettings - EMatrixMenu, while playing
+#create VideoPlayerStartupApiTest test
+#test ActivationMessage ELaunchVideoToPlayer ENotification 0
+#pause 3000
+#test ActivationMessage EOpenVCSettings EMatrixMenu
+#pause 3000
+#test KillFusion
+#delete test
+#[Endtest]
#------------------------------------------------------------------------------------
#
# CaseClass: core
#------------------------------------------------------------------------------------
-[Test]
-title 111 EOpenVCSettingsFeedSubscriptions - EMatrixMenu, while playing
-create VideoPlayerStartupApiTest test
-test ActivationMessage ELaunchVideoToPlayer ENotification 0
-pause 3000
-test ActivationMessage EOpenVCSettingsFeedSubscriptions EMatrixMenu
-pause 3000
-test KillFusion
-delete test
-[Endtest]
+#[Test]
+#title 111 EOpenVCSettingsFeedSubscriptions - EMatrixMenu, while playing
+#create VideoPlayerStartupApiTest test
+#test ActivationMessage ELaunchVideoToPlayer ENotification 0
+#pause 3000
+#test ActivationMessage EOpenVCSettingsFeedSubscriptions EMatrixMenu
+#pause 3000
+#test KillFusion
+#delete test
+#[Endtest]
#------------------------------------------------------------------------------------
#
# CaseClass: core
#------------------------------------------------------------------------------------
-[Test]
-title 112 EOpenVCSettingsAddFeed - EMatrixMenu, while playing
-create VideoPlayerStartupApiTest test
-test ActivationMessage ELaunchVideoToPlayer ENotification 0
-pause 3000
-test ActivationMessage EOpenVCSettingsAddFeed EMatrixMenu
-pause 3000
-test KillFusion
-delete test
-[Endtest]
+#[Test]
+#title 112 EOpenVCSettingsAddFeed - EMatrixMenu, while playing
+#create VideoPlayerStartupApiTest test
+#test ActivationMessage ELaunchVideoToPlayer ENotification 0
+#pause 3000
+#test ActivationMessage EOpenVCSettingsAddFeed EMatrixMenu
+#pause 3000
+#test KillFusion
+#delete test
+#[Endtest]
#------------------------------------------------------------------------------------
#
# CaseClass: core
#------------------------------------------------------------------------------------
-[Test]
-title 113 ELiveTVMessageLastWatched - EMatrixMenu, while playing
-create VideoPlayerStartupApiTest test
-test ActivationMessage ELaunchVideoToPlayer ENotification 0
-pause 3000
-test ActivationMessage ELiveTVMessageLastWatched EMatrixMenu
-pause 3000
-test KillFusion
-delete test
-[Endtest]
+#[Test]
+#title 113 ELiveTVMessageLastWatched - EMatrixMenu, while playing
+#create VideoPlayerStartupApiTest test
+#test ActivationMessage ELaunchVideoToPlayer ENotification 0
+#pause 3000
+#test ActivationMessage ELiveTVMessageLastWatched EMatrixMenu
+#pause 3000
+#test KillFusion
+#delete test
+#[Endtest]
#------------------------------------------------------------------------------------
#
# CaseClass: core
#------------------------------------------------------------------------------------
-[Test]
-title 114 EOpenVCSettingsLiveTVSubscriptions - EMatrixMenu, while playing
-create VideoPlayerStartupApiTest test
-test ActivationMessage ELaunchVideoToPlayer ENotification 0
-pause 3000
-test ActivationMessage EOpenVCSettingsLiveTVSubscriptions EMatrixMenu
-pause 3000
-test KillFusion
-delete test
-[Endtest]
+#[Test]
+#title 114 EOpenVCSettingsLiveTVSubscriptions - EMatrixMenu, while playing
+#create VideoPlayerStartupApiTest test
+#test ActivationMessage ELaunchVideoToPlayer ENotification 0
+#pause 3000
+#test ActivationMessage EOpenVCSettingsLiveTVSubscriptions EMatrixMenu
+#pause 3000
+#test KillFusion
+#delete test
+#[Endtest]
#------------------------------------------------------------------------------------
#
# CaseClass: core
#------------------------------------------------------------------------------------
-[Test]
-title 115 EOpenVCSettingsEditFeed - EMatrixMenu, while playing
-create VideoPlayerStartupApiTest test
-test ActivationMessage ELaunchVideoToPlayer ENotification 0
-pause 3000
-test ActivationMessage EOpenVCSettingsEditFeed EMatrixMenu
-pause 3000
-test KillFusion
-delete test
-[Endtest]
+#[Test]
+#title 115 EOpenVCSettingsEditFeed - EMatrixMenu, while playing
+#create VideoPlayerStartupApiTest test
+#test ActivationMessage ELaunchVideoToPlayer ENotification 0
+#pause 3000
+#test ActivationMessage EOpenVCSettingsEditFeed EMatrixMenu
+#pause 3000
+#test KillFusion
+#delete test
+#[Endtest]
#------------------------------------------------------------------------------------
#
--- a/videoplayer_plat/videoplayer_startup_api/tsrc/group/VideoPlayerStartupApiTest.mmp Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayer_plat/videoplayer_startup_api/tsrc/group/VideoPlayerStartupApiTest.mmp Fri Mar 12 15:43:00 2010 +0200
@@ -47,7 +47,6 @@
SOURCE VideoPlayerStartupApiTest.cpp
SOURCE VideoPlayerStartupApiTestBlocks.cpp
-SOURCE VCXTestSmClient.cpp
//RESOURCE resource_file
//RESOURCE resource_file2
@@ -78,8 +77,6 @@
LIBRARY insock.lib
LIBRARY esock.lib
LIBRARY sendui.lib
-LIBRARY IptvUtil.lib
-LIBRARY IPTVClientAPI.lib
LIBRARY FLOGGER.lib
LIBRARY ecom.lib
LIBRARY VCXTestMyVideosCollectionClient.lib
--- a/videoplayer_plat/videoplayer_startup_api/tsrc/inc/VideoPlayerStartupApiTest.h Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayer_plat/videoplayer_startup_api/tsrc/inc/VideoPlayerStartupApiTest.h Fri Mar 12 15:43:00 2010 +0200
@@ -48,7 +48,6 @@
// FORWARD DECLARATIONS
//class ?FORWARD_CLASSNAME;
class CVideoPlayerStartupApiTest;
-class CVCXTestSmClient;
class CVCXTestMyVideosCollectionClient;
// DATA TYPES
@@ -168,8 +167,6 @@
RPointerArray<CTestProcess> iProcessHandles;
- CVCXTestSmClient* iSmClient;
-
CVCXTestMyVideosCollectionClient* iMyVideosCollectionClient;
CVCXTestMessageWait* iMessageWait;
TInt iCollectionError;
--- a/videoplayer_plat/videoplayer_startup_api/tsrc/src/VideoPlayerStartupApiTest.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayer_plat/videoplayer_startup_api/tsrc/src/VideoPlayerStartupApiTest.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -21,7 +21,6 @@
#include <SettingServerClient.h>
#include "VideoPlayerStartupApiTest.h"
-#include "VCXTestSmClient.h"
// EXTERNAL DATA STRUCTURES
//extern ?external_data;
@@ -131,8 +130,6 @@
CStifLogger::ETxt,
CStifLogger::EFile,
EFalse );
-
- iSmClient = CVCXTestSmClient::NewL();
SendTestClassVersion();
}
@@ -164,9 +161,6 @@
// Delete logger
delete iLog;
-
- delete iSmClient;
- iSmClient = NULL;
}
//-----------------------------------------------------------------------------
--- a/videoplayer_plat/videoplayer_startup_api/tsrc/src/VideoPlayerStartupApiTestBlocks.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayer_plat/videoplayer_startup_api/tsrc/src/VideoPlayerStartupApiTestBlocks.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -32,7 +32,6 @@
#include "VideoPlayerStartupApiTest.h"
#include "VCXTestLog.h"
-#include "VCXTestSmClient.h"
#include "VCXTestMyVideosCollectionClient.h"
// CONSTANTS
@@ -70,7 +69,7 @@
{
// Copy this line for every implemented function.
// First string is the function name used in TestScripter script file.
- // Second is the actual implementation member function.
+ // Second is the actual implementation member function.
ENTRY( "ActivationMessage", CVideoPlayerStartupApiTest::ActivationMessageL ),
ENTRY( "KillFusion", CVideoPlayerStartupApiTest::KillFusionL ),
//ADD NEW ENTRY HERE
@@ -118,7 +117,7 @@
// Refresh collection.
iMyVideosCollectionClient->RefreshCollectionL();
iMessageWait->AddMessage( EVCXTestVideoListRefreshed );
- iMessageWait->WaitForAllL( 10, ETrue );
+ iMessageWait->WaitForAllL( 10, ETrue );
}
if( iCollectionError != KErrNone )
@@ -207,7 +206,6 @@
case TVideoPlayerActivationMessage::ELaunchServiceById:
{
VCXLOGLO1("CVideoPlayerStartupApiTest:: msgType: ELaunchServiceById");
- iSmClient->GetAnyServiceIdL( message.iServiceId );
}
break;
--- a/videoplayerapp/group/bld.inf Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayerapp/group/bld.inf Fri Mar 12 15:43:00 2010 +0200
@@ -16,7 +16,7 @@
*
*/
-// Version : %version: ou1cpsw#3 %
+// Version : %version: ou1cpsw#4 %
@@ -24,6 +24,5 @@
#include "../lwplayer/group/bld.inf"
#include "../mpxvideoplayer/group/bld.inf"
-#include "../videoplayerlauncher/group/bld.inf"
// EOF
--- a/videoplayerapp/lwplayer/src/lwplayerappui.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayerapp/lwplayer/src/lwplayerappui.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 7 %
+// Version : %version: 8 %
#include <DocumentHandler.h>
@@ -208,14 +208,14 @@
MPX_DEBUG(_L(" filename = %S"), &fileName);
- if ( !iEmbeddedMPCreated )
+ if ( ! iEmbeddedMPCreated )
{
//
// Launch the Media Player for ProgDL playback
// Ignore the errors since the Media Player is
// responsible for all error messages once launched.
//
- TRAPD( err, LaunchMediaPlayerL( fileName, genParList ) );
+ MPX_TRAPD( err, LaunchMediaPlayerL( fileName, genParList ) );
if ( err != KErrNone )
{
@@ -232,8 +232,8 @@
CLWPlayerAppUi::LaunchMediaPlayerL( const TDesC& afilename,
const CAiwGenericParamList* aparamList )
{
- MPX_DEBUG(_L("CLWPlayerAppUi::LaunchMediaPlayerL(%S)"), &afilename);
-
+ MPX_ENTER_EXIT(_L("CLWPlayerAppUi::LaunchMediaPlayerL()"),
+ _L("afilename = %S"), &afilename );
//
// The download manager has already performed recognition on the file
@@ -250,7 +250,7 @@
// Call the document handler to open the file
// It will leave if the filename is not present
//
- TRAPD( err, handler.OpenTempFileL( afilename, file ));
+ MPX_TRAPD( err, handler.OpenTempFileL( afilename, file ));
if ( err == KErrNotFound )
{
@@ -264,7 +264,7 @@
{
CleanupClosePushL( file );
- TRAPD( err, handler.OpenFileEmbeddedL( file, datatype, *aparamList ) );
+ MPX_TRAPD( err, handler.OpenFileEmbeddedL( file, datatype, *aparamList ) );
//
// ignore some document handler errors
--- a/videoplayerapp/mpxvideoplayer/data/mpxvideoplayer_reg.rss Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayerapp/mpxvideoplayer/data/mpxvideoplayer_reg.rss Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: da1mmcf#12 %
+// Version : %version: 13 %
// INCLUDES
#include <appinfo.rh>
@@ -40,9 +40,6 @@
localisable_resource_id = R_MPXVIDEOPLAYER_LOCALISABLE_APP_INFO;
embeddability = KAppEmbeddable;
- // Hide this application, launcher will be visible instead
- hidden = KAppIsHidden;
-
datatype_list =
{
DATATYPE { priority=EDataTypePrioritySystem; type="video/avi"; },
--- a/videoplayerapp/mpxvideoplayer/group/mpxvideoplayer.mmp Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayerapp/mpxvideoplayer/group/mpxvideoplayer.mmp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 27 %
+// Version : %version: da1mmcf#28 %
#include <platform_paths.hrh>
#include <data_caging_paths.hrh>
@@ -73,15 +73,7 @@
LIBRARY commonengine.lib
LIBRARY estor.lib
LIBRARY apgrfx.lib
-LIBRARY cmmanager.lib
-LIBRARY commsdat.lib
-LIBRARY mpsettengine.lib
LIBRARY playbackhelper.lib
-LIBRARY esock.lib
-LIBRARY extendedconnpref.lib
-LIBRARY netmeta.lib
-LIBRARY commdb.lib
-
LIBRARY mpxviewutility.lib // MPX view utility
LIBRARY mpxplaybackutility.lib // MPX playback utility
LIBRARY mpxcollectionutility.lib
--- a/videoplayerapp/mpxvideoplayer/inc/mpxvideoplayerappui.h Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayerapp/mpxvideoplayer/inc/mpxvideoplayerappui.h Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: da1mmcf#14 %
+// Version : %version: 15 %
#ifndef CMPXVIDEOPLAYERAPPUI_H
@@ -107,12 +107,6 @@
* @return Active akn view or NULL if no views.
*/
CAknView* View();
-
- /**
- * Sends a message to Matrix menu.
- * @param aMessage The message to be sent.
- */
- void LaunchMmViewL( const TDesC8& aMessage );
private:
/**
@@ -161,7 +155,6 @@
// own
CMpxVideoPlayerAppUiEngine* iAppUiEngine;
- TBool iEndKeyExit;
};
--- a/videoplayerapp/mpxvideoplayer/inc/mpxvideoplayerappuiengine.h Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayerapp/mpxvideoplayer/inc/mpxvideoplayerappuiengine.h Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: da1mmcf#27 %
+// Version : %version: e92_31 %
#ifndef CMPXVIDEOPLAYERAPPUIENGINE_H
@@ -42,7 +42,6 @@
class MMPXCollectionUiHelper;
class CAiwGenericParamList;
class CVideoPlaylistUtility;
-class RConnection;
/**
* Application UI class.
@@ -97,11 +96,6 @@
void ActivatePlaybackViewL();
/**
- * Sets mpx components ready for application shutdown
- */
- void PrepareCloseMpxL();
-
- /**
* Sets AppUiEngine in stand alone "mode"
*/
void StartStandAloneL();
@@ -116,12 +110,6 @@
*/
void StepBackCollectionPathL();
- /**
- * Process activation message.
- * @param aMsg reference to activation message
- */
- void ProcessActivationMessageL( const TDesC8 &aMsg );
-
/*
* Handle embedded playback message
* @param aMessageUid message identification uid
@@ -232,14 +220,11 @@
void ClearPdlInformation();
- /**
- * Checks if application has to exit to Matrix root menu
- */
- TBool ExitToMatrixMenu();
-
void InitializeFileL( const TDesC& aFileName );
void ClosePlaybackPluginL();
+
+ void SignalViewPdlReloading();
private:
/**
@@ -272,41 +257,6 @@
CMediaRecognizer::TMediaType aMediaType,
TBool aUseFileHandle = EFalse );
- /*
- * Sets the access point member variable
- */
- void SetAccessPointL();
-
- /**
- * Checks if the the AP is WLAN
- *
- * @param aAPId - the ID of access point to be evaluated
- * @return ETrue if the bearer type is WLAN for this access point
- */
- TBool IsWLANAccessPointL(TInt aAPId);
-
- /**
- * Reads the default AP
- *
- * @return ID of the default Access Point read from the config file
- */
- TInt GetDefaultAccessPointL();
-
- /**
- * Converts UID of the AP to and Access Point Id
- *
- * @return ID of the Access Point
- */
- TInt GetAccessPointIdForUIDL(TUint32 aAPUid);
-
- /**
- * Tries to get AP ID for connection.
- * If default AP is not available, AP is queried from the user.
- *
- * @return ID of the Access Point
- */
- TUint32 TryToGetAccessPointL();
-
TInt HandleAiwGenericParamListL( const CAiwGenericParamList* aParams );
/**
@@ -340,20 +290,6 @@
*/
void UpdatePbPluginMediaL();
- /*
- * Sends custom command to active view
- *
- * @param aMsg custom message data
- */
- void SendCustomCommandToActiveViewL( const TDesC8& aMsg );
-
- /*
- * Gets IAP ID from active connection.
- *
- * @param aConn Connection to query.
- */
- TUint32 QueryIap( RConnection& aConn );
-
void InitializeStreamingLinkL( const TDesC& aUri );
void InitializePlaylistL( const CMPXCollectionPlaylist& aPlaylist, TBool aPlay );
@@ -376,11 +312,9 @@
CMpxVideoEmbeddedPdlHandler* iPdlHandler; // own
TInt iAccessPointId;
- TInt iExtAccessPointId;
TBool iMultilinkPlaylist;
TBool iSeekable;
TBool iUpdateSeekInfo;
- TBool iExitToMatrixMenu;
};
//
--- a/videoplayerapp/mpxvideoplayer/sis/VideoPlayer.pkg Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayerapp/mpxvideoplayer/sis/VideoPlayer.pkg Fri Mar 12 15:43:00 2010 +0200
@@ -1,4 +1,4 @@
-;
+;
; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
; All rights reserved.
; This component and the accompanying materials are made available
@@ -41,13 +41,6 @@
"/epoc32/data/Z/resource/apps/mpxvideoplayer_aif.mif" - "!:/resource/apps/mpxvideoplayer_aif.mif"
;
-; Video Player launcher
-;
-"/epoc32/release/armv5/urel/videoplayerlauncher.exe" - "!:/sys/bin/videoplayerlauncher.exe"
-"/epoc32/data/z/resource/apps/videoplayerlauncher.rsc" - "!:/resource/apps/videoplayerlauncher.rsc"
-"/epoc32/data/z/private/10003a3f/apps/videoplayerlauncher_reg.rsc" - "!:/private/10003a3f/import/apps/videoplayerlauncher_reg.rsc"
-
-;
; Playback Plugin
;
"/epoc32/release/armv5/urel/mpxvideohelixplayback.dll" - "!:/sys/bin/mpxvideohelixplayback.dll"
@@ -88,20 +81,6 @@
"/epoc32/data/z/private/10003a3f/apps/lwplayer_reg.rsc" - "!:/private/10003a3f/import/apps/lwplayer_reg.rsc"
;
-; Matrix (Homescreen)
-;
-"/epoc32/release/armv5/urel/vcxnsahplugin.dll" - "!:/sys/bin/vcxnsahplugin.dll"
-"/epoc32/data/z/resource/plugins/vcxnsahplugin.rsc" - "!:/resource/plugins/vcxnsahplugin.rsc"
-"/epoc32/release/armv5/urel/vcxnscontentharvesterplugin.dll" - "!:/sys/bin/vcxnscontentharvesterplugin.dll"
-"/epoc32/data/z/resource/plugins/vcxnscontentharvesterplugin.rsc" - "!:/resource/plugins/vcxnscontentharvesterplugin.rsc"
-"/epoc32/data/z/resource/apps/videocontentharvester.rsc" - "!:/resource/apps/videocontentharvester.rsc"
-"/epoc32/data/z/resource/apps/videosuiteres.rsc" - "!:/resource/apps/videosuiteres.rsc"
-"/epoc32/include/videosuiteres.rsg" - "!:/resource/apps/videosuiteres.rsg"
-"/epoc32/data/Z/resource/apps/videosuite.mif" - "!:/resource/apps/videosuite.mif"
-"../../../homescreenplugins/videosuiteconf/data/suite.xml" - "!:/private/101f4cd2/import/suites/tvvideosuite/suite.xml"
-"../../../homescreenplugins/videosuiteconf/data/vcns_matrix_items.xml" - "!:/private/101f4cd2/import/suites/tvvideosuite/vcns_matrix_items.xml"
-
-;
; File details dialog
;
"/epoc32/release/armv5/urel/MPFileDetailsDialog.dll" - "!:/sys/bin/MPFileDetailsDialog.dll"
@@ -114,22 +93,6 @@
"/epoc32/data/z/resource/plugins/filedetailsplugin.rsc" - "!:/resource/plugins/filedetailsplugin.rsc"
;
-; Iptv Server
-;
-"/epoc32/release/armv5/urel/iptvserver.exe" - "!:/sys/bin/iptvserver.exe"
-
-;
-; Iptv Client API
-;
-"/epoc32/release/armv5/urel/iptvclientapi.dll" - "!:/sys/bin/iptvclientapi.dll"
-
-;
-; Iptv Utils
-;
-"/epoc32/release/armv5/urel/iptvutil.dll" - "!:/sys/bin/iptvutil.dll"
-"/epoc32/data/z/resource/apps/iptvmimesupport.rsc" - "!:/resource/apps/iptvmimesupport.rsc"
-
-;
; MyVideos Collection Plugin
;
"/epoc32/release/armv5/urel/vcxmyvideoscollectionplugin.dll" - "!:/sys/bin/vcxmyvideoscollectionplugin.dll"
@@ -148,64 +111,6 @@
"/epoc32/release/armv5/urel/cseschedulerclient.dll" - "!:/sys/bin/cseschedulerclient.dll"
;
-; View Message Utility
-;
-"/epoc32/release/armv5/urel/vcxviewmessageutility.dll" - "!:/sys/bin/vcxviewmessageutility.dll"
-
-;
-; Vcx Notifier
-;
-"/epoc32/release/armv5/urel/vcxnotifierplugin.dll" - "!:/sys/bin/vcxnotifierplugin.dll"
-"/epoc32/data/z/resource/plugins/vcxnotifierplugin.rsc" - "!:/resource/plugins/vcxnotifierplugin.rsc"
-"/epoc32/data/z/resource/plugins/vcxnotifier.rsc" - "!:/resource/plugins/vcxnotifier.rsc"
-
-;
-; Scheduled Download Plugin
-;
-"/epoc32/release/armv5/urel/iptvscheduleddownloadplugin.dll" - "!:/sys/bin/iptvscheduleddownloadplugin.dll"
-"/epoc32/data/z/resource/plugins/iptvscheduleddownloadplugin.rsc" - "!:/resource/plugins/iptvscheduleddownloadplugin.rsc"
-
-;
-; Provisioning App
-;
-"/epoc32/release/armv5/urel/iptvprovisioningapp.exe" - "!:/sys/bin/iptvprovisioningapp.exe"
-"/epoc32/data/z/private/10003a3f/apps/iptvprovisioningapp_reg.rsc" - "!:/private/10003a3f/import/apps/iptvprovisioningapp_reg.rsc"
-"/epoc32/data/z/resource/apps/iptvprovisioningapp.rsc" - "!:/resource/apps/iptvprovisioningapp.rsc"
-
-;
-; Provisioning Processor
-;
-"/epoc32/release/armv5/urel/iptvprovisioningprocessor.dll" - "!:/sys/bin/iptvprovisioningprocessor.dll"
-
-;
-; OMA Provisioning
-;
-"/epoc32/release/armv5/urel/iptvomaprovisioningadapter.dll" - "!:/sys/bin/iptvomaprovisioningadapter.dll"
-"/epoc32/data/z/resource/plugins/iptvomaprovisioningadapter.rsc" - "!:/resource/plugins/iptvomaprovisioningadapter.rsc"
-
-;
-; Provisioning Recognizer
-;
-"/epoc32/release/armv5/urel/iptvprovrec.dll" - "!:/sys/bin/iptvprovrec.dll"
-"/epoc32/data/z/resource/plugins/iptvprovrec.rsc" - "!:/resource/plugins/iptvprovrec.rsc"
-
-;
-; RSS Plugin
-;
-"/epoc32/release/armv5/urel/iptvrssplugin.dll" - "!:/sys/bin/iptvrssplugin.dll"
-"/epoc32/data/z/resource/plugins/iptvrssplugin.rsc" - "!:/resource/plugins/iptvrssplugin.rsc"
-
-;
-; VOD UI Engine
-;
-"/epoc32/release/armv5/urel/vcxnsuiengine.dll" - "!:/sys/bin/vcxnsuiengine.dll"
-
-;
-; LiveTV Utils
-;
-"/epoc32/release/armv5/urel/livetvutils.dll" - "!:/sys/bin/livetvutils.dll"
-
-;
; MediaSettings
;
"/epoc32/release/armv5/urel/mediasettings.exe" - "!:/sys/bin/mediasettings.exe"
@@ -241,37 +146,17 @@
;
; View Plugins
;
-"/epoc32/release/armv5/urel/vcxnssettingsplugin.dll" - "!:/sys/bin/vcxnssettingsplugin.dll"
-"/epoc32/data/z/resource/plugins/vcxnssettingsplugin.rsc" - "!:/resource/plugins/vcxnssettingsplugin.rsc"
-
-"/epoc32/release/armv5/urel/vcxhgvodplugin.dll" - "!:/sys/bin/vcxhgvodplugin.dll"
-"/epoc32/data/z/resource/plugins/vcxhgvodplugin.rsc" - "!:/resource/plugins/vcxhgvodplugin.rsc"
-
"/epoc32/release/armv5/urel/vcxhgmyvideosplugin.dll" - "!:/sys/bin/vcxhgmyvideosplugin.dll"
"/epoc32/data/z/resource/plugins/vcxhgmyvideosplugin.rsc" - "!:/resource/plugins/vcxhgmyvideosplugin.rsc"
-"/epoc32/release/armv5/urel/vcxnsscheduleplugin.dll" - "!:/sys/bin/vcxnsscheduleplugin.dll"
-"/epoc32/data/z/resource/plugins/vcxnsscheduleplugin.rsc" - "!:/resource/plugins/vcxnsscheduleplugin.rsc"
-
;
; Views
;
-"/epoc32/release/armv5/urel/vcxnssettingsview.dll" - "!:/sys/bin/vcxnssettingsview.dll"
-"/epoc32/data/z/resource/apps/vcxnssettingsview.rsc" - "!:/resource/apps/vcxnssettingsview.rsc"
-
"/epoc32/release/armv5/urel/vcxhgmyvideos.dll" - "!:/sys/bin/vcxhgmyvideos.dll"
"/epoc32/data/z/resource/apps/vcxhgmyvideos.rsc" - "!:/resource/apps/vcxhgmyvideos.rsc"
"/epoc32/data/z/resource/apps/vcxhgmyvideos.mif" - "!:/resource/apps/vcxhgmyvideos.mif"
"/epoc32/data/z/resource/apps/vcxhgmyvideosicons.mif" - "!:/resource/apps/vcxhgmyvideosicons.mif"
-"/epoc32/release/armv5/urel/vcxhgvodui.dll" - "!:/sys/bin/vcxhgvodui.dll"
-"/epoc32/data/z/resource/apps/vcxhgvodui.rsc" - "!:/resource/apps/vcxhgvodui.rsc"
-
-"/epoc32/data/z/resource/apps/vcxhgvoddefaulticons.mif" - "!:/resource/apps/vcxhgvoddefaulticons.mif"
-
-"/epoc32/release/armv5/urel/vcxnsscheduleview.dll" - "!:/sys/bin/vcxnsscheduleview.dll"
-"/epoc32/data/z/resource/apps/vcxnsscheduleview.rsc" - "!:/resource/apps/vcxnsscheduleview.rsc"
-
;
; My Videos indicator plugin
;
@@ -279,11 +164,6 @@
"/epoc32/data/z/resource/plugins/myvideosindicatorplugin.rsc" - "!:/resource/plugins/myvideosindicatorplugin.rsc"
;
-; Default VOD services
-;
-"/epoc32/data/z/private/102750D5/services.xml" - "c:/private/102750D5/services.xml"
-
-;
; Help files
;
"/epoc32/data/z/resource/xhtml/01/0x102750E2/contents.zip" - "!:/resource/xhtml/01/0x102750E2/contents.zip"
@@ -295,21 +175,12 @@
; Language specific files for Video Player application
; If user want to create sis files for a specific variant then add supported languages here
;
-"/epoc32/data/z/resource/apps/vcxnssettingsview.r01" - "!:/resource/apps/vcxnssettingsview.r01"
"/epoc32/data/z/resource/mediasettings.r01" - "!:/resource/mediasettings.r01"
"/epoc32/data/z/resource/apps/MPFileDetails.r01" - "!:/resource/apps/MPFileDetails.r01"
-"/epoc32/data/z/resource/apps/videosuiteres.r01" - "!:/resource/apps/videosuiteres.r01"
"/epoc32/data/z/resource/apps/mediasettings.r01" - "!:/resource/apps/mediasettings.r01"
"/epoc32/data/z/resource/apps/vcxhgmyvideos.r01" - "!:/resource/apps/vcxhgmyvideos.r01"
-"/epoc32/data/z/resource/apps/vcxhgvodui.r01" - "!:/resource/apps/vcxhgvodui.r01"
-"/epoc32/data/z/resource/plugins/iptvomaprovisioningadapter.r01" - "!:/resource/plugins/iptvomaprovisioningadapter.r01"
-"/epoc32/data/z/resource/apps/iptvprovisioningapp.r01" - "!:/resource/apps/iptvprovisioningapp.r01"
-"/epoc32/data/z/resource/apps/vcxnsscheduleview.r01" - "!:/resource/apps/vcxnsscheduleview.r01"
-"/epoc32/data/z/resource/plugins/vcxnotifier.r01" - "!:/resource/plugins/vcxnotifier.r01"
"/epoc32/data/z/resource/apps/mpxvideoplaybackcontrols.r01" - "!:/resource/apps/mpxvideoplaybackcontrols.r01"
"/epoc32/data/z/resource/apps/mpxvideoplaybackviews.r01" - "!:/resource/apps/mpxvideoplaybackviews.r01"
"/epoc32/data/z/resource/apps/lwplayer.r01" - "!:/resource/apps/lwplayer.r01"
"/epoc32/data/z/resource/apps/mpxvideoplayer.r01" - "!:/resource/apps/mpxvideoplayer.r01"
-"/epoc32/data/z/resource/apps/videoplayerlauncher.r01" - "!:/resource/apps/videoplayerlauncher.r01"
-"/epoc32/data/z/resource/apps/videocontentharvester.r01" - "!:/resource/apps/videocontentharvester.r01"
--- a/videoplayerapp/mpxvideoplayer/src/mpxvideoembeddedpdlhandler.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayerapp/mpxvideoplayer/src/mpxvideoembeddedpdlhandler.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 11 %
+// Version : %version: 12 %
#include <mpxcommand.h>
@@ -106,6 +106,8 @@
// New download received, close old playback plugin
//
iAppUiEngine->ClosePlaybackPluginL();
+
+ iAppUiEngine->SignalViewPdlReloading();
StartNewDownloadL( aDlId, aFileName );
}
--- a/videoplayerapp/mpxvideoplayer/src/mpxvideoplayerappui.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayerapp/mpxvideoplayer/src/mpxvideoplayerappui.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 34 %
+// Version : %version: e92_37 %
#include <hlplch.h> // Help launcher
@@ -44,19 +44,12 @@
#include "mpxvideo_debug.h"
#include "videoplayerpskeys.h"
-// Matrix uid, needed for activating the suite view.
-const TInt KVcxMatrixUid = 0x101F4CD2;
-
-// The action=exit flag tells menu that the suite app view is exiting via options->exit.
-_LIT8( KVcxVideoSuiteExitMessage, "mm://tvvideosuite?action=exit" );
-
// ======== MEMBER FUNCTIONS ========
// -----------------------------------------------------------------------------
// CMpxVideoPlayerAppUi::CMpxVideoPlayerAppUi
// -----------------------------------------------------------------------------
//
CMpxVideoPlayerAppUi::CMpxVideoPlayerAppUi()
- : iEndKeyExit( EFalse )
{
MPX_DEBUG(_L("CMpxVideoPlayerAppUi::CMpxVideoPlayerAppUi()"));
}
@@ -71,8 +64,6 @@
BaseConstructL( EAknEnableSkin | EAknSingleClickCompatible );
- DoWgIdUpkeep();
-
if ( IsEmbedded() )
{
//
@@ -80,52 +71,10 @@
//
SetOrientationL( CAknAppUiBase::EAppUiOrientationLandscape );
}
- else
- {
- //
- // if we are stand alone mode store window group id to RProperty
- // so we can identify it in ActionHandlerPlugin.
- //
- RProperty::Define( KVideoPlayerRPropertyCategory,
- KVideoPlayerRPropertyWGIdKey,
- RProperty::EInt );
-
- RProperty::Set( KVideoPlayerRPropertyCategory,
- KVideoPlayerRPropertyWGIdKey,
- iCoeEnv->RootWin().Identifier() );
- }
iAppUiEngine = CMpxVideoPlayerAppUiEngine::NewL( this );
}
-
-// -----------------------------------------------------------------------------
-// CMpxVideoPlayerAppUi::DoWgIdUpkeer
-// Checks if stored wgid is run by other application than us
-// -----------------------------------------------------------------------------
-//
-void CMpxVideoPlayerAppUi::DoWgIdUpkeep()
-{
- MPX_ENTER_EXIT(_L("CMpxVideoPlayerAppUi::DoWgIdUpkeep()"));
-
- // Do the upkeep for stand alone wg identifier
- // If we find that the WgId of this application is same
- // as the one stored in RProperty we know that the stand
- // alone has crashed and we have to clear it.
- TInt wgId( 0 );
- TInt err( RProperty::Get( KVideoPlayerRPropertyCategory, KVideoPlayerRPropertyWGIdKey, wgId ) );
-
- if ( wgId && !err )
- {
- if ( IsEmbedded() && wgId == iCoeEnv->RootWin().Identifier() )
- {
- // Stored wgId is ours and we are in embedded mode. Delete!
- RProperty::Delete( KVideoPlayerRPropertyCategory,
- KVideoPlayerRPropertyWGIdKey );
- }
- }
-}
-
// -----------------------------------------------------------------------------
// CMpxVideoPlayerAppUi::~CMpxVideoPlayerAppUi
// Destructor. Frees reserved resources
@@ -135,13 +84,6 @@
{
MPX_ENTER_EXIT(_L("CMpxVideoPlayerAppUi::~CMpxVideoPlayerAppUi()"));
- // If we are running in embedded we keep the RProperty alive when exiting.
- if ( ! IsEmbedded() )
- {
- RProperty::Delete( KVideoPlayerRPropertyCategory,
- KVideoPlayerRPropertyWGIdKey );
- }
-
delete iAppUiEngine;
}
@@ -180,13 +122,15 @@
void CMpxVideoPlayerAppUi::HandleWsEventL( const TWsEvent& aEvent, CCoeControl* aDestination )
{
TInt eventType = aEvent.Type();
- if ( eventType == KAknUidValueEndKeyCloseEvent // End Call key
- || eventType == KAknShutOrHideApp ) // Exit cmd from Task Switcher
+
+ //
+ // Close from the End Call Key or the Exit Cmd from the Task Switcher
+ //
+ if ( eventType == KAknUidValueEndKeyCloseEvent || eventType == KAknShutOrHideApp )
{
MPX_DEBUG(_L("CMpxVideoPlayerAppUi::HandleWsEventL() Closed by framework"));
- iEndKeyExit = ETrue;
- iAppUiEngine->PrepareCloseMpxL();
+ iAppUiEngine->ClosePlaybackPluginL();
}
CAknAppUi::HandleWsEventL( aEvent, aDestination );
@@ -208,17 +152,7 @@
{
MPX_DEBUG(_L("CMpxVideoPlayerAppUi::HandleCommandL() - Exit"));
- iAppUiEngine->PrepareCloseMpxL();
-
- //
- // Send message to matrix menu on a stand alone instance if:
- // 1) End Key is pressed
- // 2) Exit command has been issued
- //
- if ( ! IsEmbedded() && ( ! iEndKeyExit && iAppUiEngine->ExitToMatrixMenu() ) )
- {
- LaunchMmViewL( KVcxVideoSuiteExitMessage );
- }
+ iAppUiEngine->ClosePlaybackPluginL();
HandleExit();
break;
@@ -239,11 +173,6 @@
iAppUiEngine->ClearPdlInformation();
break;
}
- default:
- {
- // do nothing if the command is not reconized
- break;
- }
}
}
@@ -378,23 +307,3 @@
return iView;
}
-// ---------------------------------------------------------------------------
-// Sends a message to Matrix Menu
-// ---------------------------------------------------------------------------
-//
-void CMpxVideoPlayerAppUi::LaunchMmViewL( const TDesC8& aMessage )
-{
- MPX_ENTER_EXIT(_L("CMpxVideoPlayerAppUi::LaunchMmViewL()"));
-
- TApaTaskList taskList( iCoeEnv->WsSession() );
- TApaTask task = taskList.FindApp( TUid::Uid( KVcxMatrixUid ) );
-
- if ( task.Exists() )
- {
- //
- // Matrix is already running in background - send APA Message
- //
- task.SendMessage( TUid::Uid( KUidApaMessageSwitchOpenFileValue ), aMessage );
- }
-}
-
--- a/videoplayerapp/mpxvideoplayer/src/mpxvideoplayerappuiengine.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayerapp/mpxvideoplayer/src/mpxvideoplayerappuiengine.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: da1mmcf#61 %
+// Version : %version: e92_66 %
#include <eikon.hrh>
@@ -39,18 +39,10 @@
#include <mpxcollectionhelperfactory.h>
#include <mpxcollectionplugin.hrh>
#include <mpxmediageneralextdefs.h>
-
#include <streaminglinkmodel.h>
-#include <mpsettingsmodel.h>
#include <coeutils.h>
#include <videoplaylistutility.h>
-#include <cmmanagerext.h>
-#include <cmpluginwlandef.h>
-#include <commdb.h> // CMDBSession
-#include <commsdattypesv1_1.h> // CCDWAPIPBearerRecord
-#include <es_sock.h>
-#include <commdbconnpref.h> // TCommDbConnPref
-#include <extendedconnpref.h>
+#include <mmf/common/mmfcontrollerframeworkbase.h>
#include "mpxvideoplayerappuiengine.h"
#include "mpxvideoplayerlogger.h"
@@ -60,8 +52,6 @@
#include "mpxvideo_debug.h"
#include "mpxvideoplayercustomviewmsgconsts.h"
-_LIT( KMpxVideoPlayerQueryIap, "IAP\\Id" );
-
const TInt KMpxPlaybackPluginTypeUid = 0x101FFCA0;
// -----------------------------------------------------------------------------
@@ -75,11 +65,10 @@
iCollectionUtility( NULL ),
iExitAo( NULL ),
iRecognizer( NULL ),
- iExtAccessPointId( KErrUnknown ),
+ iAccessPointId( KUseDefaultIap ),
iMultilinkPlaylist(EFalse),
iSeekable(ETrue),
- iUpdateSeekInfo(EFalse),
- iExitToMatrixMenu(ETrue)
+ iUpdateSeekInfo(EFalse)
{
}
@@ -235,7 +224,8 @@
if ( iPlaybackUtility )
{
- TRAP_IGNORE( iPlaybackUtility->CommandL( EPbCmdClose ) );
+ MMPXPlayerManager& manager = iPlaybackUtility->PlayerManager();
+ TRAP_IGNORE( manager.ClearSelectPlayersL() );
iPlaybackUtility->Close();
}
}
@@ -335,7 +325,7 @@
{
TInt32 apId = KErrUnknown;
genParamAccessPoint->Value().Get( apId );
- iExtAccessPointId = apId;
+ iAccessPointId = apId;
}
}
}
@@ -377,7 +367,6 @@
}
else if ( mediaType == CMediaRecognizer::ELocalSdpFile )
{
- SetAccessPointL();
iPlaybackUtility->InitStreamingL( aFile, iAccessPointId );
ActivatePlaybackViewL();
}
@@ -515,23 +504,6 @@
}
// ---------------------------------------------------------------------------
-// Closed mpx components and readies to application takedown.
-// ---------------------------------------------------------------------------
-//
-void CMpxVideoPlayerAppUiEngine::PrepareCloseMpxL()
-{
- MPX_ENTER_EXIT(_L("CMpxVideoPlayerAppUiEngine::PrepareCloseMpxL()"));
-
- if ( iPlaybackUtility )
- {
- ClosePlaybackPluginL();
-
- MMPXPlayerManager& manager = iPlaybackUtility->PlayerManager();
- TRAP_IGNORE( manager.ClearSelectPlayersL() );
- }
-}
-
-// ---------------------------------------------------------------------------
// Sets AppUiEngine in stand alone "mode"
// ---------------------------------------------------------------------------
//
@@ -539,8 +511,6 @@
{
MPX_ENTER_EXIT(_L("CMpxVideoPlayerAppUiEngine::StartStandAloneL()"));
- iExitToMatrixMenu = EFalse;
-
//
// Create the utilities for the stand alone player
//
@@ -741,7 +711,10 @@
CleanupStack::PopAndDestroy( playlistUtil );
}
-
+// -------------------------------------------------------------------------------------------------
+// CMpxVideoPlayerAppUiEngine::DoHandleMultiLinksFileL()
+// -------------------------------------------------------------------------------------------------
+//
void CMpxVideoPlayerAppUiEngine::DoHandleMultiLinksFileL( CVideoPlaylistUtility* aPlaylistUtil,
TBool aSingleLink,
TBool aLocalFile )
@@ -777,11 +750,6 @@
}
else
{
- if ( ! aLocalFile )
- {
- SetAccessPointL();
- }
-
CMPXMedia* playlist = aPlaylistUtil->GetPlayListL( iAccessPointId );
CleanupStack::PushL( playlist );
@@ -801,351 +769,6 @@
}
}
-// -------------------------------------------------------------------------------------------------
-// CMpxVideoPlayerAppUiEngine::SetAccessPointL
-// -------------------------------------------------------------------------------------------------
-//
-void CMpxVideoPlayerAppUiEngine::SetAccessPointL()
-{
- MPX_ENTER_EXIT(_L("CMpxVideoPlayerAppUiEngine::SetAccessPointL()"));
-
- //
- // a value was passed in for argument aAPId
- //
- if ( ( iExtAccessPointId != KErrUnknown ) && IsWLANAccessPointL( iExtAccessPointId ) )
- {
- //
- // An external WLAN access point was passed in by an embedding app, use it
- //
- iAccessPointId = iExtAccessPointId;
- }
- else
- {
- //
- // No access point was passed in or it's not WLAN, retrieve the default access point
- //
- TInt defaultAPId(0);
-
- MPX_TRAPD( err, defaultAPId = GetDefaultAccessPointL() );
-
- if ( ( err == KErrNone ) && ( defaultAPId != 0 ))
- {
- //
- // Use the default access point
- //
- iAccessPointId = defaultAPId;
- }
- else
- {
- //
- // Valid default access point was not found
- //
- if ( iExtAccessPointId != KErrUnknown )
- {
- //
- // Use the AP passed in by embedding app, regardless of bearer type
- //
- iAccessPointId = iExtAccessPointId;
- }
- else
- {
- //
- // Try to fetch AP ID and open connection selection dialog if required
- //
- TUint32 apUid = TryToGetAccessPointL();
-
- //
- // Use selected access point
- //
- if ( apUid != 0 )
- {
- //
- // convert the AccessPoint-Uid to AccessPoint-Id
- //
- iAccessPointId = GetAccessPointIdForUIDL( apUid );
- }
- }
- }
- }
-}
-
-// -------------------------------------------------------------------------------------------------
-// CMpxVideoPlayerAppUiEngine::IsWLANAccessPointL
-// -------------------------------------------------------------------------------------------------
-//
-TBool CMpxVideoPlayerAppUiEngine::IsWLANAccessPointL( TInt aAPId )
-{
- MPX_DEBUG(_L("CMpxVideoPlayerAppUiEngine::IsWLANAccessPointL(%d)"), aAPId);
-
- TBool wlanAP(EFalse);
- TUint32 bearer( 0 );
-
- RCmManagerExt cmManager;
- CleanupClosePushL( cmManager );
- cmManager.OpenL();
-
- bearer = cmManager.ConnectionMethodL( aAPId ).GetIntAttributeL( CMManager::ECmBearerType );
- CleanupStack::PopAndDestroy( &cmManager );
-
- if ( bearer == KUidWlanBearerType )
- {
- wlanAP = ETrue;
- }
-
- MPX_DEBUG(_L("CMpxVideoPlayerAppUiEngine::IsWLANAccessPointL() return %d"), wlanAP);
-
- return wlanAP;
-}
-
-// -----------------------------------------------------------------------------
-// CMpxVideoPlayerAppUiEngine::GetDefaultAccessPointL
-// -----------------------------------------------------------------------------
-//
-TInt CMpxVideoPlayerAppUiEngine::GetDefaultAccessPointL()
-{
- TInt defaultAP(0);
- TUint32 iap;
-
- CMPSettingsModel* ropSettings = CMPSettingsModel::NewL( KSettingsModelForROPUid );
-
- CleanupStack::PushL( ropSettings );
-
- ropSettings->LoadSettingsL( EConfigDefault );
-
- User::LeaveIfError( ropSettings->GetDefaultAp( iap ) );
-
- CleanupStack::PopAndDestroy(); // ropSettings
-
- defaultAP = GetAccessPointIdForUIDL( iap );
-
- MPX_DEBUG(_L("CMpxVideoPlayerAppUiEngine::GetDefaultAccessPointL(%d)"), defaultAP);
-
- return defaultAP;
-}
-
-// -----------------------------------------------------------------------------
-// CMpxVideoPlayerAppUiEngine::GetAccessPointIdForUIDL
-// -----------------------------------------------------------------------------
-//
-TInt CMpxVideoPlayerAppUiEngine::GetAccessPointIdForUIDL( TUint32 aAPUid )
-{
- MPX_ENTER_EXIT(_L("CMpxVideoPlayerAppUiEngine::GetAccessPointIdForUIDL()"),
- _L(" aAPUid = %d"), aAPUid);
-
- TInt apId(0);
-
- CMDBSession* db = CMDBSession::NewL( CMDBSession::LatestVersion() );
- CleanupStack::PushL( db );
-
- //
- // WapIpBearer table contains the mapping between wap and iap id's.
- //
- CCDWAPIPBearerRecord* wapBearerRecord =
- static_cast<CCDWAPIPBearerRecord*>(CCDRecordBase::RecordFactoryL(KCDTIdWAPIPBearerRecord));
-
- CleanupStack::PushL( wapBearerRecord );
-
- wapBearerRecord->iWAPAccessPointId = aAPUid;
-
- TBool found = wapBearerRecord->FindL( *db );
-
- if ( ! found )
- {
- User::Leave( KErrNotFound );
- }
-
- apId = static_cast<TUint32>( wapBearerRecord->iWAPIAP );
-
- CleanupStack::PopAndDestroy( wapBearerRecord );
- CleanupStack::PopAndDestroy( db );
-
- MPX_DEBUG(_L("CMpxVideoPlayerAppUiEngine::GetAccessPointIdForUIDL(%d)"), apId);
-
- return apId;
-}
-
-// -----------------------------------------------------------------------------
-// CMpxVideoPlayerAppUiEngine::TryToGetAccessPointL
-// -----------------------------------------------------------------------------
-//
-TUint32 CMpxVideoPlayerAppUiEngine::TryToGetAccessPointL()
-{
- MPX_ENTER_EXIT(_L("CMpxVideoPlayerAppUiEngine::TryToGetAccessPointL()"));
-
- TUint32 returnVal(0);
-
- RSocketServ ss;
- CleanupClosePushL( ss );
-
- User::LeaveIfError( ss.Connect() );
-
- RConnection conn;
- CleanupClosePushL( conn );
-
- User::LeaveIfError( conn.Open( ss ) );
-
- TConnPrefList prefList;
- TExtendedConnPref prefs;
- prefs.SetSnapPurpose( CMManager::ESnapPurposeInternet );
- prefs.SetNoteBehaviour( TExtendedConnPref::ENoteBehaviourConnSilent );
- prefList.AppendL( &prefs );
-
- TInt err = conn.Start( prefList );
-
- if ( err == KErrNone )
- {
- returnVal = QueryIap( conn );
- }
- else if ( err == KErrNotFound )
- {
- //
- // SNAP is empty or no WLAN was available.
- // Try again with connection selection dialog.
- //
- MPX_DEBUG(_L(" connection start returned KErrNotFound"));
-
- TConnPrefList prefList2;
- TExtendedConnPref prefs2;
-
- prefs2.SetConnSelectionDialog( ETrue );
- prefList2.AppendL( &prefs2 );
-
- err = conn.Start( prefList2 );
-
- if ( err == KErrNone )
- {
- returnVal = QueryIap( conn );
- }
- else
- {
- User::Leave( err );
- }
- }
- else
- {
- User::Leave( err );
- }
-
- CleanupStack::PopAndDestroy( &conn );
-
- CleanupStack::PopAndDestroy( &ss );
-
- MPX_DEBUG(_L("CMpxVideoPlayerAppUiEngine::TryToGetAccessPointL() AP ID: %d"), returnVal);
-
- return returnVal;
-}
-
-// -------------------------------------------------------------------------------------------------
-// CMpxVideoPlayerAppUiEngine::QueryIap()
-// -------------------------------------------------------------------------------------------------
-//
-TUint32 CMpxVideoPlayerAppUiEngine::QueryIap( RConnection& aConn )
-{
- TUint32 iap( 0 );
- aConn.GetIntSetting( KMpxVideoPlayerQueryIap, iap );
- MPX_DEBUG(_L("CMpxVideoPlayerAppUiEngine::QueryIap(%u)"), iap);
- return iap;
-}
-
-// -----------------------------------------------------------------------------
-// CMpxVideoPlayerAppUiEngine::ProcessActivationMessageL
-// -----------------------------------------------------------------------------
-//
-void CMpxVideoPlayerAppUiEngine::ProcessActivationMessageL( const TDesC8 &aMsg )
-{
- MPX_ENTER_EXIT(_L("CMpxVideoPlayerAppUiEngine::ProcessActivationMessageL()"));
-
- if ( aMsg.Length() < KVideoPlayerActivationMessageMinLength )
- {
- User::Leave( KErrNotSupported );
- }
-
- TVideoPlayerActivationMessage msgHandler;
- TPckg<TVideoPlayerActivationMessage> paramsPckg( msgHandler );
- paramsPckg.Copy( aMsg );
-
- MPX_DEBUG(_L("CMpxVideoPlayerAppUiEngine::ProcessActivationMessageL() sender = %d, type = %d"),
- msgHandler.iMsgSender, msgHandler.iMsgType );
-
- if ( msgHandler.iMsgSender == TVideoPlayerActivationMessage::EMatrixMenu )
- {
- // Clear the view history, so app exits back to matrix.
- iViewUtility->PushDefaultHistoryL();
- }
-
- if ( msgHandler.iMsgType == TVideoPlayerActivationMessage::EOpenInternetVideos )
- {
- iViewUtility->ActivateViewL( TUid::Uid( KMpxVideoPlayerVodViewPluginTypeId ) );
- }
- else if ( msgHandler.iMsgType == TVideoPlayerActivationMessage::EOpenVideoStorage )
- {
- iViewUtility->ActivateViewL( TUid::Uid( KUidMyVideosViewTypeId ) );
- }
- else if ( msgHandler.iMsgType == TVideoPlayerActivationMessage::ELaunchVideoToPlayer )
- {
- //
- // Launch video to player, it can be either local video or stream.
- // If there's path and mpx id, clip can be played directly.
- //
- if ( msgHandler.iServiceId && msgHandler.iFullPath.Length() > 0 )
- {
- if ( iRecognizer->IdentifyMediaTypeL( msgHandler.iFullPath )
- == CMediaRecognizer::ELocalVideoFile )
- {
- TMPXItemId id;
- id.iId1 = msgHandler.iServiceId;
- CMPXMedia* media = CMPXMedia::NewL();
- CleanupStack::PushL( media );
- media->SetTObjectValueL<TMPXItemId>( KMPXMediaGeneralId, id );
- OpenMediaL( *media );
- CleanupStack::PopAndDestroy( media );
- }
- else
- {
- // Most likely the clip has been deleted
- User::Leave( KErrNotFound );
- }
- }
- else
- {
- TBool vodUiRunning = ( iViewUtility->ActiveViewType() ==
- TUid::Uid( KMpxVideoPlayerVodViewPluginTypeId ) );
-
- if ( vodUiRunning )
- {
- // VOD is active, must use the utility to pass the message.
- SendCustomCommandToActiveViewL( aMsg );
- }
- else
- {
- // VOD is not running, activate with custom message.
- HBufC* customMsg = HBufC::NewLC( paramsPckg.Length() );
- customMsg->Des().Copy( paramsPckg );
- iViewUtility->ActivateViewL( TUid::Uid( KMpxVideoPlayerVodViewPluginTypeId ), customMsg );
- CleanupStack::PopAndDestroy( customMsg );
-
- // Clear the view history, so playback returns where it was started
- iViewUtility->PushDefaultHistoryL();
- }
- }
- }
- else if ( msgHandler.iMsgType == TVideoPlayerActivationMessage::ELaunchServiceById )
- {
- if ( iViewUtility->ActiveViewType() == TUid::Uid( KMpxVideoPlayerVodViewPluginTypeId ) )
- {
- // VOD is active, must use the utility to pass the message.
- SendCustomCommandToActiveViewL( aMsg );
- }
- else
- {
- // VOD is not running, activate with custom message.
- HBufC* customMsg = HBufC::NewLC( paramsPckg.Length() );
- customMsg->Des().Copy( paramsPckg );
- iViewUtility->ActivateViewL( TUid::Uid( KMpxVideoPlayerVodViewPluginTypeId ), customMsg );
- CleanupStack::PopAndDestroy( customMsg );
- }
- }
-}
// -----------------------------------------------------------------------------
// CMpxVideoPlayerAppUiEngine::HandleMessageL()
@@ -1163,16 +786,7 @@
// TVideoPlayerActivationMessage received.
case KVideoPlayerVodStartPlayer:
{
- //
- // Do nothing if we are loaded in a playback view
- //
- if ( iViewUtility->ActiveViewType() != TUid::Uid( KMpxPlaybackPluginTypeUid ) )
- {
- ProcessActivationMessageL( aMessageParameters );
- }
-
- msgHandled = ETrue;
-
+ // Do nothing
break;
}
case KVideoPlayerStartPDlPlayer:
@@ -1294,6 +908,10 @@
}
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
void CMpxVideoPlayerAppUiEngine::HandleSoftKeyBackL()
{
MPX_ENTER_EXIT(_L("CMpxVideoPlayerAppUiEngine::HandleSoftKeyBackL()"));
@@ -1305,7 +923,6 @@
//
if ( iViewUtility->ViewHistoryDepth() <= 1 )
{
- iExitToMatrixMenu = EFalse;
ActivateExitActiveObject();
}
else
@@ -1314,6 +931,10 @@
}
}
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
TBool CMpxVideoPlayerAppUiEngine::ProcessCommandParametersL( TApaCommand aCommand,
TFileName& aDocumentName,
const TDesC8& aTail )
@@ -1323,38 +944,31 @@
TBool retVal = EFalse;
//
- // If command line has tail, this is probably a message from Matrix, Live TV
- // reminder, Video Center soft notification, or other VC component.
+ // If we are embedded or the command is to open a document
//
- if ( aTail.Length() > 0 )
+ if ( iAppUi->IsEmbedded() || aCommand != EApaCommandRun )
{
- ProcessActivationMessageL( aTail );
+ if ( iRecognizer->IsValidStreamingPrefix( aDocumentName ) )
+ {
+ retVal = ETrue;
+ }
+ else
+ {
+ retVal = ConeUtils::FileExists( aDocumentName );
+ }
}
else
{
- //
- // If we are embedded or the command is to open a document
- //
- if ( iAppUi->IsEmbedded() || aCommand != EApaCommandRun )
- {
- if ( iRecognizer->IsValidStreamingPrefix( aDocumentName ) )
- {
- retVal = ETrue;
- }
- else
- {
- retVal = ConeUtils::FileExists( aDocumentName );
- }
- }
- else
- {
- StartStandAloneL();
- }
+ StartStandAloneL();
}
return retVal;
}
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
void CMpxVideoPlayerAppUiEngine::ActivateExitActiveObject()
{
MPX_ENTER_EXIT(_L("CMpxVideoPlayerAppUiEngine::ActivateExitActiveObject()"));
@@ -1365,9 +979,9 @@
}
}
-// -----------------------------------------------------------------------------
+// -------------------------------------------------------------------------------------------------
// CMpxVideoPlayerAppUiEngine::ExitApplicationL
-// -----------------------------------------------------------------------------
+// -------------------------------------------------------------------------------------------------
//
TInt CMpxVideoPlayerAppUiEngine::ExitApplicationL( TAny* aPtr )
{
@@ -1425,29 +1039,6 @@
}
// -------------------------------------------------------------------------------------------------
-// CMpxVideoPlayerAppUiEngine::SendCustomCommandToActiveViewL()
-// -------------------------------------------------------------------------------------------------
-//
-void CMpxVideoPlayerAppUiEngine::SendCustomCommandToActiveViewL( const TDesC8& aMsg )
-{
- MPX_ENTER_EXIT(_L("CMpxVideoPlayerAppUiEngine::SendCustomCommandToActiveViewL()"));
-
- User::LeaveIfNull( iAppUi->View() );
-
- HBufC8* msgBuf = aMsg.AllocLC();
-
- TAny* ptr = (TAny*) msgBuf;
-
- UserSvr::DllSetTls( KVcxCustomViewMessagePtr, ptr );
-
- iAppUi->View()->HandleCommandL( KVcxCustomViewMessageCmd );
-
- UserSvr::DllFreeTls( KVcxCustomViewMessagePtr );
-
- CleanupStack::PopAndDestroy( msgBuf );
-}
-
-// -------------------------------------------------------------------------------------------------
// CMpxVideoPlayerAppUiEngine::ClearPdlInformation()
// -------------------------------------------------------------------------------------------------
//
@@ -1462,16 +1053,6 @@
}
// -------------------------------------------------------------------------------------------------
-// CMpxVideoPlayerAppUiEngine::StartedStandAlone()
-// -------------------------------------------------------------------------------------------------
-//
-TBool CMpxVideoPlayerAppUiEngine::ExitToMatrixMenu()
-{
- MPX_DEBUG(_L("CMpxVideoPlayerAppUiEngine::ExitToMatrixMenu(%d)"), iExitToMatrixMenu);
- return iExitToMatrixMenu;
-}
-
-// -------------------------------------------------------------------------------------------------
// CMpxVideoPlayerAppUiEngine::InitializeStreamingLinkL()
// -------------------------------------------------------------------------------------------------
//
@@ -1480,8 +1061,6 @@
MPX_ENTER_EXIT(_L("CMpxVideoPlayerAppUiEngine::InitializeStreamingLinkL()"),
_L("aUri = %S"), &aUri );
- SetAccessPointL();
-
iPlaybackUtility->InitStreamingL( aUri,
(TDesC8*)(&KDATATYPEVIDEOHELIX),
iAccessPointId );
@@ -1532,8 +1111,30 @@
//
iAppUi->View()->HandleCommandL( EAknSoftkeyClose );
}
+ else
+ {
+ if (iPlaybackUtility)
+ {
+ iPlaybackUtility->CommandL( EPbCmdClose );
+ }
+ }
+}
- iPlaybackUtility->CommandL( EPbCmdClose );
+// -------------------------------------------------------------------------------------------------
+// CMpxVideoPlayerAppUiEngine::SignalViewPdlReloading()
+// -------------------------------------------------------------------------------------------------
+//
+void CMpxVideoPlayerAppUiEngine::SignalViewPdlReloading()
+{
+ MPX_ENTER_EXIT(_L("CMpxVideoPlayerAppUiEngine::SignalViewPdlReloading"));
+
+ if ( iViewUtility->ActiveViewType() == TUid::Uid( KMpxPlaybackPluginTypeUid ) )
+ {
+ //
+ // The display window must be removed before closing the playback plugin
+ //
+ iAppUi->View()->HandleCommandL( KMpxVideoPlaybackPdlReloading );
+ }
}
--- a/videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/bwins/mpxvideoplayertestu.def Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/bwins/mpxvideoplayertestu.def Fri Mar 12 15:43:00 2010 +0200
@@ -1,74 +1,8 @@
EXPORTS
?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * LibEntryL(class CTestModuleIf &)
- ?Close@RConnection@@QAEXXZ @ 2 NONAME ; void RConnection::Close(void)
- ?Connect@RSocketServ@@QAEHI@Z @ 3 NONAME ; int RSocketServ::Connect(unsigned int)
- ??1CMDBTextFieldBase@CommsDat@@UAE@XZ @ 4 NONAME ; CommsDat::CMDBTextFieldBase::~CMDBTextFieldBase(void)
- ??0RConnection@@QAE@XZ @ 5 NONAME ; RConnection::RConnection(void)
- ?NewL@MMPXCollectionUtility@@SAPAV1@PAVMMPXCollectionObserver@@ABVTUid@@@Z @ 6 NONAME ; class MMPXCollectionUtility * MMPXCollectionUtility::NewL(class MMPXCollectionObserver *, class TUid const &)
- ??0TExtendedConnPref@@QAE@XZ @ 7 NONAME ; TExtendedConnPref::TExtendedConnPref(void)
- ?AppendL@TConnPrefList@@QAEXPAUSMetaDataECom@Meta@@@Z @ 8 NONAME ; void TConnPrefList::AppendL(struct Meta::SMetaDataECom *)
- ?LoadL@SMetaDataECom@Meta@@SAPAU12@AAVTPtrC8@@@Z @ 9 NONAME ; struct Meta::SMetaDataECom * Meta::SMetaDataECom::LoadL(class TPtrC8 &)
- ?GetVDataTable@CMDBNumFieldBase@CommsDat@@UBEPBUSVDataTableEntry@Meta@@XZ @ 10 NONAME ; struct Meta::SVDataTableEntry const * CommsDat::CMDBNumFieldBase::GetVDataTable(void) const
- ?GetAttribPtr@CMDBRecordLinkBase@CommsDat@@MBEPAEH@Z @ 11 NONAME ; unsigned char * CommsDat::CMDBRecordLinkBase::GetAttribPtr(int) const
- ?GetIntAttributeL@RCmConnectionMethodExt@@QBEKK@Z @ 12 NONAME ; unsigned long RCmConnectionMethodExt::GetIntAttributeL(unsigned long) const
- ??1RCmConnectionMethodExt@@QAE@XZ @ 13 NONAME ; RCmConnectionMethodExt::~RCmConnectionMethodExt(void)
- ??0CCDRecordBase@CommsDat@@QAE@K@Z @ 14 NONAME ; CommsDat::CCDRecordBase::CCDRecordBase(unsigned long)
- ?GetVDataTable@CMDBTextFieldBase@CommsDat@@UBEPBUSVDataTableEntry@Meta@@XZ @ 15 NONAME ; struct Meta::SVDataTableEntry const * CommsDat::CMDBTextFieldBase::GetVDataTable(void) const
- ??BCMDBRecordLinkBase@CommsDat@@QAEKXZ @ 16 NONAME ; CommsDat::CMDBRecordLinkBase::operator unsigned long(void)
- ??0CCommsDatabaseBase@@IAE@XZ @ 17 NONAME ; CCommsDatabaseBase::CCommsDatabaseBase(void)
- ??0MMetaDatabase@CommsDat@@IAE@XZ @ 18 NONAME ; CommsDat::MMetaDatabase::MMetaDatabase(void)
- ?Open@RConnection@@QAEHAAVRSocketServ@@I@Z @ 19 NONAME ; int RConnection::Open(class RSocketServ &, unsigned int)
- ??0RMetaDataContainerBase@Meta@@QAE@XZ @ 20 NONAME ; Meta::RMetaDataContainerBase::RMetaDataContainerBase(void)
- ?UtilityL@MMPXPlaybackUtility@@SAPAV1@W4TMPXCategory@@ABVTUid@@@Z @ 21 NONAME ; class MMPXPlaybackUtility * MMPXPlaybackUtility::UtilityL(enum TMPXCategory, class TUid const &)
- ?GetIntSetting@RConnection@@QAEHABVTDesC16@@AAK@Z @ 22 NONAME ; int RConnection::GetIntSetting(class TDesC16 const &, unsigned long &)
- ?OpenL@RCmManagerExt@@QAEXXZ @ 23 NONAME ; void RCmManagerExt::OpenL(void)
- ?GetVDataTable@CMDBElement@CommsDat@@UBEPBUSVDataTableEntry@Meta@@XZ @ 24 NONAME ; struct Meta::SVDataTableEntry const * CommsDat::CMDBElement::GetVDataTable(void) const
- ??1MMetaDatabase@CommsDat@@UAE@XZ @ 25 NONAME ; CommsDat::MMetaDatabase::~MMetaDatabase(void)
- ?SetAutoPlay@CMPXCollectionPlaylist@@QAEXH@Z @ 26 NONAME ; void CMPXCollectionPlaylist::SetAutoPlay(int)
- ??1CCommsDatabase@@UAE@XZ @ 27 NONAME ; CCommsDatabase::~CCommsDatabase(void)
- ?GetAttribPtr@TExtendedConnPref@@MBEPAEH@Z @ 28 NONAME ; unsigned char * TExtendedConnPref::GetAttribPtr(int) const
- ?GetAttribPtr@CMDBElement@CommsDat@@UBEPAEH@Z @ 29 NONAME ; unsigned char * CommsDat::CMDBElement::GetAttribPtr(int) const
- ?RecordFactoryL@CCDRecordBase@CommsDat@@SAPAVCMDBRecordBase@2@K@Z @ 30 NONAME ; class CommsDat::CMDBRecordBase * CommsDat::CCDRecordBase::RecordFactoryL(unsigned long)
- ?GetAttribPtr@CCDRecordBase@CommsDat@@MBEPAEH@Z @ 31 NONAME ; unsigned char * CommsDat::CCDRecordBase::GetAttribPtr(int) const
- ?GetAttribPtr@CMDBTextFieldBase@CommsDat@@UBEPAEH@Z @ 32 NONAME ; unsigned char * CommsDat::CMDBTextFieldBase::GetAttribPtr(int) const
- ?NewL@CCommsDatabase@@SAPAV1@W4TCommDbDatabaseType@@@Z @ 33 NONAME ; class CCommsDatabase * CCommsDatabase::NewL(enum TCommDbDatabaseType)
- ?ConnectionMethodL@RCmManagerExt@@QAE?AVRCmConnectionMethodExt@@K@Z @ 34 NONAME ; class RCmConnectionMethodExt RCmManagerExt::ConnectionMethodL(unsigned long)
- ?SetSnapPurpose@TExtendedConnPref@@QAEXW4TSnapPurpose@CMManager@@@Z @ 35 NONAME ; void TExtendedConnPref::SetSnapPurpose(enum CMManager::TSnapPurpose)
- ??1SMetaDataECom@Meta@@UAE@XZ @ 36 NONAME ; Meta::SMetaDataECom::~SMetaDataECom(void)
- ??0TConnPref@@QAE@XZ @ 37 NONAME ; TConnPref::TConnPref(void)
- ?UtilityL@MMPXViewUtility@@SAPAV1@XZ @ 38 NONAME ; class MMPXViewUtility * MMPXViewUtility::UtilityL(void)
- ?GetAttribPtr@CMDBNumFieldBase@CommsDat@@UBEPAEH@Z @ 39 NONAME ; unsigned char * CommsDat::CMDBNumFieldBase::GetAttribPtr(int) const
- ??1CMDBSession@CommsDat@@UAE@XZ @ 40 NONAME ; CommsDat::CMDBSession::~CMDBSession(void)
- ?GetVDataTable@CCDRecordBase@CommsDat@@MBEPBUSVDataTableEntry@Meta@@XZ @ 41 NONAME ; struct Meta::SVDataTableEntry const * CommsDat::CCDRecordBase::GetVDataTable(void) const
- ??1CMDBRecordLinkBase@CommsDat@@UAE@XZ @ 42 NONAME ; CommsDat::CMDBRecordLinkBase::~CMDBRecordLinkBase(void)
- ?Close@RCmManagerExt@@QAEXXZ @ 43 NONAME ; void RCmManagerExt::Close(void)
- ?NewL@CMDBSession@CommsDat@@SAPAV12@VTVersion@@@Z @ 44 NONAME ; class CommsDat::CMDBSession * CommsDat::CMDBSession::NewL(class TVersion)
- ??0CMDBRecordLinkBase@CommsDat@@QAE@XZ @ 45 NONAME ; CommsDat::CMDBRecordLinkBase::CMDBRecordLinkBase(void)
- ?GetFieldByNameL@CMDBRecordBase@CommsDat@@UAEPAVCMDBElement@2@ABVTPtrC16@@AAH@Z @ 46 NONAME ; class CommsDat::CMDBElement * CommsDat::CMDBRecordBase::GetFieldByNameL(class TPtrC16 const &, int &)
- ?GetVDataTable@TExtendedConnPref@@MBEPBUSVDataTableEntry@Meta@@XZ @ 47 NONAME ; struct Meta::SVDataTableEntry const * TExtendedConnPref::GetVDataTable(void) const
- ?LatestVersion@CMDBSession@CommsDat@@SA?AVTVersion@@XZ @ 48 NONAME ; class TVersion CommsDat::CMDBSession::LatestVersion(void)
- ??0RCmConnectionMethodExt@@QAE@XZ @ 49 NONAME ; RCmConnectionMethodExt::RCmConnectionMethodExt(void)
- ??4CMDBRecordLinkBase@CommsDat@@QAEAAV01@K@Z @ 50 NONAME ; class CommsDat::CMDBRecordLinkBase & CommsDat::CMDBRecordLinkBase::operator=(unsigned long)
- ??0RSocketServ@@QAE@XZ @ 51 NONAME ; RSocketServ::RSocketServ(void)
- ?SetConnSelectionDialog@TExtendedConnPref@@QAEXH@Z @ 52 NONAME ; void TExtendedConnPref::SetConnSelectionDialog(int)
- ??1CCommsDatabaseBase@@UAE@XZ @ 53 NONAME ; CCommsDatabaseBase::~CCommsDatabaseBase(void)
- ??1TConnPrefList@@QAE@XZ @ 54 NONAME ; TConnPrefList::~TConnPrefList(void)
- ?Start@RConnection@@QAEHAAVTConnPref@@@Z @ 55 NONAME ; int RConnection::Start(class TConnPref &)
- ?NewL@CMPSettingsModel@@SAPAV1@VTUid@@@Z @ 56 NONAME ; class CMPSettingsModel * CMPSettingsModel::NewL(class TUid)
- ??0TConnPrefList@@QAE@XZ @ 57 NONAME ; TConnPrefList::TConnPrefList(void)
- ??0CMDBTextFieldBase@CommsDat@@QAE@XZ @ 58 NONAME ; CommsDat::CMDBTextFieldBase::CMDBTextFieldBase(void)
- ?FindL@MMetaDatabase@CommsDat@@QAEHAAVCMDBSession@2@@Z @ 59 NONAME ; int CommsDat::MMetaDatabase::FindL(class CommsDat::CMDBSession &)
- ??1SMetaData@Meta@@UAE@XZ @ 60 NONAME ; Meta::SMetaData::~SMetaData(void)
- ??1CMDBElement@CommsDat@@UAE@XZ @ 61 NONAME ; CommsDat::CMDBElement::~CMDBElement(void)
- ??0SMetaData@Meta@@IAE@XZ @ 62 NONAME ; Meta::SMetaData::SMetaData(void)
- ?GetVDataTable@CMDBRecordLinkBase@CommsDat@@MBEPBUSVDataTableEntry@Meta@@XZ @ 63 NONAME ; struct Meta::SVDataTableEntry const * CommsDat::CMDBRecordLinkBase::GetVDataTable(void) const
- ?SetNoteBehaviour@TExtendedConnPref@@QAEXK@Z @ 64 NONAME ; void TExtendedConnPref::SetNoteBehaviour(unsigned long)
- ??1RConnection@@UAE@XZ @ 65 NONAME ; RConnection::~RConnection(void)
- ?GetRecordInfo@CMDBRecordBase@CommsDat@@UAEPBUSRecordTypeInfo@2@XZ @ 66 NONAME ; struct CommsDat::SRecordTypeInfo const * CommsDat::CMDBRecordBase::GetRecordInfo(void)
- ??0CMDBElement@CommsDat@@QAE@XZ @ 67 NONAME ; CommsDat::CMDBElement::CMDBElement(void)
- ??1CMPSettingsModel@@UAE@XZ @ 68 NONAME ; CMPSettingsModel::~CMPSettingsModel(void)
- ?FileExists@ConeUtils@@SAHABVTDesC16@@@Z @ 69 NONAME ; int ConeUtils::FileExists(class TDesC16 const &)
- ??0CMDBNumFieldBase@CommsDat@@QAE@XZ @ 70 NONAME ; CommsDat::CMDBNumFieldBase::CMDBNumFieldBase(void)
- ??0SMetaDataECom@Meta@@IAE@XZ @ 71 NONAME ; Meta::SMetaDataECom::SMetaDataECom(void)
- ?GetFieldByIdL@CMDBRecordBase@CommsDat@@UAEPAVCMDBElement@2@K@Z @ 72 NONAME ; class CommsDat::CMDBElement * CommsDat::CMDBRecordBase::GetFieldByIdL(unsigned long)
+ ?NewL@MMPXCollectionUtility@@SAPAV1@PAVMMPXCollectionObserver@@ABVTUid@@@Z @ 2 NONAME ; class MMPXCollectionUtility * MMPXCollectionUtility::NewL(class MMPXCollectionObserver *, class TUid const &)
+ ?UtilityL@MMPXViewUtility@@SAPAV1@XZ @ 3 NONAME ; class MMPXViewUtility * MMPXViewUtility::UtilityL(void)
+ ?UtilityL@MMPXPlaybackUtility@@SAPAV1@W4TMPXCategory@@ABVTUid@@@Z @ 4 NONAME ; class MMPXPlaybackUtility * MMPXPlaybackUtility::UtilityL(enum TMPXCategory, class TUid const &)
+ ?FileExists@ConeUtils@@SAHABVTDesC16@@@Z @ 5 NONAME ; int ConeUtils::FileExists(class TDesC16 const &)
+ ?SetAutoPlay@CMPXCollectionPlaylist@@QAEXH@Z @ 6 NONAME ; void CMPXCollectionPlaylist::SetAutoPlay(int)
--- a/videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/conf/mpxvideoplayertest.cfg Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/conf/mpxvideoplayertest.cfg Fri Mar 12 15:43:00 2010 +0200
@@ -23,14 +23,10 @@
NewFile 1
NewFileAfterError 2
-NO_AP 0
-AP_GPRS_1 3
+AP_USEDEFAULT -1
+
AP_GPRS_2 4
AP_WLAN_1 5
-AP_WLAN_2 6
-AP_SNAP 7
-AP_QUERY 8
-AP_QUERY2 9
LocalLinks 0
StreamingLinks 1
@@ -115,8 +111,7 @@
title 3) AppUiEngine OpenFile w/ File Handle - SDP
create mpxvideoplayertest enginetest
enginetest CreateEngine Embedded
-enginetest SetDefaultAccessPoint AP_GPRS_1
-enginetest OpenFile UseHandle sdp_test.sdp EAddPath ESdpFile AP_GPRS_1
+enginetest OpenFile UseHandle sdp_test.sdp EAddPath ESdpFile AP_USEDEFAULT
delete enginetest
pause 1000
[Endtest]
@@ -130,8 +125,7 @@
title 4) AppUiEngine OpenFile w/ File Handle - RAM file
create mpxvideoplayertest enginetest
enginetest CreateEngine Embedded
-enginetest SetDefaultAccessPoint AP_GPRS_1
-enginetest OpenFile UseHandle test_streaming.ram EAddPath ERamFile AP_GPRS_1 StreamingLinks
+enginetest OpenFile UseHandle test_streaming.ram EAddPath ERamFile AP_USEDEFAULT StreamingLinks
delete enginetest
pause 1000
[Endtest]
@@ -145,8 +139,7 @@
title 5) AppUiEngine OpenFile w/ File Handle - RAM file
create mpxvideoplayertest enginetest
enginetest CreateEngine Embedded
-enginetest SetDefaultAccessPoint AP_GPRS_1
-enginetest OpenFile UseHandle test_local.ram EAddPath ERamFile AP_GPRS_1 LocalLinks
+enginetest OpenFile UseHandle test_local.ram EAddPath ERamFile AP_USEDEFAULT LocalLinks
delete enginetest
pause 1000
[Endtest]
@@ -154,7 +147,6 @@
[Test]
//
// Test the Access Point Selection with OpenFile file handle API
-// - Default GPRS Access Point
// - GenericParameters with WLAN Access Point
// - Launch an embedded SDP file
// - WLAN access point should be used
@@ -162,7 +154,6 @@
title 6) AppUiEngine Access Point Selection
create mpxvideoplayertest enginetest
enginetest CreateEngine Embedded
-enginetest SetDefaultAccessPoint AP_GPRS_1
enginetest SetGenericParamAccessPoint AP_WLAN_1
enginetest OpenFile UseHandle sdp_test.sdp EAddPath ESdpFile AP_WLAN_1
delete enginetest
@@ -172,33 +163,13 @@
[Test]
//
// Test the Access Point Selection with OpenFile file handle API
-// - Default GPRS Access Point
// - GenericParameters with GPRS Access Point
// - Launch an embedded SDP file
-// - Default access point should be used
+// - GPRS access point should be used
//
title 7) AppUiEngine Access Point Selection
create mpxvideoplayertest enginetest
enginetest CreateEngine Embedded
-enginetest SetDefaultAccessPoint AP_GPRS_1
-enginetest SetGenericParamAccessPoint AP_GPRS_2
-enginetest OpenFile UseHandle sdp_test.sdp EAddPath ESdpFile AP_GPRS_1
-delete enginetest
-pause 1000
-[Endtest]
-
-[Test]
-//
-// Test the Access Point Selection with OpenFile file handle API
-// - No Default Access Point
-// - GenericParameters with GPRS Access Point
-// - Launch an embedded SDP file
-// - Default access point should be used
-//
-title 8) AppUiEngine Access Point Selection
-create mpxvideoplayertest enginetest
-enginetest CreateEngine Embedded
-enginetest SetDefaultAccessPoint NO_AP
enginetest SetGenericParamAccessPoint AP_GPRS_2
enginetest OpenFile UseHandle sdp_test.sdp EAddPath ESdpFile AP_GPRS_2
delete enginetest
@@ -207,28 +178,10 @@
[Test]
//
-// Test the Access Point Selection with OpenFile file handle API
-// - No Default Access Point
-// - No GenericParameters
-// - Launch an embedded SDP file
-// - Use the Internet SNAP Access Point for STIF Testing
-//
-title 9) AppUiEngine Access Point Selection
-create mpxvideoplayertest enginetest
-enginetest CreateEngine Embedded
-enginetest SetDefaultAccessPoint NO_AP
-enginetest SetQueryAccessPoint AP_SNAP
-enginetest OpenFile UseHandle sdp_test.sdp EAddPath ESdpFile AP_SNAP
-delete enginetest
-pause 1000
-[Endtest]
-
-[Test]
-//
// Test the OpenFile with a file name API
// - Launch a local clip
//
-title 10) AppUiEngine OpenFile w/ File Name - Local
+title 8) AppUiEngine OpenFile w/ File Name - Local
create mpxvideoplayertest enginetest
enginetest CreateEngine Embedded
enginetest OpenFile UseName local.3gp EAddPath ELocalFile
@@ -242,11 +195,10 @@
// - No GenericParameters
// - Launch an SDP file
//
-title 11) AppUiEngine OpenFile w/ File Name - SDP
+title 9) AppUiEngine OpenFile w/ File Name - SDP
create mpxvideoplayertest enginetest
enginetest CreateEngine Embedded
-enginetest SetDefaultAccessPoint AP_GPRS_1
-enginetest OpenFile UseName sdp_test.sdp EAddPath ESdpFile AP_GPRS_1
+enginetest OpenFile UseName sdp_test.sdp EAddPath ESdpFile AP_USEDEFAULT
delete enginetest
pause 1000
[Endtest]
@@ -257,28 +209,10 @@
// - No GenericParameters
// - Launch an RAM file with streaming links
//
-title 12) AppUiEngine OpenFile w/ File Name - RAM file
+title 10) AppUiEngine OpenFile w/ File Name - RAM file
create mpxvideoplayertest enginetest
enginetest CreateEngine Embedded
-enginetest SetDefaultAccessPoint AP_GPRS_1
-enginetest OpenFile UseName test_streaming.ram EAddPath ERamFile AP_GPRS_1 StreamingLinks
-delete enginetest
-pause 1000
-[Endtest]
-
-[Test]
-//
-// Test the OpenFile with a file name API
-// - No GenericParameters
-// - Launch an URL
-// - Test the PrepareCloseMpx API
-//
-title 13) AppUiEngine OpenFile w/ URL
-create mpxvideoplayertest enginetest
-enginetest CreateEngine Embedded
-enginetest SetDefaultAccessPoint AP_GPRS_1
-enginetest OpenFile UseName rtsp:\/\/stream.3gp ENoPath EUrl AP_GPRS_1
-enginetest PrepareCloseMpx
+enginetest OpenFile UseName test_streaming.ram EAddPath ERamFile AP_USEDEFAULT StreamingLinks
delete enginetest
pause 1000
[Endtest]
@@ -287,7 +221,7 @@
//
// Test the StartStandAloneL method
//
-title 14) AppUiEngine StartStandAloneL
+title 11) AppUiEngine StartStandAloneL
create mpxvideoplayertest enginetest
enginetest CreateEngine StandAlone
enginetest StartStandAlone
@@ -299,7 +233,7 @@
//
// Test the HandleCollectionMessage method
//
-title 15) AppUiEngine HandleCollectionMessage
+title 12) AppUiEngine HandleCollectionMessage
create mpxvideoplayertest enginetest
enginetest CreateEngine StandAlone
enginetest HandleCollectionMessage EPathChanged EMcPathChangedByOpen EMcItemOpened
@@ -311,7 +245,7 @@
//
// Test the HandleCollectionMedia method
//
-title 16) AppUiEngine HandleCollectionMedia
+title 13) AppUiEngine HandleCollectionMedia
create mpxvideoplayertest enginetest
enginetest CreateEngine StandAlone
enginetest HandleCollectionMedia local.3gp EAddPath
@@ -330,7 +264,7 @@
// - Call HandleSoftKeyL
// - AppUi should StepBackCollectionPathL
//
-title 17) AppUiEngine HandleSoftkeyBackL
+title 14) AppUiEngine HandleSoftkeyBackL
create mpxvideoplayertest enginetest
enginetest CreateEngine StandAlone
enginetest HandleSoftkeyBack ViewDepth_1
@@ -347,7 +281,7 @@
// - Call HandleOpenL
// - PlaybackUtility should receive InitL with Playlist
//
-title 18) AppUiEngine HandleOpenPlaylist
+title 15) AppUiEngine HandleOpenPlaylist
create mpxvideoplayertest enginetest
enginetest CreateEngine StandAlone
enginetest StartStandAlone
@@ -363,7 +297,7 @@
// - Call HandleOpenL
// - CollectionUtility should receive OpenL with new collection path
//
-title 19) AppUiEngine HandleOpenMedia
+title 16) AppUiEngine HandleOpenMedia
create mpxvideoplayertest enginetest
enginetest CreateEngine StandAlone
enginetest StartStandAlone
@@ -374,35 +308,10 @@
[Test]
//
-// Test ProcessActivationMessageL
-// - Test with small Message, function Leaves
-// - Test with Open Internet Videos, View Utility receives view activation
-// - Test with Open Video Storage, View Utility receives view activation
-// - Test with Matrix Launch Video, local file callbacks are received
-// - Test with Notification Launch Video, local file callbacks are received
-//
-title 20) AppUiEngine ProcessActivationMessageL
-create mpxvideoplayertest enginetest
-enginetest CreateEngine StandAlone
-enginetest StartStandAlone
-enginetest ProcessActivationMessage ENoMsg
-enginetest ProcessActivationMessage EMatrix EOpenInternetVideos
-enginetest ProcessActivationMessage EMatrix EOpenVideoStorage
-enginetest ProcessActivationMessage EMatrix ELaunchVideo local.3gp EAddPath EDefined
-enginetest ProcessActivationMessage EMatrix ELaunchVideo local.3gp EAddPath EUndefined
-allownextresult KErrNotFound
-enginetest ProcessActivationMessage EMatrix ELaunchVideo not_fuond.3gp EAddPath EDefined
-enginetest ProcessActivationMessage EMatrix ELaunchVideo not_fuond.3gp EAddPath EUndefined
-delete enginetest
-pause 1000
-[Endtest]
-
-[Test]
-//
// Test HandleViewActivation
// - No callback is received
//
-title 21) AppUiEngine HandleViewActivation
+title 17) AppUiEngine HandleViewActivation
create mpxvideoplayertest enginetest
enginetest CreateEngine StandAlone
enginetest StartStandAlone
@@ -428,10 +337,9 @@
// - Open with document name and file that doesn't exist
// - file exists is false
//
-title 22) AppUiEngine ProcessCommandParameters
+title 18) AppUiEngine ProcessCommandParameters
create mpxvideoplayertest enginetest
enginetest CreateEngine StandAlone
-enginetest ProcessCommandParameters EApaCommandTail EMatrix EOpenVideoStorage
enginetest ProcessCommandParameters EApaCommandRun
enginetest ProcessCommandParameters EApaCommandOpen rtsp:\/\/stream.3gp ENoPath ETrue
enginetest ProcessCommandParameters EApaCommandOpen local.3gp EAddPath ETrue
@@ -442,53 +350,14 @@
[Test]
//
-// Test Access Point Dialog withSelection
-// - No GenericParameters
-// - No Default Access Point
-// - Set Query Access Point to 0 to simulate a cancel button press
-// - Launch an embedded SDP file
-// - OpenFile leaves with KErrCancel
-//
-title 23) AppUiEngine Access Point Selection
-create mpxvideoplayertest enginetest
-enginetest CreateEngine Embedded
-enginetest SetDefaultAccessPoint NO_AP
-enginetest SetQueryAccessPoint AP_QUERY
-enginetest OpenFile UseHandle sdp_test.sdp EAddPath ESdpFile AP_QUERY2
-delete enginetest
-pause 1000
-[Endtest]
-
-[Test]
-//
-// Test Access Point Dialog Cancel without Selection
-// - No GenericParameters
-// - No Default Access Point
-// - Set Query Access Point to 0 to simulate a cancel button press
-// - Launch an embedded SDP file
-// - OpenFile leaves with KErrCancel
-//
-title 24) AppUiEngine Access Point Selection
-create mpxvideoplayertest enginetest
-enginetest CreateEngine Embedded
-enginetest SetDefaultAccessPoint NO_AP
-enginetest SetQueryAccessPoint NO_AP
-enginetest OpenFile UseHandle sdp_test.sdp EAddPath ESdpFile KErrCancel
-delete enginetest
-pause 1000
-[Endtest]
-
-[Test]
-//
// Test Playlist functionality
// Open Multilink ram file
// HandleCollectionMessage for playlist
//
-title 25) AppUiEngine HandleCollectionMessage RAM Playlist
+title 19) AppUiEngine HandleCollectionMessage RAM Playlist
create mpxvideoplayertest enginetest
enginetest CreateEngine StandAlone
-enginetest SetDefaultAccessPoint AP_GPRS_1
-enginetest OpenFile UseHandle test_multilocal.ram EAddPath EMultiLinkFile AP_GPRS_1 LocalLinks
+enginetest OpenFile UseHandle test_multilocal.ram EAddPath EMultiLinkFile AP_USEDEFAULT LocalLinks
enginetest HandleCollectionMessage EPathChanged EMcPathChangedByOpen EMcContainerOpened
delete enginetest
pause 1000
@@ -500,11 +369,10 @@
// Open Multilink ASX file
// HandleCollectionMessage for playlist
//
-title 26) AppUiEngine HandleCollectionMessage ASX Playlist
+title 20) AppUiEngine HandleCollectionMessage ASX Playlist
create mpxvideoplayertest enginetest
enginetest CreateEngine StandAlone
-enginetest SetDefaultAccessPoint AP_GPRS_1
-enginetest OpenFile UseHandle test_multilink_v2.asx EAddPath EMultiLinkFile AP_GPRS_1 StreamingLinks
+enginetest OpenFile UseHandle test_multilink_v2.asx EAddPath EMultiLinkFile AP_USEDEFAULT StreamingLinks
enginetest HandleCollectionMessage EPathChanged EMcPathChangedByOpen EMcContainerOpened
delete enginetest
pause 1000
@@ -516,11 +384,10 @@
// Open Multilink ASX file
// HandleCollectionMessage for playlist
//
-title 27) AppUiEngine UpdatePbPluginMediaL ASX V3
+title 21) AppUiEngine UpdatePbPluginMediaL ASX V3
create mpxvideoplayertest enginetest
enginetest CreateEngine StandAlone
-enginetest SetDefaultAccessPoint AP_GPRS_1
-enginetest OpenFile UseHandle test_seekSingle_v3.asx EAddPath EAsxFile AP_GPRS_1 StreamingLinks
+enginetest OpenFile UseHandle test_seekSingle_v3.asx EAddPath EAsxFile AP_USEDEFAULT StreamingLinks
delete enginetest
pause 1000
[Endtest]
@@ -530,10 +397,9 @@
// Test OpenMediaL functionality
// Open valid Media
//
-title 28) AppUiEngine OpenMediaL
+title 22) AppUiEngine OpenMediaL
create mpxvideoplayertest enginetest
enginetest CreateEngine StandAlone
-enginetest SetDefaultAccessPoint AP_GPRS_1
enginetest OpenMedia local.3gp EAddPath
delete enginetest
pause 1000
@@ -544,10 +410,9 @@
// Test OpenMediaL functionality
// Open bad Media
//
-title 29) AppUiEngine OpenMediaL bad file path
+title 23) AppUiEngine OpenMediaL bad file path
create mpxvideoplayertest enginetest
enginetest CreateEngine StandAlone
-enginetest SetDefaultAccessPoint AP_GPRS_1
enginetest OpenMedia no_existing_file.ram EAddPath
delete enginetest
pause 1000
@@ -557,7 +422,7 @@
//
// Test View Depth functionality
//
-title 30) AppUiEngine GetView Depth
+title 24) AppUiEngine GetView Depth
create mpxvideoplayertest enginetest
enginetest CreateEngine StandAlone
enginetest GetViewDepth ViewDepth_2
@@ -571,40 +436,10 @@
// - Launch a stand alone instance of engine
// - Handle a message to start feeds PDL playback
//
-title 31) AppUiEngine Feeds PDL
+title 25) AppUiEngine Feeds PDL
create mpxvideoplayertest enginetest
enginetest CreateEngine StandAlone
enginetest HandleCollectionMedia local.3gp EAddPath DownloadId_1
delete enginetest
pause 1000
[Endtest]
-
-[Test]
-//
-// Test the handling of messages
-//
-title 32) AppUiEngine Messages
-create mpxvideoplayertest enginetest
-enginetest CreateEngine StandAlone
-enginetest HandleMessageActivationMessageL ENoMsg EOpenInternetVideos EFalse
-enginetest HandleMessageActivationMessageL EMatrix EOpenInternetVideos EFalse
-delete enginetest
-pause 1000
-[Endtest]
-
-[Test]
-//
-// Test the handling of messages
-// - Set the active view type to playback view type
-// - Send Message from KVideoPlayerVodStartPlayer
-// - Message should be ignored
-//
-title 33) AppUiEngine Messages
-create mpxvideoplayertest enginetest
-enginetest CreateEngine StandAlone
-enginetest HandleMessageActivationMessageL ENoMsg EOpenInternetVideos ETrue
-enginetest HandleMessageActivationMessageL EMatrix EOpenInternetVideos ETrue
-delete enginetest
-pause 1000
-[Endtest]
-
--- a/videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/eabi/mpxvideoplayertestu.def Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/eabi/mpxvideoplayertestu.def Fri Mar 12 15:43:00 2010 +0200
@@ -1,46 +1,12 @@
EXPORTS
_Z9LibEntryLR13CTestModuleIf @ 1 NONAME
_ZN22CMPXCollectionPlaylist11SetAutoPlayEi @ 2 NONAME
- _ZTI11RConnection @ 3 NONAME
- _ZTI14CCommsDatabase @ 4 NONAME
- _ZTI14CSimpleTimeout @ 5 NONAME
- _ZTI16CMPSettingsModel @ 6 NONAME
- _ZTI17TExtendedConnPref @ 7 NONAME
- _ZTI18CCommsDatabaseBase @ 8 NONAME
- _ZTI26CMpxVideoPlayerAppUiEngine @ 9 NONAME
- _ZTI27CMpxVideoEmbeddedPdlHandler @ 10 NONAME
- _ZTI33CMpxVideoPlayer_AppUiEngineTester @ 11 NONAME
- _ZTIN4Meta13SMetaDataEComE @ 12 NONAME
- _ZTIN4Meta18RMetaDataContainerINS_13SMetaDataEComEEE @ 13 NONAME
- _ZTIN4Meta9SMetaDataE @ 14 NONAME
- _ZTIN8CommsDat11CMDBElementE @ 15 NONAME
- _ZTIN8CommsDat11CMDBSessionE @ 16 NONAME
- _ZTIN8CommsDat13CCDRecordBaseE @ 17 NONAME
- _ZTIN8CommsDat13MMetaDatabaseE @ 18 NONAME
- _ZTIN8CommsDat14CMDBRecordBaseE @ 19 NONAME
- _ZTIN8CommsDat16CMDBNumFieldBaseE @ 20 NONAME
- _ZTIN8CommsDat17CMDBTextFieldBaseE @ 21 NONAME
- _ZTIN8CommsDat18CMDBRecordLinkBaseE @ 22 NONAME
- _ZTIN8CommsDat20CCDWAPIPBearerRecordE @ 23 NONAME
- _ZTV11RConnection @ 24 NONAME
- _ZTV14CCommsDatabase @ 25 NONAME
- _ZTV14CSimpleTimeout @ 26 NONAME
- _ZTV16CMPSettingsModel @ 27 NONAME
- _ZTV17TExtendedConnPref @ 28 NONAME
- _ZTV18CCommsDatabaseBase @ 29 NONAME
- _ZTV26CMpxVideoPlayerAppUiEngine @ 30 NONAME
- _ZTV27CMpxVideoEmbeddedPdlHandler @ 31 NONAME
- _ZTV33CMpxVideoPlayer_AppUiEngineTester @ 32 NONAME
- _ZTVN4Meta13SMetaDataEComE @ 33 NONAME
- _ZTVN4Meta18RMetaDataContainerINS_13SMetaDataEComEEE @ 34 NONAME
- _ZTVN4Meta9SMetaDataE @ 35 NONAME
- _ZTVN8CommsDat11CMDBElementE @ 36 NONAME
- _ZTVN8CommsDat11CMDBSessionE @ 37 NONAME
- _ZTVN8CommsDat13CCDRecordBaseE @ 38 NONAME
- _ZTVN8CommsDat13MMetaDatabaseE @ 39 NONAME
- _ZTVN8CommsDat14CMDBRecordBaseE @ 40 NONAME
- _ZTVN8CommsDat16CMDBNumFieldBaseE @ 41 NONAME
- _ZTVN8CommsDat17CMDBTextFieldBaseE @ 42 NONAME
- _ZTVN8CommsDat18CMDBRecordLinkBaseE @ 43 NONAME
- _ZTVN8CommsDat20CCDWAPIPBearerRecordE @ 44 NONAME
+ _ZTI14CSimpleTimeout @ 3 NONAME
+ _ZTI26CMpxVideoPlayerAppUiEngine @ 4 NONAME
+ _ZTI27CMpxVideoEmbeddedPdlHandler @ 5 NONAME
+ _ZTI33CMpxVideoPlayer_AppUiEngineTester @ 6 NONAME
+ _ZTV14CSimpleTimeout @ 7 NONAME
+ _ZTV26CMpxVideoPlayerAppUiEngine @ 8 NONAME
+ _ZTV27CMpxVideoEmbeddedPdlHandler @ 9 NONAME
+ _ZTV33CMpxVideoPlayer_AppUiEngineTester @ 10 NONAME
--- a/videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/group/mpxvideoplayertest.mmp Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/group/mpxvideoplayertest.mmp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: ou1cpsw#9 %
+// Version : %version: 10 %
#include <platform_paths.hrh>
@@ -44,12 +44,9 @@
SOURCE mpxvideoplayerappui_stub.cpp
SOURCE mpxcollectionutility_stub.cpp
SOURCE mpxcollectionutilityimp_stub.cpp
-SOURCE commsdatabase_stub.cpp
-SOURCE mpsettingsmodelimp_stub.cpp
SOURCE stifutilities.cpp
SOURCE coneutils_stub.cpp
SOURCE timeoutcontroller.cpp
-SOURCE apstubs.cpp
SOURCEPATH ../../../src
SOURCE mpxvideoplayerappuiengine.cpp
--- a/videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/inc/mpxvideoplayer_appuienginetester.h Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/inc/mpxvideoplayer_appuienginetester.h Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: ou1cpsw#10 %
+// Version : %version: ou1cpsw#13 %
#ifndef MPXVIDEOPLAYER_APPUIENGINETESTER_H_
#define MPXVIDEOPLAYER_APPUIENGINETESTER_H_
@@ -110,20 +110,16 @@
TInt CreateGenericParametersTerminateL();
TInt OpenFileL( CStifItemParser& aItem );
TInt OpenMediaL( CStifItemParser& aItem );
- TInt SetDefaultAccessPointL( CStifItemParser& aItem );
- TInt SetQueryAccessPointL( CStifItemParser& aItem );
TInt SetGenericParamAccessPointL( CStifItemParser& aItem );
TInt OpenFileEmbeddedPdlL( CStifItemParser& aItem );
TInt HandleMessageEmbeddedPdlL( CStifItemParser& aItem );
TInt HandleMessageActivationMessageL( CStifItemParser& aItem );
- TInt PrepareCloseMpxL( CStifItemParser& aItem );
TInt StartStandAloneL( CStifItemParser& aItem );
TInt HandleCollectionMessageL( CStifItemParser& aItem );
TInt HandleCollectionMediaL( CStifItemParser& aItem );
TInt HandleSoftkeyBackL( CStifItemParser& aItem );
TInt HandleOpenPlaylistL( CStifItemParser& aItem );
TInt HandleOpenMediaL( CStifItemParser& aItem );
- TInt ProcessActivationMessageL( CStifItemParser& aItem );
TInt HandleViewActivation( CStifItemParser& aItem );
TInt ProcessCommandParametersL( CStifItemParser& aItem );
TInt GetViewDepthL( CStifItemParser& aItem );
@@ -147,8 +143,6 @@
void AddEmbeddedPdlCallbacksL( TInt aDownloadId, TDesC& aFileName );
void AddMessagePdlCallbacksL( TInt aNewFile, TInt aDownloadId, TDesC& aFileName );
- void WriteAccessPointL( const TDesC& aFileName, TInt aApId );
-
CMPXMessage* CreateMpxMessageLC( TInt aEvent, TInt aType, TInt aData );
void AddLocalFileCallbacksL( TDesC& aFileName, TBool aUseFileHandle );
@@ -166,8 +160,6 @@
void AddCollectionMediaPdlCallbacksL( TInt aDownloadId, TDesC& aFileName );
- void CleanupTempFiles();
-
private:
CScriptBase* iScriptBase;
--- a/videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/inc/mpxvideoplayertest.h Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/inc/mpxvideoplayertest.h Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: ou1cpsw#7 %
+// Version : %version: ou1cpsw#10 %
#ifndef MPXVIDEOPLAYER_TEST_H
#define MPXVIDEOPLAYER_TEST_H
@@ -115,19 +115,15 @@
virtual TInt CreateGenericParametersTerminateL();
virtual TInt OpenFileL( CStifItemParser& aItem );
virtual TInt OpenMediaL( CStifItemParser& aItem );
- virtual TInt SetDefaultAccessPointL( CStifItemParser& aItem );
- virtual TInt SetQueryAccessPointL( CStifItemParser& aItem );
virtual TInt SetGenericParamAccessPointL( CStifItemParser& aItem );
virtual TInt OpenFileEmbeddedPdlL( CStifItemParser& aItem );
virtual TInt HandleMessageEmbeddedPdlL( CStifItemParser& aItem );
- virtual TInt PrepareCloseMpxL( CStifItemParser& aItem );
virtual TInt StartStandAloneL( CStifItemParser& aItem );
virtual TInt HandleCollectionMessageL( CStifItemParser& aItem );
virtual TInt HandleCollectionMediaL( CStifItemParser& aItem );
virtual TInt HandleSoftkeyBackL( CStifItemParser& aItem );
virtual TInt HandleOpenPlaylistL( CStifItemParser& aItem );
virtual TInt HandleOpenMediaL( CStifItemParser& aItem );
- virtual TInt ProcessActivationMessageL( CStifItemParser& aItem );
virtual TInt HandleViewActivation( CStifItemParser& aItem );
virtual TInt ProcessCommandParametersL( CStifItemParser& aItem );
virtual TInt HandleMessageActivationMessageL( CStifItemParser& aItem );
--- a/videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/src/mpxvideoplayer_appuienginetester.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/src/mpxvideoplayer_appuienginetester.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: ou1cpsw#18 %
+// Version : %version: ou1cpsw#21 %
#include "mpxvideoplayer_appuienginetester.h"
@@ -38,9 +38,6 @@
#include "mpxvideo_debug.h"
-_LIT( KDefaultAccessPointFilename, "c:\\defaultApId.txt" );
-_LIT( KQueryAccessPointFilename, "c:\\queryApId.txt" );
-
#define KMPXPLAYBACKPLUGINTYPEUID 0x101FFCA0
#define EMatrix 4
@@ -70,8 +67,6 @@
{
MPX_ENTER_EXIT(_L("CMpxVideoPlayer_AppUiEngineTester::~CMpxVideoPlayer_AppUiEngineTester()"));
- CleanupTempFiles();
-
delete iAppUiEngine;
iAppUiEngine = NULL;
@@ -235,27 +230,16 @@
//
TCallbackEvent* event = new (ELeave) TCallbackEvent;
- if ( expectedApId > 0 )
- {
event->iFileName = aFileName;
event->iApId = expectedApId;
- if ( aUseFileHandle )
- {
- event->iEvent = EPlaybackUtilityInitStreamingFileHandle;
- }
- else
- {
- event->iEvent = EPlaybackUtilityInitStreamingUrl;
- }
+ if ( aUseFileHandle )
+ {
+ event->iEvent = EPlaybackUtilityInitStreamingFileHandle;
}
else
{
- //
- // When the apId is negative, an error code will be return with a Leave
- //
- event->iEvent = EFunctionLeave;
- event->iExtra = expectedApId;
+ event->iEvent = EPlaybackUtilityInitStreamingUrl;
}
AddExpectedEvent( event );
@@ -506,46 +490,6 @@
}
// -------------------------------------------------------------------------------------------------
-// CMpxVideoPlayer_AppUiEngineTester::SetDefaultAccessPointL
-// -------------------------------------------------------------------------------------------------
-//
-TInt CMpxVideoPlayer_AppUiEngineTester::SetDefaultAccessPointL( CStifItemParser& aItem )
-{
- MPX_ENTER_EXIT(_L("CMpxVideoPlayer_AppUiEngineTester::SetDefaultAccessPointL()"));
-
- TInt apId;
-
- //
- // Read in the filename from the config file
- //
- User::LeaveIfError( aItem.GetNextInt( apId ) );
-
- WriteAccessPointL( KDefaultAccessPointFilename, apId );
-
- return KErrNone;
-}
-
-// -------------------------------------------------------------------------------------------------
-// CMpxVideoPlayer_AppUiEngineTester::SetQueryAccessPointL
-// -------------------------------------------------------------------------------------------------
-//
-TInt CMpxVideoPlayer_AppUiEngineTester::SetQueryAccessPointL( CStifItemParser& aItem )
-{
- MPX_ENTER_EXIT(_L("CMpxVideoPlayer_AppUiEngineTester::SetQueryAccessPointL()"));
-
- TInt apId;
-
- //
- // Read in the filename from the config file
- //
- User::LeaveIfError( aItem.GetNextInt( apId ) );
-
- WriteAccessPointL( KQueryAccessPointFilename, apId );
-
- return KErrNone;
-}
-
-// -------------------------------------------------------------------------------------------------
// CMpxVideoPlayer_AppUiEngineTester::SetGenericParamAccessPointL
// -------------------------------------------------------------------------------------------------
//
@@ -865,25 +809,6 @@
}
// -------------------------------------------------------------------------------------------------
-// CMpxVideoPlayer_AppUiEngineTester::PrepareCloseMpxL
-// -------------------------------------------------------------------------------------------------
-//
-TInt CMpxVideoPlayer_AppUiEngineTester::PrepareCloseMpxL( CStifItemParser& /*aItem*/ )
-{
- MPX_ENTER_EXIT(_L("CMpxVideoPlayer_AppUiEngineTester::PrepareCloseMpxL()"));
-
- TCallbackEvent* event = new (ELeave) TCallbackEvent;
- event->iEvent = EPlaybackUtilityClose;
- AddExpectedEvent( event );
-
- iAppUiEngine->PrepareCloseMpxL();
-
- EndTest();
-
- return iError;
-}
-
-// -------------------------------------------------------------------------------------------------
// CMpxVideoPlayer_AppUiEngineTester::StartStandAloneL
// -------------------------------------------------------------------------------------------------
//
@@ -1119,102 +1044,6 @@
}
// -------------------------------------------------------------------------------------------------
-// CMpxVideoPlayer_AppUiEngineTester::ProcessActivationMessageL
-// -------------------------------------------------------------------------------------------------
-//
-TInt CMpxVideoPlayer_AppUiEngineTester::ProcessActivationMessageL( CStifItemParser& aItem )
-{
- MPX_ENTER_EXIT(_L("CMpxVideoPlayer_AppUiEngineTester::ProcessActivationMessageL()"));
-
- TInt msgSender;
- TInt msgType;
-
- User::LeaveIfError( aItem.GetNextInt( msgSender ) );
-
- if ( msgSender == KErrNotSupported )
- {
- _LIT8( KShortDes, "Test" );
-
- MPX_TRAP( iError, iAppUiEngine->ProcessActivationMessageL( KShortDes ) );
-
- if ( iError == msgSender )
- {
- iError = KErrNone;
- }
- }
- else
- {
- TVideoPlayerActivationMessage params;
-
- User::LeaveIfError( aItem.GetNextInt( msgType ) );
-
- params.iMsgType = (TVideoPlayerActivationMessage::TMessageType)msgType;
- params.iMsgSender = (TVideoPlayerActivationMessage::TMessageSender)msgSender;
-
- if ( msgType == TVideoPlayerActivationMessage::EOpenInternetVideos )
- {
- TCallbackEvent* event = new TCallbackEvent;
- event->iEvent = EViewUtilityActivateViewUid;
- event->iUid = TUid::Uid( KMpxVideoPlayerVodViewPluginTypeId );
- AddExpectedEvent( event );
- }
- else if ( msgType == TVideoPlayerActivationMessage::EOpenVideoStorage )
- {
- TCallbackEvent* event = new TCallbackEvent;
- event->iEvent = EViewUtilityActivateViewUid;
- event->iUid = TUid::Uid( KUidMyVideosViewTypeId );
- AddExpectedEvent( event );
- }
- else if ( msgType == TVideoPlayerActivationMessage::ELaunchVideoToPlayer )
- {
- TFileName filename = GetFileNameAndPathL( aItem );
-
- TBool idDefined;
- User::LeaveIfError( aItem.GetNextInt( idDefined ));
-
- if ( idDefined )
- {
- params.iServiceId = 0x1234;
- RFs fs;
- User::LeaveIfError( fs.Connect() );
- CleanupClosePushL( fs );
-
- if ( BaflUtils::FileExists( fs , filename ) )
- {
- TCallbackEvent* event1 = new (ELeave) TCallbackEvent;
- event1->iEvent = EViewUtilityPreLoadView;
- event1->iUid = KVideoPlaybackViewUid;
- AddExpectedEvent( event1 );
-
- TCallbackEvent* event2 = new (ELeave) TCallbackEvent;
- event2->iEvent = EPlaybackUtilityInitPlaylist;
- AddExpectedEvent( event2 );
- }
- CleanupStack::PopAndDestroy( &fs );
- }
- else
- {
- params.iServiceId = 0;
-
- TCallbackEvent* event = new TCallbackEvent;
- event->iEvent = EViewUtilityActivateViewUid;
- event->iUid = TUid::Uid( KMpxVideoPlayerVodViewPluginTypeId );
- AddExpectedEvent( event );
- }
- params.iFullPath = filename;
- }
-
- TPckg<TVideoPlayerActivationMessage> paramsPckg( params );
-
- iAppUiEngine->ProcessActivationMessageL( paramsPckg );
- }
-
- EndTest();
-
- return iError;
-}
-
-// -------------------------------------------------------------------------------------------------
// CMpxVideoPlayer_AppUiEngineTester::HandleViewActivation
// -------------------------------------------------------------------------------------------------
//
@@ -1268,31 +1097,6 @@
switch ( cmdId )
{
- case EProcessTail:
- {
- TInt msgSender;
- TInt msgType;
-
- User::LeaveIfError( aItem.GetNextInt( msgSender ) );
- User::LeaveIfError( aItem.GetNextInt( msgType ) );
-
-
- TVideoPlayerActivationMessage params;
-
- params.iMsgType = TVideoPlayerActivationMessage::EOpenVideoStorage;
- params.iMsgSender = TVideoPlayerActivationMessage::EMatrixMenu;
-
- TPckg<TVideoPlayerActivationMessage> paramsPckg( params );
-
- TCallbackEvent* event = new TCallbackEvent;
- event->iEvent = EViewUtilityActivateViewUid;
- event->iUid = TUid::Uid( KUidMyVideosViewTypeId );
- AddExpectedEvent( event );
-
- tail.Set( paramsPckg );
-
- break;
- }
case EProcessStandAlone:
{
TCallbackEvent* event = new (ELeave) TCallbackEvent;
@@ -1470,31 +1274,6 @@
}
void
-CMpxVideoPlayer_AppUiEngineTester::WriteAccessPointL( const TDesC& aFileName, TInt aApId )
-{
- MPX_DEBUG(_L("CMpxVideoPlayer_AppUiEngineTester::WriteAccessPointL(%S, %d)"),
- &aFileName, aApId);
-
- //
- // Write to test file so the controller open fails
- //
- RFile file;
-
- RFs fs;
- User::LeaveIfError( fs.Connect() );
-
- TBuf8<16> tgt;
- tgt.Num( aApId );
-
- file.Replace( fs, aFileName, EFileWrite );
-
- file.Write( tgt );
-
- file.Close();
- fs.Close();
-}
-
-void
CMpxVideoPlayer_AppUiEngineTester::EndTest()
{
if ( ! iTimeoutController )
@@ -1550,18 +1329,4 @@
return fullPath;
}
-void
-CMpxVideoPlayer_AppUiEngineTester::CleanupTempFiles()
-{
- MPX_DEBUG(_L("CMpxVideoPlayer_AppUiEngineTester::CleanupTempFiles()"));
-
- RFs fs;
- TInt error = fs.Connect();
-
- error = fs.Delete( KDefaultAccessPointFilename );
- error = fs.Delete( KQueryAccessPointFilename );
-
- fs.Close();
-}
-
// EOF
--- a/videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/src/mpxvideoplayertestblocks.cpp Fri Feb 19 22:52:52 2010 +0200
+++ b/videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/src/mpxvideoplayertestblocks.cpp Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: ou1cpsw#7 %
+// Version : %version: ou1cpsw#10 %
// [INCLUDE FILES] - do not remove
#include <e32svr.h>
@@ -59,19 +59,15 @@
ENTRY( "CreateGenericParametersTerminate", Cmpxvideoplayer_test::CreateGenericParametersTerminateL ),
ENTRY( "OpenFile", Cmpxvideoplayer_test::OpenFileL ),
ENTRY( "OpenMedia", Cmpxvideoplayer_test::OpenMediaL ),
- ENTRY( "SetDefaultAccessPoint", Cmpxvideoplayer_test::SetDefaultAccessPointL ),
- ENTRY( "SetQueryAccessPoint", Cmpxvideoplayer_test::SetQueryAccessPointL ),
ENTRY( "SetGenericParamAccessPoint", Cmpxvideoplayer_test::SetGenericParamAccessPointL ),
ENTRY( "OpenFileEmbeddedPdl", Cmpxvideoplayer_test::OpenFileEmbeddedPdlL ),
ENTRY( "HandleMessageEmbeddedPdl", Cmpxvideoplayer_test::HandleMessageEmbeddedPdlL ),
- ENTRY( "PrepareCloseMpx", Cmpxvideoplayer_test::PrepareCloseMpxL ),
ENTRY( "StartStandAlone", Cmpxvideoplayer_test::StartStandAloneL ),
ENTRY( "HandleCollectionMessage", Cmpxvideoplayer_test::HandleCollectionMessageL ),
ENTRY( "HandleCollectionMedia", Cmpxvideoplayer_test::HandleCollectionMediaL ),
ENTRY( "HandleSoftkeyBack", Cmpxvideoplayer_test::HandleSoftkeyBackL ),
ENTRY( "HandleOpenPlaylist", Cmpxvideoplayer_test::HandleOpenPlaylistL ),
ENTRY( "HandleOpenMedia", Cmpxvideoplayer_test::HandleOpenMediaL ),
- ENTRY( "ProcessActivationMessage", Cmpxvideoplayer_test::ProcessActivationMessageL ),
ENTRY( "HandleViewActivation", Cmpxvideoplayer_test::HandleViewActivation ),
ENTRY( "ProcessCommandParameters", Cmpxvideoplayer_test::ProcessCommandParametersL ),
ENTRY( "HandleMessageActivationMessageL", Cmpxvideoplayer_test::HandleMessageActivationMessageL ),
@@ -123,24 +119,6 @@
}
// -----------------------------------------------------------------------------
-// Cmpxvideoplayer_test::SetDefaultAccessPointL
-// -----------------------------------------------------------------------------
-//
-TInt Cmpxvideoplayer_test::SetDefaultAccessPointL( CStifItemParser& aItem )
-{
- return iAppUiEngineTester->SetDefaultAccessPointL( aItem );
-}
-
-// -----------------------------------------------------------------------------
-// Cmpxvideoplayer_test::SetQueryAccessPointL
-// -----------------------------------------------------------------------------
-//
-TInt Cmpxvideoplayer_test::SetQueryAccessPointL( CStifItemParser& aItem )
-{
- return iAppUiEngineTester->SetQueryAccessPointL( aItem );
-}
-
-// -----------------------------------------------------------------------------
// Cmpxvideoplayer_test::SetGenericParamAccessPointL
// -----------------------------------------------------------------------------
//
@@ -168,15 +146,6 @@
}
// -----------------------------------------------------------------------------
-// Cmpxvideoplayer_test::PrepareCloseMpxL
-// -----------------------------------------------------------------------------
-//
-TInt Cmpxvideoplayer_test::PrepareCloseMpxL( CStifItemParser& aItem )
-{
- return iAppUiEngineTester->PrepareCloseMpxL( aItem );
-}
-
-// -----------------------------------------------------------------------------
// Cmpxvideoplayer_test::StartStandAloneL
// -----------------------------------------------------------------------------
//
@@ -231,15 +200,6 @@
}
// -----------------------------------------------------------------------------
-// Cmpxvideoplayer_test::ProcessActivationMessageL
-// -----------------------------------------------------------------------------
-//
-TInt Cmpxvideoplayer_test::ProcessActivationMessageL( CStifItemParser& aItem )
-{
- return iAppUiEngineTester->ProcessActivationMessageL( aItem );
-}
-
-// -----------------------------------------------------------------------------
// Cmpxvideoplayer_test::HandleViewActivation
// -----------------------------------------------------------------------------
//