void ssd_confirm_dialog_close (void)
{
   confirm_dialog_context *data;
   ConfirmDialogCallback callback = NULL;
   SsdWidget dialog;
   int exit_code = dec_ok;
   
   dialog = ssd_dialog_context();
   data = (confirm_dialog_context *) ssd_dialog_context();
   if (data){
      callback = (ConfirmDialogCallback)data->callback;
      if (data->default_yes)
         exit_code = dec_yes;
      else
         exit_code = dec_no;
   }
   callback = (ConfirmDialogCallback)data->callback;
   kill_messagebox_timer ();
   ssd_dialog_hide ("confirm_dialog", dec_ok);
   
   if (!roadmap_screen_refresh())
      roadmap_screen_redraw();
   
   if (callback)
      (*callback)(exit_code, data->context);
}
Пример #2
0
void RealtimeAltRoutes_OnRouteResults (NavigateRouteRC rc, int num_res, const NavigateRouteResult *res){
   int i;
   
   CalculatingAltRoutes = FALSE;
   
   if (num_res > MAX_ROUTES)
      num_res = MAX_ROUTES;


   if (rc != route_succeeded){
      roadmap_main_remove_periodic(route_request_timeout);
      ssd_progress_msg_dialog_hide ();
      roadmap_log(ROADMAP_ERROR,"RealtimeAltRoutes_OnRouteResults failed rc=%d", rc );
      return;
   }

   roadmap_log (ROADMAP_DEBUG,"RealtimeAltRoutes_OnRouteResults %d", num_res);
   altRoutesTrips.altRoutTrip[0].iNumRoutes = num_res;
   for (i = 0; i < num_res ; i++){
      altRoutesTrips.altRoutTrip[0].pRouteResults[i] = *(res+i);//todo check
   }

   altRoutesTrips.altRoutTrip[0].iTripLenght = altRoutesTrips.altRoutTrip[0].pRouteResults[0].total_time;
   altRoutesTrips.altRoutTrip[0].iTripDistance = altRoutesTrips.altRoutTrip[0].pRouteResults[0].total_length;
   roadmap_alternative_routes_routes_dialog(gShowListFirst);

   roadmap_screen_refresh();
}
Пример #3
0
void RealtimeAltRoutes_OnTripRouteResults (NavigateRouteRC rc, int num_res, const NavigateRouteResult *res){
   int i;
   if (num_res > MAX_ROUTES)
      num_res = MAX_ROUTES;


   if (rc != route_succeeded){
      roadmap_log(ROADMAP_ERROR,"RealtimeAltRoutes_OnTripRouteResults failed rc=%d", rc );
      return;
   }

   roadmap_log (ROADMAP_DEBUG,"RealtimeAltRoutes_OnRouteResults %d", num_res);
   altRoutesTrips.altRoutTrip[0].iNumRoutes = num_res;
   for (i = 0; i < num_res ; i++){
      altRoutesTrips.altRoutTrip[0].pRouteResults[i] = *(res+i);
   }

   altRoutesTrips.altRoutTrip[0].iTripLenght = altRoutesTrips.altRoutTrip[0].pRouteResults[0].total_time;
   altRoutesTrips.altRoutTrip[0].iTripDistance = altRoutesTrips.altRoutTrip[0].pRouteResults[0].total_length;

   roadmap_trip_set_point ("Destination", &altRoutesTrips.altRoutTrip[0].destPosition);
   roadmap_trip_set_point ("Departure", &altRoutesTrips.altRoutTrip[0].srcPosition);

   roadmap_alternative_routes_suggest_route_dialog();

   roadmap_screen_refresh();
}
Пример #4
0
static void on_option_selected( BOOL made_selection,
         ssd_cm_item_ptr item,
         void* context)
{

   privacy_context_menu_items selection;

   int exit_code = dec_ok;
   g_context_menu_is_active = FALSE;

   if( !made_selection)
   return;

   selection = item->id;
   switch( selection)
   {

      case privacy_cm_save:
      save_changes();
      ssd_dialog_hide_current(dec_close);
      break;

      case privacy_cm_exit:
      exit_code = dec_cancel;
      ssd_dialog_hide_all( exit_code);
      roadmap_screen_refresh ();
      break;

      default:
      break;
   }
}
Пример #5
0
static void on_option_selected(  BOOL              made_selection,
                                 ssd_cm_item_ptr   item,
                                 void*             context)
{
   contextmenu_items selection = cm__invalid;
   BOOL              close     = FALSE;
   BOOL              do_nav    = FALSE;

   s_menu = FALSE;

   if( !made_selection)
      return;

   selection = item->id;

   switch( selection)
   {
      case cm_navigate:
         do_nav = TRUE;
         // Roll down...
      case cm_show:
         close = navigate( do_nav);
         break;

      case cm_add_to_favorites:
      {
         int                        selected_list_item   = get_selected_list_item();
         const address_candidate*   selection            = generic_search_result( selected_list_item);
         RoadMapPosition position;
         position.latitude = (int)(selection->latitude*1000000);
         position.longitude= (int)(selection->longtitude*1000000);
         generic_search_add_address_to_history( ADDRESS_FAVORITE_CATEGORY,
                                                selection->city,
                                                selection->street,
                                                get_house_number__str( selection->house),
                                                selection->state,
                                                selection->name,
                                                &position);
         break;
      }

      case cm_cancel:
         close = FALSE;
         break;

      default:
         assert(0);
         break;
   }

   if( close)
   {
      ssd_dialog_hide_all( dec_close);

      if (!roadmap_screen_refresh ())
           roadmap_screen_redraw();
   }
}
Пример #6
0
static void on_user_lang_downloaded(void){
   clean_up();
   ssd_progress_msg_dialog_hide();
   roadmap_screen_refresh();

   if (GeoConfigContext.callback)
       (*GeoConfigContext.callback)();
   GeoConfigContext.callback = NULL;
}
Пример #7
0
void RealtimeAltRoutes_OnTripRouteRC (NavigateRouteRC rc, int protocol_rc, const char *description){
   if ((protocol_rc != 200) || (rc != route_succeeded)){
      roadmap_log (ROADMAP_ERROR,"RealtimeAltRoutes_OnTripRouteRC - %s (rc=%d)", description, rc);
      if (roadmap_alternative_routes_suggest_dlg_active()){
         ssd_dialog_hide_all(dec_close);
         if (!roadmap_screen_refresh())
           roadmap_screen_redraw();
         roadmap_messagebox_timeout("Oops", description, 5);
      }
   }
}
int on_options(SsdWidget widget, const char *new_value, void *context)
{
   int menu_x;
   BOOL add_cancel = TRUE;
   BOOL b_report_wrong_address = ( get_selected_list_item()== COULDNT_FIND_INDEX ) ;
#ifdef TOUCH_SCREEN
   roadmap_screen_refresh();
#endif

   assert( !s_menu);

   if  (ssd_widget_rtl (NULL))
	   menu_x = SSD_X_SCREEN_RIGHT;
	else
		menu_x = SSD_X_SCREEN_LEFT;

   ssd_contextmenu_show_item( &context_menu,
                              cm_navigate,
                              !generic_search_dlg_is_1st(search_address)&&(!b_report_wrong_address),
                              FALSE);
   ssd_contextmenu_show_item( &context_menu,
                              cm_show,
                              !generic_search_dlg_is_1st(search_address)&&(!b_report_wrong_address),
                              FALSE);
   ssd_contextmenu_show_item( &context_menu,
                              cm_add_to_favorites,

                              !generic_search_dlg_is_1st(search_address)&&(!b_report_wrong_address),
                              FALSE);

   ssd_contextmenu_show_item( &context_menu,
                              cm_send,
                              b_report_wrong_address,
                              FALSE);

   ssd_contextmenu_show_item( &context_menu,
                              cm_cancel,
                              add_cancel,
                              FALSE);

   ssd_context_menu_show(  menu_x,              // X
                           SSD_Y_SCREEN_BOTTOM, // Y
                           &context_menu,
                           on_option_selected,
                           NULL,
                           dir_default,
                           0);


   s_menu = TRUE;

   return 0;
}
Пример #9
0
void RealtimeAltRoutes_OnRouteResults (NavigateRouteRC rc, int num_res, const NavigateRouteResult *res){
   int i;
   if (num_res > MAX_ROUTES)
      num_res = MAX_ROUTES;
   
   altRoutesTrips.altRoutTrip[gTripId].iNumRoutes = num_res;
   if (rc != route_succeeded){
      
      return;
   }
   for (i = 0; i < num_res ; i++){
      altRoutesTrips.altRoutTrip[gTripId].pRouteResults[i] = *(res+i);//todo check
   }  
   roadmap_alternative_routes_routes_dialog();
   roadmap_screen_refresh();
}
Пример #10
0
static void update_button(void){
   char button_txt[20];
   SsdWidget button = ssd_widget_get(dialog, "Hide");
   if (g_seconds != -1)
      sprintf(button_txt, "%s (%d)", roadmap_lang_get ("Hide"), g_seconds);
   else
      sprintf(button_txt, "%s", roadmap_lang_get ("Hide"));
#ifdef TOUCH_SCREEN
   if (button)
      ssd_button_change_text(button,button_txt );
#else
   ssd_widget_set_right_softkey_text(dialog->parent, button_txt);
   ssd_dialog_refresh_current_softkeys();
#endif
   if (!roadmap_screen_refresh())
      roadmap_screen_redraw();
}
Пример #11
0
void roadmap_ticker_show(void){
   char text[256];
   gTickerHide = FALSE;

   if (! roadmap_message_format (text, sizeof(text), "%*|%X")) {
      roadmap_message_set('*', "%d", 0);
      roadmap_ticker_set_last_event(default_event);
   }

   if (gTickerSupressHide)
      roadmap_main_remove_periodic (roadmap_ticker_supress_hide);

   roadmap_main_set_periodic (15000, roadmap_ticker_supress_hide);

   gTickerSupressHide = TRUE;
   if (!roadmap_screen_refresh())
     roadmap_screen_redraw();
}
static void roadmap_address_done (RoadMapGeocode *selected,
                                  RoadMapAddressDialog *context,
                                  address_info_ptr ai) {

    PluginStreet street;
    PluginLine line;
    RoadMapPosition from;
    RoadMapPosition to;

    roadmap_locator_activate (selected->fips);

    roadmap_log (ROADMAP_DEBUG, "selected address at %d.%06d %c, %d.%06d %c",
                 abs(selected->position.longitude)/1000000,
                 abs(selected->position.longitude)%1000000,
                 selected->position.longitude >= 0 ? 'E' : 'W',
                 abs(selected->position.latitude)/1000000,
                 abs(selected->position.latitude)%1000000,
                 selected->position.latitude >= 0 ? 'N' : 'S');

	 roadmap_math_adjust_zoom (selected->square);

    roadmap_plugin_set_line
       (&line, ROADMAP_PLUGIN_ID, selected->line, -1, selected->square, selected->fips);

    roadmap_trip_set_point ("Selection", &selected->position);
    roadmap_trip_set_point ("Address", &selected->position);

    if (!context->navigate || !RoadMapAddressNavigate) {

       roadmap_trip_set_focus ("Address");

       roadmap_display_activate
          ("Selected Street", &line, &selected->position, &street);

		 roadmap_street_extend_line_ends (&line, &from, &to, FLAG_EXTEND_BOTH, NULL, NULL);
		 roadmap_display_update_points ("Selected Street", &from, &to);
       roadmap_screen_refresh ();
    } else {

       if ((*RoadMapAddressNavigate) (&selected->position, &line, 0, ai) != -1) {
       }
    }
}
Пример #13
0
void roadmap_geo_config_transaction_failed(void){
   ssd_progress_msg_dialog_hide();
#ifdef J2ME   
   roadmap_messagebox_cb ("Oops",
            "Network connection is not available. Please check your device's network settings.",roadmap_geo_config_failed_cb);
#else
   roadmap_messagebox ("Oops",
            "Network connection is not available. Please check your device's network settings.");
#endif            
   clean_up();

   //Remove timer
   roadmap_main_remove_periodic (GeoConfigTimer);

   roadmap_screen_refresh();
   // on error, exit, don't continue.
   if (GeoConfigContext.callback)
      (*GeoConfigContext.callback)();

}
Пример #14
0
void GeoConfigTimer (void) {
   roadmap_log (ROADMAP_ERROR,"GeoServerConfig Timeout!! received %d out of %d", GeoConfigContext.num_received+1, GeoConfigContext.num_results );
   ssd_progress_msg_dialog_hide();


   roadmap_log(ROADMAP_ERROR,"Geo config timed out : exiting");
   roadmap_messagebox_cb ("Oops",
              "Could not establish network connection. Please check your device's network settings.", roadmap_geo_config_failed_cb);


   clean_up();

   roadmap_screen_refresh();

   //Remove timer
   roadmap_main_remove_periodic (GeoConfigTimer);

   /* - if geo config failed - Exit.
   if (GeoConfigContext.callback)
      (*GeoConfigContext.callback)();
      */

}
Пример #15
0
static void on_search(void)
{
   SsdWidget      list_cont;
   SsdWidget      edit;
   const char*    text;
   roadmap_result rc;
   const char*		dl_prefix = roadmap_lang_get ("map:");
   SsdWidget dlg = generic_search_dlg_get_search_dlg(search_address);

   edit = generic_search_dlg_get_search_edit_box(search_address);
   if ( !strcmp( DEBUG_LEVEL_SET_PATTERN, ssd_text_get_text( edit ) ) )
   {
      roadmap_start_reset_debug_mode();
      return;
   }
   if ( !strcmp( "##@il", ssd_text_get_text( edit ) ) )
   {
      roadmap_geo_config_il(NULL);
      return;
   }
   if ( !strcmp( "##@usa", ssd_text_get_text( edit ) ) )
   {
      roadmap_geo_config_usa(NULL);
      return;
   }
   
    if ( !strcmp( "##@heb", ssd_text_get_text( edit ) ) )
   {
      roadmap_lang_set_system_lang("heb");
      roadmap_messagebox("", "changed to hebrew, please restart wase");
      return;
   }
  
   if ( !strcmp( "##@eng", ssd_text_get_text( edit ) ) )
   {
         roadmap_messagebox("","changed to english, please restart wase");
      roadmap_lang_set_system_lang("eng");
      return;
   }
   
   if ( !strncmp( dl_prefix, ssd_text_get_text( edit ), strlen( dl_prefix ) ) )
   {
   	roadmap_map_download_region( ssd_text_get_text( edit ) + strlen( dl_prefix ),
   										  roadmap_locator_static_county() );
      ssd_dialog_hide_all( dec_close);

      if (!roadmap_screen_refresh ())
           roadmap_screen_redraw();
   	return;
   }

   s_searching = TRUE;

   roadmap_main_set_periodic( 100, search_progress_message_delayed );

   text     = ssd_text_get_text( edit );
   list_cont=  dlg->context;

   rc = address_search_resolve_address( list_cont, on_address_resolved, text );
   if( succeeded == rc)
   {
      roadmap_main_set_cursor( ROADMAP_CURSOR_WAIT);
      roadmap_log(ROADMAP_DEBUG,
                  "address_search_dlg::on_search() - Started Web-Service transaction: Resolve address");
   }
   else
   {
      const char* err = roadmap_result_string( rc);
      s_searching = FALSE;
      roadmap_log(ROADMAP_ERROR,
                  "address_search_dlg::on_search() - Resolve process transaction failed to start");
      /* Close the progress message */
      ssd_progress_msg_dialog_hide();
      roadmap_messagebox_cb ( roadmap_lang_get( "Resolve Address"),
                           roadmap_lang_get( err ), on_search_error_message );
   }
}
Пример #16
0
static void on_search(void)
{
   SsdWidget      list_cont;
   SsdWidget      edit;
   const char*    text;
   roadmap_result rc;
   const char*		dl_prefix = roadmap_lang_get ("map:");
   SsdWidget dlg = generic_search_dlg_get_search_dlg(search_address);

   edit = generic_search_dlg_get_search_edit_box(search_address);
   if ( !strcmp( DEBUG_LEVEL_SET_PATTERN, ssd_text_get_text( edit ) ) )
   {
      roadmap_start_reset_debug_mode();
      return;
   }

   if ( !strcmp( "##@coord", ssd_text_get_text( edit ) ) )
   {
      roadmap_gps_reset_show_coordinates();
      return;
   }

   if ( !strcmp( "##@il", ssd_text_get_text( edit ) ) )
   {
      roadmap_geo_config_il(NULL);
      return;
   }
   if ( !strcmp( "##@usa", ssd_text_get_text( edit ) ) )
   {
      roadmap_geo_config_usa(NULL);
      return;
   }
   if ( !strcmp( "##@other", ssd_text_get_text( edit ) ) )
   {
      roadmap_geo_config_other(NULL);
      return;
   }
   if ( !strcmp( "##@stg", ssd_text_get_text( edit ) ) )
   {
      roadmap_geo_config_stg(NULL);
      return;
   }


    if ( !strcmp( "##@heb", ssd_text_get_text( edit ) ) )
   {
      roadmap_lang_set_system_lang("heb", TRUE);
      roadmap_messagebox("", "Language changed to Hebrew, please restart waze");
      return;
   }

   if ( !strcmp( "##@eng", ssd_text_get_text( edit ) ) )
   {
      roadmap_lang_set_system_lang("eng", TRUE);
      roadmap_messagebox("","Language changed to English, please restart waze");
      return;
   }
   if ( !strcmp( "cc@tts", ssd_text_get_text( edit ) ) )
   {
      tts_clear_cache();
      roadmap_messagebox("","TTS cache has been cleared!");
      return;
   }
   if ( !strcmp( "##@tts", ssd_text_get_text( edit ) ) )
   {
      tts_set_feature_enabled( !tts_feature_enabled() );
      if ( tts_feature_enabled() )
      {
         roadmap_messagebox("","TTS Feature is enabled!\nPlease restart WAZE.");
      }
      else
      {
         roadmap_messagebox("","TTS Feature is disabled!");

      }
      navigate_main_override_nav_settings();
      return;
   }
   if ( !strcmp( "dbg@tts", ssd_text_get_text( edit ) ) )
   {
      if ( !strcmp( tts_was_provider_voices_set(), TTS_WAS_VOICES_SET_PRODUCTION ) )
      {
         tts_was_provider_apply_voices_set( TTS_WAS_VOICES_SET_DEBUG );
         roadmap_messagebox("","TTS Feature is running in debug mode!\nPlease restart WAZE.");
      }
      else
      {
         tts_was_provider_apply_voices_set( TTS_WAS_VOICES_SET_PRODUCTION );
         roadmap_messagebox("","TTS Feature is running in production mode!\nPlease restart WAZE.");
      }
      return;
   }

   if ( !strncmp( dl_prefix, ssd_text_get_text( edit ), strlen( dl_prefix ) ) )
   {
   	roadmap_map_download_region( ssd_text_get_text( edit ) + strlen( dl_prefix ),
   										  roadmap_locator_static_county() );
      ssd_dialog_hide_all( dec_close);

      if (!roadmap_screen_refresh ())
           roadmap_screen_redraw();
   	return;
   }

   s_searching = TRUE;

   roadmap_main_set_periodic( 100, search_progress_message_delayed );

   text     = ssd_text_get_text( edit );
   list_cont=  dlg->context;

   rc = address_search_resolve_address( list_cont, on_address_resolved, text );
   if( succeeded == rc)
   {
      roadmap_main_set_cursor( ROADMAP_CURSOR_WAIT);
      roadmap_log(ROADMAP_DEBUG,
                  "address_search_dlg::on_search() - Started Web-Service transaction: Resolve address");
   }
   else
   {
      const char* err = roadmap_result_string( rc);
      s_searching = FALSE;
      roadmap_log(ROADMAP_ERROR,
                  "address_search_dlg::on_search() - Resolve process transaction failed to start");
      /* Close the progress message */
      ssd_progress_msg_dialog_hide();
      roadmap_messagebox_cb ( roadmap_lang_get( "Resolve Address"),
                           roadmap_lang_get( err ), on_search_error_message );
   }
}
Пример #17
0
void roadmap_ticker_hide(void){
	gTickerHide = TRUE;
	if (!roadmap_screen_refresh())
		roadmap_screen_redraw();

}
Пример #18
0
void roadmap_ticker_supress_hide(void){
   gTickerSupressHide = FALSE;
   if(!roadmap_screen_refresh())
      roadmap_screen_redraw();
   roadmap_main_remove_periodic (roadmap_ticker_supress_hide);
}
Пример #19
0
int RealtimeBonus_PopUpNext (SsdWidget widget, const char *new_value) {
   SsdWidget popup, spacer, container, button, text, icon;
   char msg[512];
   RTBonus *pbonus = g_pbonus;
   const char *title;
   char *text_color = "#ffffff";
   int width;

   if (!pbonus)
      return 0;

   if (ssd_dialog_is_currently_active () && (!strcmp (ssd_dialog_currently_active_name (),
                  "BonusPopUPDlg")))
      ssd_dialog_hide_current (dec_cancel);

   if (pbonus->pBonusTitle){
      title = roadmap_lang_get (pbonus->pBonusTitle);
   }
   else{
      if (pbonus->iType == BONUS_TYPE_TREASURE)
         title = roadmap_lang_get ("Treasure chest");
   }

   popup = ssd_popup_new ("BonusPopUPDlg", title, NULL,
                  SSD_MAX_SIZE, SSD_MIN_SIZE, &pbonus->position, SSD_POINTER_LOCATION
                                 | SSD_ROUNDED_BLACK,DIALOG_ANIMATION_FROM_TOP);

   spacer = ssd_container_new ("space", "", SSD_MIN_SIZE, 5, SSD_END_ROW);
   ssd_widget_set_color (spacer, NULL, NULL);
   ssd_widget_add (popup, spacer);

   container = ssd_container_new ("IconCon", "", 50, SSD_MIN_SIZE, SSD_ALIGN_RIGHT);
   ssd_widget_set_color (container, NULL, NULL);
   icon = ssd_bitmap_new ("bonusIcon", pbonus->pIconName, SSD_ALIGN_VCENTER | SSD_ALIGN_CENTER);
   ssd_widget_add (container, icon);
   ssd_widget_add (popup, container);

   if (pbonus->pBonusText){
      snprintf (msg, sizeof(msg), "%s", pbonus->pBonusText);
   }else if (pbonus->iType == BONUS_TYPE_TREASURE){
      if (!Realtime_is_random_user())
         snprintf (msg, sizeof(msg), "%s", roadmap_lang_get ("There may be presents in this treasure chest! You'll know when you drive over it."));
      else
         snprintf (msg, sizeof(msg), "%s", roadmap_lang_get ("There may be presents in this treasure chest! You'll know when you drive over it. Note: You need to be a registered user in order to receive the gift inside. Register in 'Settings > Profile'"));
   }

   if (roadmap_canvas_width() > roadmap_canvas_height())
      width = roadmap_canvas_height() - 90;
   else
      width = roadmap_canvas_width() - 90;
   container = ssd_container_new ("IconCon", "", width, SSD_MIN_SIZE, 0);
   ssd_widget_set_color (container, NULL, NULL);
   text = ssd_text_new ("PointsTxt", msg, 16, SSD_END_ROW);
   if (pbonus->pBonusTextColor)
      text_color = pbonus->pBonusTextColor;

   ssd_text_set_color (text,text_color);
   ssd_widget_add (container, text);
   ssd_widget_add (popup, container);

#ifdef TOUCH_SCREEN
   spacer = ssd_container_new ("space", "", SSD_MIN_SIZE, 5, SSD_END_ROW);
   ssd_widget_set_color (spacer, NULL, NULL);
   ssd_widget_add (popup, spacer);

   button = ssd_button_label ("Close_button", roadmap_lang_get ("Close"), SSD_ALIGN_CENTER,
                  on_close);
   ssd_widget_add (popup, button);
#endif //TOUCH_SCREEN
   ssd_dialog_activate ("BonusPopUPDlg", NULL);

   if (!roadmap_screen_refresh ()) {
      roadmap_screen_redraw ();
   }
   return 1;
}
Пример #20
0
static void hide_timer(void){
	ssd_progress_msg_dialog_hide();
	if (!roadmap_screen_refresh())
	   roadmap_screen_redraw();
	roadmap_main_remove_periodic (hide_timer);
}
Пример #21
0
static void show_reminder_dlg(){
   ssd_dialog_activate(REMINDER_POP_DLG_NAME, NULL);
   if (!roadmap_screen_refresh()){
      roadmap_screen_redraw();
   }
}
Пример #22
0
static void on_recieved_completed (void) {
   char updateText[] = "We've made a few infrastructural changes that require re-start. Please exit and re-start waze.";
   const char *user_lang = roadmap_lang_get_user_lang();//"heb";//todomt 
   const char *force_lang = roadmap_config_get( &RoadMapConfigForceLanguage);
   // compare the old and new server id's - if different, user needs to restart
   int oldServerId = roadmap_config_get_integer(&RoadMapConfigSystemServerId);
   int newServerId = GeoConfigContext.id;

   // Save the RT server ID.
   roadmap_config_set_integer (&RoadMapConfigSystemServerId,
            GeoConfigContext.id);

#ifndef J2ME // in J2ME don't download the language until user chooses it manually // TODODAN
   //set the language
   if (!strcmp(force_lang, "")){
	   roadmap_lang_set_system_lang (GeoConfigContext.lang, NULL);
   }else{
	   roadmap_lang_set_system_lang (force_lang, NULL);
   }
#endif

   // Save version
   roadmap_config_set_integer (&RoadMapConfigGeoConfigVersion,
            GeoConfigContext.version);

   //Save new configuration
   roadmap_config_save (0);

   //Remove timer
   roadmap_main_remove_periodic (GeoConfigTimer);

   roadmap_log (ROADMAP_DEBUG,"GeoServerConfig Completed setting all parameters!!" );
   roadmap_log (ROADMAP_INFO, "GeoServerConfig: user_lang='%s' newServerId=%d", user_lang, newServerId );

   if ((user_lang[0] == 0) && (newServerId != 2)){
      roadmap_lang_download_conf_file(on_lang_conf_downloaded);
      return;
   }

   if ((user_lang[0] == 0) && (newServerId == 2)){
      roadmap_lang_set_system_lang(GeoConfigContext.lang, NULL);
   }

   if ((oldServerId==-1)){
      ssd_progress_msg_dialog_show("Downloading language");
	  roadmap_lang_download_lang_file(roadmap_lang_get_system_lang(), on_user_lang_downloaded); //on_user_lang_downloaded();//todomt 
      return;
   }

#ifndef J2ME
   roadmap_lang_download_lang_file(GeoConfigContext.lang, NULL);
#endif


   ssd_progress_msg_dialog_hide();

   clean_up();

   roadmap_screen_refresh();

   if (GeoConfigContext.callback)
      (*GeoConfigContext.callback)();

   GeoConfigContext.callback = NULL;

//   if ((oldServerId!=newServerId)&&(oldServerId!=-1)){
//
//      roadmap_lang_set_update_time("");
//#ifndef J2ME
//      roadmap_lang_set_lang_file_update_time("heb","");
//      roadmap_lang_set_lang_file_update_time("eng","");
//#endif
//      roadmap_prompts_set_update_time ("");
//      roadmap_splash_set_update_time ("");
//      roadmap_splash_reset_check_time();
//      roadmap_config_save(FALSE);
//#if (defined (IPHONE) || defined (ANDROID))
//      roadmap_tile_remove_all(roadmap_locator_active());
//#endif
//      roadmap_messagebox_cb(roadmap_lang_get("Please restart Waze"), roadmap_lang_get(updateText), restart_msg_cb);
//   }

}