Fix:android:Rewrite/cleanup of the MapDownloader menu code
authorrikky <rikky@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Sun, 27 Mar 2011 19:51:28 +0000 (19:51 +0000)
committerrikky <rikky@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Sun, 27 Mar 2011 19:51:28 +0000 (19:51 +0000)
git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@4392 ffa7fe5e-494d-0410-b361-a75ebd5db220

navit/navit/android/src/org/navitproject/navit/NavitMapDownloader.java

index c18796e..0df175e 100644 (file)
@@ -39,134 +39,125 @@ public class NavitMapDownloader
 {\r
        public static class osm_map_values\r
        {\r
-               String  lon1;\r
-               String  lat1;\r
-               String  lon2;\r
-               String  lat2;\r
-               String  map_name                                                                = "";\r
-               long            est_size_bytes                                          = 0;\r
-               String  est_size_bytes_human_string     = "";\r
-               String  text_for_select_list                            = "";\r
-               Boolean is_continent                                            = false;\r
-               int             continent_id                                            = 0;\r
+               String  lon1;\r
+               String  lat1;\r
+               String  lon2;\r
+               String  lat2;\r
+               String  map_name                     = "";\r
+               long    est_size_bytes               = 0;\r
+               int     level                        = 0;\r
 \r
 \r
                public osm_map_values(String mapname, String lon_1, String lat_1, String lon_2, String lat_2,\r
-                               long bytes_est, Boolean is_con, int con_id)\r
+                               long bytes_est, int level)\r
                {\r
-                       this.is_continent = is_con;\r
-                       this.continent_id = con_id;\r
                        this.map_name = mapname;\r
                        this.lon1 = lon_1;\r
                        this.lat1 = lat_1;\r
                        this.lon2 = lon_2;\r
                        this.lat2 = lat_2;\r
                        this.est_size_bytes = bytes_est;\r
-                       this.est_size_bytes_human_string = " ca. "\r
-                                       + (int) ((float) (this.est_size_bytes) / 1024f / 1024f) + "MB";\r
-                       this.text_for_select_list = this.map_name + " " + this.est_size_bytes_human_string;\r
+                       this.level = level;\r
                }\r
        }\r
        //\r
        // define the maps here\r
        //\r
        static final osm_map_values[] osm_maps = {\r
-               new osm_map_values("Whole Planet", "-180", "-90", "180", "90", 5985878379L, true, 0),\r
-               new osm_map_values("Africa", "-20.8", "-35.2", "52.5", "37.4", 180836389L, true, 1),\r
-               new osm_map_values("Angola", "11.4", "-18.1", "24.2", "-5.3", 56041641L, false, 1),\r
-               new osm_map_values("Burundi", "28.9", "-4.5", "30.9", "-2.2", 56512924L, false, 1),\r
-               new osm_map_values("Democratic Republic of the Congo", "11.7", "-13.6", "31.5", "5.7",65026791L, false, 1),\r
-               new osm_map_values("Kenya", "33.8","-5.2", "42.4", "4.9", 58545273L, false, 1),\r
-               new osm_map_values("Lesotho", "26.9", "-30.7", "29.6","-28.4", 54791041L, false, 1),\r
-               new osm_map_values("Madagascar", "43.0","-25.8", "50.8","-11.8", 56801099L, false, 1),\r
-               new osm_map_values("Nambia+Botswana","11.4", "-29.1","29.5", "-16.9", 61807049L, false, 1),\r
-               new osm_map_values("Reunion", "55.2","-21.4", "55.9","-20.9", 58537419L, false, 1),\r
-               new osm_map_values("Rwanda", "28.8","-2.9", "30.9","-1.0", 56313710L, false, 1),\r
-               new osm_map_values("South Africa","15.6", "-35.2","33.3", "-21.9", 73545245L, false, 1),\r
-               new osm_map_values("Uganda", "29.3","-1.6", "35.1","4.3", 57376589L, false, 1),\r
-               new osm_map_values("Asia", "23.8","0.1", "195.0","82.4", 797725952L, true, 2),\r
-               new osm_map_values("China", "67.3","5.3", "135.0","54.5", 259945160L, false, 2),\r
-               new osm_map_values("Cyprus", "32.0","34.5", "34.9","35.8", 58585278L, false, 2),\r
-               new osm_map_values("India+Nepal","67.9", "5.5","89.6", "36.0", 82819344L, false, 2),\r
-               new osm_map_values("Indonesia", "93.7","-17.3", "155.5","7.6", 74648081L, false, 2),\r
-               new osm_map_values("Iran", "43.5","24.4", "63.6","40.4", 69561312L, false, 2),\r
-               new osm_map_values("Iraq", "38.7","28.5", "49.2","37.4", 59146383L, false, 2),\r
-               new osm_map_values("Israel", "33.99","29.8", "35.95","33.4", 65065351L, false, 2),\r
-               new osm_map_values("Japan+Korea+Taiwan","117.6", "20.5","151.3", "47.1", 305538751L, false, 2),\r
-               new osm_map_values("Malasia+Singapore","94.3", "-5.9","108.6", "6.8", 58849792L, false, 2),\r
-               new osm_map_values("Mongolia", "87.5","41.4", "120.3","52.7", 60871187L, false, 2),\r
-               new osm_map_values("Thailand", "97.5","5.7", "105.2","19.7", 62422864L, false, 2),\r
-               new osm_map_values("Turkey", "25.1","35.8", "46.4","42.8", 81758047L, false, 2),\r
-               new osm_map_values("UAE+Other", "51.5","22.6", "56.7","26.5", 57419510L, false, 2),\r
-               new osm_map_values("Australia", "110.5","-44.2", "154.9","-9.2", 128502185L, true, 3),\r
-               new osm_map_values("Australia", "110.5","-44.2", "154.9","-9.2", 128502185L, false, 3),\r
-               new osm_map_values("Tasmania", "144.0","-45.1", "155.3","-24.8", 103573989L, false, 3),\r
-               new osm_map_values("Victoria+New South Wales","140.7", "-39.4","153.7", "-26.9", 99307594L, false, 3),\r
-               new osm_map_values("New Zealand","165.2", "-47.6","179.1", "-33.7", 64757454L, false, 3),\r
-               new osm_map_values("Europe", "-12.97","33.59", "34.15","72.10", 2753910015L, true, 4),\r
-               new osm_map_values("Western Europe","-17.6", "34.5","42.9", "70.9", 2832986851L, false, 4),\r
-               new osm_map_values("Austria", "9.4","46.32", "17.21","49.1", 222359992L, false, 4),\r
-               new osm_map_values("BeNeLux", "2.08","48.87", "7.78","54.52", 533865194L, false, 4),\r
-               new osm_map_values("Faroe Islands","-7.8", "61.3","-6.1", "62.5", 54526101L, false, 4),\r
-               new osm_map_values("France", "-5.45","42.00", "8.44","51.68", 1112047845L, false, 4),\r
-               new osm_map_values("Germany", "5.18","46.84", "15.47","55.64", 944716238L, false, 4),\r
-               new osm_map_values("Bavaria", "10.3","47.8", "13.6","49.7", 131799419L, false, 4),\r
-               new osm_map_values("Saxonia", "11.8","50.1", "15.0","51.7", 112073909L, false, 4),\r
-               new osm_map_values("Germany+Austria+Switzerland","3.4", "44.5","18.6", "55.1", 1385785353L, false, 4),\r
-               new osm_map_values("Iceland", "-25.3","62.8", "-11.4","67.5", 57281405L, false, 4),\r
-               new osm_map_values("Ireland", "-11.17","51.25", "-5.23","55.9", 70186936L, false, 4),\r
-               new osm_map_values("Italy", "6.52","36.38", "18.96","47.19", 291401314L, false, 4),\r
-               new osm_map_values("Spain+Portugal","-11.04", "34.87","4.62", "44.41", 292407746L, false, 4),\r
-               new osm_map_values("Mallorca", "2.2","38.8", "4.7","40.2", 59700600L, false, 4),\r
-               new osm_map_values("Galicia", "-10.0","41.7", "-6.3","44.1", 64605237L, false, 4),\r
-               new osm_map_values("Scandinavia", "4.0","54.4", "32.1","71.5", 299021928L, false, 4),\r
-               new osm_map_values("Finland", "18.6","59.2", "32.3","70.3", 128871467L, false, 4),\r
-               new osm_map_values("Denmark", "7.49","54.33", "13.05","57.88", 120025875L, false, 4),\r
-               new osm_map_values("Switzerland","5.79", "45.74","10.59", "47.84", 162616817L, false, 4),\r
-               new osm_map_values("UK", "-9.7", "49.6","2.2", "61.2", 245161510L, false, 4),\r
-               new osm_map_values("Bulgaria", "24.7","42.1", "24.8","42.1", 56607427L, false, 4),\r
-               new osm_map_values("Czech Republic","11.91", "48.48","19.02", "51.17", 234138824L, false, 4),\r
-               new osm_map_values("Croatia", "13.4","42.1", "19.4","46.9", 99183280L, false, 4),\r
-               new osm_map_values("Estonia", "21.5","57.5", "28.2","59.6", 79276178L, false, 4),\r
-               new osm_map_values("Greece", "28.9","37.8", "29.0","37.8", 55486527L, false, 4),\r
-               new osm_map_values("Crete", "23.3","34.5", "26.8","36.0", 57032630L, false, 4),\r
-               new osm_map_values("Hungary", "16.08","45.57", "23.03","48.39", 109831319L, false, 4),\r
-               new osm_map_values("Latvia", "20.7","55.6", "28.3","58.1", 71490706L, false, 4),\r
-               new osm_map_values("Lithuania", "20.9","53.8", "26.9","56.5", 67992457L, false, 4),\r
-               new osm_map_values("Poland", "13.6","48.8", "24.5","55.0", 266136768L, false, 4),\r
-               new osm_map_values("Romania", "20.3","43.5", "29.9","48.4", 134525863L, false, 4),\r
-               new osm_map_values("North America","-178.1", "6.5","-10.4", "84.0", 2477309662L, true, 5),\r
-               new osm_map_values("Alaska", "-179.5","49.5", "-129","71.6", 72320027L, false, 5),\r
-               new osm_map_values("Canada", "-141.3","41.5", "-52.2","70.2", 937813467L, false, 5),\r
-               new osm_map_values("Hawaii", "-161.07","18.49", "-154.45","22.85", 57311788L, false, 5),\r
-               new osm_map_values("USA (except Alaska and Hawaii)","-125.4", "24.3","-66.5", "49.3", 2216912004L, false, 5),\r
-               new osm_map_values("Nevada", "-120.2","35.0", "-113.8","42.1", 136754975L, false, 5),\r
-               new osm_map_values("Oregon", "-124.8","41.8", "-116.3","46.3", 101627308L, false, 5),\r
-               new osm_map_values("Washington State","-125.0", "45.5","-116.9", "49.0", 98178877L, false, 5),\r
-               new osm_map_values("South+Middle America","-83.5", "-56.3","-30.8", "13.7", 159615197L, true, 6),\r
-               new osm_map_values("Argentina", "-73.9","-57.3", "-51.6","-21.0", 87516152L, false, 6),\r
-               new osm_map_values("Argentina+Chile","-77.2", "-56.3","-52.7", "-16.1", 91976696L, false, 6),\r
-               new osm_map_values("Bolivia", "-70.5","-23.1", "-57.3","-9.3", 58242168L, false, 6),\r
-               new osm_map_values("Brazil", "-71.4","-34.7", "-32.8","5.4", 105527899L, false, 6),\r
-               new osm_map_values("Cuba", "-85.3","19.6", "-74.0","23.6", 56608942L, false, 6),\r
-               new osm_map_values("Colombia", "-79.1","-4.0", "-66.7","12.6", 78658454L, false, 6),\r
-               new osm_map_values("Ecuador", "-82.6","-5.4", "-74.4","2.3", 61501914L, false, 6),\r
-               new osm_map_values("Guyana+Suriname+Guyane Francaise","-62.0", "1.0","-51.2", "8.9", 57040689L, false, 6),\r
-               new osm_map_values("Haiti+Republica Dominicana","-74.8", "17.3","-68.2", "20.1", 63528584L, false, 6),\r
-               new osm_map_values("Jamaica", "-78.6","17.4", "-75.9","18.9", 53958307L, false, 6),\r
-               new osm_map_values("Mexico", "-117.6","14.1", "-86.4","32.8", 251108617L, false, 6),\r
-               new osm_map_values("Paraguay", "-63.8","-28.1", "-53.6","-18.8", 57188715L, false, 6),\r
-               new osm_map_values("Peru", "-82.4","-18.1", "-67.5","0.4", 65421441L, false, 6),\r
-               new osm_map_values("Uruguay", "-59.2","-36.5", "-51.7","-29.7", 63542225L, false, 6),\r
-               new osm_map_values("Venezuela", "-73.6","0.4", "-59.7","12.8", 64838882L, false, 6)\r
+               new osm_map_values("Whole Planet", "-180", "-90", "180", "90", 5985878379L, 0),\r
+               new osm_map_values("Africa", "-20.8", "-35.2", "52.5", "37.4", 180836389L, 0),\r
+               new osm_map_values("Angola", "11.4", "-18.1", "24.2", "-5.3", 56041641L, 1),\r
+               new osm_map_values("Burundi", "28.9", "-4.5", "30.9", "-2.2", 56512924L, 1),\r
+               new osm_map_values("Democratic Republic of the Congo", "11.7", "-13.6", "31.5", "5.7",65026791L, 1),\r
+               new osm_map_values("Kenya", "33.8","-5.2", "42.4", "4.9", 58545273L, 1),\r
+               new osm_map_values("Lesotho", "26.9", "-30.7", "29.6","-28.4", 54791041L, 1),\r
+               new osm_map_values("Madagascar", "43.0","-25.8", "50.8","-11.8", 56801099L, 1),\r
+               new osm_map_values("Nambia+Botswana","11.4", "-29.1","29.5", "-16.9", 61807049L, 1),\r
+               new osm_map_values("Reunion", "55.2","-21.4", "55.9","-20.9", 58537419L, 1),\r
+               new osm_map_values("Rwanda", "28.8","-2.9", "30.9","-1.0", 56313710L, 1),\r
+               new osm_map_values("South Africa","15.6", "-35.2","33.3", "-21.9", 73545245L, 1),\r
+               new osm_map_values("Uganda", "29.3","-1.6", "35.1","4.3", 57376589L, 1),\r
+               new osm_map_values("Asia", "23.8","0.1", "195.0","82.4", 797725952L, 0),\r
+               new osm_map_values("China", "67.3","5.3", "135.0","54.5", 259945160L, 1),\r
+               new osm_map_values("Cyprus", "32.0","34.5", "34.9","35.8", 58585278L, 1),\r
+               new osm_map_values("India+Nepal","67.9", "5.5","89.6", "36.0", 82819344L, 1),\r
+               new osm_map_values("Indonesia", "93.7","-17.3", "155.5","7.6", 74648081L, 1),\r
+               new osm_map_values("Iran", "43.5","24.4", "63.6","40.4", 69561312L, 1),\r
+               new osm_map_values("Iraq", "38.7","28.5", "49.2","37.4", 59146383L, 1),\r
+               new osm_map_values("Israel", "33.99","29.8", "35.95","33.4", 65065351L, 1),\r
+               new osm_map_values("Japan+Korea+Taiwan","117.6", "20.5","151.3", "47.1", 305538751L, 1),\r
+               new osm_map_values("Malasia+Singapore","94.3", "-5.9","108.6", "6.8", 58849792L, 1),\r
+               new osm_map_values("Mongolia", "87.5","41.4", "120.3","52.7", 60871187L, 1),\r
+               new osm_map_values("Thailand", "97.5","5.7", "105.2","19.7", 62422864L, 1),\r
+               new osm_map_values("Turkey", "25.1","35.8", "46.4","42.8", 81758047L, 1),\r
+               new osm_map_values("UAE+Other", "51.5","22.6", "56.7","26.5", 57419510L, 1),\r
+               new osm_map_values("Australia", "110.5","-44.2", "154.9","-9.2", 128502185L, 0),\r
+               new osm_map_values("Australia", "110.5","-44.2", "154.9","-9.2", 128502185L, 1),\r
+               new osm_map_values("Tasmania", "144.0","-45.1", "155.3","-24.8", 103573989L, 1),\r
+               new osm_map_values("Victoria+New South Wales","140.7", "-39.4","153.7", "-26.9", 99307594L, 1),\r
+               new osm_map_values("New Zealand","165.2", "-47.6","179.1", "-33.7", 64757454L, 1),\r
+               new osm_map_values("Europe", "-12.97","33.59", "34.15","72.10", 2753910015L, 0),\r
+               new osm_map_values("Western Europe","-17.6", "34.5","42.9", "70.9", 2832986851L, 1),\r
+               new osm_map_values("Austria", "9.4","46.32", "17.21","49.1", 222359992L, 1),\r
+               new osm_map_values("BeNeLux", "2.08","48.87", "7.78","54.52", 533865194L, 1),\r
+               new osm_map_values("Faroe Islands","-7.8", "61.3","-6.1", "62.5", 54526101L, 1),\r
+               new osm_map_values("France", "-5.45","42.00", "8.44","51.68", 1112047845L, 1),\r
+               new osm_map_values("Germany", "5.18","46.84", "15.47","55.64", 944716238L, 1),\r
+               new osm_map_values("Bavaria", "10.3","47.8", "13.6","49.7", 131799419L, 2),\r
+               new osm_map_values("Saxonia", "11.8","50.1", "15.0","51.7", 112073909L, 2),\r
+               new osm_map_values("Germany+Austria+Switzerland","3.4", "44.5","18.6", "55.1", 1385785353L, 1),\r
+               new osm_map_values("Iceland", "-25.3","62.8", "-11.4","67.5", 57281405L, 1),\r
+               new osm_map_values("Ireland", "-11.17","51.25", "-5.23","55.9", 70186936L, 1),\r
+               new osm_map_values("Italy", "6.52","36.38", "18.96","47.19", 291401314L, 1),\r
+               new osm_map_values("Spain+Portugal","-11.04", "34.87","4.62", "44.41", 292407746L, 1),\r
+               new osm_map_values("Mallorca", "2.2","38.8", "4.7","40.2", 59700600L, 2),\r
+               new osm_map_values("Galicia", "-10.0","41.7", "-6.3","44.1", 64605237L, 2),\r
+               new osm_map_values("Scandinavia", "4.0","54.4", "32.1","71.5", 299021928L, 1),\r
+               new osm_map_values("Finland", "18.6","59.2", "32.3","70.3", 128871467L, 1),\r
+               new osm_map_values("Denmark", "7.49","54.33", "13.05","57.88", 120025875L, 1),\r
+               new osm_map_values("Switzerland","5.79", "45.74","10.59", "47.84", 162616817L, 1),\r
+               new osm_map_values("UK", "-9.7", "49.6","2.2", "61.2", 245161510L, 1),\r
+               new osm_map_values("Bulgaria", "24.7","42.1", "24.8","42.1", 56607427L, 1),\r
+               new osm_map_values("Czech Republic","11.91", "48.48","19.02", "51.17", 234138824L, 1),\r
+               new osm_map_values("Croatia", "13.4","42.1", "19.4","46.9", 99183280L, 1),\r
+               new osm_map_values("Estonia", "21.5","57.5", "28.2","59.6", 79276178L, 1),\r
+               new osm_map_values("Greece", "28.9","37.8", "29.0","37.8", 55486527L, 1),\r
+               new osm_map_values("Crete", "23.3","34.5", "26.8","36.0", 57032630L, 1),\r
+               new osm_map_values("Hungary", "16.08","45.57", "23.03","48.39", 109831319L, 1),\r
+               new osm_map_values("Latvia", "20.7","55.6", "28.3","58.1", 71490706L, 1),\r
+               new osm_map_values("Lithuania", "20.9","53.8", "26.9","56.5", 67992457L, 1),\r
+               new osm_map_values("Poland", "13.6","48.8", "24.5","55.0", 266136768L, 1),\r
+               new osm_map_values("Romania", "20.3","43.5", "29.9","48.4", 134525863L, 1),\r
+               new osm_map_values("North America","-178.1", "6.5","-10.4", "84.0", 2477309662L, 0),\r
+               new osm_map_values("Alaska", "-179.5","49.5", "-129","71.6", 72320027L, 1),\r
+               new osm_map_values("Canada", "-141.3","41.5", "-52.2","70.2", 937813467L, 1),\r
+               new osm_map_values("Hawaii", "-161.07","18.49", "-154.45","22.85", 57311788L, 1),\r
+               new osm_map_values("USA (except Alaska and Hawaii)","-125.4", "24.3","-66.5", "49.3", 2216912004L, 1),\r
+               new osm_map_values("Nevada", "-120.2","35.0", "-113.8","42.1", 136754975L, 2),\r
+               new osm_map_values("Oregon", "-124.8","41.8", "-116.3","46.3", 101627308L, 2),\r
+               new osm_map_values("Washington State","-125.0", "45.5","-116.9", "49.0", 98178877L, 2),\r
+               new osm_map_values("South+Middle America","-83.5", "-56.3","-30.8", "13.7", 159615197L, 0),\r
+               new osm_map_values("Argentina", "-73.9","-57.3", "-51.6","-21.0", 87516152L, 1),\r
+               new osm_map_values("Argentina+Chile","-77.2", "-56.3","-52.7", "-16.1", 91976696L, 1),\r
+               new osm_map_values("Bolivia", "-70.5","-23.1", "-57.3","-9.3", 58242168L, 1),\r
+               new osm_map_values("Brazil", "-71.4","-34.7", "-32.8","5.4", 105527899L, 1),\r
+               new osm_map_values("Cuba", "-85.3","19.6", "-74.0","23.6", 56608942L, 1),\r
+               new osm_map_values("Colombia", "-79.1","-4.0", "-66.7","12.6", 78658454L, 1),\r
+               new osm_map_values("Ecuador", "-82.6","-5.4", "-74.4","2.3", 61501914L, 1),\r
+               new osm_map_values("Guyana+Suriname+Guyane Francaise","-62.0", "1.0","-51.2", "8.9", 57040689L, 1),\r
+               new osm_map_values("Haiti+Republica Dominicana","-74.8", "17.3","-68.2", "20.1", 63528584L, 1),\r
+               new osm_map_values("Jamaica", "-78.6","17.4", "-75.9","18.9", 53958307L, 1),\r
+               new osm_map_values("Mexico", "-117.6","14.1", "-86.4","32.8", 251108617L, 1),\r
+               new osm_map_values("Paraguay", "-63.8","-28.1", "-53.6","-18.8", 57188715L, 1),\r
+               new osm_map_values("Peru", "-82.4","-18.1", "-67.5","0.4", 65421441L, 1),\r
+               new osm_map_values("Uruguay", "-59.2","-36.5", "-51.7","-29.7", 63542225L, 1),\r
+               new osm_map_values("Venezuela", "-73.6","0.4", "-59.7","12.8", 64838882L, 1)\r
        };\r
 \r
        public static String[]                  OSM_MAP_NAME_LIST_inkl_SIZE_ESTIMATE    = null;\r
 \r
        public static int[]                             OSM_MAP_NAME_ORIG_ID_LIST                                       = null;\r
 \r
-       private static Boolean                  already_inited                                                                  = false;\r
-\r
        public Boolean                                          stop_me                                                                                 = false;\r
        static final int                                        SOCKET_CONNECT_TIMEOUT                                          = 25000;                                                        // 25 secs.\r
        static final int                                        SOCKET_READ_TIMEOUT                                                     = 15000;                                                        // 15 secs.\r
@@ -236,106 +227,43 @@ public class NavitMapDownloader
        public static void init()\r
        {\r
                // need only init once\r
-               if (already_inited) { return; }\r
-\r
-               //String[] temp_m = new String[MAX_MAP_COUNT];\r
-               String[] temp_ml = new String[MAX_MAP_COUNT];\r
-               int[] temp_i = new int[MAX_MAP_COUNT];\r
-               Boolean[] already_added = new Boolean[osm_maps.length];\r
-               int cur_continent = -1;\r
-               int count = 0;\r
-               Log.v("NavitMapDownloader", "init maps");\r
-               for (int i = 0; i < osm_maps.length; i++)\r
-               {\r
-                       already_added[i] = false;\r
-               }\r
+               if (OSM_MAP_NAME_LIST_inkl_SIZE_ESTIMATE != null) { return; }\r
+               \r
+               String menu_temp[] = new String[osm_maps.length*2];\r
+               OSM_MAP_NAME_ORIG_ID_LIST = new int[osm_maps.length*2];\r
+               int counter = 0;\r
+               int previous_level = -1;\r
                for (int i = 0; i < osm_maps.length; i++)\r
                {\r
-                       //Log.v("NavitMapDownloader", "i=" + i);\r
-                       // look for continents only\r
-                       if (osm_maps[i].is_continent)\r
+                       switch (osm_maps[i].level)\r
                        {\r
-                               if (count > 0)\r
+                       case 0: \r
+                               if (previous_level > 0)\r
                                {\r
-                                       // add a break into list\r
-                                       //temp_m[count] = "*break*";\r
-                                       temp_ml[count] = "======";\r
-                                       temp_i[count] = -1;\r
-                                       count++;\r
-                               }\r
-\r
-                               cur_continent = osm_maps[i].continent_id;\r
-                               //Log.v("NavitMapDownloader", "found cont=" + cur_continent);\r
-                               // add this cont.\r
-                               //temp_m[count] = OSM_MAPS[i].map_name;\r
-                               temp_ml[count] = osm_maps[i].text_for_select_list;\r
-                               temp_i[count] = i;\r
-                               count++;\r
-                               already_added[i] = true;\r
-                               for (int j = 0; j < osm_maps.length; j++)\r
-                               {\r
-                                       // if (already_added[j] == null)\r
-                                       if (!already_added[j])\r
-                                       {\r
-                                               // look for maps in that continent\r
-                                               if ((osm_maps[j].continent_id == cur_continent) && (!osm_maps[j].is_continent))\r
-                                               {\r
-                                                       //Log.v("NavitMapDownloader", "found map=" + j + " c=" + cur_continent);\r
-                                                       // add this map.\r
-                                                       //temp_m[count] = OSM_MAPS[j].map_name;\r
-                                                       temp_ml[count] = " * " + osm_maps[j].text_for_select_list;\r
-                                                       temp_i[count] = j;\r
-                                                       count++;\r
-                                                       already_added[j] = true;\r
-                                               }\r
-                                       }\r
+                                       OSM_MAP_NAME_ORIG_ID_LIST[counter] = -1;\r
+                                       menu_temp[counter++] = "======";\r
                                }\r
+                               menu_temp[counter] = "";\r
+                               break;\r
+                       case 1:\r
+                               menu_temp[counter] = new String(" * ");\r
+                               break;\r
+                       default:\r
+                               menu_temp[counter] = new String(" ** ");\r
                        }\r
+                       \r
+                       menu_temp[counter] = menu_temp[counter].concat(osm_maps[i].map_name + " " + (osm_maps[i].est_size_bytes / 1024 / 1024) + "MB");\r
+                       counter++;\r
+                       OSM_MAP_NAME_ORIG_ID_LIST[counter-1] = i;\r
+                       \r
+                       previous_level = osm_maps[i].level;\r
                }\r
-               // add the rest of the list (dont have a continent)\r
-               cur_continent = 9999; // unknown\r
-               int found = 0;\r
-               for (int i = 0; i < osm_maps.length; i++)\r
+               \r
+               OSM_MAP_NAME_LIST_inkl_SIZE_ESTIMATE = new String[counter];\r
+               for (int i = 0; i < counter; i++)\r
                {\r
-                       if (!already_added[i])\r
-                       {\r
-                               if (found == 0)\r
-                               {\r
-                                       found = 1;\r
-                                       // add a break into list\r
-                                       //temp_m[count] = "*break*";\r
-                                       temp_ml[count] = "======";\r
-                                       temp_i[count] = -1;\r
-                                       count++;\r
-                               }\r
-\r
-                               //Log.v("NavitMapDownloader", "found map(loose)=" + i + " c=" + cur_continent);\r
-                               // add this map.\r
-                               //temp_m[count] = OSM_MAPS[i].map_name;\r
-                               temp_ml[count] = " # " + osm_maps[i].text_for_select_list;\r
-                               temp_i[count] = i;\r
-                               count++;\r
-                               already_added[i] = true;\r
-                       }\r
-               }\r
-\r
-               Log.e("NavitMapDownloader", "count=" + count);\r
-               Log.e("NavitMapDownloader", "size1 " + osm_maps.length);\r
-               //Log.e("NavitMapDownloader", "size2 " + temp_m.length);\r
-               Log.e("NavitMapDownloader", "size3 " + temp_ml.length);\r
-\r
-               //OSM_MAP_NAME_LIST = new String[count];\r
-               OSM_MAP_NAME_LIST_inkl_SIZE_ESTIMATE = new String[count];\r
-               OSM_MAP_NAME_ORIG_ID_LIST = new int[count];\r
-\r
-               for (int i = 0; i < count; i++)\r
-               {\r
-                       //OSM_MAP_NAME_LIST[i] = temp_m[i];\r
-                       OSM_MAP_NAME_ORIG_ID_LIST[i] = temp_i[i];\r
-                       OSM_MAP_NAME_LIST_inkl_SIZE_ESTIMATE[i] = temp_ml[i];\r
+                       OSM_MAP_NAME_LIST_inkl_SIZE_ESTIMATE[i] = menu_temp[i];\r
                }\r
-\r
-               already_inited = true;\r
        }\r
 \r
        public int download_osm_map(Handler handler, osm_map_values map_values, int map_num3)\r