From 572ddb949fc8398976141dfb68818097738b21e8 Mon Sep 17 00:00:00 2001 From: fkloft Date: Sun, 8 Dec 2013 22:13:09 +0100 Subject: [PATCH 01/56] Remove pan control from minimap (basically same issue as c537811e9b996bdcda80510d4e04e17fd3654796) --- plugins/pan-control.user.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/plugins/pan-control.user.js b/plugins/pan-control.user.js index 69486c55..1e1ca84e 100644 --- a/plugins/pan-control.user.js +++ b/plugins/pan-control.user.js @@ -26,10 +26,16 @@ window.plugin.panControl.setup = function() { try { console.log('Loading Leaflet.Pancontrol JS now'); } catch(e) {} @@INCLUDERAW:external/L.Control.Pan.js@@ try { console.log('done loading Leaflet.Pancontrol JS'); } catch(e) {} - + + // prevent Pancontrol from being activated by default (e.g. in minimap) + L.Map.mergeOptions({ + panControl: false + }); + + window.map.panControl = L.control.pan({panOffset: 350}); window.map.addControl(window.map.panControl); - + if(map.zoomControl._map) { // Move above the zoom control window.map.removeControl(map.zoomControl); window.map.zoomControl = L.control.zoom(); From 7a36053d46b340bf63a817186b8d975ecdac9da2 Mon Sep 17 00:00:00 2001 From: enigmaquip Date: Sun, 8 Dec 2013 15:19:14 -0700 Subject: [PATCH 02/56] plugin draw resonator update Update to code for disabled on out of zoom bounds and tool tip when in bounds --- plugins/draw-resonators.user.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/plugins/draw-resonators.user.js b/plugins/draw-resonators.user.js index 2aa1b7df..e3da13b2 100644 --- a/plugins/draw-resonators.user.js +++ b/plugins/draw-resonators.user.js @@ -93,8 +93,12 @@ window.plugin.drawResonators.createConnMarker = function(resoData, resoLatLng, p } window.plugin.drawResonators.zoomListener = function() { + var ctrl = $('.leaflet-control-layers-selector + span:contains("Resonators")').parent(); if(window.map.getZoom() < window.RESONATOR_MIN_ZOOM) { window.plugin.drawResonators.levelLayerGroup.clearLayers(); + ctrl.addClass('disabled').attr('title', 'Zoom in to show those.'); + } else { + ctrl.removeClass('disabled').attr('title', 'Select a portal to draw resos'); }; } @@ -102,7 +106,7 @@ var setup = function() { window.plugin.drawResonators.levelLayerGroup = new L.LayerGroup(); - window.addLayerGroup('Draw Reso', window.plugin.drawResonators.levelLayerGroup, true); + window.addLayerGroup('Resonators', window.plugin.drawResonators.levelLayerGroup, true); window.addHook('portalDetailsUpdated', window.plugin.drawResonators.handledata); From 7ab3a33adc04b2f4a88552a113dee4ede1628adc Mon Sep 17 00:00:00 2001 From: nexushoratio Date: Mon, 9 Dec 2013 00:11:46 -0800 Subject: [PATCH 03/56] Minor typo. --- plugins/broken/ap-list.user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/broken/ap-list.user.js b/plugins/broken/ap-list.user.js index 4fc2bb23..87cc5b08 100644 --- a/plugins/broken/ap-list.user.js +++ b/plugins/broken/ap-list.user.js @@ -893,7 +893,7 @@ window.plugin.apList.setupPagination = function() { + '
' + '
' + '
' - + '
'// fix collapsion of parent caused by inner div's float:left + + '
'// fix collapsing of parent caused by inner div's float:left + '
'; $('#ap-list-pagination').html(content); } From d89f60be1160cb440e4dfdf9d81771e0b33c9a02 Mon Sep 17 00:00:00 2001 From: fkloft Date: Tue, 10 Dec 2013 14:55:46 +0100 Subject: [PATCH 04/56] Revert "Revert "Naive attempt to make bookmarks compatible with nav drawer. @ZasoGD - please have a look, if necessary undo this commit and do it right"" This reverts commit 67f273fd6d4b1db7d3ac2363305a1d30e3729ac4. --- plugins/bookmarks-by-zaso.user.js | 14 +++- plugins/bookmarks-css.css | 126 ++++++++++++++---------------- 2 files changed, 72 insertions(+), 68 deletions(-) diff --git a/plugins/bookmarks-by-zaso.user.js b/plugins/bookmarks-by-zaso.user.js index 8b324501..a69c40d7 100644 --- a/plugins/bookmarks-by-zaso.user.js +++ b/plugins/bookmarks-by-zaso.user.js @@ -169,6 +169,13 @@ window.plugin.bookmarks.saveStorageBox(); } + window.plugin.bookmarks.onPaneChanged = function(pane) { + if(pane == "plugin-bookmarks") + $('#bookmarksBox').css("display", ""); + else + $('#bookmarksBox').css("display", "none"); + } + // Switch list (maps/portals) window.plugin.bookmarks.switchPageBkmrksBox = function(elem, page) { window.plugin.bookmarks.statusBox.page = page; @@ -938,8 +945,13 @@ $("#bookmarksBox #bookmarksMin , #bookmarksBox ul li, #bookmarksBox ul li a, #bookmarksBox ul li a span, #bookmarksBox h5, #bookmarksBox .addForm a").disableSelection(); $('#bookmarksBox').css({'top':window.plugin.bookmarks.statusBox.pos.x, 'left':window.plugin.bookmarks.statusBox.pos.y}); }else{ - $('#portaldetails').before(window.plugin.bookmarks.htmlBoxTrigger + window.plugin.bookmarks.htmlBkmrksBox); + $('body').append(window.plugin.bookmarks.htmlBkmrksBox); + $('#bookmarksBox').css("display", "none").addClass("mobile"); + if(typeof android !== 'undefined' && android && android.addPane) + android.addPane("plugin-bookmarks", "Bookmarks", "ic_action_star"); + window.addHook('paneChanged', window.plugin.bookmarks.onPaneChanged); + // Remove the star window.addHook('portalSelected', function(data) { if(data.selectedPortalGuid === null) { diff --git a/plugins/bookmarks-css.css b/plugins/bookmarks-css.css index 15070e4c..9c160667 100644 --- a/plugins/bookmarks-css.css +++ b/plugins/bookmarks-css.css @@ -358,139 +358,131 @@ /********************************************** MOBILE **********************************************/ -#sidebar #bookmarksBox{ - position:static !important; - width:auto !important; - margin:0 !important; +#bookmarksBox.mobile{ + position:absolute !important; + width: 100% !important; + height: 100% !important; + top: 0 !important; + left: 0 !important; + margin: 0 !important; + padding: 0 !important; + border: 0 !important; + background: transparent !important;; } -#sidebar #bkmrksTrigger, -#sidebar #bookmarksBox .bookmarkList ul, -#sidebar #bookmarksBox .bookmarkList ul li, -#sidebar #bookmarksBox .bookmarkList.current, -#sidebar #bookmarksBox .bookmarkList li.bookmarkFolder.open ul{ +#bookmarksBox.mobile .bookmarkList ul, +#bookmarksBox.mobile .bookmarkList ul li, +#bookmarksBox.mobile .bookmarkList.current, +#bookmarksBox.mobile .bookmarkList li.bookmarkFolder.open ul{ width:100% !important; display:block !important; } -#sidebar #bookmarksBox *{ +#bookmarksBox.mobile *{ box-shadow:none !important; border-width:0 !important; } -#sidebar #bookmarksBox #topBar{ +#bookmarksBox.mobile #topBar{ display:none !important; } -#sidebar #bookmarksBox #bookmarksTypeBar h5{ +#bookmarksBox.mobile #bookmarksTypeBar h5{ cursor:pointer; text-align:center; float:left; width:50%; padding:7px 0; } -#sidebar #bookmarksBox #bookmarksTypeBar h5.current{ +#bookmarksBox.mobile #bookmarksTypeBar h5.current{ cursor:default; color:#fff; } -#sidebar #bookmarksBox #bookmarksTypeBar, -#sidebar #bookmarksBox .bookmarkList .addForm{ +#bookmarksBox.mobile #bookmarksTypeBar, +#bookmarksBox.mobile .bookmarkList .addForm{ border-bottom:1px solid #20a8b1 !important; } -#sidebar #bookmarksBox .bookmarkList ul li ul li.bkmrk, -#sidebar #bookmarksBox .bookmarkList li.bookmarkFolder .folderLabel{ +#bookmarksBox.mobile .bookmarkList ul li ul li.bkmrk, +#bookmarksBox.mobile .bookmarkList li.bookmarkFolder .folderLabel{ height:36px !important; clear:both; } -#sidebar #bookmarksBox .bookmarkList li.bookmarkFolder .folderLabel a, -#sidebar #bookmarksBox .bookmarkList ul li ul li.bkmrk a{ +#bookmarksBox.mobile .bookmarkList li.bookmarkFolder .folderLabel a, +#bookmarksBox.mobile .bookmarkList ul li ul li.bkmrk a{ background:none; padding:7px 0; height:auto; box-shadow:inset 0 1px 0 #20a8b1 !important; } -#sidebar #bookmarksBox .bookmarkList li.bookmarkFolder a.bookmarksRemoveFrom, -#sidebar #bookmarksBox .bookmarkList li.bkmrk a.bookmarksRemoveFrom{ +#bookmarksBox.mobile .bookmarkList li.bookmarkFolder a.bookmarksRemoveFrom, +#bookmarksBox.mobile .bookmarkList li.bkmrk a.bookmarksRemoveFrom{ box-shadow:inset 0 1px 0 #20a8b1,inset -1px 0 0 #20a8b1 !important; width:15%; background:none !important; } -#sidebar #bookmarksBox .bookmarkList li.bookmarkFolder a.bookmarksAnchor, -#sidebar #bookmarksBox .bookmarkList li.bkmrk a.bookmarksLink{ +#bookmarksBox.mobile .bookmarkList li.bookmarkFolder a.bookmarksAnchor, +#bookmarksBox.mobile .bookmarkList li.bkmrk a.bookmarksLink{ text-indent:10px; width:85%; height:21px; overflow:hidden; } -#sidebar #bookmarksBox .bookmarkList ul li.bookmarkFolder ul{ +#bookmarksBox.mobile .bookmarkList ul li.bookmarkFolder ul{ margin-left:0 !important; } -#sidebar #bookmarksBox .bookmarkList > ul{ +#bookmarksBox.mobile .bookmarkList > ul{ border-bottom:1px solid #20a8b1 !important; border-right:1px solid #20a8b1 !important; } -#sidebar #bookmarksBox .bookmarkList .bookmarkFolder.othersBookmarks ul{ +#bookmarksBox.mobile .bookmarkList .bookmarkFolder.othersBookmarks ul{ border-top:5px solid #20a8b1 !important; } -#sidebar #bookmarksBox .bookmarkList li.bookmarkFolder, -#sidebar #bookmarksBox .bookmarkList li.bkmrk{ +#bookmarksBox.mobile .bookmarkList li.bookmarkFolder, +#bookmarksBox.mobile .bookmarkList li.bkmrk{ box-shadow:inset 0 1px 0 #20a8b1, 1px 0 0 #20a8b1, -1px 1px 0 #20a8b1 !important; } -#sidebar #bookmarksBox .bookmarkList > ul{ +#bookmarksBox.mobile .bookmarkList > ul{ max-height:none; width:85% !important; } -#sidebar #bookmarksBox .bookmarkList li.bookmarkFolder .folderLabel{ +#bookmarksBox.mobile .bookmarkList li.bookmarkFolder .folderLabel{ box-shadow:0 1px 0 #20a8b1 !important; } -#sidebar #bookmarksBox .bookmarkList ul li.bookmarkFolder ul{ +#bookmarksBox.mobile .bookmarkList ul li.bookmarkFolder ul{ width:85% !important; margin-left:15% !important; } -#sidebar #bookmarksBox .bookmarkList ul li.bookmarkFolder.othersBookmarks ul{ +#bookmarksBox.mobile .bookmarkList ul li.bookmarkFolder.othersBookmarks ul{ width:100% !important; margin-left:0% !important; } -#sidebar #bkmrksTrigger{ - position:static; - width:auto; - margin:0; - height:auto; - background:none; - text-indent:0; - padding:11px 0 9px; - margin-bottom:5px; -} -#sidebar #bkmrksTrigger.open{ - margin-bottom:0; -} -#sidebar #bookmarksBox{ +#bookmarksBox.mobile{ margin-bottom:5px !important; } -#sidebar #bookmarksBox #bookmarksTypeBar{ +#bookmarksBox.mobile #bookmarksTypeBar{ height:auto; } -#sidebar #bookmarksBox .addForm, -#sidebar #bookmarksBox .addForm *{ +#bookmarksBox.mobile .addForm, +#bookmarksBox.mobile .addForm *{ height:35px; padding:0; } -#sidebar #bookmarksBox .addForm a{ +#bookmarksBox.mobile .addForm a{ line-height:37px; } -#sidebar #bookmarksBox .addForm a{ +#bookmarksBox.mobile .addForm a{ width:25% !important; } -#sidebar #bookmarksBox .addForm input{ +#bookmarksBox.mobile .addForm input{ width:50% !important; text-indent:10px; } -#sidebar #bookmarksBox #bkmrk_portals .addForm input{ +#bookmarksBox.mobile #bkmrk_portals .addForm input{ width:75% !important; } -#sidebar #bookmarksBox #bookmarksTypeBar h5, -#sidebar #bookmarksBox .bookmarkList .addForm a{ +#bookmarksBox.mobile #bookmarksTypeBar h5, +#bookmarksBox.mobile .bookmarkList .addForm a{ box-shadow:-1px 0 0 #20a8b1 !important; } -#sidebar #bookmarksBox .bookmarkList li.bookmarkFolder ul{ +#bookmarksBox.mobile .bookmarkList li.bookmarkFolder ul{ display:none !important; min-height:37px !important; } @@ -500,26 +492,26 @@ padding:0 3px 1px 4px; background:#262c32; } -#sidebar #bookmarksBox .bookmarkList .bookmarkFolder .folderLabel .bookmarksAnchor span, -#sidebar #bookmarksBox .bookmarkList .bookmarkFolder .folderLabel > span, -#sidebar #bookmarksBox .bookmarkList .bookmarkFolder .folderLabel > span > span, -#sidebar #bookmarksBox .bookmarkList .triangle{ +#bookmarksBox.mobile .bookmarkList .bookmarkFolder .folderLabel .bookmarksAnchor span, +#bookmarksBox.mobile .bookmarkList .bookmarkFolder .folderLabel > span, +#bookmarksBox.mobile .bookmarkList .bookmarkFolder .folderLabel > span > span, +#bookmarksBox.mobile .bookmarkList .triangle{ width:0 !important; height:0 !important; } -#sidebar #bookmarksBox .bookmarkList .bookmarkFolder .folderLabel .bookmarksAnchor span{ +#bookmarksBox.mobile .bookmarkList .bookmarkFolder .folderLabel .bookmarksAnchor span{ float:left !important; border-width:5px 0 5px 7px !important; border-color:transparent transparent transparent white !important; margin:7px 3px 0 13px !important; } -#sidebar #bookmarksBox .bookmarkList .bookmarkFolder.open .folderLabel .bookmarksAnchor span{ +#bookmarksBox.mobile .bookmarkList .bookmarkFolder.open .folderLabel .bookmarksAnchor span{ margin:9px 1px 0 12px !important; border-width:7px 5px 0 5px !important; border-color:white transparent transparent transparent !important; } -#sidebar #bookmarksBox .bookmarkList .bookmarkFolder .folderLabel > span, -#sidebar #bookmarksBox .bookmarkList .bookmarkFolder .folderLabel > span > span{ +#bookmarksBox.mobile .bookmarkList .bookmarkFolder .folderLabel > span, +#bookmarksBox.mobile .bookmarkList .bookmarkFolder .folderLabel > span > span{ display:none !important; border-width:0 12px 10px 0 !important; border-color:transparent #20a8b1 transparent transparent !important; @@ -528,14 +520,14 @@ top:21px !important; left:-10px !important; } -#sidebar #bookmarksBox .bookmarkList .bookmarkFolder .folderLabel > span > span{ +#bookmarksBox.mobile .bookmarkList .bookmarkFolder .folderLabel > span > span{ top:18px !important; left:0 !important; border-width:0 10px 9px 0 !important; border-color:transparent #069 transparent transparent !important; } -#sidebar #bookmarksBox .bookmarkList .bookmarkFolder.open .folderLabel > span, -#sidebar #bookmarksBox .bookmarkList .bookmarkFolder.open .folderLabel > span > span{ +#bookmarksBox.mobile .bookmarkList .bookmarkFolder.open .folderLabel > span, +#bookmarksBox.mobile .bookmarkList .bookmarkFolder.open .folderLabel > span > span{ display:block !important; } /********************************************** From c7b4632ee628d5ea4c91ff63c92a48d530d14bb5 Mon Sep 17 00:00:00 2001 From: fkloft Date: Fri, 6 Dec 2013 00:16:22 +0100 Subject: [PATCH 05/56] Improved intent sorting (default app listed first again, sorting broke this) --- .../iitc_mobile/share/IntentComparator.java | 18 ++++++++++++++++-- .../iitc_mobile/share/IntentListView.java | 15 +++++++-------- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/mobile/src/com/cradle/iitc_mobile/share/IntentComparator.java b/mobile/src/com/cradle/iitc_mobile/share/IntentComparator.java index 436488e4..b01ab72d 100644 --- a/mobile/src/com/cradle/iitc_mobile/share/IntentComparator.java +++ b/mobile/src/com/cradle/iitc_mobile/share/IntentComparator.java @@ -124,6 +124,13 @@ public class IntentComparator implements Comparator { public int compare(ResolveInfo lhs, ResolveInfo rhs) { int order; + // we might be merging multiple intents, so there could be more than one default + if (lhs.isDefault && !rhs.isDefault) + return -1; + if (rhs.isDefault && !lhs.isDefault) + return 1; + + // Show more frequently used items in top Integer lCount = mIntentMap.get(new Component(lhs)); Integer rCount = mIntentMap.get(new Component(rhs)); @@ -133,8 +140,15 @@ public class IntentComparator implements Comparator { if (lCount > rCount) return -1; if (lCount < rCount) return 1; - order = lhs.loadLabel(mPackageManager).toString() - .compareTo(rhs.loadLabel(mPackageManager).toString()); + // don't known how these are set (or if they can be set at all), but it sounds promising... + if (lhs.preferredOrder != rhs.preferredOrder) + return rhs.preferredOrder - lhs.preferredOrder; + if (lhs.priority != rhs.priority) + return rhs.priority - lhs.priority; + + // still no order. fall back to alphabetical order + order = lhs.loadLabel(mPackageManager).toString().compareTo( + rhs.loadLabel(mPackageManager).toString()); if (order != 0) return order; if (lhs.nonLocalizedLabel != null && rhs.nonLocalizedLabel != null) { diff --git a/mobile/src/com/cradle/iitc_mobile/share/IntentListView.java b/mobile/src/com/cradle/iitc_mobile/share/IntentListView.java index 785c1edb..a0af6dcc 100644 --- a/mobile/src/com/cradle/iitc_mobile/share/IntentListView.java +++ b/mobile/src/com/cradle/iitc_mobile/share/IntentListView.java @@ -187,17 +187,16 @@ public class IntentListView extends ListView { ActivityInfo activity = resolveInfo.activityInfo; ComponentName activityId = new ComponentName(activity.packageName, activity.name); + // ResolveInfo.isDefault usually means "The target would like to be considered a default action that the + // user can perform on this data." It is set by the package manager, but we overwrite it to store + // whether this app is the default for the given intent + resolveInfo.isDefault = resolveInfo.activityInfo.name.equals(defaultTarget.activityInfo.name) + && resolveInfo.activityInfo.packageName.equals(defaultTarget.activityInfo.packageName); + if (!mActivities.containsKey(activityId)) { mActivities.put(activityId, intent); - // move default Intent to top - if (resolveInfo.activityInfo.packageName.equals(defaultTarget.activityInfo.packageName) - && resolveInfo.activityInfo.name.equals(defaultTarget.activityInfo.name)) { - allActivities.add(0, resolveInfo); - } else { - allActivities.add(resolveInfo); - } + allActivities.add(resolveInfo); } - } } From bf89a0548e5d43ea127d2ef65494ef238a2e26b0 Mon Sep 17 00:00:00 2001 From: Philipp Schaefer Date: Tue, 10 Dec 2013 22:14:24 +0100 Subject: [PATCH 06/56] new actionbar title for permalink --- code/utils_misc.js | 4 ++-- mobile/src/com/cradle/iitc_mobile/share/ShareActivity.java | 4 +--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/code/utils_misc.js b/code/utils_misc.js index 75d213e8..ef30baba 100644 --- a/code/utils_misc.js +++ b/code/utils_misc.js @@ -267,11 +267,11 @@ window.androidCopy = function(text) { } window.androidPermalink = function() { - if(typeof android === 'undefined' || !android || !android.copy) + if(typeof android === 'undefined' || !android || !android.intentPosLink) return true; // i.e. execute other actions var center = map.getCenter(); - android.intentPosLink(center.lat, center.lng, map.getZoom(), "Intel Map", false); + android.intentPosLink(center.lat, center.lng, map.getZoom(), "Selected map view", false); return false; } diff --git a/mobile/src/com/cradle/iitc_mobile/share/ShareActivity.java b/mobile/src/com/cradle/iitc_mobile/share/ShareActivity.java index b09e57f9..fe10d5c3 100644 --- a/mobile/src/com/cradle/iitc_mobile/share/ShareActivity.java +++ b/mobile/src/com/cradle/iitc_mobile/share/ShareActivity.java @@ -116,15 +116,13 @@ public class ShareActivity extends FragmentActivity implements ActionBar.TabList mZoom = intent.getIntExtra("zoom", 0); mIsPortal = intent.getBooleanExtra("isPortal", false); + actionBar.setTitle(mTitle); setupIntents(); } else { mTitle = getString(R.string.app_name); setupShareIntent(intent.getStringExtra("shareString")); } - // show portal name as action bar title, if available - if (mTitle != getString(R.string.app_name)) actionBar.setTitle(mTitle); - mViewPager = (ViewPager) findViewById(R.id.pager); mViewPager.setAdapter(mFragmentAdapter); From 5a33ba1a24a331364336aafc46a8ee5fced58a72 Mon Sep 17 00:00:00 2001 From: Jon Atkins Date: Thu, 12 Dec 2013 18:32:28 +0000 Subject: [PATCH 07/56] more portal summary data utility functions - link/field count functions - useful when we only need numbers - approximate AP gains, based only on summary data --- code/portal_data.js | 55 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/code/portal_data.js b/code/portal_data.js index cf5aa62b..6afdf9b1 100644 --- a/code/portal_data.js +++ b/code/portal_data.js @@ -21,6 +21,11 @@ window.getPortalLinks = function(guid) { return links; } +window.getPortalLinksCount = function(guid) { + var links = getPortalLinks(); + return links.in.length+links.out.length; +} + // search through the fields for all that reference a portal window.getPortalFields = function(guid) { @@ -40,6 +45,11 @@ window.getPortalFields = function(guid) { return fields; } +window.getPortalFieldsCount = function(guid) { + var fields = getPortalFields(); + return fields.length; +} + // find the lat/lon for a portal, using any and all available data // (we have the list of portals, the cached portal details, plus links and fields as sources of portal locations) @@ -79,3 +89,48 @@ window.findPortalLatLng = function(guid) { // no luck finding portal lat/lng return undefined; } + + +// get the AP gains from a portal, based only on the brief summary data from portals, links and fields +// not entirely accurate - but available for all portals on the screen +window.getPortalApGain = function(guid) { + + var p = window.portals[guid]; + if (p) { + var data = p.options.data; + + var linkCount = getPortalLinksCount(guid); + var fieldCount = getPortalFieldsCount(guid); + + var result = portalApGainMaths(data.resCount, linkCount, fieldCount); + return result; + } + + return undefined; +} + +// given counts of resonators, links and fields, calculate the available AP +// doesn't take account AP for resonator upgrades or AP for adding mods +window.portalApGainMaths = function(resCount, linkCount, fieldCount) { + + var deployAp = (8-resCount)*DEPLOY_RESONATOR; + if (resCount == 0) deployAp += CAPTURE_PORTAL; + if (resCount != 8) deployAp += COMPLETION_BONUS; + // there could also be AP for upgrading existing resonators, and for deploying mods - but we don't have data for that + var friendlyAp = deployAp; + + var destroyResoAp = resCount*DESTROY_RESONATOR; + var destroyLinkAp = linkCount*DESTROY_LINK; + var destroyFieldAp = fieldCount*DESTROY_FIELD; + var captureAp = CAPTURE_PORTAL + 8 * DEPLOY_RESONATOR + COMPLETION_BONUS; + var destroyAp = destroyResoAp+destroyLinkAp+destroyFieldAp; + var enemyAp = destroyAp+captureAp; + + return { + friendlyAp: friendlyAp, + enemyAp: enemyAp, + destroyAp: destroyAp, + destroyResoAp: destroyResoAp, + captureAp: captureAp + } +} From 20e672a1e2c192883940cbeb4f2f534cb1928180 Mon Sep 17 00:00:00 2001 From: fkloft Date: Tue, 10 Dec 2013 22:22:48 +0100 Subject: [PATCH 08/56] Improve build tools - Makefile provides "locale" and "mobile" as targets. Mobile also installs and starts app - build.py returns error code if ant fails --- Makefile | 14 ++++++++++++-- build.py | 1 + 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 336e5120..c2f82707 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,16 @@ -default: - ./build.py +default: mklocal +local: mklocal +mobile: mkmobile + +mklocal: + ./build.py local + +mkmobile: + ./build.py mobile + adb install -r build/mobile/IITC_Mobile-debug.apk + adb shell am start -n com.cradle.iitc_mobile/com.cradle.iitc_mobile.IITC_Mobile clean: ant -f mobile/build.xml clean + diff --git a/build.py b/build.py index 97f808e6..ec04387d 100755 --- a/build.py +++ b/build.py @@ -289,6 +289,7 @@ if buildMobile: if retcode != 0: print ("Error: mobile app failed to build. ant returned %d" % retcode) + exit(1) # ant may return 256, but python seems to allow only values <256 else: shutil.copy("mobile/bin/IITC_Mobile-%s.apk" % buildMobile, os.path.join(outDir,"IITC_Mobile-%s.apk" % buildMobile) ) From bcd7e7390db4f81b537d9742cebbfb7a0c2fb153 Mon Sep 17 00:00:00 2001 From: Philipp Schaefer Date: Thu, 12 Dec 2013 19:52:18 +0100 Subject: [PATCH 09/56] set default build target back to desktop build From c01a65b05e626e3827ca6a92263d20ed1c7720b6 Mon Sep 17 00:00:00 2001 From: Jon Atkins Date: Fri, 13 Dec 2013 05:40:49 +0000 Subject: [PATCH 10/56] change makefile to run a plain build.py by default - localbuildsettings.py then can control the default --- Makefile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index c2f82707..65a244de 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,11 @@ -default: mklocal +default: mkdefault local: mklocal mobile: mkmobile +mkdefault: + ./build.py + mklocal: ./build.py local From 444d5b236ea9558355e03dd5369f992177b9e166 Mon Sep 17 00:00:00 2001 From: Jon Atkins Date: Fri, 13 Dec 2013 05:49:17 +0000 Subject: [PATCH 11/56] plugin draw-resonators: clear resonators when portal is deselected. changed hooks used to handle things in a more logical way --- plugins/draw-resonators.user.js | 37 +++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/plugins/draw-resonators.user.js b/plugins/draw-resonators.user.js index e3da13b2..755b6d46 100644 --- a/plugins/draw-resonators.user.js +++ b/plugins/draw-resonators.user.js @@ -2,7 +2,7 @@ // @id iitc-plugin-draw-resonators@xelio // @name IITC plugin: Draw resonators // @category Layer -// @version 0.4.1.@@DATETIMEVERSION@@ +// @version 0.5.0.@@DATETIMEVERSION@@ // @namespace https://github.com/jonatkins/ingress-intel-total-conversion // @updateURL @@UPDATEURL@@ // @downloadURL @@DOWNLOADURL@@ @@ -24,14 +24,32 @@ window.plugin.drawResonators = function() {}; window.plugin.drawResonators.levelLayerGroup = null; -window.plugin.drawResonators.handledata = function(data) { -window.plugin.drawResonators.levelLayerGroup.clearLayers(); -window.plugin.drawResonators.drawData(data); +window.plugin.drawResonators.portalSelected = function(data) { + // new portal selected - clear any existing resonators.. + window.plugin.drawResonators.levelLayerGroup.clearLayers(); + + // then, if a portal is selected... + if (data.selectedPortalGuid) { + // draw it's resonators if we have it's details + var details = portalDetail.get(data.selectedPortalGuid); + if (details) { + window.plugin.drawResonators.drawData(details); + } + } } -window.plugin.drawResonators.drawData = function(portal) { -if(window.map.getZoom() < window.RESONATOR_MIN_ZOOM) return; - var portalDetails = portal.portalDetails; +window.plugin.drawResonators.portalDetailsLoaded = function(data) { + // the detailed data for a portal was just loaded - if this is the selected portal, draw them + + if (data.guid == window.selectedPortal) { + window.plugin.drawResonators.levelLayerGroup.clearLayers(); + window.plugin.drawResonators.drawData(data.details); + } +} + +window.plugin.drawResonators.drawData = function(portalDetails) { + if(window.map.getZoom() < window.RESONATOR_MIN_ZOOM) return; + var portalLatLng = [portalDetails.locationE6.latE6/1E6, portalDetails.locationE6.lngE6/1E6]; for(var i in portalDetails.resonatorArray.resonators) { resoData = portalDetails.resonatorArray.resonators[i]; @@ -108,7 +126,8 @@ var setup = function() { window.addLayerGroup('Resonators', window.plugin.drawResonators.levelLayerGroup, true); - window.addHook('portalDetailsUpdated', window.plugin.drawResonators.handledata); + window.addHook('portalSelected', window.plugin.drawResonators.portalSelected); + window.addHook('portalDetailsLoaded', window.plugin.drawResonators.portalDetailsLoaded); window.map.on('zoomend', function() { window.plugin.drawResonators.zoomListener(); @@ -117,4 +136,4 @@ var setup = function() { } // PLUGIN END ////////////////////////////////////////////////////////// -@@PLUGINEND@@ \ No newline at end of file +@@PLUGINEND@@ From cd8adeac22334cb303af3f91c45597f2c3e44212 Mon Sep 17 00:00:00 2001 From: Jon Atkins Date: Fri, 13 Dec 2013 20:10:46 +0000 Subject: [PATCH 12/56] artifact list: - line break when both target and fragments are on one portal - colour fragments when on a target portal --- code/artifact.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/artifact.js b/code/artifact.js index cd8b118d..d52abc72 100644 --- a/code/artifact.js +++ b/code/artifact.js @@ -247,7 +247,10 @@ window.artifact.showArtifactList = function() { } if (data[type].fragments) { - row += 'Shard: #'+data[type].fragments.join(', #')+' '; + if (data[type].target) { + row += '
'; + } + row += 'Shard: #'+data[type].fragments.join(', #')+' '; sortVal = Math.min.apply(null, data[type].fragments); // use min shard number at portal as sort key } From 3b8716d4d8f0c0bbf87dbb77a45ed0654f210e51 Mon Sep 17 00:00:00 2001 From: fkloft Date: Fri, 13 Dec 2013 17:54:25 +0100 Subject: [PATCH 13/56] Repair compact tab --- code/chat.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/chat.js b/code/chat.js index 2bcf5f79..50cb8fec 100644 --- a/code/chat.js +++ b/code/chat.js @@ -228,12 +228,12 @@ window.chat.renderCompact = function(oldMsgsWereAdded) { $.each(chat._public.data, function(guid, entry) { // skip player msgs if(!entry[1]) return true; - var pguid = entry[3]; + var nick = entry[3]; // ignore if player has newer data - if(data[pguid] && data[pguid][0] > entry[0]) return true; - data[pguid] = entry; + if(data[nick] && data[nick][0] > entry[0]) return true; + data[nick] = entry; }); - // data keys are now player guids instead of message guids. However, + // data keys are now player nicks instead of message guids. However, // it is all the same to renderData. chat.renderData(data, 'chatcompact', oldMsgsWereAdded); } @@ -350,7 +350,7 @@ window.chat.writeDataToHash = function(newData, storageHash, isPublicChannel, is // format: timestamp, autogenerated, HTML message - storageHash.data[json[0]] = [json[1], auto, chat.renderMsg(msg, nick, time, team, msgToPlayer, systemNarrowcast)]; + storageHash.data[json[0]] = [json[1], auto, chat.renderMsg(msg, nick, time, team, msgToPlayer, systemNarrowcast), nick]; }); } From d7619314da8a7f06182e6287061bcae5904dd8af Mon Sep 17 00:00:00 2001 From: Jon Atkins Date: Sat, 14 Dec 2013 00:25:53 +0000 Subject: [PATCH 14/56] resonators plugin - redraw selected portal resonators after zooming out and then back in again --- plugins/draw-resonators.user.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/plugins/draw-resonators.user.js b/plugins/draw-resonators.user.js index 755b6d46..c18b048f 100644 --- a/plugins/draw-resonators.user.js +++ b/plugins/draw-resonators.user.js @@ -117,6 +117,13 @@ window.plugin.drawResonators.zoomListener = function() { ctrl.addClass('disabled').attr('title', 'Zoom in to show those.'); } else { ctrl.removeClass('disabled').attr('title', 'Select a portal to draw resos'); + window.plugin.drawResonators.levelLayerGroup.clearLayers(); + if (window.selectedPortal) { + var details = portalDetail.get(window.selectedPortal); + if (details) { + window.plugin.drawResonators.drawData(details); + } + } }; } From df81eeb2c8039d0132cc8861fa74a957cd1f319c Mon Sep 17 00:00:00 2001 From: Philipp Schaefer Date: Sun, 15 Dec 2013 18:52:03 +0100 Subject: [PATCH 15/56] don't use hard coded strings for app name --- mobile/src/com/cradle/iitc_mobile/IITC_NavigationHelper.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mobile/src/com/cradle/iitc_mobile/IITC_NavigationHelper.java b/mobile/src/com/cradle/iitc_mobile/IITC_NavigationHelper.java index 79ce1b9f..284ea249 100644 --- a/mobile/src/com/cradle/iitc_mobile/IITC_NavigationHelper.java +++ b/mobile/src/com/cradle/iitc_mobile/IITC_NavigationHelper.java @@ -166,7 +166,7 @@ public class IITC_NavigationHelper extends ActionBarDrawerToggle implements OnIt } } - if (mDrawerLayout.isDrawerOpen(mDrawerLeft)) { + if (mDrawerLayout.isDrawerOpen(mDrawerLeft) || mPane == Pane.MAP) { mActionBar.setTitle(mIitc.getString(R.string.app_name)); } else { mActionBar.setTitle(mPane.label); @@ -341,7 +341,7 @@ public class IITC_NavigationHelper extends ActionBarDrawerToggle implements OnIt public static final Pane FACTION = new Pane("faction", "Faction", R.drawable.ic_action_cc_bcc); public static final Pane FULL = new Pane("full", "Full", R.drawable.ic_action_view_as_list); public static final Pane INFO = new Pane("info", "Info", R.drawable.ic_action_about); - public static final Pane MAP = new Pane("map", "IITC Mobile", R.drawable.ic_action_map); + public static final Pane MAP = new Pane("map", "Map", R.drawable.ic_action_map); public static final Pane PUBLIC = new Pane("public", "Public", R.drawable.ic_action_group); private int icon; From 332d16e89ace6aeb71f1c9b329c34709c97d9169 Mon Sep 17 00:00:00 2001 From: Jon Atkins Date: Sat, 14 Dec 2013 05:22:29 +0000 Subject: [PATCH 16/56] portals list plugin - level colour background on level numbers - abbreviated faction to 3 characters, to save space - increased portal name column width --- plugins/portals-list.user.js | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/plugins/portals-list.user.js b/plugins/portals-list.user.js index 6b173449..63a149e3 100644 --- a/plugins/portals-list.user.js +++ b/plugins/portals-list.user.js @@ -64,16 +64,14 @@ window.plugin.portalslist.getPortals = function() { retval=true; var d = portal.options.data; - var teamN = window.TEAM_NONE; + var teamN = portal.options.team; - switch (d.team){ - case 'RESISTANCE' : + switch (teamN){ + case TEAM_RES: window.plugin.portalslist.resP++; - teamN = window.TEAM_RES break; - case 'ENLIGHTENED' : + case TEAM_ENL: window.plugin.portalslist.enlP++; - teamN = window.TEAM_ENL; break; } var l = window.getPortalLinks(i); @@ -155,17 +153,17 @@ window.plugin.portalslist.portalTable = function(sortBy, sortOrder, filter) { + 'Level' + 'Team' + 'Health' - + 'Resonator Count' - + 'Link Count' - + 'Field Count' + + 'Resonators' + + 'Links' + + 'Fields' $.each(portals, function(ind, portal) { if (filter === TEAM_NONE || filter === portal.teamN) { html += '' + '' + window.plugin.portalslist.getPortalLink(portal, portal.guid) + '' - + '' + portal.level + '' - + '' + portal.team + ''; + + '' + portal.level + '' + + '' + portal.team.substr(0,3) + ''; html += '' + portal.health + '' + '' + portal.resCount + '' @@ -260,7 +258,7 @@ var setup = function() { '#portalslist .filterRes { margin-top: 10px; background-color: #005684 }' + '#portalslist .filterEnl { margin-top: 10px; background-color: #017f01 }' + '#portalslist .disclaimer { margin-top: 10px; font-size:10px; }' + - '#portalslist .portalTitle { display: inline-block; width: 160px !important; min-width: 160px !important; max-width: 160px !important; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }' + + '#portalslist .portalTitle { display: inline-block; width: 240px !important; min-width: 240px !important; max-width: 160px !important; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }' + ''); // Setup sorting $(document).on('click.portalslist', '#portalslist table th', function() { From 045ec1b75541b53a866e0ea7a43af72d20a3a50b Mon Sep 17 00:00:00 2001 From: Jon Atkins Date: Sat, 14 Dec 2013 20:08:29 +0000 Subject: [PATCH 17/56] stock intel plugin to add the "I'd rather be using IITC" logo onto the map --- plugins/iitc-ditigal-bumper-sticker.user.js | 26 +++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 plugins/iitc-ditigal-bumper-sticker.user.js diff --git a/plugins/iitc-ditigal-bumper-sticker.user.js b/plugins/iitc-ditigal-bumper-sticker.user.js new file mode 100644 index 00000000..c30e5099 --- /dev/null +++ b/plugins/iitc-ditigal-bumper-sticker.user.js @@ -0,0 +1,26 @@ +// ==UserScript== +// @id iitc-plugin-portals-list@teo96 +// @name IITC Digital Bumper Sticker +// @category Stock +// @version 0.1.0 +// @namespace https://github.com/jonatkins/ingress-intel-total-conversion +// @updateURL @@UPDATEURL@@ +// @downloadURL @@DOWNLOADURL@@ +// @description [@@BUILDNAME@@-@@BUILDDATE@@] Adds a "I'd rather be using IITC" logo to the standard intel map. +// @include https://www.ingress.com/intel* +// @include http://www.ingress.com/intel* +// @match https://www.ingress.com/intel* +// @match http://www.ingress.com/intel* +// @grant none +// ==/UserScript== + +var logoDiv = document.createElement('div'); +logoDiv.setAttribute('style', "position: fixed; left: 30px; top: 130px; z-index: 100; pointer-events: none;"); + +var img = document.createElement('img'); +img.setAttribute('src', 'http://iitc.jonatkins.com/assets/img/prefer-iitc-small.png'); + +logoDiv.appendChild(img); + +var targetContainer = document.getElementById('dashboard_container'); +targetContainer.appendChild(logoDiv); From bc8c5ee29bca22fa465ff26c7bda24c5854f0a6c Mon Sep 17 00:00:00 2001 From: Jon Atkins Date: Sat, 14 Dec 2013 20:10:57 +0000 Subject: [PATCH 18/56] logos for iitc-digital-bumper-sticker plugin --- website/assets/img/prefer-iitc-small.png | Bin 0 -> 29809 bytes website/assets/img/prefer-iitc.png | Bin 0 -> 64467 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100755 website/assets/img/prefer-iitc-small.png create mode 100755 website/assets/img/prefer-iitc.png diff --git a/website/assets/img/prefer-iitc-small.png b/website/assets/img/prefer-iitc-small.png new file mode 100755 index 0000000000000000000000000000000000000000..21b36023f459108a3572059a7ed75342fb6218b8 GIT binary patch literal 29809 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

P$l1V)1{Jd!%EDDQMUYfqX_ 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 literal 0 HcmV?d00001 diff --git a/website/assets/img/prefer-iitc.png b/website/assets/img/prefer-iitc.png new file mode 100755 index 0000000000000000000000000000000000000000..5c6dc04767e7bb4cf57b9a013499896f2618579b GIT binary patch literal 64467 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%0D#yz!Q`hb0GvK4 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 A_y7O^ literal 0 HcmV?d00001 From 9cd1940ef3a8587549a50feabbedf6c3cb938533 Mon Sep 17 00:00:00 2001 From: Jon Atkins Date: Sun, 15 Dec 2013 02:38:57 +0000 Subject: [PATCH 19/56] digital bumper sticker - use smaller logo, fine tune position - change z-index so it doesn't cover up the detailed AP tooltip --- plugins/iitc-ditigal-bumper-sticker.user.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/iitc-ditigal-bumper-sticker.user.js b/plugins/iitc-ditigal-bumper-sticker.user.js index c30e5099..d2ceb91d 100644 --- a/plugins/iitc-ditigal-bumper-sticker.user.js +++ b/plugins/iitc-ditigal-bumper-sticker.user.js @@ -1,8 +1,8 @@ // ==UserScript== -// @id iitc-plugin-portals-list@teo96 +// @id iitc-digital-bumper-sticker // @name IITC Digital Bumper Sticker // @category Stock -// @version 0.1.0 +// @version 0.1.0.@@DATETIMEVERSION@@ // @namespace https://github.com/jonatkins/ingress-intel-total-conversion // @updateURL @@UPDATEURL@@ // @downloadURL @@DOWNLOADURL@@ @@ -15,10 +15,10 @@ // ==/UserScript== var logoDiv = document.createElement('div'); -logoDiv.setAttribute('style', "position: fixed; left: 30px; top: 130px; z-index: 100; pointer-events: none;"); +logoDiv.setAttribute('style', "position: fixed; left: 20px; top: 130px; z-index: auto; pointer-events: none;"); var img = document.createElement('img'); -img.setAttribute('src', 'http://iitc.jonatkins.com/assets/img/prefer-iitc-small.png'); +img.setAttribute('src', 'http://iitc.jonatkins.com/assets/img/prefer-iitc-200.png'); logoDiv.appendChild(img); From 763adda4aff9c0f8afb9237274fa3468d51d84b8 Mon Sep 17 00:00:00 2001 From: Jon Atkins Date: Sun, 15 Dec 2013 02:48:39 +0000 Subject: [PATCH 20/56] updated assets for iitc digital bumper sticker --- website/assets/img/prefer-iitc-200.png | Bin 0 -> 20066 bytes website/assets/img/prefer-iitc-205.png | Bin 0 -> 21537 bytes ...refer-iitc-small.png => prefer-iitc-256.png} | Bin .../{prefer-iitc.png => prefer-iitc-512.png} | Bin 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 website/assets/img/prefer-iitc-200.png create mode 100644 website/assets/img/prefer-iitc-205.png rename website/assets/img/{prefer-iitc-small.png => prefer-iitc-256.png} (100%) mode change 100755 => 100644 rename website/assets/img/{prefer-iitc.png => prefer-iitc-512.png} (100%) mode change 100755 => 100644 diff --git a/website/assets/img/prefer-iitc-200.png b/website/assets/img/prefer-iitc-200.png new file mode 100644 index 0000000000000000000000000000000000000000..3732c76fdbcb224934fa2efcf1764db2b235daf9 GIT binary patch literal 20066 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 JPDHLkV1nugo!0;W literal 0 HcmV?d00001 diff --git a/website/assets/img/prefer-iitc-205.png b/website/assets/img/prefer-iitc-205.png new file mode 100644 index 0000000000000000000000000000000000000000..657ccb77b8bdc56b19a61d99dfe92ba36aca78b5 GIT binary patch literal 21537 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 Y08>Hb<~S$tTL1t607*qoM6N<$f==y>vj6}9 literal 0 HcmV?d00001 diff --git a/website/assets/img/prefer-iitc-small.png b/website/assets/img/prefer-iitc-256.png old mode 100755 new mode 100644 similarity index 100% rename from website/assets/img/prefer-iitc-small.png rename to website/assets/img/prefer-iitc-256.png diff --git a/website/assets/img/prefer-iitc.png b/website/assets/img/prefer-iitc-512.png old mode 100755 new mode 100644 similarity index 100% rename from website/assets/img/prefer-iitc.png rename to website/assets/img/prefer-iitc-512.png From f69fd980b78c26a5ee5ad2f2db3810eacdd0fcb2 Mon Sep 17 00:00:00 2001 From: Jon Atkins Date: Sun, 15 Dec 2013 05:01:13 +0000 Subject: [PATCH 21/56] psd source for "I'd rather be using IITC" logo --- assets/prefer-iitc.psd | Bin 0 -> 383968 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/prefer-iitc.psd diff --git a/assets/prefer-iitc.psd b/assets/prefer-iitc.psd new file mode 100644 index 0000000000000000000000000000000000000000..bf0e1424fbe9a62a41d225b238c049455f5ba88e GIT binary patch literal 383968 zcmeFa2S8KF_CG$k^e#mt)QAN|Apu0OA|Opbs=Y!8MM8o}P}Eh{UDw{bV(+~JcI>+L zj*8e(M65I^$^D^;#%WVuL(W8Gty$&DI5_aj+2*@IEc%CC8Iliak zK+iB%SehRvDLH6@fD=8TUkrOf3cG8(qjxX;9vR&-Qqxj7qF6>oDwikhmeJEOHl82H z=>}m;W;!w`h$y9}qYsW?3<`^2`0)iChNr8$3!BAqV|4a#b@S-j$)jsWhC9oR#l-*a zE-bHZojkjFuo$vG$6opn>LG|v=oZx{Kz2De>*<&z5~X!xGRKV@=Q_^Al`lwSx^?Z^ zmC15vy1Tmo!bLcqCyLE*;R#zwGm+=hha+SQlG8-Vd>#Ym8ym+@7xi>>#1~Th$;y?Q zrnnGK=t`B*mCa9OX2hm3-CS8rMb4102gszGpMVo9;tOK~ZBEB$*pT_X# za#A@wk&xjANf`r^dGY*l!XC_q$&`F3bL8}i6>)ljoIG4WNN$~C+(1rUyLogTqLN+; zYLGk(sv|yD6#FL`)Ppt5f*+rpF#gXnP=aL1doZzdRisT-B^Fcz`k&Q8np}d7*M%bb z`x;S1b&KI-h(cq>a|A*;7t*Sxc=3%*tWT9Q$xWtsON$iN#-K{M|1e8jjwWVFK^tZ% ztrTu@{qjnw^~IpdVx!ViDXkx$%NK<4<2k)NRFf&mN;Xtd1^f9$2>1!fTuv`xRG=>- z*x#?STi4E=UEE#WRI^dR{nM%y&sOMETDpKsnUQ!llOt=Xpiyr1+ju;?TLNE@8Y}7* zo0i5+X2)VP!W_$sml+2|wf0~tq5m}3U@^kN6pS}&m{L=jjTtnd$bT%@I+^WkG^G$L zI#aIa{$s&nDGexAa_Z{cf_XwwERW3z?$ZkhuF1*q-B|u!U47iU_yn*zck=gebMy7{ z@#^E&#n<1jO8``?A7!e-!c>#0=!G=fK74jMHj=Vz7`RkEct zBT_)}U#Yb3lKwdVaY-EB4|*wSE)?L$>4p3R(YROv$0rd~psD?*H0SzB8(!j%%wGMf zkt=C~s%*S7lTyJk0iTGeaEiXGXhk*rlYxds{3r8P`XO_7oUqZXG!6io@J#nlukDKKhrDMZnffLdHlk&*(V7MDU4O$n&Q)f6cyFluor zMA4LhT3k($k^-X^mqHXx38=-@6e%e%YH=w<(UgE%TuqUZ0;3j}LKIC2sKwP3DJd{& zaVbR6lz>`XO_7oUqZXG!6io@J#nlukDKKhrDMZnffLdHlk&*(V7MDU4O$n&Q)f6cy zFluorMA4LhT3k($k^-X^mqHXx38=-@6e%e%YH=w<(UgE%TuqUZ0;3j}LKIC2sKwP3 zDJd{&aVbR6lz>`XO_7oUqZXG!6io@J#nlukDKKhrDMZnfz#ocBU%AbY!-Ktr<6sjZ zwF|KuwJC8ieB)h;(jAQkX@X>)C_G)1mM#LK7KZq71<@Q{da68(e__XvAN~#Ii8%5& z9L6-jQ`oRHUv3<1#ltz9Q29nDXJEK*vIx^LR(d^-0B_cc@gEceBn+qc>y81mgYc!~ z&rF5CaB3H!5aP`+(l1TKlV=M�eB9QHjDZ#fhJQ=chd3iIgXyaa^GyreC6Htm4E! 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�`E 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 kV_jYTxViA9j#DT Date: Sun, 15 Dec 2013 06:08:54 +0000 Subject: [PATCH 22/56] work-around for mobile-specific geodesic line drawing issue - appears to be an odd rounding problem not ideal, but better than the current situation --- external/L.Geodesic.js | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/external/L.Geodesic.js b/external/L.Geodesic.js index 8a6ef59e..6313db95 100644 --- a/external/L.Geodesic.js +++ b/external/L.Geodesic.js @@ -58,19 +58,23 @@ Modified by qnstie 2013-07-17 to maintain compatibility with Leaflet.draw // loop ends before 'segments' is reached - we don't add the very last point here but outside the loop // (this was to fix a bug - https://github.com/jonatkins/ingress-intel-total-conversion/issues/471 // rounding errors? maths bug? not sure - but it solves the issue! and is a slight optimisation) - for (i = 1; i < segments; i++) { - // http://williams.best.vwh.net/avform.htm#Intermediate - // modified to handle longitude above +-180 degrees - f = i / segments; - A = Math.sin((1-f)*d) / Math.sin(d); - B = Math.sin(f*d) / Math.sin(d); - x = A * Math.cos(lat1) * Math.cos(0) + B * Math.cos(lat2) * Math.cos(dLng); - y = A * Math.cos(lat1) * Math.sin(0) + B * Math.cos(lat2) * Math.sin(dLng); - z = A * Math.sin(lat1) + B * Math.sin(lat2); - fLat = r2d * Math.atan2(z, Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2))); - fLng = r2d * (Math.atan2(y, x)+lng1); + // UPDATE: there still seem to be rounding errors on relatively short links - but only on mobile. + // let's only add intermediate points if there's two or more + if (segments >= 3) { + for (i = 1; i < segments; i++) { + // http://williams.best.vwh.net/avform.htm#Intermediate + // modified to handle longitude above +-180 degrees + f = i / segments; + A = Math.sin((1-f)*d) / Math.sin(d); + B = Math.sin(f*d) / Math.sin(d); + x = A * Math.cos(lat1) * Math.cos(0) + B * Math.cos(lat2) * Math.cos(dLng); + y = A * Math.cos(lat1) * Math.sin(0) + B * Math.cos(lat2) * Math.sin(dLng); + z = A * Math.sin(lat1) + B * Math.sin(lat2); + fLat = r2d * Math.atan2(z, Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2))); + fLng = r2d * (Math.atan2(y, x)+lng1); - convertedPoints.push(L.latLng([fLat, fLng])); + convertedPoints.push(L.latLng([fLat, fLng])); + } } // push the final point unmodified convertedPoints.push(L.latLng(endLatlng)); From 9db491c281a974e092c6e927133034b9c032ae62 Mon Sep 17 00:00:00 2001 From: fkloft Date: Fri, 13 Dec 2013 00:12:18 +0100 Subject: [PATCH 23/56] mobile: show portal counts in nav drawer --- .../drawable-hdpi/ic_action_data_usage.png | Bin 0 -> 633 bytes .../drawable-mdpi/ic_action_data_usage.png | Bin 0 -> 464 bytes .../drawable-xhdpi/ic_action_data_usage.png | Bin 0 -> 848 bytes .../drawable-xxhdpi/ic_action_data_usage.png | Bin 0 -> 1293 bytes plugins/portal-counts.user.js | 55 +++++++++++++----- 5 files changed, 39 insertions(+), 16 deletions(-) create mode 100644 mobile/res/drawable-hdpi/ic_action_data_usage.png create mode 100644 mobile/res/drawable-mdpi/ic_action_data_usage.png create mode 100644 mobile/res/drawable-xhdpi/ic_action_data_usage.png create mode 100644 mobile/res/drawable-xxhdpi/ic_action_data_usage.png diff --git a/mobile/res/drawable-hdpi/ic_action_data_usage.png b/mobile/res/drawable-hdpi/ic_action_data_usage.png new file mode 100644 index 0000000000000000000000000000000000000000..f0f83a027be2d4b1fd1a607a8980af3cb2c1d08e GIT binary patch literal 633 zcmV-<0*3vGP)k7X-j?Giuy?y)0RL7eGto{e!I+L%5d;S|1axwb3>jL%`=)HI%O z95^k`wWGPGC14nj+rRG_TQTMhY3}I=kk9KbvF`OxzS4xWhCBgM8x^n^bSe5SJbw|E z_Jr0F-+_$^SaciodGvh>U}biS~3lOc#{O|czVD!KbdZKl9dl0eLqMUh>Q zBoJx`&Rhs338(|6nUO#sNkHL%=>fE4%&9pA#+<~cI^T@(#gqh|nB!O6gbT(OB#G-= z?m){4tPT=e=uXVfT1f&*eWKBM`!5NOiq(&mYFTKE9GN2YO}V-pVRl?F`VLM0WbcEP)C7PrOwd-!1D~VD@&$Xiu*F^sp5KKywez5z1X(1Hfc`49TZ{EF23;!*J!RWx}8-fbS{P-$4<&IRs^g8KD$oo#DIA1 z=LE)UXxTqMILENI{EG`o%W=``c=0YIzkMZ3k|fDRfB^tyQ`X?bm6sd<0000=C{SO;p0a5|ZU%@%c3l6N!`F{e`7R$Y^g*BHa0Gced{Y--0 zD*^W-9)Gr6mewk<_Tm<>Go0CTx6em<`N)BU-J%4*;hCoR6>L_7&HxqDeD(sx@fY8RA(OIpAuhi9qSQBn%*sIf{} zLE`!Rz+wR>SK&1h_S!)zcmi76nEMV1j|?QVJ_(4p%2EaiZRiB(@jsivDhme^8s7x0 zxur*ysDP6Vj{vl*I_H<5zCQ;E+lisIwrQo=MuDUDd6w{nb4D?Ngrm1Gh{{W&SwXHl zMm2UEB{7ijFvj$4+h#6#fL;m8mB3VxATNGEq2$D53C)PQgLPHPsWmpx2PAysY;D7u zeyY)T@N()G-Z*Nf>r(0X-s1Xi6Q|IBzI>p5@&3RxWygz zfFqOw00000000000000000000004kCBMSWiUteE`^f97#Mr|P94G<} zu;nmR3kkiNjn77(RG0)^==!%1DbL(|50IGum}h)4{M-VuD@Tu>%HT+w?g6HlKNNDx zj~=&SVlNh&8-hfs3=ed0s=~%l`p`TAB*~iQBtBV}4xNCvXOzA)&I1-XF_qVOCe-fb zx=)?EYyb(1MiC%uJGwk%shLW<7a~~uUp0V$f%GYS6=YC7y!yB>{QVd9hO%md{{N3B z5}c?a7alOyjL#2zcRy2t3&VwXC)@43Sz9DXc+n9`PF4Wod06klbReLcCk$|%f5pWhF z0lNB0T1>zoL;^-yf`t%NQzDj~lz}7o(ey}FCh}J zbCoTYB*A6gu?s!~)k#1`p1L9-ybvVGRaTGpZExS5_&lkQU_0+fZ6=boRnS(uzNpg$ zgoJC$iP|<~8M@J~$5jh(EqSKRY-GX6 zfhW#e%Y6%yfVDmuOB~JxmnQlmNV4U!B&06#i=Kl{?%#CO=Yo-DcveZQ*OxwPhlGSO zhICTl=j;`woEPYLZkT1}h5eiHw_+4;kb>Y}s`x$v$9^Ye^ezeD5x>ky;Xh|O&YJpL z9dm+|n-?uPpS#-QcDWiF=Y*nxHtK4t8nv$TT?!sLe+3N$UXYTqLdLBBN8b}z?2wYZ?pge-Bl)uPto4nJ@xe+~2 zBh9oNz#(8&Ve{rvTG{aPm_vZqqY4^(Sclw?OH%%xA`wM`epmSmh29VA@L86!_k@W- zeenBNk1P+1ge6((=D!;h2}6?jU5WnBGkzkXz-s|nlMifKsP~uVj0Y}d4gee' + counts + '', - title: 'Portal counts: ' + total + ' ' + (total == 1 ? 'portal' : 'portals'), - }); + var title = total + ' ' + (total == 1 ? 'portal' : 'portals'); + + if(typeof android !== 'undefined' && android && android.addPane) { + $('

' + + '
' + title + '
' + + counts + + '
').appendTo(document.body); + } else { + dialog({ + html: '
' + counts + '
', + title: 'Portal counts: ' + title, + }); + } } +window.plugin.portalcounts.onPaneChanged = function(pane) { + if(pane == "plugin-portalcounts") + window.plugin.portalcounts.getPortals(); + else + $("#portalcounts").remove() +}; + var setup = function() { - $('#toolbox').append(' Portal counts'); + if(typeof android !== 'undefined' && android && android.addPane) { + android.addPane("plugin-portalcounts", "Portal counts", "ic_action_data_usage"); + addHook("paneChanged", window.plugin.portalcounts.onPaneChanged); + } else { + $('#toolbox').append(' Portal counts'); + } + $('head').append(''); From 99f7e714cd1f2fcd7f57786fde6295fda28787ee Mon Sep 17 00:00:00 2001 From: fkloft Date: Sun, 15 Dec 2013 16:36:38 +0100 Subject: [PATCH 25/56] portal-counts: Some fixes for mobile --- plugins/portal-counts.user.js | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/plugins/portal-counts.user.js b/plugins/portal-counts.user.js index 47fb7ae6..60a41ec9 100644 --- a/plugins/portal-counts.user.js +++ b/plugins/portal-counts.user.js @@ -44,7 +44,7 @@ window.plugin.portalcounts = { }; //count portals for each level available on the map -window.plugin.portalcounts.getPortals = function(){ +window.plugin.portalcounts.getPortals = function (){ //console.log('** getPortals'); var self = window.plugin.portalcounts; var displayBounds = map.getBounds(); @@ -104,7 +104,7 @@ window.plugin.portalcounts.getPortals = function(){ counts += self.neuP; counts += ''; - var svg = $('').css("padding-top", 10); + var svg = $('').css("margin-top", 10); var all = self.PortalsRes.map(function(val,i){return val+self.PortalsEnl[i]}); all[0] = self.neuP; @@ -177,10 +177,9 @@ window.plugin.portalcounts.getPortals = function(){ .appendTo(g); } - counts += svg[0].outerHTML; + counts += $("
").append(svg).html(); } else counts += '

No Portals in range!

'; - counts += ''; var total = self.enlP + self.resP + self.neuP; var title = total + ' ' + (total == 1 ? 'portal' : 'portals'); @@ -248,6 +247,10 @@ window.plugin.portalcounts.makePie = function(startAngle, endAngle, color) { var p2x = Math.sin(endAngle * 2 * Math.PI) * self.RADIUS_INNER; var p2y = Math.cos(endAngle * 2 * Math.PI) * self.RADIUS_INNER; + // for a full circle, both coordinates would be identical, so no circle would be drawn + if(startAngle == 0.5 && endAngle == -0.5) + p2x -= 1E-5; + return $("") .attr({ fill: color, @@ -271,6 +274,12 @@ window.plugin.portalcounts.makeRing = function(startAngle, endAngle, color) { var p4x = Math.sin(startAngle * 2 * Math.PI) * self.RADIUS_INNER; var p4y = Math.cos(startAngle * 2 * Math.PI) * self.RADIUS_INNER; + // for a full circle, both coordinates would be identical, so no circle would be drawn + if(startAngle == 0.5 && endAngle == -0.5) { + p2x -= 1E-5; + p3x -= 1E-5; + } + return $("") .attr({ fill: color, @@ -306,7 +315,7 @@ var setup = function() { } $('head').append(''); + // Setup sorting - $(document).on('click.portalslist', '#portalslist table th', function() { + $(document).on('click.portalslist', '#portalslist table th.sortable', function() { $('#portalslist').html(window.plugin.portalslist.portalTable($(this).data('sort'),window.plugin.portalslist.sortOrder,window.plugin.portalslist.filter)); }); + $(document).on('click.portalslist', '#portalslist .filterAll', function() { $('#portalslist').html(window.plugin.portalslist.portalTable($(this).data('sort'),window.plugin.portalslist.sortOrder,0)); }); From dd0895e0c9f47ee370fafd2d4ed2064d40f84465 Mon Sep 17 00:00:00 2001 From: Jon Atkins Date: Tue, 17 Dec 2013 03:52:12 +0000 Subject: [PATCH 33/56] tweaks to the request/retry settings --- code/map_data_request.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/code/map_data_request.js b/code/map_data_request.js index 9c4f52be..1326d852 100644 --- a/code/map_data_request.js +++ b/code/map_data_request.js @@ -16,8 +16,9 @@ window.MapDataRequest = function() { // no more than this many requests in parallel. stock site seems to rely on browser limits (6, usually), sending - // all requests at once. using our own queue limit ensures that other requests (e.g. chat) don't get postponed for too long - this.MAX_REQUESTS = 6; + // many requests at once. + // using our own queue limit ensures that other requests (e.g. chat, portal details) don't get delayed + this.MAX_REQUESTS = 5; // no more than this many tiles in one request // as of 2013-11-11, or possibly the release before that, the stock site was changed to only request four tiles at a time @@ -28,7 +29,7 @@ window.MapDataRequest = function() { this.MIN_TILES_PER_REQUEST = 4; // number of times to retry a tile after a 'bad' error (i.e. not a timeout) - this.MAX_TILE_RETRIES = 1; + this.MAX_TILE_RETRIES = 2; // refresh timers this.MOVE_REFRESH = 1; //time, after a map move (pan/zoom) before starting the refresh processing From b52f71282de1ded425c38949bb5d131ee9e566fa Mon Sep 17 00:00:00 2001 From: Jon Atkins Date: Tue, 17 Dec 2013 06:05:36 +0000 Subject: [PATCH 34/56] portals-list: more cleanups - columns have a default sort order which is always used when first selecting one - a second select toggles the order - display '-' instead of '0' for no links/fields (any suggestions for resonator count, to make botu '8' and '0' visibly distinct?) - pre-convert portal names to lower case, to avoid ecxessive conversion in soting --- plugins/portals-list.user.js | 78 ++++++++++++++++++++---------------- 1 file changed, 44 insertions(+), 34 deletions(-) diff --git a/plugins/portals-list.user.js b/plugins/portals-list.user.js index 70e4a62c..50e9c8b3 100644 --- a/plugins/portals-list.user.js +++ b/plugins/portals-list.user.js @@ -45,7 +45,8 @@ window.plugin.portalslist = function() {}; window.plugin.portalslist.listPortals = []; -window.plugin.portalslist.sortOrder=-1; +window.plugin.portalslist.sortBy = 'level'; +window.plugin.portalslist.sortOrder = -1; window.plugin.portalslist.enlP = 0; window.plugin.portalslist.resP = 0; window.plugin.portalslist.filter = 0; @@ -66,7 +67,7 @@ window.plugin.portalslist.getPortals = function() { var d = portal.options.data; var teamN = portal.options.team; - switch (teamN){ + switch (teamN) { case TEAM_RES: window.plugin.portalslist.resP++; break; @@ -82,6 +83,7 @@ window.plugin.portalslist.getPortals = function() { 'guid': i, 'teamN': teamN, 'name': d.title, + 'nameLower': d.title.toLowerCase(), 'team': d.team, 'level': portal.options.level, 'health': d.health, @@ -100,12 +102,14 @@ window.plugin.portalslist.getPortals = function() { window.plugin.portalslist.displayPL = function() { var html = ''; - window.plugin.portalslist.sortOrder=-1; + window.plugin.portalslist.sortBy = 'level'; + window.plugin.portalslist.sortOrder = -1; window.plugin.portalslist.enlP = 0; window.plugin.portalslist.resP = 0; + window.plugin.portalslist.filter = 0; if (window.plugin.portalslist.getPortals()) { - html += window.plugin.portalslist.portalTable('level', window.plugin.portalslist.sortOrder,window.plugin.portalslist.filter); + html += window.plugin.portalslist.portalTable(window.plugin.portalslist.sortBy, window.plugin.portalslist.sortOrder,window.plugin.portalslist.filter); } else { html = '
Nothing to show!
'; }; @@ -124,26 +128,31 @@ window.plugin.portalslist.displayPL = function() { } window.plugin.portalslist.portalTable = function(sortBy, sortOrder, filter) { - // sortOrder <0 ==> desc, >0 ==> asc, i use sortOrder * -1 to change the state - window.plugin.portalslist.filter=filter; + // save the sortBy/sortOrder/filter + window.plugin.portalslist.sortBy = sortBy; + window.plugin.portalslist.sortOrder = sortOrder; + window.plugin.portalslist.filter = filter; + var portals=window.plugin.portalslist.listPortals; //Array sort window.plugin.portalslist.listPortals.sort(function(a, b) { var retVal = 0; - switch (sortBy) { - case 'names': - retVal = a.name.toLowerCase() < b.name.toLowerCase() ? -1 : 1; - break; - default: - retVal = b[sortBy] - a[sortBy]; - break; + + var aComp = a[sortBy]; + var bComp = b[sortBy]; + + if (aComp < bComp) { + retVal = -1; + } else if (aComp > bComp) { + retVal = 1; + } else { + // equal - compare GUIDs to ensure consistant (but arbitary) order + retVal = a.guid < b.guid ? -1 : 1; } - // break sort ties by comparing guids - ensures consistant sort order - if (retVal == 0) retVal = a.guid < b.guid ? -1 : 1; - - if (sortOrder > 0) retVal = -retVal; //thx @jonatkins + // sortOrder is 1 (normal) or -1 (reversed) + retVal = retVal * sortOrder; return retVal; }); @@ -152,13 +161,13 @@ window.plugin.portalslist.portalTable = function(sortBy, sortOrder, filter) { html += '' + '' + '' - + '' - + '' - + '' - + '' - + '' - + '' - + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' var rowNum = 1; @@ -173,8 +182,8 @@ window.plugin.portalslist.portalTable = function(sortBy, sortOrder, filter) { html += '' + '' - + '' - + ''; + + '' + + ''; html+= ''; @@ -184,10 +193,8 @@ window.plugin.portalslist.portalTable = function(sortBy, sortOrder, filter) { html += '
#PortalLevelTeamHealthResonatorsLinksFieldsPortal NameLevelTeamHealthResonatorsLinksFields' + portal.health + '' + portal.resCount + '' + portal.linkCount + '' + portal.fieldCount + '' + (portal.linkCount?portal.linkCount:'-') + '' + (portal.fieldCount?portal.fieldCount:'-') + '
'; html += '
Click on portals table headers to sort by that column. ' - + 'Click on All Portals, Resistance Portals, Enlightened Portals to filter
' - + 'Thanks to @vita10gy & @xelio for their IITC plugins who inspired me. A @teo96 production. Vive la Résistance !
'; + + 'Click on All Portals, Resistance Portals, Enlightened Portals to filter
'; - window.plugin.portalslist.sortOrder = window.plugin.portalslist.sortOrder*-1; return html; } @@ -204,7 +211,7 @@ window.plugin.portalslist.stats = function(sortBy) { // A little helper function so the above isn't so messy window.plugin.portalslist.portalTableHeaderSortAttr = function(name, by, defOrder, extraClass) { // data-sort attr: used by jquery .data('sort') below - var retVal = 'data-sort="' + name + '" class="'+(extraClass?extraClass+' ':'')+'sortable'+(name==by?' sorted':'')+'"'; + var retVal = 'data-sort="'+name+'" data-defaultorder="'+defOrder+'" class="'+(extraClass?extraClass+' ':'')+'sortable'+(name==by?' sorted':'')+'"'; return retVal; }; @@ -270,17 +277,20 @@ var setup = function() { // Setup sorting $(document).on('click.portalslist', '#portalslist table th.sortable', function() { - $('#portalslist').html(window.plugin.portalslist.portalTable($(this).data('sort'),window.plugin.portalslist.sortOrder,window.plugin.portalslist.filter)); + var sortBy = $(this).data('sort'); + // if this is the currently selected column, toggle the sort order - otherwise use the columns default sort order + var sortOrder = sortBy == window.plugin.portalslist.sortBy ? window.plugin.portalslist.sortOrder*-1 : parseInt($(this).data('defaultorder')); + $('#portalslist').html(window.plugin.portalslist.portalTable(sortBy,sortOrder,window.plugin.portalslist.filter)); }); $(document).on('click.portalslist', '#portalslist .filterAll', function() { - $('#portalslist').html(window.plugin.portalslist.portalTable($(this).data('sort'),window.plugin.portalslist.sortOrder,0)); + $('#portalslist').html(window.plugin.portalslist.portalTable(window.plugin.portalslist.sortBy,window.plugin.portalslist.sortOrder,0)); }); $(document).on('click.portalslist', '#portalslist .filterRes', function() { - $('#portalslist').html(window.plugin.portalslist.portalTable($(this).data('sort'),window.plugin.portalslist.sortOrder,1)); + $('#portalslist').html(window.plugin.portalslist.portalTable(window.plugin.portalslist.sortBy,window.plugin.portalslist.sortOrder,1)); }); $(document).on('click.portalslist', '#portalslist .filterEnl', function() { - $('#portalslist').html(window.plugin.portalslist.portalTable($(this).data('sort'),window.plugin.portalslist.sortOrder,2)); + $('#portalslist').html(window.plugin.portalslist.portalTable(window.plugin.portalslist.sortBy,window.plugin.portalslist.sortOrder,2)); }); } From b1198727b4fb821d934dac3bd904d59ac194b082 Mon Sep 17 00:00:00 2001 From: nexushoratio Date: Sat, 14 Dec 2013 20:17:31 -0800 Subject: [PATCH 35/56] Return to old user experience of clicking on portal link replaces current page. Rationale: Users have several options of opening a link in a new tab/window without the target, whereas with the target, users have no option of reusing the same window. --- code/portal_detail_display.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/portal_detail_display.js b/code/portal_detail_display.js index 9c26ea59..53a54b99 100644 --- a/code/portal_detail_display.js +++ b/code/portal_detail_display.js @@ -109,7 +109,7 @@ window.renderPortalDetails = function(guid) { } else { // non-android - a permalink for the portal - var permaHtml = $('
').html( $('').attr({href:permalinkUrl, target:'_blank', title:'Create a URL link to this portal'}).text('Portal link') ).html(); + var permaHtml = $('
').html( $('').attr({href:permalinkUrl, title:'Create a URL link to this portal'}).text('Portal link') ).html(); linkDetails.push ( '' ); // and a map link popup dialog From ce2ecf90f3c7b4ddae0d145c7bf84988b321be03 Mon Sep 17 00:00:00 2001 From: Jon Atkins Date: Tue, 17 Dec 2013 08:18:06 +0000 Subject: [PATCH 36/56] si8debar fixes: - ensure consistant display based on portal details, by creating portal summary data from details - pass field count into AP calculation, for accurate destroy amounts - use portal.options.level, so unclaimed appear as zero --- code/portal_detail_display.js | 15 +++++++++++---- code/portal_info.js | 35 ++++++++++++++++++++++++++++++----- 2 files changed, 41 insertions(+), 9 deletions(-) diff --git a/code/portal_detail_display.js b/code/portal_detail_display.js index 53a54b99..4fc9cd9b 100644 --- a/code/portal_detail_display.js +++ b/code/portal_detail_display.js @@ -26,6 +26,11 @@ window.renderPortalDetails = function(guid) { var data = portal.options.data; var details = portalDetail.get(guid); + // details and data can get out of sync. if we have details, construct a matching 'data' + if (details) { + data = getPortalSummaryData(details); + } + var modDetails = details ? '
'+getModDetails(details)+'
' : ''; var miscDetails = details ? getPortalMiscDetails(guid,details) : ''; @@ -78,8 +83,8 @@ window.renderPortalDetails = function(guid) { } // portal level. start with basic data - then extend with fractional info in tooltip if available - var levelInt = data ? data.level : getPortalLevel(details); - var levelDetails = data.level; + var levelInt = portal.options.level; + var levelDetails = portal.options.level; if (details) { levelDetails = getPortalLevel(details); if(levelDetails != 8) { @@ -178,7 +183,9 @@ window.getPortalMiscDetails = function(guid,d) { : null; var sinceText = time ? ['since', time] : null; - var linkedFields = ['fields', getPortalFields(guid).length]; + var fieldCount = getPortalFieldsCount(guid); + + var linkedFields = ['fields', fieldCount]; // collect and html-ify random data var randDetailsData = []; @@ -189,7 +196,7 @@ window.getPortalMiscDetails = function(guid,d) { randDetailsData.push ( getRangeText(d), getEnergyText(d), linksText, getAvgResoDistText(d), - linkedFields, getAttackApGainText(d), + linkedFields, getAttackApGainText(d,fieldCount), getHackDetailsText(d), getMitigationText(d) ); diff --git a/code/portal_info.js b/code/portal_info.js index cd2af05e..69958823 100644 --- a/code/portal_info.js +++ b/code/portal_info.js @@ -100,11 +100,13 @@ window.getAvgResoDist = function(d) { return resos ? sum/resos : 0; } -window.getAttackApGain = function(d) { +window.getAttackApGain = function(d,fieldCount) { + if (!fieldCount) fieldCount = 0; + var resoCount = 0; var maxResonators = MAX_RESO_PER_PLAYER.slice(0); var curResonators = [ 0, 0, 0, 0, 0, 0, 0, 0, 0]; - + for(var n = PLAYER.level + 1; n < 9; n++) { maxResonators[n] = 0; } @@ -125,9 +127,6 @@ window.getAttackApGain = function(d) { var linkCount = d.portalV2.linkedEdges ? d.portalV2.linkedEdges.length : 0; -//FIXME: portalV2.linkedFields was never a piece of data from the server - it was something faked in IITC -//with the portal guid, window.getPortalFields will return the count of linked fields - but no guid passed into here - var fieldCount = d.portalV2.linkedFields ? d.portalV2.linkedFields.length : 0; var resoAp = resoCount * DESTROY_RESONATOR; var linkAp = linkCount * DESTROY_LINK; @@ -311,4 +310,30 @@ window.getPortalHackDetails = function(d) { return {cooldown: cooldownTime, hacks: numHacks, burnout: cooldownTime*(numHacks-1)}; } +// given a detailed portal structure, return summary portal data, as seen in the map tile data +window.getPortalSummaryData = function(d) { + // NOTE: the summary data reports unclaimed portals as level 1 - not zero as elsewhere in IITC + var level = d.controllingTeam.team == "NEUTRAL" ? 1 : parseInt(getPortalLevel(d)); + var resCount = 0; + if (d.resonatorArray && d.resonatorArray.resonators) { + for (var x in d.resonatorArray.resonators) { + if (d.resonatorArray.resonators[x]) resCount++; + } + } + var maxEnergy = getTotalPortalEnergy(d); + var curEnergy = getCurrentPortalEnergy(d); + var health = maxEnergy>0 ? parseInt(curEnergy/maxEnergy*100) : 0; + + return { + level: level, + title: d.portalV2.descriptiveText.TITLE, + image: d.imageByUrl && d.imageByUrl.imageUrl, + resCount: resCount, + latE6: d.locationE6.latE6, + health: health, + team: d.controllingTeam.team, + lngE6: d.locationE6.lngE6, + type: 'portal' + }; +} From bedd34d738a00e0c566901b4f93436e532333367 Mon Sep 17 00:00:00 2001 From: Jon Atkins Date: Tue, 17 Dec 2013 17:05:21 +0000 Subject: [PATCH 37/56] doh! daft bug fixes #705 --- code/portal_data.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/portal_data.js b/code/portal_data.js index 6afdf9b1..0caca9e1 100644 --- a/code/portal_data.js +++ b/code/portal_data.js @@ -22,7 +22,7 @@ window.getPortalLinks = function(guid) { } window.getPortalLinksCount = function(guid) { - var links = getPortalLinks(); + var links = getPortalLinks(guid); return links.in.length+links.out.length; } @@ -46,7 +46,7 @@ window.getPortalFields = function(guid) { } window.getPortalFieldsCount = function(guid) { - var fields = getPortalFields(); + var fields = getPortalFields(guid); return fields.length; } From 2e940000b407e853813061bed7b4235cc0847e34 Mon Sep 17 00:00:00 2001 From: fkloft Date: Tue, 17 Dec 2013 17:13:17 +0100 Subject: [PATCH 38/56] guess-player-levels: improved tooltip - include player nickname (in case the nickname is too long to be fully visible) - use level colors (similar to the player tracker tooltip) --- plugins/guess-player-levels.user.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/plugins/guess-player-levels.user.js b/plugins/guess-player-levels.user.js index 4e24bbc0..364caa16 100644 --- a/plugins/guess-player-levels.user.js +++ b/plugins/guess-player-levels.user.js @@ -86,13 +86,17 @@ window.plugin.guessPlayerLevels.setLevelTitle = function(dom) { var details = window.plugin.guessPlayerLevels.fetchLevelDetailsByPlayer(nick); - var text; + function getLevel(lvl) { + return ''+lvl+''; + } + + var text = '' + nick + '\n'; if(details.min == 8) - text = 'Player level: 8'; + text += 'Player level: ' + getLevel(8); else { - text = 'Min player level: ' + details.min; + text += 'Min player level: ' + getLevel(details.min); if(details.min != details.guessed) - text += '\nGuessed player level: ' + details.guessed; + text += '\nGuessed player level: ' + getLevel(details.guessed); } window.setupTooltips(el); From e5cb8254d59d2737392cef4daab627b1b988279b Mon Sep 17 00:00:00 2001 From: Jon Atkins Date: Tue, 17 Dec 2013 17:54:21 +0000 Subject: [PATCH 39/56] digital bumper sticker: fix so it doesn't cause JS errors when IITC is running --- plugins/iitc-ditigal-bumper-sticker.user.js | 23 ++++++++++++--------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/plugins/iitc-ditigal-bumper-sticker.user.js b/plugins/iitc-ditigal-bumper-sticker.user.js index d2ceb91d..489e39ae 100644 --- a/plugins/iitc-ditigal-bumper-sticker.user.js +++ b/plugins/iitc-ditigal-bumper-sticker.user.js @@ -2,7 +2,7 @@ // @id iitc-digital-bumper-sticker // @name IITC Digital Bumper Sticker // @category Stock -// @version 0.1.0.@@DATETIMEVERSION@@ +// @version 0.1.1.@@DATETIMEVERSION@@ // @namespace https://github.com/jonatkins/ingress-intel-total-conversion // @updateURL @@UPDATEURL@@ // @downloadURL @@DOWNLOADURL@@ @@ -14,13 +14,16 @@ // @grant none // ==/UserScript== -var logoDiv = document.createElement('div'); -logoDiv.setAttribute('style', "position: fixed; left: 20px; top: 130px; z-index: auto; pointer-events: none;"); - -var img = document.createElement('img'); -img.setAttribute('src', 'http://iitc.jonatkins.com/assets/img/prefer-iitc-200.png'); - -logoDiv.appendChild(img); - var targetContainer = document.getElementById('dashboard_container'); -targetContainer.appendChild(logoDiv); +if (targetContainer) { + + var logoDiv = document.createElement('div'); + logoDiv.setAttribute('style', "position: fixed; left: 20px; top: 130px; z-index: auto; pointer-events: none;"); + + var img = document.createElement('img'); + img.setAttribute('src', 'http://iitc.jonatkins.com/assets/img/prefer-iitc-200.png'); + + logoDiv.appendChild(img); + + targetContainer.appendChild(logoDiv); +} From 6839bf71e3ac17cdcd35d7ac138a5fc02e8c14f6 Mon Sep 17 00:00:00 2001 From: fkloft Date: Tue, 17 Dec 2013 23:05:50 +0100 Subject: [PATCH 40/56] mobile statusbar: update statusbar immediately on selection using reduced data, redraw when portal details available --- code/smartphone.js | 71 ++++++++++++++++++++++++++-------------------- 1 file changed, 41 insertions(+), 30 deletions(-) diff --git a/code/smartphone.js b/code/smartphone.js index 56e0c57c..71d599b7 100644 --- a/code/smartphone.js +++ b/code/smartphone.js @@ -66,40 +66,51 @@ window.runOnSmartphonesBeforeBoot = function() { } window.smartphoneInfo = function(data) { - var d = data.portalDetails; - var lvl = Math.floor(getPortalLevel(d)); - if(lvl == 0) - var t = 'L' + lvl + ''; + var guid = data.selectedPortalGuid; + if(!window.portals[guid]) return; + + var data = window.portals[selectedPortal].options.data; + var details = window.portalDetail.get(guid); + + var lvl = data.level; + if(data.team === "NEUTRAL") + var t = 'L0'; else var t = 'L' + lvl + ''; - var percentage = '0%'; - var totalEnergy = getTotalPortalEnergy(d); - if(getTotalPortalEnergy(d) > 0) { - percentage = Math.floor((getCurrentPortalEnergy(d) / getTotalPortalEnergy(d) * 100)) + '%'; + + var percentage = data.health; + if(details) { + var totalEnergy = getTotalPortalEnergy(details); + if(getTotalPortalEnergy(details) > 0) { + percentage = Math.floor(getCurrentPortalEnergy(details) / totalEnergy * 100); + } } - t += ' ' + percentage + ' '; - t += d.portalV2.descriptiveText.TITLE; + t += ' ' + percentage + '% '; + t += data.title; - var l,v,max,perc; - for(var i=0;i<8;i++) - { - var reso = d.resonatorArray.resonators[i]; - if(reso) { - l = parseInt(reso.level); - v = parseInt(reso.energyTotal); - max = RESO_NRG[l]; - perc = v/max*100; - } - else { - l = 0; - v = 0; - max = 0; - perc = 0; - } + if(details) { + var l,v,max,perc; + var className = TEAM_TO_CSS[getTeam(details)]; + for(var i=0;i<8;i++) + { + var reso = details.resonatorArray.resonators[i]; + if(reso) { + l = parseInt(reso.level); + v = parseInt(reso.energyTotal); + max = RESO_NRG[l]; + perc = v/max*100; + } + else { + l = 0; + v = 0; + max = 0; + perc = 0; + } - t += '
'; - t += '
'; - t += '
' + t += '
'; + t += '
'; + t += '
' + } } $('#mobileinfo').html(t); @@ -113,7 +124,7 @@ window.runOnSmartphonesAfterBoot = function() { // add a div/hook for updating mobile info $('#updatestatus').prepend('
'); - window.addHook('portalDetailsUpdated', window.smartphoneInfo); + window.addHook('portalSelected', window.smartphoneInfo); // init msg of status bar. hint for the user that a tap leads to the info screen $('#mobileinfo').html('
tap here for info screen
'); From 110c38a63ade43f69b193a24cd2a934fe588d0a2 Mon Sep 17 00:00:00 2001 From: fkloft Date: Wed, 18 Dec 2013 00:30:02 +0100 Subject: [PATCH 41/56] Show a little red dot on the northern resonator (details pane + mobile status bar) --- code/portal_detail_display_tools.js | 11 ++++++-- code/smartphone.js | 4 ++- mobile/smartphone.css | 14 ++++++++++ .../reso-energy-pct-in-portal-detail.user.js | 28 +++++++++---------- style.css | 23 +++++++++++++-- 5 files changed, 60 insertions(+), 20 deletions(-) diff --git a/code/portal_detail_display_tools.js b/code/portal_detail_display_tools.js index a2891067..431a013d 100644 --- a/code/portal_detail_display_tools.js +++ b/code/portal_detail_display_tools.js @@ -193,8 +193,13 @@ window.getResonatorDetails = function(d) { // slot: which slot this resonator occupies. Starts with 0 (east) and // rotates clockwise. So, last one is 7 (southeast). window.renderResonatorDetails = function(slot, level, nrg, dist, nick) { + if(OCTANTS[slot] === 'N') + var className = 'meter north'; + else + var className = 'meter'; + if(level === 0) { - var meter = ''; + var meter = ''; } else { var max = RESO_NRG[level]; var fillGrade = nrg/max*100; @@ -209,11 +214,11 @@ window.renderResonatorDetails = function(slot, level, nrg, dist, nick) { var color = (level < 3 ? "#9900FF" : "#FFFFFF"); - var lbar = ' ' + level + ' '; + var lbar = ' L ' + level + ' '; var fill = ''; - var meter = '' + fill + lbar + ''; + var meter = '' + fill + lbar + ''; } nick = nick ? ''+nick+'' : null; return [meter, nick || '']; diff --git a/code/smartphone.js b/code/smartphone.js index 71d599b7..fdd03214 100644 --- a/code/smartphone.js +++ b/code/smartphone.js @@ -90,9 +90,11 @@ window.smartphoneInfo = function(data) { if(details) { var l,v,max,perc; - var className = TEAM_TO_CSS[getTeam(details)]; for(var i=0;i<8;i++) { + var className = TEAM_TO_CSS[getTeam(details)]; + if(OCTANTS[i] === 'N') + className += ' north' var reso = details.resonatorArray.resonators[i]; if(reso) { l = parseInt(reso.level); diff --git a/mobile/smartphone.css b/mobile/smartphone.css index 60c1109f..27d34ad7 100644 --- a/mobile/smartphone.css +++ b/mobile/smartphone.css @@ -61,6 +61,20 @@ body { -webkit-box-sizing: border-box; } +#mobileinfo .resonator.north:before { + content: ""; + background-color: red; + border-radius: 100%; + display: block; + height: 6px; + width: 6px; + left: 50%; + top: -3px; + margin-left: -3px; + position: absolute; + z-index: -1; +} + #mobileinfo .filllevel { position: absolute; bottom: 0; diff --git a/plugins/reso-energy-pct-in-portal-detail.user.js b/plugins/reso-energy-pct-in-portal-detail.user.js index 1120167c..aa6ecbf7 100644 --- a/plugins/reso-energy-pct-in-portal-detail.user.js +++ b/plugins/reso-energy-pct-in-portal-detail.user.js @@ -22,20 +22,20 @@ window.plugin.resoEnergyPctInPortalDetal = function() {}; window.plugin.resoEnergyPctInPortalDetal.updateMeter = function(data) { - var meterLevel = $("span.meter-level"); - meterLevel - .css('top','0px') - .css('left','5px') - .css('margin-left','0px') - .css('font-size','80%') - .css('line-height','18px'); - meterLevel.each(function() { - var matchResult = $(this).parent().attr('title').match(/\((\d*\%)\)/); - if(matchResult) { - var newMeterContent = 'L' + $(this).html() + '  ' + matchResult[1]; - $(this).html(newMeterContent); - } - }); + $("span.meter-level") + .css({ + "word-spacing": "-1px", + "text-align": "left", + "font-size": "90%", + "padding-left": "2px", + }) + .each(function() { + var matchResult = $(this).parent().attr('title').match(/\((\d*\%)\)/); + if(matchResult) { + var html = $(this).html() + '
' + matchResult[1] + '
'; + $(this).html(html); + } + }); } var setup = function() { diff --git a/style.css b/style.css index 4dffc9fa..df690235 100644 --- a/style.css +++ b/style.css @@ -650,6 +650,23 @@ h3 { top: 0; } +.meter.north { + overflow: hidden; +} +.meter.north:before { + content: ""; + background-color: red; + border: 1px solid #000000; + border-radius: 100%; + display: block; + height: 6px; + width: 6px; + left: 50%; + top: -3px; + margin-left: -4px; + position: absolute; +} + .meter span { display: block; height: 14px; @@ -657,10 +674,12 @@ h3 { .meter-level { position: absolute; + left: 0; + right: 0; top: -2px; - left: 50%; - margin-left: -6px; text-shadow: 0.0em 0.0em 0.3em #808080; + text-align: center; + word-spacing: 4px; /* to leave some space for the north indicator */ } /* links below resos */ From d8dc9d47222c98d98cac44d1fdec807f54c6e1c9 Mon Sep 17 00:00:00 2001 From: Jon Atkins Date: Wed, 18 Dec 2013 21:27:48 +0000 Subject: [PATCH 42/56] portal details ap: missed change from earlier commit - now funally includes field counts in calculations --- code/portal_detail_display_tools.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/portal_detail_display_tools.js b/code/portal_detail_display_tools.js index 431a013d..34cd3088 100644 --- a/code/portal_detail_display_tools.js +++ b/code/portal_detail_display_tools.js @@ -225,8 +225,8 @@ window.renderResonatorDetails = function(slot, level, nrg, dist, nick) { } // calculate AP gain from destroying portal and then capturing it by deploying resonators -window.getAttackApGainText = function(d) { - var breakdown = getAttackApGain(d); +window.getAttackApGainText = function(d,fieldCount) { + var breakdown = getAttackApGain(d,fieldCount); var totalGain = breakdown.enemyAp; function tt(text) { From e9219c5e3a8175087f13321e0a492a88bd003fff Mon Sep 17 00:00:00 2001 From: Jon Atkins Date: Wed, 18 Dec 2013 22:41:55 +0000 Subject: [PATCH 43/56] change digits function to use unicode 'thin space' as thousands seperator --- code/utils_misc.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/utils_misc.js b/code/utils_misc.js index ef30baba..09f8b7cc 100644 --- a/code/utils_misc.js +++ b/code/utils_misc.js @@ -122,7 +122,9 @@ window.convertCookieToLocalStorage = function(name) { // add thousand separators to given number. // http://stackoverflow.com/a/1990590/1684530 by Doug Neiner. window.digits = function(d) { - return (d+"").replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1 "); + // U+2009 - Thin Space. Recommended for use as a thousands separator... + // https://en.wikipedia.org/wiki/Space_(punctuation)#Table_of_spaces + return (d+"").replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1 "); } From 89371f732d23843224ec0f6cb18ae3cd940eba97 Mon Sep 17 00:00:00 2001 From: Jon Atkins Date: Wed, 18 Dec 2013 22:42:49 +0000 Subject: [PATCH 44/56] portals-list: more changes - add AP column - destroy+capture AP, with tooltip showing details - clean up handling of truncated portal names - removes unnecessary wrapper
- shortened resonator column title - add/remove tooltip and help cursor where it makes sense - add % to health column --- plugins/portals-list.user.js | 39 ++++++++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/plugins/portals-list.user.js b/plugins/portals-list.user.js index 50e9c8b3..b00e97a0 100644 --- a/plugins/portals-list.user.js +++ b/plugins/portals-list.user.js @@ -77,14 +77,15 @@ window.plugin.portalslist.getPortals = function() { } var l = window.getPortalLinks(i); var f = window.getPortalFields(i); + var ap = portalApGainMaths(d.resCount, l.in.length+l.out.length, f.length); var thisPortal = { 'portal': portal, 'guid': i, - 'teamN': teamN, + 'teamN': teamN, // TEAM_NONE, TEAM_RES or TEAM_ENL + 'team': d.team, // "NEUTRAL", "RESISTANCE" or "ENLIGHTENED" 'name': d.title, 'nameLower': d.title.toLowerCase(), - 'team': d.team, 'level': portal.options.level, 'health': d.health, 'resCount': d.resCount, @@ -92,7 +93,9 @@ window.plugin.portalslist.getPortals = function() { 'linkCount': l.in.length + l.out.length, 'link' : l, 'fieldCount': f.length, - 'field' : f + 'field' : f, + 'enemyAp': ap.enemyAp, + 'ap': ap, }; window.plugin.portalslist.listPortals.push(thisPortal); }); @@ -165,9 +168,11 @@ window.plugin.portalslist.portalTable = function(sortBy, sortOrder, filter) { + 'Level' + 'Team' + 'Health' - + 'Resonators' + + 'Res' + 'Links' + 'Fields' + + 'AP' + + '\n'; var rowNum = 1; @@ -180,11 +185,23 @@ window.plugin.portalslist.portalTable = function(sortBy, sortOrder, filter) { + '' + portal.level + '' + '' + portal.team.substr(0,3) + ''; - html += '' + portal.health + '' + html += '' + (portal.teamN!=TEAM_NONE?portal.health+'%':'-') + '' + '' + portal.resCount + '' - + '' + (portal.linkCount?portal.linkCount:'-') + '' + + '' + (portal.linkCount?portal.linkCount:'-') + '' + '' + (portal.fieldCount?portal.fieldCount:'-') + ''; + var apTitle = ''; + if (PLAYER.team == portal.team) { + apTitle += 'Friendly AP:\t'+portal.ap.friendlyAp+'\n' + + '- deploy '+(8-portal.resCount)+' resonator(s)\n' + + '- upgrades/mods unknown\n'; + } + apTitle += 'Enemy AP:\t'+portal.ap.enemyAp+'\n' + + '- Destroy AP:\t'+portal.ap.destroyAp+'\n' + + '- Capture AP:\t'+portal.ap.captureAp; + + html += '' + digits(portal.ap.enemyAp) + ''; + html+= ''; rowNum++; @@ -229,15 +246,14 @@ window.plugin.portalslist.getPortalLink = function(portal,guid) { //Use Jquery to create the link, which escape characters in TITLE and ADDRESS of portal var a = $('',{ - "class": 'help', text: portal.name, title: portal.name, href: perma, onClick: jsSingleClick, onDblClick: jsDoubleClick })[0].outerHTML; - var div = '
'+a+'
'; - return div; + + return a; } window.plugin.portalslist.onPaneChanged = function(pane) { @@ -257,7 +273,7 @@ var setup = function() { $('head').append(''); // Setup sorting From 7dd4c27c26dafb3ca9a455cadcf4a09067988160 Mon Sep 17 00:00:00 2001 From: fkloft Date: Tue, 17 Dec 2013 16:46:16 +0100 Subject: [PATCH 45/56] mobile: Fix desktop mode (plugins would not be reachable) --- code/smartphone.js | 6 ++++++ plugins/bookmarks-by-zaso.user.js | 2 +- plugins/portal-counts.user.js | 4 ++-- plugins/portals-list.user.js | 4 ++-- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/code/smartphone.js b/code/smartphone.js index fdd03214..8078cbd4 100644 --- a/code/smartphone.js +++ b/code/smartphone.js @@ -170,3 +170,9 @@ window.runOnSmartphonesAfterBoot = function() { window.MAX_DRAWN_LINKS = 200; window.MAX_DRAWN_FIELDS = 100; } + +window.useAndroidPanes = function() { + // isSmartphone is important to disable panes in desktop mode + return (typeof android !== 'undefined' && android && android.addPane && window.isSmartphone()); +} + diff --git a/plugins/bookmarks-by-zaso.user.js b/plugins/bookmarks-by-zaso.user.js index a69c40d7..339233ef 100644 --- a/plugins/bookmarks-by-zaso.user.js +++ b/plugins/bookmarks-by-zaso.user.js @@ -948,7 +948,7 @@ $('body').append(window.plugin.bookmarks.htmlBkmrksBox); $('#bookmarksBox').css("display", "none").addClass("mobile"); - if(typeof android !== 'undefined' && android && android.addPane) + if(window.useAndroidPanes()) android.addPane("plugin-bookmarks", "Bookmarks", "ic_action_star"); window.addHook('paneChanged', window.plugin.bookmarks.onPaneChanged); diff --git a/plugins/portal-counts.user.js b/plugins/portal-counts.user.js index 60a41ec9..63a83d1d 100644 --- a/plugins/portal-counts.user.js +++ b/plugins/portal-counts.user.js @@ -184,7 +184,7 @@ window.plugin.portalcounts.getPortals = function (){ var total = self.enlP + self.resP + self.neuP; var title = total + ' ' + (total == 1 ? 'portal' : 'portals'); - if(typeof android !== 'undefined' && android && android.addPane) { + if(window.useAndroidPanes()) { $('
' + '
' + title + '
' + counts @@ -307,7 +307,7 @@ window.plugin.portalcounts.onPaneChanged = function(pane) { }; var setup = function() { - if(typeof android !== 'undefined' && android && android.addPane) { + if(window.useAndroidPanes()) { android.addPane("plugin-portalcounts", "Portal counts", "ic_action_data_usage"); addHook("paneChanged", window.plugin.portalcounts.onPaneChanged); } else { diff --git a/plugins/portals-list.user.js b/plugins/portals-list.user.js index b00e97a0..e0c8f6a3 100644 --- a/plugins/portals-list.user.js +++ b/plugins/portals-list.user.js @@ -117,7 +117,7 @@ window.plugin.portalslist.displayPL = function() { html = '
Nothing to show!
'; }; - if(typeof android !== 'undefined' && android && android.addPane) { + if(window.useAndroidPanes()) { $('
' + html + '
').appendTo(document.body); } else { dialog({ @@ -264,7 +264,7 @@ window.plugin.portalslist.onPaneChanged = function(pane) { }; var setup = function() { - if(typeof android !== 'undefined' && android && android.addPane) { + if(window.useAndroidPanes()) { android.addPane("plugin-portalslist", "Portals list", "ic_action_paste"); addHook("paneChanged", window.plugin.portalslist.onPaneChanged); } else { From 9f9dfa60e3e326432e370a5e8076e2ac549f26d3 Mon Sep 17 00:00:00 2001 From: Philipp Schaefer Date: Wed, 18 Dec 2013 10:33:07 +0100 Subject: [PATCH 46/56] check if actionbar is present before using it --- mobile/src/com/cradle/iitc_mobile/fragments/MainSettings.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mobile/src/com/cradle/iitc_mobile/fragments/MainSettings.java b/mobile/src/com/cradle/iitc_mobile/fragments/MainSettings.java index 142ae22e..cbcee155 100644 --- a/mobile/src/com/cradle/iitc_mobile/fragments/MainSettings.java +++ b/mobile/src/com/cradle/iitc_mobile/fragments/MainSettings.java @@ -77,7 +77,7 @@ public class MainSettings extends PreferenceFragment { final Dialog dialog = preferenceScreen.getDialog(); if (dialog != null) { - dialog.getActionBar().setDisplayHomeAsUpEnabled(true); + if (dialog.getActionBar() != null) dialog.getActionBar().setDisplayHomeAsUpEnabled(true); View homeBtn = dialog.findViewById(android.R.id.home); From a4d4070c94400b51628fa95a655de4a5461ae3a7 Mon Sep 17 00:00:00 2001 From: Jon Atkins Date: Thu, 19 Dec 2013 03:30:57 +0000 Subject: [PATCH 47/56] geodesic line drawing: alternative intermediate point calculation code - based on simpler lon->lat formula rather than N intermediate points more than good enough for line drawing, and hopefully will avoid odd rounding issues seen on mobile --- external/L.Geodesic.js | 80 ++++++++++++++++++++++-------------------- 1 file changed, 41 insertions(+), 39 deletions(-) diff --git a/external/L.Geodesic.js b/external/L.Geodesic.js index 6313db95..5c54468e 100644 --- a/external/L.Geodesic.js +++ b/external/L.Geodesic.js @@ -34,52 +34,54 @@ Modified by qnstie 2013-07-17 to maintain compatibility with Leaflet.draw } }); } - - function geodesicConvertLine(startLatlng, endLatlng, convertedPoints) { - var i, - R = 6378137, // earth radius in meters (doesn't have to be exact) - maxlength = 5000, // meters before splitting - d2r = L.LatLng.DEG_TO_RAD, - r2d = L.LatLng.RAD_TO_DEG, - lat1, lat2, lng1, lng2, dLng, d, segments, - f, A, B, x, y, z, fLat, fLng; - - dLng = (endLatlng.lng - startLatlng.lng) * d2r; - lat1 = startLatlng.lat * d2r; - lat2 = endLatlng.lat * d2r; - lng1 = startLatlng.lng * d2r; - lng2 = endLatlng.lng * d2r; - // http://en.wikipedia.org/wiki/Great-circle_distance - d = Math.atan2(Math.sqrt( Math.pow(Math.cos(lat2) * Math.sin(dLng), 2) + Math.pow(Math.cos(lat1) * Math.sin(lat2) - Math.sin(lat1) * Math.cos(lat2) * Math.cos(dLng), 2) ), Math.sin(lat1) * Math.sin(lat2) + Math.cos(lat1) * Math.cos(lat2) * Math.cos(dLng)); + // alternative geodesic line intermediate points function + // as north/south lines have very little curvature in the projection, we cam use longitude (east/west) seperation + // to calculate intermediate points. hopeefully this will avoid the rounding issues seen in the full intermediate + // points code that have been seen + function geodesicConvertLine(startLatLng, endLatLng, convertedPoints) { + var R = 6378137; // earth radius in meters (doesn't have to be exact) + var d2r = L.LatLng.DEG_TO_RAD; + var r2d = L.LatLng.RAD_TO_DEG; - segments = Math.ceil(d * R / maxlength); - // loop starts at 1 - we don't add the very first point - // loop ends before 'segments' is reached - we don't add the very last point here but outside the loop - // (this was to fix a bug - https://github.com/jonatkins/ingress-intel-total-conversion/issues/471 - // rounding errors? maths bug? not sure - but it solves the issue! and is a slight optimisation) - // UPDATE: there still seem to be rounding errors on relatively short links - but only on mobile. - // let's only add intermediate points if there's two or more - if (segments >= 3) { - for (i = 1; i < segments; i++) { - // http://williams.best.vwh.net/avform.htm#Intermediate - // modified to handle longitude above +-180 degrees - f = i / segments; - A = Math.sin((1-f)*d) / Math.sin(d); - B = Math.sin(f*d) / Math.sin(d); - x = A * Math.cos(lat1) * Math.cos(0) + B * Math.cos(lat2) * Math.cos(dLng); - y = A * Math.cos(lat1) * Math.sin(0) + B * Math.cos(lat2) * Math.sin(dLng); - z = A * Math.sin(lat1) + B * Math.sin(lat2); - fLat = r2d * Math.atan2(z, Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2))); - fLng = r2d * (Math.atan2(y, x)+lng1); + // maths based on http://williams.best.vwh.net/avform.htm#Int - convertedPoints.push(L.latLng([fLat, fLng])); + var lat1 = startLatLng.lat * d2r; + var lat2 = endLatLng.lat * d2r; + var lng1 = startLatLng.lng * d2r; + var lng2 = endLatLng.lng * d2r; + + var dLng = lng2-lng1; + + var segments = Math.floor(Math.abs(dLng * R / 5000)); + + if (segments > 1) { + // pre-calculate some constant values for the loop + var sinLat1 = Math.sin(lat1); + var sinLat2 = Math.sin(lat2); + var cosLat1 = Math.cos(lat1); + var cosLat2 = Math.cos(lat2); + + var sinLat1CosLat2 = sinLat1*cosLat2; + var sinLat2CosLat1 = sinLat2*cosLat1; + + var cosLat1CosLat2SinDLng = cosLat1*cosLat2*Math.sin(dLng); + + for (var i=1; i < segments; i++) { + var iLng = lng1+dLng*(i/segments); + var iLat = Math.atan( (sinLat1CosLat2*Math.sin(lng2-iLng) + sinLat2CosLat1*Math.sin(iLng-lng1)) + / cosLat1CosLat2SinDLng) + + var point = L.latLng ( [iLat*r2d, iLng*r2d] ); + convertedPoints.push(point); } } - // push the final point unmodified - convertedPoints.push(L.latLng(endLatlng)); + + convertedPoints.push(L.latLng(endLatLng)); } + + L.geodesicConvertLines = function (latlngs, fill) { if (latlngs.length == 0) { return []; From 95314817b2431e334d419cb9d03548ec6c40419d Mon Sep 17 00:00:00 2001 From: Jon Atkins Date: Thu, 19 Dec 2013 04:10:09 +0000 Subject: [PATCH 48/56] portals-list: set 'nowrap' on portal table - improves things on mobile --- plugins/portals-list.user.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/plugins/portals-list.user.js b/plugins/portals-list.user.js index e0c8f6a3..05cbec98 100644 --- a/plugins/portals-list.user.js +++ b/plugins/portals-list.user.js @@ -114,7 +114,7 @@ window.plugin.portalslist.displayPL = function() { if (window.plugin.portalslist.getPortals()) { html += window.plugin.portalslist.portalTable(window.plugin.portalslist.sortBy, window.plugin.portalslist.sortOrder,window.plugin.portalslist.filter); } else { - html = '
Nothing to show!
'; + html = '
Nothing to show!
'; }; if(window.useAndroidPanes()) { @@ -161,8 +161,8 @@ window.plugin.portalslist.portalTable = function(sortBy, sortOrder, filter) { var sortAttr = window.plugin.portalslist.portalTableHeaderSortAttr; var html = window.plugin.portalslist.stats(); - html += '' - + '' + html += '
' + + '' + '' + '' + '' @@ -216,7 +216,7 @@ window.plugin.portalslist.portalTable = function(sortBy, sortOrder, filter) { } window.plugin.portalslist.stats = function(sortBy) { - var html = '
#Portal NameLevel
' + var html = '
' + '' + '' + '' @@ -278,12 +278,13 @@ var setup = function() { '#portalslist table tr.res td { background-color: #005684; }' + '#portalslist table tr.enl td { background-color: #017f01; }' + '#portalslist table tr.neutral td { background-color: #000000; }' + - '#portalslist table th { text-align: center;}' + - '#portalslist table td { text-align: center;}' + + '#portalslist table th { text-align: center; }' + + '#portalslist table td { text-align: center; }' + + '#portalslist table.portals td { white-space: nowrap; }' + '#portalslist table td.portalTitle { text-align: left;}' + '#portalslist table th.sortable { cursor:pointer;}' + '#portalslist table th.portalTitle { text-align: left;}' + - '#portalslist table .portalTitle { min-width: 160px !important; max-width: 240px !important; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }' + + '#portalslist table .portalTitle { min-width: 120px !important; max-width: 240px !important; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }' + '#portalslist table .apGain { text-align: right !important; }' + '#portalslist .sorted { color:#FFCE00; }' + '#portalslist .filterAll { margin-top: 10px;}' + From bf5e58a4bac74b67aecac606cf8a379d82b9bb29 Mon Sep 17 00:00:00 2001 From: Jon Atkins Date: Fri, 20 Dec 2013 07:16:23 +0000 Subject: [PATCH 49/56] remove pre-defined munges the new code has been so successful at detecting them successfully, it seems pointless keeping them up to date manually all the time if a site update breaks the regular expressions, it would surely change the munges too, breaking any defined in the code --- code/munge.js | 96 +++++++++++++++++++++++++++------------------------ 1 file changed, 50 insertions(+), 46 deletions(-) diff --git a/code/munge.js b/code/munge.js index 7e886e8a..30a5ecc1 100644 --- a/code/munge.js +++ b/code/munge.js @@ -14,52 +14,56 @@ var requestParameterMunges = [ // all old munge sets deleted - there's no sign that any old ones will become active again - // set 11 - 2013-12-06 - { - 'dashboard.getArtifactInfo': 'artifacts', // GET_ARTIFACT_INFO - 'dashboard.getGameScore': '4oid643d9zc168hs', // GET_GAME_SCORE - 'dashboard.getPaginatedPlexts': 's1msyywq51ntudpe', // GET_PAGINATED_PLEXTS - 'dashboard.getThinnedEntities': '4467ff9bgxxe4csa', // GET_THINNED_ENTITIES - 'dashboard.getPortalDetails': 'c00thnhf1yp3z6mn', // GET_PORTAL_DETAILS - 'dashboard.redeemReward': 'ivshfv9zvyfxyqcd', // REDEEM_REWARD - 'dashboard.sendInviteEmail': '1rsx15vc0m8wwdax', // SEND_INVITE_EMAIL - 'dashboard.sendPlext': 'tods2imd0xcfsug6', // SEND_PLEXT - - // common parameters - method: '0wvzluo8av4sk17f', - version: 'paeh4g353xu06kfg', - version_parameter: '4acc1e3230c3fd66be3422c0df8dc637336bbd7c', - - // GET_THINNED_ENTITIES - quadKeys: 'ilgv0w4dlldky1yh', - - // GET_PORTAL_DETAILS - guid: '7o8tzmj6oxz1n5w3', - - // REDEEM_REWARD - passcode: 'passcode', // no munging on this parameter - - // SEND_INVITE_EMAIL - inviteeEmailAddress: 'p4rwszdfovuwfdgp', - - // GET_PAGINATED_PLEXTS - desiredNumItems: 'kxsbuvc90l6f40xn', - minLatE6: 'llizye3i5dbapxac', - minLngE6: 'w01zpiba1mn5tsab', - maxLatE6: 'd5phhqzj2tbsq599', - maxLngE6: 'avq5srnvg431aehn', - minTimestampMs: 'mhsav5by25wi4s46', - maxTimestampMs: 'hpu7l8h7eccwytyt', - chatTab: 'q9343nem7hs1v37b', - ascendingTimestampOrder: '7pc5c9ggh03pig1b', - - // SEND_PLEXT - message: '8exta9k7y8huhqmc', - latE6: '7ffwyf3zd2yf8xam', - lngE6: 'n7ewiach2v22iy20', -// chatTab: 'q9343nem7hs1v37b', // duplicate from GET_PAGINATED_PLEXTS - - }, +// the current munge set auto-detection code is working very well. as any site update that breaks that detection +// code will also, almost certainly, change the munges in use, it seems pointless keeping this set up to date by hand +// at this time. If that auto-detection breaks, it may be easier to quicky add a munge set by hand than update +// the regular expressions, so the list-based code remains available for the future +// // set 11 - 2013-12-06 +// { +// 'dashboard.getArtifactInfo': 'artifacts', // GET_ARTIFACT_INFO +// 'dashboard.getGameScore': '4oid643d9zc168hs', // GET_GAME_SCORE +// 'dashboard.getPaginatedPlexts': 's1msyywq51ntudpe', // GET_PAGINATED_PLEXTS +// 'dashboard.getThinnedEntities': '4467ff9bgxxe4csa', // GET_THINNED_ENTITIES +// 'dashboard.getPortalDetails': 'c00thnhf1yp3z6mn', // GET_PORTAL_DETAILS +// 'dashboard.redeemReward': 'ivshfv9zvyfxyqcd', // REDEEM_REWARD +// 'dashboard.sendInviteEmail': '1rsx15vc0m8wwdax', // SEND_INVITE_EMAIL +// 'dashboard.sendPlext': 'tods2imd0xcfsug6', // SEND_PLEXT +// +// // common parameters +// method: '0wvzluo8av4sk17f', +// version: 'paeh4g353xu06kfg', +// version_parameter: '4acc1e3230c3fd66be3422c0df8dc637336bbd7c', +// +// // GET_THINNED_ENTITIES +// quadKeys: 'ilgv0w4dlldky1yh', +// +// // GET_PORTAL_DETAILS +// guid: '7o8tzmj6oxz1n5w3', +// +// // REDEEM_REWARD +// passcode: 'passcode', // no munging on this parameter +// +// // SEND_INVITE_EMAIL +// inviteeEmailAddress: 'p4rwszdfovuwfdgp', +// +// // GET_PAGINATED_PLEXTS +// desiredNumItems: 'kxsbuvc90l6f40xn', +// minLatE6: 'llizye3i5dbapxac', +// minLngE6: 'w01zpiba1mn5tsab', +// maxLatE6: 'd5phhqzj2tbsq599', +// maxLngE6: 'avq5srnvg431aehn', +// minTimestampMs: 'mhsav5by25wi4s46', +// maxTimestampMs: 'hpu7l8h7eccwytyt', +// chatTab: 'q9343nem7hs1v37b', +// ascendingTimestampOrder: '7pc5c9ggh03pig1b', +// +// // SEND_PLEXT +// message: '8exta9k7y8huhqmc', +// latE6: '7ffwyf3zd2yf8xam', +// lngE6: 'n7ewiach2v22iy20', +//// chatTab: 'q9343nem7hs1v37b', // duplicate from GET_PAGINATED_PLEXTS +// +// }, ]; From 859c3a3262c901207960e294eef84a4715fbece0 Mon Sep 17 00:00:00 2001 From: Philipp Schaefer Date: Fri, 20 Dec 2013 23:21:26 +0100 Subject: [PATCH 50/56] pause/resume webview too on activities pause/resume Conflicts: mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java --- .../com/cradle/iitc_mobile/IITC_Mobile.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java b/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java index ea2b4092..668d4310 100644 --- a/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java +++ b/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java @@ -287,8 +287,8 @@ public class IITC_Mobile extends Activity implements OnSharedPreferenceChangeLis } @Override - protected void onResume() { - super.onResume(); + protected void onStart() { + super.onStart(); // enough idle...let's do some work Log.d("iitcm", "resuming...reset idleTimer"); @@ -312,6 +312,20 @@ public class IITC_Mobile extends Activity implements OnSharedPreferenceChangeLis } } + @Override + protected void onResume() { + mIitcWebView.resumeTimers(); + mIitcWebView.onResume(); + super.onResume(); + } + + @Override + protected void onPause() { + mIitcWebView.pauseTimers(); + mIitcWebView.onPause(); + super.onPause(); + } + @Override protected void onStop() { Log.d("iitcm", "stopping iitcm"); From 3083d9c3526e8a775b58004a18926517f93fc51e Mon Sep 17 00:00:00 2001 From: Jon Atkins Date: Sat, 21 Dec 2013 19:13:26 +0000 Subject: [PATCH 51/56] bump mobile version number --- mobile/AndroidManifest.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mobile/AndroidManifest.xml b/mobile/AndroidManifest.xml index ec9dc817..39cb0e92 100644 --- a/mobile/AndroidManifest.xml +++ b/mobile/AndroidManifest.xml @@ -2,8 +2,8 @@ + android:versionCode="62" + android:versionName="0.10.1"> Date: Fri, 16 May 2014 23:36:25 +0100 Subject: [PATCH 52/56] munge code fixing - yet again, another RPC method has had it's munging removed - get_portal_details this time --- code/munge.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/munge.js b/code/munge.js index d20a7d76..c1ddf0a3 100755 --- a/code/munge.js +++ b/code/munge.js @@ -97,7 +97,7 @@ function extractMungeFromStock() { var mungeRegExpLit = '(?:([a-z][a-z0-9]{15})|"([0-9][a-z0-9]{15})"):'; // some cases don't munge now?!?! odd! - var mungeRegExpLitOrUnmunged = '(?:((?:[a-z][a-z0-9]{15})|message|latE6|lngE6|tab)|"([0-9][a-z0-9]{15})"):'; + var mungeRegExpLitOrUnmunged = '(?:((?:[a-z][a-z0-9]{15})|message|latE6|lngE6|tab|guid)|"([0-9][a-z0-9]{15})"):'; // common parameters - method, version, version_parameter - currently found in the // nemesis.dashboard.network.XhrController.prototype.doSendRequest_ function @@ -156,7 +156,8 @@ function extractMungeFromStock() { // if (chatTab != foundMunges.chatTab) throw 'Error: inconsistent munge parsing for chatTab'; // GET_PORTAL_DETAILS - var reg = new RegExp('GET_PORTAL_DETAILS, nemesis.dashboard.network.XhrController.Priority.[A-Z]+, {'+mungeRegExpLit+'a}'); + var reg = new RegExp('GET_PORTAL_DETAILS, nemesis.dashboard.network.XhrController.Priority.[A-Z]+, {' + +mungeRegExpLitOrUnmunged+'a}'); var result = reg.exec(nemesis.dashboard.network.DataFetcher.prototype.getPortalDetails.toString()); foundMunges.guid = result[1] || result[2]; From 6cd79f9a41224bef3a2204f89839af535d0677a9 Mon Sep 17 00:00:00 2001 From: Jon Atkins Date: Fri, 16 May 2014 23:54:12 +0100 Subject: [PATCH 53/56] website update for 0.16.10 --- website/page/home.php | 5 +++++ website/page/news.php | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/website/page/home.php b/website/page/home.php index d95bf59a..46d1e7f9 100644 --- a/website/page/home.php +++ b/website/page/home.php @@ -13,6 +13,11 @@ offers many more features. It is available for

Latest news

+

16th May 2014

+

+Yet another cricical IITC Update - IITC 0.16.10 and IITC Mobile 0.10.10 have just been released. This fixes the munge error at startup +

+

10th May 2014

Another critical IITC update - IITC 0.16.9 and IITC Mobile 0.10.9 have just been released. This fixes the munge error at startup. diff --git a/website/page/news.php b/website/page/news.php index d56c29bf..d434f82d 100644 --- a/website/page/news.php +++ b/website/page/news.php @@ -1,5 +1,10 @@

News

+

16th May 2014

+

+Yet another cricical IITC Update - IITC 0.16.10 and IITC Mobile 0.10.10 have just been released. This fixes the munge error at startup +

+

10th May 2014

Another critical IITC update - IITC 0.16.9 and IITC Mobile 0.10.9 have just been released. This fixes the munge error at startup. From 28692efcbb0959749374a92891f237816139adc6 Mon Sep 17 00:00:00 2001 From: Jon Atkins Date: Sat, 17 May 2014 00:27:15 +0100 Subject: [PATCH 54/56] niantic removed controllingTeam from the portal details - we have to use the team from the summary data --- code/entity_info.js | 2 +- code/portal_detail_display.js | 4 +++- code/portal_detail_display_tools.js | 2 +- code/portal_info.js | 10 ++++++---- plugins/show-linked-portals.user.js | 6 +++--- 5 files changed, 14 insertions(+), 10 deletions(-) diff --git a/code/entity_info.js b/code/entity_info.js index ef856d3a..2d340976 100644 --- a/code/entity_info.js +++ b/code/entity_info.js @@ -8,7 +8,7 @@ // given the entity detail data, returns the team the entity belongs // to. Uses TEAM_* enum values. window.getTeam = function(details) { - return teamStringToId(details.controllingTeam.team); + return teamStringToId(details.controllingTeam && details.controllingTeam.team); } window.teamStringToId = function(teamStr) { diff --git a/code/portal_detail_display.js b/code/portal_detail_display.js index 0e7db7c3..92389ae3 100644 --- a/code/portal_detail_display.js +++ b/code/portal_detail_display.js @@ -28,7 +28,9 @@ window.renderPortalDetails = function(guid) { // details and data can get out of sync. if we have details, construct a matching 'data' if (details) { - data = getPortalSummaryData(details); + // the details had the team removed(!) - so we have to use the team in the summary data + // however - this can easily be out of date in areas of heavy activity - so could be just plain wrong! + data = getPortalSummaryData(details, data && data.team); } diff --git a/code/portal_detail_display_tools.js b/code/portal_detail_display_tools.js index e6ad01d8..e9bc3e7a 100644 --- a/code/portal_detail_display_tools.js +++ b/code/portal_detail_display_tools.js @@ -231,7 +231,7 @@ window.getAttackApGainText = function(d,fieldCount) { function tt(text) { var t = ''; - if (PLAYER.team == d.controllingTeam.team) { + if (d.controllingTeam && PLAYER.team == d.controllingTeam.team) { totalGain = breakdown.friendlyAp; t += 'Friendly AP:\t' + breakdown.friendlyAp + '\n'; t += ' Deploy ' + breakdown.deployCount + ', '; diff --git a/code/portal_info.js b/code/portal_info.js index 93434d8f..3db0288a 100644 --- a/code/portal_info.js +++ b/code/portal_info.js @@ -162,7 +162,7 @@ window.potentialPortalLevel = function(d) { var current_level = getPortalLevel(d); var potential_level = current_level; - if(PLAYER.team === d.controllingTeam.team) { + if(d.controllingTeam && PLAYER.team === d.controllingTeam.team) { var resonators_on_portal = d.resonatorArray.resonators; var resonator_levels = new Array(); // figure out how many of each of these resonators can be placed by the player @@ -311,10 +311,12 @@ window.getPortalHackDetails = function(d) { } // given a detailed portal structure, return summary portal data, as seen in the map tile data -window.getPortalSummaryData = function(d) { +window.getPortalSummaryData = function(d,probableTeamStr) { // NOTE: the summary data reports unclaimed portals as level 1 - not zero as elsewhere in IITC - var level = d.controllingTeam.team == "NEUTRAL" ? 1 : parseInt(getPortalLevel(d)); + var level = parseInt(getPortalLevel(d)); + if (level == 0) level = 1; //niantic returns neutral portals as level 1, not 0 as used throughout IITC elsewhere + var resCount = 0; if (d.resonatorArray && d.resonatorArray.resonators) { for (var x in d.resonatorArray.resonators) { @@ -332,7 +334,7 @@ window.getPortalSummaryData = function(d) { resCount: resCount, latE6: d.locationE6.latE6, health: health, - team: d.controllingTeam.team, + team: d.controllingTeam ? d.controllingTeam.team : probableTeamStr, lngE6: d.locationE6.lngE6, type: 'portal' }; diff --git a/plugins/show-linked-portals.user.js b/plugins/show-linked-portals.user.js index b8427d1f..1ad92500 100644 --- a/plugins/show-linked-portals.user.js +++ b/plugins/show-linked-portals.user.js @@ -2,7 +2,7 @@ // @id iitc-plugin-show-linked-portals@fstopienski // @name IITC plugin: Show linked portals // @category Portal Info -// @version 0.1.1.@@DATETIMEVERSION@@ +// @version 0.1.2.@@DATETIMEVERSION@@ // @namespace https://github.com/jonatkins/ingress-intel-total-conversion // @updateURL @@UPDATEURL@@ // @downloadURL @@DOWNLOADURL@@ @@ -38,8 +38,8 @@ window.plugin.showLinkedPortal.portalDetail = function (data) { // don't render linked portal data if portal is neutral. // (the data can remain sometimes - when a portal decays?) - if (data.portalDetails.controllingTeam.team == 'NEUTRAL') - return; +// if (data.portalDetails.controllingTeam.team == 'NEUTRAL') +// return; var d = data.portalDetails.portalV2, c = 1; From 8b7169dc220936e03db57025dc07bbc1573778cc Mon Sep 17 00:00:00 2001 From: Jon Atkins Date: Sat, 17 May 2014 00:28:09 +0100 Subject: [PATCH 55/56] bump version numbers --- main.js | 2 +- mobile/AndroidManifest.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/main.js b/main.js index 61df4959..d37b348b 100644 --- a/main.js +++ b/main.js @@ -1,7 +1,7 @@ // ==UserScript== // @id ingress-intel-total-conversion@jonatkins // @name IITC: Ingress intel map total conversion -// @version 0.16.10.@@DATETIMEVERSION@@ +// @version 0.16.11.@@DATETIMEVERSION@@ // @namespace https://github.com/jonatkins/ingress-intel-total-conversion // @updateURL @@UPDATEURL@@ // @downloadURL @@DOWNLOADURL@@ diff --git a/mobile/AndroidManifest.xml b/mobile/AndroidManifest.xml index 041ddde8..75517a1f 100644 --- a/mobile/AndroidManifest.xml +++ b/mobile/AndroidManifest.xml @@ -2,8 +2,8 @@ + android:versionCode="72" + android:versionName="0.10.11"> Date: Sat, 17 May 2014 21:10:52 +0100 Subject: [PATCH 56/56] website update for 0.16.11 --- website/page/home.php | 7 +++++-- website/page/news.php | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/website/page/home.php b/website/page/home.php index 46d1e7f9..a91574ec 100644 --- a/website/page/home.php +++ b/website/page/home.php @@ -13,9 +13,12 @@ offers many more features. It is available for

Latest news

-

16th May 2014

+

17th May 2014

-Yet another cricical IITC Update - IITC 0.16.10 and IITC Mobile 0.10.10 have just been released. This fixes the munge error at startup +Yet another cricical IITC Update - IITC 0.16.11 and IITC Mobile 0.10.11 have just been released. This fixes the munge error at startup. +

+

+Note: IITC 0.16.10 and IITC Mobile 0.10.10 were available for a few hours. This had a problem loading the portal details.

10th May 2014

diff --git a/website/page/news.php b/website/page/news.php index d434f82d..e87c8da0 100644 --- a/website/page/news.php +++ b/website/page/news.php @@ -1,8 +1,11 @@

News

-

16th May 2014

+

17th May 2014

-Yet another cricical IITC Update - IITC 0.16.10 and IITC Mobile 0.10.10 have just been released. This fixes the munge error at startup +Yet another cricical IITC Update - IITC 0.16.11 and IITC Mobile 0.10.11 have just been released. This fixes the munge error at startup. +

+

+Note: IITC 0.16.10 and IITC Mobile 0.10.10 were available for a few hours. This had a problem loading the portal details.

10th May 2014

All Portals : (click to filter)' + window.plugin.portalslist.listPortals.length + 'Resistance Portals : ' + window.plugin.portalslist.resP +' (' + Math.floor(window.plugin.portalslist.resP/window.plugin.portalslist.listPortals.length*100) + '%)Enlightened Portals : '+ window.plugin.portalslist.enlP +' (' + Math.floor(window.plugin.portalslist.enlP/window.plugin.portalslist.listPortals.length*100) + '%)