commit
0060e8b5fc
@ -5,7 +5,7 @@ window.DataCache = function() {
|
|||||||
// stock site nemesis.dashboard.DataManager.CACHE_EXPIRY_MS_ = 18E4 - so should be 2 mins cache time
|
// stock site nemesis.dashboard.DataManager.CACHE_EXPIRY_MS_ = 18E4 - so should be 2 mins cache time
|
||||||
this.REQUEST_CACHE_FRESH_AGE = 120; // if younger than this, use data in the cache rather than fetching from the server
|
this.REQUEST_CACHE_FRESH_AGE = 120; // if younger than this, use data in the cache rather than fetching from the server
|
||||||
|
|
||||||
// stale cache entries can be updated (that's what the optional 'timestampMs' field in getThinnedEntnties is
|
// stale cache entries can be updated (that's what the optional 'timestampMs' field in getThinnedEntities is
|
||||||
// for, retrieving deltas) so use a long max age to take advantage of this
|
// for, retrieving deltas) so use a long max age to take advantage of this
|
||||||
// however, ther must be an overall limit on the maximum age of data from the servers, otherwise the deletedEntity
|
// however, ther must be an overall limit on the maximum age of data from the servers, otherwise the deletedEntity
|
||||||
// entries would grow indefinitely. an hour seems reasonable from experience with the data, so 55 mins max cache time
|
// entries would grow indefinitely. an hour seems reasonable from experience with the data, so 55 mins max cache time
|
||||||
|
@ -7,7 +7,7 @@ window.Render = function() {
|
|||||||
|
|
||||||
// when there are lots of portals close together, we only add some of them to the map
|
// when there are lots of portals close together, we only add some of them to the map
|
||||||
// the idea is to keep the impression of the dense set of portals, without rendering them all
|
// the idea is to keep the impression of the dense set of portals, without rendering them all
|
||||||
this.CLUSTER_SIZE = L.Browser.mobile ? 16 : 8; // the map is divited into squares of this size in pixels for clustering purposes. mobile uses larger markers, so therefore larger clustering areas
|
this.CLUSTER_SIZE = L.Browser.mobile ? 16 : 8; // the map is divided into squares of this size in pixels for clustering purposes. mobile uses larger markers, so therefore larger clustering areas
|
||||||
this.CLUSTER_PORTAL_LIMIT = 4; // no more than this many portals are drawn in each cluster square
|
this.CLUSTER_PORTAL_LIMIT = 4; // no more than this many portals are drawn in each cluster square
|
||||||
|
|
||||||
// link length, in pixels, to be visible. use the portal cluster size, as shorter than this is likely hidden
|
// link length, in pixels, to be visible. use the portal cluster size, as shorter than this is likely hidden
|
||||||
|
4
external/L.Geodesic.js
vendored
4
external/L.Geodesic.js
vendored
@ -88,9 +88,9 @@ Modified by qnstie 2013-07-17 to maintain compatibility with Leaflet.draw
|
|||||||
latlngs[i] = L.latLng(latlngs[i]);
|
latlngs[i] = L.latLng(latlngs[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// geodrsic calculations have issues when crossing the anti-meridian. so offset the points
|
// geodesic calculations have issues when crossing the anti-meridian. so offset the points
|
||||||
// so this isn't an issue, then add back the offset afterwards
|
// so this isn't an issue, then add back the offset afterwards
|
||||||
// a center longitude would be ideal - but the start point logitude will be 'good enougn'
|
// a center longitude would be ideal - but the start point logitude will be 'good enough'
|
||||||
var lngOffset = latlngs[0].lng;
|
var lngOffset = latlngs[0].lng;
|
||||||
|
|
||||||
// points are wrapped after being offset relative to the first point coordinate, so they're
|
// points are wrapped after being offset relative to the first point coordinate, so they're
|
||||||
|
@ -527,7 +527,7 @@ public class IITC_Mobile extends Activity implements OnSharedPreferenceChangeLis
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// vp=f enables mDesktopMode mode...vp=m is the defaul mobile view
|
// vp=f enables mDesktopMode mode...vp=m is the default mobile view
|
||||||
private String addUrlParam(String url) {
|
private String addUrlParam(String url) {
|
||||||
if (mDesktopMode) {
|
if (mDesktopMode) {
|
||||||
return (url + "?vp=f");
|
return (url + "?vp=f");
|
||||||
|
@ -289,9 +289,9 @@ public class IITC_WebViewClient extends WebViewClient {
|
|||||||
return new WebResourceResponse("text/css", "UTF-8", STYLE);
|
return new WebResourceResponse("text/css", "UTF-8", STYLE);
|
||||||
// } else if (url.contains("gen_dashboard.js")) {
|
// } else if (url.contains("gen_dashboard.js")) {
|
||||||
// // define initialize function to get rid of JS ReferenceError on intel page's 'onLoad'
|
// // define initialize function to get rid of JS ReferenceError on intel page's 'onLoad'
|
||||||
// String gen_dashboad_replacement = "window.initialize = function() {}";
|
// String gen_dashboard_replacement = "window.initialize = function() {}";
|
||||||
// return new WebResourceResponse("text/javascript", "UTF-8",
|
// return new WebResourceResponse("text/javascript", "UTF-8",
|
||||||
// new ByteArrayInputStream(gen_dashboad_replacement.getBytes()));
|
// new ByteArrayInputStream(gen_dashboard_replacement.getBytes()));
|
||||||
} else if (url.contains("/css/ap_icons.css")
|
} else if (url.contains("/css/ap_icons.css")
|
||||||
|| url.contains("/css/map_icons.css")
|
|| url.contains("/css/map_icons.css")
|
||||||
|| url.contains("/css/common.css")
|
|| url.contains("/css/common.css")
|
||||||
|
@ -579,7 +579,7 @@ window.plugin.apList.getShieldsEffect = function(portal) {
|
|||||||
// Sorting done by loop through the options, get the property by
|
// Sorting done by loop through the options, get the property by
|
||||||
// property chain of each option, compare the property of two object
|
// property chain of each option, compare the property of two object
|
||||||
// with the ordering of option and return the result when the first
|
// with the ordering of option and return the result when the first
|
||||||
// differece is found.
|
// difference is found.
|
||||||
window.plugin.apList.comparePortal = function(a,b) {
|
window.plugin.apList.comparePortal = function(a,b) {
|
||||||
var result = 0;
|
var result = 0;
|
||||||
var options = plugin.apList.sortOptions[plugin.apList.sortBy];
|
var options = plugin.apList.sortOptions[plugin.apList.sortBy];
|
||||||
|
@ -25,7 +25,7 @@ window.plugin.mapTileYandex = function() {};
|
|||||||
|
|
||||||
window.plugin.mapTileYandex.setup = function() {
|
window.plugin.mapTileYandex.setup = function() {
|
||||||
//a few options on language are available, including en-US. Oddly, the detail available on the maps varies
|
//a few options on language are available, including en-US. Oddly, the detail available on the maps varies
|
||||||
//dependong on the language
|
//depending on the language
|
||||||
var yandexApiJs = '//api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU'
|
var yandexApiJs = '//api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU'
|
||||||
|
|
||||||
load(yandexApiJs).thenRun(window.plugin.mapTileYandex.addLayer);
|
load(yandexApiJs).thenRun(window.plugin.mapTileYandex.addLayer);
|
||||||
|
@ -730,7 +730,7 @@
|
|||||||
window.plugin.bookmarks.syncCallback = function(pluginName, fieldName, e, fullUpdated) {
|
window.plugin.bookmarks.syncCallback = function(pluginName, fieldName, e, fullUpdated) {
|
||||||
if(fieldName === window.plugin.bookmarks.KEY.field) {
|
if(fieldName === window.plugin.bookmarks.KEY.field) {
|
||||||
window.plugin.bookmarks.storeLocal(window.plugin.bookmarks.KEY);
|
window.plugin.bookmarks.storeLocal(window.plugin.bookmarks.KEY);
|
||||||
// All data is replaced if other client update the data duing this client offline,
|
// All data is replaced if other client update the data during this client offline,
|
||||||
if(fullUpdated) {
|
if(fullUpdated) {
|
||||||
window.plugin.bookmarks.refreshBkmrks();
|
window.plugin.bookmarks.refreshBkmrks();
|
||||||
return;
|
return;
|
||||||
|
@ -107,7 +107,7 @@ window.plugin.keys.registerFieldForSyncing = function() {
|
|||||||
window.plugin.keys.syncCallback = function(pluginName, fieldName, e, fullUpdated) {
|
window.plugin.keys.syncCallback = function(pluginName, fieldName, e, fullUpdated) {
|
||||||
if(fieldName === 'keys') {
|
if(fieldName === 'keys') {
|
||||||
plugin.keys.storeLocal(plugin.keys.KEY);
|
plugin.keys.storeLocal(plugin.keys.KEY);
|
||||||
// All data is replaced if other client update the data duing this client offline,
|
// All data is replaced if other client update the data during this client offline,
|
||||||
// fire 'pluginKeysRefreshAll' to notify a full update
|
// fire 'pluginKeysRefreshAll' to notify a full update
|
||||||
if(fullUpdated) {
|
if(fullUpdated) {
|
||||||
plugin.keys.updateDisplayCount();
|
plugin.keys.updateDisplayCount();
|
||||||
|
@ -355,7 +355,7 @@ window.plugin.portalslist.stats = function(sortBy) {
|
|||||||
return html;
|
return html;
|
||||||
}
|
}
|
||||||
|
|
||||||
// A little helper functon so the above isn't so messy
|
// A little helper function so the above isn't so messy
|
||||||
window.plugin.portalslist.portalTableSort = function(name, by) {
|
window.plugin.portalslist.portalTableSort = function(name, by) {
|
||||||
var retVal = 'data-sort="' + name + '"';
|
var retVal = 'data-sort="' + name + '"';
|
||||||
if(name === by) {
|
if(name === by) {
|
||||||
|
@ -216,7 +216,7 @@ window.plugin.scoreboard.playerTable = function(sortBy) {
|
|||||||
return scoreHtml;
|
return scoreHtml;
|
||||||
}
|
}
|
||||||
|
|
||||||
// A little helper functon so the above isn't so messy
|
// A little helper function so the above isn't so messy
|
||||||
window.plugin.scoreboard.playerTableSort = function(name, by) {
|
window.plugin.scoreboard.playerTableSort = function(name, by) {
|
||||||
var retVal = 'data-sort="' + name + '"';
|
var retVal = 'data-sort="' + name + '"';
|
||||||
if(name === by) {
|
if(name === by) {
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
window.plugin.portalAddress = function() {};
|
window.plugin.portalAddress = function() {};
|
||||||
|
|
||||||
window.plugin.portalAddress.portalDetail = function(data) {
|
window.plugin.portalAddress.portalDetail = function(data) {
|
||||||
// If there's 4 sets of comma delimieted info the last one is the
|
// If there's 4 sets of comma delimited info the last one is the
|
||||||
// country, so get rid of it. If the country is in the [2] then it
|
// country, so get rid of it. If the country is in the [2] then it
|
||||||
// doesn't matter because address is usually short enough to fit.
|
// doesn't matter because address is usually short enough to fit.
|
||||||
var d = data.portalDetails.portalV2;
|
var d = data.portalDetails.portalV2;
|
||||||
|
@ -60,7 +60,7 @@ window.plugin.sync.updateMap = function(pluginName, fieldName, keyArray) {
|
|||||||
// example: plugin.sync.registerMapForSync('keys', 'keysdata', plugin.keys.updateCallback, plugin.keys.initializedCallback)
|
// example: plugin.sync.registerMapForSync('keys', 'keysdata', plugin.keys.updateCallback, plugin.keys.initializedCallback)
|
||||||
// which register plugin.keys.keysdata
|
// which register plugin.keys.keysdata
|
||||||
//
|
//
|
||||||
// updateCallback function format: function(pluginName, fieldName, eventObejct, fullUpdated)
|
// updateCallback function format: function(pluginName, fieldName, eventObject, fullUpdated)
|
||||||
// updateCallback will be fired when local or remote pushed update to Google Realtime API
|
// updateCallback will be fired when local or remote pushed update to Google Realtime API
|
||||||
// fullUpdated is true when remote update occur during local client offline, all data is replaced by remote data
|
// fullUpdated is true when remote update occur during local client offline, all data is replaced by remote data
|
||||||
// eventObject is a ValueChangedEvent, is null if fullUpdated is true
|
// eventObject is a ValueChangedEvent, is null if fullUpdated is true
|
||||||
@ -68,7 +68,7 @@ window.plugin.sync.updateMap = function(pluginName, fieldName, keyArray) {
|
|||||||
// detail of ValueChangedEvent refer to following url
|
// detail of ValueChangedEvent refer to following url
|
||||||
// https://developers.google.com/drive/realtime/reference/gapi.drive.realtime.ValueChangedEvent
|
// https://developers.google.com/drive/realtime/reference/gapi.drive.realtime.ValueChangedEvent
|
||||||
//
|
//
|
||||||
// initializedCallback funciton format: function(pluginName, fieldName)
|
// initializedCallback function format: function(pluginName, fieldName)
|
||||||
// initializedCallback will be fired when the CollaborativeMap finished initialize and good to use
|
// initializedCallback will be fired when the CollaborativeMap finished initialize and good to use
|
||||||
window.plugin.sync.registerMapForSync = function(pluginName, fieldName, callback, initializedCallback) {
|
window.plugin.sync.registerMapForSync = function(pluginName, fieldName, callback, initializedCallback) {
|
||||||
var options, registeredMap;
|
var options, registeredMap;
|
||||||
@ -244,7 +244,7 @@ window.plugin.sync.RegisteredMap.prototype.loadRealtimeDocument = function(callb
|
|||||||
} else if(e.type === gapi.drive.realtime.ErrorType.NOT_FOUND) {
|
} else if(e.type === gapi.drive.realtime.ErrorType.NOT_FOUND) {
|
||||||
_this.forceFileSearch = true;
|
_this.forceFileSearch = true;
|
||||||
} else if(e.type === gapi.drive.realtime.ErrorType.CLIENT_ERROR) {
|
} else if(e.type === gapi.drive.realtime.ErrorType.CLIENT_ERROR) {
|
||||||
// Workaround: if Realtime API open a second docuemnt and the file do not exist,
|
// Workaround: if Realtime API open a second document and the file do not exist,
|
||||||
// it will rasie 'CLIENT_ERROR' instead of 'NOT_FOUND'. So we do a force file search here.
|
// it will rasie 'CLIENT_ERROR' instead of 'NOT_FOUND'. So we do a force file search here.
|
||||||
_this.forceFileSearch = true;
|
_this.forceFileSearch = true;
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user