fix small issues
git-svn-id: https://osmand.googlecode.com/svn/trunk@199 e29c36b1-1cfa-d876-8d93-3434fc2bb7b8
This commit is contained in:
parent
bde5c301a1
commit
8a965e8380
6 changed files with 27 additions and 20 deletions
|
@ -2,7 +2,6 @@ package com.osmand.data.index;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
import java.net.MalformedURLException;
|
import java.net.MalformedURLException;
|
||||||
import java.net.URISyntaxException;
|
import java.net.URISyntaxException;
|
||||||
|
@ -107,9 +106,9 @@ public class DownloaderIndexFromGoogleCode {
|
||||||
return files;
|
return files;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static InputStream getInputStreamToLoadIndex(String indexName) throws IOException{
|
public static URL getInputStreamToLoadIndex(String indexName) throws IOException{
|
||||||
URL url = new URL("http://osmand.googlecode.com/files/"+indexName); //$NON-NLS-1$
|
URL url = new URL("http://osmand.googlecode.com/files/"+indexName); //$NON-NLS-1$
|
||||||
return url.openStream();
|
return url;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
<string name="downloading">Загрузка...</string>
|
<string name="downloading">Загрузка...</string>
|
||||||
<string name="downloading_list_indexes">Загружается список доступных индексов</string>
|
<string name="downloading_list_indexes">Загружается список доступных индексов</string>
|
||||||
<string name="list_index_files_was_not_loaded">Не найдены доступные индекс файлы с osmand.googlecode.com</string>
|
<string name="list_index_files_was_not_loaded">Не найдены доступные индекс файлы с osmand.googlecode.com</string>
|
||||||
<string name="select_index_file_to_download">Выберите файл индекса для загрузки из интернета. Если вы не можете найти регион, вы можете создать его самостоятельно.
|
<string name="select_index_file_to_download">Если вы не можете найти регион, вы можете создать его самостоятельно.
|
||||||
Читайте на osmand.googlecode.com .</string>
|
Читайте на osmand.googlecode.com .</string>
|
||||||
<string name="show_poi_on_map">Показать на карте</string>
|
<string name="show_poi_on_map">Показать на карте</string>
|
||||||
<string name="fav_points_edited">Отредактирована избранная точка</string>
|
<string name="fav_points_edited">Отредактирована избранная точка</string>
|
||||||
|
|
|
@ -8,8 +8,9 @@
|
||||||
<string name="downloading_file">Downloading file</string>
|
<string name="downloading_file">Downloading file</string>
|
||||||
<string name="downloading">Downloading...</string>
|
<string name="downloading">Downloading...</string>
|
||||||
<string name="downloading_list_indexes">Downloading list of available indexes</string>
|
<string name="downloading_list_indexes">Downloading list of available indexes</string>
|
||||||
<string name="list_index_files_was_not_loaded">The index files are not loaded from osmand.googlecode.com. If you can't find your region, you can make it yourself. See osmand.googlecode.com.</string>
|
<string name="list_index_files_was_not_loaded">The index files are not loaded from osmand.googlecode.com.</string>
|
||||||
<string name="select_index_file_to_download">Select index file to download from internet</string>
|
<string name="select_index_file_to_download">If you can't find your region, you can make it by yourself.
|
||||||
|
See osmand.googlecode.com.</string>
|
||||||
<string name="show_poi_on_map">Show on map</string>
|
<string name="show_poi_on_map">Show on map</string>
|
||||||
<string name="fav_points_edited">Favorite point was edited</string>
|
<string name="fav_points_edited">Favorite point was edited</string>
|
||||||
<string name="fav_points_not_exist">None of favorite points exist</string>
|
<string name="fav_points_not_exist">None of favorite points exist</string>
|
||||||
|
|
|
@ -9,7 +9,7 @@ import android.os.Message;
|
||||||
|
|
||||||
public class ProgressDialogImplementation implements IProgress {
|
public class ProgressDialogImplementation implements IProgress {
|
||||||
|
|
||||||
private static final float deltaToChange = 0.04f;
|
private static final float deltaToChange = 0.023f;
|
||||||
private String taskName;
|
private String taskName;
|
||||||
private int progress;
|
private int progress;
|
||||||
private int work;
|
private int work;
|
||||||
|
@ -60,8 +60,9 @@ public class ProgressDialogImplementation implements IProgress {
|
||||||
@Override
|
@Override
|
||||||
public void progress(int deltaWork) {
|
public void progress(int deltaWork) {
|
||||||
this.deltaWork += deltaWork;
|
this.deltaWork += deltaWork;
|
||||||
if(change(progress + deltaWork)){
|
if(change(progress + this.deltaWork)){
|
||||||
this.progress += deltaWork;
|
this.progress += this.deltaWork;
|
||||||
|
this.deltaWork = 0;
|
||||||
updateMessage();
|
updateMessage();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,7 +64,7 @@ public class ResourceManager {
|
||||||
// Indexes
|
// Indexes
|
||||||
private Map<String, RegionAddressRepository> addressMap = new TreeMap<String, RegionAddressRepository>(Collator.getInstance());
|
private Map<String, RegionAddressRepository> addressMap = new TreeMap<String, RegionAddressRepository>(Collator.getInstance());
|
||||||
|
|
||||||
protected List<AmenityIndexRepository> amenityRepositories = new ArrayList<AmenityIndexRepository>();
|
protected Map<String, AmenityIndexRepository> amenityRepositories = new LinkedHashMap<String, AmenityIndexRepository>();
|
||||||
|
|
||||||
public AsyncLoadingThread asyncLoadingTiles = new AsyncLoadingThread();
|
public AsyncLoadingThread asyncLoadingTiles = new AsyncLoadingThread();
|
||||||
|
|
||||||
|
@ -253,7 +253,7 @@ public class ResourceManager {
|
||||||
progress.startTask(Messages.getMessage("indexing_poi") + f.getName(), -1); //$NON-NLS-1$
|
progress.startTask(Messages.getMessage("indexing_poi") + f.getName(), -1); //$NON-NLS-1$
|
||||||
boolean initialized = repository.initialize(progress, f);
|
boolean initialized = repository.initialize(progress, f);
|
||||||
if (initialized) {
|
if (initialized) {
|
||||||
amenityRepositories.add(repository);
|
amenityRepositories.put(repository.getName(), repository);
|
||||||
}else {
|
}else {
|
||||||
warnings.add(MessageFormat.format(Messages.getMessage("version_index_is_not_supported"), f.getName())); //$NON-NLS-1$
|
warnings.add(MessageFormat.format(Messages.getMessage("version_index_is_not_supported"), f.getName())); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
|
@ -289,7 +289,7 @@ public class ResourceManager {
|
||||||
// //////////////////////////////////////////// Working with amenities ////////////////////////////////////////////////
|
// //////////////////////////////////////////// Working with amenities ////////////////////////////////////////////////
|
||||||
public List<AmenityIndexRepository> searchRepositories(double latitude, double longitude) {
|
public List<AmenityIndexRepository> searchRepositories(double latitude, double longitude) {
|
||||||
List<AmenityIndexRepository> repos = new ArrayList<AmenityIndexRepository>();
|
List<AmenityIndexRepository> repos = new ArrayList<AmenityIndexRepository>();
|
||||||
for (AmenityIndexRepository index : amenityRepositories) {
|
for (AmenityIndexRepository index : amenityRepositories.values()) {
|
||||||
if (index.checkContains(latitude,longitude)) {
|
if (index.checkContains(latitude,longitude)) {
|
||||||
repos.add(index);
|
repos.add(index);
|
||||||
}
|
}
|
||||||
|
@ -304,7 +304,7 @@ public class ResourceManager {
|
||||||
double leftLongitude = MapUtils.getLongitudeFromTile(zoom, tileNumberX - 0.5);
|
double leftLongitude = MapUtils.getLongitudeFromTile(zoom, tileNumberX - 0.5);
|
||||||
double rightLongitude = MapUtils.getLongitudeFromTile(zoom, tileNumberX + 0.5);
|
double rightLongitude = MapUtils.getLongitudeFromTile(zoom, tileNumberX + 0.5);
|
||||||
List<Amenity> amenities = new ArrayList<Amenity>();
|
List<Amenity> amenities = new ArrayList<Amenity>();
|
||||||
for (AmenityIndexRepository index : amenityRepositories) {
|
for (AmenityIndexRepository index : amenityRepositories.values()) {
|
||||||
if (index.checkContains(topLatitude, leftLongitude, bottomLatitude, rightLongitude)) {
|
if (index.checkContains(topLatitude, leftLongitude, bottomLatitude, rightLongitude)) {
|
||||||
if (!index.checkCachedAmenities(topLatitude, leftLongitude, bottomLatitude, rightLongitude, zoom, filter.getFilterId(), amenities)) {
|
if (!index.checkCachedAmenities(topLatitude, leftLongitude, bottomLatitude, rightLongitude, zoom, filter.getFilterId(), amenities)) {
|
||||||
index.searchAmenities(topLatitude, leftLongitude, bottomLatitude, rightLongitude, limit, filter, amenities);
|
index.searchAmenities(topLatitude, leftLongitude, bottomLatitude, rightLongitude, limit, filter, amenities);
|
||||||
|
@ -317,7 +317,7 @@ public class ResourceManager {
|
||||||
|
|
||||||
public void searchAmenitiesAsync(double topLatitude, double leftLongitude, double bottomLatitude, double rightLongitude, int zoom, PoiFilter filter, List<Amenity> toFill){
|
public void searchAmenitiesAsync(double topLatitude, double leftLongitude, double bottomLatitude, double rightLongitude, int zoom, PoiFilter filter, List<Amenity> toFill){
|
||||||
String filterId = filter == null ? null : filter.getFilterId();
|
String filterId = filter == null ? null : filter.getFilterId();
|
||||||
for(AmenityIndexRepository index : amenityRepositories){
|
for(AmenityIndexRepository index : amenityRepositories.values()){
|
||||||
if(index.checkContains(topLatitude, leftLongitude, bottomLatitude, rightLongitude)){
|
if(index.checkContains(topLatitude, leftLongitude, bottomLatitude, rightLongitude)){
|
||||||
if(!index.checkCachedAmenities(topLatitude, leftLongitude, bottomLatitude, rightLongitude, zoom, filterId, toFill, true)){
|
if(!index.checkCachedAmenities(topLatitude, leftLongitude, bottomLatitude, rightLongitude, zoom, filterId, toFill, true)){
|
||||||
asyncLoadingTiles.requestToLoadAmenities(
|
asyncLoadingTiles.requestToLoadAmenities(
|
||||||
|
@ -340,7 +340,7 @@ public class ResourceManager {
|
||||||
////////////////////////////////////////////// Closing methods ////////////////////////////////////////////////
|
////////////////////////////////////////////// Closing methods ////////////////////////////////////////////////
|
||||||
|
|
||||||
public void closeAmenities(){
|
public void closeAmenities(){
|
||||||
for(AmenityIndexRepository r : amenityRepositories){
|
for(AmenityIndexRepository r : amenityRepositories.values()){
|
||||||
r.close();
|
r.close();
|
||||||
}
|
}
|
||||||
amenityRepositories.clear();
|
amenityRepositories.clear();
|
||||||
|
@ -363,7 +363,7 @@ public class ResourceManager {
|
||||||
public void onLowMemory() {
|
public void onLowMemory() {
|
||||||
log.info("On low memory : cleaning tiles - size = " + cacheOfImages.size()); //$NON-NLS-1$
|
log.info("On low memory : cleaning tiles - size = " + cacheOfImages.size()); //$NON-NLS-1$
|
||||||
clearTiles();
|
clearTiles();
|
||||||
for(AmenityIndexRepository r : amenityRepositories){
|
for(AmenityIndexRepository r : amenityRepositories.values()){
|
||||||
r.clearCache();
|
r.clearCache();
|
||||||
}
|
}
|
||||||
for(RegionAddressRepository r : addressMap.values()){
|
for(RegionAddressRepository r : addressMap.values()){
|
||||||
|
|
|
@ -4,6 +4,8 @@ import java.io.File;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
import java.net.URL;
|
||||||
|
import java.net.URLConnection;
|
||||||
import java.text.MessageFormat;
|
import java.text.MessageFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -112,7 +114,7 @@ public class DownloadIndexActivity extends ListActivity {
|
||||||
parent = new File(Environment.getExternalStorageDirectory(), ResourceManager.ADDRESS_PATH);
|
parent = new File(Environment.getExternalStorageDirectory(), ResourceManager.ADDRESS_PATH);
|
||||||
regionName += IndexConstants.ADDRESS_INDEX_EXT;
|
regionName += IndexConstants.ADDRESS_INDEX_EXT;
|
||||||
} else if(key.endsWith(IndexConstants.POI_INDEX_EXT)){
|
} else if(key.endsWith(IndexConstants.POI_INDEX_EXT)){
|
||||||
parent = new File(Environment.getExternalStorageDirectory(), ResourceManager.ADDRESS_PATH);
|
parent = new File(Environment.getExternalStorageDirectory(), ResourceManager.POI_PATH);
|
||||||
regionName += IndexConstants.POI_INDEX_EXT;
|
regionName += IndexConstants.POI_INDEX_EXT;
|
||||||
}
|
}
|
||||||
if(parent != null){
|
if(parent != null){
|
||||||
|
@ -133,8 +135,10 @@ public class DownloadIndexActivity extends ListActivity {
|
||||||
try {
|
try {
|
||||||
FileOutputStream out = new FileOutputStream(file);
|
FileOutputStream out = new FileOutputStream(file);
|
||||||
try {
|
try {
|
||||||
InputStream is = DownloaderIndexFromGoogleCode.getInputStreamToLoadIndex(key);
|
URL url = DownloaderIndexFromGoogleCode.getInputStreamToLoadIndex(key);
|
||||||
impl.startTask(getString(R.string.downloading_file), is.available());
|
URLConnection conn = url.openConnection();
|
||||||
|
InputStream is = conn.getInputStream();
|
||||||
|
impl.startTask(getString(R.string.downloading_file), conn.getContentLength());
|
||||||
byte[] buffer = new byte[BUFFER_SIZE];
|
byte[] buffer = new byte[BUFFER_SIZE];
|
||||||
int read = 0;
|
int read = 0;
|
||||||
while((read = is.read(buffer)) != -1){
|
while((read = is.read(buffer)) != -1){
|
||||||
|
@ -158,6 +162,8 @@ public class DownloadIndexActivity extends ListActivity {
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
log.error("Exception ocurred", e); //$NON-NLS-1$
|
log.error("Exception ocurred", e); //$NON-NLS-1$
|
||||||
showWarning(getString(R.string.error_io_error));
|
showWarning(getString(R.string.error_io_error));
|
||||||
|
// Possibly file is corrupted
|
||||||
|
file.delete();
|
||||||
} finally {
|
} finally {
|
||||||
dlg.dismiss();
|
dlg.dismiss();
|
||||||
}
|
}
|
||||||
|
@ -170,7 +176,7 @@ public class DownloadIndexActivity extends ListActivity {
|
||||||
runOnUiThread(new Runnable(){
|
runOnUiThread(new Runnable(){
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
Toast.makeText(DownloadIndexActivity.this, messages, Toast.LENGTH_LONG);
|
Toast.makeText(DownloadIndexActivity.this, messages, Toast.LENGTH_LONG).show();
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue