void ConstructL(TInt aSteps) {


		iWg=RWindowGroup(iEikonEnv->WsSession());
		User::LeaveIfError(iWg.Construct((TUint32)&iWg, EFalse));
		iWg.SetOrdinalPosition(1, ECoeWinPriorityAlwaysAtFront+1);
		iWg.EnableReceiptOfFocus(EFalse);

		CreateWindowL(&iWg);

		iSteps=aSteps;
		iBitmap=new (ELeave) CWsBitmap(iEikonEnv->WsSession());
		TBuf<50> bm=_L("c:\\");
#ifndef __S60V3__
		bm.Append(_L("system\\data\\"));
#else
		bm.Append(_L("resource\\"));
#endif

#ifdef FLICKR
		bm.Append(_L("contextflickr.mbm"));
#else
		bm.Append(_L("context_log.mbm"));
#endif
#ifndef __WINS__
		if (! BaflUtils::FileExists(iEikonEnv->FsSession(), bm) ) bm.Replace(0, 1, _L("e"));
#else
		bm.Replace(0, 1, _L("z"));
#endif
#ifdef FLICKR
		User::LeaveIfError(iBitmap->Load(bm, EMbmContextflickrMeaning));
#else
		User::LeaveIfError(iBitmap->Load(bm, EMbmContext_logMeaning));
#endif

		SetExtentToWholeScreen();
		TInt scale=1;
		if (Rect().Width()>176) scale=2;

		progress_left=28*scale;
		progress_width=120*scale;
		progress_height=6*scale;
		progress_top=165*scale;
	}
/**
 * @brief Completes the second phase of Symbian object construction.
 * Put initialization code that could leave here.
 */
void CAlarmSwitcherAppUi::ConstructL()
{
    // [[[ begin generated region: do not modify [Generated Contents]

    BaseConstructL( EAknEnableSkin  |
                    EAknEnableMSK );
    InitializeContainersL();
    // ]]] end generated region [Generated Contents]

    RASCliSession session;
    session.Connect();
    RArray<TInt> ids;
    session.GetAlarmIdListL(ids);
    TASShdAlarm tempAlarm;
    TASShdAlarm aAlarmInfo;
    TAlarmStatus newstat;
    TInt MaskID=EMbmAlarmswitcher_aifQgn_menu_alarmswitcher;
    TInt ImageID=EMbmAlarmswitcher_aifQgn_menu_alarmswitcher_mask;
    CEikonEnv::Static()->RootWin().SetOrdinalPosition(-4);
    RWindowGroup* iWinGroup = new (ELeave) RWindowGroup(CEikonEnv::Static()->WsSession());
    iWinGroup->Construct((TUint32)iWinGroup);
    iWinGroup->EnableReceiptOfFocus(EFalse); // Don't capture any key events.
    iWinGroup->SetOrdinalPosition(0, ECoeWinPriorityAlwaysAtFront);
    for (TInt i=0; i<ids.Count(); i++)
    {
        TInt err=session.GetAlarmDetails(ids[i],tempAlarm);
        if (err!=KErrNone) {
            continue;
        }
        if (tempAlarm.Status()==EAlarmStatusDisabled) {
            ImageID=EMbmAlarmswitcher_aifAlarmon;
            MaskID=EMbmAlarmswitcher_aifAlarmon_mask;
            newstat=EAlarmStatusEnabled;
        }
        else {
            ImageID=EMbmAlarmswitcher_aifAlarmoff;
            MaskID=EMbmAlarmswitcher_aifAlarmoff_mask;
            newstat=EAlarmStatusDisabled;
        }
        tempAlarm.iStatus=newstat;
        session.SetAlarmStatus(ids[i],newstat);
        err=session.GetAlarmDetails(ids[i],tempAlarm);
        RDebug::Print(_L("%d"),i);
    }
    session.Close();
    RWsSprite* iSprite= new (ELeave) RWsSprite(CEikonEnv::Static()->WsSession());
    iSprite->Construct(*iWinGroup,TPoint(0,0),0);

    TInt ScrX=CEikonEnv::Static()->ScreenDevice()->SizeInPixels().iWidth;
    TInt ScrY=CEikonEnv::Static()->ScreenDevice()->SizeInPixels().iHeight;
    TInt min=ScrX/2;
    if (ScrX>ScrY) {
        min=ScrY/2;
    }
    else {
        min=ScrX/2;
    }
    TSize size=TSize(min/2,min/2);
    TSpriteMember Member;
    CGulIcon* icon=LoadIcon(ImageID,MaskID,size);
    Member.iBitmap=icon->Bitmap();
    Member.iMaskBitmap=icon->Mask();
    Member.iOffset=TPoint(0,0);
    Member.iInterval=TTimeIntervalMicroSeconds32(60*1000000);
    Member.iInvertMask=EFalse;
    iSprite->AppendMember(Member);

    TInt BitX=Member.iBitmap->SizeInPixels().iWidth;
    TInt BitY=Member.iBitmap->SizeInPixels().iHeight;

    iSprite->SetPosition(TPoint(ScrX/2-BitX/2,ScrY/2-BitY/2));
    iSprite->Activate();
    CEikonEnv::Static()->WsSession().Flush();
    User::After(2000000);
    User::Exit(0);
}