Android 10 compatibility, fix #728

This commit is contained in:
Emux
2019-06-16 20:59:44 +03:00
parent cf2bdb251b
commit fcf7272f2e
7 changed files with 15 additions and 18 deletions

View File

@@ -1,6 +1,6 @@
/*
* Copyright 2010, 2011, 2012 mapsforge.org
* Copyright 2016 devemux86
* Copyright 2016-2019 devemux86
*
* This program is free software: you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License as published by the Free Software
@@ -22,11 +22,9 @@ import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import org.oscim.android.test.R;
import java.io.File;
@@ -60,7 +58,6 @@ public class FilePicker extends Activity implements AdapterView.OnItemClickListe
private static final String PREFERENCES_FILE = "FilePicker";
private static final String CURRENT_DIRECTORY = "currentDirectory";
private static final String DEFAULT_DIRECTORY = Environment.getExternalStorageDirectory().getAbsolutePath();
private static final int DIALOG_FILE_INVALID = 0;
// private static final int DIALOG_FILE_SELECT = 1;
@@ -122,6 +119,7 @@ public class FilePicker extends Activity implements AdapterView.OnItemClickListe
};
}
private String mDefaultDirectory;
private File mDirectory;
private FilePickerIconAdapter mFilePickerIconAdapter;
private File[] mFiles;
@@ -182,6 +180,7 @@ public class FilePicker extends Activity implements AdapterView.OnItemClickListe
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_file_picker);
mDefaultDirectory = getExternalFilesDir(null).getAbsolutePath();
mFilePickerIconAdapter = new FilePickerIconAdapter(this);
GridView gridView = (GridView) findViewById(R.id.filePickerView);
gridView.setOnItemClickListener(this);
@@ -239,10 +238,9 @@ public class FilePicker extends Activity implements AdapterView.OnItemClickListe
// restore the current directory
SharedPreferences preferences = getSharedPreferences(PREFERENCES_FILE,
MODE_PRIVATE);
mDirectory = new File(preferences.getString(CURRENT_DIRECTORY,
DEFAULT_DIRECTORY));
mDirectory = new File(preferences.getString(CURRENT_DIRECTORY, mDefaultDirectory));
if (!mDirectory.exists() || !mDirectory.canRead()) {
mDirectory = new File(DEFAULT_DIRECTORY);
mDirectory = new File(mDefaultDirectory);
}
browseToCurrentDirectory();
}

View File

@@ -16,8 +16,6 @@ package org.oscim.android.test;
import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import org.oscim.android.MapView;
import org.oscim.backend.CanvasAdapter;
import org.oscim.layers.tile.buildings.BuildingLayer;
@@ -35,7 +33,8 @@ import java.io.File;
/**
* A very basic Android app example.
* <p>
* You'll need a map with filename berlin.map from download.mapsforge.org in device storage.
* You'll need a map with filename berlin.map from download.mapsforge.org in device storage:
* /sdcard/Android/data/org.oscim.android.test/files/
*/
public class GettingStarted extends Activity {
@@ -55,7 +54,7 @@ public class GettingStarted extends Activity {
// Tile source
MapFileTileSource tileSource = new MapFileTileSource();
String mapPath = new File(Environment.getExternalStorageDirectory(), MAP_FILE).getAbsolutePath();
String mapPath = new File(getExternalFilesDir(null), MAP_FILE).getAbsolutePath();
if (tileSource.setMapFile(mapPath)) {
// Vector layer
VectorTileLayer tileLayer = mapView.map().setBaseMap(tileSource);

View File

@@ -18,7 +18,6 @@ package org.oscim.android.test;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.os.Environment;
import org.oscim.android.tiling.source.mbtiles.MBTilesBitmapTileSource;
import org.oscim.core.BoundingBox;
import org.oscim.core.MapPosition;
@@ -36,7 +35,7 @@ public class MBTilesBitmapTileActivity extends BitmapTileActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
File file = new File(Environment.getExternalStorageDirectory(), "test.mbtiles");
File file = new File(getExternalFilesDir(null), "test.mbtiles");
if (!file.exists()) {
AlertDialog.Builder builder = new AlertDialog.Builder(this)
.setTitle(R.string.warning)