DAL_STATUS DAL_LowMemoryOff(void)
{
	UINT32 BG_COLOR = MAKE_TWO_RGB565_COLOR(DAL_BG_COLOR, DAL_BG_COLOR);
	DAL_LOG("Enter DAL_LowMemoryOff()\n");

	DAL_CHECK_MFC_RET(MFC_SetMem(mfc_handle, low_memory_msg, BG_COLOR));
	
	if (LCD_STATE_POWER_OFF == LCD_GetState()) {
        dal_disable_when_resume_lowmemory = TRUE;
        goto End;
    }
//what about LCM_PHYSICAL_ROTATION = 180
	if(!dal_shown){// only low memory assert shown on screen
		DAL_CHECK_LCD_RET(LCD_LayerEnable(ASSERT_LAYER, FALSE));
		DAL_CHECK_LCD_RET(LCD_LayerSetOffset(ASSERT_LAYER, 0,0));
		DAL_CHECK_LCD_RET(LCD_LayerSetWindowOffset(ASSERT_LAYER, 0,0));
   		DAL_CHECK_LCD_RET(LCD_LayerSetSize(ASSERT_LAYER,
                                       DAL_WIDTH,
                                       DAL_HEIGHT));

	}
/*
	DAL_CHECK_DISP_RET(DISP_UpdateScreen(0, 0, 
                                         DAL_WIDTH,
                                         DAL_HEIGHT));
*/
End:			
	dal_lowMemory_shown = FALSE;
	DAL_LOG("Leave DAL_LowMemoryOff()\n");
    return DAL_STATUS_OK;
}
DAL_STATUS DAL_LowMemoryOff(void)
{
	UINT32 BG_COLOR = MAKE_TWO_RGB565_COLOR(DAL_BG_COLOR, DAL_BG_COLOR);
	DAL_LOG("Enter DAL_LowMemoryOff()\n");

	DAL_CHECK_MFC_RET(MFC_SetMem(mfc_handle, low_memory_msg, BG_COLOR));
	
//what about LCM_PHYSICAL_ROTATION = 180
	if(!dal_shown)
	{// only low memory assert shown on screen
        mutex_lock(&OverlaySettingMutex);
        cached_layer_config[ASSERT_LAYER].src_x = 0;
        cached_layer_config[ASSERT_LAYER].src_y = 0;
        cached_layer_config[ASSERT_LAYER].src_w = DAL_WIDTH;
        cached_layer_config[ASSERT_LAYER].src_h = DAL_HEIGHT;
        cached_layer_config[ASSERT_LAYER].dst_x = 0;
        cached_layer_config[ASSERT_LAYER].dst_y = 0;
        cached_layer_config[ASSERT_LAYER].dst_w = DAL_WIDTH;
        cached_layer_config[ASSERT_LAYER].dst_h = DAL_HEIGHT;
        cached_layer_config[ASSERT_LAYER].layer_en= FALSE;
        cached_layer_config[ASSERT_LAYER].isDirty = true;
        atomic_set(&OverlaySettingDirtyFlag, 1);
        atomic_set(&OverlaySettingApplied, 0);
        mutex_unlock(&OverlaySettingMutex);
	}
	dal_lowMemory_shown = FALSE;
	DAL_LOG("Leave DAL_LowMemoryOff()\n");
    return DAL_STATUS_OK;
}
DAL_STATUS DAL_LowMemoryOff(void)
{
	UINT32 BG_COLOR = MAKE_TWO_RGB565_COLOR(DAL_BG_COLOR, DAL_BG_COLOR);
	DAL_LOG("Enter DAL_LowMemoryOff()\n");

	DAL_CHECK_MFC_RET(MFC_SetMem(mfc_handle, low_memory_msg, BG_COLOR));

/* what about LCM_PHYSICAL_ROTATION = 180 */
	if (!dal_shown) {	/* only low memory assert shown on screen */
		DAL_UpdateScreen(FALSE, FALSE, 0, 0);
	}
	dal_lowMemory_shown = FALSE;
	DAL_LOG("Leave DAL_LowMemoryOff()\n");
	return DAL_STATUS_OK;
}