diff -r 89a1f2bd800d -r e16d72588c28 commondrm/drmrightsmanagerui/src/DRMRightsMgrAppUi.cpp --- a/commondrm/drmrightsmanagerui/src/DRMRightsMgrAppUi.cpp Fri Feb 19 23:05:49 2010 +0200 +++ b/commondrm/drmrightsmanagerui/src/DRMRightsMgrAppUi.cpp Fri Mar 12 15:43:46 2010 +0200 @@ -231,7 +231,7 @@ { case EDrmSchemeOmaDrm: CheckOmaDrmRightsL( aContentURI, aLocalID, rights, status ); - if ( status ) + if ( status < 0 ) { rights = NULL; } @@ -331,6 +331,7 @@ const TBool aIsGroup ) { CDcfCommon* dcf = NULL; + HBufC8* buffer( NULL ); TBool getName = ETrue; TParse parse; @@ -356,19 +357,52 @@ if ( err == KErrNotFound || itemNameBuf->Length() == 0 ) { - if ( aIsGroup ) + // Do not show name if group rights or forward lock + if ( !aIsGroup ) { - aItemName = aFullName; - } - else - { - parse.Set( aFullName, NULL, NULL ); - aItemName = parse.NameAndExt(); + if ( ( iRightsClient.ForwardLockURI( buffer ) == + KErrNone ) && buffer ) + { + + // Not forward lock + if ( aID.Compare( *buffer ) != 0 ) + { + parse.Set( aFullName, NULL, NULL ); + aItemName = parse.NameAndExt(); + } + delete buffer; + buffer = NULL; + + } + else + { + parse.Set( aFullName, NULL, NULL ); + aItemName = parse.NameAndExt(); + } } } else if ( err == KErrNone ) { - aItemName = *itemNameBuf; + // Forward lock or combined delivery + // If forward lock, do not show name + if ( iRightsClient.ForwardLockURI( buffer ) == KErrNone && + buffer ) + { + if ( aID.Compare( *buffer ) != 0 ) + { + // Combined delivery + aItemName = *itemNameBuf; + } + delete buffer; + } + else + { + // Do not show name if having group rights + if ( !aIsGroup ) + { + aItemName = *itemNameBuf; + } + } } else { @@ -720,11 +754,21 @@ if ( entry ) { fullName = entry->FileName(); - delete entry; SetSelectedItemFullName( fullName ); TFileName itemName; - GetItemNameL( fullName, itemName, aContentURI, EFalse ); + + if ( entry->GroupId().Length() > 0 ) + { + GetItemNameL( fullName, itemName, aContentURI, ETrue ); + } + else + { + GetItemNameL( fullName, itemName, aContentURI, EFalse ); + } + + delete entry; + SetSelectedItemName( itemName ); if ( GetItemDataL( fullName, aContentURI, listable, @@ -738,6 +782,7 @@ { SetSelectedItemFullName( KNullDesC ); TFileName itemName; + // Treat in GetItemNameL as if having group rights GetItemNameL( KNullDesC, itemName, aContentURI, ETrue ); SetSelectedItemName( itemName ); @@ -753,15 +798,15 @@ { aStatus = iDRMCommon->GetSingleRightsObject( aContentURI, aLocalID, aRights ); + if ( aStatus ) + { + aRights = NULL; + } } - else + else { aStatus = iDRMCommon->GetActiveRights( aContentURI, 0, aRights ); } - if ( aStatus ) - { - aRights = NULL; - } CheckIndividualConstraint( aContentURI, individualConstraint, usageAllowed ); SetSelectedIndividualConstraint( individualConstraint );