equal
deleted
inserted
replaced
279 if ( iUidArrayIndex < iPkgUidArray.Count() ) |
279 if ( iUidArrayIndex < iPkgUidArray.Count() ) |
280 { |
280 { |
281 // Display installing note for user. |
281 // Display installing note for user. |
282 iDialogs->ShowWaitingNoteForUninstallerL(); |
282 iDialogs->ShowWaitingNoteForUninstallerL(); |
283 |
283 |
|
284 if ( iUidArrayIndex == 0 ) |
|
285 { |
|
286 // Set uninstall mode for universal indicator and |
|
287 // set percent value to 0%. |
|
288 iDialogs->SetModeToIndicatorL( KSWIDaemonUninstallerMode ); |
|
289 } |
|
290 else |
|
291 { |
|
292 // Calculate current percent value to iPercentValue. |
|
293 CalcPercentValue(); |
|
294 // Activate new value to universal indicator. |
|
295 iDialogs->ActivateIndicatorL( iPercentValue ); |
|
296 } |
|
297 |
284 FLOG_1( _L("[SISUninstaller] Run uninstall index = %d"), |
298 FLOG_1( _L("[SISUninstaller] Run uninstall index = %d"), |
285 iUidArrayIndex ); |
299 iUidArrayIndex ); |
286 |
300 |
287 // Get next UID. |
301 // Get next UID. |
288 iUID = iPkgUidArray[ iUidArrayIndex ]; |
302 iUID = iPkgUidArray[ iUidArrayIndex ]; |
345 // ----------------------------------------------------------------------- |
359 // ----------------------------------------------------------------------- |
346 // |
360 // |
347 void CSisPkgUninstaller::UninstallationCompleted( TInt /*aResult*/ ) |
361 void CSisPkgUninstaller::UninstallationCompleted( TInt /*aResult*/ ) |
348 { |
362 { |
349 FLOG( _L("[SISUninstaller] UninstallationCompleted") ); |
363 FLOG( _L("[SISUninstaller] UninstallationCompleted") ); |
|
364 // Update indicator value last time and show 100% to user. |
|
365 iDialogs->ActivateIndicatorL( 100 ); |
350 |
366 |
351 if ( EStateUninstalling == iProgramStatus->GetProgramStatus() ) |
367 if ( EStateUninstalling == iProgramStatus->GetProgramStatus() ) |
352 { |
368 { |
353 FLOG( _L("[SISUninstaller] Set status to idle")); |
369 FLOG( _L("[SISUninstaller] Set status to idle")); |
354 iProgramStatus->SetProgramStatusToIdle(); |
370 iProgramStatus->SetProgramStatusToIdle(); |
356 |
372 |
357 iUidArrayIndex = 0; |
373 iUidArrayIndex = 0; |
358 iState = EUninstallerStateIdle; |
374 iState = EUninstallerStateIdle; |
359 |
375 |
360 // Cancel waiting note. |
376 // Cancel waiting note. |
361 TRAP_IGNORE( iDialogs->CancelWaitingNoteL() ); |
377 TRAP_IGNORE( iDialogs->CancelWaitingNoteForUninstaller()); |
|
378 // Close indicator. |
|
379 iDialogs->CancelIndicatorL(); |
362 } |
380 } |
363 |
381 |
364 |
382 |
365 // ----------------------------------------------------------------------- |
383 // ----------------------------------------------------------------------- |
366 // This is for self exit. |
384 // This is for self exit. |
372 // Uninstall is completed and we do not need uninstaller anymore. |
390 // Uninstall is completed and we do not need uninstaller anymore. |
373 // Call revisor's destructor. |
391 // Call revisor's destructor. |
374 iRevisor->Exit(); |
392 iRevisor->Exit(); |
375 } |
393 } |
376 |
394 |
|
395 // ----------------------------------------------------------------------- |
|
396 // CSisInstaller::CalcPrecentValue |
|
397 // ----------------------------------------------------------------------- |
|
398 // |
|
399 void CSisPkgUninstaller::CalcPercentValue() |
|
400 { |
|
401 FLOG( _L("[SISUninstaller] CalcPercentValue") ); |
|
402 FLOG_1( _L("[SISUninstaller] iUidArrayIndex = %d"), iUidArrayIndex ); |
|
403 // Let's calculate indicator value for UI now. |
|
404 TInt packageUidCount = iPkgUidArray.Count(); |
|
405 FLOG_1( _L("[SISUninstaller] pkg UID count = %d"), packageUidCount ); |
|
406 |
|
407 iPercentValue = 0; |
|
408 |
|
409 if ( iUidArrayIndex && packageUidCount ) |
|
410 { |
|
411 // Let's calculate new precent value. |
|
412 if ( iUidArrayIndex <= packageUidCount ) |
|
413 { |
|
414 TReal32 realArrayIndex = iUidArrayIndex; |
|
415 TReal32 realPkgCount = packageUidCount; |
|
416 iPercentValue = (realArrayIndex/realPkgCount)*100; |
|
417 } |
|
418 else |
|
419 { |
|
420 // Most probably all is uninstalled if index is bigger then |
|
421 // filen count. Let's not show over 100% to user. |
|
422 iPercentValue = 100; |
|
423 } |
|
424 } |
|
425 |
|
426 FLOG_1( _L("[SISUninstaller] percent value = %d"), (TInt)iPercentValue ); |
|
427 } |
|
428 |
377 //EOF |
429 //EOF |