// --------------------------------------------------------------------------- // CAknBatteryStrength::HandleResourceChange // --------------------------------------------------------------------------- // void CAknBatteryStrength::HandleResourceChange( TInt aType ) { if ( aType==KEikDynamicLayoutVariantSwitch || aType == KEikColorResourceChange || aType == KAknsMessageSkinChange) { DeleteBitmaps(); // SizeChanged reloads needed bitmaps SizeChanged(); if ( aType == KEikDynamicLayoutVariantSwitch ) { SetBatteryLevel( iBatteryLevel ); // refreshes battery level offsets } DrawDeferred(); } }
void KeyScan_DetBattery(void) { #if (KEYSCAN_POWEROFF_DET == ENABLE) UINT32 ui_battery_level =0; static UINT32 uiDetLowBattery = 0; static UINT32 ui_Battery_val[] = {BATTERY_FULL,BATTERY_MED,BATTERY_LOW,BATTERY_EMPTY,BATTERY_EXHAUSTED}; // if (KeyScan_IsFlashCharging() || KeyScan_IsUSBPlug()) // return; //debug_err(("KeyScan_IsUSBPlug : %d\r\n",KeyScan_IsUSBPlug())); if((usb_StateChange())||(GPIOMap_GetAcc12V()==TRUE)) { switch(uiBatteryLvl) { case VOLDET_BATTERY_LVL_3: uiBatteryLvl = VOLDET_BATTERY_LVL_1; break; case VOLDET_BATTERY_LVL_1: uiBatteryLvl = VOLDET_BATTERY_LVL_2; break; case VOLDET_BATTERY_LVL_2: uiBatteryLvl = VOLDET_BATTERY_LVL_3; break; default: uiBatteryLvl = VOLDET_BATTERY_LVL_1; break; } SetBatteryLevel(ui_Battery_val[uiBatteryLvl]); Ux_PostEvent(NVTEVT_BATTERY, 0); return; } else { uiBatteryLvl = VolDet_GetBatteryLevel(); ui_battery_level = GetBatteryLevel(); } //debug_err(("battery level: new %d, old %d\n\r",uiBatteryLvl,ui_battery_level)); switch(ui_battery_level) { case BATTERY_FULL: if(uiBatteryLvl != VOLDET_BATTERY_LVL_3) { SetBatteryLevel(ui_Battery_val[uiBatteryLvl]); Ux_PostEvent(NVTEVT_BATTERY, 0); } break; case BATTERY_MED: if(uiBatteryLvl != VOLDET_BATTERY_LVL_2) { SetBatteryLevel(ui_Battery_val[uiBatteryLvl]); Ux_PostEvent(NVTEVT_BATTERY, 0); } break; case BATTERY_LOW: if(uiBatteryLvl != VOLDET_BATTERY_LVL_1) { SetBatteryLevel(ui_Battery_val[uiBatteryLvl]); Ux_PostEvent(NVTEVT_BATTERY, 0); } break; case BATTERY_EMPTY: if(uiBatteryLvl != VOLDET_BATTERY_LVL_0) { SetBatteryLevel(ui_Battery_val[uiBatteryLvl]); Ux_PostEvent(NVTEVT_BATTERY, 0); } break; case BATTERY_EXHAUSTED: if(uiBatteryLvl != VOLDET_BATTERY_LVL_EMPTY) { SetBatteryLevel(ui_Battery_val[uiBatteryLvl]); Ux_PostEvent(NVTEVT_BATTERY, 0); } break; } if (uiBatteryLvl == VOLDET_BATTERY_LVL_EMPTY) { uiDetLowBattery++; if (uiDetLowBattery >= 2) // if continuously detect battery low over 2 sec { debug_err(("*********KeyScan_DetBattery: Empty battery!!!\r\n")); KeyScan_PlaySound(PLAYSOUND_SOUND_KEY_OTHERS); TimerDelayMs(500); FlowWrnBatteryEmpty_Open(); TimerDelayMs(2000); KeyScan_PoweroffFlow(); } } else { uiDetLowBattery = 0; } #endif //KEYSCAN_POWEROFF_DET }
// --------------------------------------------------------------------------- // CAknBatteryStrength::SizeChanged // --------------------------------------------------------------------------- // void CAknBatteryStrength::SizeChanged() { TSize size( Size() ); if ( AknStatuspaneUtils::StaconPaneActive() ) { TRAP_IGNORE( LoadStaconBitmapsL() ); if ( iStaconLeftSideBatteryIndicatorBitmap ) { AknIconUtils::SetSize( iStaconLeftSideBatteryIndicatorBitmap, size, EAspectRatioPreservedAndUnusedSpaceRemoved ); } if ( iStaconRightSideBatteryIndicatorBitmap ) { AknIconUtils::SetSize( iStaconRightSideBatteryIndicatorBitmap, size, EAspectRatioPreservedAndUnusedSpaceRemoved ); } iLastStaconSize = size; } else if ( AknStatuspaneUtils::FlatLayoutActive() ) { TRAP_IGNORE( LoadFlatBitmapsL() ); if ( iFlatBatteryIndicatorBitmap ) { AknIconUtils::SetSize( iFlatBatteryIndicatorBitmap, size, EAspectRatioNotPreserved ); } iLastFlatSize = size; } else if ( AknStatuspaneUtils::ExtendedLayoutActive() ) { TRAP_IGNORE( LoadDefaultBitmapsL() ); if ( iDefaultBatteryIndicatorBitmap ) { AknIconUtils::SetSize( iDefaultBatteryIndicatorBitmap, size, EAspectRatioNotPreserved ); } iLastDefaultSize = size; } else { TRAP_IGNORE( LoadDefaultBitmapsL() ); if ( iDefaultBatteryIndicatorBitmap ) { AknIconUtils::SetSize( iDefaultBatteryIndicatorBitmap, size ); } iLastDefaultSize = size; } SetBatteryLevel( iBatteryLevel ); // refreshes battery level offsets AknsUtils::RegisterControlPosition( this ); }
void KeyScan_DetBattery(void) { #if (KEYSCAN_POWEROFF_DET == ENABLE) UINT32 ui_battery_level; static UINT32 uiDetLowBattery = 0; static UINT32 ui_Battery_val[] = {BATTERY_FULL,BATTERY_MED,BATTERY_LOW,BATTERY_EMPTY,BATTERY_EXHAUSTED, BATTERY_CHARGE}; // don't monitor battery as flash light charging //if (KeyScan_IsFlashCharging()) // return; if (KeyScan_IsUSBPower()) { uiBatteryLvl = VOLDET_BATTERY_LVL_CHARGE; ui_battery_level = BATTERY_CHARGE; SetBatteryLevel(BATTERY_CHARGE); Ux_PostEvent(NVTEVT_BATTERY, 0); }else { uiBatteryLvl = VolDet_GetBatteryLevel(); ui_battery_level = GetBatteryLevel(); Ux_PostEvent(NVTEVT_BATTERY, 0); } switch(ui_battery_level) { case BATTERY_CHARGE: if(uiBatteryLvl != VOLDET_BATTERY_LVL_CHARGE) { SetBatteryLevel(ui_Battery_val[uiBatteryLvl]); Ux_PostEvent(NVTEVT_BATTERY, 0); } break; case BATTERY_FULL: if(uiBatteryLvl != VOLDET_BATTERY_LVL_3) { SetBatteryLevel(ui_Battery_val[uiBatteryLvl]); Ux_PostEvent(NVTEVT_BATTERY, 0); } break; case BATTERY_MED: if(uiBatteryLvl != VOLDET_BATTERY_LVL_2) { SetBatteryLevel(ui_Battery_val[uiBatteryLvl]); Ux_PostEvent(NVTEVT_BATTERY, 0); } break; case BATTERY_LOW: if(uiBatteryLvl != VOLDET_BATTERY_LVL_1) { SetBatteryLevel(ui_Battery_val[uiBatteryLvl]); Ux_PostEvent(NVTEVT_BATTERY, 0); } break; case BATTERY_EMPTY: if(uiBatteryLvl != VOLDET_BATTERY_LVL_0) { SetBatteryLevel(ui_Battery_val[uiBatteryLvl]); Ux_PostEvent(NVTEVT_BATTERY, 0); } break; case BATTERY_EXHAUSTED: if(uiBatteryLvl != VOLDET_BATTERY_LVL_EMPTY) { SetBatteryLevel(ui_Battery_val[uiBatteryLvl]); Ux_PostEvent(NVTEVT_BATTERY, 0); } break; } if (uiBatteryLvl == VOLDET_BATTERY_LVL_EMPTY) { uiDetLowBattery++; if (uiDetLowBattery >= 3) // if continuously detect battery low over 3 times { VControl *pCurrnetWnd; //#NT#2011/08/09#KS Hung -begin switch(Primary_GetCurrentMode()) { case PRIMARY_MODE_MOVIE: switch (FlowMovie_GetMovDataState()) { case MOV_ST_REC: case MOV_ST_REC | MOV_ST_ZOOM: FlowMovie_StopRec(); break; } break; case PRIMARY_MODE_PLAYBACK: switch (FlowPB_GetPlbDataState()) { case PLB_ST_PLAY_MOV: case PLB_ST_PAUSE_MOV: Ux_SendEvent(&UIPlayObjCtrl,NVTEVT_MOVSTOP,0); break; } break; } Ux_GetFocusedWindow(&pCurrnetWnd); if (strncmp(pCurrnetWnd->Name,"UIFlowWndWrnMsg",15) != 0) { KeyScan_SetKeyMask(KEYSCAN_KEYMODE_PRESS, FLGKEY_KEY_MASK_NULL); KeyScan_SetKeyMask(KEYSCAN_KEYMODE_RELEASE, FLGKEY_KEY_MASK_NULL); KeyScan_SetKeyMask(KEYSCAN_KEYMODE_CONTINUE, FLGKEY_KEY_MASK_NULL); Ux_OpenWindow(&UIFlowWndWrnMsgCtrl,2,UIFlowWndWrnMsg_StatusTXT_Msg_STRID_BATTERY_LOW, FLOWWRNMSG_TIMER_2SEC*5); } //#NT#2011/08/09#KS Hung -end } } else { uiDetLowBattery = 0; } #endif //KEYSCAN_POWEROFF_DET }