30 #include <eikdoc.h> // CEikDocument |
30 #include <eikdoc.h> // CEikDocument |
31 #include <appmngr2.rsg> // Resource IDs |
31 #include <appmngr2.rsg> // Resource IDs |
32 #include <featmgr.h> // FeatureManager |
32 #include <featmgr.h> // FeatureManager |
33 #include <e32property.h> // RProperty |
33 #include <e32property.h> // RProperty |
34 #include <hlplch.h> // HlpLauncher |
34 #include <hlplch.h> // HlpLauncher |
|
35 #include <StringLoader.h> // StringLoader |
|
36 #include <appmngr2.rsg> // Resource IDs |
|
37 #include <AknGlobalNote.h> // WaitNote |
|
38 #include <avkon.rsg> |
|
39 |
35 |
40 |
36 _LIT( KSWInstCommonUIResourceFileName, "SWInstCommonUI.rsc" ); |
41 _LIT( KSWInstCommonUIResourceFileName, "SWInstCommonUI.rsc" ); |
37 |
42 |
38 |
43 |
39 // ======== MEMBER FUNCTIONS ======== |
44 // ======== MEMBER FUNCTIONS ======== |
56 KSWInstCommonUIResourceFileName, iEikonEnv->FsSession() ); |
61 KSWInstCommonUIResourceFileName, iEikonEnv->FsSession() ); |
57 FLOG( "CAppMngr2AppUi::ConstructL, opening %S", fullName ); |
62 FLOG( "CAppMngr2AppUi::ConstructL, opening %S", fullName ); |
58 iResourceFileOffset = iEikonEnv->AddResourceFileL( *fullName ); |
63 iResourceFileOffset = iEikonEnv->AddResourceFileL( *fullName ); |
59 CleanupStack::PopAndDestroy( fullName ); |
64 CleanupStack::PopAndDestroy( fullName ); |
60 |
65 |
|
66 // Let's start global wait note so user can see that |
|
67 // App. Mngr is scanning memory. |
|
68 HBufC* string = StringLoader::LoadLC( R_QTN_AM_SCANNING_MEMORY ); |
|
69 CAknGlobalNote* note = CAknGlobalNote::NewLC(); |
|
70 note->SetSoftkeys( R_AVKON_SOFTKEYS_EMPTY ); |
|
71 FLOG( "CAppMngr2AppUi::ConstructL: ShowNoteL EAknGlobalWaitNote " ); |
|
72 iNoteId = note->ShowNoteL( EAknGlobalWaitNote, *string ); |
|
73 CleanupStack::PopAndDestroy( 2, string ); |
|
74 |
61 FLOG( "CAppMngr2AppUi::ConstructL, creting model" ); |
75 FLOG( "CAppMngr2AppUi::ConstructL, creting model" ); |
62 iModel = CAppMngr2Model::NewL( iEikonEnv->FsSession(), *this ); |
76 iModel = CAppMngr2Model::NewL( iEikonEnv->FsSession(), *this ); |
63 |
77 |
64 FLOG( "CAppMngr2AppUi::ConstructL, creting views" ); |
78 FLOG( "CAppMngr2AppUi::ConstructL, creting views" ); |
65 CAppMngr2InstalledView* installedView = CAppMngr2InstalledView::NewL(); |
79 CAppMngr2InstalledView* installedView = CAppMngr2InstalledView::NewL(); |
108 // --------------------------------------------------------------------------- |
122 // --------------------------------------------------------------------------- |
109 // |
123 // |
110 CAppMngr2AppUi::~CAppMngr2AppUi() |
124 CAppMngr2AppUi::~CAppMngr2AppUi() |
111 { |
125 { |
112 FLOG( "CAppMngr2AppUi::~CAppMngr2AppUi" ); |
126 FLOG( "CAppMngr2AppUi::~CAppMngr2AppUi" ); |
|
127 |
|
128 if( iNoteId ) |
|
129 { |
|
130 // If appmngr is closed for some reason let's make sure |
|
131 // the note is closed. |
|
132 TRAP_IGNORE( CancelNoteL() ); |
|
133 } |
|
134 |
113 delete iIdle; |
135 delete iIdle; |
114 delete iModel; |
136 delete iModel; |
|
137 |
115 if( iResourceFileOffset > 0 ) |
138 if( iResourceFileOffset > 0 ) |
116 { |
139 { |
117 iEikonEnv->DeleteResourceFile( iResourceFileOffset ); |
140 iEikonEnv->DeleteResourceFile( iResourceFileOffset ); |
118 } |
141 } |
119 FeatureManager::UnInitializeLib(); |
142 FeatureManager::UnInitializeLib(); |
120 delete iExitTimer; |
143 delete iExitTimer; |
121 } |
144 } |
122 |
145 |
123 // --------------------------------------------------------------------------- |
146 // --------------------------------------------------------------------------- |
124 // CAppMngr2AppUi::Model() |
147 // CAppMngr2AppUi::Model() |
125 // --------------------------------------------------------------------------- |
148 // --------------------------------------------------------------------------- |
138 FLOG( "CAppMngr2AppUi::InstalledAppsChanged( %d )", aMoreRefreshesExpected ); |
161 FLOG( "CAppMngr2AppUi::InstalledAppsChanged( %d )", aMoreRefreshesExpected ); |
139 if( iView == View( KInstalledViewId ) ) |
162 if( iView == View( KInstalledViewId ) ) |
140 { |
163 { |
141 CAppMngr2ListView* view = static_cast<CAppMngr2ListView*>( iView ); |
164 CAppMngr2ListView* view = static_cast<CAppMngr2ListView*>( iView ); |
142 TRAP_IGNORE( view->RefreshL( aMoreRefreshesExpected ) ); |
165 TRAP_IGNORE( view->RefreshL( aMoreRefreshesExpected ) ); |
|
166 |
|
167 // Let's close global wait note since memory scanning is ready. |
|
168 TRAP_IGNORE( CancelNoteL() ); |
143 } |
169 } |
144 } |
170 } |
145 |
171 |
146 // --------------------------------------------------------------------------- |
172 // --------------------------------------------------------------------------- |
147 // CAppMngr2AppUi::InstallationFilesChanged() |
173 // CAppMngr2AppUi::InstallationFilesChanged() |
152 FLOG( "CAppMngr2AppUi::InstallationFilesChanged( %d )", aMoreRefreshesExpected ); |
178 FLOG( "CAppMngr2AppUi::InstallationFilesChanged( %d )", aMoreRefreshesExpected ); |
153 if( iView == View( KPackagesViewId ) ) |
179 if( iView == View( KPackagesViewId ) ) |
154 { |
180 { |
155 CAppMngr2ListView* view = static_cast<CAppMngr2ListView*>( iView ); |
181 CAppMngr2ListView* view = static_cast<CAppMngr2ListView*>( iView ); |
156 TRAP_IGNORE( view->RefreshL( aMoreRefreshesExpected ) ); |
182 TRAP_IGNORE( view->RefreshL( aMoreRefreshesExpected ) ); |
|
183 |
|
184 // Let's close global wait note since memory scanning is ready. |
|
185 TRAP_IGNORE( CancelNoteL() ); |
157 } |
186 } |
158 } |
187 } |
159 |
188 |
160 // --------------------------------------------------------------------------- |
189 // --------------------------------------------------------------------------- |
161 // CAppMngr2AppUi::InstalledAppsDisplayed() |
190 // CAppMngr2AppUi::InstalledAppsDisplayed() |
253 default: |
282 default: |
254 break; |
283 break; |
255 } |
284 } |
256 } |
285 } |
257 |
286 |
|
287 // --------------------------------------------------------------------------- |
|
288 // CAppMngr2AppUi::CancelNoteL() |
|
289 // --------------------------------------------------------------------------- |
|
290 // |
|
291 void CAppMngr2AppUi::CancelNoteL() |
|
292 { |
|
293 FLOG( "CAppMngr2AppUi::CancelNoteL: iNoteId = %d", iNoteId ); |
|
294 if ( iNoteId ) |
|
295 { |
|
296 CAknGlobalNote* note = CAknGlobalNote::NewLC(); |
|
297 FLOG( "CAppMngr2AppUi::CancelNoteL: note->CancelNoteL" ); |
|
298 note->CancelNoteL( iNoteId ); |
|
299 CleanupStack::PopAndDestroy(); |
|
300 iNoteId = 0; |
|
301 } |
|
302 } |
|
303 |