Skip to content

Commit a0321a9

Browse files
authored
Merge pull request #1818 from garvankeeley/dev
Fix #1800: Open-source builds use non-existent mapquest tiles, use MapBox instead
2 parents ad41b8a + 49e822f commit a0321a9

File tree

4 files changed

+35
-37
lines changed

4 files changed

+35
-37
lines changed

android/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@ android {
6262

6363
buildConfigField "boolean", "ROBOLECTRIC", "false"
6464
buildConfigField "String", "MOZILLA_API_KEY", "\"\""
65-
buildConfigField "String", "TILE_SERVER_URL", "\"\""
6665

6766
buildConfigField "boolean", "LABEL_MAP_TILES", "false"
6867

android/src/main/java/org/mozilla/mozstumbler/client/mapview/MapFragment.java

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626

2727
import org.json.JSONException;
2828
import org.json.JSONObject;
29-
import org.mozilla.mozstumbler.BuildConfig;
3029
import org.mozilla.mozstumbler.R;
3130
import org.mozilla.mozstumbler.client.ClientPrefs;
3231
import org.mozilla.mozstumbler.client.MainApp;
@@ -53,7 +52,6 @@
5352
import org.mozilla.osmdroid.tileprovider.MapTile;
5453
import org.mozilla.osmdroid.tileprovider.tilesource.ITileSource;
5554
import org.mozilla.osmdroid.tileprovider.tilesource.OnlineTileSourceBase;
56-
import org.mozilla.osmdroid.tileprovider.tilesource.TileSourceFactory;
5755
import org.mozilla.osmdroid.tileprovider.tilesource.XYTileSource;
5856
import org.mozilla.osmdroid.util.GeoPoint;
5957
import org.mozilla.osmdroid.views.MapView;
@@ -362,7 +360,6 @@ void setHighBandwidthMap(boolean hasNetwork, boolean isHighBandwidth) {
362360
isHighBandwidth = true; // use this as initial default
363361
}
364362

365-
final boolean isMLSTileStore = (BuildConfig.TILE_SERVER_URL != null);
366363
final boolean hasHighResMap = mLowResMapOverlayHighZoom == null && mMap.getTileProvider().getTileSource() == mHighResMapSource;
367364
final boolean hasLowResMap = mLowResMapOverlayHighZoom != null;
368365

@@ -381,16 +378,17 @@ void setHighBandwidthMap(boolean hasNetwork, boolean isHighBandwidth) {
381378
// Force GC to cleanup underlying LRU caches in overlay
382379
System.gc();
383380

384-
if (!isMLSTileStore) {
385-
mHighResMapSource = TileSourceFactory.MAPQUESTOSM;
386-
} else {
387-
mHighResMapSource = new XYTileSource(AbstractMapOverlay.MLS_MAP_TILE_BASE_NAME,
381+
382+
mHighResMapSource = new XYTileSource(AbstractMapOverlay.MLS_MAP_TILE_BASE_NAME,
388383
null, 1, AbstractMapOverlay.MAX_ZOOM_LEVEL_OF_MAP,
389384
AbstractMapOverlay.TILE_PIXEL_SIZE,
390385
AbstractMapOverlay.FILE_TYPE_SUFFIX_PNG,
391-
new String[]{BuildConfig.TILE_SERVER_URL});
392-
}
393-
System.gc();
386+
AppGlobals.MAPBOX_TILE_URLS) {
387+
public String getTileURLString(MapTile aTile) {
388+
return super.getTileURLString(aTile) + "?access_token=" + AppGlobals.MAPBOX_ACCESS_CODE;
389+
}
390+
};
391+
System.gc();
394392
mMap.setTileSource(mHighResMapSource);
395393
} else if (!isHighBandwidth && !hasLowResMap) {
396394
// Unhooking the highres map means we should nullify it and force GC
@@ -401,9 +399,9 @@ void setHighBandwidthMap(boolean hasNetwork, boolean isHighBandwidth) {
401399
mMap.setTileSource(new BlankTileSource());
402400

403401
mLowResMapOverlayLowZoom = new LowResMapOverlay(AbstractMapOverlay.TileResType.LOWER_ZOOM,
404-
this.getActivity(), isMLSTileStore, mMap);
402+
this.getActivity(), mMap);
405403
mLowResMapOverlayHighZoom = new LowResMapOverlay(AbstractMapOverlay.TileResType.HIGHER_ZOOM,
406-
this.getActivity(), isMLSTileStore, mMap);
404+
this.getActivity(), mMap);
407405

408406
updateOverlayBaseLayer(mMap.getZoomLevel());
409407
}
@@ -508,11 +506,7 @@ public void toggleScanning(MenuItem menuItem) {
508506

509507
private void showCopyright() {
510508
TextView copyrightArea = (TextView) mRootView.findViewById(R.id.copyright_area);
511-
if (BuildConfig.TILE_SERVER_URL == null) {
512-
copyrightArea.setText(getActivity().getString(R.string.map_copyright_fdroid));
513-
} else {
514-
copyrightArea.setText(getActivity().getString(R.string.map_copyright_moz));
515-
}
509+
copyrightArea.setText(getActivity().getString(R.string.map_copyright_moz));
516510
}
517511

518512
private void updateCenterButtonIcon() {

android/src/main/java/org/mozilla/mozstumbler/client/mapview/tiles/LowResMapOverlay.java

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,38 +7,34 @@
77
import android.content.Context;
88
import android.graphics.Color;
99

10-
import org.mozilla.mozstumbler.BuildConfig;
11-
import org.mozilla.osmdroid.ResourceProxy;
10+
import org.mozilla.mozstumbler.service.AppGlobals;
1211
import org.mozilla.osmdroid.tileprovider.tilesource.ITileSource;
1312
import org.mozilla.osmdroid.tileprovider.tilesource.XYTileSource;
1413
import org.mozilla.osmdroid.tileprovider.util.SimpleInvalidationHandler;
1514
import org.mozilla.osmdroid.views.MapView;
1615

16+
import org.mozilla.osmdroid.tileprovider.MapTile;
17+
1718
public class LowResMapOverlay extends AbstractMapOverlay {
1819
public static final int LOW_ZOOM_LEVEL = 11;
1920

20-
public LowResMapOverlay(TileResType type, final Context aContext, boolean isMLSTileStore, MapView mapView) {
21+
public LowResMapOverlay(TileResType type, final Context aContext, MapView mapView) {
2122
super(aContext);
2223

2324
final int zoomLevel = (type == TileResType.HIGHER_ZOOM) ?
2425
AbstractMapOverlay.getDisplaySizeBasedMinZoomLevel() : LOW_ZOOM_LEVEL;
2526

26-
ITileSource mapTileSource;
27-
if (isMLSTileStore) {
28-
mapTileSource = new XYTileSource(MLS_MAP_TILE_BASE_NAME, null,
29-
zoomLevel, zoomLevel,
30-
AbstractMapOverlay.TILE_PIXEL_SIZE,
31-
AbstractMapOverlay.FILE_TYPE_SUFFIX_PNG,
32-
new String[]{BuildConfig.TILE_SERVER_URL});
33-
} else {
34-
mapTileSource = new XYTileSource("MapquestOSM", ResourceProxy.string.mapquest_osm,
35-
zoomLevel, zoomLevel,
36-
AbstractMapOverlay.TILE_PIXEL_SIZE, ".jpg", new String[]{
37-
"http://otile1.mqcdn.com/tiles/1.0.0/map/",
38-
"http://otile2.mqcdn.com/tiles/1.0.0/map/",
39-
"http://otile3.mqcdn.com/tiles/1.0.0/map/",
40-
"http://otile4.mqcdn.com/tiles/1.0.0/map/"});
41-
}
27+
28+
ITileSource mapTileSource = new XYTileSource(MLS_MAP_TILE_BASE_NAME, null,
29+
zoomLevel, zoomLevel,
30+
AbstractMapOverlay.TILE_PIXEL_SIZE,
31+
AbstractMapOverlay.FILE_TYPE_SUFFIX_PNG,
32+
AppGlobals.MAPBOX_TILE_URLS) {
33+
public String getTileURLString(MapTile aTile) {
34+
return super.getTileURLString(aTile) + "?access_token=" + AppGlobals.MAPBOX_ACCESS_CODE;
35+
}
36+
};
37+
4238
this.setLoadingBackgroundColor(Color.TRANSPARENT);
4339
mTileProvider.setTileRequestCompleteHandler(new SimpleInvalidationHandler(mapView));
4440
mTileProvider.setTileSource(mapTileSource);

libraries/stumbler/src/main/java/org/mozilla/mozstumbler/service/AppGlobals.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,15 @@
1010

1111
public class AppGlobals {
1212

13+
public static final String MAPBOX_ACCESS_CODE = "pk.eyJ1IjoibW96aWxsYS13ZWJwcm9kIiwiYSI6ImNqMml4MXNhaTAwMjgzM28yYXRqbjlmZmkifQ.OfL6NY7noQth9mbbN_tDbA";
14+
public static final String MAPBOX_LAYER_TYPE = "mapbox.streets";
15+
public static final String[] MAPBOX_TILE_URLS = new String[]{
16+
"http://a.tiles.mapbox.com/v4/" + AppGlobals.MAPBOX_LAYER_TYPE + "/",
17+
"http://b.tiles.mapbox.com/v4/" + AppGlobals.MAPBOX_LAYER_TYPE + "/",
18+
"http://c.tiles.mapbox.com/v4/" + AppGlobals.MAPBOX_LAYER_TYPE + "/",
19+
"http://d.tiles.mapbox.com/v4/" + AppGlobals.MAPBOX_LAYER_TYPE + "/"
20+
};
21+
1322
/* All intent actions start with this string. Only locally broadcasted. */
1423
public static final String ACTION_NAMESPACE = "org.mozilla.mozstumbler.intent.action";
1524

0 commit comments

Comments
 (0)